PageSourceSearch

https://havenonseneca.com/wp-content/uploads/siteground-optimizer-…ined-js-593a568e60b530b42cb6f66f017fc3df.js

js havenonseneca.com collected 2026-10-06 20:58:48 UTC 653,143 bytes, 5,631 lines download raw bytes

1/*! jQuery Migrate v3.4.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */
2"undefined"==typeof jQuery.migrateMute&&(jQuery.migrateMute=!0),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],function(e){return t(e,window)}):"object"==typeof module&&module.exports?module.exports=t(require("jquery"),window):t(jQuery,window)}(function(s,n){"use strict";function e(e){return 0<=function(e,t){for(var r=/^(\d+)\.(\d+)\.(\d+)/,n=r.exec(e)||[],o=r.exec(t)||[],a=1;a<=3;a++){if(+o[a]<+n[a])return 1;if(+n[a]<+o[a])return-1}return 0}(s.fn.jquery,e)}s.migrateVersion="3.4.1";var t=Object.create(null);s.migrateDisablePatches=function(){for(var e=0;e<arguments.length;e++)t[arguments[e]]=!0},s.migrateEnablePatches=function(){for(var e=0;e<arguments.length;e++)delete t[arguments[e]]},s.migrateIsPatchEnabled=function(e){return!t[e]},n.console&&n.console.log&&(s&&e("3.0.0")&&!e("5.0.0")||n.console.log("JQMIGRATE: jQuery 3.x-4.x REQUIRED"),s.migrateWarnings&&n.console.log("JQMIGRATE: Migrate plugin loaded multiple times"),n.console.log("JQMIGRATE: Migrate is installed"+(s.migrateMute?"":" with logging active")+", version "+s.migrateVersion));var o={};function u(e,t){var r=n.console;!s.migrateIsPatchEnabled(e)||s.migrateDeduplicateWarnings&&o[t]||(o[t]=!0,s.migrateWarnings.push(t+" ["+e+"]"),r&&r.warn&&!s.migrateMute&&(r.warn("JQMIGRATE: "+t),s.migrateTrace&&r.trace&&r.trace()))}function r(e,t,r,n,o){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return u(n,o),r},set:function(e){u(n,o),r=e}})}function a(e,t,r,n,o){var a=e[t];e[t]=function(){return o&&u(n,o),(s.migrateIsPatchEnabled(n)?r:a||s.noop).apply(this,arguments)}}function c(e,t,r,n,o){if(!o)throw new Error("No warning message provided");return a(e,t,r,n,o),0}function i(e,t,r,n){return a(e,t,r,n),0}s.migrateDeduplicateWarnings=!0,s.migrateWarnings=[],void 0===s.migrateTrace&&(s.migrateTrace=!0),s.migrateReset=function(){o={},s.migrateWarnings.length=0},"BackCompat"===n.document.compatMode&&u("quirks","jQuery is not compatible with Quirks Mode");var d,l,p,f={},m=s.fn.init,y=s.find,h=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,g=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g,v=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;for(d in i(s.fn,"init",function(e){var t=Array.prototype.slice.call(arguments);return s.migrateIsPatchEnabled("selector-empty-id")&&"string"==typeof e&&"#"===e&&(u("selector-empty-id","jQuery( '#' ) is not a valid selector"),t[0]=[]),m.apply(this,t)},"selector-empty-id"),s.fn.init.prototype=s.fn,i(s,"find",function(t){var r=Array.prototype.slice.call(arguments);if("string"==typeof t&&h.test(t))try{n.document.querySelector(t)}catch(e){t=t.replace(g,function(e,t,r,n){return"["+t+r+'"'+n+'"]'});try{n.document.querySelector(t),u("selector-hash","Attribute selector with '#' must be quoted: "+r[0]),r[0]=t}catch(e){u("selector-hash","Attribute selector with '#' was not fixed: "+r[0])}}return y.apply(this,r)},"selector-hash"),y)Object.prototype.hasOwnProperty.call(y,d)&&(s.find[d]=y[d]);c(s.fn,"size",function(){return this.length},"size","jQuery.fn.size() is deprecated and removed; use the .length property"),c(s,"parseJSON",function(){return JSON.parse.apply(null,arguments)},"parseJSON","jQuery.parseJSON is deprecated; use JSON.parse"),c(s,"holdReady",s.holdReady,"holdReady","jQuery.holdReady is deprecated"),c(s,"unique",s.uniqueSort,"unique","jQuery.unique is deprecated; use jQuery.uniqueSort"),r(s.expr,"filters",s.expr.pseudos,"expr-pre-pseudos","jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"),r(s.expr,":",s.expr.pseudos,"expr-pre-pseudos","jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos"),e("3.1.1")&&c(s,"trim",function(e){return null==e?"":(e+"").replace(v,"$1")},"trim","jQuery.trim is deprecated; use String.prototype.trim"),e("3.2.0")&&(c(s,"nodeName",function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},"nodeName","jQuery.nodeName is deprecated"),c(s,"isArray",Array.isArray,"isArray","jQuery.isArray is deprecated; use Array.isArray")),e("3.3.0")&&(c(s,"isNumeric",function(e){var t=typeof e;return("number"==t||"string"==t)&&!isNaN(e-parseFloat(e))},"isNumeric","jQuery.isNumeric() is deprecated"),s.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){f["[object "+t+"]"]=t.toLowerCase()}),c(s,"type",function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?f[Object.prototype.toString.call(e)]||"object":typeof e},"type","jQuery.type is deprecated"),c(s,"isFunction",function(e){return"function"==typeof e},"isFunction","jQuery.isFunction() is deprecated"),c(s,"isWindow",function(e){return null!=e&&e===e.window}
2,"isWindow","jQuery.isWindow() is deprecated")),s.ajax&&(l=s.ajax,p=/(=)\?(?=&|$)|\?\?/,i(s,"ajax",function(){var e=l.apply(this,arguments);return e.promise&&(c(e,"success",e.done,"jqXHR-methods","jQXHR.success is deprecated and removed"),c(e,"error",e.fail,"jqXHR-methods","jQXHR.error is deprecated and removed"),c(e,"complete",e.always,"jqXHR-methods","jQXHR.complete is deprecated and removed")),e},"jqXHR-methods"),e("4.0.0")||s.ajaxPrefilter("+json",function(e){!1!==e.jsonp&&(p.test(e.url)||"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&p.test(e.data))&&u("jsonp-promotion","JSON-to-JSONP auto-promotion is deprecated")}));var j=s.fn.removeAttr,b=s.fn.toggleClass,w=/\S+/g;function x(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})}i(s.fn,"removeAttr",function(e){var r=this,n=!1;return s.each(e.match(w),function(e,t){s.expr.match.bool.test(t)&&r.each(function(){if(!1!==s(this).prop(t))return!(n=!0)}),n&&(u("removeAttr-bool","jQuery.fn.removeAttr no longer sets boolean properties: "+t),r.prop(t,!1))}),j.apply(this,arguments)},"removeAttr-bool"),i(s.fn,"toggleClass",function(t){return void 0!==t&&"boolean"!=typeof t?b.apply(this,arguments):(u("toggleClass-bool","jQuery.fn.toggleClass( boolean ) is deprecated"),this.each(function(){var e=this.getAttribute&&this.getAttribute("class")||"";e&&s.data(this,"__className__",e),this.setAttribute&&this.setAttribute("class",!e&&!1!==t&&s.data(this,"__className__")||"")}))},"toggleClass-bool");var Q,A,R=!1,C=/^[a-z]/,N=/^(?:Border(?:Top|Right|Bottom|Left)?(?:Width|)|(?:Margin|Padding)?(?:Top|Right|Bottom|Left)?|(?:Min|Max)?(?:Width|Height))$/;s.swap&&s.each(["height","width","reliableMarginRight"],function(e,t){var r=s.cssHooks[t]&&s.cssHooks[t].get;r&&(s.cssHooks[t].get=function(){var e;return R=!0,e=r.apply(this,arguments),R=!1,e})}),i(s,"swap",function(e,t,r,n){var o,a,i={};for(a in R||u("swap","jQuery.swap() is undocumented and deprecated"),t)i[a]=e.style[a],e.style[a]=t[a];for(a in o=r.apply(e,n||[]),t)e.style[a]=i[a];return o},"swap"),e("3.4.0")&&"undefined"!=typeof Proxy&&(s.cssProps=new Proxy(s.cssProps||{},{set:function(){return u("cssProps","jQuery.cssProps is deprecated"),Reflect.set.apply(this,arguments)}})),e("4.0.0")?(A={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},"undefined"!=typeof Proxy?s.cssNumber=new Proxy(A,{get:function(){return u("css-number","jQuery.cssNumber is deprecated"),Reflect.get.apply(this,arguments)},set:function(){return u("css-number","jQuery.cssNumber is deprecated"),Reflect.set.apply(this,arguments)}}):s.cssNumber=A):A=s.cssNumber,Q=s.fn.css,i(s.fn,"css",function(e,t){var r,n,o=this;return e&&"object"==typeof e&&!Array.isArray(e)?(s.each(e,function(e,t){s.fn.css.call(o,e,t)}),this):("number"==typeof t&&(r=x(e),n=r,C.test(n)&&N.test(n[0].toUpperCase()+n.slice(1))||A[r]||u("css-number",'Number-typed values are deprecated for jQuery.fn.css( "'+e+'", value )')),Q.apply(this,arguments))},"css-number");var S,P,k,H,E=s.data;i(s,"data",function(e,t,r){var n,o,a;if(t&&"object"==typeof t&&2===arguments.length){for(a in n=s.hasData(e)&&E.call(this,e),o={},t)a!==x(a)?(u("data-camelCase","jQuery.data() always sets/gets camelCased names: "+a),n[a]=t[a]):o[a]=t[a];return E.call(this,e,o),t}return t&&"string"==typeof t&&t!==x(t)&&(n=s.hasData(e)&&E.call(this,e))&&t in n?(u("data-camelCase","jQuery.data() always sets/gets camelCased names: "+t),2<arguments.length&&(n[t]=r),n[t]):E.apply(this,arguments)},"data-camelCase"),s.fx&&(k=s.Tween.prototype.run,H=function(e){return e},i(s.Tween.prototype,"run",function(){1<s.easing[this.easing].length&&(u("easing-one-arg","'jQuery.easing."+this.easing.toString()+"' should use only one argument"),s.easing[this.easing]=H),k.apply(this,arguments)},"easing-one-arg"),S=s.fx.interval,P="jQuery.fx.interval is deprecated",n.requestAnimationFrame&&Object.defineProperty(s.fx,"interval",{configurable:!0,enumerable:!0,get:function(){return n.document.hidden||u("fx-interval",P),s.migrateIsPatchEnabled("fx-interval")&&void 0===S?13:S},set:function(e){u("fx-interval",P),S=e}}));var M=s.fn.load,q=s.event.add,O=s.event.fix;s.event.props=[],s.event.fixHooks={}
2,r(s.event.props,"concat",s.event.props.concat,"event-old-patch","jQuery.event.props.concat() is deprecated and removed"),i(s.event,"fix",function(e){var t,r=e.type,n=this.fixHooks[r],o=s.event.props;if(o.length){u("event-old-patch","jQuery.event.props are deprecated and removed: "+o.join());while(o.length)s.event.addProp(o.pop())}if(n&&!n._migrated_&&(n._migrated_=!0,u("event-old-patch","jQuery.event.fixHooks are deprecated and removed: "+r),(o=n.props)&&o.length))while(o.length)s.event.addProp(o.pop());return t=O.call(this,e),n&&n.filter?n.filter(t,e):t},"event-old-patch"),i(s.event,"add",function(e,t){return e===n&&"load"===t&&"complete"===n.document.readyState&&u("load-after-event","jQuery(window).on('load'...) called after load event occurred"),q.apply(this,arguments)},"load-after-event"),s.each(["load","unload","error"],function(e,t){i(s.fn,t,function(){var e=Array.prototype.slice.call(arguments,0);return"load"===t&&"string"==typeof e[0]?M.apply(this,e):(u("shorthand-removed-v3","jQuery.fn."+t+"() is deprecated"),e.splice(0,0,t),arguments.length?this.on.apply(this,e):(this.triggerHandler.apply(this,e),this))},"shorthand-removed-v3")}),s.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,r){c(s.fn,r,function(e,t){return 0<arguments.length?this.on(r,null,e,t):this.trigger(r)},"shorthand-deprecated-v3","jQuery.fn."+r+"() event shorthand is deprecated")}),s(function(){s(n.document).triggerHandler("ready")}),s.event.special.ready={setup:function(){this===n.document&&u("ready-event","'ready' event is deprecated")}},c(s.fn,"bind",function(e,t,r){return this.on(e,null,t,r)},"pre-on-methods","jQuery.fn.bind() is deprecated"),c(s.fn,"unbind",function(e,t){return this.off(e,null,t)},"pre-on-methods","jQuery.fn.unbind() is deprecated"),c(s.fn,"delegate",function(e,t,r,n){return this.on(t,e,r,n)},"pre-on-methods","jQuery.fn.delegate() is deprecated"),c(s.fn,"undelegate",function(e,t,r){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",r)},"pre-on-methods","jQuery.fn.undelegate() is deprecated"),c(s.fn,"hover",function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)},"pre-on-methods","jQuery.fn.hover() is deprecated");function T(e){var t=n.document.implementation.createHTMLDocument("");return t.body.innerHTML=e,t.body&&t.body.innerHTML}var F=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi;s.UNSAFE_restoreLegacyHtmlPrefilter=function(){s.migrateEnablePatches("self-closed-tags")},i(s,"htmlPrefilter",function(e){var t,r;return(r=(t=e).replace(F,"<$1></$2>"))!==t&&T(t)!==T(r)&&u("self-closed-tags","HTML tags must be properly nested and closed: "+t),e.replace(F,"<$1></$2>")},"self-closed-tags"),s.migrateDisablePatches("self-closed-tags");var D,W,_,I=s.fn.offset;return i(s.fn,"offset",function(){var e=this[0];return!e||e.nodeType&&e.getBoundingClientRect?I.apply(this,arguments):(u("offset-valid-elem","jQuery.fn.offset() requires a valid DOM element"),arguments.length?this:void 0)},"offset-valid-elem"),s.ajax&&(D=s.param,i(s,"param",function(e,t){var r=s.ajaxSettings&&s.ajaxSettings.traditional;return void 0===t&&r&&(u("param-ajax-traditional","jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),t=r),D.call(this,e,t)},"param-ajax-traditional")),c(s.fn,"andSelf",s.fn.addBack,"andSelf","jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()"),s.Deferred&&(W=s.Deferred,_=[["resolve","done",s.Callbacks("once memory"),s.Callbacks("once memory"),"resolved"],["reject","fail",s.Callbacks("once memory"),s.Callbacks("once memory"),"rejected"],["notify","progress",s.Callbacks("memory"),s.Callbacks("memory")]],i(s,"Deferred",function(e){var a=W(),i=a.promise();function t(){var o=arguments;return s.Deferred(function(n){s.each(_,function(e,t){var r="function"==typeof o[e]&&o[e];a[t[1]](function(){var e=r&&r.apply(this,arguments);e&&"function"==typeof e.promise?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[t[0]+"With"](this===i?n.promise():this,r?[e]:arguments)})}),o=null}).promise()}return c(a,"pipe",t,"deferred-pipe","deferred.pipe() is deprecated"),c(i,"pipe",t,"deferred-pipe","deferred.pipe() is deprecated"),e&&e.call(a,a),a},"deferred-pipe"),s.Deferred.exceptionHook=W.exceptionHook),s});
3;
4/*!
5 * Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com
6 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
7 */
8(function(){
vendor: 14,869 bytes, line 8
8var l,a;l=this,a=function(){"use strict";var l={},a={};try{"undefined"!=typeof window&&(l=window),"undefined"!=typeof document&&(a=document)}catch(l){}var e=(l.navigator||{}).userAgent,r=void 0===e?"":e,n=l,o=a,u=(n.document,!!o.documentElement&&!!o.head&&"function"==typeof o.addEventListener&&o.createElement,~r.indexOf("MSIE")||r.indexOf("Trident/"),"___FONT_AWESOME___"),t=function(){try{return"production"===process.env.NODE_ENV}catch(l){return!1}}();var f=n||{};f[u]||(f[u]={}),f[u].styles||(f[u].styles={}),f[u].hooks||(f[u].hooks={}),f[u].shims||(f[u].shims=[]);var i=f[u],s=[["glass",null,"glass-martini"],["meetup","fab",null],["star-o","far","star"],["remove",null,"times"],["close",null,"times"],["gear",null,"cog"],["trash-o","far","trash-alt"],["file-o","far","file"],["clock-o","far","clock"],["arrow-circle-o-down","far","arrow-alt-circle-down"],["arrow-circle-o-up","far","arrow-alt-circle-up"],["play-circle-o","far","play-circle"],["repeat",null,"redo"],["rotate-right",null,"redo"],["refresh",null,"sync"],["list-alt","far",null],["dedent",null,"outdent"],["video-camera",null,"video"],["picture-o","far","image"],["photo","far","image"],["image","far","image"],["pencil",null,"pencil-alt"],["map-marker",null,"map-marker-alt"],["pencil-square-o","far","edit"],["share-square-o","far","share-square"],["check-square-o","far","check-square"],["arrows",null,"arrows-alt"],["times-circle-o","far","times-circle"],["check-circle-o","far","check-circle"],["mail-forward",null,"share"],["expand",null,"expand-alt"],["compress",null,"compress-alt"],["eye","far",null],["eye-slash","far",null],["warning",null,"exclamation-triangle"],["calendar",null,"calendar-alt"],["arrows-v",null,"arrows-alt-v"],["arrows-h",null,"arrows-alt-h"],["bar-chart","far","chart-bar"],["bar-chart-o","far","chart-bar"],["twitter-square","fab",null],["facebook-square","fab",null],["gears",null,"cogs"],["thumbs-o-up","far","thumbs-up"],["thumbs-o-down","far","thumbs-down"],["heart-o","far","heart"],["sign-out",null,"sign-out-alt"],["linkedin-square","fab","linkedin"],["thumb-tack",null,"thumbtack"],["external-link",null,"external-link-alt"],["sign-in",null,"sign-in-alt"],["github-square","fab",null],["lemon-o","far","lemon"],["square-o","far","square"],["bookmark-o","far","bookmark"],["twitter","fab",null],["facebook","fab","facebook-f"],["facebook-f","fab","facebook-f"],["github","fab",null],["credit-card","far",null],["feed",null,"rss"],["hdd-o","far","hdd"],["hand-o-right","far","hand-point-right"],["hand-o-left","far","hand-point-left"],["hand-o-up","far","hand-point-up"],["hand-o-down","far","hand-point-down"],["arrows-alt",null,"expand-arrows-alt"],["group",null,"users"],["chain",null,"link"],["scissors",null,"cut"],["files-o","far","copy"],["floppy-o","far","save"],["navicon",null,"bars"],["reorder",null,"bars"],["pinterest","fab",null],["pinterest-square","fab",null],["google-plus-square","fab",null],["google-plus","fab","google-plus-g"],["money","far","money-bill-alt"],["unsorted",null,"sort"],["sort-desc",null,"sort-down"],["sort-asc",null,"sort-up"],["linkedin","fab","linkedin-in"],["rotate-left",null,"undo"],["legal",null,"gavel"],["tachometer",null,"tachometer-alt"],["dashboard",null,"tachometer-alt"],["comment-o","far","comment"],["comments-o","far","comments"],["flash",null,"bolt"],["clipboard","far",null],["paste","far","clipboard"],["lightbulb-o","far","lightbulb"],["exchange",null,"exchange-alt"],["cloud-download",null,"cloud-download-alt"],["cloud-upload",null,"cloud-upload-alt"],["bell-o","far","bell"],["cutlery",null,"utensils"],["file-text-o","far","file-alt"],["building-o","far","building"],["hospital-o","far","hospital"],["tablet",null,"tablet-alt"],["mobile",null,"mobile-alt"],["mobile-phone",null,"mobile-alt"],["circle-o","far","circle"],["mail-reply",null,"reply"],["github-alt","fab",null],["folder-o","far","folder"],["folder-open-o","far","folder-open"],["smile-o","far","smile"],["frown-o","far","frown"],["meh-o","far","meh"],["keyboard-o","far","keyboard"],["flag-o","far","flag"],["mail-reply-all",null,"reply-all"],["star-half-o","far","star-half"],["star-half-empty","far","star-half"],["star-half-full","far","star-half"],["code-fork",null,"code-branch"],["chain-broken",null,"unlink"],["shield",null,"shield-alt"],["calendar-o","far","calendar"],["maxcdn","fab",null],["html5","fab",null],["css3","fab",null],["ticket",null,"ticket-alt"],["minus-square-o","far","minus-square"],["level-up",null,"level-up-alt"],["level-down",null,"level-down-alt"],["pencil-square",null,"pen-square"],["external-link-square",null,"external-link-square-alt"],["compass","far",null],["caret-square-o-down","far","caret-square-down"],["toggle-down","far","caret-square-down"],["caret-square-o-up","far","caret-square-up"],["toggle-up","far","caret-square-up"],["caret-square-o-right","far","caret-square-right"],["toggle-right","far","caret-square-right"],["eur",null,"euro-sign"],["euro",null,"euro-sign"],["gbp",null,"pound-sign"],["usd",null,"dollar-sign"],["dollar",null,"dollar-sign"],["inr",null,"rupee-sign"],["rupee",null,"rupee-sign"],["jpy",null,"yen-sign"],["cny",null,"yen-sign"],["rmb",null,"yen-sign"],["yen",null,"yen-sign"],["rub",null,"ruble-sign"],["ruble",null,"ruble-sign"],["rouble",null,"ruble-sign"],["krw",null,"won-sign"],["won",null,"won-sign"],["btc","fab",null],["bitcoin","fab","btc"],["file-text",null,"file-alt"],["sort-alpha-asc",null,"sort-alpha-down"],["sort-alpha-desc",null,"sort-alpha-down-alt"],["sort-amount-asc",null,"sort-amount-down"],["sort-amount-desc",null,"sort-amount-down-alt"],["sort-numeric-asc",null,"sort-numeric-down"],["sort-numeric-desc",null,"sort-numeric-down-alt"],["youtube-square","fab",null],["youtube","fab",null],["xing","fab",null],["xing-square","fab",null],["youtube-play","fab","youtube"],["dropbox","fab",null],["stack-overflow","fab",null],["instagram","fab",null],["flickr","fab",null],["adn","fab",null],["bitbucket","fab",null],["bitbucket-square","fab","bitbucket"],["tumblr","fab",null],["tumblr-square","fab",null],["long-arrow-down",null,"long-arrow-alt-down"],["long-arrow-up",null,"long-arrow-alt-up"],["long-arrow-left",null,"long-arrow-alt-left"],["long-arrow-right",null,"long-arrow-alt-right"],["apple","fab",null],["windows","fab",null],["android","fab",null],["linux","fab",null],["dribbble","fab",null],["skype","fab",null],["foursquare","fab",null],["trello","fab",null],["gratipay","fab",null],["gittip","fab","gratipay"],["sun-o","far","sun"],["moon-o","far","moon"],["vk","fab",null],["weibo","fab",null],["renren","fab",null],["pagelines","fab",null],["stack-exchange","fab",null],["arrow-circle-o-right","far","arrow-alt-circle-right"],["arrow-circle-o-left","far","arrow-alt-circle-left"],["caret-square-o-left","far","caret-square-left"],["toggle-left","far","caret-square-left"],["dot-circle-o","far","dot-circle"],["vimeo-square","fab",null],["try",null,"lira-sign"],["turkish-lira",null,"lira-sign"],["plus-square-o","far","plus-square"],["slack","fab",null],["wordpress","fab",null],["openid","fab",null],["institution",null,"university"],["bank",null,"university"],["mortar-board",null,"graduation-cap"],["yahoo","fab",null],["google","fab",null],["reddit","fab",null],["reddit-square","fab",null],["stumbleupon-circle","fab",null],["stumbleupon","fab",null],["delicious","fab",null],["digg","fab",null],["pied-piper-pp","fab",null],["pied-piper-alt","fab",null],["drupal","fab",null],["joomla","fab",null],["spoon",null,"utensil-spoon"],["behance","fab",null],["behance-square","fab",null],["steam","fab",null],["steam-square","fab",null],["automobile",null,"car"],["envelope-o","far","envelope"],["spotify","fab",null],["deviantart","fab",null],["soundcloud","fab",null],["file-pdf-o","far","file-pdf"],["file-word-o","far","file-word"],["file-excel-o","far","file-excel"],["file-powerpoint-o","far","file-powerpoint"],["file-image-o","far","file-image"],["file-photo-o","far","file-image"],["file-picture-o","far","file-image"],["file-archive-o","far","file-archive"],["file-zip-o","far","file-archive"],["file-audio-o","far","file-audio"],["file-sound-o","far","file-audio"],["file-video-o","far","file-video"],["file-movie-o","far","file-video"],["file-code-o","far","file-code"],["vine","fab",null],["codepen","fab",null],["jsfiddle","fab",null],["life-ring","far",null],["life-bouy","far","life-ring"],["life-buoy","far","life-ring"],["life-saver","far","life-ring"],["support","far","life-ring"],["circle-o-notch",null,"circle-notch"],["rebel","fab",null],["ra","fab","rebel"],["resistance","fab","rebel"],["empire","fab",null],["ge","fab","empire"],["git-square","fab",null],["git","fab",null],["hacker-news","fab",null],["y-combinator-square","fab","hacker-news"],["yc-square","fab","hacker-news"],["tencent-weibo","fab",null],["qq","fab",null],["weixin","fab",null],["wechat","fab","weixin"],["send",null,"paper-plane"],["paper-plane-o","far","paper-plane"],["send-o","far","paper-plane"],["circle-thin","far","circle"],["header",null,"heading"],["sliders",null,"sliders-h"],["futbol-o","far","futbol"],["soccer-ball-o","far","futbol"],["slideshare","fab",null],["twitch","fab",null],["yelp","fab",null],["newspaper-o","far","newspaper"],["paypal","fab",null],["google-wallet","fab",null],["cc-visa","fab",null],["cc-mastercard","fab",null],["cc-discover","fab",null],["cc-amex","fab",null],["cc-paypal","fab",null],["cc-stripe","fab",null],["bell-slash-o","far","bell-slash"],["trash",null,"trash-alt"],["copyright","far",null],["eyedropper",null,"eye-dropper"],["area-chart",null,"chart-area"],["pie-chart",null,"chart-pie"],["line-chart",null,"chart-line"],["lastfm","fab",null],["lastfm-square","fab",null],["ioxhost","fab",null],["angellist","fab",null],["cc","far","closed-captioning"],["ils",null,"shekel-sign"],["shekel",null,"shekel-sign"],["sheqel",null,"shekel-sign"],["meanpath","fab","font-awesome"],["buysellads","fab",null],["connectdevelop","fab",null],["dashcube","fab",null],["forumbee","fab",null],["leanpub","fab",null],["sellsy","fab",null],["shirtsinbulk","fab",null],["simplybuilt","fab",null],["skyatlas","fab",null],["diamond","far","gem"],["intersex",null,"transgender"],["facebook-official","fab","facebook"],["pinterest-p","fab",null],["whatsapp","fab",null],["hotel",null,"bed"],["viacoin","fab",null],["medium","fab",null],["y-combinator","fab",null],["yc","fab","y-combinator"],["optin-monster","fab",null],["opencart","fab",null],["expeditedssl","fab",null],["battery-4",null,"battery-full"],["battery",null,"battery-full"],["battery-3",null,"battery-three-quarters"],["battery-2",null,"battery-half"],["battery-1",null,"battery-quarter"],["battery-0",null,"battery-empty"],["object-group","far",null],["object-ungroup","far",null],["sticky-note-o","far","sticky-note"],["cc-jcb","fab",null],["cc-diners-club","fab",null],["clone","far",null],["hourglass-o","far","hourglass"],["hourglass-1",null,"hourglass-start"],["hourglass-2",null,"hourglass-half"],["hourglass-3",null,"hourglass-end"],["hand-rock-o","far","hand-rock"],["hand-grab-o","far","hand-rock"],["hand-paper-o","far","hand-paper"],["hand-stop-o","far","hand-paper"],["hand-scissors-o","far","hand-scissors"],["hand-lizard-o","far","hand-lizard"],["hand-spock-o","far","hand-spock"],["hand-pointer-o","far","hand-pointer"],["hand-peace-o","far","hand-peace"],["registered","far",null],["creative-commons","fab",null],["gg","fab",null],["gg-circle","fab",null],["tripadvisor","fab",null],["odnoklassniki","fab",null],["odnoklassniki-square","fab",null],["get-pocket","fab",null],["wikipedia-w","fab",null],["safari","fab",null],["chrome","fab",null],["firefox","fab",null],["opera","fab",null],["internet-explorer","fab",null],["television",null,"tv"],["contao","fab",null],["500px","fab",null],["amazon","fab",null],["calendar-plus-o","far","calendar-plus"],["calendar-minus-o","far","calendar-minus"],["calendar-times-o","far","calendar-times"],["calendar-check-o","far","calendar-check"],["map-o","far","map"],["commenting",null,"comment-dots"],["commenting-o","far","comment-dots"],["houzz","fab",null],["vimeo","fab","vimeo-v"],["black-tie","fab",null],["fonticons","fab",null],["reddit-alien","fab",null],["edge","fab",null],["credit-card-alt",null,"credit-card"],["codiepie","fab",null],["modx","fab",null],["fort-awesome","fab",null],["usb","fab",null],["product-hunt","fab",null],["mixcloud","fab",null],["scribd","fab",null],["pause-circle-o","far","pause-circle"],["stop-circle-o","far","stop-circle"],["bluetooth","fab",null],["bluetooth-b","fab",null],["gitlab","fab",null],["wpbeginner","fab",null],["wpforms","fab",null],["envira","fab",null],["wheelchair-alt","fab","accessible-icon"],["question-circle-o","far","question-circle"],["volume-control-phone",null,"phone-volume"],["asl-interpreting",null,"american-sign-language-interpreting"],["deafness",null,"deaf"],["hard-of-hearing",null,"deaf"],["glide","fab",null],["glide-g","fab",null],["signing",null,"sign-language"],["viadeo","fab",null],["viadeo-square","fab",null],["snapchat","fab",null],["snapchat-ghost","fab",null],["snapchat-square","fab",null],["pied-piper","fab",null],["first-order","fab",null],["yoast","fab",null],["themeisle","fab",null],["google-plus-official","fab","google-plus"],["google-plus-circle","fab","google-plus"],["font-awesome","fab",null],["fa","fab","font-awesome"],["handshake-o","far","handshake"],["envelope-open-o","far","envelope-open"],["linode","fab",null],["address-book-o","far","address-book"],["vcard",null,"address-card"],["address-card-o","far","address-card"],["vcard-o","far","address-card"],["user-circle-o","far","user-circle"],["user-o","far","user"],["id-badge","far",null],["drivers-license",null,"id-card"],["id-card-o","far","id-card"],["drivers-license-o","far","id-card"],["quora","fab",null],["free-code-camp","fab",null],["telegram","fab",null],["thermometer-4",null,"thermometer-full"],["thermometer",null,"thermometer-full"],["thermometer-3",null,"thermometer-three-quarters"],["thermometer-2",null,"thermometer-half"],["thermometer-1",null,"thermometer-quarter"],["thermometer-0",null,"thermometer-empty"],["bathtub",null,"bath"],["s15",null,"bath"],["window-maximize","far",null],["window-restore","far",null],["times-rectangle",null,"window-close"],["window-close-o","far","window-close"],["times-rectangle-o","far","window-close"],["bandcamp","fab",null],["grav","fab",null],["etsy","fab",null],["imdb","fab",null],["ravelry","fab",null],["eercast","fab","sellcast"],["snowflake-o","far","snowflake"],["superpowers","fab",null],["wpexplorer","fab",null],["cab",null,"taxi"]];return function(l){try{l()}catch(l){if(!t)throw l}}(function(){var l;"function"==typeof i.hooks.addShims?i.hooks.addShims(s):(l=i.shims).push.apply(l,s)}),s},"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define(a):l["fontawesome-free-shims"]=a();
8})();
9;
10( () => {
11					const lazyloadRunObserver = () => {
12						const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );
13						const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {
14							entries.forEach( ( entry ) => {
15								if ( entry.isIntersecting ) {
16									let lazyloadBackground = entry.target;
17									if( lazyloadBackground ) {
18										lazyloadBackground.classList.add( 'e-lazyloaded' );
19									}
20									lazyloadBackgroundObserver.unobserve( entry.target );
21								}
22							});
23						}, { rootMargin: '200px 0px 200px 0px' } );
24						lazyloadBackgrounds.forEach( ( lazyloadBackground ) => {
25							lazyloadBackgroundObserver.observe( lazyloadBackground );
26						} );
27					};
28					const events = [
29						'DOMContentLoaded',
30						'elementor/lazyload/observe',
31					];
32					events.forEach( ( event ) => {
33						document.addEventListener( event, lazyloadRunObserver );
34					} );
35				} )();;
36!function(){var t=jQuery;t(window).on("load",function(){var o,n,e,a,i,l,s,r,c;(o=wpfront_scroll_top_data.data).data.hide_iframe&&t(window).attr("self")!==t(window).attr("top")||(null!==o.css&&t("<style>").text(o.css).appendTo("head"),t("body").append(o.html),n=o.data,e=t("#wpfront-scroll-top-container"),a=!1,i=0,l=function(){clearTimeout(i),e.is(":visible")&&e.stop().fadeTo(n.button_fade_duration,0,function(){e.removeClass("show"),a=!1})},s=function(){n.auto_hide&&(clearTimeout(i),i=setTimeout(function(){l()},1e3*n.auto_hide_after))},r=!1,c=function(){r||(r=!0,t(window).scrollTop()>n.scroll_offset?(e.stop().css("opacity",a?1:n.button_opacity).addClass("show"),a||s()):l(),r=!1)},t(window).on("scroll",c),c(),e.on("mouseenter",function(){clearTimeout(i),a=!0,t(this).css("opacity",1)}).on("mouseleave",function(){t(this).css("opacity",n.button_opacity),a=!1,s()}).on("click",function(o){if("url"===n.button_action)return!0;if("element"===n.button_action){o.preventDefault();var e=t(n.button_action_element_selector).first(),a=t(n.button_action_container_selector),i=e.offset();if(null==i)return!1;var l=a.last().offset();if(null==l)return!1;n.button_action_element_offset=parseInt(n.button_action_element_offset),isNaN(n.button_action_element_offset)&&(n.button_action_element_offset=0);var s=i.top-l.top-n.button_action_element_offset;return a.animate({scrollTop:s},n.scroll_duration),!1}return o.preventDefault(),t("html, body").animate({scrollTop:0},n.scroll_duration),!1}))})}();;
37/* Elementor bundles are self-contained; this file exists for the elementor-webpack-runtime handle. */
38;
39"use strict";(function(){var __esmMin=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},__commonJSMin=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),e=__commonJSMin(((e,t)=>{function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}t.exports=_interopRequireDefault,t.exports.__esModule=!0,t.exports.default=t.exports})),t=__commonJSMin(((e,t)=>{var check=function(e){return e&&e.Math===Math&&e};t.exports=check(typeof globalThis==`object`&&globalThis)||check(typeof window==`object`&&window)||check(typeof self==`object`&&self)||check(typeof global==`object`&&global)||check(typeof e==`object`&&e)||(function(){return this})()||Function(`return this`)()})),n=__commonJSMin(((e,t)=>{t.exports=function(e){try{return!!e()}catch(e){return!0}}})),r=__commonJSMin(((e,t)=>{t.exports=!n()(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})})),i=__commonJSMin(((e,t)=>{t.exports=!n()(function(){var e=(function(){}).bind();return typeof e!=`function`||e.hasOwnProperty(`prototype`)})})),a=__commonJSMin(((e,t)=>{var n=i(),r=Function.prototype.call;t.exports=n?r.bind(r):function(){return r.apply(r,arguments)}})),o=__commonJSMin((e=>{var t={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor;e.f=n&&!t.call({1:2},1)?function propertyIsEnumerable(e){var t=n(this,e);return!!t&&t.enumerable}:t})),s=__commonJSMin(((e,t)=>{t.exports=function(e,t){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:t}}})),c=__commonJSMin(((e,t)=>{var n=i(),r=Function.prototype,a=r.call,o=n&&r.bind.bind(a,a);t.exports=n?o:function(e){return function(){return a.apply(e,arguments)}}})),l=__commonJSMin(((e,t)=>{var n=c(),r=n({}.toString),i=n(``.slice);t.exports=function(e){return i(r(e),8,-1)}})),u=__commonJSMin(((e,t)=>{var r=c(),i=n(),a=l(),o=Object,s=r(``.split);t.exports=i(function(){return!o(`z`).propertyIsEnumerable(0)})?function(e){return a(e)===`String`?s(e,``):o(e)}:o})),d=__commonJSMin(((e,t)=>{t.exports=function(e){return e==null}}
vendor: 18,334 bytes, line 39
39)),f=__commonJSMin(((e,t)=>{var n=d(),r=TypeError;t.exports=function(e){if(n(e))throw new r(`Can't call method on `+e);return e}})),p=__commonJSMin(((e,t)=>{var n=u(),r=f();t.exports=function(e){return n(r(e))}})),m=__commonJSMin(((e,t)=>{var n=typeof document==`object`&&document.all;t.exports=n===void 0&&n!==void 0?function(e){return typeof e==`function`||e===n}:function(e){return typeof e==`function`}})),h=__commonJSMin(((e,t)=>{var n=m();t.exports=function(e){return typeof e==`object`?e!==null:n(e)}})),g=__commonJSMin(((e,n)=>{var r=t(),i=m(),aFunction=function(e){return i(e)?e:void 0};n.exports=function(e,t){return arguments.length<2?aFunction(r[e]):r[e]&&r[e][t]}})),_=__commonJSMin(((e,t)=>{t.exports=c()({}.isPrototypeOf)})),v=__commonJSMin(((e,n)=>{var r=t().navigator,i=r&&r.userAgent;n.exports=i?String(i):``})),y=__commonJSMin(((e,n)=>{var r=t(),i=v(),a=r.process,o=r.Deno,s=a&&a.versions||o&&o.version,c=s&&s.v8,l,u;c&&(l=c.split(`.`),u=l[0]>0&&l[0]<4?1:+(l[0]+l[1])),!u&&i&&(l=i.match(/Edge\/(\d+)/),(!l||l[1]>=74)&&(l=i.match(/Chrome\/(\d+)/),l&&(u=+l[1]))),n.exports=u})),b=__commonJSMin(((e,r)=>{var i=y(),a=n(),o=t().String;r.exports=!!Object.getOwnPropertySymbols&&!a(function(){var e=Symbol(`symbol detection`);return!o(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&i&&i<41})})),x=__commonJSMin(((e,t)=>{t.exports=b()&&!Symbol.sham&&typeof Symbol.iterator==`symbol`})),S=__commonJSMin(((e,t)=>{var n=g(),r=m(),i=_(),a=x(),o=Object;t.exports=a?function(e){return typeof e==`symbol`}:function(e){var t=n(`Symbol`);return r(t)&&i(t.prototype,o(e))}})),C=__commonJSMin(((e,t)=>{var n=String;t.exports=function(e){try{return n(e)}catch(e){return`Object`}}})),w=__commonJSMin(((e,t)=>{var n=m(),r=C(),i=TypeError;t.exports=function(e){if(n(e))return e;throw new i(r(e)+` is not a function`)}})),T=__commonJSMin(((e,t)=>{var n=w(),r=d();t.exports=function(e,t){var i=e[t];return r(i)?void 0:n(i)}})),E=__commonJSMin(((e,t)=>{var n=a(),r=m(),i=h(),o=TypeError;t.exports=function(e,t){var a,s;if(t===`string`&&r(a=e.toString)&&!i(s=n(a,e))||r(a=e.valueOf)&&!i(s=n(a,e))||t!==`string`&&r(a=e.toString)&&!i(s=n(a,e)))return s;throw new o(`Can't convert object to primitive value`)}})),D=__commonJSMin(((e,t)=>{t.exports=!1})),O=__commonJSMin(((e,n)=>{var r=t(),i=Object.defineProperty;n.exports=function(e,t){try{i(r,e,{value:t,configurable:!0,writable:!0})}catch(n){r[e]=t}return t}})),k=__commonJSMin(((e,n)=>{var r=D(),i=t(),a=O(),o=`__core-js_shared__`,s=n.exports=i[o]||a(o,{});(s.versions||(s.versions=[])).push({version:`3.46.0`,mode:r?`pure`:`global`,copyright:`© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)`,license:`https://github.com/zloirock/core-js/blob/v3.46.0/LICENSE`,source:`https://github.com/zloirock/core-js`})})),ee=__commonJSMin(((e,t)=>{var n=k();t.exports=function(e,t){return n[e]||(n[e]=t||{})}})),A=__commonJSMin(((e,t)=>{var n=f(),r=Object;t.exports=function(e){return r(n(e))}})),j=__commonJSMin(((e,t)=>{var n=c(),r=A(),i=n({}.hasOwnProperty);t.exports=Object.hasOwn||function hasOwn(e,t){return i(r(e),t)}})),te=__commonJSMin(((e,t)=>{var n=c(),r=0,i=Math.random(),a=n(1.1.toString);t.exports=function(e){return`Symbol(`+(e===void 0?``:e)+`)_`+a(++r+i,36)}})),M=__commonJSMin(((e,n)=>{var r=t(),i=ee(),a=j(),o=te(),s=b(),c=x(),l=r.Symbol,u=i(`wks`),d=c?l.for||l:l&&l.withoutSetter||o;n.exports=function(e){return a(u,e)||(u[e]=s&&a(l,e)?l[e]:d(`Symbol.`+e)),u[e]}})),ne=__commonJSMin(((e,t)=>{var n=a(),r=h(),i=S(),o=T(),s=E(),c=M(),l=TypeError,u=c(`toPrimitive`);t.exports=function(e,t){if(!r(e)||i(e))return e;var a=o(e,u),c;if(a){if(t===void 0&&(t=`default`),c=n(a,e,t),!r(c)||i(c))return c;throw new l(`Can't convert object to primitive value`)}return t===void 0&&(t=`number`),s(e,t)}})),re=__commonJSMin(((e,t)=>{var n=ne(),r=S();t.exports=function(e){var t=n(e,`string`);return r(t)?t:t+``}})),ie=__commonJSMin(((e,n)=>{var r=t(),i=h(),a=r.document,o=i(a)&&i(a.createElement);n.exports=function(e){return o?a.createElement(e):{}}})),ae=__commonJSMin(((e,t)=>{var i=r(),a=n(),o=ie();t.exports=!i&&!a(function(){return Object.defineProperty(o(`div`),"a",{get:function(){return 7}}).a!==7})})),oe=__commonJSMin((e=>{var t=r(),n=a(),i=o(),c=s(),l=p(),u=re(),d=j(),f=ae(),m=Object.getOwnPropertyDescriptor;e.f=t?m:function getOwnPropertyDescriptor(e,t){if(e=l(e),t=u(t),f)try{return m(e,t)}catch(e){}if(d(e,t))return c(!n(i.f,e,t),e[t])}})),se=__commonJSMin(((e,t)=>{var i=r(),a=n();t.exports=i&&a(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})})),N=__commonJSMin(((e,t)=>{var n=h(),r=String,i=TypeError;t.exports=function(e){if(n(e))return e;throw new i(r(e)+` is not an object`)}})),P=__commonJSMin((e=>{var t=r(),n=ae(),i=se(),a=N(),o=re(),s=TypeError,c=Object.defineProperty,l=Object.getOwnPropertyDescriptor,u=`enumerable`,d=`configurable`,f=`writable`;e.f=t?i?function defineProperty(e,t,n){if(a(e),t=o(t),a(n),typeof e==`function`&&t===`prototype`&&`value`in n&&f in n&&!n[f]){var r=l(e,t);r&&r[f]&&(e[t]=n.value,n={configurable:d in n?n[d]:r[d],enumerable:u in n?n[u]:r[u],writable:!1})}return c(e,t,n)}:c:function defineProperty(e,t,r){if(a(e),t=o(t),a(r),n)try{return c(e,t,r)}catch(e){}if(`get`in r||`set`in r)throw new s(`Accessors not supported`);return`value`in r&&(e[t]=r.value),e}})),I=__commonJSMin(((e,t)=>{var n=r(),i=P(),a=s();t.exports=n?function(e,t,n){return i.f(e,t,a(1,n))}:function(e,t,n){return e[t]=n,e}})),ce=__commonJSMin(((e,t)=>{var n=r(),i=j(),a=Function.prototype,o=n&&Object.getOwnPropertyDescriptor,s=i(a,`name`);t.exports={EXISTS:s,PROPER:s&&(function something(){}).name===`something`,CONFIGURABLE:s&&(!n||n&&o(a,`name`).configurable)}})),le=__commonJSMin(((e,t)=>{var n=c(),r=m(),i=k(),a=n(Function.toString);r(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),t.exports=i.inspectSource})),ue=__commonJSMin(((e,n)=>{var r=t(),i=m(),a=r.WeakMap;n.exports=i(a)&&/native code/.test(String(a))})),L=__commonJSMin(((e,t)=>{var n=ee(),r=te(),i=n(`keys`);t.exports=function(e){return i[e]||(i[e]=r(e))}})),R=__commonJSMin(((e,t)=>{t.exports={}})),de=__commonJSMin(((e,n)=>{var r=ue(),i=t(),a=h(),o=I(),s=j(),c=k(),l=L(),u=R(),d=`Object already initialized`,f=i.TypeError,p=i.WeakMap,set,get,has,enforce=function(e){return has(e)?get(e):set(e,{})},getterFor=function(e){return function(t){var n;if(!a(t)||(n=get(t)).type!==e)throw new f(`Incompatible receiver, `+e+` required`);return n}};if(r||c.state){var m=c.state||(c.state=new p);m.get=m.get,m.has=m.has,m.set=m.set,set=function(e,t){if(m.has(e))throw new f(d);return t.facade=e,m.set(e,t),t},get=function(e){return m.get(e)||{}},has=function(e){return m.has(e)}}else{var g=l(`state`);u[g]=!0,set=function(e,t){if(s(e,g))throw new f(d);return t.facade=e,o(e,g,t),t},get=function(e){return s(e,g)?e[g]:{}},has=function(e){return s(e,g)}}n.exports={set,get,has,enforce,getterFor}})),fe=__commonJSMin(((e,t)=>{var i=c(),a=n(),o=m(),s=j(),l=r(),u=ce().CONFIGURABLE,d=le(),f=de(),p=f.enforce,h=f.get,g=String,_=Object.defineProperty,v=i(``.slice),y=i(``.replace),b=i([].join),x=l&&!a(function(){return _(function(){},`length`,{value:8}).length!==8}),S=String(String).split(`String`),C=t.exports=function(e,t,n){v(g(t),0,7)===`Symbol(`&&(t=`[`+y(g(t),/^Symbol\(([^)]*)\).*$/,`$1`)+`]`),n&&n.getter&&(t=`get `+t),n&&n.setter&&(t=`set `+t),(!s(e,`name`)||u&&e.name!==t)&&(l?_(e,`name`,{value:t,configurable:!0}):e.name=t),x&&n&&s(n,`arity`)&&e.length!==n.arity&&_(e,`length`,{value:n.arity});try{n&&s(n,`constructor`)&&n.constructor?l&&_(e,`prototype`,{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var r=p(e);return s(r,`source`)||(r.source=b(S,typeof t==`string`?t:``)),e};Function.prototype.toString=C(function toString(){return o(this)&&h(this).source||d(this)},`toString`)})),z=__commonJSMin(((e,t)=>{var n=m(),r=P(),i=fe(),a=O();t.exports=function(e,t,o,s){s||(s={});var c=s.enumerable,l=s.name===void 0?t:s.name;if(n(o)&&i(o,l,s),s.global)c?e[t]=o:a(t,o);else{try{s.unsafe?e[t]&&(c=!0):delete e[t]}catch(e){}c?e[t]=o:r.f(e,t,{value:o,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return e}})),pe=__commonJSMin(((e,t)=>{var n=Math.ceil,r=Math.floor;t.exports=Math.trunc||function trunc(e){var t=+e;return(t>0?r:n)(t)}})),me=__commonJSMin(((e,t)=>{var n=pe();t.exports=function(e){var t=+e;return t!==t||t===0?0:n(t)}})),he=__commonJSMin(((e,t)=>{var n=me(),r=Math.max,i=Math.min;t.exports=function(e,t){var a=n(e);return a<0?r(a+t,0):i(a,t)}})),ge=__commonJSMin(((e,t)=>{var n=me(),r=Math.min;t.exports=function(e){var t=n(e);return t>0?r(t,9007199254740991):0}})),B=__commonJSMin(((e,t)=>{var n=ge();t.exports=function(e){return n(e.length)}})),_e=__commonJSMin(((e,t)=>{var n=p(),r=he(),i=B(),createMethod=function(e){return function(t,a,o){var s=n(t),c=i(s);if(c===0)return!e&&-1;var l=r(o,c),u;if(e&&a!==a){for(;c>l;)if(u=s[l++],u!==u)return!0}else for(;c>l;l++)if((e||l in s)&&s[l]===a)return e||l||0;return!e&&-1}};t.exports={includes:createMethod(!0),indexOf:createMethod(!1)}})),ve=__commonJSMin(((e,t)=>{var n=c(),r=j(),i=p(),a=_e().indexOf,o=R(),s=n([].push);t.exports=function(e,t){var n=i(e),c=0,l=[],u;for(u in n)!r(o,u)&&r(n,u)&&s(l,u);for(;t.length>c;)r(n,u=t[c++])&&(~a(l,u)||s(l,u));return l}})),V=__commonJSMin(((e,t)=>{t.exports=[`constructor`,`hasOwnProperty`,`isPrototypeOf`,`propertyIsEnumerable`,`toLocaleString`,`toString`,`valueOf`]})),ye=__commonJSMin((e=>{var t=ve(),n=V().concat(`length`,`prototype`);e.f=Object.getOwnPropertyNames||function getOwnPropertyNames(e){return t(e,n)}})),be=__commonJSMin((e=>{e.f=Object.getOwnPropertySymbols})),xe=__commonJSMin(((e,t)=>{var n=g(),r=c(),i=ye(),a=be(),o=N(),s=r([].concat);t.exports=n(`Reflect`,`ownKeys`)||function ownKeys(e){var t=i.f(o(e)),n=a.f;return n?s(t,n(e)):t}})),Se=__commonJSMin(((e,t)=>{var n=j(),r=xe(),i=oe(),a=P();t.exports=function(e,t,o){for(var s=r(t),c=a.f,l=i.f,u=0;u<s.length;u++){var d=s[u];!n(e,d)&&!(o&&n(o,d))&&c(e,d,l(t,d))}}})),Ce=__commonJSMin(((e,t)=>{var r=n(),i=m(),a=/#|\.prototype\./,isForced=function(e,t){var n=s[o(e)];return n===l?!0:n===c?!1:i(t)?r(t):!!t},o=isForced.normalize=function(e){return String(e).replace(a,`.`).toLowerCase()},s=isForced.data={},c=isForced.NATIVE=`N`,l=isForced.POLYFILL=`P`;t.exports=isForced})),H=__commonJSMin(((e,n)=>{var r=t(),i=oe().f,a=I(),o=z(),s=O(),c=Se(),l=Ce();n.exports=function(e,t){var n=e.target,u=e.global,d=e.stat,f,p=u?r:d?r[n]||s(n,{}):r[n]&&r[n].prototype,m,h,g,_;if(p)for(m in t){if(g=t[m],e.dontCallGetSet?(_=i(p,m),h=_&&_.value):h=p[m],f=l(u?m:n+(d?`.`:`#`)+m,e.forced),!f&&h!==void 0){if(typeof g==typeof h)continue;c(g,h)}(e.sham||h&&h.sham)&&a(g,`sham`,!0),o(p,m,g,e)}}})),we=__commonJSMin(((e,t)=>{var n=l();t.exports=Array.isArray||function isArray(e){return n(e)===`Array`}})),Te=__commonJSMin(((e,t)=>{var n=r(),i=we(),a=TypeError,o=Object.getOwnPropertyDescriptor;t.exports=n&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}()?function(e,t){if(i(e)&&!o(e,`length`).writable)throw new a(`Cannot set read only .length`);return e.length=t}:function(e,t){return e.length=t}})),Ee=__commonJSMin(((e,t)=>{var n=TypeError,r=9007199254740991;t.exports=function(e){if(e>r)throw n(`Maximum allowed index exceeded`);return e}})),U=__commonJSMin((()=>{var e=H(),t=A(),r=B(),i=Te(),a=Ee(),o=n()(function(){return[].push.call({length:4294967296},1)!==4294967297}),properErrorOnNonWritableLength=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}};e({target:`Array`,proto:!0,arity:1,forced:o||!properErrorOnNonWritableLength()},{push:function push(e){var n=t(this),o=r(n),s=arguments.length;a(o+s);for(var c=0;c<s;c++)n[o]=arguments[c],o++;return i(n,o),o}})})),De=__commonJSMin(((e,t)=>{var n=_(),r=TypeError;t.exports=function(e,t){if(n(t,e))return e;throw new r(`Incorrect invocation`)}})),Oe=__commonJSMin(((e,t)=>{t.exports=!n()(function(){function F(){}return F.prototype.constructor=null,Object.getPrototypeOf(new F)!==F.prototype})})),ke=__commonJSMin(((e,t)=>{var n=j(),r=m(),i=A(),a=L(),o=Oe(),s=a(`IE_PROTO`),c=Object,l=c.prototype;t.exports=o?c.getPrototypeOf:function(e){var t=i(e);if(n(t,s))return t[s];var a=t.constructor;return r(a)&&t instanceof a?a.prototype:t instanceof c?l:null}})),Ae=__commonJSMin(((e,t)=>{var n=fe(),r=P();t.exports=function(e,t,i){return i.get&&n(i.get,t,{getter:!0}),i.set&&n(i.set,t,{setter:!0}),r.f(e,t,i)}})),je=__commonJSMin(((e,t)=>{var n=r(),i=P(),a=s();t.exports=function(e,t,r){n?i.f(e,t,a(0,r)):e[t]=r}})),Me=__commonJSMin(((e,t)=>{var n=ve(),r=V();t.exports=Object.keys||function keys(e){return n(e,r)}})),Ne=__commonJSMin((e=>{var t=r(),n=se(),i=P(),a=N(),o=p(),s=Me();e.f=t&&!n?Object.defineProperties:function defineProperties(e,t){a(e);for(var n=o(t),r=s(t),c=r.length,l=0,u;c>l;)i.f(e,u=r[l++],n[u]);return e}})),Pe=__commonJSMin(((e,t)=>{t.exports=g()(`document`,`documentElement`)})),W=__commonJSMin(((e,t)=>{var n=N(),r=Ne(),i=V(),a=R(),o=Pe(),s=ie(),c=L(),l=`>`,u=`<`,d=`prototype`,f=`script`,p=c(`IE_PROTO`),EmptyConstructor=function(){},scriptTag=function(e){return u+f+l+e+u+`/`+f+l},NullProtoObjectViaActiveX=function(e){e.write(scriptTag(``)),e.close();var t=e.parentWindow.Object;return e=null,t},NullProtoObjectViaIFrame=function(){var e=s(`iframe`),t=`java`+f+`:`,n;return e.style.display=`none`,o.appendChild(e),e.src=String(t),n=e.contentWindow.document,n.open(),n.write(scriptTag(`document.F=Object`)),n.close(),n.F},m,NullProtoObject=function(){try{m=new ActiveXObject(`htmlfile`)}catch(e){}NullProtoObject=typeof document<`u`?document.domain&&m?NullProtoObjectViaActiveX(m):NullProtoObjectViaIFrame():NullProtoObjectViaActiveX(m);for(var e=i.length;e--;)delete NullProtoObject[d][i[e]];return NullProtoObject()};a[p]=!0,t.exports=Object.create||function create(e,t){var i;return e===null?i=NullProtoObject():(EmptyConstructor[d]=n(e),i=new EmptyConstructor,EmptyConstructor[d]=null,i[p]=e),t===void 0?i:r.f(i,t)}})),Fe=__commonJSMin(((e,t)=>{var r=n(),i=m(),a=h(),o=W(),s=ke(),c=z(),l=M(),u=D(),d=l(`iterator`),f=!1,p,g,_;[].keys&&(_=[].keys(),`next`in _?(g=s(s(_)),g!==Object.prototype&&(p=g)):f=!0),!a(p)||r(function(){var e={};return p[d].call(e)!==e})?p={}:u&&(p=o(p)),i(p[d])||c(p,d,function(){return this}),t.exports={IteratorPrototype:p,BUGGY_SAFARI_ITERATORS:f}})),Ie=__commonJSMin((()=>{var e=H(),i=t(),a=De(),o=N(),s=m(),c=ke(),l=Ae(),u=je(),d=n(),f=j(),p=M(),h=Fe().IteratorPrototype,g=r(),_=D(),v=`constructor`,y=`Iterator`,b=p(`toStringTag`),x=TypeError,S=i[y],C=_||!s(S)||S.prototype!==h||!d(function(){S({})}),w=function Iterator(){if(a(this,h),c(this)===h)throw new x(`Abstract class Iterator not directly constructable`)},defineIteratorPrototypeAccessor=function(e,t){g?l(h,e,{configurable:!0,get:function(){return t},set:function(t){if(o(this),this===h)throw new x(`You can't redefine this property`);f(this,e)?this[e]=t:u(this,e,t)}}):h[e]=t};f(h,b)||defineIteratorPrototypeAccessor(b,y),(C||!f(h,v)||h[v]===Object)&&defineIteratorPrototypeAccessor(v,w),w.prototype=h,e({global:!0,constructor:!0,forced:C},{Iterator:w})})),G=__commonJSMin((()=>{Ie()})),K=__commonJSMin(((e,t)=>{t.exports=function(e){return{iterator:e,next:e.next,done:!1}}})),Le=__commonJSMin(((e,t)=>{var n=z();t.exports=function(e,t,r){for(var i in t)n(e,i,t[i],r);return e}})),Re=__commonJSMin(((e,t)=>{t.exports=function(e,t){return{value:e,done:t}}})),q=__commonJSMin(((e,t)=>{var n=a(),r=N(),i=T();t.exports=function(e,t,a){var o,s;r(e);try{if(o=i(e,`return`),!o){if(t===`throw`)throw a;return a}o=n(o,e)}catch(e){s=!0,o=e}if(t===`throw`)throw a;if(s)throw o;return r(o),a}})),ze=__commonJSMin(((e,t)=>{var n=q();t.exports=function(e,t,r){for(var i=e.length-1;i>=0;i--)if(e[i]!==void 0)try{r=n(e[i].iterator,t,r)}catch(e){t=`throw`,r=e}if(t===`throw`)throw r;return r}})),Be=__commonJSMin(((e,t)=>{var n=a(),r=W(),i=I(),o=Le(),s=M(),c=de(),l=T(),u=Fe().IteratorPrototype,d=Re(),f=q(),p=ze(),m=s(`toStringTag`),h=`IteratorHelper`,g=`WrapForValidIterator`,_=`normal`,v=`throw`,y=c.set,createIteratorProxyPrototype=function(e){var t=c.getterFor(e?g:h);return o(r(u),{next:function next(){var n=t(this);if(e)return n.nextHandler();if(n.done)return d(void 0,!0);try{var r=n.nextHandler();return n.returnHandlerResult?r:d(r,n.done)}catch(e){throw n.done=!0,e}},return:function(){var r=t(this),i=r.iterator;if(r.done=!0,e){var a=l(i,`return`);return a?n(a,i):d(void 0,!0)}if(r.inner)try{f(r.inner.iterator,_)}catch(e){return f(i,v,e)}if(r.openIters)try{p(r.openIters,_)}catch(e){return f(i,v,e)}return i&&f(i,_),d(void 0,!0)}})},b=createIteratorProxyPrototype(!0),x=createIteratorProxyPrototype(!1);i(x,m,`Iterator Helper`),t.exports=function(e,t,n){var r=function Iterator(r,i){i?(i.iterator=r.iterator,i.next=r.next):i=r,i.type=t?g:h,i.returnHandlerResult=!!n,i.nextHandler=e,i.counter=0,i.done=!1,y(this,i)};return r.prototype=t?b:x,r}})),Ve=__commonJSMin(((e,t)=>{var n=N(),r=q();t.exports=function(e,t,i,a){try{return a?t(n(i)[0],i[1]):t(i)}catch(t){r(e,`throw`,t)}}})),He=__commonJSMin(((e,t)=>{t.exports=function(e,t){var n=typeof Iterator==`function`&&Iterator.prototype[e];if(n)try{n.call({next:null},t).next()}catch(e){return!0}}})),J=__commonJSMin(((e,n)=>{var r=t();n.exports=function(e,t){var n=r.Iterator,i=n&&n.prototype,a=i&&i[e],o=!1;if(a)try{a.call({next:function(){return{done:!0}},return:function(){o=!0}},-1)}catch(e){e instanceof t||(o=!1)}if(!o)return a}})),Ue=__commonJSMin((()=>{var e=H(),t=a(),n=w(),r=N(),i=K(),o=Be(),s=Ve(),c=D(),l=q(),u=He(),d=J(),f=!c&&!u(`filter`,function(){}),p=!c&&!f&&d(`filter`,TypeError),m=c||f||p,h=o(function(){for(var e=this.iterator,n=this.predicate,i=this.next,a,o,c;;){if(a=r(t(i,e)),o=this.done=!!a.done,o)return;if(c=a.value,s(e,n,[c,this.counter++],!0))return c}});e({target:`Iterator`,proto:!0,real:!0,forced:m},{filter:function filter(e){r(this);try{n(e)}catch(e){l(this,`throw`,e)}return p?t(p,this,e):new h(i(this),{predicate:e})}})})),Y=__commonJSMin((()=>{Ue()})),We=__commonJSMin(((e,t)=>{var n=l(),r=c();t.exports=function(e){if(n(e)===`Function`)return r(e)}})),Ge=__commonJSMin(((e,t)=>{var n=We(),r=w(),a=i(),o=n(n.bind);t.exports=function(e,t){return r(e),t===void 0?e:a?o(e,t):function(){return e.apply(t,arguments)}}}
39)),Ke=__commonJSMin(((e,t)=>{t.exports={}})),qe=__commonJSMin(((e,t)=>{var n=M(),r=Ke(),i=n(`iterator`),a=Array.prototype;t.exports=function(e){return e!==void 0&&(r.Array===e||a[i]===e)}})),Je=__commonJSMin(((e,t)=>{var n=M()(`toStringTag`),r={};r[n]=`z`,t.exports=String(r)===`[object z]`})),Ye=__commonJSMin(((e,t)=>{var n=Je(),r=m(),i=l(),a=M()(`toStringTag`),o=Object,s=i(function(){return arguments}())===`Arguments`,tryGet=function(e,t){try{return e[t]}catch(e){}};t.exports=n?i:function(e){var t,n,c;return e===void 0?`Undefined`:e===null?`Null`:typeof(n=tryGet(t=o(e),a))==`string`?n:s?i(t):(c=i(t))===`Object`&&r(t.callee)?`Arguments`:c}})),Xe=__commonJSMin(((e,t)=>{var n=Ye(),r=T(),i=d(),a=Ke(),o=M()(`iterator`);t.exports=function(e){if(!i(e))return r(e,o)||r(e,`@@iterator`)||a[n(e)]}})),Ze=__commonJSMin(((e,t)=>{var n=a(),r=w(),i=N(),o=C(),s=Xe(),c=TypeError;t.exports=function(e,t){var a=arguments.length<2?s(e):t;if(r(a))return i(n(a,e));throw new c(o(e)+` is not iterable`)}})),Qe=__commonJSMin(((e,t)=>{var n=Ge(),r=a(),i=N(),o=C(),s=qe(),c=B(),l=_(),u=Ze(),d=Xe(),f=q(),p=TypeError,Result=function(e,t){this.stopped=e,this.result=t},m=Result.prototype;t.exports=function(e,t,a){var h=a&&a.that,g=!!(a&&a.AS_ENTRIES),_=!!(a&&a.IS_RECORD),v=!!(a&&a.IS_ITERATOR),y=!!(a&&a.INTERRUPTED),b=n(t,h),x,S,C,w,T,E,D,stop=function(e){return x&&f(x,`normal`),new Result(!0,e)},callFn=function(e){return g?(i(e),y?b(e[0],e[1],stop):b(e[0],e[1])):y?b(e,stop):b(e)};if(_)x=e.iterator;else if(v)x=e;else{if(S=d(e),!S)throw new p(o(e)+` is not iterable`);if(s(S)){for(C=0,w=c(e);w>C;C++)if(T=callFn(e[C]),T&&l(m,T))return T;return new Result(!1)}x=u(e,S)}for(E=_?e.next:x.next;!(D=r(E,x)).done;){try{T=callFn(D.value)}catch(e){f(x,`throw`,e)}if(typeof T==`object`&&T&&l(m,T))return T}return new Result(!1)}})),$e=__commonJSMin((()=>{var e=H(),t=a(),n=Qe(),r=w(),i=N(),o=K(),s=q(),c=J()(`forEach`,TypeError);e({target:`Iterator`,proto:!0,real:!0,forced:c},{forEach:function forEach(e){i(this);try{r(e)}catch(e){s(this,`throw`,e)}if(c)return t(c,this,e);var a=o(this),l=0;n(a,function(t){e(t,l++)},{IS_RECORD:!0})}})})),X=__commonJSMin((()=>{$e()})),et=__commonJSMin(((e,t)=>{U(),G(),Y(),X();var Module=function(){let e=jQuery,t=arguments,n=this,r={},i,ensureClosureMethods=function(){e.each(n,function(e){let t=n[e];typeof t==`function`&&(n[e]=function(){return t.apply(n,arguments)})})},initSettings=function(){i=n.getDefaultSettings();let r=t[0];r&&e.extend(!0,i,r)},init=function(){n.__construct.apply(n,t),ensureClosureMethods(),initSettings(),n.trigger(`init`)};this.getItems=function(e,t){if(t){let n=t.split(`.`),r=n.splice(0,1);return n.length?e[r]?this.getItems(e[r],n.join(`.`)):void 0:e[r]}return e},this.getSettings=function(e){return this.getItems(i,e)},this.setSettings=function(t,r,a){if(a||(a=i),typeof t==`object`)return e.extend(a,t),n;let o=t.split(`.`),s=o.splice(0,1);return o.length?(a[s]||(a[s]={}),n.setSettings(o.join(`.`),r,a[s])):(a[s]=r,n)},this.getErrorMessage=function(e,t){let n;switch(e){case`forceMethodImplementation`:n=`The method '${t}' must to be implemented in the inheritor child.`;break;default:n=`An error occurs`}return n},this.forceMethodImplementation=function(e){throw Error(this.getErrorMessage(`forceMethodImplementation`,e))},this.on=function(t,i){return typeof t==`object`?(e.each(t,function(e){n.on(e,this)}),n):(t.split(` `).forEach(function(e){r[e]||(r[e]=[]),r[e].push(i)}),n)},this.off=function(e,t){if(!r[e])return n;if(!t)return delete r[e],n;let i=r[e].indexOf(t);return i!==-1&&(delete r[e][i],r[e]=r[e].filter(e=>e)),n},this.trigger=function(t){let i=`on`+t[0].toUpperCase()+t.slice(1),a=Array.prototype.slice.call(arguments,1);n[i]&&n[i].apply(n,a);let o=r[t];return o&&e.each(o,function(e,t){t.apply(n,a)}),n},init()};Module.prototype.__construct=function(){},Module.prototype.getDefaultSettings=function(){return{}},Module.prototype.getConstructorID=function(){return this.constructor.name},Module.extend=function(e){let t=jQuery,n=this,child=function(){return n.apply(this,arguments)};return t.extend(child,n),child.prototype=Object.create(t.extend({},n.prototype,e)),child.prototype.constructor=child,child.__super__=n.prototype,child},t.exports=Module})),tt=__commonJSMin((t=>{var n=e();
39Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=n(et()).default.extend({elements:null,getDefaultElements(){return{}},bindEvents(){},onInit(){this.initElements(),this.bindEvents()},initElements(){this.elements=this.getDefaultElements()}})})),nt=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,U(),G(),X(),e.default=class InstanceType{static[Symbol.hasInstance](e){let t=super[Symbol.hasInstance](e);if(e&&!e.constructor.getInstanceType)return t;if(e&&(e.instanceTypes||(e.instanceTypes=[]),t||this.getInstanceType()===e.constructor.getInstanceType()&&(t=!0),t)){let t=this.getInstanceType===InstanceType.getInstanceType?`BaseInstanceType`:this.getInstanceType();e.instanceTypes.indexOf(t)===-1&&e.instanceTypes.push(t)}return!t&&e&&(t=e.instanceTypes&&Array.isArray(e.instanceTypes)&&e.instanceTypes.indexOf(this.getInstanceType())!==-1),t}static getInstanceType(){elementorModules.ForceMethodImplementation()}constructor(){let e=new.target,t=[];for(;e.__proto__&&e.__proto__.name;)t.push(e.__proto__),e=e.__proto__;t.reverse().forEach(e=>this instanceof e)}}})),rt=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var _default=(e,t)=>{t=Array.isArray(t)?t:[t];for(let n of t)if(e.constructor.name===n.prototype[Symbol.toStringTag])return!0;return!1};e.default=_default})),it=__commonJSMin((t=>{var n=e();Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(nt()),i=n(rt()),ArgsObject=class extends r.default{static getInstanceType(){return`ArgsObject`}constructor(e){super(),this.args=e}requireArgument(e,t=this.args){if(!Object.prototype.hasOwnProperty.call(t,e))throw Error(`${e} is required.`)}requireArgumentType(e,t,n=this.args){if(this.requireArgument(e,n),typeof n[e]!==t)throw Error(`${e} invalid type: ${t}.`)}requireArgumentInstance(e,t,n=this.args){if(this.requireArgument(e,n),!(n[e]instanceof t)&&!(0,i.default)(n[e],t))throw Error(`${e} invalid instance.`)}requireArgumentConstructor(e,t,n=this.args){if(this.requireArgument(e,n),n[e].constructor.toString()!==t.prototype.constructor.toString())throw Error(`${e} invalid constructor type.`)}};t.default=ArgsObject})),at=__commonJSMin((t=>{var n=e();Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,U(),t.default=n(tt()).default.extend({getDefaultSettings(){return{container:null,items:null,columnsCount:3,verticalSpaceBetween:30}},getDefaultElements(){return{$container:jQuery(this.getSettings(`container`)),$items:jQuery(this.getSettings(`items`))}},run(){var e=[],t=this.elements.$container.position().top,n=this.getSettings(),r=n.columnsCount;t+=parseInt(this.elements.$container.css(`margin-top`),10),this.elements.$items.each(function(i){var a=Math.floor(i/r),o=jQuery(this),s=o[0].getBoundingClientRect().height+n.verticalSpaceBetween;if(a){var c=o.position(),l=i%r,u=c.top-t-e[l];u-=parseInt(o.css(`margin-top`),10),u*=-1,o.css(`margin-top`,u+`px`),e[l]+=s}else e.push(s)})}})})),ot=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,U();var Scroll=class{static scrollObserver(e){let t=0,buildThresholds=(e=0)=>{let t=[];if(e>0&&e<=100){let n=100/e;for(let e=0;e<=100;e+=n)t.push(e/100)}else t.push(0);return t},n={root:e.root||null,rootMargin:e.offset||`0px`,threshold:buildThresholds(e.sensitivity)};function handleIntersect(n){let r=n[0].boundingClientRect.y,i=n[0].isIntersecting,a=r<t?`down`:`up`,o=Math.abs(parseFloat((n[0].intersectionRatio*100).toFixed(2)));e.callback({sensitivity:e.sensitivity,isInViewport:i,scrollPercentage:o,intersectionScrollDirection:a}),t=r}return new IntersectionObserver(handleIntersect,n)}static getElementViewportPercentage(e,t={}){let n=e[0].getBoundingClientRect(),r=t.start||0,i=t.end||0,a=window.innerHeight*r/100,o=window.innerHeight*i/100,s=n.top-window.innerHeight,c=n.top+a+e.height(),l=0-s+a,u=c-s+o,d=Math.max(0,Math.min(l/u,1));return parseFloat((d*100).toFixed(2))}static getPageScrollPercentage(e={},t){let n=e.start||0,r=e.end||0,i=t||document.documentElement.scrollHeight-document.documentElement.clientHeight,a=i*n/100,o=i+a+i*r/100;return(document.documentElement.scrollTop+document.body.scrollTop+a)/o*100}};e.default=Scroll})),st=__commonJSMin(((e,t)=>{var n=M(),r=W(),i=P().f,a=n(`unscopables`),o=Array.prototype;o[a]===void 0&&i(o,a,{configurable:!0,value:r(null)}),t.exports=function(e){o[a][e]=!0}})),ct=__commonJSMin((()=>{var e=H(),t=_e().includes,r=n(),i=st();e({target:`Array`,proto:!0,forced:r(function(){return![,].includes()})},{includes:function includes(e){return t(this,e,arguments.length>1?arguments[1]:void 0)}}),i(`includes`)})),lt=__commonJSMin((e=>
39{Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.ForceMethodImplementation=void 0,ct();var t=class ForceMethodImplementation extends Error{constructor(e={},t={}){super(`${e.isStatic?`static `:``}${e.fullName}() should be implemented, please provide '${e.functionName||e.fullName}' functionality.`,t),Object.keys(t).length&&console.error(t),Error.captureStackTrace(this,ForceMethodImplementation)}};e.ForceMethodImplementation=t;var _default=e=>{let n=Error().stack.split(`
40`)[2].trim(),r=n.startsWith(`at new`)?`constructor`:n.split(` `)[1],i={};if(i.functionName=r,i.fullName=r,i.functionName.includes(`.`)){let e=i.functionName.split(`.`);i.className=e[0],i.functionName=e[1]}else i.isStatic=!0;throw new t(i,e)};e.default=_default}));function _typeof(e){"@babel/helpers - typeof";return _typeof=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},_typeof(e)}var ut=__esmMin((()=>{}));function toPrimitive(e,t){if(_typeof(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(_typeof(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var dt=__esmMin((()=>{ut()}));function toPropertyKey(e){var t=toPrimitive(e,`string`);return _typeof(t)==`symbol`?t:t+``}var ft=__esmMin((()=>{ut(),dt()}));function _defineProperty(e,t,n){return(t=toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var pt=__esmMin((()=>{ft()}));function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var mt=__esmMin((()=>{pt()})),ht=__commonJSMin((e=>{mt(),Object.defineProperty(e,"__esModule",{value:!0}),e.createGetInitialState=createGetInitialState;function createGetInitialState(e,t={}){return(n,r)=>{let i=r;if(n.hasOwnProperty(`uploadedData`)){var a;i=!1;let t=n.uploadedData.manifest.templates,r=((a=elementorAppConfig)==null||(a=a[`import-export-customization`])==null?void 0:a.exportGroups)||{};for(let n in t)if(r[t[n].doc_type]===e){i=!0;break}}return _objectSpread2({enabled:i},t)}}}));function _objectWithoutPropertiesLoose(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}var gt=__esmMin((()=>{}));function _objectWithoutProperties(e,t){if(e==null)return{};var n,r,i=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var _t=__esmMin((()=>{gt()})),vt=__commonJSMin((()=>{var e=H(),t=a(),n=w(),r=N(),i=K(),o=Be(),s=Ve(),c=q(),l=He(),u=J(),d=D(),f=!d&&!l(`map`,function(){}),p=!d&&!f&&u(`map`,TypeError),m=d||f||p,h=o(function(){var e=this.iterator,n=r(t(this.next,e));if(!(this.done=!!n.done))return s(e,this.mapper,[n.value,this.counter++],!0)});e({target:`Iterator`,proto:!0,real:!0,forced:m},{map:function map(e){r(this);try{n(e)}catch(e){c(this,`throw`,e)}return p?t(p,this,e):new h(i(this),{mapper:e})}})})),yt=__commonJSMin((()=>{vt()})),bt=__commonJSMin((e=>{_t(),mt();var t=[`children`];Object.defineProperty(e,"__esModule",{value:!0}),e.BaseRegistry=void 0,G(),Y(),X(),yt();var BaseRegistry=class{constructor(){this.sections=new Map}register(e){if(!e.key||!e.title)throw Error(`Template type must have key and title`);let t=this.get(e.key)||this.formatSection(e);if(e.children)if(t.children){let n=new Map(t.children.map(e=>[e.key,e]));
40e.children.forEach(e=>{let t=this.formatSection(e);n.set(e.key,t)}),t.children=Array.from(n.values())}else t.children=e.children.map(e=>this.formatSection(e));this.sections.set(e.key,t)}formatSection(e){let{children:n}=e,r=_objectWithoutProperties(e,t);return _objectSpread2({key:r.key,title:r.title,description:r.description||``,useParentDefault:r.useParentDefault!==!1,getInitialState:r.getInitialState||null,component:r.component||null,order:r.order||10,isAvailable:r.isAvailable||(()=>!0)},r)}getAll(){return Array.from(this.sections.values()).filter(e=>e.isAvailable()).map(e=>e.children?_objectSpread2(_objectSpread2({},e),{},{children:[...e.children].sort((e,t)=>e.order-t.order)}):e).sort((e,t)=>e.order-t.order)}get(e){return this.sections.get(e)}};e.BaseRegistry=BaseRegistry})),xt=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.customizationDialogsRegistry=void 0,e.customizationDialogsRegistry=new(bt()).BaseRegistry})),St=__commonJSMin((t=>{var n=e();Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(et()),i=n(tt()),a=n(it()),o=n(at()),s=n(ot()),c=n(lt()),l=ht(),u=xt(),d={Module:r.default,ViewModule:i.default,ArgsObject:a.default,ForceMethodImplementation:c.default,utils:{Masonry:o.default,Scroll:s.default},importExport:{createGetInitialState:l.createGetInitialState,customizationDialogsRegistry:u.customizationDialogsRegistry}};window.elementorModules?Object.assign(window.elementorModules,d):window.elementorModules=d,t.default=window.elementorModules})),Ct=__commonJSMin((()=>{var e=H(),t=a(),n=Qe(),r=w(),i=N(),o=K(),s=q(),c=J()(`find`,TypeError);e({target:`Iterator`,proto:!0,real:!0,forced:c},{find:function find(e){i(this);try{r(e)}catch(e){s(this,`throw`,e)}if(c)return t(c,this,e);var a=o(this),l=0;return n(a,function(t,n){if(e(t,l++))return n(t)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})})),Z=__commonJSMin((()=>{Ct()})),wt=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,G(),Z();var _default=class extends elementorModules.ViewModule{getDefaultSettings(){return{selectors:{elements:`.elementor-element`,nestedDocumentElements:`.elementor .elementor-element`},classes:{editMode:`elementor-edit-mode`}}}getDefaultElements(){let e=this.getSettings(`selectors`);return{$elements:this.$element.find(e.elements).not(this.$element.find(e.nestedDocumentElements))}}getDocumentSettings(e){let t;if(this.isEdit){t={};let e=elementor.settings.page.model;jQuery.each(e.getActiveControls(),n=>{t[n]=e.attributes[n]})}else t=this.$element.data(`elementor-settings`)||{};return this.getItems(t,e)}runElementsHandlers(){this.elements.$elements.each((e,t)=>setTimeout(()=>elementorFrontend.elementsHandler.runReadyTrigger(t)))}onInit(){this.$element=this.getSettings(`$element`),super.onInit(),this.isEdit=this.$element.hasClass(this.getSettings(`classes.editMode`)),this.isEdit?elementor.on(`document:loaded`,()=>{elementor.settings.page.model.on(`change`,this.onSettingsChange.bind(this))}):this.runElementsHandlers()}onSettingsChange(){}};e.default=_default})),Tt=__commonJSMin(((e,t)=>{t.exports=elementorModules.ViewModule.extend({getDefaultSettings(){return{element:null,direction:elementorFrontend.config.is_rtl?`right`:`left`,selectors:{container:window},considerScrollbar:!1,cssOutput:`inline`}},getDefaultElements(){return{$element:jQuery(this.getSettings(`element`))}},stretch(){let e=this.getSettings(),t;try{t=jQuery(e.selectors.container)}catch(e){}(!t||!t.length)&&(t=jQuery(this.getDefaultSettings().selectors.container)),this.reset();var n=this.elements.$element,r=t.innerWidth(),i=n.offset().left,a=n.css(`position`)===`fixed`,o=a?0:i,s=window===t[0];if(!s){var c=t.offset().left;a&&(o=c),i>c&&(o=i-c)}if(e.considerScrollbar&&s){let e=window.innerWidth-r;o-=e}a||(elementorFrontend.config.is_rtl&&(o=r-(n.outerWidth()+o)),o=-o),e.margin&&(o+=e.margin);var l={};let u=r;if(e.margin&&(u-=e.margin*2),l.width=u+`px`,l[e.direction]=o+`px`,e.cssOutput===`variables`){this.applyCssVariables(n,l);return}n.css(l)},reset(){let e={},t=this.getSettings(),n=this.elements.$element;if(t.cssOutput===`variables`){this.resetCssVariables(n);return}e.width=``,e[t.direction]=``,n.css(e)},applyCssVariables(e,t){e.css(`--stretch-width`,t.width),t.left?e.css(`--stretch-left`,t.left):e.css(`--stretch-right`,t.right)},resetCssVariables(e){e.css({"--stretch-width":``,"--stretch-left":``,"--stretch-right":``})}})})),Q=__commonJSMin(((e,t)=>{U(),G(),Y(),Z(),X(),t.exports=elementorModules.ViewModule.extend({$element:null,editorListeners:null,onElementChange:null,onEditSettingsChange:null,onPageSettingsChange:null,isEdit:null,__c
40onstruct(e){this.isActive(e)&&(this.$element=e.$element,this.isEdit=this.$element.hasClass(`elementor-element-edit-mode`),this.isEdit&&this.addEditorListeners())},isActive(){return!0},isElementInTheCurrentDocument(){return elementorFrontend.isEditMode()?elementor.documents.currentDocument.id.toString()===this.$element[0].closest(`.elementor`).dataset.elementorId:!1},findElement(e){var t=this.$element;return t.find(e).filter(function(){return jQuery(this).parent().closest(`.elementor-element`).is(t)})},getUniqueHandlerID(e,t){return e||(e=this.getModelCID()),t||(t=this.$element),e+t.attr(`data-element_type`)+this.getConstructorID()},initEditorListeners(){var e=this;if(e.editorListeners=[{event:`element:destroy`,to:elementor.channels.data,callback(t){t.cid===e.getModelCID()&&e.onDestroy()}}],e.onElementChange){let t=e.getWidgetType()||e.getElementType(),n=`change`;t!==`global`&&(n+=`:`+t),e.editorListeners.push({event:n,to:elementor.channels.editor,callback(t,n){e.getUniqueHandlerID(n.model.cid,n.$el)===e.getUniqueHandlerID()&&e.onElementChange(t.model.get(`name`),t,n)}})}e.onEditSettingsChange&&e.editorListeners.push({event:`change:editSettings`,to:elementor.channels.editor,callback(t,n){if(n.model.cid!==e.getModelCID())return;let r=Object.keys(t.changed)[0];e.onEditSettingsChange(r,t.changed[r])}}),[`page`].forEach(function(t){var n=`on`+t[0].toUpperCase()+t.slice(1)+`SettingsChange`;e[n]&&e.editorListeners.push({event:`change`,to:elementor.settings[t].model,callback(t){e[n](t.changed)}})})},getEditorListeners(){return this.editorListeners||this.initEditorListeners(),this.editorListeners},addEditorListeners(){var e=this.getUniqueHandlerID();this.getEditorListeners().forEach(function(t){elementorFrontend.addListenerOnce(e,t.event,t.callback,t.to)})},removeEditorListeners(){var e=this.getUniqueHandlerID();this.getEditorListeners().forEach(function(t){elementorFrontend.removeListeners(e,t.event,null,t.to)})},getElementType(){return this.$element.data(`element_type`)},getWidgetType(){let e=this.$element.data(`widget_type`);if(e)return e.split(`.`)[0]},getID(){return this.$element.data(`id`)},getModelCID(){return this.$element.data(`model-cid`)},getElementSettings(e){let t={},n=this.getModelCID();if(this.isEdit&&n){let e=elementorFrontend.config.elements.data[n],r=e.attributes,i=r.widgetType||r.elType;r.isInner&&(i=`inner-`+i);let a=elementorFrontend.config.elements.keys[i];a||(a=elementorFrontend.config.elements.keys[i]=[],jQuery.each(e.controls,(e,t)=>{(t.frontend_available||t.editor_available)&&a.push(e)})),jQuery.each(e.getActiveControls(),function(e){if(a.indexOf(e)!==-1){let n=r[e];n.toJSON&&(n=n.toJSON()),t[e]=n}})}else t=this.$element.data(`settings`)||{};return this.getItems(t,e)},getEditSettings(e){var t={};return this.isEdit&&(t=elementorFrontend.config.elements.editSettings[this.getModelCID()].attributes),this.getItems(t,e)},getCurrentDeviceSetting(e){return elementorFrontend.getCurrentDeviceSetting(this.getElementSettings(),e)},onInit(){this.isActive(this.getSettings())&&elementorModules.ViewModule.prototype.onInit.apply(this,arguments)},onDestroy(){this.isEdit&&this.removeEditorListeners(),this.unbindEvents&&this.unbindEvents()}})})),Et=__commonJSMin((t=>{var n=e();Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,G(),Z();var r=n(Q()),StretchedElement=class extends r.default{getStretchedClass(){return`e-stretched`}getStretchSettingName(){return`stretch_element`}getStretchActiveValue(){return`yes`}bindEvents(){let e=this.getUniqueHandlerID();elementorFrontend.addListenerOnce(e,`resize`,this.stretch),elementorFrontend.addListenerOnce(e,`sticky:stick`,this.stretch,this.$element),elementorFrontend.addListenerOnce(e,`sticky:unstick`,this.stretch,this.$element),elementorFrontend.isEditMode()&&(this.onKitChangeStretchContainerChange=this.onKitChangeStretchContainerChange.bind(this),elementor.channels.editor.on(`kit:change:stretchContainer`,this.onKitChangeStretchContainerChange))}unbindEvents(){elementorFrontend.removeListeners(this.getUniqueHandlerID(),`resize`,this.stretch),elementorFrontend.isEditMode()&&elementor.channels.editor.off(`kit:change:stretchContainer`,this.onKitChangeStretchContainerChange)}isActive(e){return elementorFrontend.isEditMode()||e.$element.hasClass(this.getStretchedClass())}getStretchElementForConfig(e=null){return e?this.$element.find(e):this.$element}getStretchElementConfig(){return{element:this.getStretchElementForConfig(),selectors:{container:this.getStretchContainer()},considerScrollbar:elementorFrontend.isEditMode()&&elementorFrontend.config.is_rtl}}initStretch(){this.stretch=this.stretch.bind(this),this.stretchElement=new elementorModules.frontend.tools.StretchElement(this.getStretchElementConfig())}getStretchContainer(){return elementorFrontend.getKitSettings(`stretched_section_container`)||window}isStretchSettingEnabled(){return this.getElementSettings(this.getStretchSettingName())===this.getStretchActiveValue()}stretch(){this.isStretchSettingEnabled()&&this.stretchElement.stretch()}onInit(...e){this.isActive(this.getSettings())&&(this.initStretch(),super.onInit(...e),this.stretch())}
40onElementChange(e){this.getStretchSettingName()===e&&(this.isStretchSettingEnabled()?this.stretch():this.stretchElement.reset())}onKitChangeStretchContainerChange(){this.stretchElement.setSettings(`selectors.container`,this.getStretchContainer()),this.stretch()}};t.default=StretchedElement})),Dt=__commonJSMin((t=>{var n=e();Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(Q()),SwiperHandlerBase=class extends r.default{getInitialSlide(){let e=this.getEditSettings();return e.activeItemIndex?e.activeItemIndex-1:0}getSlidesCount(){return this.elements.$slides.length}togglePauseOnHover(e){e?this.elements.$swiperContainer.on({mouseenter:()=>{this.swiper.autoplay.stop()},mouseleave:()=>{this.swiper.autoplay.start()}}):this.elements.$swiperContainer.off(`mouseenter mouseleave`)}handleKenBurns(){let e=this.getSettings();this.$activeImageBg&&this.$activeImageBg.removeClass(e.classes.kenBurnsActive),this.activeItemIndex=this.swiper?this.swiper.activeIndex:this.getInitialSlide(),this.swiper?this.$activeImageBg=jQuery(this.swiper.slides[this.activeItemIndex]).children(`.`+e.classes.slideBackground):this.$activeImageBg=jQuery(this.elements.$slides[0]).children(`.`+e.classes.slideBackground),this.$activeImageBg.addClass(e.classes.kenBurnsActive)}};t.default=SwiperHandlerBase}));function asyncGeneratorStep(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function _asyncToGenerator(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function _next(e){asyncGeneratorStep(a,r,i,_next,_throw,`next`,e)}function _throw(e){asyncGeneratorStep(a,r,i,_next,_throw,`throw`,e)}_next(void 0)})}}var Ot=__esmMin((()=>{})),kt=__commonJSMin((t=>{Ot();var n=e();Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,G(),Z(),X();var r=n(Dt()),CarouselHandlerBase=class extends r.default{getDefaultSettings(){return{selectors:{carousel:`.swiper`,swiperWrapper:`.swiper-wrapper`,slideContent:`.swiper-slide`,swiperArrow:`.elementor-swiper-button`,paginationWrapper:`.swiper-pagination`,paginationBullet:`.swiper-pagination-bullet`,paginationBulletWrapper:`.swiper-pagination-bullets`}}}getDefaultElements(){let e=this.getSettings(`selectors`),t={$swiperContainer:this.$element.find(e.carousel),$swiperWrapper:this.$element.find(e.swiperWrapper),$swiperArrows:this.$element.find(e.swiperArrow),$paginationWrapper:this.$element.find(e.paginationWrapper),$paginationBullets:this.$element.find(e.paginationBullet),$paginationBulletWrapper:this.$element.find(e.paginationBulletWrapper)};return t.$slides=t.$swiperContainer.find(e.slideContent),t}getSwiperSettings(){let e=this.getElementSettings(),t=+e.slides_to_show||3,n=t===1,r=elementorFrontend.config.responsive.activeBreakpoints,i={mobile:1,tablet:n?1:2},a={slidesPerView:t,loop:e.infinite===`yes`,speed:e.speed,handleElementorBreakpoints:!0};a.breakpoints={};let o=t;Object.keys(r).reverse().forEach(t=>
40{let n=i[t]?i[t]:o;a.breakpoints[r[t].value]={slidesPerView:+e[`slides_to_show_`+t]||n,slidesPerGroup:+e[`slides_to_scroll_`+t]||1},e.image_spacing_custom&&(a.breakpoints[r[t].value].spaceBetween=this.getSpaceBetween(t)),o=+e[`slides_to_show_`+t]||n}),e.autoplay===`yes`&&(a.autoplay={delay:e.autoplay_speed,disableOnInteraction:e.pause_on_interaction===`yes`}),n?(a.effect=e.effect,e.effect===`fade`&&(a.fadeEffect={crossFade:!0})):a.slidesPerGroup=+e.slides_to_scroll||1,e.image_spacing_custom&&(a.spaceBetween=this.getSpaceBetween());let s=e.navigation===`arrows`||e.navigation===`both`,c=e.navigation===`dots`||e.navigation===`both`||e.pagination;return s&&(a.navigation={prevEl:`.elementor-swiper-button-prev`,nextEl:`.elementor-swiper-button-next`}),c&&(a.pagination={el:`.elementor-element-${this.getID()} .swiper-pagination`,type:e.pagination?e.pagination:`bullets`,clickable:!0,renderBullet:(e,t)=>`<span class="${t}" role="button" tabindex="0" data-bullet-index="${e}" aria-label="${elementorFrontend.config.i18n.a11yCarouselPaginationBulletMessage} ${e+1}"></span>`}),e.lazyload===`yes`&&(a.lazy={loadPrevNext:!0,loadPrevNextAmount:1}),a.a11y={enabled:!0,prevSlideMessage:elementorFrontend.config.i18n.a11yCarouselPrevSlideMessage,nextSlideMessage:elementorFrontend.config.i18n.a11yCarouselNextSlideMessage,firstSlideMessage:elementorFrontend.config.i18n.a11yCarouselFirstSlideMessage,lastSlideMessage:elementorFrontend.config.i18n.a11yCarouselLastSlideMessage},a.on={slideChange:()=>{this.a11ySetPaginationTabindex(),this.handleElementHandlers(),this.a11ySetSlideAriaHidden()},init:()=>{this.a11ySetPaginationTabindex(),this.a11ySetSlideAriaHidden(`initialisation`)}},this.applyOffsetSettings(e,a,t),a}getOffsetWidth(){let e=elementorFrontend.getCurrentDeviceMode();return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),`offset_width`,`size`,e)||0}applyOffsetSettings(e,t,n){let r=e.offset_sides;if(!(elementorFrontend.isEditMode()&&this.constructor.name===`NestedCarousel`||!r||r===`none`))switch(r){case`right`:this.forceSliderToShowNextSlideWhenOnLast(t,n),this.addClassToSwiperContainer(`offset-right`);break;case`left`:this.addClassToSwiperContainer(`offset-left`);break;case`both`:this.forceSliderToShowNextSlideWhenOnLast(t,n),this.addClassToSwiperContainer(`offset-both`);break}}forceSliderToShowNextSlideWhenOnLast(e,t){e.slidesPerView=t+.001}addClassToSwiperContainer(e){this.getDefaultElements().$swiperContainer[0].classList.add(e)}onInit(...e){var _superprop_getOnInit=()=>super.onInit,t=this;return _asyncToGenerator(function*(){_superprop_getOnInit().call(t,...e),!(!t.elements.$swiperContainer.length||2>t.elements.$slides.length)&&(yield t.initSwiper(),t.getElementSettings().pause_on_hover===`yes`&&t.togglePauseOnHover(!0))})()}initSwiper(){var e=this;return _asyncToGenerator(function*(){let t=elementorFrontend.utils.swiper;e.swiper=yield new t(e.elements.$swiperContainer,e.getSwiperSettings()),e.elements.$swiperContainer.data(`swiper`,e.swiper)})()}bindEvents(){this.elements.$swiperArrows.on(`keydown`,this.onDirectionArrowKeydown.bind(this)),this.elements.$paginationWrapper.on(`keydown`,`.swiper-pagination-bullet`,this.onDirectionArrowKeydown.bind(this)),this.elements.$swiperContainer.on(`keydown`,`.swiper-slide`,this.onDirectionArrowKeydown.bind(this)),this.$element.find(`:focusable`).on(`focus`,this.onFocusDisableAutoplay.bind(this)),elementorFrontend.elements.$window.on(`resize`,this.getSwiperSettings.bind(this))}unbindEvents(){this.elements.$swiperArrows.off(),this.elements.$paginationWrapper.off(),this.elements.$swiperContainer.off(),this.$element.find(`:focusable`).off(),elementorFrontend.elements.$window.off(`resize`)}onDirectionArrowKeydown(e){let t=elementorFrontend.config.is_rtl,n=[`ArrowLeft`,`ArrowRight`],r=e.originalEvent.code,i=n.indexOf(r)!==-1,a=t?`ArrowRight`:`ArrowLeft`,o=t?`ArrowLeft`:`ArrowRight`;if(i)a===r?this.swiper.slidePrev():o===r&&this.swiper.slideNext();else return!0}onFocusDisableAutoplay(){this.swiper.autoplay.stop()}updateSwiperOption(e){let t=this.getElementSettings()[e],n=this.swiper.params;switch(e){case`autoplay_speed`:n.autoplay.delay=t;break;case`speed`:n.speed=t;break}
40this.swiper.update()}getChangeableProperties(){return{pause_on_hover:`pauseOnHover`,autoplay_speed:`delay`,speed:`speed`,arrows_position:`arrows_position`}}onElementChange(e){if(e.indexOf(`image_spacing_custom`)===0){this.updateSpaceBetween(e);return}if(this.getChangeableProperties()[e])if(e===`pause_on_hover`){let e=this.getElementSettings(`pause_on_hover`);this.togglePauseOnHover(e===`yes`)}else this.updateSwiperOption(e)}onEditSettingsChange(e){e===`activeItemIndex`&&this.swiper.slideToLoop(this.getEditSettings(`activeItemIndex`)-1)}getSpaceBetween(e=null){let t=elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),`image_spacing_custom`,`size`,e);return Number(t)||0}updateSpaceBetween(e){let t=e.match(`image_spacing_custom_(.*)`),n=t?t[1]:`desktop`,r=this.getSpaceBetween(n);n!==`desktop`&&(this.swiper.params.breakpoints[elementorFrontend.config.responsive.activeBreakpoints[n].value].spaceBetween=r),this.swiper.params.spaceBetween=r,this.swiper.update()}getPaginationBullets(e=`array`){let t=this.$element.find(this.getSettings(`selectors`).paginationBullet);return e===`array`?Array.from(t):t}a11ySetPaginationTabindex(){var e,t,n,r,i;let a=(e=this.swiper)==null||(e=e.params)==null?void 0:e.pagination.bulletClass,o=(t=this.swiper)==null||(t=t.params)==null?void 0:t.pagination.bulletActiveClass;this.getPaginationBullets().forEach(e=>{var t;(t=e.classList)!=null&&t.contains(o)||e.removeAttribute(`tabindex`)});let s=((n=event)==null?void 0:n.code)===`ArrowLeft`||((r=event)==null?void 0:r.code)===`ArrowRight`;(i=event)!=null&&(i=i.target)!=null&&(i=i.classList)!=null&&i.contains(a)&&s&&this.$element.find(`.${o}`).trigger(`focus`)}getSwiperWrapperTranformXValue(){var e;let t=(e=this.elements.$swiperWrapper[0])==null?void 0:e.style.transform;return t=t.replace(`translate3d(`,``),t=t.split(`,`),t=parseInt(t[0].replace(`px`,``)),t||0}a11ySetSlideAriaHidden(e=``){var t;if(typeof(e===`initialisation`?0:(t=this.swiper)==null?void 0:t.activeIndex)!=`number`)return;let n=this.getSwiperWrapperTranformXValue(),r=this.elements.$swiperWrapper[0].clientWidth;this.elements.$swiperContainer.find(this.getSettings(`selectors`).slideContent).each((e,t)=>{0<=t.offsetLeft+n&&r>t.offsetLeft+n?(t.removeAttribute(`aria-hidden`),t.removeAttribute(`inert`)):(t.setAttribute(`aria-hidden`,!0),t.setAttribute(`inert`,``))})}handleElementHandlers(){}};
vendor: 6,837 bytes, lines 40-55
40t.default=CarouselHandlerBase})),$=e(),At=$(St()),jt=$(wt()),Mt=$(Tt()),Nt=$(Et()),Pt=$(Q()),Ft=$(Dt()),It=$(kt());At.default.frontend={Document:jt.default,tools:{StretchElement:Mt.default},handlers:{Base:Pt.default,StretchedElement:Nt.default,SwiperBase:Ft.default,CarouselBase:It.default}}})();;
41jQuery.uiBackCompat = true;
42;
43/*! jQuery UI - v1.14.2 - 2026-07-15
44* https://jqueryui.com
45* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js
46* Copyright OpenJS Foundation and other contributors; Licensed MIT */
47!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use strict";x.ui=x.ui||{};x.ui.version="1.14.2";
48/*!
49 * jQuery UI Widget 1.14.2
50 * https://jqueryui.com
51 *
52 * Copyright OpenJS Foundation and other contributors
53 * Released under the MIT license.
54 * https://jquery.org/license
55 */var o,n,W,C,s,r,l,a,h,i,f=0,c=Array.prototype.hasOwnProperty,u=Array.prototype.slice;x.cleanData=(o=x.cleanData,function(t){for(var e,i,n=0;null!=(i=t[n]);n++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");o(t)}),x.widget=function(t,i,e){var n,o,s,r,l={},a=t.split(".")[0];return"__proto__"===(t=t.split(".")[1])||"constructor"===t?x.error("Invalid widget name: "+t):(r=a+"-"+t,e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[r.toLowerCase()]=function(t){return!!x.data(t,r)},x[a]=x[a]||{},n=x[a][t],o=x[a][t]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},x.extend(o,n,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(s=new i).options=x.widget.extend({},s.options),x.each(e,function(e,n){function o(){return i.prototype[e].apply(this,arguments)}function s(t){return i.prototype[e].apply(this,t)}l[e]="function"!=typeof n?n:function(){var t,e=this._super,i=this._superApply;return this._super=o,this._superApply=s,t=n.apply(this,arguments),this._super=e,this._superApply=i,t}}),o.prototype=x.widget.extend(s,{widgetEventPrefix:n&&s.widgetEventPrefix||t},l,{constructor:o,namespace:a,widgetName:t,widgetFullName:r}),n?(x.each(n._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,o,e._proto)}),delete n._childConstructors):i._childConstructors.push(o),x.widget.bridge(t,o),o)},x.widget.extend=function(t){for(var e,i,n=u.call(arguments,1),o=0,s=n.length;o<s;o++)for(e in n[o])i=n[o][e],c.call(n[o],e)&&void 0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return t},x.widget.bridge=function(s,e){var r=e.prototype.widgetFullName||s;x.fn[s]=function(i){var t="string"==typeof i,n=u.call(arguments,1),o=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,r);return"instance"===i?(o=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+s+" widget instance"):(t=e[i].apply(e,n))!==e&&void 0!==t?(o=t&&t.jquery?o.pushStack(t.get()):t,!1):void 0:x.error("cannot call methods on "+s+" prior to initialization; attempted to call method '"+i+"'")}):o=void 0:(n.length&&(i=x.widget.extend.apply(null,[i].concat(n))),this.each(function(){var t=x.data(this,r);t?(t.option(i||{}),t._init&&t._init()):x.data(this,r,new e(i,this))})),o}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=f++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,n,o,s=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(s={},t=(i=t.split(".")).shift(),i.length){for(n=s[t]=x.widget.extend({},this.options[t]),o=0;o<i.length-1;o++)n[i[o]]=n[i[o]]||{},n=n[i[o]];if(t=i.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];s[t]=e}return this._setOptions(s),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,n;for(e in t)n=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&n&&n.length&&(i=x(n.get()),this._removeClass(n,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(o){var s=[],r=this;function t(t,e){for(var i,n=0;n<t.length;n++)i=r.classesElementLookup[t[n]]||x(),i=o.add?(function(){var i=[];o.element.each(function(t,e){x.map(r.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),r._on(x(i),{remove:"_untrackClassesElement"})}(),x(x.uniqueSort(i.get().concat(o.element.get())))):x(i.not(o.element).get()),r.classesElementLookup[t[n]]=i,s.push(t[n]),e&&o.classes[t[n]]&&s.push(o.classes[t[n]])}return(o=x.extend({element:this.element,classes:this.options.classes||{}},o)).keys&&t(o.keys.match(/\S+/g)||[],!0),o.extra&&t(o.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(i){var n=this;x.each(n.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(n.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))}
vendor: 11,811 bytes, lines 55-93
55,_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,n){var o="string"==typeof t||null===t,e={extra:o?e:i,keys:o?t:e,element:o?this.element:t,add:n="boolean"==typeof n?n:i};return e.element.toggleClass(this._classes(e),n),this},_on:function(o,s,t){var r,l=this;"boolean"!=typeof o&&(t=s,s=o,o=!1),t?(s=r=x(s),this.bindings=this.bindings.add(s)):(t=s,s=this.element,r=this.widget()),x.each(t,function(t,e){function i(){if(o||!0!==l.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?l[e]:e).apply(l,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var t=t.match(/^([\w:-]*)\s*(.*)$/),n=t[1]+l.eventNamespace,t=t[2];t?r.on(n,t,i):s.on(n,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var n,o,s=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],o=e.originalEvent)for(n in o)n in e||(e[n]=o[n]);return this.element.trigger(e,i),!("function"==typeof s&&!1===s.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(s,r){x.Widget.prototype["_"+s]=function(e,t,i){var n,o=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||r:s;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),n=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),n&&x.effects&&x.effects.effect[o]?e[s](t):o!==s&&e[o]?e[o](t.duration,t.easing,i):e.queue(function(t){x(this)[s](),i&&i.call(e[0]),t()})}}),x.widget;function E(t,e,i){return[parseFloat(t[0])*(h.test(t[0])?e/100:1),parseFloat(t[1])*(h.test(t[1])?i/100:1)]}function P(t,e){return parseInt(x.css(t,e),10)||0}function H(t){return null!=t&&t===t.window}
56/*!
57 * jQuery UI Position 1.14.2
58 * https://jqueryui.com
59 *
60 * Copyright OpenJS Foundation and other contributors
61 * Released under the MIT license.
62 * https://jquery.org/license
63 *
64 * https://api.jqueryui.com/position/
65 */
66W=Math.max,C=Math.abs,s=/left|center|right/,r=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,a=/^\w+/,h=/%$/,i=x.fn.position,x.position={scrollbarWidth:function(){var t,e,i;return void 0!==n?n:(i=(e=x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0],x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),n=t-i)},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=x(t||window),i=H(e[0]),n=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:n,offset:!i&&!n?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(c){var u,d,p,g,m,v,w,y,b,_,t,e;return c&&c.of?(v="string"==typeof(c=x.extend({},c)).of?x(document).find(c.of):x(c.of),w=x.position.getWithinInfo(c.within),y=x.position.getScrollInfo(w),b=(c.collision||"flip").split(" "),_={},e=9===(e=(t=v)[0]).nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:H(e)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:e.preventDefault?{width:0,height:0,offset:{top:e.pageY,left:e.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()},v[0].preventDefault&&(c.at="left top"),d=e.width,p=e.height,m=x.extend({},g=e.offset),x.each(["my","at"],function(){var t,e,i=(c[this]||"").split(" ");(i=1===i.length?s.test(i[0])?i.concat(["center"]):r.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=s.test(i[0])?i[0]:"center",i[1]=r.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),_[this]=[t?t[0]:0,e?e[0]:0],c[this]=[a.exec(i[0])[0],a.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===c.at[0]?m.left+=d:"center"===c.at[0]&&(m.left+=d/2),"bottom"===c.at[1]?m.top+=p:"center"===c.at[1]&&(m.top+=p/2),u=E(_.at,d,p),m.left+=u[0],m.top+=u[1],this.each(function(){var i,t,r=x(this),l=r.outerWidth(),a=r.outerHeight(),e=P(this,"marginLeft"),n=P(this,"marginTop"),o=l+e+P(this,"marginRight")+y.width,s=a+n+P(this,"marginBottom")+y.height,h=x.extend({},m),f=E(_.my,r.outerWidth(),r.outerHeight());"right"===c.my[0]?h.left-=l:"center"===c.my[0]&&(h.left-=l/2),"bottom"===c.my[1]?h.top-=a:"center"===c.my[1]&&(h.top-=a/2),h.left+=f[0],h.top+=f[1],i={marginLeft:e,marginTop:n},x.each(["left","top"],function(t,e){x.ui.position[b[t]]&&x.ui.position[b[t]][e](h,{targetWidth:d,targetHeight:p,elemWidth:l,elemHeight:a,collisionPosition:i,collisionWidth:o,collisionHeight:s,offset:[u[0]+f[0],u[1]+f[1]],my:c.my,at:c.at,within:w,elem:r})}),c.using&&(t=function(t){var e=g.left-h.left,i=e+d-l,n=g.top-h.top,o=n+p-a,s={target:{element:v,left:g.left,top:g.top,width:d,height:p},element:{element:r,left:h.left,top:h.top,width:l,height:a},horizontal:i<0?"left":0<e?"right":"center",vertical:o<0?"top":0<n?"bottom":"middle"};d<l&&C(e+i)<d&&(s.horizontal="center"),p<a&&C(n+o)<p&&(s.vertical="middle"),W(C(e),C(i))>W(C(n),C(o))?s.important="horizontal":s.important="vertical",c.using.call(this,t,s)}),r.offset(x.extend(h,{using:t}))})):i.apply(this,arguments)},x.ui.position={fit:{left:function(t,e){var i,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,n=n.width,s=t.left-e.collisionPosition.marginLeft,r=o-s,l=s+e.collisionWidth-n-o;n<e.collisionWidth?0<r&&l<=0?(i=t.left+r+e.collisionWidth-n-o,t.left+=r-i):t.left=!(0<l&&r<=0)&&l<r?o+n-e.collisionWidth:o:0<r?t.left+=r:0<l?t.left-=l:t.left=W(t.left-s,t.left)},top:function(t,e){var i,n=e.within,n=n.isWindow?n.scrollTop:n.offset.top,o=e.within.height,s=t.top-e.collisionPosition.marginTop,r=n-s,l=s+e.collisionHeight-o-n;o<e.collisionHeight?0<r&&l<=0?(i=t.top+r+e.collisionHeight-o-n,t.top+=r-i):t.top=!(0<l&&r<=0)&&l<r?n+o-e.collisionHeight:n:0<r?t.top+=r:0<l?t.top-=l:t.top=W(t.top-s,t.top)}},flip:{left:function(t,e){var i=e.within,n=i.offset.left+i.scrollLeft,o=i.width,i=i.isWindow?i.scrollLeft:i.offset.left,s=t.left-e.collisionPosition.marginLeft,r=s-i,s=s+e.collisionWidth-o-i,l="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,a="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,h=-2*e.offset[0];r<0?((o=t.left+l+a+h+e.collisionWidth-o-n)<0||o<C(r))&&(t.left+=l+a+h):0<s&&(0<(n=t.left-e.collisionPosition.marginLeft+l+a+h-i)||C(n)<s)&&(t.left+=l+a+h)},top:function(t,e){var i=e.within,n=i.offset.top+i.scrollTop,o=i.height,i=i.isWindow?i.scrollTop:i.offset.top,s=t.top-e.collisionPosition.marginTop,r=s-i,s=s+e.collisionHeight-o-i,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,a="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,h=-2*e.offset[1];r<0?((o=t.top+l+a+h+e.collisionHeight-o-n)<0||o<C(r))&&(t.top+=l+a+h):0<s&&(0<(n=t.top-e.collisionPosition.marginTop+l+a+h-i)||C(n)<s)&&(t.top+=l+a+h)}},flipfit:{left:function(){x.ui.position.flip.left.apply(this,arguments),x.ui.position.fit.left.apply(this,arguments)},top:function(){x.ui.position.flip.top.apply(this,arguments),x.ui.position.fit.top.apply(this,arguments)}}};var t,e;
67/*!
68 * jQuery UI :data 1.14.2
69 * https://jqueryui.com
70 *
71 * Copyright OpenJS Foundation and other contributors
72 * Released under the MIT license.
73 * https://jquery.org/license
74 */x.ui.position,x.extend(x.expr.pseudos,{data:x.expr.createPseudo(function(e){return function(t){return!!x.data(t,e)}})}),x.fn.extend({disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}}),
75/*!
76 * jQuery UI Focusable 1.14.2
77 * https://jqueryui.com
78 *
79 * Copyright OpenJS Foundation and other contributors
80 * Released under the MIT license.
81 * https://jquery.org/license
82 */
83x.ui.focusable=function(t,e){var i,n,o,s=t.nodeName.toLowerCase();return"area"===s?(o=(i=t.parentNode).name,!(!t.href||!o||"map"!==i.nodeName.toLowerCase())&&0<(i=x("img[usemap='#"+o+"']")).length&&i.is(":visible")):(/^(input|select|textarea|button|object)$/.test(s)?(n=!t.disabled)&&(o=x(t).closest("fieldset")[0])&&(n=!o.disabled):n="a"===s&&t.href||e,n&&x(t).is(":visible")&&"visible"===x(t).css("visibility"))},x.extend(x.expr.pseudos,{focusable:function(t){return x.ui.focusable(t,null!=x.attr(t,"tabindex"))}}),x.ui.focusable,x.ui.formResetMixin={_formResetHandler:function(){var e=x(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");x.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=x(this.element.prop("form")),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(x.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}},
84/*!
85 * jQuery UI Legacy jQuery Core patches 1.14.2
86 * https://jqueryui.com
87 *
88 * Copyright OpenJS Foundation and other contributors
89 * Released under the MIT license.
90 * https://jquery.org/license
91 *
92 */
93x.escapeSelector||(x.escapeSelector=function(t){return CSS.escape(t+"")}),x.fn.even&&x.fn.odd||x.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}}),x.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},x.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+CSS.escape(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},x.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=x(this);return(!i||"static"!==t.css("position"))&&n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:x(this[0].ownerDocument||document)},x.extend(x.expr.pseudos,{tabbable:function(t){var e=x.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&x.ui.focusable(t,i)}}),x.fn.extend({uniqueId:(e=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id
93)&&x(this).removeAttr("id")})}});x.ui.plugin={add:function(t,e,i){var n,o=x.ui[t].prototype;for(n in i)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([e,i[n]])},call:function(t,e,i,n){var o,s=t.plugins[e];if(s&&(n||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(o=0;o<s.length;o++)t.options[s[o][0]]&&s[o][1].apply(t.element,i)}}});;
94"use strict";(function(){var __esmMin=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},__commonJSMin=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),e=__commonJSMin(((e,t)=>{function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}t.exports=_interopRequireDefault,t.exports.__esModule=!0,t.exports.default=t.exports})),t=__commonJSMin(((e,t)=>{var check=function(e){return e&&e.Math===Math&&e};t.exports=check(typeof globalThis==`object`&&globalThis)||check(typeof window==`object`&&window)||check(typeof self==`object`&&self)||check(typeof global==`object`&&global)||check(typeof e==`object`&&e)||(function(){return this})()||Function(`return this`)()})),n=__commonJSMin(((e,t)=>{t.exports=function(e){try{return!!e()}catch(e){return!0}}})),r=__commonJSMin(((e,t)=>{t.exports=!n()(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})})),i=__commonJSMin(((e,t)=>{t.exports=!n()(function(){var e=(function(){}).bind();return typeof e!=`function`||e.hasOwnProperty(`prototype`)})})),a=__commonJSMin(((e,t)=>{var n=i(),r=Function.prototype.call;t.exports=n?r.bind(r):function(){return r.apply(r,arguments)}})),o=__commonJSMin((e=>{var t={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor;e.f=n&&!t.call({1:2},1)?function propertyIsEnumerable(e){var t=n(this,e);return!!t&&t.enumerable}:t})),s=__commonJSMin(((e,t)=>{t.exports=function(e,t){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:t}}})),c=__commonJSMin(((e,t)=>{var n=i(),r=Function.prototype,a=r.call,o=n&&r.bind.bind(a,a);t.exports=n?o:function(e){return function(){return a.apply(e,arguments)}}})),l=__commonJSMin(((e,t)=>{var n=c(),r=n({}.toString),i=n(``.slice);t.exports=function(e){return i(r(e),8,-1)}})),u=__commonJSMin(((e,t)=>{var r=c(),i=n(),a=l(),o=Object,s=r(``.split);t.exports=i(function(){return!o(`z`).propertyIsEnumerable(0)})?function(e){return a(e)===`String`?s(e,``):o(e)}:o})),d=__commonJSMin(((e,t)=>{t.exports=function(e){return e==null}})),f=__commonJSMin(((e,t)=>{var n=d(),r=TypeError;t.exports=function(e){if(n(e))throw new r(`Can't call method on `+e);return e}})),p=__commonJSMin(((e,t)=>{var n=u(),r=f();t.exports=function(e){return n(r(e))}})),m=__commonJSMin(((e,t)=>{var n=typeof document==`object`&&document.all;t.exports=n===void 0&&n!==void 0?function(e){return typeof e==`function`||e===n}:function(e){return typeof e==`function`}})),h=__commonJSMin(((e,t)=>{var n=m();t.exports=function(e){return typeof e==`object`?e!==null:n(e)}})),g=__commonJSMin(((e,n)=>{var r=t(),i=m(),aFunction=function(e){return i(e)?e:void 0};n.exports=function(e,t){return arguments.length<2?aFunction(r[e]):r[e]&&r[e][t]}})),_=__commonJSMin(((e,t)=>{t.exports=c()({}.isPrototypeOf)})),v=__commonJSMin(((e,n)=>{var r=t().navigator,i=r&&r.userAgent;n.exports=i?String(i):``})),y=__commonJSMin(((e,n)=>{var r=t(),i=v(),a=r.process,o=r.Deno,s=a&&a.versions||o&&o.version,c=s&&s.v8,l,u;c&&(l=c.split(`.`),u=l[0]>0&&l[0]<4?1:+(l[0]+l[1])),!u&&i&&(l=i.match(/Edge\/(\d+)/),(!l||l[1]>=74)&&(l=i.match(/Chrome\/(\d+)/),l&&(u=+l[1]))),n.exports=u})),b=__commonJSMin(((e,r)=>{var i=y(),a=n(),o=t().String;r.exports=!!Object.getOwnPropertySymbols&&!a(function(){var e=Symbol(`symbol detection`);return!o(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&i&&i<41})})),x=__commonJSMin(((e,t)=>{t.exports=b()&&!Symbol.sham&&typeof Symbol.iterator==`symbol`})),S=__commonJSMin(((e,t)=>{var n=g(),r=m(),i=_(),a=x(),o=Object;t.exports=a?function(e){return typeof e==`symbol`}:function(e){var t=n(`Symbol`);return r(t)&&i(t.prototype,o(e))}})),C=__commonJSMin(((e,t)=>{var n=String;t.exports=function(e){try{return n(e)}catch(e){return`Object`}}})),w=__commonJSMin(((e,t)=>{var n=m(),r=C(),i=TypeError;t.exports=function(e){if(n(e))return e;throw new i(r(e)+` is not a function`)}})),T=__commonJSMin(((e,t)=>{var n=w(),r=d();t.exports=function(e,t){var i=e[t];return r(i)?void 0:n(i)}})),E=__commonJSMin(((e,t)=>{var n=a(),r=m(),i=h(),o=TypeError;t.exports=function(e,t){var a,s;if(t===`string`&&r(a=e.toString)&&!i(s=n(a,e))||r(a=e.valueOf)&&!i(s=n(a,e))||t!==`string`&&r(a=e.toString)&&!i(s=n(a,e)))return s;throw new o(`Can't convert object to primitive value`)}}
vendor: 15,227 bytes, line 94
94)),D=__commonJSMin(((e,t)=>{t.exports=!1})),O=__commonJSMin(((e,n)=>{var r=t(),i=Object.defineProperty;n.exports=function(e,t){try{i(r,e,{value:t,configurable:!0,writable:!0})}catch(n){r[e]=t}return t}})),k=__commonJSMin(((e,n)=>{var r=D(),i=t(),a=O(),o=`__core-js_shared__`,s=n.exports=i[o]||a(o,{});(s.versions||(s.versions=[])).push({version:`3.46.0`,mode:r?`pure`:`global`,copyright:`© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)`,license:`https://github.com/zloirock/core-js/blob/v3.46.0/LICENSE`,source:`https://github.com/zloirock/core-js`})})),A=__commonJSMin(((e,t)=>{var n=k();t.exports=function(e,t){return n[e]||(n[e]=t||{})}})),j=__commonJSMin(((e,t)=>{var n=f(),r=Object;t.exports=function(e){return r(n(e))}})),M=__commonJSMin(((e,t)=>{var n=c(),r=j(),i=n({}.hasOwnProperty);t.exports=Object.hasOwn||function hasOwn(e,t){return i(r(e),t)}})),N=__commonJSMin(((e,t)=>{var n=c(),r=0,i=Math.random(),a=n(1.1.toString);t.exports=function(e){return`Symbol(`+(e===void 0?``:e)+`)_`+a(++r+i,36)}})),P=__commonJSMin(((e,n)=>{var r=t(),i=A(),a=M(),o=N(),s=b(),c=x(),l=r.Symbol,u=i(`wks`),d=c?l.for||l:l&&l.withoutSetter||o;n.exports=function(e){return a(u,e)||(u[e]=s&&a(l,e)?l[e]:d(`Symbol.`+e)),u[e]}})),ee=__commonJSMin(((e,t)=>{var n=a(),r=h(),i=S(),o=T(),s=E(),c=P(),l=TypeError,u=c(`toPrimitive`);t.exports=function(e,t){if(!r(e)||i(e))return e;var a=o(e,u),c;if(a){if(t===void 0&&(t=`default`),c=n(a,e,t),!r(c)||i(c))return c;throw new l(`Can't convert object to primitive value`)}return t===void 0&&(t=`number`),s(e,t)}})),te=__commonJSMin(((e,t)=>{var n=ee(),r=S();t.exports=function(e){var t=n(e,`string`);return r(t)?t:t+``}})),ne=__commonJSMin(((e,n)=>{var r=t(),i=h(),a=r.document,o=i(a)&&i(a.createElement);n.exports=function(e){return o?a.createElement(e):{}}})),re=__commonJSMin(((e,t)=>{var i=r(),a=n(),o=ne();t.exports=!i&&!a(function(){return Object.defineProperty(o(`div`),"a",{get:function(){return 7}}).a!==7})})),ie=__commonJSMin((e=>{var t=r(),n=a(),i=o(),c=s(),l=p(),u=te(),d=M(),f=re(),m=Object.getOwnPropertyDescriptor;e.f=t?m:function getOwnPropertyDescriptor(e,t){if(e=l(e),t=u(t),f)try{return m(e,t)}catch(e){}if(d(e,t))return c(!n(i.f,e,t),e[t])}})),ae=__commonJSMin(((e,t)=>{var i=r(),a=n();t.exports=i&&a(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})})),I=__commonJSMin(((e,t)=>{var n=h(),r=String,i=TypeError;t.exports=function(e){if(n(e))return e;throw new i(r(e)+` is not an object`)}})),L=__commonJSMin((e=>{var t=r(),n=re(),i=ae(),a=I(),o=te(),s=TypeError,c=Object.defineProperty,l=Object.getOwnPropertyDescriptor,u=`enumerable`,d=`configurable`,f=`writable`;e.f=t?i?function defineProperty(e,t,n){if(a(e),t=o(t),a(n),typeof e==`function`&&t===`prototype`&&`value`in n&&f in n&&!n[f]){var r=l(e,t);r&&r[f]&&(e[t]=n.value,n={configurable:d in n?n[d]:r[d],enumerable:u in n?n[u]:r[u],writable:!1})}return c(e,t,n)}:c:function defineProperty(e,t,r){if(a(e),t=o(t),a(r),n)try{return c(e,t,r)}catch(e){}if(`get`in r||`set`in r)throw new s(`Accessors not supported`);return`value`in r&&(e[t]=r.value),e}})),R=__commonJSMin(((e,t)=>{var n=r(),i=L(),a=s();t.exports=n?function(e,t,n){return i.f(e,t,a(1,n))}:function(e,t,n){return e[t]=n,e}})),oe=__commonJSMin(((e,t)=>{var n=r(),i=M(),a=Function.prototype,o=n&&Object.getOwnPropertyDescriptor,s=i(a,`name`);t.exports={EXISTS:s,PROPER:s&&(function something(){}).name===`something`,CONFIGURABLE:s&&(!n||n&&o(a,`name`).configurable)}})),se=__commonJSMin(((e,t)=>{var n=c(),r=m(),i=k(),a=n(Function.toString);r(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),t.exports=i.inspectSource})),ce=__commonJSMin(((e,n)=>{var r=t(),i=m(),a=r.WeakMap;n.exports=i(a)&&/native code/.test(String(a))})),z=__commonJSMin(((e,t)=>{var n=A(),r=N(),i=n(`keys`);t.exports=function(e){return i[e]||(i[e]=r(e))}})),B=__commonJSMin(((e,t)=>{t.exports={}})),le=__commonJSMin(((e,n)=>{var r=ce(),i=t(),a=h(),o=R(),s=M(),c=k(),l=z(),u=B(),d=`Object already initialized`,f=i.TypeError,p=i.WeakMap,set,get,has,enforce=function(e){return has(e)?get(e):set(e,{})},getterFor=function(e){return function(t){var n;if(!a(t)||(n=get(t)).type!==e)throw new f(`Incompatible receiver, `+e+` required`);return n}};if(r||c.state){var m=c.state||(c.state=new p);m.get=m.get,m.has=m.has,m.set=m.set,set=function(e,t){if(m.has(e))throw new f(d);return t.facade=e,m.set(e,t),t},get=function(e){return m.get(e)||{}},has=function(e){return m.has(e)}}else{var g=l(`state`);u[g]=!0,set=function(e,t){if(s(e,g))throw new f(d);return t.facade=e,o(e,g,t),t},get=function(e){return s(e,g)?e[g]:{}},has=function(e){return s(e,g)}}n.exports={set,get,has,enforce,getterFor}})),ue=__commonJSMin(((e,t)=>{var i=c(),a=n(),o=m(),s=M(),l=r(),u=oe().CONFIGURABLE,d=se(),f=le(),p=f.enforce,h=f.get,g=String,_=Object.defineProperty,v=i(``.slice),y=i(``.replace),b=i([].join),x=l&&!a(function(){return _(function(){},`length`,{value:8}).length!==8}),S=String(String).split(`String`),C=t.exports=function(e,t,n){v(g(t),0,7)===`Symbol(`&&(t=`[`+y(g(t),/^Symbol\(([^)]*)\).*$/,`$1`)+`]`),n&&n.getter&&(t=`get `+t),n&&n.setter&&(t=`set `+t),(!s(e,`name`)||u&&e.name!==t)&&(l?_(e,`name`,{value:t,configurable:!0}):e.name=t),x&&n&&s(n,`arity`)&&e.length!==n.arity&&_(e,`length`,{value:n.arity});try{n&&s(n,`constructor`)&&n.constructor?l&&_(e,`prototype`,{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var r=p(e);return s(r,`source`)||(r.source=b(S,typeof t==`string`?t:``)),e};Function.prototype.toString=C(function toString(){return o(this)&&h(this).source||d(this)},`toString`)})),V=__commonJSMin(((e,t)=>{var n=m(),r=L(),i=ue(),a=O();t.exports=function(e,t,o,s){s||(s={});var c=s.enumerable,l=s.name===void 0?t:s.name;if(n(o)&&i(o,l,s),s.global)c?e[t]=o:a(t,o);else{try{s.unsafe?e[t]&&(c=!0):delete e[t]}catch(e){}c?e[t]=o:r.f(e,t,{value:o,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return e}})),de=__commonJSMin(((e,t)=>{var n=Math.ceil,r=Math.floor;t.exports=Math.trunc||function trunc(e){var t=+e;return(t>0?r:n)(t)}})),fe=__commonJSMin(((e,t)=>{var n=de();t.exports=function(e){var t=+e;return t!==t||t===0?0:n(t)}})),pe=__commonJSMin(((e,t)=>{var n=fe(),r=Math.max,i=Math.min;t.exports=function(e,t){var a=n(e);return a<0?r(a+t,0):i(a,t)}})),me=__commonJSMin(((e,t)=>{var n=fe(),r=Math.min;t.exports=function(e){var t=n(e);return t>0?r(t,9007199254740991):0}})),H=__commonJSMin(((e,t)=>{var n=me();t.exports=function(e){return n(e.length)}})),he=__commonJSMin(((e,t)=>{var n=p(),r=pe(),i=H(),createMethod=function(e){return function(t,a,o){var s=n(t),c=i(s);if(c===0)return!e&&-1;var l=r(o,c),u;if(e&&a!==a){for(;c>l;)if(u=s[l++],u!==u)return!0}else for(;c>l;l++)if((e||l in s)&&s[l]===a)return e||l||0;return!e&&-1}};t.exports={includes:createMethod(!0),indexOf:createMethod(!1)}})),ge=__commonJSMin(((e,t)=>{var n=c(),r=M(),i=p(),a=he().indexOf,o=B(),s=n([].push);t.exports=function(e,t){var n=i(e),c=0,l=[],u;for(u in n)!r(o,u)&&r(n,u)&&s(l,u);for(;t.length>c;)r(n,u=t[c++])&&(~a(l,u)||s(l,u));return l}})),U=__commonJSMin(((e,t)=>{t.exports=[`constructor`,`hasOwnProperty`,`isPrototypeOf`,`propertyIsEnumerable`,`toLocaleString`,`toString`,`valueOf`]})),_e=__commonJSMin((e=>{var t=ge(),n=U().concat(`length`,`prototype`);e.f=Object.getOwnPropertyNames||function getOwnPropertyNames(e){return t(e,n)}})),ve=__commonJSMin((e=>{e.f=Object.getOwnPropertySymbols})),ye=__commonJSMin(((e,t)=>{var n=g(),r=c(),i=_e(),a=ve(),o=I(),s=r([].concat);t.exports=n(`Reflect`,`ownKeys`)||function ownKeys(e){var t=i.f(o(e)),n=a.f;return n?s(t,n(e)):t}})),be=__commonJSMin(((e,t)=>{var n=M(),r=ye(),i=ie(),a=L();t.exports=function(e,t,o){for(var s=r(t),c=a.f,l=i.f,u=0;u<s.length;u++){var d=s[u];!n(e,d)&&!(o&&n(o,d))&&c(e,d,l(t,d))}}})),xe=__commonJSMin(((e,t)=>{var r=n(),i=m(),a=/#|\.prototype\./,isForced=function(e,t){var n=s[o(e)];return n===l?!0:n===c?!1:i(t)?r(t):!!t},o=isForced.normalize=function(e){return String(e).replace(a,`.`).toLowerCase()},s=isForced.data={},c=isForced.NATIVE=`N`,l=isForced.POLYFILL=`P`;t.exports=isForced})),W=__commonJSMin(((e,n)=>{var r=t(),i=ie().f,a=R(),o=V(),s=O(),c=be(),l=xe();n.exports=function(e,t){var n=e.target,u=e.global,d=e.stat,f,p=u?r:d?r[n]||s(n,{}):r[n]&&r[n].prototype,m,h,g,_;if(p)for(m in t){if(g=t[m],e.dontCallGetSet?(_=i(p,m),h=_&&_.value):h=p[m],f=l(u?m:n+(d?`.`:`#`)+m,e.forced),!f&&h!==void 0){if(typeof g==typeof h)continue;c(g,h)}(e.sham||h&&h.sham)&&a(g,`sham`,!0),o(p,m,g,e)}}})),Se=__commonJSMin(((e,t)=>{var n=_(),r=TypeError;t.exports=function(e,t){if(n(t,e))return e;throw new r(`Incorrect invocation`)}})),Ce=__commonJSMin(((e,t)=>{t.exports=!n()(function(){function F(){}return F.prototype.constructor=null,Object.getPrototypeOf(new F)!==F.prototype})})),we=__commonJSMin(((e,t)=>{var n=M(),r=m(),i=j(),a=z(),o=Ce(),s=a(`IE_PROTO`),c=Object,l=c.prototype;t.exports=o?c.getPrototypeOf:function(e){var t=i(e);if(n(t,s))return t[s];var a=t.constructor;return r(a)&&t instanceof a?a.prototype:t instanceof c?l:null}})),Te=__commonJSMin(((e,t)=>{var n=ue(),r=L();t.exports=function(e,t,i){return i.get&&n(i.get,t,{getter:!0}),i.set&&n(i.set,t,{setter:!0}),r.f(e,t,i)}})),Ee=__commonJSMin(((e,t)=>{var n=r(),i=L(),a=s();t.exports=function(e,t,r){n?i.f(e,t,a(0,r)):e[t]=r}})),De=__commonJSMin(((e,t)=>{var n=ge(),r=U();t.exports=Object.keys||function keys(e){return n(e,r)}})),Oe=__commonJSMin((e=>{var t=r(),n=ae(),i=L(),a=I(),o=p(),s=De();e.f=t&&!n?Object.defineProperties:function defineProperties(e,t){a(e);for(var n=o(t),r=s(t),c=r.length,l=0,u;c>l;)i.f(e,u=r[l++],n[u]);return e}})),ke=__commonJSMin(((e,t)=>{t.exports=g()(`document`,`documentElement`)})),Ae=__commonJSMin(((e,t)=>{var n=I(),r=Oe(),i=U(),a=B(),o=ke(),s=ne(),c=z(),l=`>`,u=`<`,d=`prototype`,f=`script`,p=c(`IE_PROTO`),EmptyConstructor=function(){},scriptTag=function(e){return u+f+l+e+u+`/`+f+l},NullProtoObjectViaActiveX=function(e){e.write(scriptTag(``)),e.close();var t=e.parentWindow.Object;return e=null,t},NullProtoObjectViaIFrame=function(){var e=s(`iframe`),t=`java`+f+`:`,n;return e.style.display=`none`,o.appendChild(e),e.src=String(t),n=e.contentWindow.document,n.open(),n.write(scriptTag(`document.F=Object`)),n.close(),n.F},m,NullProtoObject=function(){try{m=new ActiveXObject(`htmlfile`)}catch(e){}NullProtoObject=typeof document<`u`?document.domain&&m?NullProtoObjectViaActiveX(m):NullProtoObjectViaIFrame():NullProtoObjectViaActiveX(m);for(var e=i.length;e--;)delete NullProtoObject[d][i[e]];return NullProtoObject()};a[p]=!0,t.exports=Object.create||function create(e,t){var i;return e===null?i=NullProtoObject():(EmptyConstructor[d]=n(e),i=new EmptyConstructor,EmptyConstructor[d]=null,i[p]=e),t===void 0?i:r.f(i,t)}})),je=__commonJSMin(((e,t)=>{var r=n(),i=m(),a=h(),o=Ae(),s=we(),c=V(),l=P(),u=D(),d=l(`iterator`),f=!1,p,g,_;[].keys&&(_=[].keys(),`next`in _?(g=s(s(_)),g!==Object.prototype&&(p=g)):f=!0),!a(p)||r(function(){var e={};return p[d].call(e)!==e})?p={}:u&&(p=o(p)),i(p[d])||c(p,d,function(){return this}),t.exports={IteratorPrototype:p,BUGGY_SAFARI_ITERATORS:f}})),Me=__commonJSMin((()=>{var e=W(),i=t(),a=Se(),o=I(),s=m(),c=we(),l=Te(),u=Ee(),d=n(),f=M(),p=P(),h=je().IteratorPrototype,g=r(),_=D(),v=`constructor`,y=`Iterator`,b=p(`toStringTag`),x=TypeError,S=i[y],C=_||!s(S)||S.prototype!==h||!d(function(){S({})}),w=function Iterator(){if(a(this,h),c(this)===h)throw new x(`Abstract class Iterator not directly constructable`)},defineIteratorPrototypeAccessor=function(e,t){g?l(h,e,{configurable:!0,get:function(){return t},set:function(t){if(o(this),this===h)throw new x(`You can't redefine this property`);f(this,e)?this[e]=t:u(this,e,t)}}):h[e]=t};f(h,b)||defineIteratorPrototypeAccessor(b,y),(C||!f(h,v)||h[v]===Object)&&defineIteratorPrototypeAccessor(v,w),w.prototype=h,e({global:!0,constructor:!0,forced:C},{Iterator:w})})),G=__commonJSMin((()=>{Me()})),Ne=__commonJSMin(((e,t)=>{var n=l(),r=c();t.exports=function(e){if(n(e)===`Function`)return r(e)}})),Pe=__commonJSMin(((e,t)=>{var n=Ne(),r=w(),a=i(),o=n(n.bind);t.exports=function(e,t){return r(e),t===void 0?e:a?o(e,t):function(){return e.apply(t,arguments)}}})),K=__commonJSMin(((e,t)=>{t.exports={}})),Fe=__commonJSMin(((e,t)=>{var n=P(),r=K(),i=n(`iterator`),a=Array.prototype;t.exports=function(e){return e!==void 0&&(r.Array===e||a[i]===e)}})),Ie=__commonJSMin(((e,t)=>{var n=P()(`toStringTag`),r={};r[n]=`z`,t.exports=String(r)===`[object z]`})),Le=__commonJSMin(((e,t)=>{var n=Ie(),r=m(),i=l(),a=P()(`toStringTag`),o=Object,s=i(function(){return arguments}())===`Arguments`,tryGet=function(e,t){try{return e[t]}catch(e){}};t.exports=n?i:function(e){var t,n,c;return e===void 0?`Undefined`:e===null?`Null`:typeof(n=tryGet(t=o(e),a))==`string`?n:s?i(t):(c=i(t))===`Object`&&r(t.callee)?`Arguments`:c}})),Re=__commonJSMin(((e,t)=>{var n=Le(),r=T(),i=d(),a=K(),o=P()(`iterator`);t.exports=function(e){if(!i(e))return r(e,o)||r(e,`@@iterator`)||a[n(e)]}})),ze=__commonJSMin(((e,t)=>{var n=a(),r=w(),i=I(),o=C(),s=Re(),c=TypeError;t.exports=function(e,t){var a=arguments.length<2?s(e):t;if(r(a))return i(n(a,e));throw new c(o(e)+` is not iterable`)}})),q=__commonJSMin(((e,t)=>{var n=a(),r=I(),i=T();t.exports=function(e,t,a){var o,s;r(e);try{if(o=i(e,`return`),!o){if(t===`throw`)throw a;return a}o=n(o,e)}catch(e){s=!0,o=e}if(t===`throw`)throw a;if(s)throw o;return r(o),a}})),Be=__commonJSMin(((e,t)=>{var n=Pe(),r=a(),i=I(),o=C(),s=Fe(),c=H(),l=_(),u=ze(),d=Re(),f=q(),p=TypeError,Result=function(e,t){this.stopped=e,this.result=t},m=Result.prototype;t.exports=function(e,t,a){var h=a&&a.that,g=!!(a&&a.AS_ENTRIES),_=!!(a&&a.IS_RECORD),v=!!(a&&a.IS_ITERATOR),y=!!(a&&a.INTERRUPTED),b=n(t,h),x,S,C,w,T,E,D,stop=function(e){return x&&f(x,`normal`),new Result(!0,e)},callFn=function(e){return g?(i(e),y?b(e[0],e[1],stop):b(e[0],e[1])):y?b(e,stop):b(e)};if(_)x=e.iterator;else if(v)x=e;else{if(S=d(e),!S)throw new p(o(e)+` is not iterable`);if(s(S)){for(C=0,w=c(e);w>C;C++)if(T=callFn(e[C]),T&&l(m,T))return T;return new Result(!1)}x=u(e,S)}for(E=_?e.next:x.next;!(D=r(E,x)).done;){try{T=callFn(D.value)}catch(e){f(x,`throw`,e)}if(typeof T==`object`&&T&&l(m,T))return T}return new Result(!1)}})),J=__commonJSMin(((e,t)=>{t.exports=function(e){return{iterator:e,next:e.next,done:!1}}})),Y=__commonJSMin(((e,n)=>{var r=t();n.exports=function(e,t){var n=r.Iterator,i=n&&n.prototype,a=i&&i[e],o=!1;if(a)try{a.call({next:function(){return{done:!0}},return:function(){o=!0}},-1)}catch(e){e instanceof t||(o=!1)}if(!o)return a}})),Ve=__commonJSMin((()=>{var e=W(),t=a(),n=Be(),r=w(),i=I(),o=J(),s=q(),c=Y()(`find`,TypeError);e({target:`Iterator`,proto:!0,real:!0,forced:c},{find:function find(e){i(this);try{r(e)}catch(e){s(this,`throw`,e)}if(c)return t(c,this,e);var a=o(this),l=0;return n(a,function(t,n){if(e(t,l++))return n(t)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})})),X=__commonJSMin((()=>{Ve()})),He=__commonJSMin((()=>{var e=W(),t=a(),n=Be(),r=w(),i=I(),o=J(),s=q(),c=Y()(`forEach`,TypeError);e({target:`Iterator`,proto:!0,real:!0,forced:c},{forEach:function forEach(e){i(this);try{r(e)}catch(e){s(this,`throw`,e)}if(c)return t(c,this,e);var a=o(this),l=0;n(a,function(t){e(t,l++)},{IS_RECORD:!0})}})})),Z=__commonJSMin((()=>{He()}
94)),Ue=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),We=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.loadChunk=loadChunk;function chunkUrl(e){var t;let n=window.elementorFrontendConfig||{},r=((t=n.urls)==null?void 0:t.assets)||``,i=n.version?`?ver=`+encodeURIComponent(n.version):``;return r+`js/chunks/`+e+`.min.js`+i}var t=window.__elementorChunks=window.__elementorChunks||{},n=new Map;function appendChunkScript(e){return new Promise((n,r)=>{let i=document.createElement(`script`);i.src=chunkUrl(e),i.async=!0,i.onload=()=>{t[e]?n(t[e]):r(Error(`[elementor] chunk "${e}" loaded but did not register`))},i.onerror=()=>r(Error(`[elementor] failed to load chunk "${e}" from ${i.src}`)),document.head.appendChild(i)})}function loadChunk(e){return t[e]?Promise.resolve(t[e]):(n.has(e)||n.set(e,appendChunkScript(e)),n.get(e))}window.__elementorLoadChunk=loadChunk})),Ge=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,G(),X();var _default=class extends elementorModules.ViewModule{getDefaultSettings(){return{selectors:{elements:`.elementor-element`,nestedDocumentElements:`.elementor .elementor-element`},classes:{editMode:`elementor-edit-mode`}}}getDefaultElements(){let e=this.getSettings(`selectors`);return{$elements:this.$element.find(e.elements).not(this.$element.find(e.nestedDocumentElements))}}getDocumentSettings(e){let t;if(this.isEdit){t={};let e=elementor.settings.page.model;jQuery.each(e.getActiveControls(),n=>{t[n]=e.attributes[n]})}else t=this.$element.data(`elementor-settings`)||{};return this.getItems(t,e)}runElementsHandlers(){this.elements.$elements.each((e,t)=>setTimeout(()=>elementorFrontend.elementsHandler.runReadyTrigger(t)))}onInit(){this.$element=this.getSettings(`$element`),super.onInit(),this.isEdit=this.$element.hasClass(this.getSettings(`classes.editMode`)),this.isEdit?elementor.on(`document:loaded`,()=>{elementor.settings.page.model.on(`change`,this.onSettingsChange.bind(this))}):this.runElementsHandlers()}onSettingsChange(){}};e.default=_default})),Ke=__commonJSMin((t=>{var n=e();Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(Ge()),_default=class extends elementorModules.ViewModule{constructor(...e){super(...e),this.documents={},this.initDocumentClasses(),this.attachDocumentsClasses()}getDefaultSettings(){return{selectors:{document:`.elementor`}}}getDefaultElements(){let e=this.getSettings(`selectors`);return{$documents:jQuery(e.document)}}initDocumentClasses(){this.documentClasses={base:r.default},elementorFrontend.hooks.doAction(`elementor/frontend/documents-manager/init-classes`,this)}addDocumentClass(e,t){this.documentClasses[e]=t}attachDocumentsClasses(){this.elements.$documents.each((e,t)=>this.attachDocumentClass(jQuery(t)))}attachDocumentClass(e){let t=e.data(),n=t.elementorId,r=t.elementorType,i=this.documentClasses[r]||this.documentClasses.base;this.documents[n]=new i({$element:e,id:n})}};t.default=_default})),qe=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,G(),Z();var _default=class extends elementorModules.Module{get(e,t){t=t||{};let n;try{n=t.session?sessionStorage:localStorage}catch(t){return e?void 0:{}}let r=n.getItem(`elementor`);r=r?JSON.parse(r):{},r.__expiration||(r.__expiration={});let i=r.__expiration,a=[];e?i[e]&&(a=[e]):a=Object.keys(i);let o=!1;return a.forEach(e=>{new Date(i[e])<new Date&&(delete r[e],delete i[e],o=!0)}),o&&this.save(r,t.session),e?r[e]:r}set(e,t,n){n=n||{};let r=this.get(null,n);if(r[e]=t,n.lifetimeInSeconds){let t=new Date;t.setTime(t.getTime()+n.lifetimeInSeconds*1e3),r.__expiration[e]=t.getTime()}this.save(r,n.session)}save(e,t){let n;try{n=t?sessionStorage:localStorage}catch(e){return}n.setItem(`elementor`,JSON.stringify(e))}};e.default=_default})),Je=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var matchUserAgent=e=>t.indexOf(e)>=0,t=navigator.userAgent,n=!!window.opr&&!!opr.addons||!!window.opera||matchUserAgent(` OPR/`),r=matchUserAgent(`Firefox`),i=/^((?!chrome|android).)*safari/i.test(t)||/constructor/i.test(window.HTMLElement)||(e=>e.toString()===`[object SafariRemoteNotification]`)(!window.safari||typeof safari<`u`&&safari.pushNotification),a=/Trident|MSIE/.test(t)&&!!document.documentMode,o=!a&&!!window.StyleMedia||matchUserAgent(`Edg`),s=!!window.chrome&&matchUserAgent(`Chrome`)&&!(o||n),c=matchUserAgent(`Chrome`)&&!!window.CSS,l=matchUserAgent(`AppleWebKit`)&&!c;e.default={isTouchDevice:`ontouchstart`in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>
940,appleWebkit:l,blink:c,chrome:s,edge:o,firefox:r,ie:a,mac:matchUserAgent(`Macintosh`),opera:n,safari:i,webkit:matchUserAgent(`AppleWebKit`)}})),Q=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var BaseLoader=class extends elementorModules.ViewModule{getDefaultSettings(){return{isInserted:!1,selectors:{firstScript:`script:first`}}}getDefaultElements(){return{$firstScript:jQuery(this.getSettings(`selectors.firstScript`))}}insertAPI(){this.elements.$firstScript.before(jQuery(`<script>`,{src:this.getApiURL()})),this.setSettings(`isInserted`,!0)}getVideoIDFromURL(e){let t=e.match(this.getURLRegex());return t&&t[1]}onApiReady(e){this.getSettings(`isInserted`)||this.insertAPI(),this.isApiLoaded()?e(this.getApiObject()):setTimeout(()=>{this.onApiReady(e)},350)}getAutoplayURL(e){return e.replace(`&autoplay=0`,``)+`&autoplay=1`}};e.default=BaseLoader})),Ye=__commonJSMin((t=>{var n=e();Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(Q()),YoutubeLoader=class extends r.default{getApiURL(){return`https://www.youtube.com/iframe_api`}getURLRegex(){return/^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?vi?=|(?:embed|v|vi|user|shorts)\/))([^?&"'>]+)/}isApiLoaded(){return window.YT&&YT.loaded}getApiObject(){return YT}};t.default=YoutubeLoader})),Xe=__commonJSMin((t=>{var n=e();Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(Q()),VimeoLoader=class extends r.default{getApiURL(){return`https://player.vimeo.com/api/player.js`}getURLRegex(){return/^(?:https?:\/\/)?(?:www|player\.)?(?:vimeo\.com\/)?(?:video\/|external\/)?(\d+)([^.?&#"'>]?)/}isApiLoaded(){return window.Vimeo}getApiObject(){return Vimeo}getAutoplayURL(e){let t=e.match(/#t=[^&]*/);return e.replace(t[0],``)+t}};t.default=VimeoLoader}));function asyncGeneratorStep(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function _asyncToGenerator(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function _next(e){asyncGeneratorStep(a,r,i,_next,_throw,`next`,e)}function _throw(e){asyncGeneratorStep(a,r,i,_next,_throw,`throw`,e)}_next(void 0)})}}var Ze=__esmMin((()=>{})),Qe=__commonJSMin(((e,t)=>{var n=c(),r=w();t.exports=function(e,t,i){try{return n(r(Object.getOwnPropertyDescriptor(e,t)[i]))}catch(e){}}})),$e=__commonJSMin(((e,t)=>{var n=h();t.exports=function(e){return n(e)||e===null}})),et=__commonJSMin(((e,t)=>{var n=$e(),r=String,i=TypeError;t.exports=function(e){if(n(e))return e;throw new i(`Can't set `+r(e)+` as a prototype`)}})),tt=__commonJSMin(((e,t)=>{var n=Qe(),r=h(),i=f(),a=et();
vendor: 1,882 bytes, line 94
94t.exports=Object.setPrototypeOf||(`__proto__`in{}?function(){var e=!1,t={},o;try{o=n(Object.prototype,`__proto__`,`set`),o(t,[]),e=t instanceof Array}catch(e){}return function setPrototypeOf(t,n){return i(t),a(n),r(t)&&(e?o(t,n):t.__proto__=n),t}}():void 0)})),nt=__commonJSMin(((e,t)=>{var n=m(),r=h(),i=tt();t.exports=function(e,t,a){var o,s;return i&&n(o=t.constructor)&&o!==a&&r(s=o.prototype)&&s!==a.prototype&&i(e,s),e}})),rt=__commonJSMin(((e,t)=>{var n=Le(),r=String;t.exports=function(e){if(n(e)===`Symbol`)throw TypeError(`Cannot convert a Symbol value to a string`);return r(e)}})),it=__commonJSMin(((e,t)=>{var n=rt();t.exports=function(e,t){return e===void 0?arguments.length<2?``:t:n(e)}})),at=__commonJSMin(((e,t)=>{t.exports={IndexSizeError:{s:`INDEX_SIZE_ERR`,c:1,m:1},DOMStringSizeError:{s:`DOMSTRING_SIZE_ERR`,c:2,m:0},HierarchyRequestError:{s:`HIERARCHY_REQUEST_ERR`,c:3,m:1},WrongDocumentError:{s:`WRONG_DOCUMENT_ERR`,c:4,m:1},InvalidCharacterError:{s:`INVALID_CHARACTER_ERR`,c:5,m:1},NoDataAllowedError:{s:`NO_DATA_ALLOWED_ERR`,c:6,m:0},NoModificationAllowedError:{s:`NO_MODIFICATION_ALLOWED_ERR`,c:7,m:1},NotFoundError:{s:`NOT_FOUND_ERR`,c:8,m:1},NotSupportedError:{s:`NOT_SUPPORTED_ERR`,c:9,m:1},InUseAttributeError:{s:`INUSE_ATTRIBUTE_ERR`,c:10,m:1},InvalidStateError:{s:`INVALID_STATE_ERR`,c:11,m:1},SyntaxError:{s:`SYNTAX_ERR`,c:12,m:1},InvalidModificationError:{s:`INVALID_MODIFICATION_ERR`,c:13,m:1},NamespaceError:{s:`NAMESPACE_ERR`,c:14,m:1},InvalidAccessError:{s:`INVALID_ACCESS_ERR`,c:15,m:1},ValidationError:{s:`VALIDATION_ERR`,c:16,m:0},TypeMismatchError:{s:`TYPE_MISMATCH_ERR`,c:17,m:1},SecurityError:{s:`SECURITY_ERR`,c:18,m:1},NetworkError:{s:`NETWORK_ERR`,c:19,m:1},AbortError:{s:`ABORT_ERR`,c:20,m:1},URLMismatchError:{s:`URL_MISMATCH_ERR`,c:21,m:1},QuotaExceededError:{s:`QUOTA_EXCEEDED_ERR`,c:22,m:1},TimeoutError:{s:`TIMEOUT_ERR`,c:23,m:1}
94,InvalidNodeTypeError:{s:`INVALID_NODE_TYPE_ERR`,c:24,m:1},DataCloneError:{s:`DATA_CLONE_ERR`,c:25,m:1}}})),ot=__commonJSMin(((e,t)=>{var n=c(),r=Error,i=n(``.replace),a=(function(e){return String(new r(e).stack)})(`zxcasd`),o=/\n\s*at [^:]*:[^\n]*/,s=o.test(a);t.exports=function(e,t){if(s&&typeof e==`string`&&!r.prepareStackTrace)for(;t--;)e=i(e,o,``);return e}})),st=__commonJSMin((()=>{var e=W(),n=t(),i=g(),a=s(),o=L().f,c=M(),l=Se(),u=nt(),d=it(),f=at(),p=ot(),m=r(),h=D(),_=`DOMException`,v=i(`Error`),y=i(_),b=function DOMException(){l(this,x);var e=arguments.length,t=d(e<1?void 0:arguments[0]),n=new y(t,d(e<2?void 0:arguments[1],`Error`)),r=new v(t);return r.name=_,o(n,`stack`,a(1,p(r.stack,1))),u(n,this,b),n},x=b.prototype=y.prototype,S=`stack`in new v(_),C=`stack`in new y(1,2),w=y&&m&&Object.getOwnPropertyDescriptor(n,_),T=!!w&&!(w.writable&&w.configurable),E=S&&!T&&!C;e({global:!0,constructor:!0,forced:h||E},{DOMException:E?b:y});var O=i(_),k=O.prototype;if(k.constructor!==O){for(var A in h||o(k,`constructor`,a(1,O)),f)if(c(f,A)){var j=f[A],N=j.s;c(O,N)||o(O,N,a(6,j.c))}}})),ct=__commonJSMin((e=>{Ze(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,st();var _default=class extends elementorModules.ViewModule{getDefaultSettings(){return{selectors:{links:`a[href^="%23elementor-action"], a[href^="#elementor-action"]`}}}bindEvents(){elementorFrontend.elements.$document.on(`click`,this.getSettings(`selectors.links`),this.runLinkAction.bind(this))}initActions(){this.actions={lightbox:function(){var e=_asyncToGenerator(function*(e){let t=yield elementorFrontend.utils.lightbox;e.slideshow?t.openSlideshow(e.slideshow,e.url):(e.id&&(e.type=`image`),t.showModal(e))});return function lightbox(t){return e.apply(this,arguments)}}()}}addAction(e,t){this.actions[e]=t}runAction(e,...t){e=decodeURI(e),e=decodeURIComponent(e);let n=e.match(/action=(.+?)&/);if(!n)return;let r=this.actions[n[1]];if(!r)return;let i={},a=e.match(/settings=(.+)/);a&&(i=JSON.parse(atob(a[1]))),i.previousEvent=event,r(i,...t)}runLinkAction(e){e.preventDefault(),this.runAction(jQuery(e.currentTarget).attr(`href`),e)}runHashAction(){if(!location.hash)return;let e=document.querySelector(`[data-e-action-hash="${location.hash}"], a[href*="${location.hash}"]`);e&&this.runAction(e.getAttribute(`data-e-action-hash`))}createActionHash(e,t){return encodeURIComponent(`#elementor-action:action=${e}&settings=${btoa(JSON.stringify(t))}`)}onInit(){super.onInit(),this.initActions(),elementorFrontend.on(`components:init`,this.runHashAction.bind(this))}};e.default=_default})),lt=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,G(),Z();var SwiperHandler=class{constructor(e,t){var n,r;return this.config=t,this.config.breakpoints&&(this.config=this.adjustConfig(t)),e instanceof jQuery&&(e=e[0]),(n=e.closest(`.elementor-widget-wrap`))==null||n.classList.add(`e-swiper-container`),(r=e.closest(`.elementor-widget`))==null||r.classList.add(`e-widget-swiper`),new Promise(t=>{if(typeof Swiper>`u`){elementorFrontend.utils.assetsLoader.load(`script`,`swiper`).then(()=>t(this.createSwiperInstance(e,this.config)));return}typeof Swiper==`function`&&window.Swiper===void 0&&(window.Swiper=Swiper),t(this.createSwiperInstance(e,this.config))})}createSwiperInstance(e,t){let n=window.Swiper;return n.prototype.adjustConfig=this.adjustConfig,t=this.applyMotionPreferences(t),new n(e,t)}adjustConfig(e){if(!e.handleElementorBreakpoints)return e;let t=elementorFrontend.config.responsive.activeBreakpoints,n=elementorFrontend.breakpoints.getBreakpointValues();return Object.keys(e.breakpoints).forEach(r=>{let i=parseInt(r),a;if(i===t.mobile.value||i+1===t.mobile.value)a=0;else if(t.widescreen&&(i===t.widescreen.value||i+1===t.widescreen.value))a=i;else{let e=n.findIndex(e=>i===e||i+1===e);a=n[e-1]}e.breakpoints[a]=e.breakpoints[r],e.breakpoints[r]={slidesPerView:e.slidesPerView,slidesPerGroup:e.slidesPerGroup?e.slidesPerGroup:1}}),e}applyMotionPreferences(e){return window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?Object.assign({},e,{speed:0,autoplay:!1}):e}};e.default=SwiperHandler})),ut=__commonJSMin((e=>
94{Ze(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,G(),X(),e.default=class LightboxManager extends elementorModules.ViewModule{static getLightbox(){let e=new Promise(e=>{__elementorLoadChunk(`lightbox-lightbox`).then(({default:t})=>e(new t))}),t=elementorFrontend.utils.assetsLoader.load(`script`,`dialog`),n=elementorFrontend.utils.assetsLoader.load(`style`,`dialog`),r=elementorFrontend.utils.assetsLoader.load(`script`,`share-link`),i=elementorFrontend.utils.assetsLoader.load(`style`,`swiper`),a=elementorFrontend.utils.assetsLoader.load(`style`,`e-lightbox`);return Promise.all([e,t,n,r,i,a]).then(()=>e)}getDefaultSettings(){return{selectors:{links:`a, [data-elementor-lightbox]`,slideshow:`[data-elementor-lightbox-slideshow]`}}}getDefaultElements(){return{$links:jQuery(this.getSettings(`selectors.links`)),$slideshow:jQuery(this.getSettings(`selectors.slideshow`))}}isLightboxLink(e){if(e.tagName.toLowerCase()===`a`&&(e.hasAttribute(`download`)||!/^[^?]+\.(png|jpe?g|gif|svg|webp|avif)(\?.*)?$/i.test(e.href))&&!e.dataset.elementorLightboxVideo)return!1;let t=elementorFrontend.getKitSettings(`global_image_lightbox`),n=e.dataset.elementorOpenLightbox;return n===`yes`||t&&n!==`no`}isLightboxSlideshow(){return this.elements.$slideshow.length!==0}onLinkClick(e){var t=this;return _asyncToGenerator(function*(){let n=e.currentTarget,r=jQuery(e.target),i=elementorFrontend.isEditMode(),a=i&&elementor.$previewContents.find(`body`).hasClass(`elementor-editor__ui-state__color-picker`),o=!!r.closest(`.elementor-edit-area`).length;if(!t.isLightboxLink(n)){i&&o&&e.preventDefault();return}e.preventDefault(),!(i&&!elementor.getPreferences(`lightbox_in_editor`))&&(a||(yield LightboxManager.getLightbox()).createLightbox(n))})()}bindEvents(){elementorFrontend.elements.$document.on(`click`,this.getSettings(`selectors.links`),e=>this.onLinkClick(e))}onInit(...e){super.onInit(...e),!elementorFrontend.isEditMode()&&this.maybeActivateLightboxOnLink()}maybeActivateLightboxOnLink(){this.elements.$links.each((e,t)=>{if(this.isLightboxLink(t))return LightboxManager.getLightbox(),!1})}}})),dt=__commonJSMin((e=>{var t;Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=class AssetsLoader{getScriptElement(e){let t=document.createElement(`script`);return t.src=e,t}getStyleElement(e){let t=document.createElement(`link`);return t.rel=`stylesheet`,t.href=e,t}
94load(e,t){let n=AssetsLoader.assets[e][t];return n.loader||(n.loader=this.isAssetLoaded(n,e)?Promise.resolve(!0):this.loadAsset(n,e)),n.loader}isAssetLoaded(e,t){var n;let r=t===`script`?`script[src="${e.src}"]`:`link[href="${e.src}"]`;return!!((n=document.querySelectorAll(r))!=null&&n.length)}loadAsset(e,t){return new Promise(n=>{let r=t===`style`?this.getStyleElement(e.src):this.getScriptElement(e.src);r.onload=()=>n(!0),this.appendAsset(e,r)})}appendAsset(e,t){let n=document.querySelector(e.before);if(n){n.insertAdjacentElement(`beforebegin`,t);return}let r=e.parent===`head`?e.parent:`body`;document[r].appendChild(t)}};e.default=n;var r=elementorFrontendConfig.urls.assets,i=elementorFrontendConfig.environmentMode.isScriptDebug?``:`.min`,a=elementorFrontendConfig.version;n.assets={script:{dialog:{src:`${r}lib/dialog/dialog${i}.js?ver=4.9.3`},"share-link":{src:`${r}lib/share-link/share-link${i}.js?ver=${a}`},swiper:{src:`${r}lib/swiper/v8/swiper${i}.js?ver=8.4.5`}},style:{swiper:{src:`${r}lib/swiper/v8/css/swiper${i}.css?ver=8.4.5`,parent:`head`},"e-lightbox":{src:(t=elementorFrontendConfig)!=null&&(t=t.responsive)!=null&&t.hasCu
94stomBreakpoints?`${elementorFrontendConfig.urls.uploadUrl}/elementor/css/custom-lightbox.min.css?ver=${a}`:`${r}css/conditionals/lightbox${i}.css?ver=${a}`},dialog:{src:`${r}css/conditionals/dialog${i}.css?ver=${a}`,parent:`head`,before:`#elementor-frontend-css`}}}}));function _typeof(e){"@babel/helpers - typeof";return _typeof=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},_typeof(e)}var ft=__esmMin((()=>{}));function toPrimitive(e,t){if(_typeof(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(_typeof(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var pt=__esmMin((()=>{ft()}));function toPropertyKey(e){var t=toPrimitive(e,`string`);return _typeof(t)==`symbol`?t:t+``}var mt=__esmMin((()=>{ft(),pt()}));function _defineProperty(e,t,n){return(t=toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ht=__esmMin((()=>{mt()}));function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var gt=__esmMin((()=>{ht()})),_t=__commonJSMin(((e,t)=>{var n=l();t.exports=Array.isArray||function isArray(e){return n(e)===`Array`}})),vt=__commonJSMin(((e,t)=>{var n=r(),i=_t(),a=TypeError,o=Object.getOwnPropertyDescriptor;t.exports=n&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}()?function(e,t){if(i(e)&&!o(e,`length`).writable)throw new a(`Cannot set read only .length`);return e.length=t}:function(e,t){return e.length=t}})),yt=__commonJSMin(((e,t)=>{var n=TypeError,r=9007199254740991;t.exports=function(e){if(e>r)throw n(`Maximum allowed index exceeded`);return e}})),$=__commonJSMin((()=>{var e=W(),t=j(),r=H(),i=vt(),a=yt(),o=n()(function(){return[].push.call({length:4294967296},1)!==4294967297}),properErrorOnNonWritableLength=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}};e({target:`Array`,proto:!0,arity:1,forced:o||!properErrorOnNonWritableLength()},{push:function push(e){var n=t(this),o=r(n),s=arguments.length;a(o+s);for(var c=0;c<s;c++)n[o]=arguments[c],o++;return i(n,o),o}})})),bt=__commonJSMin(((e,t)=>{var n=V();t.exports=function(e,t,r){for(var i in t)n(e,i,t[i],r);return e}})),xt=__commonJSMin(((e,t)=>{t.exports=function(e,t){return{value:e,done:t}}})),St=__commonJSMin(((e,t)=>{var n=q();t.exports=function(e,t,r){for(var i=e.length-1;i>=0;i--)if(e[i]!==void 0)try{r=n(e[i].iterator,t,r)}catch(e){t=`throw`,r=e}if(t===`throw`)throw r;return r}})),Ct=__commonJSMin(((e,t)=>{var n=a(),r=Ae(),i=R(),o=bt(),s=P(),c=le(),l=T(),u=je().IteratorPrototype,d=xt(),f=q(),p=St(),m=s(`toStringTag`),h=`IteratorHelper`,g=`WrapForValidIterator`,_=`normal`,v=`throw`,y=c.set,createIteratorProxyPrototype=function(e){var t=c.getterFor(e?g:h);return o(r(u),{next:function next(){var n=t(this);if(e)return n.nextHandler();if(n.done)return d(void 0,!0);try{var r=n.nextHandler();return n.returnHandlerResult?r:d(r,n.done)}catch(e){throw n.done=!0,e}},return:function(){var r=t(this),i=r.iterator;if(r.done=!0,e){var a=l(i,`return`);return a?n(a,i):d(void 0,!0)}if(r.inner)try{f(r.inner.iterator,_)}catch(e){return f(i,v,e)}if(r.openIters)try{p(r.openIters,_)}catch(e){return f(i,v,e)}return i&&f(i,_),d(void 0,!0)}})},b=createIteratorProxyPrototype(!0),x=createIteratorProxyPrototype(!1);
94i(x,m,`Iterator Helper`),t.exports=function(e,t,n){var r=function Iterator(r,i){i?(i.iterator=r.iterator,i.next=r.next):i=r,i.type=t?g:h,i.returnHandlerResult=!!n,i.nextHandler=e,i.counter=0,i.done=!1,y(this,i)};return r.prototype=t?b:x,r}})),wt=__commonJSMin(((e,t)=>{var n=I(),r=q();t.exports=function(e,t,i,a){try{return a?t(n(i)[0],i[1]):t(i)}catch(t){r(e,`throw`,t)}}})),Tt=__commonJSMin(((e,t)=>{t.exports=function(e,t){var n=typeof Iterator==`function`&&Iterator.prototype[e];if(n)try{n.call({next:null},t).next()}catch(e){return!0}}})),Et=__commonJSMin((()=>{var e=W(),t=a(),n=w(),r=I(),i=J(),o=Ct(),s=wt(),c=q(),l=Tt(),u=Y(),d=D(),f=!d&&!l(`map`,function(){}),p=!d&&!f&&u(`map`,TypeError),m=d||f||p,h=o(function(){var e=this.iterator,n=r(t(this.next,e));if(!(this.done=!!n.done))return s(e,this.mapper,[n.value,this.counter++],!0)});e({target:`Iterator`,proto:!0,real:!0,forced:m},{map:function map(e){r(this);try{n(e)}catch(e){c(this,`throw`,e)}return p?t(p,this,e):new h(i(this),{mapper:e})}})})),Dt=__commonJSMin((()=>{Et()})),Ot=__commonJSMin((e=>{gt(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,$(),G(),Z(),Dt();var Breakpoints=class extends elementorModules.Module{constructor(e){super(),this.responsiveConfig=e}getActiveBreakpointsList(e={}){e=_objectSpread2(_objectSpread2({},{largeToSmall:!1,withDesktop:!1}),e);let t=Object.keys(this.responsiveConfig.activeBreakpoints);if(e.withDesktop){let e=t.indexOf(`widescreen`)===-1?t.length:t.length-1;t.splice(e,0,`desktop`)}return e.largeToSmall&&t.reverse(),t}getBreakpointValues(){let{activeBreakpoints:e}=this.responsiveConfig,t=[];return Object.values(e).forEach(e=>{t.push(e.value)}),t}getDesktopPreviousDeviceKey(){let e=``,{activeBreakpoints:t}=this.responsiveConfig,n=Object.keys(t),r=n.length;return e=t[n[r-1]].direction===`min`?n[r-2]:n[r-1],e}getDesktopMinPoint(){let{activeBreakpoints:e}=this.responsiveConfig;return e[this.getDesktopPreviousDeviceKey()].value+1}getDeviceMinBreakpoint(e){if(e===`desktop`)return this.getDesktopMinPoint();let{activeBreakpoints:t}=this.responsiveConfig,n=Object.keys(t),r;return r=n[0]===e?320:e===`widescreen`?t[e]?t[e].value:this.responsiveConfig.breakpoints.widescreen:t[n[n.indexOf(e)-1]].value+1,r}getActiveMatchRegex(){return RegExp(this.getActiveBreakpointsList().map(e=>`_`+e).join(`|`)+`$`)}};e.default=Breakpoints})),kt=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.Events=void 0;var Events=class{static dispatch(e,t,n=null,r=null){e=e instanceof jQuery?e[0]:e,r&&e.dispatchEvent(new CustomEvent(r,{detail:n})),e.dispatchEvent(new CustomEvent(t,{detail:n}))}};e.Events=Events,e.default=Events})),At=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var _default=class extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler(`text-path`,()=>__elementorLoadChunk(`text-path`))}};e.default=_default})),jt=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var Controls=class{getControlValue(e,t,n){let r;return r=typeof e[t]==`object`&&n?e[t][n]:e[t],r}getResponsiveControlValue(e,t,n=``,r=null){let i=r||elementorFrontend.getCurrentDeviceMode(),a=this.getControlValue(e,t,n);if(i===`widescreen`){let r=this.getControlValue(e,`${t}_widescreen`,n);return r||r===0?r:a}let o=elementorFrontend.breakpoints.getActiveBreakpointsList({withDesktop:!0}),s=i,c=o.indexOf(i),l=``;for(;c<=o.length;){if(s===`desktop`){l=a;break}let r=`${t}_${s}`,i=this.getControlValue(e,r,n);if(i||i===0){l=i;break}c++,s=o[c]}return l}};e.default=Controls})),Mt=__commonJSMin((()=>{var e=W(),t=a(),n=w(),r=I(),i=J(),o=Ct(),s=wt(),c=D(),l=q(),u=Tt(),d=Y(),f=!c&&!u(`filter`,function(){}),p=!c&&!f&&d(`filter`,TypeError),m=c||f||p,h=o(function(){for(var e=this.iterator,n=this.predicate,i=this.next,a,o,c;;){if(a=r(t(i,e)),o=this.done=!!a.done,o)return;if(c=a.value,s(e,n,[c,this.counter++],!0))return c}});e({target:`Iterator`,proto:!0,real:!0,forced:m},{filter:function filter(e){r(this);try{n(e)}catch(e){l(this,`throw`,e)}return p?t(p,this,e):new h(i(this),{predicate:e})}})})),Nt=__commonJSMin((()=>{Mt()})),Pt=__commonJSMin((e=>
94{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,$(),G(),Nt(),Z();var _default=class extends elementorModules.ViewModule{getDefaultSettings(){return{selectors:{links:`.elementor-element a[href*="#"]`,stickyElements:`.elementor-element.elementor-sticky`}}}onInit(){this.observeStickyElements(()=>{this.initializeStickyAndAnchorTracking()})}observeStickyElements(e){new MutationObserver(t=>{for(let n of t)(n.type===`childList`||n.type===`attributes`&&n.target.classList.contains(`elementor-sticky`))&&e()}).observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`class`,`style`]})}initializeStickyAndAnchorTracking(){let e=this.getAllAnchorLinks(),t=this.getAllStickyElements(),n=[];!t.length>0&&!e.length>0||(this.trackStickyElements(t,n),this.trackAnchorLinks(e,n),this.organizeStickyAndAnchors(n))}trackAnchorLinks(e,t){e.forEach(e=>{let n=this.getAnchorTarget(e),r=this.getScrollPosition(n);t.push({element:n,type:`anchor`,scrollPosition:r})})}trackStickyElements(e,t){e.forEach(e=>{let n=this.getElementSettings(e);if(!n||!n.sticky_anchor_link_offset)return;let{sticky_anchor_link_offset:r}=n;if(r===0)return;let i=this.getScrollPosition(e);t.push({scrollMarginTop:r,type:`sticky`,scrollPosition:i})})}
94organizeStickyAndAnchors(e){let t=this.filterAndSortElementsByType(e,`sticky`),n=this.filterAndSortElementsByType(e,`anchor`);t.forEach((e,r)=>{this.defineCurrentStickyRange(e,r,t,n)})}defineCurrentStickyRange(e,t,n,r){let i=t+1<n.length?n[t+1].scrollPosition:1/0;e.anchor=r.filter(t=>{let n=t.scrollPosition>e.scrollPosition&&t.scrollPosition<i;return n&&(t.element.style.scrollMarginTop=`${e.scrollMarginTop}px`),n})}getScrollPosition(e){let t=0;for(;e;)t+=e.offsetTop,e=e.offsetParent;return t}getAllStickyElements(){let e=document.querySelectorAll(this.getSettings(`selectors.stickyElements`));return Array.from(e).filter((e,t,n)=>t===n.findIndex(t=>t.getAttribute(`data-id`)===e.getAttribute(`data-id`)))}getAllAnchorLinks(){let e=document.querySelectorAll(this.getSettings(`selectors.links`));return Array.from(e).filter((e,t,n)=>t===n.findIndex(t=>t.getAttribute(`href`)===e.getAttribute(`href`)))}filterAndSortElementsByType(e,t){return e.filter(e=>t===e.type).sort((e,t)=>e.scrollPosition-t.scrollPosition)}isValidSelector(e){return/^#[A-Za-z_][\w-]*$/.test(e)}getAnchorTarget(e){let t=e==null?void 0:e.hash;return this.isValidSelector(t)?document.querySelector(t):null}getElementSettings(e){return JSON.parse(e.getAttribute(`data-settings`))}};e.default=_default})),Ft=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isScrollSnapActive=e.escapeHTML=void 0;var escapeHTML=e=>{let t={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,"'":`&#39;`,'"':`&quot;`};return e.replace(/[&<>'"]/g,e=>t[e]||e)};e.escapeHTML=escapeHTML;var isScrollSnapActive=()=>{var e,t;return(elementorFrontend.isEditMode()?(e=elementor.settings.page.model.attributes)==null?void 0:e.scroll_snap:(t=elementorFrontend.config.settings.page)==null?void 0:t.scroll_snap)===`yes`};e.isScrollSnapActive=isScrollSnapActive})),It=__commonJSMin(((e,t)=>{$();var EventManager=function(){var e=Array.prototype.slice,t,n={actions:{},filters:{}};function _removeHook(e,t,r,i){var a,o,s;if(n[e][t])if(!r)n[e][t]=[];else if(a=n[e][t],i)for(s=a.length;s--;)o=a[s],o.callback===r&&o.context===i&&a.splice(s,1);else for(s=a.length;s--;)a[s].callback===r&&a.splice(s,1)}function _hookInsertSort(e){for(var t,n,r,i=1,a=e.length;i<a;i++){for(t=e[i],n=i;(r=e[n-1])&&r.priority>t.priority;)e[n]=e[n-1],--n;e[n]=t}return e}function _addHook(e,t,r,i,a){var o={callback:r,priority:i,context:a},s=n[e][t];if(s){var c=!1;if(jQuery.each(s,function(){if(this.callback===r)return c=!0,!1}),c)return;s.push(o),s=_hookInsertSort(s)}else s=[o];n[e][t]=s}function _runHook(e,t,r){var i=n[e][t],a,o;if(!i)return e===`filters`&&r[0];if(o=i.length,e===`filters`)for(a=0;a<o;a++)r[0]=i[a].callback.apply(i[a].context,r);else for(a=0;a<o;a++)i[a].callback.apply(i[a].context,r);return e!==`filters`||r[0]}function addAction(e,n,r,i){return typeof e==`string`&&typeof n==`function`&&(r=parseInt(r||10,10),_addHook(`actions`,e,n,r,i)),t}function doAction(){var n=e.call(arguments),r=n.shift();return typeof r==`string`&&_runHook(`actions`,r,n),t}function removeAction(e,n){return typeof e==`string`&&_removeHook(`actions`,e,n),t}function addFilter(e,n,r,i){return typeof e==`string`&&typeof n==`function`&&(r=parseInt(r||10,10),_addHook(`filters`,e,n,r,i)),t}function applyFilters(){var n=e.call(arguments),r=n.shift();return typeof r==`string`?_runHook(`filters`,r,n):t}function removeFilter(e,n){return typeof e==`string`&&_removeHook(`filters`,e,n),t}return t={removeFilter,applyFilters,addFilter,removeAction,doAction,addAction},t};t.exports=EventManager})),Lt=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var GlobalHandler=class extends elementorModules.frontend.handlers.Base{getWidgetType(){return`global`}animate(){let e=this.$element,t=this.getAnimation();if(t===`none`){e.removeClass(`elementor-invisible`);return}let n=this.getElementSettings(),r=n._animation_delay||n.animation_delay||0;e.removeClass(t),this.currentAnimation&&e.removeClass(this.currentAnimation),this.currentAnimation=t,setTimeout(()=>{e.removeClass(`elementor-invisible`).addClass(`animated `+t)},r)}getAnimation(){return this.getCurrentDeviceSetting(`animation`)||this.getCurrentDeviceSetting(`_animation`)}onInit(...e){if(super.onInit(...e),this.getAnimation()){let e=elementorModules.utils.Scroll.
94scrollObserver({callback:t=>{t.isInViewport&&(this.animate(),e.unobserve(this.$element[0]))}});e.observe(this.$element[0])}}onElementChange(e){/^_?animation/.test(e)&&this.animate()}},_default=e=>{elementorFrontend.elementsHandler.addHandler(GlobalHandler,{$element:e})};e.default=_default})),Rt=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createEditorHandler=createEditorHandler;function createEditorHandler(e){return()=>new Promise(t=>{elementorFrontend.isEditMode()&&e().then(t)})}})),zt=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=Rt();e.default=[()=>__elementorLoadChunk(`background-slideshow`),()=>__elementorLoadChunk(`background-video`),(0,t.createEditorHandler)(()=>__elementorLoadChunk(`handles-position`)),(0,t.createEditorHandler)(()=>__elementorLoadChunk(`container-shapes`)),(0,t.createEditorHandler)(()=>__elementorLoadChunk(`container-grid-container`))]})),Bt=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=Rt();e.default=[()=>__elementorLoadChunk(`section-stretched-section`),()=>__elementorLoadChunk(`background-slideshow`),()=>__elementorLoadChunk(`background-video`),(0,t.createEditorHandler)(()=>__elementorLoadChunk(`handles-position`)),(0,t.createEditorHandler)(()=>__elementorLoadChunk(`section-shapes`))]})),Vt=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.default=[()=>__elementorLoadChunk(`background-slideshow`)]})),Ht=__commonJSMin(((t,n)=>{var r=e();G(),Z();var i=r(Lt()),a=r(zt()),o=r(Bt()),s=r(Vt());n.exports=function(e){let t={};this.elementsHandlers={"accordion.default":()=>__elementorLoadChunk(`accordion`),"alert.default":()=>__elementorLoadChunk(`alert`),"counter.default":()=>__elementorLoadChunk(`counter`),"progress.default":()=>__elementorLoadChunk(`progress`),"tabs.default":()=>__elementorLoadChunk(`tabs`),"toggle.default":()=>__elementorLoadChunk(`toggle`),"video.default":()=>__elementorLoadChunk(`video`),"image-carousel.default":()=>__elementorLoadChunk(`image-carousel`),"text-editor.default":()=>__elementorLoadChunk(`text-editor`),"wp-widget-media_audio.default":()=>__elementorLoadChunk(`wp-audio`),container:a.default,section:o.default,column:s.default},elementorFrontendConfig.experimentalFeatures.container&&(this.elementsHandlers[`nested-tabs.default`]=()=>__elementorLoadChunk(`nested-tabs`),this.elementsHandlers[`nested-accordion.default`]=()=>__elementorLoadChunk(`nested-accordion`)),elementorFrontendConfig.experimentalFeatures.container&&(this.elementsHandlers[`contact-buttons.default`]=()=>__elementorLoadChunk(`contact-buttons`),this.elementsHandlers[`floating-bars-var-1.default`]=()=>__elementorLoadChunk(`floating-bars`));let addGlobalHandlers=()=>elementorFrontend.hooks.addAction(`frontend/element_ready/global`,i.default),addElementsHandlers=()=>{e.each(this.elementsHandlers,(e,t)=>{let n=e.split(`.`);e=n[0];let r=n[1]||null;this.attachHandler(e,t,r)})},isClassHandler=e=>{var t;return(t=e.prototype)==null?void 0:t.getUniqueHandlerID},addHandlerWithHook=(e,t,n=`default`)=>{n=n?`.`+n:``;let r=e+n;elementorFrontend.hooks.addAction(`frontend/element_ready/${r}`,e=>{if(isClassHandler(t))this.addHandler(t,{$element:e,elementName:r},!0);else{let n=t();if(!n)return;n instanceof Promise?n.then(({default:t})=>{this.addHandler(t,{$element:e,elementName:r},!0)}):this.addHandler(n,{$element:e,elementName:r},!0)}})};this.addHandler=function(n,r){let i=r.$element.data(`model-cid`),a;if(i){a=n.prototype.getConstructorID(),t[i]||(t[i]={});let e=t[i][a];e&&e.onDestroy()}let o=new n(r);elementorFrontend.hooks.doAction(`frontend/element_handler_ready/${r.elementName}`,r.$element,e),i&&(t[i][a]=o)},this.attachHandler=(e,t,n)=>{Array.isArray(t)||(t=[t]),t.forEach(t=>addHandlerWithHook(e,t,n))},this.getHandler=function(e){let t=this.elementsHandlers[e];return isClassHandler(t)?t:new Promise(e=>{t().then(({default:t})=>{e(t)})})},this.getHandlers=function(e){return elementorDevTools.deprecation.deprecated(`getHandlers`,`3.1.0`,`elementorFrontend.elementsHandler.getHandler`),e?this.getHandler(e):this.elementsHandlers},this.runReadyTrigger=function(t){let n=!!t.closest(`[data-delay-child-handlers="true"]`)&&t.closest(`[data-delay-child-handlers="true"]`).length!==0;if(elementorFrontend.config.is_static||n)return;let r=jQuery(t),i=r.attr(`data-element_type`);if(i&&(elementorFrontend.hooks.doAction(`frontend/element_ready/global`,r,e),elementorFrontend.hooks.doAction(`frontend/element_ready/${i}`,r,e),i===`widget`)){let t=r.attr(`data-widget_type`);elementorFrontend.hooks.doAction(`frontend/element_ready/${t}`,r,e)}},this.init=()=>{addGlobalHandlers(),addElementsHandlers()}}}));return __commonJSMin((t=>{var n=e();
94Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,G(),X(),Z(),Ue(),We();var r=n(Ke()),i=n(qe()),a=n(Je()),o=n(Ye()),s=n(Xe()),c=n(Q()),l=n(ct()),u=n(lt()),d=n(ut()),f=n(dt()),p=n(Ot()),m=n(kt()),h=n(At()),g=n(jt()),_=n(Pt()),v=Ft(),y=It(),b=Ht(),Frontend=class extends elementorModules.ViewModule{constructor(...e){super(...e),this.config=elementorFrontendConfig,this.config.legacyMode={get elementWrappers(){return elementorFrontend.isEditMode()&&window.top.elementorDevTools.deprecation.deprecated(`elementorFrontend.config.legacyMode.elementWrappers`,`3.1.0`),!1}},this.populateActiveBreakpointsConfig()}get Module(){return this.isEditMode()&&parent.elementorDevTools.deprecation.deprecated(`elementorFrontend.Module`,`2.5.0`,`elementorModules.frontend.handlers.Base`),elementorModules.frontend.handlers.Base}getDefaultSettings(){return{selectors:{elementor:`.elementor`,adminBar:`#wpadminbar`}}}getDefaultElements(){let e={window,$window:jQuery(window),$document:jQuery(document),$head:jQuery(document.head),$body:jQuery(document.body),$deviceMode:jQuery(`<span>`,{id:`elementor-device-mode`,class:`elementor-screen-only`})};return e.$body.append(e.$deviceMode),e}bindEvents(){this.elements.$window.on(`resize`,()=>this.setDeviceModeData())}getElements(e){return this.getItems(this.elements,e)}getPageSettings(e){let t=this.isEditMode()?elementor.settings.page.model.attributes:this.config.settings.page;return this.getItems(t,e)}getGeneralSettings(e){return this.isEditMode()&&parent.elementorDevTools.deprecation.deprecated(`getGeneralSettings()`,`3.0.0`,"getKitSettings() and remove the `elementor_` prefix"),this.getKitSettings(`elementor_${e}`)}getKitSettings(e){return this.getItems(this.config.kit,e)}getCurrentDeviceMode(){return getComputedStyle(this.elements.$deviceMode[0],`:after`).content.replace(/"/g,``)}getDeviceSetting(e,t,n){if(e===`widescreen`)return this.getWidescreenSetting(t,n);let r=elementorFrontend.breakpoints.getActiveBreakpointsList({largeToSmall:!0,withDesktop:!0}),i=r.indexOf(e);for(;i>0;){let e=r[i],a=t[n+`_`+e];if(a||a===0)return a;i--}return t[n]}getWidescreenSetting(e,t){let n=t+`_widescreen`,r;return r=e[n]?e[n]:e[t],r}getCurrentDeviceSetting(e,t){return this.getDeviceSetting(elementorFrontend.getCurrentDeviceMode(),e,t)}isEditMode(){return this.config.environmentMode.edit}isWPPreviewMode(){return this.config.environmentMode.wpPreview}initDialogsManager(){let e;this.getDialogsManager=()=>(e||(e=new DialogsManager.Instance),e)}initOnReadyComponents(){this.utils={youtube:new o.default,vimeo:new s.default,baseVideoLoader:new c.default,get lightbox(){return d.default.getLightbox()},urlActions:new l.default,swiper:u.default,environment:a.default,assetsLoader:new f.default,escapeHTML:v.escapeHTML,events:m.default,controls:new g.default,anchor_scroll_margin:new _.default},this.modules={StretchElement:elementorModules.frontend.tools.StretchElement,Masonry:elementorModules.utils.Masonry},this.elementsHandler.init(),this.isEditMode()?elementor.once(`document:loaded`,()=>this.onDocumentLoaded()):this.onDocumentLoaded()}initOnReadyElements(){this.elements.$wpAdminBar=this.elements.$document.find(this.getSettings(`selectors.adminBar`))}addUserAgentClasses(){for(let[e,t]of Object.entries(a.default))t&&this.elements.$body.addClass(`e--ua-`+e)}setDeviceModeData(){this.elements.$body.attr(`data-elementor-device-mode`,this.getCurrentDeviceMode())}addListenerOnce(e,t,n,r){if(r||(r=this.elements.$window),!this.isEditMode()){r.on(t,n);return}if(this.removeListeners(e,t,r),r instanceof jQuery){let i=t+`.`+e;r.on(i,n)}else r.on(t,n,e)}removeListeners(e,t,n,r){if(r||(r=this.elements.$window),r instanceof jQuery){let i=t+`.`+e;r.off(i,n)}else r.off(t,n,e)}debounce(e,t){let n;return function(){let r=this,i=arguments,later=()=>{n=null,e.apply(r,i)},a=!n;clearTimeout(n),n=setTimeout(later,t),a&&e.apply(r,i)}}muteMigrationTraces(){jQuery.migrateMute=!0,jQuery.migrateTrace=!1}initModules(){let e={shapes:h.default};elementorFrontend.trigger(`elementor/modules/init:before`),elementorFrontend.trigger(`elementor/modules/init/before`),Object.entries(e).forEach(([e,t])=>{this.modulesHandlers[e]=new t})}populateActiveBreakpointsConfig(){this.config.responsive.activeBreakpoints={}
vendor: 35,114 bytes, lines 94-107
94,Object.entries(this.config.responsive.breakpoints).forEach(([e,t])=>{t.is_enabled&&(this.config.responsive.activeBreakpoints[e]=t)})}init(){this.hooks=new y,this.breakpoints=new p.default(this.config.responsive),this.storage=new i.default,this.elementsHandler=new b(jQuery),this.modulesHandlers={},this.addUserAgentClasses(),this.setDeviceModeData(),this.initDialogsManager(),this.isEditMode()&&this.muteMigrationTraces(),m.default.dispatch(this.elements.$window,`elementor/frontend/init`),this.initModules(),this.initOnReadyElements(),this.initOnReadyComponents()}onDocumentLoaded(){this.documentsManager=new r.default,this.trigger(`components:init`),new d.default}};t.default=Frontend,window.elementorFrontend=new Frontend,elementorFrontend.isEditMode()||jQuery(()=>elementorFrontend.init())}))()})();;
95/**
96 * Swiper 8.4.5
97 * Most modern mobile touch slider and framework with hardware accelerated transitions
98 * https://swiperjs.com
99 *
100 * Copyright 2014-2022 Vladimir Kharlampidi
101 *
102 * Released under the MIT License
103 *
104 * Released on: November 21, 2022
105 */
106
107 !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={}),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"))+parseFloat(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}(),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.roundLengths&&(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);const v=-o[g];if(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(n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(v),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;if(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;
vendor: 8,012 bytes, line 107
107n.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;const m=!!l.noSwipingClass&&""!==l.noSwipingClass,f=e.composedPath?e.composedPath():e.path;m&&p.target&&p.target.shadowRoot&&f&&(h=d(f[0]));const g=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,v=!(!p.target||!p.target.shadowRoot);if(l.noSwiping&&(v?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)}(g,h[0]):h.closest(g)[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 w=o.currentX,b=o.currentY,x=l.edgeSwipeDetection||l.iOSEdgeSwipeDetection,y=l.edgeSwipeThreshold||l.iOSEdgeSwipeThreshold;if(x&&(w<=y||w>=i.innerWidth-y)){if("prevent"!==x)return;e.preventDefault()}if(Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=w,o.startY=b,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
vendor: 1,100 bytes, line 107
107=!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: 17,582 bytes, line 107
107if(!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};n[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 q(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 j={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:q(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({},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}
107rtl`),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();
vendor: 34,804 bytes, line 107
107return 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(j).forEach((e=>{Object.keys(j[e]).forEach((t=>{V.prototype[t]=j[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);if(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={time: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}-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()})),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,
1070,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}
107px,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,199 bytes, line 107
107{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}}),t.a11y={clicked:!1};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)=>
107{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=()=>{t.a11y.clicked=!0},b=()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{t.destroyed||(t.a11y.clicked=!1)}))}))},x=e=>{if(t.a11y.clicked)return;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||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,t.slideTo(t.slides.indexOf(s),0))},y=()=>{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))}))},E=()=>{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),y(),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",x,!0),t.$el.on("pointerdown",w,!0),t.$el.on("pointerup",b,!0)};a("beforeInit",(()=>{i=d(`<span class="${t.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`)})),a("afterInit",(()=>{t.params.a11y.enabled&&E()})),a("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&y()})),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",x,!0),t.$el.off("pointerdown",w,!0),t.$el.off("pointerup",b,!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}
107`);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();if(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: 11,383 bytes, line 107
107t.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));const 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);
107let 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,perSlideRotate:2,perSlideOffset:8}}),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=-a.perSlideRotate*c,v=a.perSlideOffset-.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}));
108 //# sourceMappingURL=swiper-bundle.min.js.map;
109/** Abstract base class for collection plugins v1.0.1.
110	Written by Keith Wood (kbwood{at}iinet.com.au) December 2013.
111	Licensed under the MIT (http://keith-wood.name/licence.html) license. */
112(function(){var j=false;window.JQClass=function(){};JQClass.classes={};JQClass.extend=function extender(f){var g=this.prototype;j=true;var h=new this();j=false;for(var i in f){h[i]=typeof f[i]=='function'&&typeof g[i]=='function'?(function(d,e){return function(){var b=this._super;this._super=function(a){return g[d].apply(this,a||[])};var c=e.apply(this,arguments);this._super=b;return c}})(i,f[i]):f[i]}function JQClass(){if(!j&&this._init){this._init.apply(this,arguments)}}JQClass.prototype=h;JQClass.prototype.constructor=JQClass;JQClass.extend=extender;return JQClass}})();(function($){JQClass.classes.JQPlugin=JQClass.extend({name:'plugin',defaultOptions:{},regionalOptions:{},_getters:[],_getMarker:function(){return'is-'+this.name},_init:function(){$.extend(this.defaultOptions,(this.regionalOptions&&this.regionalOptions[''])||{});var c=camelCase(this.name);$[c]=this;$.fn[c]=function(a){var b=Array.prototype.slice.call(arguments,1
112);if($[c]._isNotChained(a,b)){return $[c][a].apply($[c],[this[0]].concat(b))}return this.each(function(){if(typeof a==='string'){if(a[0]==='_'||!$[c][a]){throw'Unknown method: '+a;}$[c][a].apply($[c],[this].concat(b))}else{$[c]._attach(this,a)}})}},setDefaults:function(a){$.extend(this.defaultOptions,a||{})},_isNotChained:function(a,b){if(a==='option'&&(b.length===0||(b.length===1&&typeof b[0]==='string'))){return true}return $.inArray(a,this._getters)>-1},_attach:function(a,b){a=$(a);if(a.hasClass(this._getMarker())){return}a.addClass(this._getMarker());b=$.extend({},this.defaultOptions,this._getMetadata(a),b||{});var c=$.extend({name:this.name,elem:a,options:b},this._instSettings(a,b));a.data(this.name,c);this._postAttach(a,c);this.option(a,b)},_instSettings:function(a,b){return{}},_postAttach:function(a,b){},_getMetadata:function(d){try{var f=d.data(this.name.toLowerCase())||'';f=f.replace(/'/g,'"');f=f.replace(/([a-zA-Z0-9]+):/g,function(a,b,i){var c=f.substring(0,i).match(/"/g);return(!c||c.length%2===0?'"'+b+'":':b+':')});f=$.parseJSON('{'+f+'}');for(var g in f){var h=f[g];if(typeof h==='string'&&h.match(/^new Date\((.*)\)$/)){f[g]=eval(h)}}return f}catch(e){return{}}},_getInst:function(a){return $(a).data(this.name)||{}},option:function(a,b,c){a=$(a);var d=a.data(this.name);if(!b||(typeof b==='string'&&c==null)){var e=(d||{}).options;return(e&&b?e[b]:e)}if(!a.hasClass(this._getMarker())){return}var e=b||{};if(typeof b==='string'){e={};e[b]=c}this._optionsChanged(a,d,e);$.extend(d.options,e)},_optionsChanged:function(a,b,c){},destroy:function(a){a=$(a);if(!a.hasClass(this._getMarker())){return}this._preDestroy(a,this._getInst(a));a.removeData(this.name).removeClass(this._getMarker())},_preDestroy:function(a,b){}});function camelCase(c){return c.replace(/-([a-z])/g,function(a,b){return b.toUpperCase()})}$.JQPlugin={createPlugin:function(a,b){if(typeof a==='object'){b=a;a='JQPlugin'}a=camelCase(a);var c=camelCase(b.name);JQClass.classes[c]=JQClass.classes[a].extend(b);new JQClass.classes[c]()}}})(jQuery);;
113var hb_months_name = ["January","February","March","April","May","June","July","August","September","October","November","December"];
114var hb_day_names = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
115var hb_day_names_min = ["Su","Mo","Tu","We","Th","Fr","Sa"];
116var hb_date_format = "mm/dd/yyyy";
117var hb_first_day = "1";
118var hb_is_rtl = "false";
119var hb_accom_data_2131 = {"min_date":"2026-10-05","max_date":"2027-10-05"};
120;
121/* http://keith-wood.name/datepick.html
122   Date picker for jQuery v5.0.1.
123   Written by Keith Wood (kbwood{at}iinet.com.au) February 2010.
124   Licensed under the MIT (http://keith-wood.name/licence.html) licence. 
125   Please attribute the author if you use it. */
126(function($){var E='datepick';$.JQPlugin.createPlugin({name:E,defaultRenderer:{picker:'<div class="datepick">'+'<div class="datepick-nav">{link:prev}{link:today}{link:next}</div>{months}'+'{popup:start}<div class="datepick-ctrl">{link:clear}{link:close}</div>{popup:end}'+'<div class="datepick-clear-fix"></div></div>',monthRow:'<div class="datepick-month-row">{months}</div>',month:'<div class="datepick-month"><div class="datepick-month-header">{monthHeader}</div>'+'<table><thead>{weekHeader}</thead><tbody>{weeks}</tbody></table></div>',weekHeader:'<tr>{days}</tr>',dayHeader:'<th>{day}</th>',week:'<tr>{days}</tr>',day:'<td>{day}</td>',monthSelector:'.datepick-month',daySelector:'td',rtlClass:'datepick-rtl',multiClass:'datepick-multi',defaultClass:'',selectedClass:'datepick-selected',highlightedClass:'datepick-highlight',todayClass:'datepick-today',otherMonthClass:'datepick-other-month',weekendClass:'datepick-weekend',commandClass:'datepick-cmd',commandButtonClass:'',commandLinkClass:'',disabledClass:'datepick-disabled'},commands:{prev:{text:'prevText',status:'prevStatus',keystroke:{keyCode:33},enabled:function(a){var b=a.curMinDate();return(!b||F.add(F.day(F._applyMonthsOffset(F.add(F.newDate(a.drawDate),1-a.options.monthsToStep,'m'),a),1),-1,'d').getTime()>=b.getTime())},date:function(a){return F.day(F._applyMonthsOffset(F.add(F.newDate(a.drawDate),-a.options.monthsToStep,'m'),a),1)},action:function(a){F.changeMonth(this,-a.options.monthsToStep)}},prevJump:{text:'prevJumpText',status:'prevJumpStatus',keystroke:{keyCode:33,ctrlKey:true},enabled:function(a){var b=a.curMinDate();return(!b||F.add(F.day(F._applyMonthsOffset(F.add(F.newDate(a.drawDate),1-a.options.monthsToJump,'m'),a),1),-1,'d').getTime()>=b.getTime())},date:function(a){return F.day(F._applyMonthsOffset(F.add(F.newDate(a.drawDate),-a.options.monthsToJump,'m'),a),1)},action:function(a){F.changeMonth(this,-a.options.monthsToJump)}},next:{text:'nextText',status:'nextStatus',keystroke:{keyCode:34},enabled:function(a){var b=a.get('maxDate');return(!b||F.day(F._applyMonthsOffset(F.add(F.newDate(a.drawDate),a.options.monthsToStep,'m'),a),1).getTime()<=b.getTime())},date:function(a){return F.day(F._applyMonthsOffset(F.add(F.newDate(a.drawDate),a.options.monthsToStep,'m'),a),1)},action:function(a){F.changeMonth(this,a.options.monthsToStep)}},nextJump:{text:'nextJumpText',status:'nextJumpStatus',keystroke:{keyCode:34,ctrlKey:true},enabled:function(a){var b=a.get('maxDate');return(!b||F.day(F._applyMonthsOffset(F.add(F.newDate(a.drawDate),a.options.monthsToJump,'m'),a),1).getTime()<=b.getTime())},date:function(a){return F.day(F._applyMonthsOffset(F.add(F.newDate(a.drawDate),a.options.monthsToJump,'m'),a),1)},action:function(a){F.changeMonth(this,a.options.monthsToJump)}},current:{text:'currentText',status:'currentStatus',keystroke:{keyCode:36,ctrlKey:true},enabled:function(a){var b=a.curMinDate();var c=a.get('maxDate');var d=a.selectedDates[0]||F.today();return(!b||d.getTime()>=b.getTime())&&(!c||d.getTime()<=c.getTime())},date:function(a){return a.selectedDates[0]||F.today()},action:function(a){var b=a.selectedDates[0]||F.today();F.showMonth(this,b.getFullYear(),b.getMonth()+1)}},today:{text:'todayText',status:'todayStatus',keystroke:{keyCode:36,ctrlKey:true},enabled:function(a){var b=a.curMinDate();var c=a.get('maxDate');return(!b||F.today().getTime()>=b.getTime())&&(!c||F.today().getTime()<=c.getTime())},date:function(a){return F.today()},action:function(a){F.showMonth(this)}},clear:{text:'clearText',status:'clearStatus',keystroke:{keyCode:35,ctrlKey:true},enabled:function(a){return true},date:function(a){return null},action:function(a){F.clear(this)}},close:{text:'closeText',status:'closeStatus',keystroke:{keyCode:27},enabled:function(a){return true},date:function(a){return null},action:function(a){F.hide(this)}},prevWeek:{text:'prevWeekText',status:'prevWeekStatus',keystroke:{keyCode:38,ctrlKey:true},enabled:function(a){var b=a.curMinDate();return(!b||F.add(F.newDate(a.drawDate),-7,'d').getTime()>=b.getTime())},date:function(a){return F.add(F.newDate(a.drawDate),-7,'d')},action:function(a){F.changeDay(this,-7)}},prevDay:{text:'prevDayText',status:'prevDayStatus',keystroke:{keyCode:37,ctrlKey:true},enabled:function(a){var b=a.curMinDate();return(!b||F.add(F.newDate(a.drawDate),-1,'d').getTime()>=b.getTime())},date:function(a){return F.add(F.newDate(a.drawDate),-1,'d')},action:function(a){F.changeDay(this,-1)}},nextDay:{text:'nextDayText',status:'nextDayStatus',keystroke:{keyCode:39,ctrlKey:true},enabled:function(a){var b=a.get('maxDate');return(!b||F.add(F.newDate(a.drawDate),1,'d').getTime()<=b.getTime())},date:function(a){return F.add(F.newDate(a.drawDate),1,'d')},action:function(a){F.changeDay(this,1)}},nextWeek:{text:'nextWeekText',status:'nextWeekStatus',keystroke:{keyCode:40,ctrlKey:true},enabled:function(a){var b=a.get('maxDate');return(!b||F.add(F.newDate(a.drawDate),7,'d').getTime()<=b.getTime())},date:function(a){return F.add(F.newDate(a.drawDate),7,'d')},action:function(a){F.changeDay(this,7)}}},defaultOptions:{pickerClass:'',showOnFocus:true,showTrigger:null,showAnim
126:'show',showOptions:{},showSpeed:'normal',popupContainer:null,alignment:'bottom',fixedWeeks:false,firstDay:0,calculateWeek:null,monthsToShow:1,monthsOffset:0,monthsToStep:1,monthsToJump:12,useMouseWheel:true,changeMonth:true,yearRange:'c-10:c+10',shortYearCutoff:'+10',showOtherMonths:false,selectOtherMonths:false,defaultDate:null,selectDefaultDate:false,minDate:null,maxDate:null,dateFormat:'mm/dd/yyyy',autoSize:false,rangeSelect:false,rangeSeparator:' - ',multiSelect:0,multiSeparator:',',onDate:null,onShow:null,onChangeMonthYear:null,onSelect:null,onClose:null,altField:null,altFormat:null,constrainInput:true,commandsAsDateFormat:false,commands:{}},regionalOptions:{'':{monthNames:['January','February','March','April','May','June','July','August','September','October','November','December'],monthNamesShort:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],dayNames:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],dayNamesShort:['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],dayNamesMin:['Su','Mo','Tu','We','Th','Fr','Sa'],dateFormat:'mm/dd/yyyy',firstDay:0,renderer:{},prevText:'&lt;Prev',prevStatus:'Show the previous month',prevJumpText:'&lt;&lt;',prevJumpStatus:'Show the previous year',nextText:'Next&gt;',nextStatus:'Show the next month',nextJumpText:'&gt;&gt;',nextJumpStatus:'Show the next year',currentText:'Current',currentStatus:'Show the current month',todayText:'Today',todayStatus:'Show today\'s month',clearText:'Clear',clearStatus:'Clear all the dates',closeText:'Close',closeStatus:'Close the datepicker',yearStatus:'Change the year',earlierText:'&#160;&#160;',laterText:'&#160;&#160;',monthStatus:'Change the month',weekText:'Wk',weekStatus:'Week of the year',dayStatus:'Select DD, M d, yyyy',defaultStatus:'Select a date',isRTL:false}},_getters:['getDate','isDisabled','isSelectable','retrieveDate'],_disabled:[],_popupClass:E+'-popup',_triggerClass:E+'-trigger',_disableClass:E+'-disable',_monthYearClass:E+'-month-year',_curMonthClass:E+'-month-',_anyYearClass:E+'-any-year',_curDoWClass:E+'-dow-',_ticksTo1970:(((1970-1)*365+Math.floor(1970/4)-Math.floor(1970/100)+Math.floor(1970/400))*24*60*60*10000000),_msPerDay:24*60*60*1000,ATOM:'yyyy-mm-dd',COOKIE:'D, dd M yyyy',FULL:'DD, MM d, yyyy',ISO_8601:'yyyy-mm-dd',JULIAN:'J',RFC_822:'D, d M yy',RFC_850:'DD, dd-M-yy',RFC_1036:'D, d M yy',RFC_1123:'D, d M yyyy',RFC_2822:'D, d M yyyy',RSS:'D, d M yy',TICKS:'!',TIMESTAMP:'@',W3C:'yyyy-mm-dd',formatDate:function(f,g,h){if(typeof f!=='string'){h=g;g=f;f=''}if(!g){return''}f=f||this.defaultOptions.dateFormat;h=h||{};var i=h.dayNamesShort||this.defaultOptions.dayNamesShort;var j=h.dayNames||this.defaultOptions.dayNames;var k=h.monthNamesShort||this.defaultOptions.monthNamesShort;var l=h.monthNames||this.defaultOptions.monthNames;var m=h.calculateWeek||this.defaultOptions.calculateWeek;var n=function(a,b){var c=1;while(s+c<f.length&&f.charAt(s+c)===a){c++}s+=c-1;return Math.floor(c/(b||1))>1};var o=function(a,b,c,d){var e=''+b;if(n(a,d)){while(e.length<c){e='0'+e}}return e};var p=function(a,b,c,d){return(n(a)?d[b]:c[b])};var q='';var r=false;for(var s=0;s<f.length;s++){if(r){if(f.charAt(s)==="'"&&!n("'")){r=false}else{q+=f.charAt(s)}}else{switch(f.charAt(s)){case'd':q+=o('d',g.getDate(),2);break;case'D':q+=p('D',g.getDay(),i,j);break;case'o':q+=o('o',this.dayOfYear(g),3);break;case'w':q+=o('w',m(g),2);break;case'm':q+=o('m',g.getMonth()+1,2);break;case'M':q+=p('M',g.getMonth(),k,l);break;case'y':q+=(n('y',2)?g.getFullYear():(g.getFullYear()%100<10?'0':'')+g.getFullYear()%100);break;case'@':q+=Math.floor(g.getTime()/1000);break;case'!':q+=g.getTime()*10000+this._ticksTo1970;break;case"'":if(n("'")){q+="'"}else{r=true}break;default:q+=f.charAt(s)}}}return q},parseDate:function(g,h,j){if(h==null){throw'Invalid arguments';}h=(typeof h==='object'?h.toString():h+'');if(h===''){return null}g=g||this.defaultOptions.dateFormat;j=j||{};var k=j.shortYearCutoff||this.defaultOptions.shortYearCutoff;k=(typeof k!=='string'?k:this.today().getFullYear()%100+parseInt(k,10));var l=j.dayNamesShort||this.defaultOptions.dayNamesShort;var m=j.dayNames||this.defaultOptions.dayNames;var n=j.monthNamesShort||this.defaultOptions.monthNamesShort;var o=j.monthNames||this.defaultOptions.monthNames;var p=-1;var q=-1;var r=-1;var s=-1;var t=false;var u=false;var v=function(a,b){var c=1;while(A+c<g.length&&g.charAt(A+c)===a){c++}A+=c-1;return Math.floor(c/(b||1))>1};var w=function(a,b){var c=v(a,b);var d=[2,3,c?4:2,11,20]['oy@!'.indexOf(a)+1];var e=new RegExp('^-?\\d{1,'+d+'}');var f=h.substring(z).match(e);if(!f){throw'Missing number at position {0}'.replace(/\{0\}/,z);}z+=f[0].length;return parseInt(f[0],10);};var x=function(a,b,c,d){var e=(v(a,d)?c:b);for(var i=0;i<e.length;i++){if(h.substr(z,e[i].length).toLowerCase()===e[i].toLowerCase()){z+=e[i].length;return i+1;}}throw'Unknown name at position {0}'.replace(/\{0\}/,z);};var y=function(){if(h.charAt(z)!==g.charAt(A)){throw'Unexpected literal at position {0}'.replace(/\{0\}/,z);}z++;};var z=0;for(var A=0;A<g.length;A++){if(u){if(g.charAt(A)==="'"&&!v("'")){u=false;}else{y();}}else{switch(g.charAt(A)){case'd':r=w('d');break;case'D':x('D',l,m);break;case'o':s=w('o');break;case'w':w('w');break;case'm':q=w('m');break;case'M':q=x('M',n,o);break;case'y':var B=A;t=!v('y',2);A=B;p=w('y',2);break;case'@':var C=this._normaliseDate(new Date(w('@')*1000));p=C.getFullYear();q=C.getMonth()+1;r=C.getDate();break;case'!':var C=this._normaliseDate(new Date((w('!')-this._ticksTo1970)/10000));p=C.getFullYear();q=C.getMonth()+1;r=C.getDate();break;case'*':z=h.length;break;case"'":if(v("'")){y();}else{u=true;}break;default:y();}}}if(z<h.length){throw'Additional text found at end';}if(p===-1){p=this.today().getFullYear();}else if(p<100&&t){p+=(k===-1?1900:this.today().getFullYear()-this.today().getFullYear()%100-(p<=k?0:100));}if(s>-1){q=1;r=s;for(var D=this.daysInMonth(p,q);r>D;D=this.daysInMonth(p,q)){q++;r-=D;}}var C=this.newDate(p,q,r);
126if(C.getFullYear()!==p||C.getMonth()+1!==q||C.getDate()!==r){throw'Invalid date';}return C;},determineDate:function(f,g,h,i,j){if(h&&typeof h!=='object'){j=i;i=h;h=null;}if(typeof i!=='string'){j=i;i='';}var k=function(a){try{return F.parseDate(i,a,j);}catch(e){}a=a.toLowerCase();var b=(a.match(/^c/)&&h?F.newDate(h):null)||F.today();var c=/([+-]?[0-9]+)\s*(d|w|m|y)?/g;var d=null;while(d=c.exec(a)){b=F.add(b,parseInt(d[1],10),d[2]||'d');}return b;};g=(g?F.newDate(g):null);f=(f==null?g:(typeof f==='string'?k(f):(typeof f==='number'?(isNaN(f)||f===Infinity||f===-Infinity?g:F.add(F.today(),f,'d')):F.newDate(f))));return f;},daysInMonth:function(a,b){b=(a.getFullYear?a.getMonth()+1:b);a=(a.getFullYear?a.getFullYear():a);return this.newDate(a,b+1,0).getDate();},dayOfYear:function(a,b,c){var d=(a.getFullYear?a:F.newDate(a,b,c));var e=F.newDate(d.getFullYear(),1,1);return Math.floor((d.getTime()-e.getTime())/F._msPerDay)+1;},iso8601Week:function(a,b,c){var d=(a.getFullYear?new Date(a.getTime()):F.newDate(a,b,c));d.setDate(d.getDate()+4-(d.getDay()||7));var e=d.getTime();d.setMonth(0,1);return Math.floor(Math.round((e-d)/F._msPerDay)/7)+1;},today:function(){return this._normaliseDate(new Date());},newDate:function(a,b,c){return(!a?null:(a.getFullYear?this._normaliseDate(new Date(a.getTime())):new Date(a,b-1,c,12)));},_normaliseDate:function(a){if(a){a.setHours(12,0,0,0);}return a;},year:function(a,b){a.setFullYear(b);return this._normaliseDate(a);},month:function(a,b){a.setMonth(b-1);return this._normaliseDate(a);},day:function(a,b){a.setDate(b);return this._normaliseDate(a);},add:function(a,b,c){if(c==='d'||c==='w'){this._normaliseDate(a);a.setDate(a.getDate()+b*(c==='w'?7:1));}else{var d=a.getFullYear()+(c==='y'?b:0);var e=a.getMonth()+(c==='m'?b:0);a.setTime(F.newDate(d,e+1,Math.min(a.getDate(),this.daysInMonth(d,e+1))).getTime());}return a;},_applyMonthsOffset:function(a,b){var c=b.options.monthsOffset;if($.isFunction(c)){c=c.apply(b.elem[0],[a]);}return F.add(a,-c,'m');},_init:function(){this.defaultOptions.commands=this.commands;this.defaultOptions.calculateWeek=this.iso8601Week;this.regionalOptions[''].renderer=this.defaultRenderer;this._super();},_instSettings:function(b,c){return{selectedDates:[],drawDate:null,pickingRange:false,inline:($.inArray(b[0].nodeName.toLowerCase(),['div','span'])>-1),get:function(a){if($.inArray(a,['defaultDate','minDate','maxDate'])>-1){return F.determineDate(this.options[a],null,this.selectedDates[0],this.options.dateFormat,this.getConfig());}return this.options[a];},curMinDate:function(){return(this.pickingRange?this.selectedDates[0]:this.get('minDate'));},getConfig:function(){return{dayNamesShort:this.options.dayNamesShort,dayNames:this.options.dayNames,monthNamesShort:this.options.monthNamesShort,monthNames:this.options.monthNames,calculateWeek:this.options.calculateWeek,shortYearCutoff:this.options.shortYearCutoff};}};},_postAttach:function(a,b){if(b.inline){b.drawDate=F._checkMinMax(F.newDate(b.selectedDates[0]||b.get('defaultDate')||F.today()),b);b.prevDate=F.newDate(b.drawDate);this._update(a[0]);if($.fn.mousewheel){a.mousewheel(this._doMouseWheel);}}else{this._attachments(a,b);a.on('keydown.'+b.name,this._keyDown).on('keypress.'+b.name,this._keyPress).on('keyup.'+b.name,this._keyUp);if(a.attr('disabled')){this.disable(a[0]);}}},_optionsChanged:function(b,c,d){if(d.calendar&&d.calendar!==c.options.calendar){var e=function(a){return(typeof c.options[a]==='object'?null:c.options[a]);};d=$.extend({defaultDate:e('defaultDate'),minDate:e('minDate'),maxDate:e('maxDate')},d);c.selectedDates=[];c.drawDate=null;}var f=c.selectedDates;$.extend(c.options,d);this.setDate(b[0],f,null,false,true);c.pickingRange=false;c.drawDate=F.newDate(this._checkMinMax((c.options.defaultDate?c.get('defaultDate'):c.drawDate)||c.get('defaultDate')||F.today(),c));if(!c.inline){this._attachments(b,c);}if(c.inline||c.div){this._update(b[0]);}},_attachments:function(a,b){a.off('focus.'+b.name);if(b.options.showOnFocus){a.on('focus.'+b.name,this.show);}if(b.trigger){b.trigger.remove();}var c=b.options.showTrigger;b.trigger=(!c?$([]):$(c).clone().removeAttr('id').addClass(this._triggerClass)[b.options.isRTL?'insertBefore':'insertAfter'](a).click(function(){if(!F.isDisabled(a[0])){F[F.curInst===b?'hide':'show'](a[0]);}}));this._autoSize(a,b);var d=this._extractDates(b,a.val());if(d){this.setDate(a[0],d,null,true);}var e=b.get('defaultDate');
126if(b.options.selectDefaultDate&&e&&b.selectedDates.length===0){this.setDate(a[0],F.newDate(e||F.today()));}},_autoSize:function(d,e){if(e.options.autoSize&&!e.inline){var f=F.newDate(2009,10,20);var g=e.options.dateFormat;if(g.match(/[DM]/)){var h=function(a){var b=0;var c=0;for(var i=0;i<a.length;i++){if(a[i].length>b){b=a[i].length;c=i;}}return c;};f.setMonth(h(e.options[g.match(/MM/)?'monthNames':'monthNamesShort']));f.setDate(h(e.options[g.match(/DD/)?'dayNames':'dayNamesShort'])+20-f.getDay());}e.elem.attr('size',F.formatDate(g,f,e.getConfig()).length);}},_preDestroy:function(a,b){if(b.trigger){b.trigger.remove();}a.empty().off('.'+b.name);if(b.inline&&$.fn.mousewheel){a.unmousewheel();}if(!b.inline&&b.options.autoSize){a.removeAttr('size');}},multipleEvents:function(b){var c=arguments;return function(a){for(var i=0;i<c.length;i++){c[i].apply(this,arguments);}};},enable:function(b){b=$(b);if(!b.hasClass(this._getMarker())){return;}var c=this._getInst(b);if(c.inline){b.children('.'+this._disableClass).remove().end().find('button,select').prop('disabled',false).end().find('a').attr('href','javascript:void(0)');}else{b.prop('disabled',false);c.trigger.filter('button.'+this._triggerClass).prop('disabled',false).end().filter('img.'+this._triggerClass).css({opacity:'1.0',cursor:''});}this._disabled=$.map(this._disabled,function(a){return(a===b[0]?null:a);});},disable:function(b){b=$(b);if(!b.hasClass(this._getMarker())){return;}var c=this._getInst(b);if(c.inline){var d=b.children(':last');var e=d.offset();var f={left:0,top:0};d.parents().each(function(){if($(this).css('position')==='relative'){f=$(this).offset();return false;}});var g=b.css('zIndex');g=(g==='auto'?0:parseInt(g,10))+1;b.prepend('<div class="'+this._disableClass+'" style="'+'width: '+d.outerWidth()+'px; height: '+d.outerHeight()+'px; left: '+(e.left-f.left)+'px; top: '+(e.top-f.top)+'px; z-index: '+g+'"></div>').find('button,select').prop('disabled',true).end().find('a').removeAttr('href');}else{b.prop('disabled',true);c.trigger.filter('button.'+this._triggerClass).prop('disabled',true).end().filter('img.'+this._triggerClass).css({opacity:'0.5',cursor:'default'});}this._disabled=$.map(this._disabled,function(a){return(a===b[0]?null:a);});this._disabled.push(b[0]);},isDisabled:function(a){return(a&&$.inArray(a,this._disabled)>-1);},show:function(a){a=$(a.target||a);var b=F._getInst(a);if(F.curInst===b){return;}if(F.curInst){F.hide(F.curInst,true);}if(!$.isEmptyObject(b)){b.lastVal=null;b.selectedDates=F._extractDates(b,a.val());b.pickingRange=false;b.drawDate=F._checkMinMax(F.newDate(b.selectedDates[0]||b.get('defaultDate')||F.today()),b);b.prevDate=F.newDate(b.drawDate);F.curInst=b;F._update(a[0],true);var c=F._checkOffset(b);b.div.css({left:c.left,top:c.top});var d=b.options.showAnim;var e=b.options.showSpeed;e=(e==='normal'&&$.ui&&parseInt($.ui.version.substring(2))>=8?'_default':e);if($.effects&&($.effects[d]||($.effects.effect&&$.effects.effect[d]))){var f=b.div.data();for(var g in f){if(g.match(/^ec\.storage\./)){f[g]=b._mainDiv.css(g.replace(/ec\.storage\./,''));}}b.div.data(f).show(d,b.options.showOptions,e);}else{b.div[d||'show'](d?e:0);}}},_extractDates:function(a,b){if(b===a.lastVal){return;}a.lastVal=b;b=b.split(a.options.multiSelect?a.options.multiSeparator:(a.options.rangeSelect?a.options.rangeSeparator:'\x00'));var c=[];for(var i=0;i<b.length;i++){try{var d=F.parseDate(a.options.dateFormat,b[i],a.getConfig());if(d){var f=false;for(var j=0;j<c.length;j++){if(c[j].getTime()===d.getTime()){f=true;break;}}if(!f){c.push(d);}}}catch(e){}}c.splice(a.options.multiSelect||(a.options.rangeSelect?2:1),c.length);if(a.options.rangeSelect&&c.length===1){c[1]=c[0];}return c;},_update:function(a,b){a=$(a.target||a);var c=F._getInst(a);if(!$.isEmptyObject(c)){if(c.inline||F.curInst===c){if($.isFunction(c.options.onChangeMonthYear)&&(!c.prevDate||c.prevDate.getFullYear()!==c.drawDate.getFullYear()||c.prevDate.getMonth()!==c.drawDate.getMonth())){c.options.onChangeMonthYear.apply(a[0],[c.drawDate.getFullYear(),c.drawDate.getMonth()+1]);}}if(c.inline){var d=$('a, :input',a).index($(':focus',a));
126a.html(this._generateContent(a[0],c));}else if(F.curInst===c){if(!c.div){c.div=$('<div></div>').addClass(this._popupClass).css({display:(b?'none':'static'),position:'absolute',left:a.offset().left,top:a.offset().top+a.outerHeight()}).appendTo($(c.options.popupContainer||'body'));if($.fn.mousewheel){c.div.mousewheel(this._doMouseWheel);}}c.div.html(this._generateContent(a[0],c));a.focus();}}},_updateInput:function(a,b){var c=this._getInst(a);if(!$.isEmptyObject(c)){var d='';var e='';var f=(c.options.multiSelect?c.options.multiSeparator:c.options.rangeSeparator);var g=c.options.altFormat||c.options.dateFormat;for(var i=0;i<c.selectedDates.length;i++){d+=(b?'':(i>0?f:'')+F.formatDate(c.options.dateFormat,c.selectedDates[i],c.getConfig()));e+=(i>0?f:'')+F.formatDate(g,c.selectedDates[i],c.getConfig());}if(!c.inline&&!b){$(a).val(d);}$(c.options.altField).val(e);if($.isFunction(c.options.onSelect)&&!b&&!c.inSelect){c.inSelect=true;c.options.onSelect.apply(a,[c.selectedDates]);c.inSelect=false;}}},_getBorders:function(b){var c=function(a){return{thin:1,medium:3,thick:5}[a]||a;};return[parseFloat(c(b.css('border-left-width'))),parseFloat(c(b.css('border-top-width')))];},_checkOffset:function(a){var b=(a.elem.is(':hidden')&&a.trigger?a.trigger:a.elem);var c=b.offset();var d=$(window).width();var e=$(window).height();if(d===0){return c;}var f=false;$(a.elem).parents().each(function(){f|=$(this).css('position')==='fixed';return!f;});var g=document.documentElement.scrollLeft||document.body.scrollLeft;var h=document.documentElement.scrollTop||document.body.scrollTop;var i=c.top-(f?h:0)-a.div.outerHeight();var j=c.top-(f?h:0)+b.outerHeight();var k=c.left-(f?g:0);var l=c.left-(f?g:0)+b.outerWidth()-a.div.outerWidth();var m=(c.left-g+a.div.outerWidth())>d;var n=(c.top-h+a.elem.outerHeight()+a.div.outerHeight())>e;a.div.css('position',f?'fixed':'absolute');var o=a.options.alignment;if(o==='topLeft'){c={left:k,top:i};}else if(o==='topRight'){c={left:l,top:i};}else if(o==='bottomLeft'){c={left:k,top:j};}else if(o==='bottomRight'){c={left:l,top:j};}else if(o==='top'){c={left:(a.options.isRTL||m?l:k),top:i};}else{c={left:(a.options.isRTL||m?l:k),top:(n?i:j)};}c.left=Math.max((f?0:g),c.left);
126c.top=Math.max((f?0:h),c.top);return c;},_checkExternalClick:function(a){if(!F.curInst){return;}var b=$(a.target);if(b.closest('.'+F._popupClass+',.'+F._triggerClass).length===0&&!b.hasClass(F._getMarker())){F.hide(F.curInst);}},hide:function(a,b){if(!a){return;}var c=this._getInst(a);if($.isEmptyObject(c)){c=a;}if(c&&c===F.curInst){var d=(b?'':c.options.showAnim);var e=c.options.showSpeed;e=(e==='normal'&&$.ui&&parseInt($.ui.version.substring(2))>=8?'_default':e);var f=function(){if(!c.div){return;}c.div.remove();c.div=null;F.curInst=null;if($.isFunction(c.options.onClose)){c.options.onClose.apply(a,[c.selectedDates]);}};c.div.stop();if($.effects&&($.effects[d]||($.effects.effect&&$.effects.effect[d]))){c.div.hide(d,c.options.showOptions,e,f);}else{var g=(d==='slideDown'?'slideUp':(d==='fadeIn'?'fadeOut':'hide'));c.div[g]((d?e:''),f);}if(!d){f();}}},_keyDown:function(a){var b=(a.data&&a.data.elem)||a.target;var c=F._getInst(b);var d=false;if(c.inline||c.div){if(a.keyCode===9){F.hide(b);}else if(a.keyCode===13){F.selectDate(b,$('a.'+c.options.renderer.highlightedClass,c.div)[0]);d=true;}else{var e=c.options.commands;for(var f in e){var g=e[f];if(g.keystroke.keyCode===a.keyCode&&!!g.keystroke.ctrlKey===!!(a.ctrlKey||a.metaKey)&&!!g.keystroke.altKey===a.altKey&&!!g.keystroke.shiftKey===a.shiftKey){F.performAction(b,f);d=true;break;}}}}else{var g=c.options.commands.current;if(g.keystroke.keyCode===a.keyCode&&!!g.keystroke.ctrlKey===!!(a.ctrlKey||a.metaKey)&&!!g.keystroke.altKey===a.altKey&&!!g.keystroke.shiftKey===a.shiftKey){F.show(b);d=true;}}c.ctrlKey=((a.keyCode<48&&a.keyCode!==32)||a.ctrlKey||a.metaKey);if(d){a.preventDefault();a.stopPropagation();}return!d;},_keyPress:function(a){var b=F._getInst((a.data&&a.data.elem)||a.target);if(!$.isEmptyObject(b)&&b.options.constrainInput){var c=String.fromCharCode(a.keyCode||a.charCode);var d=F._allowedChars(b);return(a.metaKey||b.ctrlKey||c<' '||!d||d.indexOf(c)>-1);}return true;},_allowedChars:function(a){var b=(a.options.multiSelect?a.options.multiSeparator:(a.options.rangeSelect?a.options.rangeSeparator:''));var c=false;var d=false;var e=a.options.dateFormat;for(var i=0;i<e.length;i++){var f=e.charAt(i);if(c){if(f==="'"&&e.charAt(i+1)!=="'"){c=false;}else{b+=f;}}else{switch(f){case'd':case'm':case'o':case'w':b+=(d?'':'0123456789');d=true;break;case'y':case'@':case'!':b+=(d?'':'0123456789')+'-';d=true;break;case'J':b+=(d?'':'0123456789')+'-.';d=true;break;case'D':case'M':case'Y':return null;case"'":if(e.charAt(i+1)==="'"){b+="'";}else{c=true;}break;default:b+=f;}}}return b;},_keyUp:function(a){var b=(a.data&&a.data.elem)||a.target;var c=F._getInst(b);if(!$.isEmptyObject(c)&&!c.ctrlKey&&c.lastVal!==c.elem.val()){try{var d=F._extractDates(c,c.elem.val());if(d.length>0){F.setDate(b,d,null,true);}}catch(a){}}return true;},_doMouseWheel:function(a,b){var c=(F.curInst&&F.curInst.elem[0])||$(a.target).closest('.'+F._getMarker())[0];if(F.isDisabled(c)){return;}var d=F._getInst(c);if(d.options.useMouseWheel){b=(b<0?-1:+1);F.changeMonth(c,-d.options[a.ctrlKey?'monthsToJump':'monthsToStep']*b);a.preventDefault();}},clear:function(a){var b=this._getInst(a);if(!$.isEmptyObject(b)){b.selectedDates=[];this.hide(a);var c=b.get('defaultDate');if(b.options.selectDefaultDate&&c){this.setDate(a,F.newDate(c||F.today()));}else{this._updateInput(a);}}},getDate:function(a){var b=this._getInst(a);return(!$.isEmptyObject(b)?b.selectedDates:[]);},setDate:function(a,b,c,d,e){var f=this._getInst(a);if(!$.isEmptyObject(f)){if(!$.isArray(b)){b=[b];if(c){b.push(c);}}var g=f.get('minDate');var h=f.get('maxDate');var k=f.selectedDates[0];f.selectedDates=[];for(var i=0;i<b.length;i++){var l=F.determineDate(b[i],null,k,f.options.dateFormat,f.getConfig());if(l){if((!g||l.getTime()>=g.getTime())&&(!h||l.getTime()<=h.getTime())){var m=false;for(var j=0;j<f.selectedDates.length;j++){if(f.selectedDates[j].getTime()===l.getTime()){m=true;break;}}if(!m){f.selectedDates.push(l);}}}}f.selectedDates.splice(f.options.multiSelect||(f.options.rangeSelect?2:1),f.selectedDates.length);if(f.options.rangeSelect){switch(f.selectedDates.length){case 1:f.selectedDates[1]=f.selectedDates[0];break;case 2:f.selectedDates[1]=(f.selectedDates[0].getTime()>f.selectedDates[1].getTime()?f.selectedDates[0]:f.selectedDates[1]);break;}f.pickingRange=false;}f.prevDate=(f.drawDate?F.newDate(f.drawDate):null);f.drawDate=this._checkMinMax(F.newDate(f.selectedDates[0]||f.get('defaultDate')||F.today()),f);if(!e){this._update(a);this._updateInput(a,d);}}},isSelectable:function(a,b){var c=this._getInst(a);if($.isEmptyObject(c)){return false;}b=F.determineDate(b,c.selectedDates[0]||this.today(),null,c.options.dateFormat,c.getConfig());return this._isSelectable(a,b,c.options.onDate,c.get('minDate'),c.get('maxDate'));},_isSelectable:function(a,b,c,d,e){var f=(typeof c==='boolean'?{selectable:c}:(!$.isFunction(c)?{}:c.apply(a,[b,true])));return(f.selectable!==false)&&(!d||b.getTime()>=d.getTime())&&(!e||b.getTime()<=e.getTime());},performAction:function(a,b){var c=this._getInst(a);if(!$.isEmptyObject(c)&&!this.isDisabled(a)){var d=c.options.commands;if(d[b]&&d[b].enabled.apply(a,[c])){d[b].action.apply(a,[c]);}}},showMonth:function(a,b,c,d){var e=this._getInst(a);if(!$.isEmptyObject(e)&&(d!=null||(e.drawDate.getFullYear()!==b||e.drawDate.getMonth()+1!==c))){e.prevDate=F.newDate(e.drawDate);var f=this._checkMinMax((b!=null?F.newDate(b,c,1):F.today()),e);e.drawDate=F.newDate(f.getFullYear(),f.getMonth()+1,(d!=null?d:Math.min(e.drawDate.getDate(),F.daysInMonth(f.getFullYear(),f.getMonth()+1))));this._update(a);}},changeMonth:function(a,b){var c=this._getInst(a);if(!$.isEmptyObject(c)){var d=F.add(F.newDate(c.drawDate),b,'m');this.showMonth(a,d.getFullYear(),d.getMonth()+1);}},changeDay:function(a,b){var c=this._getInst(a);if(!$.isEmptyObject(c)){var d=F.add(F.newDate(c.drawDate),b,'d');this.showMonth(a,d.getFullYear(),d.getMonth()+1,d.getDate());}},_checkMinMax:function(a,b){var c=b.get('minDate');var d=b.get('maxDate');
126a=(c&&a.getTime()<c.getTime()?F.newDate(c):a);a=(d&&a.getTime()>d.getTime()?F.newDate(d):a);return a;},retrieveDate:function(a,b){var c=this._getInst(a);return($.isEmptyObject(c)?null:this._normaliseDate(new Date(parseInt(b.className.replace(/^.*dp(-?\d+).*$/,'$1'),10))));},selectDate:function(a,b){var c=this._getInst(a);if(!$.isEmptyObject(c)&&!this.isDisabled(a)){var d=this.retrieveDate(a,b);if(c.options.multiSelect){var e=false;for(var i=0;i<c.selectedDates.length;i++){if(d.getTime()===c.selectedDates[i].getTime()){c.selectedDates.splice(i,1);e=true;break;}}if(!e&&c.selectedDates.length<c.options.multiSelect){c.selectedDates.push(d);}}else if(c.options.rangeSelect){if(c.pickingRange){c.selectedDates[1]=d;}else{c.selectedDates=[d,d];}c.pickingRange=!c.pickingRange;}else{c.selectedDates=[d];}c.prevDate=c.drawDate=F.newDate(d);this._updateInput(a);if(c.inline||c.pickingRange||c.selectedDates.length<(c.options.multiSelect||(c.options.rangeSelect?2:1))){this._update(a);}else{this.hide(a);}}},_generateContent:function(h,i){var j=i.options.monthsToShow;j=($.isArray(j)?j:[1,j]);i.drawDate=this._checkMinMax(i.drawDate||i.get('defaultDate')||F.today(),i);var k=F._applyMonthsOffset(F.newDate(i.drawDate),i);var l='';for(var m=0;m<j[0];m++){var n='';for(var o=0;o<j[1];o++){n+=this._generateMonth(h,i,k.getFullYear(),k.getMonth()+1,i.options.renderer,(m===0&&o===0));F.add(k,1,'m');}l+=this._prepare(i.options.renderer.monthRow,i).replace(/\{months\}/,n);}var p=this._prepare(i.options.renderer.picker,i).replace(/\{months\}/,l).replace(/\{weekHeader\}/g,this._generateDayHeaders(i,i.options.renderer));var q=function(a,b,c,d,e){if(p.indexOf('{'+a+':'+d+'}')===-1){return;}var f=i.options.commands[d];var g=(i.options.commandsAsDateFormat?f.date.apply(h,[i]):null);p=p.replace(new RegExp('\\{'+a+':'+d+'\\}','g'),'<'+b+(f.status?' title="'+i.options[f.status]+'"':'')+' class="'+i.options.renderer.commandClass+' '+i.options.renderer.commandClass+'-'+d+' '+e+(f.enabled(i)?'':' '+i.options.renderer.disabledClass)+'">'+(g?F.formatDate(i.options[f.text],g,i.getConfig()):i.options[f.text])+'</'+c+'>');};for(var r in i.options.commands){q('button','button type="button"','button',r,i.options.renderer.commandButtonClass);q('link','a href="javascript:void(0)"','a',r,i.options.renderer.commandLinkClass);}p=$(p);if(j[1]>1){var s=0;$(i.options.renderer.monthSelector,p).each(function(){var a=++s%j[1];$(this).addClass(a===1?'first':(a===0?'last':''));});}var t=this;function removeHighlight(){(i.inline?$(this).closest('.'+t._getMarker()):i.div).find(i.options.renderer.daySelector+' a').removeClass(i.options.renderer.highlightedClass);}p.find(i.options.renderer.daySelector+' a').hover(function(){removeHighlight.apply(this);$(this).addClass(i.options.renderer.highlightedClass);},removeHighlight).click(function(){t.selectDate(h,this);}).end().find('select.'+this._monthYearClass+':not(.'+this._anyYearClass+')').change(function(){var a=$(this).val().split('/');t.showMonth(h,parseInt(a[1],10),parseInt(a[0],10));}).end().find('select.'+this._anyYearClass).click(function(){$(this).css('visibility','hidden').next('input').css({left:this.offsetLeft,top:this.offsetTop,width:this.offsetWidth,height:this.offsetHeight}).show().focus();}).end().find('input.'+t._monthYearClass).change(function(){try{var a=parseInt($(this).val(),10);a=(isNaN(a)?i.drawDate.getFullYear():a);t.showMonth(h,a,i.drawDate.getMonth()+1,i.drawDate.getDate());}catch(e){alert(e);}}).keydown(function(a){if(a.keyCode===13){$(a.elem).change();}else if(a.keyCode===27){$(a.elem).hide().prev('select').css('visibility','visible');i.elem.focus();}});var u={elem:i.elem[0]};p.keydown(u,this._keyDown).keypress(u,this._keyPress).keyup(u,this._keyUp);p.find('.'+i.options.renderer.commandClass).click(function(){if(!$(this).hasClass(i.options.renderer.disabledClass)){var a=this.className.replace(new RegExp('^.*'+i.options.renderer.commandClass+'-([^ ]+).*$'),'$1');F.performAction(h,a);}});if(i.options.isRTL){p.addClass(i.options.renderer.rtlClass);}if(j[0]*j[1]>1){p.addClass(i.options.renderer.multiClass);}if(i.options.pickerClass){p.addClass(i.options.pickerClass);}$('body').append(p);var v=0;p.find(i.options.renderer.monthSelector).each(function(){v+=$(this).outerWidth();});p.width(v/j[0]);if($.isFunction(i.options.onShow)){i.options.onShow.apply(h,[p,i]);}return p;},_generateMonth:function(a,b,c,d,e,f){var g=F.daysInMonth(c,d);var h=b.options.monthsToShow;h=($.isArray(h)?h:[1,h]);var j=b.options.fixedWeeks||(h[0]*h[1]>1);var k=b.options.firstDay;var l=(F.newDate(c,d,1).getDay()-k+7)%7;var m=(j?6:Math.ceil((l+g)/7));var n=b.options.selectOtherMonths&&b.options.showOtherMonths;var o=(b.pickingRange?b.selectedDates[0]:b.get('minDate'));var p=b.get('maxDate');var q=e.week.indexOf('{weekOfYear}')>-1;var r=F.today();var s=F.newDate(c,d,1);F.add(s,-l-(j&&(s.getDay()===k)?7:0),'d');var t=s.getTime();var u='';for(var v=0;v<m;v++){var w=(!q?'':'<span class="dp'+t+'">'+($.isFunction(b.options.calculateWeek)?b.options.calculateWeek(s):0)+'</span>');var x='';for(var y=0;y<7;y++){var z=false;if(b.options.rangeSelect&&b.selectedDates.length>0){z=(s.getTime()>=b.selectedDates[0]&&s.getTime()<=b.selectedDates[1]);}else{for(var i=0;i<b.selectedDates.length;i++){if(b.selectedDates[i].getTime()===s.getTime()){z=true;break;}}}var A=(!$.isFunction(b.options.onDate)?{}
126:b.options.onDate.apply(a,[s,s.getMonth()+1===d]));var B=(n||s.getMonth()+1===d)&&this._isSelectable(a,s,A.selectable,o,p);x+=this._prepare(e.day,b).replace(/\{day\}/g,(B?'<a href="javascript:void(0)"':'<span')+' class="dp'+t+' '+(A.dateClass||'')+(z&&(n||s.getMonth()+1===d)?' '+e.selectedClass:'')+(B?' '+e.defaultClass:'')+((s.getDay()||7)<6?'':' '+e.weekendClass)+(s.getMonth()+1===d?'':' '+e.otherMonthClass)+(s.getTime()===r.getTime()&&(s.getMonth()+1)===d?' '+e.todayClass:'')+(s.getTime()===b.drawDate.getTime()&&(s.getMonth()+1)===d?' '+e.highlightedClass:'')+'"'+(A.title||(b.options.dayStatus&&B)?' title="'+(A.title||F.formatDate(b.options.dayStatus,s,b.getConfig()))+'"':'')+'>'+(b.options.showOtherMonths||(s.getMonth()+1)===d?A.content||s.getDate():'&#160;')+(B?'</a>':'</span>'));F.add(s,1,'d');t=s.getTime();}u+=this._prepare(e.week,b).replace(/\{days\}/g,x).replace(/\{weekOfYear\}/g,w);}var C=this._prepare(e.month,b).match(/\{monthHeader(:[^\}]+)?\}/);C=(C[0].length<=13?'MM yyyy':C[0].substring(13,C[0].length-1));C=(f?this._generateMonthSelection(b,c,d,o,p,C,e):F.formatDate(C,F.newDate(c,d,1),b.getConfig()));var D=this._prepare(e.weekHeader,b).replace(/\{days\}/g,this._generateDayHeaders(b,e));return this._prepare(e.month,b).replace(/\{monthHeader(:[^\}]+)?\}/g,C).replace(/\{weekHeader\}/g,D).replace(/\{weeks\}/g,u);},_generateDayHeaders:function(a,b){var c='';for(var d=0;d<7;d++){var e=(d+a.options.firstDay)%7;c+=this._prepare(b.dayHeader,a).replace(/\{day\}/g,'<span class="'+this._curDoWClass+e+'" title="'+a.options.dayNames[e]+'">'+a.options.dayNamesMin[e]+'</span>');}return c;},_generateMonthSelection:function(b,c,d,e,f,g){if(!b.options.changeMonth){return F.formatDate(g,F.newDate(c,d,1),b.getConfig());}var h=b.options['monthNames'+(g.match(/mm/i)?'':'Short')];var i=g.replace(/m+/i,'\\x2E').replace(/y+/i,'\\x2F');var j='<select class="'+this._monthYearClass+'" title="'+b.options.monthStatus+'">';
126for(var m=1;m<=12;m++){if((!e||F.newDate(c,m,F.daysInMonth(c,m)).getTime()>=e.getTime())&&(!f||F.newDate(c,m,1).getTime()<=f.getTime())){j+='<option value="'+m+'/'+c+'"'+(d===m?' selected="selected"':'')+'>'+h[m-1]+'</option>';}}j+='</select>';i=i.replace(/\\x2E/,j);var k=b.options.yearRange;if(k==='any'){j='<select class="'+this._monthYearClass+' '+this._anyYearClass+'" title="'+b.options.yearStatus+'">'+'<option>'+c+'</option></select>'+'<input class="'+this._monthYearClass+' '+this._curMonthClass+d+'" value="'+c+'">';}else{k=k.split(':');var l=F.today().getFullYear();var n=(k[0].match('c[+-].*')?c+parseInt(k[0].substring(1),10):((k[0].match('[+-].*')?l:0)+parseInt(k[0],10)));var o=(k[1].match('c[+-].*')?c+parseInt(k[1].substring(1),10):((k[1].match('[+-].*')?l:0)+parseInt(k[1],10)));j='<select class="'+this._monthYearClass+'" title="'+b.options.yearStatus+'">';n=F.add(F.newDate(n+1,1,1),-1,'d');o=F.newDate(o,1,1);var p=function(y,a){if(y!==0){j+='<option value="'+d+'/'+y+'"'+(c===y?' selected="selected"':'')+'>'+(a||y)+'</option>';}};if(n.getTime()<o.getTime()){n=(e&&e.getTime()>n.getTime()?e:n).getFullYear();o=(f&&f.getTime()<o.getTime()?f:o).getFullYear();var q=Math.floor((o-n)/2);if(!e||e.getFullYear()<n){p(n-q,b.options.earlierText);}for(var y=n;y<=o;y++){p(y);}if(!f||f.getFullYear()>o){p(o+q,b.options.laterText);}}else{n=(f&&f.getTime()<n.getTime()?f:n).getFullYear();o=(e&&e.getTime()>o.getTime()?e:o).getFullYear();var q=Math.floor((n-o)/2);if(!f||f.getFullYear()>n){p(n+q,b.options.earlierText);}for(var y=n;y>=o;y--){p(y);}if(!e||e.getFullYear()<o){p(o-q,b.options.laterText);}}j+='</select>';}i=i.replace(/\\x2F/,j);return i;},_prepare:function(e,f){var g=function(a,b){while(true){var c=e.indexOf('{'+a+':start}');if(c===-1){return;}var d=e.substring(c).indexOf('{'+a+':end}');if(d>-1){e=e.substring(0,c)+(b?e.substr(c+a.length+8,d-a.length-8):'')+e.substring(c+d+a.length+6);}}};g('inline',f.inline);g('popup',!f.inline);var h=/\{l10n:([^\}]+)\}/;var i=null;while(i=h.exec(e)){e=e.replace(i[0],f.options[i[1]]);}return e;}});var F=$.datepick;$(function(){$(document).on('mousedown.'+E,F._checkExternalClick).on('resize.'+E,function(){F.hide(F.curInst)})})})(jQuery);;
127'use strict';
128
129var hb_datepicker_calendar_options = {
130	changeMonth: false,
131	prevText: '&lsaquo;',
132	nextText: '&rsaquo;',
133	prevStatus: '',
134	nextStatus: '',
135	dayStatus: '',
136	dateFormat: hb_date_format,
137	dayNamesMin: hb_day_names_min,
138	monthNames: hb_months_name,
139	firstDay: parseInt( hb_first_day, 10 ),
140	defaultStatus: '',
141	showAnim: 'fadeIn',
142	useMouseWheel: false,
143	renderer: {
144		picker: '' +
145		'<div class="hb-datepick-wrapper">' +
146			'<div class="hb-dp-cmd-wrapper">{link:prev}{link:next}</div>' +
147			'{months}' +
148		'</div>',
149		monthRow: '<div class="hb-dp-month-row hb-dp-clearfix">{months}</div>',
150		month: '' +
151		'<div class="hb-dp-month">' +
152			'<div class="hb-dp-month-header">{monthHeader}</div>' +
153			'<div class="hb-dp-week-header hb-dp-clearfix">{weekHeader}</div>' +
154			'<div class="hb-dp-weeks">{weeks}</div>' +
155		'</div>',
156		weekHeader: '{days}',
157		dayHeader: '<div>{day}</div>',
158		week: '<div class="hb-dp-week hb-dp-clearfix">{days}</div>',
159		day: '<div class="hb-dp-day">{day}</div>',
160		monthSelector: '.hb-dp-month',
161		daySelector: '.hb-dp-day',
162		rtlClass: 'hb-dp-rtl',
163		multiClass: 'hb-dp-multi',
164		defaultClass: '',
165		selectedClass: 'hb-dp-selected',
166		highlightedClass: 'hb-dp-highlight',
167		todayClass: 'hb-dp-today',
168		otherMonthClass: 'datepick-other-month',
169		weekendClass: 'hb-dp-weekend',
170		commandClass: 'hb-dp-cmd',
171		commandButtonClass: '',
172		commandLinkClass: '',
173		disabledClass: 'hb-dp-disabled'
174	}
175}
176
177if ( hb_is_rtl == 'true' ) {
178	hb_datepicker_calendar_options['isRTL'] = true;
179} else {
180	hb_datepicker_calendar_options['isRTL'] = false;
181}
182
183jQuery(document).ready(function($) {
184
185	if ( ! $( '.hb-check-in-date' ).length ) {
186		return;
187	}
188
189	$( 'body' ).append( '' +
190		'<div class="hb-datepick-popup-wrapper">' +
191			'<div class="hb-datepick-legend">' +
192				'<div class="hb-datepick-selecting-legend">&nbsp;</div>' +
193				'<div class="hb-datepick-custom-legend"></div>' +
194				'<a class="hb-dp-cmd-close" href="#">&times;</a>' +
195			'</div>' +
196			'<div class="hb-datepick-popup hb-datepick-check-in-out"></div>' +
197		'</div>'
198	);
199
200	var hb_check_in_out_datepicker_calendar_options = JSON.parse( JSON.stringify( hb_datepicker_calendar_options ) );
201	hb_check_in_out_datepicker_calendar_options.renderer.picker = '<div class="hb-dp-cmd-wrapper">{link:prev}{link:next}</div>{months}';
202
203	$( '.hb-datepick-popup' ).datepick( hb_check_in_out_datepicker_calendar_options );
204	$( '.hb-datepick-popup' ).datepick( 'option', 'monthsToShow', 2 );
205
206	var is_hb_dp_mobile = false,
207		double_datepick_width,
208		booking_rules,
209		current_date_shown = new Date();
210
211	if ( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( navigator.userAgent ) ) {
212		is_hb_dp_mobile = true;
213		$( '.hb-datepick-check-in-mobile-trigger, .hb-datepick-check-out-mobile-trigger, .hb-dp-cmd-close' ).css( 'display', 'block' );
214		$( '.hb-input-datepicker' ).prop( 'readonly', true );
215	}
216
217	$( '.hb-datepick-popup-wrapper' ).show();
218	double_datepick_width = $( '.hb-datepick-popup-wrapper' ).width();
219	$( '.hb-datepick-popup-wrapper' ).hide();
220
221	$( '.hb-datepick-check-in-out' ).on( 'click', function( e ) {
222		if ( $( e.target ).is( '.hb-dp-cmd-prev' ) && ! $( e.target ).is( '.hb-dp-disabled' ) ) {
223			let nb_days_prev_month = new Date( current_date_shown.getFullYear(), current_date_shown.getMonth(), 0 ).getDate();
224			if ( current_date_shown.getDate() > nb_days_prev_month ) {
225				current_date_shown.setDate( nb_days_prev_month );
226			}
227			current_date_shown.setMonth( current_date_shown.getMonth() - 1 );
228		} else if ( $( e.target ).is( '.hb-dp-cmd-next' ) && ! $( e.target ).is( '.hb-dp-disabled' ) ) {
229			let nb_days_next_month = new Date( current_date_shown.getFullYear(), current_date_shown.getMonth() + 2, 0 ).getDate();
230			if ( current_date_shown.getDate() > nb_days_next_month ) {
231				current_date_shown.setDate( nb_days_next_month );
232			}
233			current_date_shown.setMonth( current_date_shown.getMonth() + 1 );
234		}
235	});
236
237	function show_current_month() {
238		var input_date,
239			$input,
240			months_shown;
241		if ( $( '.hb-check-in-date' ).is( ':focus' ) ) {
242			$input = $( '.hb-check-in-date:focus' );
243		} else if ( $( '.hb-check-out-date' ).is( ':focus' ) ) {
244			$input = $( '.hb-check-out-date:focus' );
245		}
246		try {
247			input_date = $.datepick.parseDate( hb_date_format, $input.val() );
248		} catch( e ) {
249			input_date = false;
250		}
251		if ( input_date ) {
252			var first_month_shown = current_date_shown.getMonth() + 1;
253			if ( double_datepick_width > $( window ).width() ) {
254				months_shown = [ first_month_shown ];
255			} else {
256				months_shown = [ first_month_shown, first_month_shown + 1 ];
257			}
258			if ( months_shown.indexOf( input_date.getMonth() + 1 ) == -1 ) {
259				current_date_shown.setMonth( input_date.getMonth() );
260			}
261		}
262
263		var y = current_date_shown.getFullYear(),
264			m = current_date_shown.getMonth() + 1,
265			d = current_date_shown.getDate();
266		$( '.hb-datepick-popup' ).datepick( 'showMonth', y, m, d );
267		setTimeout( function () {
268			$( '.hb-datepick-popup' ).datepick( 'showMonth', y, m, d );
269		}, 10 );
270	}
271
272	$( window ).resize( debouncer ( function () {
273		if ( $( '.hb-datepick-active-inputs' ).length ) {
274			resize_datepick();
275			reposition_datepick( $( '.hb-datepick-active-inputs' ) );
276		}
277	}));
278
279	function debouncer( func ) {
280		var timeoutID,
281			timeout = 50;
282		return function () {
283			var scope = this,
284				args = arguments;
285			clearTimeout( timeoutID );
286			timeoutID = setTimeout( function () {
287				func.apply( scope, Array.prototype.slice.call( args ) );
288			}, timeout );
289		}
290	}
291
292	function resize_datepick() {
293		if ( double_datepick_width > $( window ).width() ) {
294			$( '.hb-datepick-popup' ).datepick( 'option', 'monthsToShow', 1 );
295		} else {
296			$( '.hb-datepick-popup' ).datepick( 'option', 'monthsToShow', 2 );
297		}
298	}
299
300	function reposition_datepick( $inputs_wrapper ) {
301		var $check_in = $inputs_wrapper.find( '.hb-check-in-date' ),
302			$check_out = $inputs_wrapper.find( '.hb-check-out-date' ),
303			scroll_y = $( window ).scrollTop(),
304			scroll_x = $( window ).scrollLeft(),
305			input_left = $check_in.offset().left,
306			input_right = $check_out.offset().left + $check_out.outerWidth( true ),
307			input_top,
308			input_bottom;
309
310		if ( selecting_check_in ) {
311			input_top = $check_in.offset().top;
312			input_bottom = input_top + $check_in.outerHeight( true );
313		} else {
314			input_top = $check_out.offset().top;
315			input_bottom = input_top + $check_out.outerHeight( true );
316		}
317
318		var available_space_above = input_top - scroll_y,
319			available_space_below = $( window ).height() - input_bottom + scroll_y,
320			available_space_if_align_left = $( window ).width() - input_left + scroll_x,
321			available_space_if_align_right = input_right - scroll_x,
322			datepick_width = $( '.hb-datepick-popup-wrapper' ).outerWidth( true ),
323			datepick_height = $( '.hb-datepick-popup-wrapper' ).outerHeight( true );
324
325		if ( available_space_below > datepick_height ) {
326			$( '.hb-datepick-popup-wrapper' ).css( 'top', input_bottom );
327		} else if ( available_space_above > datepick_height ) {
328			$( '.hb-datepick-popup-wrapper' ).css( 'top', input_top - datepick_height );
329		} else {
330			$( '.hb-datepick-popup-wrapper' ).css( 'top', scroll_y );
331		}
332		if ( available_space_if_align_left > datepick_width ) {
333			$( '.hb-datepick-popup-wrapper' ).css( 'left', input_left );
334		} else if ( available_space_if_align_right > datepick_width ) {
335			$( '.hb-datepick-popup-wrapper' ).css( 'left', input_right - datepick_width );
336		} else {
337			$( '.hb-datepick-popup-wrapper' ).css( 'left', ( $( window ).width() - datepick_width ) / 2 + scroll_x );
338		}
339	}
340
341	var selecting_check_in = true,
342		hb_dp_max_check_out = false,
343		current_form_status_days,
344		current_check_in_date,
345		current_check_out_date;
346
347	$( '.hb-datepick-check-in-mobile-trigger' ).on( 'click', function() {
348		activate_check_in_choice( $( this ).parents( '.hb-search-fields' ) );
349	});
350
351	$( '.hb-datepick-check-out-mobile-trigger' ).on( 'click', function() {
352		activate_check_out_choice( $( this ).parents( '.hb-search-fields' ) );
353	});
354
355	$( '.hb-datepick-check-in-trigger' ).on( 'click', function() {
356		if ( ! $( '.hb-datepick-active-inputs' ).length ) {
357			activate_check_in_choice( $( this ).parents( '.hb-search-fields' ) );
358		} else {
359			close_datepick_popup();
360		}
361	});
362
363	$( '.hb-datepick-check-out-trigger' ).on( 'click', function() {
364		if ( ! $( '.hb-datepick-active-inputs' ).length ) {
365			activate_check_out_choice( $( this ).parents( '.hb-search-fields' ) );
366		} else {
367			close_datepick_popup();
368		}
369	});
370
371	$( '.hb-datepick-check-out-mobile-trigger' ).on( 'click', function() {
372		activate_check_out_choice( $( this ).parents( '.hb-search-fields' ) );
373	});
374
375	$( '.hb-check-in-date' ).on( 'focus', function() {
376		activate_check_in_choice( $( this ).parents( '.hb-search-fields' ) );
377	});
378
379	$( '.hb-check-out-date' ).on( 'focus', function() {
380		activate_check_out_choice( $( this ).parents( '.hb-search-fields' ) );
381	});
382
383	function activate_check_in_choice( $inputs_wrapper ) {
384		selecting_check_in = true;
385		if ( hb_text.legend_select_check_in != '' ) {
386			$( '.hb-datepick-legend' ).show();
387			$( '.hb-datepick-selecting-legend' ).html( hb_text.legend_select_check_in );
388		} else {
389			$( '.hb-datepick-legend' ).hide();
390		}
391		activate_check_in_out_choice( $inputs_wrapper );
392	}
393
394	function activate_check_out_choice( $inputs_wrapper ) {
395		selecting_check_in = false;
396		if ( hb_text.legend_select_check_out != '' ) {
397			$( '.hb-datepick-legend' ).show();
398			$( '.hb-datepick-selecting-legend' ).html( hb_text.legend_select_check_out );
399		} else {
400			$( '.hb-datepick-legend' ).hide();
401		}
402		activate_check_in_out_choice( $inputs_wrapper );
403	}
404
405	function activate_check_in_out_choice( $inputs_wrapper ) {
406		show_current_month();
407		var current_accom_id = 'all';
408		var $hbook_wrapper = $inputs_wrapper.parents( '.hbook-wrapper' );
409		if ( $hbook_wrapper.data( 'page-accom-id' ) ) {
410			current_accom_id = $hbook_wrapper.data( 'page-accom-id' );
411		}
412		current_form_status_days = window[ 'hb_status_days_' + current_accom_id ];
413		if ( ! $inputs_wrapper.hasClass( 'hb-datepick-active-inputs' ) ) {
414			open_datepick_popup( $inputs_wrapper );
415		}
416		reposition_datepick( $inputs_wrapper );
417	}
418
419	$( '.hb-dp-cmd-close' ).on( 'click', function() {
420		close_datepick_popup();
421		return false;
422	});
423
424	$( 'html' ).on( 'click', function( e ) {
425		if ( new Date().getTime() - opening_time < 1000 ) {
426			return;
427		}
428		if ( new Date().getTime() - selecting_time < 100 ) {
429			return;
430		}
431		if (
432			$( '.hb-datepick-active-inputs' ).length &&
433			! $( e.target ).closest( '.hb-datepick-popup' ).length &&
434			! $( e.target ).is( '.hb-datepick-popup-wrapper' ) &&
435			! $( e.target ).is( '.hb-datepick-legend' ) &&
436			! $( e.target ).is( '.hb-dp-cmd' ) &&
437			! $( e.target ).is( '.hb-dp-day-link' ) &&
438			! $( e.target ).is( '.hb-check-in-date' ) &&
439			! $( e.target ).is( '.hb-check-out-date' ) &&
440			! $( e.target ).is( '.hb-day-taken-content' ) &&
441			! $( e.target ).is( '.hb-datepick-check-in-mobile-trigger' ) &&
442			! $( e.target ).is( '.hb-datepick-check-out-mobile-trigger' ) &&
443			! $( e.target ).is( '.hb-datepick-check-in-trigger' ) &&
444			! $( e.target ).is( '.hb-datepick-check-out-trigger' )
445		) {
446			close_datepick_popup();
447		}
448	});
449
450	var opening_time = 0;
451	var selecting_time = 0;
452
453	function open_datepick_popup( $inputs_wrapper ) {
454		opening_time = new Date().getTime();
455		$inputs_wrapper.addClass( 'hb-datepick-active-inputs' );
456		var $check_in = $inputs_wrapper.find( '.hb-check-in-date' );
457		var $check_out = $inputs_wrapper.find( '.hb-check-out-date' );
458		booking_rules = $inputs_wrapper.parents( '.hbook-wrapper' ).data( 'booking-rules' );
459		set_datepick_options( $inputs_wrapper );
460
461		var check_in_date,
462			check_out_date;
463		try {
464			check_in_date = $.datepick.parseDate( hb_date_format, $check_in.val() );
465		} catch( e ) {
466			check_in_date = false;
467		}
468		try {
469			check_out_date = $.datepick.parseDate( hb_date_format, $check_out.val() );
470		} catch( e ) {
471			check_out_date = false;
472		}
473		if ( check_in_date ) {
474			current_check_in_date = new Date( check_in_date.getTime() );
475			current_check_in_date.setHours( 0, 0, 0, 0 );
476		} else {
477			current_check_in_date = null;
478		}
479		if ( check_out_date ) {
480			current_check_out_date = new Date( check_out_date.getTime() );
481			current_check_out_date.setHours( 0, 0, 0, 0 );
482		} else {
483			current_check_out_date = null;
484		}
485		if ( selecting_check_in && check_in_date ) {
486			current_date_shown = new Date( check_in_date.getTime() );
487		} else if ( ! selecting_check_in && check_out_date ) {
488			current_date_shown = new Date( check_out_date.getTime() );
489		}
490		show_current_month();
491		$( '.hb-datepick-popup-wrapper' ).show().css( 'opacity', 0 );
492		resize_datepick();
493		reposition_datepick( $inputs_wrapper );
494		$( '.hb-datepick-popup-wrapper' ).animate({ opacity: 1 });
495	}
496
497	function close_datepick_popup() {
498		$( '.hb-datepick-popup-wrapper' ).fadeOut();
499		$( '.hb-datepick-active-inputs' ).removeClass( 'hb-datepick-active-inputs' );
500	}
501
502	function set_datepick_options( $inputs_wrapper ) {
503		var hb_dp_today = new Date(),
504			hb_dp_min_date = false,
505			hb_dp_max_date = false,
506			hb_dp_allowed_check_in_days = false,
507			hb_dp_allowed_check_out_days = false,
508			hb_dp_seasonal_allowed_check_in_days = booking_rules.seasonal_allowed_check_in_days,
509			hb_dp_seasonal_allowed_check_out_days = booking_rules.seasonal_allowed_check_out_days,
510			current_accom_booking_window;
511
512		hb_dp_today.setHours( 0, 0, 0, 0 );
513
514		var current_accom_id = 0;
515		var $hbook_wrapper = $inputs_wrapper.parents( '.hbook-wrapper' );
516		if ( $hbook_wrapper.data( 'page-accom-id' ) ) {
517			current_accom_id = $hbook_wrapper.data( 'page-accom-id' );
518		}
519		current_accom_booking_window = window[ 'hb_accom_data_' + current_accom_id ];
520
521		if ( hb_booking_form_data.is_admin != 'yes') {
522			if ( current_accom_booking_window != '0' ) {
523				if ( current_accom_booking_window['min_date'] > hb_date_obj_2_str( hb_dp_today ) ) {
524					hb_dp_min_date = hb_date_str_2_obj( current_accom_booking_window['min_date'] );
525					current_date_shown = hb_date_str_2_obj( current_accom_booking_window['min_date'] );
526				}
527				hb_dp_max_date = hb_date_str_2_obj( current_accom_booking_window['max_date'] );
528			}
529		}
530
531		if ( booking_rules.allowed_check_in_days != 'all' ) {
532			hb_dp_allowed_check_in_days = booking_rules.allowed_check_in_days.split( ',' );
533		}
534		if ( booking_rules.allowed_check_out_days != 'all' ) {
535			hb_dp_allowed_check_out_days = booking_rules.allowed_check_out_days.split( ',' );
536		}
537
538		$( '.hb-datepick-check-in-out' ).datepick( 'option', {
539			minDate: hb_dp_min_date,
540			maxDate: hb_dp_max_date,
541
542			onDate: function ( date_noon, date_is_in_current_month ) {
543				var date = new Date( date_noon.getTime() );
544				date.setHours( 0, 0, 0, 0 );
545
546				var day = date.getDate(),
547					hb_dp_season = hb_get_season_id( date ),
548					nb_day,
549					str_date = hb_date_obj_2_str( date ),
550					hb_dp_min_check_out,
551					hb_dp_min_stay_date,
552					hb_dp_max_stay_date,
553					hb_dp_current_min_stay,
554					hb_dp_current_max_stay,
555					on_date_returned = {};
556
557				nb_day = date.getDay();
558				if ( nb_day == 0 ) {
559					nb_day = 6;
560				} else {
561					nb_day = nb_day - 1;
562				}
563				nb_day += '';
564
565				if ( current_check_in_date ) {
566					var chosen_season = hb_get_season_id( current_check_in_date );
567					hb_dp_min_check_out = new Date( current_check_in_date.getTime() );
568					hb_dp_min_check_out.setDate( hb_dp_min_check_out.getDate() + 1 );
569					hb_dp_min_stay_date = new Date( current_check_in_date.getTime() );
570					hb_dp_min_stay_date.setDate( hb_dp_min_stay_date.getDate() + parseInt( booking_rules.minimum_stay ) );
571					hb_dp_current_min_stay = booking_rules.minimum_stay;
572					if ( booking_rules.seasonal_minimum_stay[ chosen_season ] ) {
573						hb_dp_min_stay_date = new Date( current_check_in_date.getTime() );
574						hb_dp_min_stay_date.setDate( hb_dp_min_stay_date.getDate() + parseInt( booking_rules.seasonal_minimum_stay[ chosen_season ] ) );
575						hb_dp_current_min_stay = booking_rules.seasonal_minimum_stay[ chosen_season ];
576					}
577					hb_dp_max_stay_date = new Date( current_check_in_date.getTime() );
578					hb_dp_max_stay_date.setDate( hb_dp_max_stay_date.getDate() + parseInt( booking_rules.maximum_stay ) );
579					hb_dp_current_max_stay = booking_rules.maximum_stay;
580					if ( booking_rules.seasonal_maximum_stay[ chosen_season ] ) {
581						hb_dp_max_stay_date = new Date( current_check_in_date.getTime() );
582						hb_dp_max_stay_date.setDate( hb_dp_max_stay_date.getDate() + parseInt( booking_rules.seasonal_maximum_stay[ chosen_season ] ) );
583						hb_dp_current_max_stay = booking_rules.seasonal_maximum_stay[ chosen_season ];
584					}
585				}
586
587				on_date_returned['selectable'] = true;
588				on_date_returned['dateClass'] = 'hb-dp-day-link hb-dp-date-' + str_date;
589				on_date_returned['title'] = hb_text.legend_available;
590
591				if ( date_is_in_current_month && current_form_status_days[ str_date ] ) {
592
593					if (
594						( current_form_status_days[ str_date ].indexOf( 'hb-day-fully-taken' ) != -1 ) ||
595						( current_form_status_days[ str_date ].indexOf( 'hb-day-taken-end' ) != -1 && ! selecting_check_in )
596					) {
597						on_date_returned['selectable'] = false;
598						on_date_returned['dateClass'] += ' hb-dp-day-not-selectable hb-dp-day-not-selectable-taken';
599					}
600					if (
601						( current_form_status_days[ str_date ].indexOf( 'hb-day-no-check-in-min-stay' ) != -1 && selecting_check_in ) ||
602						( current_form_status_days[ str_date ].indexOf( 'hb-day-taken-start' ) != -1 && selecting_check_in )
603					)
604					{
605						on_date_returned['selectable'] = false;
606						on_date_returned['dateClass'] += ' hb-dp-day-no-check-in';
607					}
608					if (
609						( current_form_status_days[ str_date ].indexOf( 'hb-day-taken-start' ) != -1 && selecting_check_in ) ||
610						( current_form_status_days[ str_date ].indexOf( 'hb-day-no-check-in-min-stay' ) != -1  && selecting_check_in )
611					) {
612						on_date_returned['title'] = hb_text.legend_check_out_only;
613					} else if ( current_form_status_days[ str_date ].indexOf( 'hb-day-fully-taken' ) != -1 ) {
614						on_date_returned['title'] = hb_text.legend_occupied;
615					} else if ( current_form_status_days[ str_date ].indexOf( 'hb-day-taken-end' ) != -1 && ! selecting_check_in ) {
616						on_date_returned['title'] = hb_text.legend_check_in_only;
617					}
618
619					on_date_returned['dateClass'] += ' ' + current_form_status_days[ str_date ];
620					on_date_returned['content'] = ' ' + '<span class="hb-day-taken-content">' + day + '</span>';
621
622					if (
623						! hb_dp_max_check_out &&
624						current_check_in_date &&
625						date > current_check_in_date &&
626						( current_form_status_days[ str_date ].indexOf( 'hb-day-fully-taken' ) != -1 ||
627						current_form_status_days[ str_date ].indexOf( 'hb-day-taken-end' ) != -1 )
628					) {
629						hb_dp_max_check_out = new Date( date.getTime() );
630					}
631				}
632
633				if ( ! date_is_in_current_month ) {
634					on_date_returned['dateClass'] += ' hb-dp-day-not-current-month';
635					on_date_returned['title'] = '';
636				} else if ( date < hb_dp_today ) {
637					on_date_returned['title'] = hb_text.legend_past;
638					if ( hb_booking_form_data.is_admin != 'yes') {
639						on_date_returned['selectable'] = false;
640					}
641					on_date_returned['dateClass'] += ' hb-dp-day-past';
642				} else if ( hb_dp_min_date && date < hb_dp_min_date ) {
643					on_date_returned['title'] = hb_text.legend_closed;
644					on_date_returned['selectable'] = false;
645					on_date_returned['dateClass'] += ' hb-dp-day-closed';
646				} else if ( current_check_in_date && date.getTime() == current_check_in_date.getTime() ) {
647					on_date_returned['title'] = hb_text.legend_check_in;
648					if ( selecting_check_in ) {
649						on_date_returned['selectable'] = true;
650					} else {
651						on_date_returned['selectable'] = false;
652					}
653					on_date_returned['dateClass'] += ' hb-dp-day-check-in';
654				} else if ( current_check_out_date && date.getTime() == current_check_out_date.getTime() ) {
655					on_date_returned['title'] = hb_text.legend_check_out;
656					if ( selecting_check_in ) {
657						on_date_returned['selectable'] = true;
658					} else {
659						on_date_returned['selectable'] = false;
660					}
661					on_date_returned['dateClass'] += ' hb-dp-day-check-out';
662				} else if ( selecting_check_in && hb_dp_allowed_check_in_days && hb_dp_allowed_check_in_days.indexOf( nb_day ) == -1 ) {
663					on_date_returned['title'] = hb_text.legend_no_check_in;
664					on_date_returned['selectable'] = false;
665					on_date_returned['dateClass'] += ' hb-dp-day-not-selectable hb-dp-day-not-selectable-check-in-day-not-allowed';
666				} else if (
667					selecting_check_in &&
668					( undefined !== hb_dp_seasonal_allowed_check_in_days[ hb_dp_season ] ) &&
669					hb_dp_seasonal_allowed_check_in_days[ hb_dp_season ].split( ',' ).indexOf( nb_day ) == -1
670				) {
671					on_date_returned['title'] = hb_text.legend_no_check_in;
672					on_date_returned['selectable'] = false;
673					on_date_returned['dateClass'] += ' hb-dp-day-not-selectable hb-dp-day-not-selectable-check-in-day-not-allowed';
674				} else if (
675					! selecting_check_in &&
676					( undefined !== hb_dp_seasonal_allowed_check_out_days[ hb_dp_season ] ) &&
677 					hb_dp_seasonal_allowed_check_out_days[ hb_dp_season ].split( ',' ).indexOf( nb_day ) == -1
678				) {
679					on_date_returned['title'] = hb_text.legend_no_check_out;
680					on_date_returned['selectable'] = false;
681					on_date_returned['dateClass'] += ' hb-dp-day-not-selectable hb-dp-day-not-selectable-check-out-day-not-allowed';
682				} else if ( ! selecting_check_in && hb_dp_allowed_check_out_days && hb_dp_allowed_check_out_days.indexOf( nb_day ) == -1 ) {
683					on_date_returned['title'] = hb_text.legend_no_check_out;
684					on_date_returned['selectable'] = false;
685					on_date_returned['dateClass'] += ' hb-dp-day-not-selectable hb-dp-day-not-selectable-check-out-day-not-allowed';
686				} else if ( ! selecting_check_in && current_check_in_date && date < hb_dp_min_check_out) {
687					on_date_returned['title'] = hb_text.legend_before_check_in;
688					on_date_returned['selectable'] = false;
689					on_date_returned['dateClass'] += ' hb-dp-day-not-selectable hb-dp-day-not-selectable-min-check-out';
690				} else if ( hb_dp_max_date && date > hb_dp_max_date ) {
691					on_date_returned['title'] = hb_text.legend_closed;
692					on_date_returned['selectable'] = false;
693					on_date_returned['dateClass'] += ' hb-dp-day-closed';
694				} else if ( ! selecting_check_in && hb_dp_max_check_out && date >= hb_dp_max_check_out ) {
695					on_date_returned['title'] = hb_text.legend_no_check_out;
696					on_date_returned['selectable'] = false;
697					on_date_returned['dateClass'] += ' hb-dp-day-not-selectable hb-dp-day-not-selectable-max-check-out';
698				} else if ( ! selecting_check_in && current_check_in_date && date < hb_dp_min_stay_date ) {
699					on_date_returned['title'] = hb_text.legend_no_check_out_min_stay.replace( '%nb_nights', hb_dp_current_min_stay );
700					on_date_returned['selectable'] = false;
701					on_date_returned['dateClass'] += ' hb-dp-day-not-selectable hb-dp-day-not-selectable-min-stay';
702				} else if ( ! selecting_check_in && current_check_in_date && date > hb_dp_max_stay_date ) {
703					on_date_returned['title'] = hb_text.legend_no_check_out_max_stay.replace( '%nb_nights', hb_dp_current_max_stay );
704					on_date_returned['selectable'] = false;
705					on_date_returned['dateClass'] += ' hb-dp-day-not-selectable hb-dp-day-not-selectable-max-stay';
706				} else {
707					on_date_returned['dateClass'] += ' hb-day-available';
708				}
709
710				return on_date_returned;
711
712			},
713
714			onSelect: function( dates ) {
715				var $check_in = $( '.hb-datepick-active-inputs' ).find( '.hb-check-in-date' ),
716					$check_out = $( '.hb-datepick-active-inputs' ).find( '.hb-check-out-date' ),
717					date,
718					str_date,
719					str_date_current_format;
720
721				if ( ! dates[0] || ! $( '.hb-datepick-popup' ).datepick( 'isSelectable', dates[0] ) ) {
722					return;
723				}
724
725				date = new Date( dates[0].getFullYear(), dates[0].getMonth(), dates[0].getDate() );
726				str_date = $.datepick.formatDate( 'yyyy-mm-dd', date ),
727				str_date_current_format = $.datepick.formatDate( hb_date_format, date );
728
729				hb_dp_max_check_out = false;
730
731				if ( selecting_check_in ) {
732					selecting_check_in = false;
733					$check_in.val( str_date_current_format );
734					current_check_in_date = date;
735					show_current_month();
736					if ( current_check_out_date ) {
737						if ( is_valid_check_out_date() ) {
738							close_datepick_popup();
739						} else {
740							current_check_out_date = null;
741							$check_out.val( '' );
742						}
743					}
744					if ( ! current_check_out_date ) {
745						if ( is_hb_dp_mobile ) {
746							activate_check_out_choice( $( '.hb-datepick-active-inputs' ) );
747						} else {
748							$check_out.focus();
749						}
750					}
751				} else {
752					$check_out.val( str_date_current_format );
753					current_check_out_date = date;
754					if ( current_check_in_date ) {
755						close_datepick_popup();
756					} else {
757						if ( is_hb_dp_mobile ) {
758							activate_check_in_choice( $( '.hb-datepick-active-inputs' ) );
759						} else {
760							$check_in.focus();
761						}
762					}
763				}
764				selecting_time = new Date().getTime();
765			}
766		});
767	}
768
769	function is_valid_check_out_date() {
770		var min_check_out_date = new Date( current_check_in_date.getTime() ),
771			max_check_out_date = new Date( current_check_in_date.getTime() );
772		min_check_out_date.setDate( min_check_out_date.getDate() + parseInt( booking_rules.minimum_stay ) );
773		max_check_out_date.setDate( max_check_out_date.getDate() + parseInt( booking_rules.maximum_stay ) );
774		if (
775			( min_check_out_date.getTime() > current_check_out_date.getTime() ) ||
776			( max_check_out_date.getTime() < current_check_out_date.getTime() ) ||
777			( hb_dp_max_check_out && current_check_out_date.getTime() > hb_dp_max_check_out.getTime() )
778		) {
779			return false;
780		} else {
781			return true;
782		}
783	}
784
785	$( '.hb-check-in-date, .hb-check-out-date' ).keyup( function() {
786		if ( $( this ).val() == '' ) {
787			if ( $( this ).hasClass( 'hb-check-in-date' ) ) {
788				current_check_in_date = null;
789			} else {
790				current_check_out_date = null;
791			}
792			show_current_month();
793			return;
794		}
795
796		var input_date;
797		try {
798			input_date = $.datepick.parseDate( hb_date_format, $( this ).val() );
799		} catch( e ) {
800			input_date = false;
801		}
802
803		if ( input_date && $( '.hb-datepick-popup' ).datepick( 'isSelectable', input_date ) ) {
804			input_date.setHours( 0, 0, 0, 0 );
805			if ( selecting_check_in ) {
806				current_check_in_date = new Date( input_date.getTime() );
807				show_current_month();
808				if ( current_check_out_date && ! is_valid_check_out_date() ) {
809					current_check_out_date = null;
810					$check_out.val( '' );
811				}
812			} else {
813				current_check_out_date = new Date( input_date.getTime() );
814			}
815			hb_dp_max_check_out = false;
816			show_current_month();
817		}
818	});
819
820	$( 'select' ).on( 'focus', function() {
821		close_datepick_popup();
822	});
823
824});
825;
826function hb_formatted_date( date ) {
827	if ( ! date || ( date == '0000-00-00' ) ) {
828		return '';
829	} else {
830		var hour = '';
831		if ( ( date.length > 10 ) && ( date.charAt( 10 ) == ' ' ) ) {
832			var splitted_date_hour = date.split( ' ' );
833			date = splitted_date_hour[0];
834			hour = splitted_date_hour[1];
835			if ( hour.length > 5) {
836				hour = hour.substring( 0, 5 );
837			}
838		}
839		date = date.split( '-' );
840		date = new Date( date[0], date[1] - 1, date[2] );
841		var formatted_date = jQuery.datepick.formatDate( hb_date_format, date );
842		if ( hour ) {
843			formatted_date += ' ' + hour;
844		}
845		return formatted_date;
846	}
847}
848
849function hb_db_formatted_date( date ) {
850	try {
851		date = jQuery.datepick.parseDate( hb_date_format, date );
852	} catch( e ) {
853		date = false;
854	}
855	if ( date ) {
856		return  jQuery.datepick.formatDate( 'yyyy-mm-dd', date );
857	} else {
858		return '0000-00-00';
859	}
860};
861'use strict';
862
863function hb_date_str_2_obj( str_date ) {
864	if ( str_date ) {
865		var array_date = str_date.split( '-' );
866		return new Date( array_date[0], array_date[1] - 1, array_date[2] );
867	} else {
868		return false;
869	}
870}
871
872function hb_date_obj_2_str( obj_date ) {
873	if ( obj_date ) {
874		var y = obj_date.getFullYear(),
875			m = obj_date.getMonth() + 1,
876			d = obj_date.getDate();
877		m = m + '';
878		d = d + '';
879		if ( m.length == 1 ) {
880			m = '0' + m;
881		}
882		if ( d.length == 1 ) {
883			d = '0' + d;
884		}
885		return y + '-' + m + '-' + d;
886	} else {
887		return false;
888	}
889}
890
891function hb_format_date() {
892	jQuery( '.hb-format-date' ).each( function() {
893		var str_date = jQuery( this ).html();
894		if ( str_date.indexOf( '-' ) > -1 ) {
895			var date = hb_date_str_2_obj( str_date );
896			jQuery( this ).html( jQuery.datepick.formatDate( hb_date_format, date ) ).removeClass( 'hb-format-date' );
897		}
898	});
899}
900
901function hb_get_season_id( date ) {
902	var seasons = hb_booking_form_data.seasons,
903		nb_day,
904		copied_date = new Date( date.valueOf() );
905
906	copied_date.setHours( 0, 0, 0, 0 );
907
908	nb_day = date.getDay();
909	if ( nb_day == 0 ) {
910		nb_day = 6;
911	} else {
912		nb_day = nb_day - 1;
913	}
914	nb_day += '';
915
916	var priorities = ['high', '', 'low'];
917	for ( var i = 0; i < 3; i++ ) {
918		for ( var j = 0; j < seasons.length; j++ ) {
919			var start = hb_date_str_2_obj( seasons[ j ]['start_date'] );
920			var end = hb_date_str_2_obj( seasons[ j ]['end_date'] );
921			start.setHours( 0, 0, 0, 0 );
922			end.setHours( 0, 0, 0, 0 );
923			if (
924				( seasons[ j ]['priority'] == priorities[ i ] ) &&
925				( copied_date >= start ) &&
926				( copied_date <= end ) &&
927				( seasons[ j ]['days'].indexOf( nb_day ) != -1 )
928			) {
929				return seasons[ j ]['season_id'];
930			}
931		}
932	}
933	return false;
934}
935
936function hb_resize_forms() {
937	jQuery( '.hb-booking-search-form' ).each( function() {
938		var body_class = '';
939		if ( jQuery( this ).attr( 'id' ) != '' ) {
940			body_class = 'hb-' + jQuery( this ).attr('id') + '-is-vertical';
941		}
942		if ( jQuery( this ).width() < hb_booking_form_data.horizontal_form_min_width ) {
943			jQuery( this ).addClass( 'hb-vertical-search-form' );
944			jQuery( this ).removeClass( 'hb-horizontal-search-form' );
945			jQuery( 'body' ).addClass( body_class );
946		} else {
947			jQuery( this ).removeClass( 'hb-vertical-search-form' );
948			jQuery( this ).addClass( 'hb-horizontal-search-form' );
949			jQuery( 'body' ).removeClass( body_class );
950		}
951		if ( jQuery( this ).width() < 400 ) {
952			jQuery( this ).addClass( 'hb-narrow-search-form' );
953		} else {
954			jQuery( this ).removeClass( 'hb-narrow-search-form' );
955		}
956	});
957	jQuery( '.hb-booking-details-form' ).each( function() {
958		if ( jQuery( this ).width() < hb_booking_form_data.details_form_stack_width ) {
959			jQuery( this ).addClass( 'hb-details-form-stacked' );
960		} else {
961			jQuery( this ).removeClass( 'hb-details-form-stacked' );
962		}
963	});
964};
965(function (root, factory) {
966  if (typeof define === 'function' && define.amd) {
967    // AMD. Register as an anonymous module unless amdModuleId is set
968    define(["jquery"], function (a0) {
969      return (factory(a0));
970    });
971  } else if (typeof module === 'object' && module.exports) {
972    // Node. Does not work with strict CommonJS, but
973    // only CommonJS-like environments that support module.exports,
974    // like Node.
975    module.exports = factory(require("jquery"));
976  } else {
977    factory(root["jQuery"]);
978  }
979}(this, function (jQuery) {
980
981/** File generated by Grunt -- do not modify
982 *  JQUERY-FORM-VALIDATOR
983 *
984 *  @version 2.3.79
985 *  @website http://formvalidator.net/
986 *  @author Victor Jonsson, http://victorjonsson.se
987 *  @license MIT
988 */
989/**
990 */
991(function ($, window, undefined) {
992
993  var disableFormSubmit = function () {
994      return false;
995    },
996    lastFormEvent = null,
997    HaltManager = {
998      numHalted: 0,
999      haltValidation: function($form) {
1000        this.numHalted++;
1001        $.formUtils.haltValidation = true;
1002        $form
1003          .unbind('submit', disableFormSubmit)
1004          .bind('submit', disableFormSubmit)
1005          .find('*[type="submit"]')
1006            .addClass('disabled')
1007            .attr('disabled', 'disabled');
1008      },
1009      unHaltValidation: function($form) {
1010        this.numHalted--;
1011        if (this.numHalted === 0) {
1012          $.formUtils.haltValidation = false;
1013          $form
1014            .unbind('submit', disableFormSubmit)
1015            .find('*[type="submit"]')
1016              .removeClass('disabled')
1017              .removeAttr('disabled', 'disabled');
1018        }
1019      }
1020    };
1021
1022  function AsyncValidation($form, $input) {
1023    this.$form = $form;
1024    this.$input = $input;
1025    this.reset();
1026    $input.on('change paste', this.reset.bind(this));
1027  }
1028
1029  AsyncValidation.prototype.reset = function() {
1030    this.haltedFormValidation = false;
1031    this.hasRun = false;
1032    this.isRunning = false;
1033    this.result = undefined;
1034  };
1035
1036  AsyncValidation.prototype.run = function(eventContext, callback) {
1037    if (eventContext === 'keyup') {
1038      return null;
1039    } else if (this.isRunning) {
1040      lastFormEvent = eventContext;
1041      if (!this.haltedFormValidation) {
1042        HaltManager.haltValidation();
1043        this.haltedFormValidation = true;
1044      }
1045      return null; // Waiting for result
1046    } else if(this.hasRun) {
1047      //this.$input.one('keyup change paste', this.reset.bind(this));
1048      return this.result;
1049    } else {
1050      lastFormEvent = eventContext;
1051      HaltManager.haltValidation(this.$form);
1052      this.haltedFormValidation = true;
1053      this.isRunning = true;
1054      this.$input
1055        .attr('disabled', 'disabled')
1056        .addClass('async-validation');
1057      this.$form.addClass('async-validation');
1058
1059      callback(function(result) {
1060        this.done(result);
1061      }.bind(this));
1062
1063      return null;
1064    }
1065  };
1066
1067  AsyncValidation.prototype.done = function(result) {
1068    this.result = result;
1069    this.hasRun = true;
1070    this.isRunning = false;
1071    this.$input
1072      .removeAttr('disabled')
1073      .removeClass('async-validation');
1074    this.$form.removeClass('async-validation');
1075    if (this.haltedFormValidation) {
1076      HaltManager.unHaltValidation(this.$form);
1077      if (lastFormEvent === 'submit') {
1078        this.$form.trigger('submit');
1079      } else {
1080        this.$input.trigger('validation.revalidate');
1081      }
1082    }
1083  };
1084
1085  AsyncValidation.loadInstance = function(validatorName, $input, $form) {
1086    // Return async validator attached to this input element
1087    // or create a new async validator and attach it to the input
1088    var asyncValidation,
1089      input = $input.get(0);
1090
1091    if (!input.asyncValidators) {
1092      input.asyncValidators = {};
1093    }
1094
1095    if (input.asyncValidators[validatorName]) {
1096      asyncValidation = input.asyncValidators[validatorName];
1097    } else {
1098      asyncValidation = new AsyncValidation($form, $input);
1099      input.asyncValidators[validatorName] = asyncValidation;
1100    }
1101
1102    return asyncValidation;
1103  };
1104
1105  $.formUtils = $.extend($.formUtils || {}, {
1106
1107    /**
1108     * @deprecated
1109     * @param validatorName
1110     * @param $input
1111     * @param $form
1112     */
1113    asyncValidation: function(validatorName, $input, $form) {
1114      // @todo: Remove when moving up to version 3.0
1115      this.warn('Use of deprecated function $.formUtils.asyncValidation, use $.formUtils.addAsyncValidator() instead');
1116      return AsyncValidation.loadInstance(validatorName, $input, $form);
1117    },
1118
1119    /**
1120     * @param {Object} asyncValidator
1121     */
1122    addAsyncValidator: function (asyncValidator) {
1123      var validator = $.extend({}, asyncValidator),
1124        originalValidatorFunc = validator.validatorFunction;
1125      validator.async = true;
1126      validator.validatorFunction = function (value, $el, config, language, $form, eventContext) {
1127        var asyncValidation = AsyncValidation.loadInstance(this.name, $el, $form);
1128        return asyncValidation.run(eventContext, function(done) {
1129          originalValidatorFunc.apply(validator, [
1130            done, value, $el, config, language, $form, eventContext
1131          ]);
1132        });
1133      };
1134      this.addValidator(validator);
1135    }
1136  });
1137
1138  // Tag elements having async validators
1139  $(window).bind('validatorsLoaded formValidationSetup', function (evt, $form) {
1140    if (!$form) {
1141      $form = $('form');
1142    }
1143    $form.find('[data-validation]').each(function () {
1144      var $input = $(this);
1145      $input.valAttr('async', false);
1146      $.each($.split($input.attr('data-validation')), function (i, val
1146idatorName) {
1147        var validator = $.formUtils.validators['validate_'+validatorName];
1148        if (validator && validator.async) {
1149          $input.valAttr('async', 'yes');
1150        }
1151      });
1152    });
1153  });
1154
1155})(jQuery, window);
1156
1157/**
1158 * Deprecated functions and attributes
1159 * @todo: Remove in release of 3.0
1160 */
1161(function ($, undefined) {
1162
1163  'use strict';
1164
1165  /**
1166   * @deprecated
1167   * @param language
1168   * @param conf
1169   */
1170  $.fn.validateForm = function (language, conf) {
1171    $.formUtils.warn('Use of deprecated function $.validateForm, use $.isValid instead');
1172    return this.isValid(language, conf, true);
1173  };
1174
1175  $(window)
1176    .on('formValidationPluginInit', function(evt, config) {
1177      convertDeprecatedLangCodeToISO6391(config);
1178      addSupportForCustomErrorMessageCallback(config);
1179      addSupportForElementReferenceInPositionParam(config);
1180    })
1181    .on('validatorsLoaded formValidationSetup', function(evt, $form) {
1182      if( !$form ) {
1183        $form = $('form');
1184      }
1185      addSupportForValidationDependingOnCheckedInput($form);
1186    });
1187
1188
1189  function addSupportForCustomErrorMessageCallback(config) {
1190    if (config &&
1191        config.errorMessagePosition === 'custom' &&
1192        typeof config.errorMessageCustom === 'function') {
1193
1194      $.formUtils.warn('Use of deprecated function errorMessageCustom, use config.submitErrorMessageCallback instead');
1195
1196      config.submitErrorMessageCallback = function($form, errorMessages) {
1197        config.errorMessageCustom(
1198            $form,
1199            config.language.errorTitle,
1200            errorMessages,
1201            config
1202        );
1203      };
1204    }
1205  }
1206
1207  function addSupportForElementReferenceInPositionParam(config) {
1208    if (config.errorMessagePosition && typeof config.errorMessagePosition === 'object') {
1209      $.formUtils.warn('Deprecated use of config parameter errorMessagePosition, use config.submitErrorMessageCallback instead');
1210      var $errorMessageContainer = config.errorMessagePosition;
1211      config.errorMessagePosition = 'top';
1212      config.submitErrorMessageCallback = function() {
1213        return $errorMessageContainer;
1214      };
1215    }
1216  }
1217
1218  function addSupportForValidationDependingOnCheckedInput($form) {
1219    var $inputsDependingOnCheckedInputs = $form.find('[data-validation-if-checked]');
1220    if ($inputsDependingOnCheckedInputs.length) {
1221      $.formUtils.warn(
1222        'Detected use of attribute "data-validation-if-checked" which is '+
1223        'deprecated. Use "data-validation-depends-on" provided by module "logic"'
1224      );
1225    }
1226
1227    $inputsDependingOnCheckedInputs
1228      .on('beforeValidation', function() {
1229
1230        var $elem = $(this),
1231          nameOfDependingInput = $elem.valAttr('if-checked');
1232
1233        // Set the boolean telling us that the validation depends
1234        // on another input being checked
1235        var $dependingInput = $('input[name="' + nameOfDependingInput + '"]', $form),
1236          dependingInputIsChecked = $dependingInput.is(':checked'),
1237          valueOfDependingInput = ($.formUtils.getValue($dependingInput) || '').toString(),
1238          requiredValueOfDependingInput = $elem.valAttr('if-checked-value');
1239
1240        if (!dependingInputIsChecked || !(
1241              !requiredValueOfDependingInput ||
1242              requiredValueOfDependingInput === valueOfDependingInput
1243          )) {
1244          $elem.valAttr('skipped', true);
1245        }
1246
1247      });
1248    }
1249
1250    function convertDeprecatedLangCodeToISO6391(config) {
1251      var deprecatedLangCodes = {
1252        se: 'sv',
1253        cz: 'cs',
1254        dk: 'da'
1255      };
1256
1257      if (config.lang in deprecatedLangCodes) {
1258        var newLangCode = deprecatedLangCodes[config.lang];
1259        $.formUtils.warn(
1260          'Deprecated use of lang code "'+config.lang+'" use "'+newLangCode+'" instead'
1261        );
1262        config.lang = newLangCode;
1263      }
1264    }
1265
1266})(jQuery);
1267
1268/**
1269 * Utility methods used for displaying error messages (attached to $.formUtils)
1270 */
1271(function ($) {
1272
1273  'use strict';
1274
1275  var dialogs = {
1276
1277    resolveErrorMessage: function($elem, validator, validatorName, conf, language) {
1278      var errorMsgAttr = conf.validationErrorMsgAttribute + '-' + validatorName.replace('validate_', ''),
1279        validationErrorMsg = $elem.attr(errorMsgAttr);
1280
1281      if (!validationErrorMsg) {
1282        validationErrorMsg = $elem.attr(conf.validationErrorMsgAttribute);
1283        if (!validationErrorMsg) {
1284          if (typeof validator.errorMessageKey !== 'function') {
1285            validationErrorMsg = language[validator.errorMessageKey];
1286          }
1287          else {
1288            validationErrorMsg = language[validator.errorMessageKey(conf)];
1289          }
1290          if (!validationErrorMsg) {
1291            validationErrorMsg = validator.errorMessage;
1292          }
1293        }
1294      }
1295      return validationErrorMsg;
1296    },
1297    getParentContainer: function ($elem) {
1298      if ($elem.valAttr('error-msg-container')) {
1299        return $($elem.valAttr('error-msg-container'));
1300      } else {
1301        var $parent = $elem.parent();
1302        if($elem.attr('type') === 'checkbox' && $elem.closest('.checkbox').length) {
1303          $parent = $elem.closest('.checkbox').parent();
1304        } else if($elem.attr('type') === 'radio' && $elem.closest('.radio').length) {
1305          $parent = $elem.closest('.radio').parent();
1306        }
1307        if($parent.closest('.input-group').length) {
1308          $parent = $parent.closest('.input-group').parent();
1309        }
1310        return $parent;
1311      }
1312    },
1313    applyInputErrorStyling: function ($input, conf) {
1314      $input
1315        .addClass(conf.errorElementClass)
1316        .removeClass(conf.successElementClass);
1317
1318      this.getParentContainer($input)
1319        .addClass(conf.inputParentClassOnError)
1320        .removeClass(conf.inputParentClassOnSuccess);
1321
1322      if (conf.borderColorOnError !== '') {
1323        $input.css('border-color', conf.borderColorOnError);
1324      }
1325    },
1326    applyInputSuccessStyling: function($input, conf) {
1327      $input.addClass(conf.successElementClass);
1328      this.getParentContainer($input)
1329        .addClass(conf.inputParentClassOnSuccess);
1330    },
1331    removeInputStylingAndMessage: function($input, conf) {
1332
1333      // Reset input css
1334      $input
1335        .removeClass(conf.successElementClass)
1336        .removeClass(conf.errorElementClass)
1337        .css('border-color', '');
1338
1339      var $parentContainer = dialogs.getParentContainer($input);
1340
1341      // Reset parent css
1342      $parentContainer
1343        .removeClass(conf.inputParentClassOnError)
1344        .removeClass(conf.inputParentClassOnSuccess);
1345
1346      // Remove possible error message
1347      if (typeof conf.inlineErrorMessageCallback === 'function') {
1348        var $errorMessage = conf.inlineErrorMessageCallback($input, false, conf);
1349        if ($errorMessage) {
1350          $errorMessage.html('');
1351        }
1352      } else {
1353        $parentContainer
1354          .find('.' + conf.errorMessageClass)
1355          .remove();
1356      }
1357
1358    },
1359    removeAllMessagesAndStyling: function($form, conf) {
1360
1361      // Remove error messages in top of form
1362      if (typeof conf.submitErrorMessageCallback === 'function') {
1363        var $errorMessagesInTopOfForm = conf.submitErrorMessageCallback($form, false, conf);
1364        if ($errorMessagesInTopOfForm) {
1365          $errorMessagesInTopOfForm.html('');
1366        }
1367      } else {
1368        $form.find('.' + conf.errorMessageClass + '.alert').remove();
1369      }
1370
1371      // Remove input css/messages
1372      $form.find('.' + conf.errorElementClass + ',.' + conf.successElementClass).each(function() {
1373        dialogs.removeInputStylingAndMessage($(this), conf);
1374      });
1375    },
1376    setInlineMessage: function ($input, errorMsg, conf) {
1377
1378      this.applyInputErrorStyling($input, conf);
1379
1380      var custom = document.getElementById($input.attr('name') + '_err_msg'),
1381        $messageContainer = false,
1382        setErrorMessage = function ($elem) {
1383          $.formUtils.$win.trigger('validationErrorDisplay', [$input, $elem]);
1384          $elem.html(errorMsg);
1385        },
1386        addErrorToMessageContainer = function() {
1387          var $found = false;
1388          $messageContainer.find('.' + conf.errorMessageClass).each(function () {
1389            if (this.inputReferer === $input[0]) {
1390              $found = $(this);
1391              return false;
1392            }
1393          });
1394          if ($found) {
1395            if (!errorMsg) {
1396              $found.remove();
1397            } else {
1398              setErrorMessage($found);
1399            }
1400          } else if(errorMsg !== '') {
1401            $message = $('<div class="' + conf.errorMessageClass + ' alert"></div>');
1402            setErrorMessage($message);
1403            $message[0].inputReferer = $input[0];
1404            $messageContainer.prepend($message);
1405          }
1406        },
1407        $message;
1408
1409      if (custom) {
1410        // Todo: remove in 3.0
1411        $.formUtils.warn('Using deprecated element reference ' + custom.id);
1412        $messageContainer = $(custom);
1413        addErrorToMessageContainer();
1414      } else if (typeof conf.inlineErrorMessageCallback === 'function') {
1415        $messageContainer = conf.inlineErrorMessageCallback($input, errorMsg, conf);
1416        if (!$messageContainer) {
1417          // Error display taken care of by inlineErrorMessageCallback
1418          return;
1419        }
1420        addErrorToMessageContainer();
1421      } else {
1422        var $parent = this.getParentContainer($input);
1423        $message = $parent.find('.' + conf.errorMessageClass + '.help-block');
1424        if ($message.length === 0) {
1425          $message = $('<span></span>').addClass('help-block').addClass(conf.errorMessageClass);
1426          $message.appendTo($parent);
1427        }
1428        setErrorMessage($message);
1429      }
1430    },
1431    setMessageInTopOfForm: function ($form, errorMessages, conf, lang) {
1432      var view = '<div class="{errorMessageClass} alert alert-danger">'+
1433                    '<strong>{errorTitle}</strong>'+
1434                    '<ul>{fields}</ul>'+
1435                '</div>',
1436          $container = false;
1437
1438      if (typeof conf.submitErrorMessageCallback === 'function') {
1439        $container = conf.submitErrorMessageCallback($form, errorMessages, conf);
1440        if (!$container) {
1441          // message display taken care of by callback
1442          return;
1443        }
1444      }
1445
1446      var viewParams = {
1447            errorTitle: lang.errorTitle,
1448            fields: '',
1449            errorMessageClass: conf.errorMessageClass
1450          };
1451
1452      $.each(errorMessages, function (i, msg) {
1453        viewParams.fields += '<li>'+msg+'</li>';
1454      });
1455
1456      $.each(viewParams, function(param, value) {
1457        view = view.replace('{'+param+'}', value);
1458      });
1459
1460      if ($container) {
1461        $container.html(view);
1462      } else {
1463        $form.children().eq(0).before($(view));
1464      }
1465    }
1466  };
1467
1468  $.formUtils = $.extend($.formUtils || {}, {
1469    dialogs: dialogs
1470  });
1471
1472})(jQuery);
1473
1474/**
1475 * File declaring all methods if this plugin which is applied to $.fn.
1476 */
1477(function($, window, undefined) {
1478
1479  'use strict';
1480
1481  var _helpers = 0;
1482
1483
1484  /**
1485   * Assigns validateInputOnBlur function to elements blur event
1486   *
1487   * @param {Object} language Optional, will override $.formUtils.LANG
1488   * @param {Object} conf Optional, will override the default settings
1489   * @return {jQuery}
1490   */
1491  $.fn.validateOnBlur = function (language, conf) {
1492    var $form = this,
1493        $elems = this.find('*[data-validation]');
1494
1495    $elems.each(function(){
1496      var $this = $(this);
1497      if ($this.is('[type=radio]')){
1498        var $additionals = $form.find('[type=radio][name="' + $this.attr('name') + '"]');
1499        $additionals.bind('blur.validation', function(){
1500          $this.validateInputOnBlur(language, conf, true, 'blur');
1501        });
1502        if (conf.validateCheckboxRadioOnClick) {
1503          $additionals.bind('click.validation', function () {
1504            $this.validateInputOnBlur(language, conf, true, 'click');
1505          });
1506        }
1507      }
1508    });
1509
1510    $elems.bind('blur.validation', function () {
1511      $(this).validateInputOnBlur(language, conf, true, 'blur');
1512    });
1513
1514    if (conf.validateCheckboxRadioOnClick) {
1515      // bind click event to validate on click for radio & checkboxes for nice UX
1516      this.find('input[type=checkbox][data-validation],input[type=radio][data-validation]')
1517        .bind('click.validation', function () {
1518          $(this).validateInputOnBlur(language, conf, true, 'click');
1519        });
1520    }
1521
1522    return this;
1523  };
1524
1525  /*
1526   * Assigns validateInputOnBlur function to elements custom event
1527   * @param {Object} language Optional, will override $.formUtils.LANG
1528   * @param {Object} settings Optional, will override the default settings
1529   * * @return {jQuery}
1530   */
1531  $.fn.validateOnEvent = function (language, config) {
1532    if(this.length === 0) {
1533      return;
1534    }
1535
1536    var $elements = this[0].nodeName === 'FORM' ? this.find('*[data-validation-event]') : this;
1537    $elements
1538      .each(function () {
1539        var $el = $(this),
1540          etype = $el.valAttr('event');
1541        if (etype) {
1542          $el
1543            .unbind(etype + '.validation')
1544            .bind(etype + '.validation', function (evt) {
1545              if( (evt || {}).keyCode !== 9 ) {
1546                $(this).validateInputOnBlur(language, config, true, etype);
1547              }
1548            });
1549        }
1550      });
1551    return this;
1552  };
1553
1554  /**
1555   * fade in help message when input gains focus
1556   * fade out when input loses focus
1557   * <input data-help="The info that I want to display for the user when input is focused" ... />
1558   *
1559   * @param {String} attrName - Optional, default is data-help
1560   * @return {jQuery}
1561   */
1562  $.fn.showHelpOnFocus = function (attrName) {
1563    if (!attrName) {
1564      attrName = 'data-validation-help';
1565    }
1566
1567    // Add help text listeners
1568    this.find('textarea,input').each(function () {
1569      var $elem = $(this),
1570        className = 'jquery_form_help_' + (++_helpers),
1571        help = $elem.attr(attrName);
1572
1573      // Reset
1574      $elem
1575        .removeClass('has-help-text')
1576        .unbind('focus.help')
1577        .unbind('blur.help');
1578
1579      if (help) {
1580        $elem
1581          .addClass('has-help-txt')
1582          .bind('focus.help', function () {
1583            var $help = $elem.parent().find('.' + className);
1584            if ($help.length === 0) {
1585              $help = $('<span />')
1586                .addClass(className)
1587                .addClass('help')
1588                .addClass('help-block') // twitter bs
1589                .text(help)
1590                .hide();
1591
1592              $elem.after($help);
1593            }
1594            $help.fadeIn();
1595          })
1596          .bind('blur.help', function () {
1597            $(this)
1598              .parent()
1599              .find('.' + className)
1600              .fadeOut('slow');
1601          });
1602      }
1603    });
1604
1605    return this;
1606  };
1607
1608  /**
1609   * @param {Function} cb
1610   * @param {Object} [conf]
1611   * @param {Object} [lang]
1612   */
1613  $.fn.validate = function(cb, conf, lang) {
1614    var language = $.extend({}, $.formUtils.LANG, lang || {});
1615    this.each(function() {
1616      var $elem = $(this),
1617        closestFormElem = $elem.closest('form').get(0) || {},
1618        formDefaultConfig = closestFormElem.validationConfig || $.formUtils.defaultConfig();
1619
1620      $elem.one('validation', function(evt, isValid) {
1621        if ( typeof cb === 'function' ) {
1622          cb(isValid, this, evt);
1623        }
1624      });
1625
1626      $elem.validateInputOnBlur(
1627        language,
1628        $.extend({}, formDefaultConfig, conf || {}),
1629        true
1630      );
1631    });
1632  };
1633
1634  /**
1635   * Tells whether or not validation of this input will have to postpone the form submit ()
1636   * @returns {Boolean}
1637   */
1638  $.fn.willPostponeValidation = function() {
1639    return (this.valAttr('suggestion-nr') ||
1640      this.valAttr('postpone') ||
1641      this.hasClass('hasDatepicker')) &&
1642      !window.postponedValidation;
1643  };
1644
1645  /**
1646   * Validate single input when it loses focus
1647   * shows error message in a span element
1648   * that is appended to the parent element
1649   *
1650   * @param {Object} [language] Optional, will override $.formUtils.LANG
1651   * @param {Object} [conf] Optional, will override the default settings
1652   * @param {Boolean} attachKeyupEvent Optional
1653   * @param {String} eventContext
1654   * @return {jQuery}
1655   */
1656  $.fn.validateInputOnBlur = function (language, conf, attachKeyupEvent, eventContext) {
1657
1658    $.formUtils.eventType = eventContext;
1659
1660    if ( this.willPostponeValidation() ) {
1661      // This validation has to be postponed
1662      var _self = this,
1663        postponeTime = this.valAttr('postpone') || 200;
1664
1665      window.postponedValidation = function () {
1666        _self.validateInputOnBlur(language, conf, attachKeyupEvent, eventContext);
1667        window.postponedValidation = false;
1668      };
1669
1670      setTimeout(function () {
1671        if (window.postponedValidation) {
1672          window.postponedValidation();
1673        }
1674      }, postponeTime);
1675
1676      return this;
1677    }
1678
1679    language = $.extend({}, $.formUtils.LANG, language || {});
1680    $.formUtils.dialogs.removeInputStylingAndMessage(this, conf);
1681
1682    var $elem = this,
1683      $form = $elem.closest('form'),
1684      result = $.formUtils.validateInput(
1685        $elem,
1686        language,
1687        conf,
1688        $form,
1689        eventContext
1690      );
1691
1692    var reValidate = function() {
1693      $elem.validateInputOnBlur(language, conf, false, 'blur.revalidated');
1694    };
1695
1696    if (eventContext === 'blur') {
1697      $elem
1698        .unbind('validation.revalidate', reValidate)
1699        .one('validation.revalidate', reValidate);
1700    }
1701
1702    if (attachKeyupEvent) {
1703      $elem.removeKeyUpValidation();
1704    }
1705
1706    if (result.shouldChangeDisplay) {
1707      if (result.isValid) {
1708        $.formUtils.dialogs.applyInputSuccessStyling($elem, conf);
1709      } else {
1710        $.formUtils.dialogs.setInlineMessage($elem, result.errorMsg, conf);
1711      }
1712    }
1713
1714    if (!result.isValid && attachKeyupEvent) {
1715      $elem.validateOnKeyUp(language, conf);
1716    }
1717
1718    return this;
1719  };
1720
1721  /**
1722   * Validate element on keyup-event
1723   */
1724  $.fn.validateOnKeyUp = function(language, conf) {
1725    this.each(function() {
1726      var $input = $(this);
1727      if (!$input.valAttr('has-keyup-event')) {
1728        $input
1729          .valAttr('has-keyup-event', 'true')
1730          .bind('keyup.validation', function (evt) {
1731            if( evt.keyCode !== 9 ) {
1732              $input.validateInputOnBlur(language, conf, false, 'keyup');
1733            }
1734          });
1735      }
1736    });
1737    return this;
1738  };
1739
1740  /**
1741   * Remove validation on keyup
1742   */
1743  $.fn.removeKeyUpValidation = function() {
1744    this.each(function() {
1745      $(this)
1746        .valAttr('has-keyup-event', false)
1747        .unbind('keyup.validation');
1748    });
1749    return this;
1750  };
1751
1752  /**
1753   * Short hand for fetching/adding/removing element attributes
1754   * prefixed with 'data-validation-'
1755   *
1756   * @param {String} name
1757   * @param {String|Boolean} [val]
1758   * @return {String|undefined|jQuery}
1759   * @protected
1760   */
1761  $.fn.valAttr = function (name, val) {
1762    if (val === undefined) {
1763      return this.attr('data-validation-' + name);
1764    } else if (val === false || val === null) {
1765      return this.removeAttr('data-validation-' + name);
1766    } else {
1767      name = ((name.length > 0) ? '-' + name : '');
1768      return this.attr('data-validation' + name, val);
1769    }
1770  };
1771
1772  /**
1773   * Function that validates all inputs in active form
1774   *
1775   * @param {Object} [language]
1776   * @param {Object} [conf]
1777   * @param {Boolean} [displayError] Defaults to true
1778   */
1779  $.fn.isValid = function (language, conf, displayError) {
1780
1781    if ($.formUtils.isLoadingModules) {
1782      var $self = this;
1783      setTimeout(function () {
1784        $self.isValid(language, conf, displayError);
1785      }, 200);
1786      return null;
1787    }
1788
1789    conf = $.extend({}, $.formUtils.defaultConfig(), conf || {});
1790    language = $.extend({}, $.formUtils.LANG, language || {});
1791    displayError = displayError !== false;
1792
1793    if ($.formUtils.errorDisplayPreventedWhenHalted) {
1794      // isValid() was called programmatically with argument displayError set
1795      // to false when the validation was halted by any of the validators
1796      delete $.formUtils.errorDisplayPreventedWhenHalted;
1797      displayError = false;
1798    }
1799
1800    /**
1801     * Adds message to error message stack if not already in the message stack
1802     *
1803     * @param {String} mess
1804     * @para {jQuery} $elem
1805     */
1806    var addErrorMessage = function (mess, $elem) {
1807        if ($.inArray(mess, errorMessages) < 0) {
1808          errorMessages.push(mess);
1809        }
1810        errorInputs.push($elem);
1811        $elem.valAttr('current-error', mess);
1812        if (displayError) {
1813          $.formUtils.dialogs.applyInputErrorStyling($elem, conf);
1814        }
1815      },
1816
1817      /** Holds inputs (of type checkox or radio) already validated, to prevent recheck of mulitple checkboxes & radios */
1818      checkedInputs = [],
1819
1820      /** Error messages for this validation */
1821      errorMessages = [],
1822
1823      /** Input elements which value was not valid */
1824      errorInputs = [],
1825
1826      /** Form instance */
1827      $form = this,
1828
1829      /**
1830       * Tells whether or not to validate element with this name and of this type
1831       *
1832       * @param {String} name
1833       * @param {String} type
1834       * @return {Boolean}
1835       */
1836      ignoreInput = function (name, type) {
1837        if (type === 'submit' || type === 'button' || type === 'reset') {
1838          return true;
1839		}
1840		/*added by ad */
1841		if (
1842			name &&
1843			( $form.find( '[name="' + name + '"]' ).attr( 'type' ) == 'text' ) &&
1844			( $form.find( '[name="' + name + '"]' ).attr( 'data-validation' ) ) &&
1845			( $form.find( '[name="' + name + '"]' ).attr( 'data-validation' ).indexOf( 'required' ) == -1 ) &&
1846			( $form.find( '[name="' + name + '"]' ).val() == '' )
1847		) {
1848			return true;
1849		}
1850		/*added by ad */
1851        return $.inArray(name, conf.ignore || []) > -1;
1852      };
1853
1854    // Reset style and remove error class
1855    if (displayError) {
1856      $.formUtils.dialogs.removeAllMessagesAndStyling($form, conf);
1857    }
1858
1859    // Validate element values
1860    $form.find('input,textarea,select').filter(':not([type="submit"],[type="button"])').each(function () {
1861      var $elem = $(this),
1862        elementType = $elem.attr('type'),
1863        isCheckboxOrRadioBtn = elementType === 'radio' || elementType === 'checkbox',
1864        elementName = $elem.attr('name');
1865
1866      if (!ignoreInput(elementName, elementType) && (!isCheckboxOrRadioBtn || $.inArray(elementName, checkedInputs) < 0)) {
1867        // added by ad
1868        if ( $elem.val() ) {
1869          $elem.val( $elem.val().trim() );
1870        }
1871
1872        if (isCheckboxOrRadioBtn) {
1873          checkedInputs.push(elementName);
1874        }
1875
1876        var result = $.formUtils.validateInput(
1877          $elem,
1878          language,
1879          conf,
1880          $form,
1881          'submit'
1882        );
1883
1884        if (!result.isValid) {
1885          addErrorMessage(result.errorMsg, $elem);
1886        } else if (result.isValid && result.shouldChangeDisplay) {
1887          $elem.valAttr('current-error', false);
1888          $.formUtils.dialogs.applyInputSuccessStyling($elem, conf);
1889        }
1890      }
1891
1892    });
1893
1894    // Run validation callback
1895    if (typeof conf.onValidate === 'function') {
1896      var errors = conf.onValidate($form);
1897      if ($.isArray(errors)) {
1898        $.each(errors, function (i, err) {
1899          addErrorMessage(err.message, err.element);
1900        });
1901      }
1902      else if (errors && errors.element && errors.message) {
1903        addErrorMessage(errors.message, errors.element);
1904      }
1905    }
1906
1907    // Reset form validation flag
1908    $.formUtils.isValidatingEntireForm = false;
1909
1910    // Validation failed
1911    if (errorInputs.length > 0) {
1912      if (displayError) {
1913        if (conf.errorMessagePosition === 'top') {
1914          $.formUtils.dialogs.setMessageInTopOfForm($form, errorMessages, conf, language);
1915        } else {
1916          $.each(errorInputs, function (i, $input) {
1917            $.formUtils.dialogs.setInlineMessage($input, $input.valAttr('current-error'), conf);
1918          });
1919        }
1920        if (conf.scrollToTopOnError) {
1921          $.formUtils.$win.scrollTop($form.offset().top - 20);
1922        }
1923      }
1924    }
1925
1926    if (!displayError && $.formUtils.haltValidation) {
1927      $.formUtils.errorDisplayPreventedWhenHalted = true;
1928    }
1929
1930    return errorInputs.length === 0 && !$.formUtils.haltValidation;
1931  };
1932
1933  /**
1934   * Plugin for displaying input length restriction
1935   */
1936  $.fn.restrictLength = function (maxLengthElement) {
1937    new $.formUtils.lengthRestriction(this, maxLengthElement);
1938    return this;
1939  };
1940
1941  /**
1942   * Add suggestion dropdown to inputs having data-suggestions with a comma
1943   * separated string with suggestions
1944   * @param {Array} [settings]
1945   * @returns {jQuery}
1946   */
1947  $.fn.addSuggestions = function (settings) {
1948    var sugs = false;
1949    this.find('input').each(function () {
1950      var $field = $(this);
1951
1952      sugs = $.split($field.attr('data-suggestions'));
1953
1954      if (sugs.length > 0 && !$field.hasClass('has-suggestions')) {
1955        $.formUtils.suggest($field, sugs, settings);
1956        $field.addClass('has-suggestions');
1957      }
1958    });
1959    return this;
1960  };
1961
1962
1963})(jQuery, window);
1964
1965/**
1966 * Utility methods used for handling loading of modules (attached to $.formUtils)
1967 */
1968(function($) {
1969
1970  'use strict';
1971
1972  $.formUtils = $.extend($.formUtils || {}, {
1973
1974    /**
1975     * @var {Boolean}
1976     */
1977    isLoadingModules: false,
1978
1979    /**
1980     * @var {Object}
1981     */
1982    loadedModules: {},
1983
1984    /**
1985     * @param {String} name
1986     */
1987    registerLoadedModule: function (name) {
1988      this.loadedModules[$.trim(name).toLowerCase()] = true;
1989    },
1990
1991    /**
1992     * @param {String} name
1993     * @return {Boolean}
1994     */
1995    hasLoadedModule: function (name) {
1996      return $.trim(name).toLowerCase() in this.loadedModules;
1997    },
1998
1999    /**
2000     * @example
2001     *  $.formUtils.loadModules('date, security.dev');
2002     *
2003     * Will load the scripts date.js and security.dev.js from the
2004     * directory where this script resides. If you want to load
2005     * the modules from another directory you can use the
2006     * path argument.
2007     *
2008     * The script will be cached by the browser unless the module
2009     * name ends with .dev
2010     *
2011     * @param {String} modules - Comma separated string with module file names (no directory nor file extension)
2012     * @param {String} [path] - Path where the module files are located if their not in the same directory as the core modules
2013     * @param {function} [callback] - Callback invoked when all modules are loaded
2014     */
2015    loadModules: function (modules, path, callback) {
2016
2017      if ($.formUtils.isLoadingModules) {
2018        setTimeout(function () {
2019          $.formUtils.loadModules(modules, path, callback);
2020        }, 100);
2021        return;
2022      }
2023
2024      var loadModuleScripts = function (modules, path) {
2025
2026          var moduleList = $.split(modules),
2027            numModules = moduleList.length,
2028            moduleLoadedCallback = function () {
2029              numModules--;
2030              if (numModules === 0) {
2031                $.formUtils.isLoadingModules = false;
2032                if (typeof callback === 'function') {
2033                    callback();
2034                }
2035              }
2036            };
2037
2038          if (numModules > 0) {
2039            $.formUtils.isLoadingModules = true;
2040          }
2041
2042          var cacheSuffix = '?_=' + ( new Date().getTime() ),
2043            appendToElement = document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0];
2044
2045          $.each(moduleList, function (i, modName) {
2046            modName = $.trim(modName);
2047            if (modName.length === 0 || $.formUtils.hasLoadedModule(modName)) {
2048              moduleLoadedCallback();
2049            } else {
2050              var scriptUrl = path + modName + (modName.slice(-3) === '.js' ? '' : '.js'),
2051                script = document.createElement('SCRIPT');
2052
2053              if (typeof define === 'function' && define.amd) {
2054                require([scriptUrl + ( scriptUrl.slice(-7) === '.dev.js' ? cacheSuffix : '' )], moduleLoadedCallback);
2055              } else {
2056                // Load the script
2057                script.type = 'text/javascript';
2058                script.onload = moduleLoadedCallback;
2059                script.src = scriptUrl + ( scriptUrl.slice(-7) === '.dev.js' ? cacheSuffix : '' );
2060                script.onerror = function() {
2061                  $.formUtils.warn('Unable to load form validation module '+scriptUrl, true);
2062                  moduleLoadedCallback();
2063                };
2064                script.onreadystatechange = function () {
2065                  // IE 7 fix
2066                  if (this.readyState === 'complete' || this.readyState === 'loaded') {
2067                    moduleLoadedCallback();
2068                    // Handle memory leak in IE
2069                    this.onload = null;
2070                    this.onreadystatechange = null;
2071                  }
2072                };
2073                appendToElement.appendChild(script);
2074              }
2075            }
2076          });
2077        };
2078
2079      if (path) {
2080        loadModuleScripts(modules, path);
2081      } else {
2082        var findScriptPathAndLoadModules = function () {
2083          var foundPath = false;
2084          $('script[src*="form-validator"]').each(function () {
2085            var isScriptFromPluginNodeModulesDirectory = this.src.split('form-validator')[1].split('node_modules').length > 1;
2086            if (!isScriptFromPluginNodeModulesDirectory) {
2087              foundPath = this.src.substr(0, this.src.lastIndexOf('/')) + '/';
2088              if (foundPath === '/') {
2089                foundPath = '';
2090              }
2091              return false;
2092            }
2093          });
2094
2095          if (foundPath !== false) {
2096            loadModuleScripts(modules, foundPath);
2097            return true;
2098          }
2099          return false;
2100        };
2101
2102        if (!findScriptPathAndLoadModules()) {
2103          $(function () {
2104            var hasLoadedModuleScripts = findScriptPathAndLoadModules();
2105            if (!hasLoadedModuleScripts) {
2106              // The modules may have been inserted via a minified script
2107              if (typeof callback === 'function') {
2108                callback();
2109              }
2110            }
2111          });
2112        }
2113      }
2114    }
2115
2116  });
2117
2118})(jQuery);
2119
2120/**
2121 * Setup function for the plugin
2122 */
2123(function ($) {
2124
2125  'use strict';
2126
2127
2128  /**
2129   * A bit smarter split function
2130   * delimiter can be space, comma, dash or pipe
2131   * @param {String} val
2132   * @param {Function|String} [callback]
2133   * @param {Boolean}
2133 [allowSpaceAsDelimiter]
2134   * @returns {Array|void}
2135   */
2136  $.split = function (val, callback, allowSpaceAsDelimiter) {
2137    // default to true
2138    allowSpaceAsDelimiter = allowSpaceAsDelimiter === undefined || allowSpaceAsDelimiter === true;
2139    var pattern = '[,|'+(allowSpaceAsDelimiter ? '\\s':'')+'-]\\s*',
2140      regex = new RegExp(pattern, 'g');
2141    if (typeof callback !== 'function') {
2142      // return array
2143      if (!val) {
2144        return [];
2145      }
2146      var values = [];
2147      $.each(val.split(callback ? callback : regex),
2148        function (i, str) {
2149          str = $.trim(str);
2150          if (str.length) {
2151            values.push(str);
2152          }
2153        }
2154      );
2155      return values;
2156    } else if (val) {
2157      // exec callback func on each
2158      $.each(val.split(regex),
2159        function (i, str) {
2160          str = $.trim(str);
2161          if (str.length) {
2162            return callback(str, i);
2163          }
2164        }
2165      );
2166    }
2167  };
2168
2169  /**
2170   * Short hand function that makes the validation setup require less code
2171   * @param conf
2172   */
2173  $.validate = function (conf) {
2174
2175    var defaultConf = $.extend($.formUtils.defaultConfig(), {
2176      form: 'form',
2177      validateOnEvent: false,
2178      validateOnBlur: true,
2179      validateCheckboxRadioOnClick: true,
2180      showHelpOnFocus: true,
2181      addSuggestions: true,
2182      modules: '',
2183      onModulesLoaded: null,
2184      language: false,
2185      onSuccess: false,
2186      onError: false,
2187      onElementValidate: false
2188    });
2189
2190    conf = $.extend(defaultConf, conf || {});
2191
2192    $(window).trigger('formValidationPluginInit', [conf]);
2193
2194    if( conf.lang && conf.lang !== 'en' ) {
2195      var langModule = 'lang/'+conf.lang+'.js';
2196      conf.modules += conf.modules.length ? ','+langModule : langModule;
2197    }
2198
2199    // Add validation to forms
2200    $(conf.form).each(function (i, form) {
2201
2202      // Make a reference to the config for this form
2203      form.validationConfig = conf;
2204
2205      // Trigger jQuery event that we're about to setup validation
2206      var $form = $(form);
2207      $form.trigger('formValidationSetup', [$form, conf]);
2208
2209      // Remove classes and event handlers that might have been
2210      // added by a previous call to $.validate
2211      $form.find('.has-help-txt')
2212          .unbind('focus.validation')
2213          .unbind('blur.validation');
2214
2215      $form
2216        .removeClass('has-validation-callback')
2217        .unbind('submit.validation')
2218        .unbind('reset.validation')
2219        .find('input[data-validation],textarea[data-validation]')
2220          .unbind('blur.validation');
2221
2222      // Validate when submitted
2223      $form.bind('submit.validation', function (evt) {
2224
2225        var $form = $(this),
2226          stop = function() {
2227            evt.stopImmediatePropagation();
2228            return false;
2229          };
2230
2231        if ($.formUtils.haltValidation) {
2232          // pressing several times on submit button while validation is halted
2233          return stop();
2234        }
2235
2236        if ($.formUtils.isLoadingModules) {
2237          setTimeout(function () {
2238            $form.trigger('submit.validation');
2239          }, 200);
2240          return stop();
2241        }
2242
2243        var valid = $form.isValid(conf.language, conf);
2244        if ($.formUtils.haltValidation) {
2245          // Validation got halted by one of the validators
2246          return stop();
2247        } else {
2248          if (valid && typeof conf.onSuccess === 'function') {
2249            var callbackResponse = conf.onSuccess($form);
2250            if (callbackResponse === false) {
2251              return stop();
2252            }
2253          } else if (!valid && typeof conf.onError === 'function') {
2254            conf.onError($form);
2255            return stop();
2256          } else {
2257            return valid ? true : stop();
2258          }
2259        }
2260      })
2261      .bind('reset.validation', function () {
2262        $.formUtils.dialogs.removeAllMessagesAndStyling($form, conf);
2263      })
2264      .addClass('has-validation-callback');
2265
2266      if (conf.showHelpOnFocus) {
2267        $form.showHelpOnFocus();
2268      }
2269      if (conf.addSuggestions) {
2270        $form.addSuggestions();
2271      }
2272      if (conf.validateOnBlur) {
2273        $form.validateOnBlur(conf.language, conf);
2274        $form.bind('html5ValidationAttrsFound', function () {
2275          $form.validateOnBlur(conf.language, conf);
2276        });
2277      }
2278      if (conf.validateOnEvent) {
2279        $form.validateOnEvent(conf.language, conf);
2280      }
2281    });
2282
2283    if (conf.modules !== '') {
2284      $.formUtils.loadModules(conf.modules, null, function() {
2285        if (typeof conf.onModulesLoaded === 'function') {
2286          conf.onModulesLoaded();
2287        }
2288        var $form = typeof conf.form === 'string' ? $(conf.form) : conf.form;
2289        $.formUtils.$win.trigger('validatorsLoaded', [$form, conf]);
2290      });
2291    }
2292  };
2293
2294})(jQuery);
2295
2296/**
2297 * Utility methods and properties attached to $.formUtils
2298 */
2299(function($, window) {
2300
2301  'use strict';
2302
2303  var $win = $(window);
2304
2305  $.formUtils = $.extend($.formUtils || {}, {
2306
2307    $win: $win,
2308
2309    /**
2310     * Default config for $(...).isValid();
2311     */
2312    defaultConfig: function () {
2313      return {
2314        ignore: [], // Names of inputs not to be validated even though `validationRuleAttribute` containing the validation rules tells us to
2315        errorElementClass: 'error', // Class that will be put on elements which value is invalid
2316        successElementClass: 'valid', // Class that will be put on elements that has been validated with success
2317        borderColorOnError: '#b94a48', // Border color of elements which value is invalid, empty string to not change border color
2318        errorMessageClass: 'form-error', // class name of div containing error messages when validation fails
2319        validationRuleAttribute: 'data-validation', // name of the attribute holding the validation rules
2320        validationErrorMsgAttribute: 'data-validation-error-msg', // define custom err msg inline with element
2321        errorMessagePosition: 'inline', // Can be either "top" or "inline"
2322        errorMessageTemplate: {
2323          container: '<div class="{errorMessageClass} alert alert-danger">{messages}</div>',
2324          messages: '<strong>{errorTitle}</strong><ul>{fields}</ul>',
2325          field: '<li>{msg}</li>'
2326        },
2327        scrollToTopOnError: true,
2328        dateFormat: 'yyyy-mm-dd',
2329        addValidClassOnAll: false, // whether or not to apply class="valid" even if the input wasn't validated
2330        decimalSeparator: '.',
2331        inputParentClassOnError: 'has-error', // twitter-bootstrap default class name
2332        inputParentClassOnSuccess: 'has-success', // twitter-bootstrap default class name
2333        validateHiddenInputs: false, // whether or not hidden inputs should be validated
2334        inlineErrorMessageCallback: false,
2335        submitErrorMessageCallback: false
2336      };
2337    },
2338
2339    /**
2340     * Available validators
2341     */
2342    validators: {},
2343
2344    /**
2345     * Available sanitizers
2346     */
2347    sanitizers: {},
2348
2349    /**
2350     * Events triggered by form validator
2351     */
2352    _events: {load: [], valid: [], invalid: []},
2353
2354    /**
2355     * Setting this property to true during validation will
2356     * stop further validation from taking place and form will
2357     * not be sent
2358     */
2359    haltValidation: false,
2360
2361    /**
2362     * Function for adding a validator
2363     * @see $.formUtils.addAsyncValidator (async.js)
2364     * @param {Object} validator
2365     */
2366    addValidator: function (validator) {
2367      // prefix with "validate_" for backward compatibility reasons
2368      var name = validator.name.indexOf('validate_') === 0 ? validator.name : 'validate_' + validator.name;
2369      if (validator.validateOnKeyUp === undefined) {
2370        validator.validateOnKeyUp = true;
2371      }
2372      this.validators[name] = validator;
2373    },
2374
2375    /**
2376     * Function for adding a sanitizer
2377     * @param {Object} sanitizer
2378     */
2379    addSanitizer: function (sanitizer) {
2380      this.sanitizers[sanitizer.name] = sanitizer;
2381    },
2382
2383    /**
2384     * Warn user via the console if available
2385     */
2386    warn: function(msg, fallbackOnAlert) {
2387      if( 'console' in window ) {
2388        if( typeof window.console.warn === 'function' ) {
2389          window.console.warn(msg);
2390        } else if( typeof window.console.log === 'function' ) {
2391          window.console.log(msg);
2392        }
2393      } else if (fallbackOnAlert) {
2394        // This is for some old IE version...
2395        alert(msg);
2396      }
2397    },
2398
2399    /**
2400     * Same as input $.fn.val() but also supporting input of typ radio or checkbox
2401     * @example
2402     *
2403     *  $.formUtils.getValue('.myRadioButtons', $('#some-form'));
2404     *  $.formUtils.getValue($('#some-form').find('.check-boxes'));
2405     *
2406     * @param query
2407     * @param $parent
2408     * @returns {String|Boolean}
2409     */
2410    getValue: function(query, $parent) {
2411      var $inputs = $parent ? $parent.find(query) : query;
2412      if ($inputs.length > 0 ) {
2413        var type = $inputs.eq(0).attr('type');
2414        if (type === 'radio' || type === 'checkbox') {
2415          return $inputs.filter(':checked').val() || '';
2416        } else {
2417          return $inputs.val() || '';
2418        }
2419      }
2420      return false;
2421    },
2422
2423    /**
2424     * Validate the value of given element according to the validation rules
2425     * found in the attribute data-validation. Will return an object representing
2426     * a validation result, having the props shouldChangeDisplay, isValid and errorMsg
2427     * @param {jQuery} $elem
2428     * @param {Object} language ($.formUtils.LANG)
2429     * @param {Object} conf
2430     * @param {jQuery} $form
2431     * @param {String} [eventContext]
2432     * @return {Object}
2433     */
2434    validateInput: function ($elem, language, conf, $form, eventContext) {
2435
2436      conf = conf || $.formUtils.defaultConfig();
2437      language = language || $.formUtils.LANG;
2438
2439      if (!$form.length) {
2440        $form = $elem.parent();
2441      }
2442
2443      var value = this.getValue($elem);
2444
2445      $elem
2446        .valAttr('skipped', false)
2447        .one('beforeValidation', function() {
2448          // Skip input because its hidden or disabled
2449          // Doing this in a callback makes it possible for others to prevent the default
2450          // behaviour by binding to the same event and call evt.stopImmediatePropagation()
2451          if ($elem.attr('disabled') || (!$elem.is(':visible') && !conf.validateHiddenInputs)) {
2452            $elem.valAttr('skipped', 1);
2453          }
2454        })
2455        .trigger('beforeValidation', [value, language, conf]);
2456
2457      var inputIsOptional = $elem.valAttr('optional') === 'true',
2458          skipBecauseItsEmpty = !value && inputIsOptional,
2459          validationRules = $elem.attr(conf.validationRuleAttribute),
2460          isValid = true,
2461          errorMsg = '',
2462          result = {isValid: true, shouldChangeDisplay:true, errorMsg:''};
2463
2464      // For input type="number", browsers attempt to parse the entered value into a number.
2465      // If the input is not numeric, browsers handle the situation differently:
2466      // Chrome 48 simply disallows non-numeric input; FF 44 clears out the input box on blur;
2467      // Safari 5 parses the entered string to find a leading number.
2468      // If the input fails browser validation, the browser sets the input value equal to an empty string.
2469      // Therefore, we cannot distinguish (apart from hacks) between an empty input type="text" and one with a
2470      // value that can't be parsed by the browser.
2471
2472      if (!validationRules || skipBecauseItsEmpty || $elem.valAttr('skipped')) {
2473        result.shouldChangeDisplay = conf.addValidClassOnAll;
2474        return result;
2475      }
2476
2477      // Filter out specified characters
2478      var ignore = $elem.valAttr('ignore');
2479      if (ignore) {
2480        $.each(ignore.split(''), function(i, character) {
2481          value = value.replace(new RegExp('\\'+character, 'g'), '');
2482        });
2483      }
2484
2485      $.split(validationRules, function (rule) {
2486
2487        if (rule.indexOf('validate_') !== 0) {
2488          rule = 'validate_' + rule;
2489        }
2490
2491        var validator = $.formUtils.validators[rule];
2492
2493        if (validator) {
2494
2495          // special change of element for checkbox_group rule
2496          if (rule === 'validate_checkbox_group') {
2497            // set element to first in group, so error msg attr doesn't need to be set on all elements in group
2498            $elem = $form.find('[name="' + $elem.attr('name') + '"]:eq(0)');
2499          }
2500
2501          if (eventContext !== 'keyup' || validator.validateOnKeyUp) {
2502            // A validator can prevent itself from getting triggered on keyup
2503            isValid = validator.validatorFunction(value, $elem, conf, language, $form, eventContext);
2504          }
2505
2506          if (!isValid) {
2507            if (conf.validateOnBlur) {
2508              $elem.validateOnKeyUp(language, conf);
2509            }
2510            errorMsg = $.formUtils.dialogs.resolveErrorMessage($elem, validator, rule, conf, language);
2511            return false; // break iteration
2512          }
2513
2514        } else {
2515
2516          // todo: Add some validator lookup function and tell immediately which module is missing
2517          throw new Error('Using undefined validator "' + rule +
2518            '". Maybe you have forgotten to load the module that "' + rule +'" belongs to?');
2519
2520        }
2521
2522      });
2523
2524
2525      if (isValid === false) {
2526        $elem.trigger('validation', false);
2527        result.errorMsg = errorMsg;
2528        result.isValid = false;
2529        result.shouldChangeDisplay = true;
2530      } else if (isValid === null) {
2531        // A validatorFunction returning null means that it's not able to validate
2532        // the input at this time. Most probably some async stuff need to gets finished
2533        // first and then the validator will re-trigger the validation.
2534        result.shouldChangeDisplay = false;
2535      } else {
2536        $elem.trigger('validation', true);
2537        result.shouldChangeDisplay = true;
2538      }
2539
2540      // Run element validation callback
2541      if (typeof conf.onElementValidate === 'function' && errorMsg !== null) {
2542        conf.onElementValidate(result.isValid, $elem, $form, errorMsg);
2543      }
2544
2545      $elem.trigger('afterValidation', [result, eventContext]);
2546
2547      return result;
2548    },
2549
2550    /**
2551     * Is it a correct date according to given dateFormat. Will return false if not, otherwise
2552     * an array 0=>year 1=>month 2=>day
2553     *
2554     * @param {String} val
2555     * @param {String} dateFormat
2556     * @param {Boolean} [addMissingLeadingZeros]
2557     * @return {Array}|{Boolean}
2558     */
2559    parseDate: function (val, dateFormat, addMissingLeadingZeros) {
2560      var divider = dateFormat.replace(/[a-zA-Z]/gi, '').substring(0, 1),
2561        regexp = '^',
2562        formatParts = dateFormat.split(divider || null),
2563        matches, day, month, year;
2564
2565      $.each(formatParts, function (i, part) {
2566        regexp += (i > 0 ? '\\' + divider : '') + '(\\d{' + part.length + '})';
2567      });
2568
2569      regexp += '$';
2570
2571      if (addMissingLeadingZeros) {
2572        var newValueParts = [];
2573        $.each(val.split(divider), function(i, part) {
2574          if(part.length === 1) {
2575            part = '0'+part;
2576          }
2577          newValueParts.push(part);
2578        });
2579        val = newValueParts.join(divider);
2580      }
2581
2582      matches = val.match(new RegExp(regexp));
2583      if (matches === null) {
2584        return false;
2585      }
2586
2587      var findDateUnit = function (unit, formatParts, matches) {
2588        for (var i = 0; i < formatParts.length; i++) {
2589          if (formatParts[i].substring(0, 1) === unit) {
2590            return $.formUtils.parseDateInt(matches[i + 1]);
2591          }
2592        }
2593        return -1;
2594      };
2595
2596      month = findDateUnit('m', formatParts, matches);
2597      day = findDateUnit('d', formatParts, matches);
2598      year = findDateUnit('y', formatParts, matches);
2599
2600      if ((month === 2 && day > 28 && (year % 4 !== 0 || year % 100 === 0 && year % 400 !== 0)) ||
2601        (month === 2 && day > 29 && (year % 4 === 0 || year % 100 !== 0 && year % 400 === 0)) ||
2602        month > 12 || month === 0) {
2603        return false;
2604      }
2605      if ((this.isShortMonth(month) && day > 30) || (!this.isShortMonth(month) && day > 31) || day === 0) {
2606        return false;
2607      }
2608
2609      return [year, month, day];
2610    },
2611
2612    /**
2613     * skum fix. är talet 05 eller lägre ger parseInt rätt int annars får man 0 när man kör parseInt?
2614     *
2615     * @param {String} val
2616     * @return {Number}
2617     */
2618    parseDateInt: function (val) {
2619      if (val.indexOf('0') === 0) {
2620        val = val.replace('0', '');
2621      }
2622      return parseInt(val, 10);
2623    },
2624
2625    /**
2626     * Has month only 30 days?
2627     *
2628     * @param {Number} m
2629     * @return {Boolean}
2630     */
2631    isShortMonth: function (m) {
2632      return (m % 2 === 0 && m < 7) || (m % 2 !== 0 && m > 7);
2633    },
2634
2635    /**
2636     * Restrict input length
2637     *
2638     * @param {jQuery} $inputElement Jquery Html object
2639     * @param {jQuery} $maxLengthElement jQuery Html Object
2640     * @return void
2641     */
2642    lengthRestriction: function ($inputElement, $maxLengthElement) {
2643      // read maxChars from counter display initial text value
2644      var maxChars = parseInt($maxLengthElement.text(), 10),
2645        charsLeft = 0,
2646
2647      // internal function does the counting and sets display value
2648        countCharacters = function () {
2649          var numChars = $inputElement.val().length;
2650          if (numChars > maxChars) {
2651            // get current scroll bar position
2652            var currScrollTopPos = $inputElement.scrollTop();
2653            // trim value to max length
2654            $inputElement.val($inputElement.val().substring(0, maxChars));
2655            $inputElement.scrollTop(currScrollTopPos);
2656          }
2657          charsLeft = maxChars - numChars;
2658          if (charsLeft < 0) {
2659            charsLeft = 0;
2660          }
2661
2662          // set counter text
2663          $maxLengthElement.text(charsLeft);
2664        };
2665
2666      // bind events to this element
2667      // setTimeout is needed, cut or paste fires before val is available
2668      $($inputElement).bind('keydown keyup keypress focus blur', countCharacters)
2669        .bind('cut paste', function () {
2670          setTimeout(countCharacters, 100);
2671        });
2672
2673      // count chars on pageload, if there are prefilled input-values
2674      $(document).bind('ready', countCharacters);
2675    },
2676
2677    /**
2678     * Test numeric against allowed range
2679     *
2680     * @param $value int
2681     * @param $rangeAllowed str; (1-2, min1, max2, 10)
2682     * @return array
2683     */
2684    numericRangeCheck: function (value, rangeAllowed) {
2685      // split by dash
2686      var range = $.split(rangeAllowed),
2687      // min or max
2688        minmax = parseInt(rangeAllowed.substr(3), 10);
2689
2690      if( range.length === 1 && rangeAllowed.indexOf('min') === -1 && rangeAllowed.indexOf('max') === -1 ) {
2691        range = [rangeAllowed, rangeAllowed]; // only a number, checking agains an exact number of characters
2692      }
2693
2694      // range ?
2695      if (range.length === 2 && (value < parseInt(range[0], 10) || value > parseInt(range[1], 10) )) {
2696        return [ 'out', range[0], range[1] ];
2697      } // value is out of range
2698      else if (rangeAllowed.indexOf('min') === 0 && (value < minmax )) // min
2699      {
2700        return ['min', minmax];
2701      } // value is below min
2702      else if (rangeAllowed.indexOf('max') === 0 && (value > minmax )) // max
2703      {
2704        return ['max', minmax];
2705      } // value is above max
2706      // since no other returns executed, value is in allowed range
2707      return [ 'ok' ];
2708    },
2709
2710
2711    _numSuggestionElements: 0,
2712    _selectedSuggestion: null,
2713    _previousTypedVal: null,
2714
2715    /**
2716     * Utility function that can be used to create plugins that gives
2717     * suggestions when inputs is typed into
2718     * @param {jQuery} $elem
2719     * @param {Array} suggestions
2720     * @param {Object} settings - Optional
2721     * @return {jQuery}
2722     */
2723    suggest: function ($elem, suggestions, settings) {
2724      var conf = {
2725          css: {
2726            maxHeight: '150px',
2727            background: '#FFF',
2728            lineHeight: '150%',
2729            textDecoration: 'underline',
2730            overflowX: 'hidden',
2731            overflowY: 'auto',
2732            border: '#CCC solid 1px',
2733            borderTop: 'none',
2734            cursor: 'pointer'
2735          },
2736          activeSuggestionCSS: {
2737            background: '#E9E9E9'
2738          }
2739        },
2740        setSuggsetionPosition = function ($suggestionContainer, $input) {
2741          var offset = $input.offset();
2742          $suggestionContainer.css({
2743            width: $input.outerWidth(),
2744            left: offset.left + 'px',
2745            top: (offset.top + $input.outerHeight()) + 'px'
2746          });
2747        };
2748
2749      if (settings) {
2750        $.extend(conf, settings);
2751      }
2752
2753      conf.css.position = 'absolute';
2754      conf.css['z-index'] = 9999;
2755      $elem.attr('autocomplete', 'off');
2756
2757      if (this._numSuggestionElements === 0) {
2758        // Re-position suggestion container if window size changes
2759        $win.bind('resize', function () {
2760          $('.jquery-form-suggestions').each(function () {
2761            var $container = $(this),
2762              suggestID = $container.attr('data-suggest-container');
2763            setSuggsetionPosition($container, $('.suggestions-' + suggestID).eq(0));
2764          });
2765        });
2766      }
2767
2768      this._numSuggestionElements++;
2769
2770      var onSelectSuggestion = function ($el) {
2771        var suggestionId = $el.valAttr('suggestion-nr');
2772        $.formUtils._selectedSuggestion = null;
2773        $.formUtils._previousTypedVal = null;
2774        $('.jquery-form-suggestion-' + suggestionId).fadeOut('fast');
2775      };
2776
2777      $elem
2778        .data('suggestions', suggestions)
2779        .valAttr('suggestion-nr', this._numSuggestionElements)
2780        .unbind('focus.suggest')
2781        .bind('focus.suggest', function () {
2782          $(this).trigger('keyup');
2783          $.formUtils._selectedSuggestion = null;
2784        })
2785        .unbind('keyup.suggest')
2786        .bind('keyup.suggest', function () {
2787          var $input = $(this),
2788            foundSuggestions = [],
2789            val = $.trim($input.val()).toLocaleLowerCase();
2790
2791          if (val === $.formUtils._previousTypedVal) {
2792            return;
2793          }
2794          else {
2795            $.formUtils._previousTypedVal = val;
2796          }
2797
2798          var hasTypedSuggestion = false,
2799            suggestionId = $input.valAttr('suggestion-nr'),
2800            $suggestionContainer = $('.jquery-form-suggestion-' + suggestionId);
2801
2802          $suggestionContainer.scrollTop(0);
2803
2804          // Find the right suggestions
2805          if (val !== '') {
2806            var findPartial = val.length > 2;
2807            $.each($input.data('suggestions'), function (i, suggestion) {
2808              var lowerCaseVal = suggestion.toLocaleLowerCase();
2809              if (lowerCaseVal === val) {
2810                foundSuggestions.push('<strong>' + suggestion + '</strong>');
2811                hasTypedSuggestion = true;
2812                return false;
2813              } else if (lowerCaseVal.indexOf(val) === 0 || (findPartial && lowerCaseVal.indexOf(val) > -1)) {
2814                foundSuggestions.push(suggestion.replace(new RegExp(val, 'gi'), '<strong>$&</strong>'));
2815              }
2816            });
2817          }
2818
2819          // Hide suggestion container
2820          if (hasTypedSuggestion || (foundSuggestions.length === 0 && $suggestionContainer.length > 0)) {
2821            $suggestionContainer.hide();
2822          }
2823
2824          // Create suggestion container if not already exists
2825          else if (foundSuggestions.length > 0 && $suggestionContainer.length === 0) {
2826            $suggestionContainer = $('<div></div>').css(conf.css).appendTo('body');
2827            $elem.addClass('suggestions-' + suggestionId);
2828            $suggestionContainer
2829              .attr('data-suggest-container', suggestionId)
2830              .addClass('jquery-form-suggestions')
2831              .addClass('jquery-form-suggestion-' + suggestionId);
2832          }
2833
2834          // Show hidden container
2835          else if (foundSuggestions.length > 0 && !$suggestionContainer.is(':visible')) {
2836            $suggestionContainer.show();
2837          }
2838
2839          // add suggestions
2840          if (foundSuggestions.length > 0 && val.length !== foundSuggestions[0].length) {
2841
2842            // put container in place every time, just in case
2843            setSuggsetionPosition($suggestionContainer, $input);
2844
2845            // Add suggestions HTML to container
2846            $suggestionContainer.html('');
2847            $.each(foundSuggestions, function (i, text) {
2848              $('<div></div>')
2849                .append(text)
2850                .css({
2851                  overflow: 'hidden',
2852                  textOverflow: 'ellipsis',
2853                  whiteSpace: 'nowrap',
2854                  padding: '5px'
2855                })
2856                .addClass('form-suggest-element')
2857                .appendTo($suggestionContainer)
2858                .click(function () {
2859                  $input.focus();
2860                  $input.val($(this).text());
2861                  $input.trigger('change');
2862                  onSelectSuggestion($input);
2863                });
2864            });
2865          }
2866        })
2867        .unbind('keydown.validation')
2868        .bind('keydown.validation', function (e) {
2869          var code = (e.keyCode ? e.keyCode : e.which),
2870            suggestionId,
2871            $suggestionContainer,
2872            $input = $(this);
2873
2874          if (code === 13 && $.formUtils._selectedSuggestion !== null) {
2875            suggestionId = $input.valAttr('suggestion-nr');
2876            $suggestionContainer = $('.jquery-form-suggestion-' + suggestionId);
2877            if ($suggestionContainer.length > 0) {
2878              var newText = $suggestionContainer.find('div').eq($.formUtils._selectedSuggestion).text();
2879              $input.val(newText);
2880              $input.trigger('change');
2881              onSelectSuggestion($input);
2882              e.preventDefault();
2883            }
2884          }
2885          else {
2886            suggestionId = $input.valAttr('suggestion-nr');
2887            $suggestionContainer = $('.jquery-form-suggestion-' + suggestionId);
2888            var $suggestions = $suggestionContainer.children();
2889            if ($suggestions.length > 0 && $.inArray(code, [38, 40]) > -1) {
2890              if (code === 38) { // key up
2891                if ($.formUtils._selectedSuggestion === null) {
2892                  $.formUtils._selectedSuggestion = $suggestions.length - 1;
2893                }
2894                else{
2895                  $.formUtils._selectedSuggestion--;
2896                }
2897                if ($.formUtils._selectedSuggestion < 0) {
2898                  $.formUtils._selectedSuggestion = $suggestions.length - 1;
2899                }
2900              }
2901              else if (code === 40) { // key down
2902                if ($.formUtils._selectedSuggestion === null) {
2903                  $.formUtils._selectedSuggestion = 0;
2904                }
2905                else {
2906                  $.formUtils._selectedSuggestion++;
2907                }
2908                if ($.formUtils._selectedSuggestion > ($suggestions.length - 1)) {
2909                  $.formUtils._selectedSuggestion = 0;
2910                }
2911              }
2912
2913              // Scroll in suggestion window
2914              var containerInnerHeight = $suggestionContainer.innerHeight(),
2915                containerScrollTop = $suggestionContainer.scrollTop(),
2916                suggestionHeight = $suggestionContainer.children().eq(0).outerHeight(),
2917                activeSuggestionPosY = suggestionHeight * ($.formUtils._selectedSuggestion);
2918
2919              if (activeSuggestionPosY < containerScrollTop || activeSuggestionPosY > (containerScrollTop + containerInnerHeight)) {
2920                $suggestionContainer.scrollTop(activeSuggestionPosY);
2921              }
2922
2923              $suggestions
2924                .removeClass('active-suggestion')
2925                .css('background', 'none')
2926                .eq($.formUtils._selectedSuggestion)
2927                .addClass('active-suggestion')
2928                .css(conf.activeSuggestionCSS);
2929
2930              e.preventDefault();
2931              return false;
2932            }
2933          }
2934        })
2935        .unbind('blur.suggest')
2936        .bind('blur.suggest', function () {
2937          onSelectSuggestion($(this));
2938        });
2939
2940      return $elem;
2941    },
2942
2943    /**
2944     * Error dialogs
2945     *
2946     * @var {Object}
2947     */
2948    LANG: {
2949      errorTitle: 'Form submission failed!',
2950      requiredField: 'This is a required field',
2951      requiredFields: 'You have not answered all required fields',
2952      badTime: 'You have not given a correct time',
2953      badEmail: 'You have not given a correct e-mail address',
2954      badTelephone: 'You have not given a correct phone number',
2955      badSecurityAnswer: 'You have not given a correct answer to the security question',
2956      badDate: 'You have not given a correct date',
2957      lengthBadStart: 'The input value must be between ',
2958      lengthBadEnd: ' characters',
2959      lengthTooLongStart: 'The input value is longer than ',
2960      lengthTooShortStart: 'The input value is shorter than ',
2961      notConfirmed: 'Input values could not be confirmed',
2962      badDomain: 'Incorrect domain value',
2963      badUrl: 'The input value is not a correct URL',
2964      badCustomVal: 'The input value is incorrect',
2965      andSpaces: ' and spaces ',
2966      badInt: 'The input value was not a correct number',
2967      badSecurityNumber: 'Your social security number was incorrect',
2968      badUKVatAnswer: 'Incorrect UK VAT Number',
2969      badUKNin: 'Incorrect UK NIN',
2970      badUKUtr: 'Incorrect UK UTR Number',
2971      badStrength: 'The password isn\'t strong enough',
2972      badNumberOfSelectedOptionsStart: 'You have to choose at least ',
2973      badNumberOfSelectedOptionsEnd: ' answers',
2974      badAlphaNumeric: 'The input value can only contain alphanumeric characters ',
2975      badAlphaNumericExtra: ' and ',
2976      wrongFileSize: 'The file you are trying to upload is too large (max %s)',
2977      wrongFileType: 'Only files of type %s is allowed',
2978      groupCheckedRangeStart: 'Please choose between ',
2979      groupCheckedTooFewStart: 'Please choose at least ',
2980      groupCheckedTooManyStart: 'Please choose a maximum of ',
2981      groupCheckedEnd: ' item(s)',
2982      badCreditCard: 'The credit card number is not correct',
2983      badCVV: 'The CVV number was not correct',
2984      wrongFileDim : 'Incorrect image dimensions,',
2985      imageTooTall : 'the image can not be taller than',
2986      imageTooWide : 'the image can not be wider than',
2987      imageTooSmall : 'the image was too small',
2988      min : 'min',
2989      max : 'max',
2990      imageRatioNotAccepted : 'Image ratio is not be accepted',
2991      badBrazilTelephoneAnswer: 'The phone number entered is invalid',
2992      badBrazilCEPAnswer: 'The CEP entered is invalid',
2993      badBrazilCPFAnswer: 'The CPF entered is invalid',
2994      badPlPesel: 'The PESEL entered is invalid',
2995      badPlNip: 'The NIP entered is invalid',
2996      badPlRegon: 'The REGON entered is invalid',
2997      badreCaptcha: 'Please confirm that you are not a bot',
2998      passwordComplexityStart: 'Password must contain at least ',
2999      passwordComplexitySeparator: ', ',
3000      passwordComplexityUppercaseInfo: ' uppercase letter(s)',
3001      passwordComplexityLowercaseInfo: ' lowercase letter(s)',
3002      passwordComplexitySpecialCharsInfo: ' special character(s)',
3003      passwordComplexityNumericCharsInfo: ' numeric character(s)',
3004      passwordComplexityEnd: '.'
3005    }
3006  });
3007
3008})(jQuery, window);
3009
3010/**
3011 * File declaring all default validators.
3012 */
3013(function($) {
3014
3015  /*
3016   * Validate email
3017   */
3018  $.formUtils.addValidator({
3019    name: 'email',
3020    validatorFunction: function (email) {
3021
3022      var emailParts = email.toLowerCase().split('@'),
3023        localPart = emailParts[0],
3024        domain = emailParts[1];
3025
3026      if (localPart && domain) {
3027
3028        if( localPart.indexOf('"') === 0 ) {
3029          var len = localPart.length;
3030          localPart = localPart.replace(/\"/g, '');
3031          if( localPart.length !== (len-2) ) {
3032            return false; // It was not allowed to have more than two apostrophes
3033          }
3034        }
3035
3036        return $.formUtils.validators.validate_domain.validatorFunction(emailParts[1]) &&
3037          localPart.indexOf('.') !== 0 &&
3038          localPart.substring(localPart.length-1, localPart.length) !== '.' &&
3039          localPart.indexOf('..') === -1 &&
3040          !(/[^\w\+\.\-\#\-\_\~\!\$\&\'\(\)\*\+\,\;\=\:]/.test(localPart));
3041      }
3042
3043      return false;
3044    },
3045    errorMessage: '',
3046    errorMessageKey: 'badEmail'
3047  });
3048
3049  /*
3050   * Validate domain name
3051   */
3052  $.formUtils.addValidator({
3053    name: 'domain',
3054    validatorFunction: function (val) {
3055      return val.length > 0 &&
3056        val.length <= 253 && // Including sub domains
3057        !(/[^a-zA-Z0-9]/.test(val.slice(-2))) && !(/[^a-zA-Z0-9]/.test(val.substr(0, 1))) && !(/[^a-zA-Z0-9\.\-]/.test(val)) &&
3058        val.split('..').length === 1 &&
3059        val.split('.').length > 1;
3060    },
3061    errorMessage: '',
3062    errorMessageKey: 'badDomain'
3063  });
3064
3065  /*
3066   * Validate required
3067   */
3068  $.formUtils.addValidator({
3069    name: 'required',
3070    validatorFunction: function (val, $el, config, language, $form) {
3071      switch ($el.attr('type')) {
3072        case 'checkbox':
3073          return $el.is(':checked');
3074        case 'radio':
3075          return $form.find('input[name="' + $el.attr('name') + '"]').filter(':checked').length > 0;
3076        default:
3077          return $.trim(val) !== '';
3078      }
3079    },
3080    errorMessage: '',
3081    errorMessageKey: function(config) {
3082      if (config.errorMessagePosition === 'top' || typeof config.errorMessagePosition === 'function') {
3083        return 'requiredFields';
3084      }
3085      else {
3086        return 'requiredField';
3087      }
3088    }
3089  });
3090
3091  /*
3092   * Validate length range
3093   */
3094  $.formUtils.addValidator({
3095    name: 'length',
3096    validatorFunction: function (val, $el, conf, lang) {
3097      var lengthAllowed = $el.valAttr('length'),
3098        type = $el.attr('type');
3099
3100      if (lengthAllowed === undefined) {
3101        alert('Please add attribute "data-validation-length" to ' + $el[0].nodeName + ' named ' + $el.attr('name'));
3102        return true;
3103      }
3104
3105      // check if length is above min, below max or within range.
3106      var len = type === 'file' && $el.get(0).files !== undefined ? $el.get(0).files.length : val.length,
3107        lengthCheckResults = $.formUtils.numericRangeCheck(len, lengthAllowed),
3108        checkResult;
3109
3110      switch (lengthCheckResults[0]) {   // outside of allowed range
3111        case 'out':
3112          this.errorMessage = lang.lengthBadStart + lengthAllowed + lang.lengthBadEnd;
3113          checkResult = false;
3114          break;
3115        // too short
3116        case 'min':
3117          this.errorMessage = lang.lengthTooShortStart + lengthCheckResults[1] + lang.lengthBadEnd;
3118          checkResult = false;
3119          break;
3120        // too long
3121        case 'max':
3122          this.errorMessage = lang.lengthTooLongStart + lengthCheckResults[1] + lang.lengthBadEnd;
3123          checkResult = false;
3124          break;
3125        // ok
3126        default:
3127          checkResult = true;
3128      }
3129
3130      return checkResult;
3131    },
3132    errorMessage: '',
3133    errorMessageKey: ''
3134  });
3135
3136  /*
3137   * Validate url
3138   */
3139  $.formUtils.addValidator({
3140    name: 'url',
3141    validatorFunction: function (url) {
3142      // written by Scott Gonzalez: http://projects.scottsplayground.com/iri/
3143      // - Victor Jonsson added support for arrays in the url ?arg[]=sdfsdf
3144      // - General improvements made by Stéphane Moureau <https://github.com/TraderStf>
3145
3146      var urlFilter = /^(https?|ftp):\/\/((((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])(\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])(\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/(((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|\[|\]|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#(((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i;
3147      if (urlFilter.test(url)) {
3148        var domain = url.split('://')[1],
3149          domainSlashPos = domain.indexOf('/');
3150
3151        if (domainSlashPos > -1) {
3152          domain = domain.substr(0, domainSlashPos);
3153        }
3154
3155        return $.formUtils.validators.validate_domain.validatorFunction(domain); // todo: add support for IP-addresses
3156      }
3157      return false;
3158    },
3159    errorMessage: '',
3160    errorMessageKey: 'badUrl'
3161  });
3162
3163  /*
3164   * Validate number (floating or integer)
3165   */
3166  $.formUtils.addValidator({
3167    name: 'number',
3168    validatorFunction: function (val, $el, conf) {
3169      if (val !== '') {
3170        var allowing = $el.valAttr('allowing') || '',
3171          decimalSeparator = $el.valAttr('decimal-separator') || conf.decimalSeparator,
3172          allowsRange = false,
3173          begin, end,
3174          steps = $el.valAttr('step') || '',
3175          allowsSteps = false,
3176          sanitize = $el.attr('data-sanitize') || '',
3177          isFormattedWithNumeral = sanitize.match(/(^|[\s])numberFormat([\s]|$)/i);
3178
3179        if (isFormattedWithNumeral) {
3180          if (!window.numeral) {
3181            throw new ReferenceError('The data-sanitize value numberFormat cannot be used without the numeral' +
3182              ' library. Please see Data Validation in http://www.formvalidator.net for more information.');
3183          }
3184          //Unformat input first, then convert back to String
3185          if (val.length) {
3186            val = String(numeral().unformat(val));
3187          }
3188        }
3189
3190        if (allowing.indexOf('number') === -1) {
3191          allowing += ',number';
3192        }
3193
3194        if (allowing.indexOf('negative') === -1 && val.indexOf('-') === 0) {
3195          return false;
3196        }
3197
3198        if (allowing.indexOf('range') > -1) {
3199          begin = parseFloat(allowing.substring(allowing.indexOf('[') + 1, allowing.indexOf(';')));
3200          end = parseFloat(allowing.substring(allowing.indexOf(';') + 1, allowing.indexOf(']')));
3201          allowsRange = true;
3202        }
3203
3204        if (steps !== '') {
3205          allowsSteps = true;
3206        }
3207
3208        if (decimalSeparator === ',') {
3209          if (val.indexOf('.') > -1) {
3210            return false;
3211          }
3212          // Fix for checking range with floats using ,
3213          val = val.replace(',', '.');
3214        }
3215        if (val.replace(/[0-9-]/g, '') === '' && (!allowsRange || (val >= begin && val <= end)) && (!allowsSteps || (val % steps === 0))) {
3216          return true;
3217        }
3218
3219        if (allowing.indexOf('float') > -1 && val.match(new RegExp('^([0-9-]+)\\.([0-9]+)$')) !== null && (!allowsRange || (val >= begin && val <= end)) && (!allowsSteps || (val % steps === 0))) {
3220          return true;
3221        }
3222      }
3223      return false;
3224    },
3225    errorMessage: '',
3226    errorMessageKey: 'badInt'
3227  });
3228
3229  /*
3230   * Validate alpha numeric
3231   */
3232  $.formUtils.addValidator({
3233    name: 'alphanumeric',
3234    validatorFunction: function (val, $el, conf, language) {
3235      var patternStart = '^([a-zA-Z0-9',
3236        patternEnd = ']+)$',
3237        additionalChars = $el.valAttr('allowing'),
3238        pattern = '',
3239        hasSpaces = false;
3240
3241      if (additionalChars) {
3242        pattern = patternStart + additionalChars + patternEnd;
3243        var extra = additionalChars.replace(/\\/g, '');
3244        if (extra.indexOf(' ') > -1) {
3245          hasSpaces = true;
3246          extra = extra.replace(' ', '');
3247          extra += language.andSpaces || $.formUtils.LANG.andSpaces;
3248        }
3249
3250        if(language.badAlphaNumericAndExtraAndSpaces && language.badAlphaNumericAndExtra) {
3251          if(hasSpaces) {
3252            this.errorMessage = language.badAlphaNumericAndExtraAndSpaces + extra;
3253          } else {
3254            this.errorMessage = language.badAlphaNumericAndExtra + extra + language.badAlphaNumericExtra;
3255          }
3256        } else {
3257          this.errorMessage = language.badAlphaNumeric + language.badAlphaNumericExtra + extra;
3258        }
3259      } else {
3260        pattern = patternStart + patternEnd;
3261        this.errorMessage = language.badAlphaNumeric;
3262      }
3263
3264      return new RegExp(pattern).test(val);
3265    },
3266    errorMessage: '',
3267    errorMessageKey: ''
3268  });
3269
3270  /*
3271   * Validate against regexp
3272   */
3273  $.formUtils.addValidator({
3274    name: 'custom',
3275    validatorFunction: function (val, $el) {
3276      var regexp = new RegExp($el.valAttr('regexp'));
3277      return regexp.test(val);
3278    },
3279    errorMessage: '',
3280    errorMessageKey: 'badCustomVal'
3281  });
3282
3283  /*
3284   * Validate date
3285   */
3286  $.formUtils.addValidator({
3287    name: 'date',
3288    validatorFunction: function (date, $el, conf) {
3289      var dateFormat = $el.valAttr('format') || conf.dateFormat || 'yyyy-mm-dd',
3290        addMissingLeadingZeros = $el.valAttr('require-leading-zero') === 'false';
3291      return $.formUtils.parseDate(date, dateFormat, addMissingLeadingZeros) !== false;
3292    },
3293    errorMessage: '',
3294    errorMessageKey: 'badDate'
3295  });
3296
3297
3298  /*
3299   * Validate group of checkboxes, validate qty required is checked
3300   * written by Steve Wasiura : http://stevewasiura.waztech.com
3301   * element attrs
3302   *    data-validation="checkbox_group"
3303   *    data-validation-qty="1-2"  // min 1 max 2
3304   *    data-validation-error-msg="chose min 1, max of 2 checkboxes"
3305   */
3306  $.formUtils.addValidator({
3307    name: 'checkbox_group',
3308    validatorFunction: function (val, $el, conf, lang, $form) {
3309      // preset return var
3310      var isValid = true,
3311      // get name of element. since it is a checkbox group, all checkboxes will have same name
3312        elname = $el.attr('name'),
3313      // get checkboxes and count the checked ones
3314        $checkBoxes = $('input[type=checkbox][name^="' + elname + '"]', $form),
3315        checkedCount = $checkBoxes.filter(':checked').length,
3316      // get el attr that specs qty required / allowed
3317        qtyAllowed = $el.valAttr('qty');
3318
3319      if (qtyAllowed === undefined) {
3320        var elementType = $el.get(0).nodeName;
3321        alert('Attribute "data-validation-qty" is missing from ' + elementType + ' named ' + $el.attr('name'));
3322      }
3323
3324      // call Utility function to check if count is above min, below max, within range etc.
3325      var qtyCheckResults = $.formUtils.numericRangeCheck(checkedCount, qtyAllowed);
3326
3327      // results will be array, [0]=result str, [1]=qty int
3328      switch (qtyCheckResults[0]) {
3329        // outside allowed range
3330        case 'out':
3331          this.errorMessage = lang.groupCheckedRangeStart + qtyAllowed + lang.groupCheckedEnd;
3332          isValid = false;
vendor: 63,096 bytes, lines 3333-3408
3333          break;
3334        // below min qty
3335        case 'min':
3336          this.errorMessage = lang.groupCheckedTooFewStart + qtyCheckResults[1] + (lang.groupCheckedTooFewEnd || lang.groupCheckedEnd);
3337          isValid = false;
3338          break;
3339        // above max qty
3340        case 'max':
3341          this.errorMessage = lang.groupCheckedTooManyStart + qtyCheckResults[1] + (lang.groupCheckedTooManyEnd || lang.groupCheckedEnd);
3342          isValid = false;
3343          break;
3344        // ok
3345        default:
3346          isValid = true;
3347      }
3348
3349      if( !isValid ) {
3350        var _triggerOnBlur = function() {
3351          $checkBoxes.unbind('click', _triggerOnBlur);
3352          $checkBoxes.filter('*[data-validation]').validateInputOnBlur(lang, conf, false, 'blur');
3353        };
3354        $checkBoxes.bind('click', _triggerOnBlur);
3355      }
3356
3357      return isValid;
3358    }
3359    //   errorMessage : '', // set above in switch statement
3360    //   errorMessageKey: '' // not used
3361  });
3362
3363})(jQuery);
3364
3365
3366}));
3367;
3368/**
3369 * Selectize (v0.15.2)
3370 * https://selectize.dev
3371 *
3372 * Copyright (c) 2013-2015 Brian Reavis & contributors
3373 * Copyright (c) 2020-2023 Selectize Team & contributors
3374 *
3375 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
3376 * file except in compliance with the License. You may obtain a copy of the License at:
3377 * http://www.apache.org/licenses/LICENSE-2.0
3378 *
3379 * Unless required by applicable law or agreed to in writing, software distributed under
3380 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
3381 * ANY KIND, either express or implied. See the License for the specific language
3382 * governing permissions and limitations under the License.
3383 *
3384 * @author Brian Reavis <[email protected]>
3385 * @author Ris Adams <[email protected]>
3386 */
3387(function (root, factory) {
3388  if (typeof define === 'function' && define.amd) {
3389    define(['jquery'], factory);
3390  } else if (typeof module === 'object' && typeof module.exports === 'object') {
3391    module.exports = factory(require('jquery'));
3392  } else {
3393    root.Selectize = factory(root.jQuery);
3394  }
3395}(this, function ($) {
3396  'use strict';
3397var highlight=function(t,e){var r,a;if("string"!=typeof e||e.length)return r="string"==typeof e?new RegExp(e,"i"):e,a=function(t){var e=0;if(3===t.nodeType){var n,i,o=t.data.search(r);0<=o&&0<t.data.length&&(i=t.data.match(r),(n=document.createElement("span")).className="highlight",(o=t.splitText(o)).splitText(i[0].length),i=o.cloneNode(!0),n.appendChild(i),o.parentNode.replaceChild(n,o),e=1)}else if(1===t.nodeType&&t.childNodes&&!/(script|style)/i.test(t.tagName)&&("highlight"!==t.className||"SPAN"!==t.tagName))for(var s=0;s<t.childNodes.length;++s)s+=a(t.childNodes[s]);return e},t.each(function(){a(this)})},MicroEvent=($.fn.removeHighlight=function(){return this.find("span.highlight").each(function(){this.parentNode.firstChild.nodeName;var t=this.parentNode;t.replaceChild(this.firstChild,this),t.normalize()}).end()},function(){}),MicroPlugin=(MicroEvent.prototype={on:function(t,e){this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e)},off:function(t,e){var n=arguments.length;return 0===n?delete this._events:1===n?delete this._events[t]:(this._events=this._events||{},void(t in this._events!=!1&&this._events[t].splice(this._events[t].indexOf(e),1)))},trigger:function(t){var e=this._events=this._events||{};if(t in e!=!1)for(var n=0;n<e[t].length;n++)e[t][n].apply(this,Array.prototype.slice.call(arguments,1))}},MicroEvent.mixin=function(t){for(var e=["on","off","trigger"],n=0;n<e.length;n++)t.prototype[e[n]]=MicroEvent.prototype[e[n]]},{});MicroPlugin.mixin=function(o){o.plugins={},o.prototype.initializePlugins=function(t){var e,n,i,o=this,s=[];if(o.plugins={names:[],settings:{},requested:{},loaded:{}},isArray(t))for(e=0,n=t.length;e<n;e++)"string"==typeof t[e]?s.push(t[e]):(o.plugins.settings[t[e].name]=t[e].options,s.push(t[e].name));else if(t)for(i in t)t.hasOwnProperty(i)&&(o.plugins.settings[i]=t[i],s.push(i));for(;s.length;)o.require(s.shift())},o.prototype.loadPlugin=function(t){var e=this,n=e.plugins,i=o.plugins[t];if(!o.plugins.hasOwnProperty(t))throw new Error('Unable to find "'+t+'" plugin');n.requested[t]=!0,n.loaded[t]=i.fn.apply(e,[e.plugins.settings[t]||{}]),n.names.push(t)},o.prototype.require=function(t){var e=this,n=e.plugins;if(!e.plugins.loaded.hasOwnProperty(t)){if(n.requested[t])throw new Error('Plugin has circular dependency ("'+t+'")');e.loadPlugin(t)}return n.loaded[t]},o.define=function(t,e){o.plugins[t]={name:t,fn:e}}};const nanoid=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((t,e)=>t+((e&=63)<36?e.toString(36):e<62?(e-26).toString(36).toUpperCase():62<e?"-":"_"),"");var Sifter=function(t,e){this.items=t,this.settings=e||{diacritics:!0}},cmp=(Sifter.prototype.tokenize=function(t,e){if(!(t=trim(String(t||"").toLowerCase()))||!t.length)return[];for(var n,i,o=[],s=t.split(/ +/),r=0,a=s.length;r<a;r++){if(n=escape_regex(s[r]),this.settings.diacritics)for(i in DIACRITICS)DIACRITICS.hasOwnProperty(i)&&(n=n.replace(new RegExp(i,"g"),DIACRITICS[i]));e&&(n="\\b"+n),o.push({string:s[r],regex:new RegExp(n,"i")})}return o},Sifter.prototype.iterator=function(t,e){var n=is_array(t)?Array.prototype.forEach||function(t){for(var e=0,n=this.length;e<n;e++)t(this[e],e,this)}:function(t){for(var e in this)this.hasOwnProperty(e)&&t(this[e],e,this)};n.apply(t,[e])},Sifter.prototype.getScoreFunction=function(t,e){function o(t,e){var n;return!t||-1===(n=(t=String(t||"")).search(e.regex))?0:(e=e.string.length/t.length,0===n&&(e+=.5),e)}var s,r=(t=this.prepareSearch(t,e)).tokens,a=t.options.fields,l=r.length,p=t.options.nesting,c=(s=a.length)?1===s?function(t,e){return o(getattr(e,a[0],p),t)}:function(t,e){for(var n=0,i=0;n<s;n++)i+=o(getattr(e,a[n],p),t);return i/s}:function(){return 0};return l?1===l?function(t){return c(r[0],t)}:"and"===t.options.conjunction?function(t){for(var e,n=0,i=0;n<l;n++){if((e=c(r[n],t))<=0)return 0;i+=e}return i/l}:function(t){for(var e=0,n=0;e<l;e++)n+=c(r[e],t);return n/l}:function(){return 0}},Sifter.prototype.getSortFunction=function(t,n){var e,i,o,s,r,a,l,p=this,c=!(t=p.prepareSearch(t,n)).query&&n.sort_empty||n.sort,d=function(t,e){return"$score"===t?e.score:getattr(p.items[e.id],t,n.nesting)},u=[];if(c)for(e=0,i=c.length;e<i;e++)!t.query&&"$score"===c[e].field||u.push(c[e]);if(t.query){for(l=!0,e=0,i=u.length;e<i;e++)if("$score"===u[e].field){l=!1;break}l&&u.unshift({field:"$score",direction:"desc"})}else for(e=0,i=u.length;e<i;e++)if("$score"===u[e].field){u.splice(e,1);break}for(a=[],e=0,i=u.length;e<i;e++)a.push("desc"===u[e].direction?-1:1);return(s=u.length)?1===s?(o=u[0].field,r=a[0],function(t,e){return r*cmp(d(o,t),d(o,e))}):function(t,e){for(var n,i=0;i<s;i++)if(n=u[i].field,n=a[i]*cmp(d(n,t),d(n,e)))return n;return 0}:null},Sifter.prototype.prepareSearch=function(t,e){var n,i,o;return"object"==typeof t?t:(n=(e=extend({},e)).fields,i=e.sort,o=e.sort_empty,n&&!is_array(n)&&(e.fields=[n]),i&&!is_array(i)&&(e.sort=[i]),o&&!is_array(o)&&(e.sort_empty=[o]),{options:e,query:String(t||"").toLowerCase(),tokens:this.tokenize(t,e.respect_word_boundaries),total:0,items:[]})},Sifter.prototype.search=function(t,n){var i,o,e=this,s=this.prepareSearch(t,n);return n=s.options,t=s.query,o=n.score||e.getScoreFunction(s),t.length?e.iterator(e.items,function(t,e){i=o(t),(!1===n.filter||0<i)&&s.items.push({score:i,id:e})}):e.iterator(e.items,function(t,e){s.items.push({score:1,id:e})}),(t=e.getSortFunction(s,n))&&s.items.sort(t),s.total=s.items.length,"number"==typeof n.limit&&(s.items=s.items.slice(0,n.limit)),s},function(t,e){return"number"==typeof t&&"number"==typeof e?e<t?1:t<e?-1:0:(t=asciifold(String(t||"")),(e=asciifold(String(e||"")))<t?1:t<e?-1:0)}),extend=function(t,e){for(var n,i,o=1,s=arguments.length;o<s;o++)if(i=arguments[o])for(n in i)i.hasOwnProperty(n)&&(t[n]=i[n]);return t},getattr=function(t,e,n){if(t&&e){if(!n)return t[e];for(var i=e.split(".");i.length&&(t=t[i.shift()]););return t}},trim=function(t){return(t+"").replace(/^\s+|\s+$|/g,"")},escape_regex=function(t){return(t+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")},is_array=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},DIACRITICS={a:"[aḀḁĂăÂâǍǎȺⱥȦȧẠạÄäÀàÁáĀāÃãÅåąĄÃąĄ]",b:"[b␢βΒB฿𐌁ᛒ]",c:"[cĆćĈĉČčĊċC̄c̄ÇçḈḉȻȼƇƈɕᴄCc]",d:"[dĎďḊḋḐḑḌḍḒḓḎḏĐđD̦d̦ƉɖƊɗƋƌᵭᶁᶑȡᴅDdð]",e:"[eÉéÈèÊêḘḙĚěĔĕẼẽḚḛẺẻĖėËëĒēȨȩĘęᶒɆɇȄȅẾếỀềỄễỂểḜḝḖḗḔḕȆȇẸẹỆệⱸᴇEeɘǝƏƐε]",f:"[fƑƒḞḟ]",g:"[gɢ₲ǤǥĜĝĞğĢģƓɠĠġ]",h:"[hĤĥĦħḨḩẖẖḤḥḢḣɦʰǶƕ]",i:"[iÍíÌìĬĭÎîǏǐÏïḮḯĨĩĮįĪīỈỉȈȉȊȋỊịḬḭƗɨɨ̆ᵻᶖİiIıɪIi]",j:"[jȷĴĵɈɉʝɟʲ]",k:"[kƘƙꝀꝁḰḱǨǩḲḳḴḵκϰ₭]",l:"[lŁłĽľĻļĹĺḶḷḸḹḼḽḺḻĿŀȽƚⱠⱡⱢɫɬᶅɭȴʟLl]",n:"[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲȠƞᵰᶇɳȵɴNnŊŋ]",o:"[oØøÖöÓóÒòÔôǑǒŐőŎŏȮȯỌọƟɵƠơỎỏŌōÕõǪǫȌȍՕօ]",p:"[pṔṕṖṗⱣᵽƤƥᵱ]",q:"[qꝖꝗʠɊɋꝘꝙq̃]",r:"[rŔŕɌɍŘřŖŗṘṙȐȑȒȓṚṛⱤɽ]",s:"[sŚśṠṡṢṣꞨꞩŜŝŠšŞşȘșS̈s̈]",t:"[tŤťṪṫŢţṬṭƮʈȚțṰṱṮṯƬƭ]",u:"[uŬŭɄʉỤụÜüÚúÙùÛûǓǔŰűŬŭƯưỦủŪūŨũŲųȔȕ∪]",v:"[vṼṽṾṿƲʋꝞꝟⱱʋ]",w:"[wẂẃẀẁŴŵẄẅẆẇẈẉ]",x:"[xẌẍẊẋχ]",y:"[yÝýỲỳŶŷŸÿỸỹẎẏỴỵɎɏƳƴ]",z:"[zŹźẐẑŽžŻżẒẓẔẕƵƶ]"},asciifold=function(){var t,e,n,i,o="",s={};for(n in DIACRITICS)if(DIACRITICS.hasOwnProperty(n))for(o+=i=DIACRITICS[n].substring(2,DIACRITICS[n].length-1),t=0,e=i.length;t<e;t++)s[i.charAt(t)]=n;var r=new RegExp("["+o+"]","g");return function(t){return t.replace(r,function(t){return s[t]}).toLowerCase()}}(),IS_MAC=uaDetect("macOS",/Mac/),KEY_A=65,KEY_COMMA=188,KEY_RETURN=13,KEY_ESC=27,KEY_LEFT=37,KEY_UP=38,KEY_P=80,KEY_RIGHT=39,KEY_DOWN=40,KEY_N=78,KEY_BACKSPACE=8,KEY_DELETE=46,KEY_SHIFT=16,KEY_CMD=IS_MAC?91:17,KEY_CTRL=IS_MAC?18:17,KEY_TAB=9,TAG_SELECT=1,TAG_INPUT=2,SUPPORTS_VALIDITY_API=!uaDetect("Android",/android/i)&&!!document.createElement("input").validity,isset=function(t){return void 0!==t},isArray=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},hash_key=function(t){return null==t?null:"boolean"==typeof t?t?"1":"0":t+""},escape_html=function(t){return(t+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")},escape_replace=function(t){return(t+"").replace(/\$/g,"$$$$")},hook={before:function(t,e,n){var i=t[e];t[e]=function(){return n.apply(t,arguments),i.apply(t,arguments)}},after:function(e,t,n){var i=e[t];e[t]=function(){var t=i.apply(e,arguments);return n.apply(e,arguments),t}}},once=function(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}},debounce=function(n,i){var o;return function(){var t=this,e=arguments;window.clearTimeout(o),o=window.setTimeout(function(){n.apply(t,e)},i)}},debounce_events=function(e,n,t){var i,o=e.trigger,s={};for(i in e.trigger=function(){var t=arguments[0];if(-1===n.indexOf(t))return o.apply(e,arguments);s[t]=arguments},t.apply(e,[]),e.trigger=o,s)s.hasOwnProperty(i)&&o.apply(e,s[i])},watchChildEvent=function(n,t,e,i){n.on(t,e,function(t){for(var e=t.target;e&&e.parentNode!==n[0];)e=e.parentNode;return t.currentTarget=e,i.apply(this,[t])})},getInputSelection=function(t){var e,n,i={};return void 0===t?console.warn("WARN getInputSelection cannot locate input control"):"selectionStart"in t?(i.start=t.selectionStart,i.length=t.selectionEnd-i.start):document.selection&&(t.focus(),e=document.selection.createRange(),n=document.selection.createRange().text.length,e.moveStart("character",-t.value.length),i.start=e.text.length-n,i.length=n),i},transferStyles=function(t,e,n){var i,o,s={};if(n)for(i=0,o=n.length;i<o;i++)s[n[i]]=t.css(n[i]);else s=t.css();e.css(s)},measureString=function(t,e){return t?(Selectize.$testInput||(Selectize.$testInput=$("<span />").css({position:"absolute",width:"auto",padding:0,whiteSpace:"pre"}),$("<div />").css({position:"absolute",width:0,height:0,overflow:"hidden"}).attr({"aria-hidden":!0}).append(Selectize.$testInput).appendTo("body")),Selectize.$testInput.text(t),transferStyles(e,Selectize.$testInput,["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"]),Selectize.$testInput.width()):0},autoGrow=function(s){function t(t,e){var n,i,o;e=e||{},(t=t||window.event||{}).metaKey||t.altKey||!e.force&&!1===s.data("grow")||(e=s.val(),t.type&&"keydown"===t.type.toLowerCase()&&(i=48<=(o=t.keyCode)&&o<=57||65<=o&&o<=90||96<=o&&o<=111||186<=o&&o<=222||32===o,o===KEY_DELETE||o===KEY_BACKSPACE?(n=getInputSelection(s[0])).length?e=e.substring(0,n.start)+e.substring(n.start+n.length):o===KEY_BACKSPACE&&n.start?e=e.substring(0,n.start-1)+e.substring(n.start+1):o===KEY_DELETE&&void 0!==n.start&&(e=e.substring(0,n.start)+e.substring(n.start+1)):i&&(o=t.shiftKey,n=String.fromCharCode(t.keyCode),e+=n=o?n.toUpperCase():n.toLowerCase())),i=s.attr("readonly")?0:4,o=(t=s.attr("placeholder"))?measureString(t,s)+i:0,(i=Math.max(measureString(e,s),o)+i)===r)||(r=i,s.width(i),s.triggerHandler("resize"))}var r=null;s.on("keydown keyup update blur",t),t()},domToString=function(t){var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML},logError=function(t,e){e=e||{};console.error("Selectize: "+t),e.explanation&&(console.group&&console.group(),console.error(e.explanation),console.group)&&console.groupEnd()},isJSON=function(t){try{JSON.parse(t)}catch(t){return!1}return!0};function uaDetect(t,e){return navigator.userAgentData?t===navigator.userAgentData.platform:e.test(navigator.userAgent)}var Selectize=function(t,e){var n,i,o=this,s=t[0],r=(s.selectize=o,window.getComputedStyle&&window.getComputedStyle(s,null));if(r=(r?r.getPropertyValue("direction"):s.currentStyle&&s.currentStyle.direction)||t.parents("[dir]:first").attr("dir")||"",o.settings={},$.extend(o,{order:0,settings:e,$input:t,tabIndex:t.attr("tabindex")||"",tagType:"select"===s.tagName.toLowerCase()?TAG_SELECT:TAG_INPUT,rtl:/rtl/i.test(r),eventNS:".selectize"+ ++Selectize.count,highlightedValue:null,isBlurring:!1,isOpen:!1,isDisabled:!1,isRequired:t.is("[required]"),isInvalid:!1,isLocked:!1,isFocused:!1,isInputHidden:!1,isSetup:!1,isShiftDown:!1,isCmdDown:!1,isCtrlDown:!1,ignoreFocus:!1,ignoreBlur:!1,ignoreHover:!1,hasOptions:!1,currentResults:null,lastValue:"",lastValidValue:"",lastOpenTarget:!1,caretPos:0,loading:0,loadedSearches:{},isDropdownClosing:!1,$activeOption:null,$activeItems:[],optgroups:{},options:{},userOptions:{},items:[],renderCache:{},onSearchChange:null===e.loadThrottle?o.onSearchChange:debounce(o.onSearchChange,e.loadThrottle)}),o.sifter=new Sifter(this.options,{diacritics:e.diacritics}),o.settings.options){for(n=0,i=o.settings.options.length;n<i;n++)o.registerOption(o.settings.options[n]);delete o.settings.options}if(o.settings.optgroups){for(n=0,i=o.settings.optgroups.length;n<i;n++)o.registerOptionGroup(o.settings.optgroups[n]);delete o.settings.optgroups}o.settings.mode=o.settings.mode||(1===o.settings.maxItems?"single":"multi"),"boolean"!=typeof o.settings.hideSelected&&(o.settings.hideSelected="multi"===o.settings.mode),o.initializePlugins(o.settings.plugins),o.setupCallbacks(),o.setupTemplates(),o.setup()};MicroEvent.mixin(Selectize),MicroPlugin.mixin(Selectize),$.extend(Selectize.prototype,{setup:function(){var e=this,t=e.settings,n=e.eventNS,i=$(window),o=$(document),s=e.$input,r=e.settings.mode,a=s.attr("class")||"",l=t.showArrow?"":" no-arrow",p=$("<div>").addClass(t.wrapperClass).addClass(a+" selectize-control").addClass(r),l=$("<div>").addClass(t.inputClass+l+" selectize-input items").appendTo(p),c=$('<input type="text" autocomplete="new-password" autofill="no" />').appendTo(l).attr("tabindex",s.is(":disabled")?"-1":e.tabIndex),d=$(t.dropdownParent||p),r=$("<div>").addClass(t.dropdownClass).addClass(r+" selectize-dropdown").hide().appendTo(d),d=$("<div>").addClass(t.dropdownContentClass+" selectize-dropdown-content").attr("tabindex","-1").appendTo(r),u=((u=s.attr("id"))&&(c.attr("id",u+"-selectized"),$("label[for='"+u+"']").attr("for",u+"-selectized")),e.settings.copyClassesToDropdown&&r.addClass(a),p.css({width:s[0].style.width}),e.plugins.names.length&&(u="plugin-"+e.plugins.names.join(" plugin-"),p.addClass(u),r.addClass(u)),(null===t.maxItems||1<t.maxItems)&&e.tagType===TAG_SELECT&&s.attr("multiple","multiple"),e.settings.placeholder&&c.attr("placeholder",t.placeholder),e.settings.search||(c.attr("readonly",!0),c.attr("inputmode","none"),l.css("cursor","pointer")),!e.settings.splitOn&&e.settings.delimiter&&(a=e.settings.delimiter.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),e.settings.splitOn=new RegExp("\\s*"+a+"+\\s*")),s.attr("autocorrect")&&c.attr("autocorrect",s.attr("autocorrect")),s.attr("autocapitalize")&&c.attr("autocapitalize",s.attr("autocapitalize")),s.is("input")&&(c[0].type=s[0].type),e.$wrapper=p,e.$control=l,e.$control_input=c,e.$dropdown=r,e.$dropdown_content=d,r.on("mouseenter mousedown mouseup click","[data-disabled]>[data-selectable]",function(t){t.stopImmediatePropagation()}),r.on("mouseenter","[data-selectable]",function(){return e.onOptionHover.apply(e,arguments)}),r.on("mouseup click","[data-selectable]",function(){return e.onOptionSelect.apply(e,arguments)}),watchChildEvent(l,"mouseup","*:not(input)",function(){return e.onItemSelect.apply(e,arguments)}),autoGrow(c),l.on({mousedown:function(){return e.onMouseDown.apply(e,arguments)},click:function(){return e.onClick.apply(e,arguments)}}),c.on({mousedown:function(t){""===e.$control_input.val()&&!e.settings.openOnFocus||t.stopPropagation()},keydown:function(){return e.onKeyDown.apply(e,arguments)},keypress:function(){return e.onKeyPress.apply(e,arguments)},input:function(){return e.onInput.apply(e,arguments)},resize:function(){e.positionDropdown.apply(e,[])},blur:function(){return e.onBlur.apply(e,arguments)},focus:function(){return e.onFocus.apply(e,arguments)},paste:function(){return e.onPaste.apply(e,arguments)}}),o.on("keydown"+n,function(t){e.isCmdDown=t[IS_MAC?"metaKey":"ctrlKey"],e.isCtrlDown=t[IS_MAC?"altKey":"ctrlKey"],e.isShiftDown=t.shiftKey}),o.on("keyup"+n,function(t){t.keyCode===KEY_CTRL&&(e.isCtrlDown=!1),t.keyCode===KEY_SHIFT&&(e.isShiftDown=!1),t.keyCode===KEY_CMD&&(e.isCmdDown=!1)}),o.on("mousedown"+n,function(t){if(e.isFocused){if(t.target===e.$dropdown[0]||e.$dropdown.has(t.target).length)return!1;t.target!==e.$control[0]&&e.blur(t.target)}}),i.on(["scroll"+n,"resize"+n].join(" "),function(){e.isOpen&&e.positionDropdown.apply(e,arguments)}),i.on("mousemove"+n,function(){e.ignoreHover=e.settings.ignoreHover}),$("<div></div>")),a=s.children().detach();s.replaceWith(u),u.replaceWith(s),this.revertSettings={$children:a,tabindex:s.attr("tabindex")},s.attr("tabindex",-1).hide().after(e.$wrapper),Array.isArray(t.items)&&(e.lastValidValue=t.items,e.setValue(t.items),delete t.items),SUPPORTS_VALIDITY_API&&s.on("invalid"+n,function(t){t.preventDefault(),e.isInvalid=!0,e.refreshState()}),e.updateOriginalInput(),e.refreshItems(),e.refreshState(),e.updatePlaceholder(),e.isSetup=!0,s.is(":disabled")&&e.disable(),e.on("change",this.onChange),s.data("selectize",e),s.addClass("selectized"),e.trigger("initialize"),!0===t.preload&&e.onSearchChange("")},setupTemplates:function(){var t=this,i=t.settings.labelField,o=t.settings.valueField,n=t.settings.optgroupLabelField;t.settings.render=$.extend({},{optgroup:function(t){return'<div class="optgroup">'+t.html+"</div>"},optgroup_header:function(t,e){return'<div class="optgroup-header">'+e(t[n])+"</div>"},option:function(t,e){var n=t.classes?" "+t.classes:"";return n+=""===t[o]?" selectize-dropdown-emptyoptionlabel":"","<div"+(t.styles?' style="'+t.styles+'"':"")+' class="option'+n+'">'+e(t[i])+"</div>"},item:function(t,e){return'<div class="item">'+e(t[i])+"</div>"},option_create:function(t,e){return'<div class="create">Add <strong>'+e(t.input)+"</strong>&#x2026;</div>"}},t.settings.render)},setupCallbacks:function(){var t,e,n={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur",dropdown_item_activate:"onDropdownItemActivate",dropdown_item_deactivate:"onDropdownItemDeactivate"};for(t in n)n.hasOwnProperty(t)&&(e=this.settings[n[t]])&&this.on(t,e)},onClick:function(t){this.isDropdownClosing||this.isFocused&&this.isOpen||(this.focus(),t.preventDefault())},onMouseDown:function(t){var e=this,n=t.isDefaultPrevented(),t=$(t.target);if(e.isFocused||n||window.setTimeout(function(){e.isOpen||e.focus()},0),t!==e.$control_input[0]||""===e.$control_input.val())return"single"===e.settings.mode?e.isOpen?e.close():e.open():(n||e.setActiveItem(null),e.settings.openOnFocus||(e.isOpen&&t===e.lastOpenTarget?(e.close(),e.lastOpenTarget=!1):(e.isOpen||(e.refreshOptions(),e.open()),e.lastOpenTarget=t))),!1},onChange:function(){""!==this.getValue()&&(this.lastValidValue=this.getValue()),this.$input.trigger("input"),this.$input.trigger("change")},onPaste:function(t){var o=this;o.isFull()||o.isInputHidden||o.isLocked?t.preventDefault():o.settings.splitOn&&setTimeout(function(){var t=o.$control_input.val();if(t.match(o.settings.splitOn))for(var e=t.trim().split(o.settings.splitOn),n=0,i=e.length;n<i;n++)o.createItem(e[n])},0)},onKeyPress:function(t){var e;return this.isLocked?t&&t.preventDefault():(e=String.fromCharCode(t.keyCode||t.which),this.settings.create&&"multi"===this.settings.mode&&e===this.settings.delimiter?(this.createItem(),t.preventDefault(),!1):void 0)},onKeyDown:function(t){t.target,this.$control_input[0];var e,n=this;if(n.isLocked)t.keyCode!==KEY_TAB&&t.preventDefault();else{switch(t.keyCode){case KEY_A:if(n.isCmdDown)return void n.selectAll();break;case KEY_ESC:return void(n.isOpen&&(t.preventDefault(),t.stopPropagation(),n.close()));case KEY_N:if(!t.ctrlKey||t.altKey)break;case KEY_DOWN:return!n.isOpen&&n.hasOptions?n.open():n.$activeOption&&(n.ignoreHover=!0,(e=n.getAdjacentOption(n.$activeOption,1)).length)&&n.setActiveOption(e,!0,!0),void t.preventDefault();case KEY_P:if(!t.ctrlKey||t.altKey)break;case KEY_UP:return n.$activeOption&&(n.ignoreHover=!0,(e=n.getAdjacentOption(n.$activeOption,-1)).length)&&n.setActiveOption(e,!0,!0),void t.preventDefault();case KEY_RETURN:return void(n.isOpen&&n.$activeOption&&(n.onOptionSelect({currentTarget:n.$activeOption}),t.preventDefault()));case KEY_LEFT:return void n.advanceSelection(-1,t);case KEY_RIGHT:return void n.advanceSelection(1,t);case KEY_TAB:return n.settings.selectOnTab&&n.isOpen&&n.$activeOption&&(n.onOptionSelect({currentTarget:n.$activeOption}),n.isFull()||t.preventDefault()),void(n.settings.create&&n.createItem()&&n.settings.showAddOptionOnCreate&&t.preventDefault());case KEY_BACKSPACE:case KEY_DELETE:return void n.deleteSelection(t)}!n.isFull()&&!n.isInputHidden||(IS_MAC?t.metaKey:t.ctrlKey)||t.preventDefault()}},onInput:function(t){var e=this,n=e.$control_input.val()||"";e.lastValue!==n&&(e.lastValue=n,e.onSearchChange(n),e.refreshOptions(),e.trigger("type",n))},onSearchChange:function(e){var n=this,i=n.settings.load;i&&!n.loadedSearches.hasOwnProperty(e)&&(n.loadedSearches[e]=!0,n.load(function(t){i.apply(n,[e,t])}))},onFocus:function(t){var e=this,n=e.isFocused;if(e.isDisabled)return e.blur(),t&&t.preventDefault(),!1;e.ignoreFocus||(e.isFocused=!0,"focus"===e.settings.preload&&e.onSearchChange(""),n||e.trigger("focus"),e.$activeItems.length||(e.showInput(),e.setActiveItem(null),e.refreshOptions(!!e.settings.openOnFocus)),e.refreshState())},onBlur:function(t,e){var n,i=this;i.isFocused&&(i.isFocused=!1,i.ignoreFocus||(n=function(){i.close(),i.setTextboxValue(""),i.setActiveItem(null),i.setActiveOption(null),i.setCaret(i.items.length),i.refreshState(),e&&e.focus&&e.focus(),i.isBlurring=!1,i.ignoreFocus=!1,i.trigger("blur")},i.isBlurring=!0,i.ignoreFocus=!0,i.settings.create&&i.settings.createOnBlur?i.createItem(null,!1,n):n()))},onOptionHover:function(t){this.ignoreHover||this.setActiveOption(t.currentTarget,!1)},onOptionSelect:function(t){var e,n=this;t.preventDefault&&(t.preventDefault(),t.stopPropagation()),(e=$(t.currentTarget)).hasClass("create")?n.createItem(null,function(){n.settings.closeAfterSelect&&n.close()}):void 0!==(e=e.attr("data-value"))&&(n.lastQuery=null,n.setTextboxValue(""),n.addItem(e),n.settings.closeAfterSelect?n.close():!n.settings.hideSelected&&t.type&&/mouse/.test(t.type)&&n.setActiveOption(n.getOption(e)))},onItemSelect:function(t){this.isLocked||"multi"===this.settings.mode&&(t.preventDefault(),this.setActiveItem(t.currentTarget,t))},load:function(t){var e=this,n=e.$wrapper.addClass(e.settings.loadingClass);e.loading++,t.apply(e,[function(t){e.loading=Math.max(e.loading-1,0),t&&t.length&&(e.addOption(t),e.refreshOptions(e.isFocused&&!e.isInputHidden)),e.loading||n.removeClass(e.settings.loadingClass),e.trigger("load",t)}])},getTextboxValue:function(){return this.$control_input.val()},setTextboxValue:function(t){var e=this.$control_input;e.val()!==t&&(e.val(t).triggerHandler("update"),this.lastValue=t)},getValue:function(){return this.tagType===TAG_SELECT&&this.$input.attr("multiple")?this.items:this.items.join(this.settings.delimiter)},setValue:function(t,e){(Array.isArray(t)?t:[t]).join("")!==this.items.join("")&&debounce_events(this,e?[]:["change"],function(){this.clear(e),this.addItems(t,e)})},setMaxItems:function(t){this.settings.maxItems=t=0===t?null:t,this.settings.mode=this.settings.mode||(1===this.settings.maxItems?"single":"multi"),this.refreshState()},setActiveItem:function(t,e){var n,i,o,s,r,a,l=this;if("single"!==l.settings.mode)if((t=$(t)).length){if("mousedown"===(n=e&&e.type.toLowerCase())&&l.isShiftDown&&l.$activeItems.length){for(a=l.$control.children(".active:last"),a=Array.prototype.indexOf.apply(l.$control[0].childNodes,[a[0]]),(o=Array.prototype.indexOf.apply(l.$control[0].childNodes,[t[0]]))<a&&(r=a,a=o,o=r),i=a;i<=o;i++)s=l.$control[0].childNodes[i],-1===l.$activeItems.indexOf(s)&&($(s).addClass("active"),l.$activeItems.push(s));e.preventDefault()}else"mousedown"===n&&l.isCtrlDown||"keydown"===n&&this.isShiftDown?t.hasClass("active")?(r=l.$activeItems.indexOf(t[0]),l.$activeItems.splice(r,1),t.removeClass("active")):l.$activeItems.push(t.addClass("active")[0]):($(l.$activeItems).removeClass("active"),l.$activeItems=[t.addClass("active")[0]]);l.hideInput(),this.isFocused||l.focus()}else $(l.$activeItems).removeClass("active"),l.$activeItems=[],l.isFocused&&l.showInput()},setActiveOption:function(t,e,n){var i,o,s,r,a=this;a.$activeOption&&(a.$activeOption.removeClass("active"),a.trigger("dropdown_item_deactivate",a.$activeOption.attr("data-value"))),a.$activeOption=null,(t=$(t)).length&&(a.$activeOption=t.addClass("active"),a.isOpen&&a.trigger("dropdown_item_activate",a.$activeOption.attr("data-value")),!e&&isset(e)||(t=a.$dropdown_content.height(),i=a.$activeOption.outerHeight(!0),e=a.$dropdown_content.scrollTop()||0,r=(s=o=a.$activeOption.offset().top-a.$dropdown_content.offset().top+e)-t+i,t+e<o+i?a.$dropdown_content.stop().animate({scrollTop:r},n?a.settings.scrollDuration:0):o<e&&a.$dropdown_content.stop().animate({scrollTop:s},n?a.settings.scrollDuration:0)))},selectAll:function(){var t=this;"single"!==t.settings.mode&&(t.$activeItems=Array.prototype.slice.apply(t.$control.children(":not(input)").addClass("active")),t.$activeItems.length&&(t.hideInput(),t.close()),t.focus())},hideInput:function(){this.setTextboxValue(""),this.$control_input.css({opacity:0,position:"absolute",left:this.rtl?1e4:0}),this.isInputHidden=!0},showInput:function(){this.$control_input.css({opacity:1,position:"relative",left:0}),this.isInputHidden=!1},focus:function(){var t=this;return t.isDisabled||(t.ignoreFocus=!0,t.$control_input[0].focus(),window.setTimeout(function(){t.ignoreFocus=!1,t.onFocus()},0)),t},blur:function(t){return this.$control_input[0].blur(),this.onBlur(null,t),this},getScoreFunction:function(t){return this.sifter.getScoreFunction(t,this.getSearchOptions())},getSearchOptions:function(){var t=this.settings,e=t.sortField;return{fields:t.searchField,conjunction:t.searchConjunction,sort:e="string"==typeof e?[{field:e}]:e,nesting:t.nesting,filter:t.filter,respect_word_boundaries:t.respect_word_boundaries}},search:function(t){var e,n,i,o=this,s=o.settings,r=this.getSearchOptions();if(s.score&&"function"!=typeof(i=o.settings.score.apply(this,[t])))throw new Error('Selectize "score" setting must be a function that returns a function');if(t!==o.lastQuery?(s.normalize&&(t=t.normalize("NFD").replace(/[\u0300-\u036f]/g,"")),o.lastQuery=t,n=o.sifter.search(t,$.extend(r,{score:i})),o.currentResults=n):n=$.extend(!0,{},o.currentResults),s.hideSelected)for(e=n.items.length-1;0<=e;e--)-1!==o.items.indexOf(hash_key(n.items[e].id))&&n.items.splice(e,1);return n},refreshOptions:function(t){void 0===t&&(t=!0);var e,n,i,o,s,r,a,l,p,c,d,u,h,g=this,f=g.$control_input.val().trim(),v=g.search(f),m=g.$dropdown_content,y=g.$activeOption&&hash_key(g.$activeOption.attr("data-value")),w=v.items.length;for("number"==typeof g.settings.maxOptions&&(w=Math.min(w,g.settings.maxOptions)),o={},s=[],e=0;e<w;e++)for(r=g.options[v.items[e].id],a=g.render("option",r),O=r[g.settings.optgroupField]||"",n=0,i=(l=Array.isArray(O)?O:[O])&&l.length;n<i;n++){var C,O=l[n];g.optgroups.hasOwnProperty(O)||"function"!=typeof g.settings.optionGroupRegister||(C=g.settings.optionGroupRegister.apply(g,[O]))&&g.registerOptionGroup(C),g.optgroups.hasOwnProperty(O)||(O=""),o.hasOwnProperty(O)||(o[O]=document.createDocumentFragment(),s.push(O)),o[O].appendChild(a)}for(this.settings.lockOptgroupOrder&&s.sort(function(t,e){return(g.optgroups[t]&&g.optgroups[t].$order||0)-(g.optgroups[e]&&g.optgroups[e].$order||0)}),p=document.createDocumentFragment(),e=0,w=s.length;e<w;e++)g.optgroups.hasOwnProperty(O=s[e])&&o[O].childNodes.length?((c=document.createDocumentFragment()).appendChild(g.render("optgroup_header",g.optgroups[O])),c.appendChild(o[O]),p.appendChild(g.render("optgroup",$.extend({},g.optgroups[O],{html:domToString(c),dom:c})))):p.appendChild(o[O]);if(m.html(p),g.settings.highlight&&(m.removeHighlight(),v.query.length)&&v.tokens.length)for(e=0,w=v.tokens.length;e<w;e++)highlight(m,v.tokens[e].regex);if(!g.settings.hideSelected)for(g.$dropdown.find(".selected").removeClass("selected"),e=0,w=g.items.length;e<w;e++)g.getOption(g.items[e]).addClass("selected");"auto"!==g.settings.dropdownSize.sizeType&&g.isOpen&&g.setupDropdownHeight(),g.positionDropdown(),(d=g.canCreate(f))&&g.settings.showAddOptionOnCreate&&(m.prepend(g.render("option_create",{input:f})),h=$(m[0].childNodes[0])),g.hasOptions=0<v.items.length||d&&g.settings.showAddOptionOnCreate||g.settings.setFirstOptionActive,g.hasOptions?(0<v.items.length?(f=y&&g.getOption(y),""!==v.query&&g.settings.setFirstOptionActive?u=m.find("[data-selectable]:first"):""!==v.query&&f&&f.length?u=f:"single"===g.settings.mode&&g.items.length&&(u=g.getOption(g.items[0])),u&&u.length||(u=h&&!g.settings.addPrecedence?g.getAdjacentOption(h,1):m.find("[data-selectable]:first"))):u=h,g.setActiveOption(u),t&&!g.isOpen&&g.open()):(g.setActiveOption(null),t&&g.isOpen&&g.close())},addOption:function(t){var e,n,i,o=this;if(Array.isArray(t))for(e=0,n=t.length;e<n;e++)o.addOption(t[e]);else(i=o.registerOption(t))&&(o.userOptions[i]=!0,o.lastQuery=null,o.trigger("option_add",i,t))},registerOption:function(t){var e=hash_key(t[this.settings.valueField]);return null!=e&&!this.options.hasOwnProperty(e)&&(t.$order=t.$order||++this.order,this.options[e]=t,e)},registerOptionGroup:function(t){var e=hash_key(t[this.settings.optgroupValueField]);return!!e&&(t.$order=t.$order||++this.order,this.optgroups[e]=t,e)},addOptionGroup:function(t,e){e[this.settings.optgroupValueField]=t,(t=this.registerOptionGroup(e))&&this.trigger("optgroup_add",t,e)},removeOptionGroup:function(t){this.optgroups.hasOwnProperty(t)&&(delete this.optgroups[t],this.renderCache={},this.trigger("optgroup_remove",t))},clearOptionGroups:function(){this.optgroups={},this.renderCache={},this.trigger("optgroup_clear")},updateOption:function(t,e){var n,i,o,s=this;if(t=hash_key(t),n=hash_key(e[s.settings.valueField]),null!==t&&s.options.hasOwnProperty(t)){if("string"!=typeof n)throw new Error("Value must be set in option data");o=s.options[t].$order,n!==t&&(delete s.options[t],-1!==(i=s.items.indexOf(t)))&&s.items.splice(i,1,n),e.$order=e.$order||o,s.options[n]=e,i=s.renderCache.item,o=s.renderCache.option,i&&(delete i[t],delete i[n]),o&&(delete o[t],delete o[n]),-1!==s.items.indexOf(n)&&(i=s.getItem(t),o=$(s.render("item",e)),i.hasClass("active")&&o.addClass("active"),i.replaceWith(o)),s.lastQuery=null,s.isOpen&&s.refreshOptions(!1)}},removeOption:function(t,e){var n=this,i=(t=hash_key(t),n.renderCache.item),o=n.renderCache.option;i&&delete i[t],o&&delete o[t],delete n.userOptions[t],delete n.options[t],n.lastQuery=null,n.trigger("option_remove",t),n.removeItem(t,e)},clearOptions:function(t){var n=this,i=(n.loadedSearches={},n.userOptions={},n.renderCache={},n.options);$.each(n.options,function(t,e){-1==n.items.indexOf(t)&&delete i[t]}),n.options=n.sifter.items=i,n.lastQuery=null,n.trigger("option_clear"),n.clear(t)},getOption:function(t){return this.getElementWithValue(t,this.$dropdown_content.find("[data-selectable]"))},getFirstOption:function(){var t=this.$dropdown.find("[data-selectable]");return 0<t.length?t.eq(0):$()},getAdjacentOption:function(t,e){var n=this.$dropdown.find("[data-selectable]"),t=n.index(t)+e;return 0<=t&&t<n.length?n.eq(t):$()},getElementWithValue:function(t,e){if(null!=(t=hash_key(t)))for(var n=0,i=e.length;n<i;n++)if(e[n].getAttribute("data-value")===t)return $(e[n]);return $()},getElementWithTextContent:function(t,e,n){if(null!=(t=hash_key(t)))for(var i=0,o=n.length;i<o;i++){var s=n[i].textContent;if(1==e&&(s=null!==s?s.toLowerCase():null,t=t.toLowerCase()),s===t)return $(n[i])}return $()},getItem:function(t){return this.getElementWithValue(t,this.$control.children())},getFirstItemMatchedByTextContent:function(t,e){return this.getElementWithTextContent(t,e=null!==e&&!0===e,this.$dropdown_content.find("[data-selectable]"))},addItems:function(t,e){this.buffer=document.createDocumentFragment();for(var n=this.$control[0].childNodes,i=0;i<n.length;i++)this.buffer.appendChild(n[i]);for(var o=Array.isArray(t)?t:[t],i=0,s=o.length;i<s;i++)this.isPending=i<s-1,this.addItem(o[i],e);t=this.$control[0];t.insertBefore(this.buffer,t.firstChild),this.buffer=null},addItem:function(s,r){debounce_events(this,r?[]:["change"],function(){var t,e,n,i=this,o=i.settings.mode;s=hash_key(s),-1!==i.items.indexOf(s)?"single"===o&&i.close():i.options.hasOwnProperty(s)&&("single"===o&&i.clear(r),"multi"===o&&i.isFull()||(t=$(i.render("item",i.options[s])),n=i.isFull(),i.items.splice(i.caretPos,0,s),i.insertAtCaret(t),i.isPending&&(n||!i.isFull())||i.refreshState(),i.isSetup&&(n=i.$dropdown_content.find("[data-selectable]"),i.isPending||(e=i.getOption(s),e=i.getAdjacentOption(e,1).attr("data-value"),i.refreshOptions(i.isFocused&&"single"!==o),e&&i.setActiveOption(i.getOption(e))),!n.length||i.isFull()?i.close():i.isPending||i.positionDropdown(),i.updatePlaceholder(),i.trigger("item_add",s,t),i.isPending||i.updateOriginalInput({silent:r}))))})},removeItem:function(t,e){var n,i,o=this,s=t instanceof $?t:o.getItem(t);t=hash_key(s.attr("data-value")),-1!==(n=o.items.indexOf(t))&&(o.trigger("item_before_remove",t,s),s.remove(),s.hasClass("active")&&(s.removeClass("active"),i=o.$activeItems.indexOf(s[0]),o.$activeItems.splice(i,1),s.removeClass("active")),o.items.splice(n,1),o.lastQuery=null,!o.settings.persist&&o.userOptions.hasOwnProperty(t)&&o.removeOption(t,e),n<o.caretPos&&o.setCaret(o.caretPos-1),o.refreshState(),o.updatePlaceholder(),o.updateOriginalInput({silent:e}),o.positionDropdown(),o.trigger("item_remove",t,s))},createItem:function(t,n){var i=this,o=i.caretPos,s=(t=t||(i.$control_input.val()||"").trim(),arguments[arguments.length-1]);if("function"!=typeof s&&(s=function(){}),"boolean"!=typeof n&&(n=!0),!i.canCreate(t))return s(),!1;i.lock();var e="function"==typeof i.settings.create?this.settings.create:function(t){var e={},t=e[i.settings.labelField]=t;if(!i.settings.formatValueToKey||"function"!=typeof i.settings.formatValueToKey||null!=(t=i.settings.formatValueToKey.apply(this,[t]))&&"object"!=typeof t&&"function"!=typeof t)return e[i.settings.valueField]=t,e;throw new Error('Selectize "formatValueToKey" setting must be a function that returns a value other than object or function.')},r=once(function(t){var e;return i.unlock(),!t||"object"!=typeof t||"string"!=typeof(e=hash_key(t[i.settings.valueField]))?s():(i.setTextboxValue(""),i.addOption(t),i.setCaret(o),i.addItem(e),i.refreshOptions(n&&"single"!==i.settings.mode),void s(t))}),e=e.apply(this,[t,r]);return void 0!==e&&r(e),!0},refreshItems:function(t){this.lastQuery=null,this.isSetup&&this.addItem(this.items,t),this.refreshState(),this.updateOriginalInput({silent:t})},refreshState:function(){this.refreshValidityState(),this.refreshClasses()},refreshValidityState:function(){if(!this.isRequired)return!1;var t=!this.items.length;this.isInvalid=t,this.$control_input.prop("required",t),this.$input.prop("required",!t)},refreshClasses:function(){var t=this,e=t.isFull(),n=t.isLocked;t.$wrapper.toggleClass("rtl",t.rtl),t.$control.toggleClass("focus",t.isFocused).toggleClass("disabled",t.isDisabled).toggleClass("required",t.isRequired).toggleClass("invalid",t.isInvalid).toggleClass("locked",n).toggleClass("full",e).toggleClass("not-full",!e).toggleClass("input-active",t.isFocused&&!t.isInputHidden).toggleClass("dropdown-active",t.isOpen).toggleClass("has-options",!$.isEmptyObject(t.options)).toggleClass("has-items",0<t.items.length),t.$control_input.data("grow",!e&&!n)},isFull:function(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(t){var e,n,i,o,s,r,a=this;t=t||{},a.tagType===TAG_SELECT?(o=a.$input.find("option"),e=[],n=[],i=[],r=[],o.get().forEach(function(t){e.push(t.value)}),a.items.forEach(function(t){s=a.options[t][a.settings.labelField]||"",r.push(t),-1==e.indexOf(t)&&n.push('<option value="'+escape_html(t)+'" selected="selected">'+escape_html(s)+"</option>")}),i=e.filter(function(t){return r.indexOf(t)<0}).map(function(t){return'option[value="'+escape_html(t)+'"]'}),e.length-i.length+n.length!==0||a.$input.attr("multiple")||n.push('<option value="" selected="selected"></option>'),a.$input.find(i.join(", ")).remove(),a.$input.append(n.join(""))):(a.$input.val(a.getValue()),a.$input.attr("value",a.$input.val())),a.isSetup&&!t.silent&&a.trigger("change",a.$input.val())},updatePlaceholder:function(){var t;this.settings.placeholder&&(t=this.$control_input,this.items.length?t.removeAttr("placeholder"):t.attr("placeholder",this.settings.placeholder),t.triggerHandler("update",{force:!0}))},open:function(){var t=this;t.isLocked||t.isOpen||"multi"===t.settings.mode&&t.isFull()||(t.focus(),t.isOpen=!0,t.refreshState(),t.$dropdown.css({visibility:"hidden",display:"block"}),t.setupDropdownHeight(),t.positionDropdown(),t.$dropdown.css({visibility:"visible"}),t.trigger("dropdown_open",t.$dropdown))},close:function(){var t=this,e=t.isOpen;"single"===t.settings.mode&&t.items.length&&(t.hideInput(),t.isBlurring)&&t.$control_input[0].blur(),t.isOpen=!1,t.$dropdown.hide(),t.setActiveOption(null),t.refreshState(),e&&t.trigger("dropdown_close",t.$dropdown)},positionDropdown:function(){var t=this.$control,e="body"===this.settings.dropdownParent?t.offset():t.position(),n=(e.top+=t.outerHeight(!0),"fit-content"===this.$wrapper[0].style.width||"body"===this.settings.dropdownParent?"max-content":"100%");this.settings.minWidth&&this.settings.minWidth>n&&(n=this.settings.minWidth),"body"!==this.settings.dropdownParent&&"max-content"===n&&t.outerWidth(!0)>=this.$dropdown.outerWidth(!0)&&(n="100%"),this.$dropdown.css({width:n,minWidth:t.outerWidth(!0),top:e.top,left:e.left})},setupDropdownHeight:function(){if("object"==typeof this.settings.dropdownSize&&"auto"!==this.settings.dropdownSize.sizeType){var t=this.settings.dropdownSize.sizeValue;if("numberItems"===this.settings.dropdownSize.sizeType){for(var e=this.$dropdown_content.find("*").not(".optgroup, .highlight").not(this.settings.ignoreOnDropwdownHeight),n=0,i=0,o=0,s=0,r=0;r<t;r++){var a=$(e[r]);if(0===a.length)break;n+=a.outerHeight(!0),void 0===a.data("selectable")&&(a.hasClass("optgroup-header")&&(a=window.getComputedStyle(a.parent()[0],":before"))&&(i=a.marginTop?Number(a.marginTop.replace(/\W*(\w)\w*/g,"$1")):0,o=a.marginBottom?Number(a.marginBottom.replace(/\W*(\w)\w*/g,"$1")):0,s=a.borderTopWidth?Number(a.borderTopWidth.replace(/\W*(\w)\w*/g,"$1")):0),t++)}t=n+(this.$dropdown_content.css("padding-top")?Number(this.$dropdown_content.css("padding-top").replace(/\W*(\w)\w*/g,"$1")):0)+(this.$dropdown_content.css("padding-bottom")?Number(this.$dropdown_content.css("padding-bottom").replace(/\W*(\w)\w*/g,"$1")):0)+i+o+s+"px"}else if("fixedHeight"!==this.settings.dropdownSize.sizeType)return void console.warn('Selectize.js - Value of "sizeType" must be "fixedHeight" or "numberItems');this.$dropdown_content.css({height:t,maxHeight:"none"})}},clear:function(t){var e=this;e.items.length&&(e.$control.children(":not(input)").remove(),e.items=[],e.lastQuery=null,e.setCaret(0),e.setActiveItem(null),e.updatePlaceholder(),e.updateOriginalInput({silent:t}),e.refreshState(),e.showInput(),e.trigger("clear"))},insertAtCaret:function(t){var e=Math.min(this.caretPos,this.items.length),t=t[0],n=this.buffer||this.$control[0];0===e?n.insertBefore(t,n.firstChild):n.insertBefore(t,n.childNodes[e]),this.setCaret(e+1)},deleteSelection:function(t){var e,n,i,o,s,r=this,a=t&&t.keyCode===KEY_BACKSPACE?-1:1,l=getInputSelection(r.$control_input[0]);if(r.$activeOption&&!r.settings.hideSelected&&(o=("string"==typeof r.settings.deselectBehavior&&"top"===r.settings.deselectBehavior?r.getFirstOption():r.getAdjacentOption(r.$activeOption,-1)).attr("data-value")),i=[],r.$activeItems.length){for(s=r.$control.children(".active:"+(0<a?"last":"first")),s=r.$control.children(":not(input)").index(s),0<a&&s++,e=0,n=r.$activeItems.length;e<n;e++)i.push($(r.$activeItems[e]).attr("data-value"));t&&(t.preventDefault(),t.stopPropagation())}else(r.isFocused||"single"===r.settings.mode)&&r.items.length&&(a<0&&0===l.start&&0===l.length?i.push(r.items[r.caretPos-1]):0<a&&l.start===r.$control_input.val().length&&i.push(r.items[r.caretPos]));if(!i.length||"function"==typeof r.settings.onDelete&&!1===r.settings.onDelete.apply(r,[i]))return!1;for(void 0!==s&&r.setCaret(s);i.length;)r.removeItem(i.pop());return r.showInput(),r.positionDropdown(),r.refreshOptions(!0),o&&(t=r.getOption(o)).length&&r.setActiveOption(t),!0},advanceSelection:function(t,e){var n,i,o,s=this;0!==t&&(s.rtl&&(t*=-1),n=0<t?"last":"first",o=getInputSelection(s.$control_input[0]),s.isFocused&&!s.isInputHidden?(i=s.$control_input.val().length,(t<0?0!==o.start||0!==o.length:o.start!==i)||i||s.advanceCaret(t,e)):(o=s.$control.children(".active:"+n)).length&&(i=s.$control.children(":not(input)").index(o),s.setActiveItem(null),s.setCaret(0<t?i+1:i)))},advanceCaret:function(t,e){var n,i=this;0!==t&&(i.isShiftDown?(n=i.$control_input[0<t?"next":"prev"]()).length&&(i.hideInput(),i.setActiveItem(n),e)&&e.preventDefault():i.setCaret(i.caretPos+t))},setCaret:function(t){var e=this;if(t="single"===e.settings.mode?e.items.length:Math.max(0,Math.min(e.items.length,t)),!e.isPending)for(var n,i=e.$control.children(":not(input)"),o=0,s=i.length;o<s;o++)n=$(i[o]).detach(),o<t?e.$control_input.before(n):e.$control.append(n);e.caretPos=t},lock:function(){this.close(),this.isLocked=!0,this.refreshState()},unlock:function(){this.isLocked=!1,this.refreshState()},disable:function(){this.$input.prop("disabled",!0),this.$control_input.prop("disabled",!0).prop("tabindex",-1),this.isDisabled=!0,this.lock()},enable:function(){var t=this;t.$input.prop("disabled",!1),t.$control_input.prop("disabled",!1).prop("tabindex",t.tabIndex),t.isDisabled=!1,t.unlock()},destroy:function(){var t=this,e=t.eventNS,n=t.revertSettings;t.trigger("destroy"),t.off(),t.$wrapper.remove(),t.$dropdown.remove(),t.$input.html("").append(n.$children).removeAttr("tabindex").removeClass("selectized").attr({tabindex:n.tabindex}).show(),t.$control_input.removeData("grow"),t.$input.removeData("selectize"),0==--Selectize.count&&Selectize.$testInput&&(Selectize.$testInput.remove(),Selectize.$testInput=void 0),$(window).off(e),$(document).off(e),$(document.body).off(e),delete t.$input[0].selectize},render:function(t,e){var n,i,o="",s=!1,r=this;return(s="option"!==t&&"item"!==t?s:!!(n=hash_key(e[r.settings.valueField])))&&(isset(r.renderCache[t])||(r.renderCache[t]={}),r.renderCache[t].hasOwnProperty(n))?r.renderCache[t][n]:(o=$(r.settings.render[t].apply(this,[e,escape_html])),"option"===t||"option_create"===t?e[r.settings.disabledField]||o.attr("data-selectable",""):"optgroup"===t&&(i=e[r.settings.optgroupValueField]||"",o.attr("data-group",i),e[r.settings.disabledField])&&o.attr("data-disabled",""),"option"!==t&&"item"!==t||o.attr("data-value",n||""),s&&(r.renderCache[t][n]=o[0]),o[0])},clearCache:function(t){void 0===t?this.renderCache={}:delete this.renderCache[t]},canCreate:function(t){var e;return!!this.settings.create&&(e=this.settings.createFilter,t.length)&&("function"!=typeof e||e.apply(this,[t]))&&("string"!=typeof e||new RegExp(e).test(t))&&(!(e instanceof RegExp)||e.test(t))}}),Selectize.count=0,Selectize.defaults={options:[],optgroups:[],plugins:[],delimiter:",",splitOn:null,persist:!0,diacritics:!0,create:!1,showAddOptionOnCreate:!0,createOnBlur:!1,createFilter:null,highlight:!0,openOnFocus:!0,maxOptions:1e3,maxItems:null,hideSelected:null,addPrecedence:!1,selectOnTab:!0,preload:!1,allowEmptyOption:!1,showEmptyOptionInDropdown:!1,emptyOptionLabel:"--",setFirstOptionActive:!1,closeAfterSelect:!1,closeDropdownThreshold:250,scrollDuration:60,deselectBehavior:"previous",loadThrottle:300,loadingClass:"loading",dataAttr:"data-data",optgroupField:"optgroup",valueField:"value",labelField:"text",disabledField:"disabled",optgroupLabelField:"label",optgroupValueField:"value",lockOptgroupOrder:!1,sortField:"$order",searchField:["text"],searchConjunction:"and",respect_word_boundaries:!1,normalize:!0,mode:null,wrapperClass:"",inputClass:"",dropdownClass:"",dropdownContentClass:"",dropdownParent:null,copyClassesToDropdown:!0,dropdownSize:{sizeType:"auto",sizeValue:"auto"},ignoreOnDropwdownHeight:"img, i",search:!0,showArrow:!0,render:{}},$.fn.selectize=function(c){function d(t,o){function e(t,e){t=$(t);var n,i=hash_key(t.val());(i||v.allowEmptyOption)&&(l.hasOwnProperty(i)?e&&((n=l[i][O])?Array.isArray(n)?n.push(e):l[i][O]=[n,e]:l[i][O]=e):((n=p(t)||{})[y]=n[y]||t.text(),n[w]=n[w]||i,n[C]=n[C]||t.prop("disabled"),n[O]=n[O]||e,n.styles=t.attr("style")||"",n.classes=t.attr("class")||"",l[i]=n,a.push(n),t.is(":selected")&&o.items.push(i)))}var n,i,s,r,a=o.options,l={},p=function(t){var e=m&&t.attr(m),t=t.data(),n={};return"string"==typeof e&&e.length&&(isJSON(e)?Object.assign(n,JSON.parse(e)):n[e]=e),Object.assign(n,t),n||null};for(o.maxItems=t.attr("multiple")?null:1,n=0,i=(r=t.children()).length;n<i;n++)if("optgroup"===(s=r[n].tagName.toLowerCase())){g=h=u=d=c=void 0;var c,d,u,h,g,f=r[n];for((u=(f=$(f)).attr("label"))&&((h=p(f)||{})[_]=u,h[b]=u,h[C]=f.prop("disabled"),o.optgroups.push(h)),c=0,d=(g=$("option",f)).length;c<d;c++)e(g[c],u)}else"option"===s&&e(r[n])}var u=$.fn.selectize.defaults,v=$.extend({},u,c),m=v.dataAttr,y=v.labelField,w=v.valueField,C=v.disabledField,O=v.optgroupField,_=v.optgroupLabelField,b=v.optgroupValueField;return this.each(function(){if(!this.selectize){var t=$(this),e=this.tagName.toLowerCase(),n=t.attr("placeholder")||t.attr("data-placeholder"),i=(n||v.allowEmptyOption||(n=t.children('option[value=""]').text()),v.allowEmptyOption&&v.showEmptyOptionInDropdown&&!t.children('option[value=""]').length&&(l=t.html(),i=escape_html(v.emptyOptionLabel||"--"),t.html('<option value="">'+i+"</option>"+l)),{placeholder:n,options:[],optgroups:[],items:[]});if("select"===e)d(t,i);else{var o,s,r,a,l=t,p=i,n=l.attr(m);if(n)for(p.options=JSON.parse(n),o=0,s=p.options.length;o<s;o++)p.items.push(p.options[o][w]);else{n=(l.val()||"").trim();if(v.allowEmptyOption||n.length){for(o=0,s=(r=n.split(v.delimiter)).length;o<s;o++)(a={})[y]=r[o],a[w]=r[o],p.options.push(a);p.items=r}}}new Selectize(t,$.extend(!0,{},u,i,c)).settings_user=c}})},$.fn.selectize.defaults=Selectize.defaults,$.fn.selectize.support={validity:SUPPORTS_VALIDITY_API},Selectize.define("auto_position",function(){var r=this;const a={top:"top",bottom:"bottom"};r.positionDropdown=function(){var t=this.$control,e="body"===this.settings.dropdownParent?t.offset():t.position(),n=(e.top+=t.outerHeight(!0),this.$dropdown.prop("scrollHeight")+5),i=this.$control.get(0).getBoundingClientRect().top,o=this.$wrapper.height(),s=r.$control.get(0).getBoundingClientRect().bottom,i=i+n+o>window.innerHeight&&0<=s-n-o?a.top:a.bottom,s="fit-content"===this.$wrapper[0].style.width||"body"===this.settings.dropdownParent?"max-content":"100%",n={width:s,minWidth:t.outerWidth(!0),left:e.left};i===a.top?(o={bottom:e.top,top:"unset"},"body"===this.settings.dropdownParent&&(o.top=e.top-this.$dropdown.outerHeight(!0)-t.outerHeight(!0),o.bottom="unset"),Object.assign(n,o),this.$dropdown.addClass("selectize-position-top"),this.$control.addClass("selectize-position-top")):(Object.assign(n,{top:e.top,bottom:"unset"}),this.$dropdown.removeClass("selectize-position-top"),this.$control.removeClass("selectize-position-top")),"body"!==this.settings.dropdownParent&&"max-content"==s&&(t.outerWidth(!0),this.$dropdown.outerWidth(!0)),this.$dropdown.css(n)}}),Selectize.define("auto_select_on_type",function(t){var n,i=this;i.onBlur=(n=i.onBlur,function(t){var e=i.getFirstItemMatchedByTextContent(i.lastValue,!0);return void 0!==e.attr("data-value")&&i.getValue()!==e.attr("data-value")&&i.setValue(e.attr("data-value")),n.apply(this,arguments)})}),Selectize.define("autofill_disable",function(t){var e,n=this;n.setup=(e=n.setup,function(){e.apply(n,arguments),n.$control_input.attr({name:nanoid(21),autocomplete:nanoid(21)})})}),Selectize.define("clear_button",function(e){var t,n=this;e=$.extend({title:"Clear",className:"clear",label:"×",html:function(t){return'<a class="'+t.className+'" title="'+t.title+'"> '+t.label+"</a>"}},e),n.setup=(t=n.setup,function(){t.apply(n,arguments),n.$button_clear=$(e.html(e)),"single"===n.settings.mode&&n.$wrapper.addClass("single"),n.$wrapper.append(n.$button_clear),""!==n.getValue()&&0!==n.getValue().length||n.$wrapper.find("."+e.className).css("display","none"),n.on("change",function(){""===n.getValue()||0===n.getValue().length?n.$wrapper.find("."+e.className).css("display","none"):n.$wrapper.find("."+e.className).css("display","")}),n.$wrapper.on("click","."+e.className,function(t){t.preventDefault(),t.stopImmediatePropagation(),t.stopPropagation(),n.isLocked||(n.clear(),n.$wrapper.find("."+e.className).css("display","none"))})})}),Selectize.define("drag_drop",function(t){if(!$.fn.sortable)throw new Error('The "drag_drop" plugin requires jQuery UI "sortable".');var i,e,n,o;"multi"===this.settings.mode&&((i=this).lock=(e=i.lock,function(){var t=i.$control.data("sortable");return t&&t.disable(),e.apply(i,arguments)}),i.unlock=(n=i.unlock,function(){var t=i.$control.data("sortable");return t&&t.enable(),n.apply(i,arguments)}),i.setup=(o=i.setup,function(){o.apply(this,arguments);var n=i.$control.sortable({items:"[data-value]",forcePlaceholderSize:!0,disabled:i.isLocked,start:function(t,e){e.placeholder.css("width",e.helper.css("width")),n.addClass("dragging")},stop:function(){n.removeClass("dragging");var t=i.$activeItems?i.$activeItems.slice():null,e=[];n.children("[data-value]").each(function(){e.push($(this).attr("data-value"))}),i.isFocused=!1,i.setValue(e),i.isFocused=!0,i.setActiveItem(t),i.positionDropdown()}})}))}),Selectize.define("dropdown_header",function(t){var e,n=this;t=$.extend({title:"Untitled",headerClass:"selectize-dropdown-header",titleRowClass:"selectize-dropdown-header-title",labelClass:"selectize-dropdown-header-label",closeClass:"selectize-dropdown-header-close",html:function(t){return'<div class="'+t.headerClass+'"><div class="'+t.titleRowClass+'"><span class="'+t.labelClass+'">'+t.title+'</span><a href="javascript:void(0)" class="'+t.closeClass+'">&#xd7;</a></div></div>'}},t),n.setup=(e=n.setup,function(){e.apply(n,arguments),n.$dropdown_header=$(t.html(t)),n.$dropdown.prepend(n.$dropdown_header),n.$dropdown_header.find("."+t.closeClass).on("click",function(){n.close()})})}),Selectize.define("optgroup_columns",function(r){function t(){var t,e,n,i,o=$("[data-group]",a.$dropdown_content),s=o.length;if(s&&a.$dropdown_content.width()){if(r.equalizeHeight){for(t=e=0;t<s;t++)e=Math.max(e,o.eq(t).height());o.css({height:e})}r.equalizeWidth&&(i=a.$dropdown_content.innerWidth()-l(),n=Math.round(i/s),o.css({width:n}),1<s)&&(i=i-n*(s-1),o.eq(s-1).css({width:i}))}}var i,a=this,l=(r=$.extend({equalizeWidth:!0,equalizeHeight:!0},r),this.getAdjacentOption=function(t,e){var n=t.closest("[data-group]").find("[data-selectable]"),t=n.index(t)+e;return 0<=t&&t<n.length?n.eq(t):$()},this.onKeyDown=(i=a.onKeyDown,function(t){var e,n;if(!this.isOpen||t.keyCode!==KEY_LEFT&&t.keyCode!==KEY_RIGHT)return i.apply(this,arguments);a.ignoreHover=!0,e=(n=this.$activeOption.closest("[data-group]")).find("[data-selectable]").index(this.$activeOption),(n=(n=(n=t.keyCode===KEY_LEFT?n.prev("[data-group]"):n.next("[data-group]")).find("[data-selectable]")).eq(Math.min(n.length-1,e))).length&&this.setActiveOption(n)}),function(){var t,e=l.width,n=document;return void 0===e&&((t=n.createElement("div")).innerHTML='<div style="width:50px;height:50px;position:absolute;left:-50px;top:-50px;overflow:auto;"><div style="width:1px;height:100px;"></div></div>',t=t.firstChild,n.body.appendChild(t),e=l.width=t.offsetWidth-t.clientWidth,n.body.removeChild(t)),e});(r.equalizeHeight||r.equalizeWidth)&&(hook.after(this,"positionDropdown",t),hook.after(this,"refreshOptions",t))}),Selectize.define("read-only",function(t){var e;this.setup=(e=this.setup,function(){e.apply(this,arguments),this.$dropdown.hasClass("read-only")&&this.$control_input.attr("readonly","readonly")}),this.readonly=function(t){t?(this.$control_input.attr("readonly","readonly"),this.$dropdown.addClass("read-only")):(this.$control_input.removeAttr("readonly"),this.$dropdown.removeClass("read-only"))}}),Selectize.define("remove_button",function(t){var s,e,n,i,r;"single"!==this.settings.mode&&(t=$.extend({label:"&#xd7;",title:"Remove",className:"remove",append:!0},t),i=s=this,r='<a href="javascript:void(0)" class="'+(e=t).className+'" tabindex="-1" title="'+escape_html(e.title)+'">'+e.label+"</a>",s.setup=(n=i.setup,function(){var o;e.append&&(o=i.settings.render.item,i.settings.render.item=function(t){return e=o.apply(s,arguments),n=r,i=e.search(/(<\/[^>]+>\s*)$/),e.substring(0,i)+n+e.substring(i);var e,n,i}),n.apply(s,arguments),s.$control.on("click","."+e.className,function(t){if(t.preventDefault(),!i.isLocked)return t=$(t.currentTarget).parent(),i.setActiveItem(t),i.deleteSelection()&&i.setCaret(i.items.length),!1})}))}),Selectize.define("restore_on_backspace",function(n){var i,t=this;n.text=n.text||function(t){return t[this.settings.labelField]},this.onKeyDown=(i=t.onKeyDown,function(t){var e;if(!(t.keyCode===KEY_BACKSPACE&&""===this.$control_input.val()&&!this.$activeItems.length&&0<=(e=this.caretPos-1)&&e<this.items.length))return i.apply(this,arguments);e=this.options[this.items[e]],this.deleteSelection(t)&&(this.setTextboxValue(n.text.apply(this,[e])),this.refreshOptions(!0)),t.preventDefault()})}),Selectize.define("select_on_focus",function(t){var n,e,i=this;i.on("focus",(n=i.onFocus,function(t){var e=i.getItem(i.getValue()).text();return i.clear(),i.setTextboxValue(e),i.$control_input.select(),setTimeout(function(){i.settings.selectOnTab&&i.setActiveOption(i.getFirstItemMatchedByTextContent(e)),i.settings.score=null},0),n.apply(this,arguments)})),i.onBlur=(e=i.onBlur,function(t){return""===i.getValue()&&i.lastValidValue!==i.getValue()&&i.setValue(i.lastValidValue),setTimeout(function(){i.settings.score=function(){return function(){return 1}}},0),e.apply(this,arguments)}),i.settings.score=function(){return function(){return 1}}}),Selectize.define("tag_limit",function(o){const t=this;o.tagLimit=o.tagLimit,this.onBlur=function(){const i=t.onBlur;return function(t){if(i.apply(this,t),t){var t=this.$control,e=t.find(".item");const n=o.tagLimit;void 0===n||e.length<=n||(e.toArray().forEach(function(t,e){e<n||$(t).hide()}),t.append("<span><b>"+(e.length-n)+"</b></span>"))}}}(),this.onFocus=function(){const e=t.onFocus;return function(t){e.apply(this,t),t&&((t=this.$control).find(".item").show(),t.find("span").remove())}}()});
3398  return Selectize;
3399}));
3400;
3401var hb_stripe_key = "pk_live_51Hs7i5Gf8F2o0UR2iS3xw4CrnIZsfTDGxOjKrurkrANXA1ozbLWsJomcKqrpUUTnBcncmDyaDzG56rUgNH4d9tfK00iyuxNxoy";
3402var hb_stripe_locale = "en";
3403var hb_stripe_currency = "USD";
3404var hb_stripe_zero_decimal_currency = "no";
3405var hb_stripe_payment_methods = "credit_card";
3406var hb_stripe_store_credit_card = "yes";
3407var hb_stripe_requires_country_field_msg = "When using Stripe you need to add a Required Country Field in the Details form.";
3408var hb_status_days_2131 = {"2026-10-19":"hb-day-taken-start","2026-10-20":"hb-day-fully-taken","2026-10-21":"hb-day-fully-taken","2026-10-22":"hb-day-taken-end","2026-10-23":"hb-day-taken-start","2026-10-24":"hb-day-fully-taken","2026-10-25":"hb-day-taken-end","2026-11-14":"hb-day-taken-start","2026-11-15":"hb-day-fully-taken","2026-11-16":"hb-day-fully-taken","2026-11-17":"hb-day-fully-taken","2026-11-18":"hb-day-fully-taken","2026-11-19":"hb-day-fully-taken","2026-11-20":"hb-day-fully-taken","2026-11-21":"hb-day-fully-taken","2026-11-22":"hb-day-fully-taken","2026-11-23":"hb-day-fully-taken","2026-11-24":"hb-day-fully-taken","2026-11-25":"hb-day-fully-taken","2026-11-26":"hb-day-fully-taken","2026-11-27":"hb-day-fully-taken","2026-11-28":"hb-day-fully-taken","2026-11-29":"hb-day-fully-taken","2026-11-30":"hb-day-fully-taken","2026-12-01":"hb-day-fully-taken","2026-12-02":"hb-day-fully-taken","2026-12-03":"hb-day-fully-taken","2026-12-04":"hb-day-fully-taken","2026-12-05":"hb-day-fully-taken","2026-12-06":"hb-day-fully-taken","2026-12-07":"hb-day-fully-taken","2026-12-08":"hb-day-fully-taken","2026-12-09":"hb-day-fully-taken","2026-12-10":"hb-day-fully-taken","2026-12-11":"hb-day-fully-taken","2026-12-12":"hb-day-fully-taken","2026-12-13":"hb-day-fully-taken","2026-12-14":"hb-day-fully-taken","2026-12-15":"hb-day-fully-taken","2026-12-16":"hb-day-fully-taken","2026-12-17":"hb-day-fully-taken","2026-12-18":"hb-day-fully-taken","2026-12-19":"hb-day-fully-taken","2026-12-20":"hb-day-fully-taken","2026-12-21":"hb-day-fully-taken","2026-12-22":"hb-day-fully-taken","2026-12-23":"hb-day-fully-taken","2026-12-24":"hb-day-fully-taken","2026-12-25":"hb-day-fully-taken","2026-12-26":"hb-day-fully-taken","2026-12-27":"hb-day-fully-taken","2026-12-28":"hb-day-fully-taken","2026-12-29":"hb-day-fully-taken","2026-12-30":"hb-day-fully-taken","2026-12-31":"hb-day-fully-taken","2027-01-01":"hb-day-fully-taken","2027-01-02":"hb-day-fully-taken","2027-01-03":"hb-day-fully-taken","2027-01-04":"hb-day-fully-taken","2027-01-05":"hb-day-fully-taken","2027-01-06":"hb-day-fully-taken","2027-01-07":"hb-day-fully-taken","2027-01-08":"hb-day-fully-taken","2027-01-09":"hb-day-fully-taken","2027-01-10":"hb-day-fully-taken","2027-01-11":"hb-day-fully-taken","2027-01-12":"hb-day-fully-taken","2027-01-13":"hb-day-fully-taken","2027-01-14":"hb-day-fully-taken","2027-01-15":"hb-day-fully-taken","2027-01-16":"hb-day-fully-taken","2027-01-17":"hb-day-fully-taken","2027-01-18":"hb-day-fully-taken","2027-01-19":"hb-day-fully-taken","2027-01-20":"hb-day-fully-taken","2027-01-21":"hb-day-fully-taken","2027-01-22":"hb-day-fully-taken","2027-01-23":"hb-day-fully-taken","2027-01-24":"hb-day-fully-taken","2027-01-25":"hb-day-fully-taken","2027-01-26":"hb-day-fully-taken","2027-01-27":"hb-day-fully-taken","2027-01-28":"hb-day-fully-taken","2027-01-29":"hb-day-fully-taken","2027-01-30":"hb-day-fully-taken","2027-01-31":"hb-day-fully-taken","2027-02-01":"hb-day-fully-taken","2027-02-02":"hb-day-fully-taken","2027-02-03":"hb-day-fully-taken","2027-02-04":"hb-day-fully-taken","2027-02-05":"hb-day-fully-taken","2027-02-06":"hb-day-fully-taken","2027-02-07":"hb-day-fully-taken","2027-02-08":"hb-day-fully-taken","2027-02-09":"hb-day-fully-taken","2027-02-10":"hb-day-fully-taken","2027-02-11":"hb-day-fully-taken","2027-02-12":"hb-day-fully-taken","2027-02-13":"hb-day-fully-taken","2027-02-14":"hb-day-fully-taken","2027-02-15":"hb-day-fully-taken","2027-02-16":"hb-day-fully-taken","2027-02-17":"hb-day-fully-taken","2027-02-18":"hb-day-fully-taken","2027-02-19":"hb-day-fully-taken","2027-02-20":"hb-day-fully-taken","2027-02-21":"hb-day-fully-taken","2027-02-22":"hb-day-fully-taken","2027-02-23":"hb-day-fully-taken","2027-02-24":"hb-day-fully-taken","2027-02-25":"hb-day-fully-taken","2027-02-26":"hb-day-fully-taken","2027-02-27":"hb-day-fully-taken","2027-02-28":"hb-day-fully-taken","2027-03-01":"hb-day-fully-taken","2027-03-02":"hb-day-fully-taken","2027-03-03":"hb-day-fully-taken","2027-03-04":"hb-day-fully-taken","2027-03-05":"hb-day-fully-taken","2027-03-06":"hb-day-fully-taken","2027-03-07":"hb-day-fully-taken","2027-03-08":"hb-day-fully-taken","2027-03-09":"hb-day-fully-taken","2027-03-10":"hb-day-fully-taken","2027-03-11":"hb-day-fully-taken","2027-03-12":"hb-day-fully-taken","2027-03-13":"hb-day-fully-taken","2027-03-14":"hb-day-fully-taken","2027-03-15":"hb-day-fully-taken","2027-03-16":"hb-day-fully-taken","2027-03-17":"hb-day-fully-taken","2027-03-18":"hb-day-fully-taken","2027-03-19":"hb-day-fully-taken","2027-03-20":"hb-day-fully-taken","2027-03-21":"hb-day-fully-taken","2027-03-22":"hb-day-fully-taken","2027-03-23":"hb-day-fully-taken","2027-03-24":"hb-day-fully-taken","2027-03-25":"hb-day-fully-taken","2027-03-26":"hb-day-taken-end","2027-06-11":"hb-day-taken-start","2027-06-12":"hb-day-fully-taken","2027-06-13":"hb-day-taken-end","2026-10-09":"hb-day-taken-start","2026-10-10":"hb-day-fully-taken","2026-10-11":"hb-day-fully-taken","2026-10-12":"hb-day-taken-end","2026-10-04":"hb-day-taken-start","2026-10-05":"hb-day-taken-end","2027-10-05":"hb-day-no-check-in-min-stay"};
3409var hb_booking_form_data = {"ajax_url":"https:\/\/havenonseneca.com\/wp-admin\/admin-ajax.php","ajax_timeout":40000,"seasons":[{"id":"63","season_id":"53","start_date":"2025-09-01","end_date":"2025-11-01","days":"0,1,2,3,4,5,6","priority":""},{"id":"64","season_id":"54","start_date":"2025-11-01","end_date":"2025-11-29","days":"0,1,2,3,4,5,6","priority":""},{"id":"73","season_id":"62","start_date":"2026-05-15","end_date":"2026-05-18","days":"0,1,2,3,4,5,6","priority":""},{"id":"74","season_id":"63","start_date":"2026-03-13","end_date":"2026-05-15","days":"0,1,2,3,4,5,6","priority":""},{"id":"75","season_id":"64","start_date":"2026-05-18","end_date":"2026-06-27","days":"0,1,2,3,4,5,6","priority":""},{"id":"76","season_id":"65","start_date":"2026-06-27","end_date":"2026-07-11","days":"0,1,2,3,4,5,6","priority":""},{"id":"77","season_id":"66","start_date":"2026-07-11","end_date":"2026-08-29","days":"0,1,2,3,4,5,6","priority":""},{"id":"78","season_id":"67","start_date":"2026-08-29","end_date":"2026-09-08","days":"0,1,2,3,4,5,6","priority":""},{"id":"79","season_id":"68","start_date":"2026-09-08","end_date":"2026-11-01","days":"0,1,2,3,4,5,6","priority":""},{"id":"80","season_id":"69","start_date":"2026-11-01","end_date":"2026-11-30","days":"0,1,2,3,4,5,6","priority":""}],"price_precision":"two_decimals","decimal_point":".","thousands_sep":",","deposit_type":"percentage","deposit_amount":"50","security_bond":"500","security_bond_deposit":"yes","page_padding_top":"150","horizontal_form_min_width":500,"details_form_stack_width":500,"display_accom_left_threshold":-1,"linked_accom_to_block":[],"is_admin":"no"};
3410var hb_text = {"accom_available_at_chosen_dates":"%accom_name is available at the chosen dates. Do you want to stay at Haven on Seneca with more than 6 people? Then e-mail us. A fee per person may apply.","accom_book_now_button":"Book now!","accom_can_not_suit_nb_adults":"Unfortunately the %accom_name can not suit %adults_nb adults.","accom_can_not_suit_nb_children":"Unfortunately the %accom_name can not suit %children_nb children.","accom_can_not_suit_nb_people":"Unfortunately the %accom_name can not suit %persons_nb persons.","accom_can_not_suit_one_adult":"Unfortunately the %accom_name can not suit one adult.","accom_can_not_suit_one_child":"Unfortunately the %accom_name can not suit one child.","accom_can_not_suit_one_person":"Unfortunately the %accom_name can not suit one person only.","accom_deposit_amount":"Deposit amount:","accom_has_no_extras":"This accommodation does not have any extra services.","accom_left":"There are only %available_accom_nb %accom_name left!","accom_no_longer_available":"Unfortunately the accommodation you have selected is no longer available. Please select another accommodation or start searching again.","accom_no_multiple_accom_booking":"You can not book multiple %accom_name in one reservation.","accom_not_available_at_chosen_dates":"The %accom_name is not available at the chosen dates.","accom_num_no_longer_available":"The %accom_name number %accom_num is no longer available. Please select another accommodation number.","accom_number":"Number of accommodation","accom_number_any":"Any","accom_page_form_title":"","accom_starting_price":"price starting at %price","accom_starting_price_duration_unit":"per night","accom_suggestion_for_multiple_accom_search":"We could not find any result matching your search criteria. You can change your search or check our suggestion below.","accom_suggestion_for_single_accom_search":"More than one accommodation is needed to accommodate your stay. Please check our suggestion below.","address_1":"","address_2":"","adults":"Adults","auto_blocked_accom_multiple":"Selecting the %selected_accom_name automatically blocks %nb_blocked_accom %blocked_accom_name.","auto_blocked_accom_single":"Selecting the %selected_accom_name automatically blocks the %blocked_accom_name.","book_now_button":"Book now!","canada_province_iso":"","change_search_button":"Change search","check_in":"Check-in","check_in_date_before_date":"The check-in date can not be before the %date.","check_in_date_past":"The check-in date can not be in the past.","check_in_day_not_allowed":"Check-in is allowed only on specific days (%check_in_days).","check_in_day_not_allowed_seasonal":"Check-in is allowed only on certain days. Please change your check-in date.","check_out":"Check-out","check_out_before_check_in":"The check-out date must be after the check-in date.","check_out_date_after_date":"The check-out date can not be after the %date.","check_out_day_not_allowed":"Check-out is allowed only on specific days (%check_out_days).","check_out_day_not_allowed_for_check_in_day":"Guests check-in on %check_in_day must check-out on a specific day (%check_out_days).","check_out_day_not_allowed_for_check_in_day_seasonal":"With this check-in date check-out is allowed only on certain days. Please change your check-in or check-out dates.","check_out_day_not_allowed_seasonal":"Check-out is allowed only on certain days. Please change your check-out date.","children":"Children","chosen_accom_number":"Number of accommodation:","chosen_adults":"Adults:","chosen_adults_in_accom_number":"
3410(%nb_adults adults)","chosen_check_in":"Check-in:","chosen_check_out":"Check-out:","chosen_children":"Children:","chosen_options":"Extra services:","chosen_persons_in_accom_number":"(%nb_persons persons)","city":"","connection_error":"There was a connection error. Please try again.","country":"","country_iso":"","coupon_no_longer_valid":"This coupon code is no longer valid.","coupons_button":"Apply","coupons_section_title":"Coupon","coupons_text":"If you have a coupon code enter it in the field below and click on apply.","default_form_title":"Check Availibility","details_form_title":"Enter your details","each_option":" each","email":"","error_rate_not_defined":"Error: please add a rate for accommodation named %accom_name and season named %season_name.","error_season_not_defined":"Error: season is not defined for %night.","external_payment_txt_deposit":" (deposit)","external_payment_txt_desc":"%accom_name%deposit_txt - %nights_txt (from %check_in_date to %check_out_date) - %adults_txt%children_txt","external_payment_txt_one_adult":"1 adult","external_payment_txt_one_child":" - 1 child","external_payment_txt_one_night":"1 night","external_payment_txt_several_adults":"%nb_adults adults","external_payment_txt_several_children":" - %nb_children children","external_payment_txt_several_nights":"%nb_nights nights","fee_1":"","fee_3":"","fee_details_adult_one":"adult","fee_details_adults_several":"adults","fee_details_child_one":"child","fee_details_children_several":"children","fee_details_persons":"persons","first_name":"","free_option":"(free)","global_options_title":"Global options","hide_price_breakdown":"Hide price breakdown","invalid_check_in_date":"The check-in date is not valid.","invalid_check_in_out_date":"The check-in date and the check-out date are not valid.","invalid_check_out_date":"The check-out date is not valid.","invalid_coupon":"This coupon code is not valid.","invalid_email":"Invalid email.","invali
3410d_number":"This field can only contain numbers.","last_name":"","later_payment_already_paid":"A payment has already been made for this Payment link.","later_payment_confirm_error":"We have received your Payment but we could not confirm your reservation. Please contact us and we will check your reservation status.","later_payment_expired":"This Payment link has expired. Please contact us so we can check your reservation status.","later_payment_form_amount":"You will be charged %amount","later_payment_form_could_not_be_loaded":"The Payment form could not be loaded (you did not follow a Payment link or the Payment has expired).","later_payment_form_pay_button":"Pay now","later_payment_form_store_credit_card_text_explanation":"We ask for your credit card details but we will not charge it now.","later_payment_form_submit_button":"Submit","later_payment_form_title":"Payment","later_payment_log_error":"We have received your Payment but we could not update our records to take note of it. Please contact us so we can confirm your payment and update your reservation.","later_payment_no_reservation":"We could not find any valid reservation for this Payment link. Please contact us so we can check your reservation status.","later_payment_pay_button_pay_txt":"Pay now","later_payment_store_credit_card_thanks_message":"Thank you. We have updated your payment method.","later_payment_thanks_message":"Thank you. We have just sent you an email at %customer_email to confirm we have received your payment.","later_payment_txt_before_pay_button":"Please double check the payment details before clicking on \"Pay now\"","later_payment_txt_before_submit_button":"Please double check the form details before clicking on \"Submit\"","later_payment_type_bond":"bond","later_payment_type_deposit":"deposit","later_payment_type_deposit_including_bond":"deposit including the bond","later_payment_type_explanation":"You are paying the %payment_type.","later_payment_type_remaining_balance":"remaining balance","later_payment_type_remaining_balance_including_bond":"remaining balance including the bond","later_payment_type_total_price":"total price","later_payment_type_total_price_including_bond":"total price including the bond","later_payment_update_button_txt":"Add or update your payment method","legend_available":"Available","legend_before_check_in":"Before check-in day","legend_check_in":"Chosen check-in day","legend_check_in_only":"Available for check-in only","legend_check_out":"Chosen check-out day","legend_check_out_only":"Available for check-out only","legend_closed":"Closed","legend_no_check_in":"Not available for check-in","legend_no_check_out":"Not available for check-out","legend_no_check_out_max_stay":"Not available for check-out (due to the %nb_nights-night maximum-stay requirement)","legend_no_check_out_min_stay":"Not available for check-out (due to the %nb_nights-night minimum-stay requirement)","legend_occupied":"Occupied","legend_past":"Past","legend_select_check_in":"Select a check-in date.","legend_select_check_out":"Select a check-out date.","max_option":" - Maximum: %max_value","maximum_stay":"A %nb_nights-nights maximum stay policy applies. Please modify your dates.","maximum_stay_for_check_in_day":"A %nb_nights-night maximum stay applies for booking starting on %check_in_day.","maximum_stay_for_check_in_day_seasonal":"With this check-in date a maximum stay policy applies.","maximum_stay_seasonal":"A maximum stay policy applies. Please modify your dates to shorten your stay.","minimum_stay":"A %nb_nights-nights minimum stay policy applies. Please modify your dates.","minimum_stay_for_check_in_day":"A %nb_nights-night minimum stay is required for booking starting on %check_in_day.","minimum_stay_for_check_in_day_seasonal":"With this check-in date a minimum stay policy applies.","minimum_stay_seasonal":"A minimum stay policy applies. Please modify your dates to extend your stay.","multi_accom_accom_n":"Accommodation %n","multi_accom_intro":"We have found the following accommodation.","multi_accom_no_accom_selected":"Please select an accommodation before continuing.","multi_accom_select_accom_n":"Select accommodation %n","nb_accom_selected":"You have already selected %selected_accom_nb %accom_name.","next_step_button":"Next %arrow","no_accom_at_chosen_dates":"Unfortunately we could not find any accommodation for the dates you entered.","no_accom_can_suit_nb_people":"Unfortunately we could not find any accommodation that would suit %persons_nb persons.","no_accom_can_suit_nb_people_only":"Unfortunately we could not find accommodation to suit %persons_nb persons only.","no_accom_can_suit_one_person":"Unfortunately we could not find any accommodation that would suit one person only.","no_accom_left":"There are no %accom_name left!","no_adults":"Please select the number of adults.","no_adults_children":"Please select the number of adults and the number of children.","no_check_in_date":"Please enter a check-in date.","no_check_in_out_date":"Please enter a check-in date and a check-out date.","no_check_out_date":"Please enter a check-out date.","no_children":"Please select the number of children.","no_coupon":"Please enter a coupon code.","not_enough_accom_for_people":"We do not have enough %accom_name to suit %persons_nb persons.","not_enough_accom_for_people_at_chosen_dates":"We do not have enough %accom_name to suit %persons_nb persons at the chosen dates.","number_of_nights":"Number of nights:","one_accom_left":"There is only one %accom_name left!","one_adult_chosen_in_accom_number":"
3410(1 adult)","one_type_of_accommodation_found":"We have found 1 type of accommodation that suit your needs.","only_x_accom":"We only have %available_accom_nb %accom_name.","only_x_accom_available_at_chosen_dates":"There are only %available_accom_nb %accom_name available at the chosen dates.","payment_method":"Select your payment method:","payment_section_title":"Payment","payment_type":"Select your payment type:","payment_type_deposit":"Pay deposit now","payment_type_explanation_deposit":"You will be charged %deposit_amount","payment_type_explanation_full":"You will be charged %full_amount. The security bond will be refunded after your stay (minus possible damage costs).","payment_type_explanation_offline":"You will pay for your stay at a later stage. The total price is %full_amount","payment_type_explanation_store_credit_card":"We ask for your credit card details but we will not charge it now.","payment_type_full":"Pay total price now","payment_type_offline":"On arrival or offline payment","payment_type_store_credit_card":"Leave credit card details (the card will not be charged now)","paypal_bottom_text_line_1":"Secured payments by","paypal_bottom_text_line_2":"You can pay with your credit card","paypal_payment_method_label":"PayPal","paypal_text_before_form":"Click on Book Now to confirm your reservation. You will be redirected to PayPal to complete your payment.","phone":"","previous_step_button":"%arrow Previous","price_breakdown_accom_price":"Accommodation price:","price_breakdown_adult_one":"Adult:","price_breakdown_adults_several":"Adults (%nb_adults):","price_breakdown_child_one":"Child:","price_breakdown_children_several":"Children (%nb_children):","price_breakdown_dates":"From %from_date to %to_date","price_breakdown_discount":"Discount:","price_breakdown_extra_adult_one":"Extra adult:","price_breakdown_extra_adults_several":"Extra adults (%nb_adults):","price_breakdown_extra_child_one":"Extra child:","price_breakdown_extra_children_several":"Extra children (%nb_children):","price_breakdown_fees":"Fees:","price_breakdown_multiple_nights":"x %nb_nights-night","price_breakdown_night_one":"night","price_breakdown_nights_several":"nights","price_for_1_night":"price for 1 night","price_for_several_nights":"price for %nb_nights nights","price_option":"(%price%each%max)","privacy_policy_error":"Please confirm you have read and you accept the privacy policy and you give your consent for the information above to be collected by checking the box.","privacy_policy_text":"I have read and I accept the privacy policy and I give my consent for the information above to be collected.","processing":"Processing...","required_field":"Required field.","search_button":"Check Availibility","search_specific_accom_number_link":"Search for a specific number of accommodation","searching":"Searching...","season_53":"","season_54":"","select_accom_button":"Select this accommodation","select_accom_num_label":"%accom_name number %accom_num","select_accom_num_select_title":"Select accommodation number","select_accom_num_text":"","select_accom_num_title":"Select your accommodation number","select_accom_title":"Select your accommodation","select_options_title":"Select your options","selected_accom":"You have selected the %accom_name.","several_types_of_accommodation_found":"We have found %nb_types types of accommodation that suit your needs.","state_province":"","stripe_card_number":"Card number:","stripe_cvc":"CVC:","stripe_expiration":"Expiration date:","stripe_payment_declined":"Your payment was declined. Please try again and get in touch with us if you need help.","stripe_payment_method_label":"Credit or debit card","stripe_processing_error":"Could not process the payment (%error_msg).","stripe_text_before_form":"Please enter your credit cards details below.","stripe_text_bottom_form":"Safe and secure payments SSL encrypted","stripe_text_loading_form":"Loading payment form...","summary_accom_price":"Accommodation price:","summary_accom_total_price":"Price:","summary_accommodation":"Accommodation:","summary_accommodation_number":"Accommodation number:","summary_bottom_text":"","summary_change":"Change","summary_chosen_check_in":"Chosen check-in date","summary_chosen_check_out":"Chosen check-out date","summary_coupon_amount":"Coupon amount:","summary_deposit":"Deposit amount:","summary_discount_amount":"Discount amount:","summary_global_options_price":"Global options price:","summary_included_fees":"Price includes:","
3410summary_loading":"Loading summary...","summary_number_of_nights":"Number of nights","summary_options_price":"Options price:","summary_payments_history_subtitle":"Payments history","summary_price":"Total price:","summary_price_breakdown_subtitle":"Price breakdown","summary_resa_details_subtitle":"Reservation details","summary_security_bond":"Security bond amount:","summary_security_bond_explanation":"This will be refunded after your stay minus possible damage costs.","summary_title":"Reservation summary","table_invoice_accom_extras_total":"%accom_name total","table_invoice_accom_subtotal":"Accommodation subtotal","table_invoice_accom_title":"Accommodation","table_invoice_accom_total":"Accommodation total","table_invoice_bond":"Security bond","table_invoice_coupon":"Coupon","table_invoice_discount":"Discount","table_invoice_due":"Total due","table_invoice_extras_subtotal":"Extra services subtotal","table_invoice_extras_title":"Extra services","table_invoice_extras_total":"Extra services total","table_invoice_global_extras_title":"Global extra services","table_invoice_global_extras_total":"Global extra services total","table_invoice_head_amount":"Amount","table_invoice_head_description":"Description","table_invoice_included_fee":"Including","table_invoice_paid":"Amount paid","table_invoice_subtotal":"Subtotal","table_invoice_surcharge":"Surcharge","table_invoice_total":"Total","table_invoice_total_with_bond":"Total including security bond","table_payments_history_head_amount":"Amount","table_payments_history_head_date":"Payment date","table_payments_history_head_method":"Payment method","table_payments_history_total_paid":"Total amount paid:","table_rates_all_nights":"","table_rates_for_night_stay":"for a %nb_nights-night stay","table_rates_from":"From","table_rates_nights":"Nights","table_rates_per_night":"per night","table_rates_price":"Price","table_rates_season":"Season","table_rates_to":"To","terms_and_cond_error":"Please confirm you have read and you accept the <a href=\"https:\/\/havenonseneca.com\/rental-agreement\/\" target=\"_blank\">rental agreement<\/a> by checking the box.","terms_and_cond_text":"I have read and I accept the <a href=\"https:\/\/havenonseneca.com\/rental-agreement\/\" target=\"_blank\">rental agreement<\/a> for this booking.","terms_and_cond_title":"Accept our policies for this reservation","thanks_message_1":"Thanks for your reservation! We have just sent you a confirmation email at %customer_email with the following details:","thanks_message_2":"See you soon!","thanks_message_payment_done_1":"Thanks for your reservation! We confirm that we have received your payment and have just sent you a confirmation email at %customer_email with the following details:","thanks_message_payment_done_2":"See you soon!","timeout_error":"Your session has timed out. Please start a new booking request.","total_options_price":"Options total price:","txt_after_terms_and_conds_title":"","txt_before_book_now_button":"Please double check your reservation details before clicking on \"Book now\".","unselect_accom_button":"Unselect this accommodation","usa_state_iso":"","valid_coupon":"Your coupon code is valid! We have applied a %amount discount!","verifying_coupon":"Verifying coupon...","view_accom_at_chosen_date":"View all available accommodation at the chosen dates.","view_accom_button":"View this accommodation","view_accom_details_button":"Check details","view_accom_for_one_person":"View all available accommodation for one person.","view_accom_for_persons":"View all available accommodation for %persons_nb persons.","view_price_breakdown":"View price breakdown","write_us_a_message":"","zip_code":""};
3411;
3412jQuery( document ).ready( function( $ ) {
3413	'use strict';
3414
3415	/* external payment thank you page */
3416
3417	if ( $( '#hb-resa-payment-thank-you-page-redirect' ).length ) {
3418		if ( typeof window['hbook_reservation_done'] == 'function' ) {
3419			window['hbook_reservation_done']();
3420		}
3421		$( '#hb-resa-payment-thank-you-page-redirect' ).submit();
3422	}
3423
3424	/* end external payment thank you page */
3425
3426	/* ------------------------------------------------------------------------------------------- */
3427
3428	/* padding top */
3429
3430	var page_padding_top = 0;
3431	if ( typeof hb_booking_form_data !== 'undefined' ) {
3432		page_padding_top = hb_booking_form_data.page_padding_top;
3433	} else if ( typeof hb_payment_confirmation_padding_top !== 'undefined' ) {
3434		page_padding_top = hb_payment_confirmation_padding_top;
3435	}
3436
3437	var adminbar_height = 0;
3438	if ( $( '#wpadminbar' ).length ) {
3439		adminbar_height = $( '#wpadminbar' ).height();
3440		page_padding_top = parseInt( page_padding_top ) + adminbar_height;
3441	}
3442
3443	/* end padding top */
3444
3445	/* ------------------------------------------------------------------------------------------- */
3446
3447	/* id and for attributes */
3448
3449	if ( ( typeof hb_booking_form_data !== 'undefined' ) && ( hb_booking_form_data.is_admin != 'yes' ) ) {
3450		var form_nb = 1;
3451		$( '.hbook-wrapper' ).each( function() {
3452			$( this ).find( 'label' ).each( function() {
3453				var new_attr_for = 'hb-form-' + form_nb + '-' + $( this ).attr( 'for' );
3454				$( this ).attr( 'for', new_attr_for );
3455			});
3456			$( this ).find( 'input, select, textarea' ).each( function() {
3457				var attr_id = $( this ).attr( 'id' );
3458				if ( attr_id ) {
3459					var new_attr_id = 'hb-form-' + form_nb + '-' + attr_id;
3460					$( this ).attr( 'id', new_attr_id );
3461				}
3462			});
3463			$( this ).find( '.hb-booking-search-form' ).addClass( 'hb-form-' + form_nb );
3464			$( this ).find( '.hb-multi-accom-people-selection-wrapper' ).attr( 'data-form-num', form_nb );
3465			form_nb++;
3466		});
3467	}
3468
3469	/* end id and for attributes */
3470
3471	/* ------------------------------------------------------------------------------------------- */
3472
3473	/* booking search */
3474
3475	$( 'body' ).append( '<div class="hb-people-popup-wrapper"></div>' );
3476	if ( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( navigator.userAgent ) ) {
3477		$( '.hb-people-popup-wrapper-close' ).css( 'display', 'block' );
3478	}
3479
3480	$( '.hb-accom-number' ).change( function() {
3481		show_people_popup( $( this ) );
3482	});
3483
3484	$( 'html' ).on( 'click', function( e ) {
3485		if (
3486			! $( e.target ).is( '.hb-people-popup-wrapper' ) &&
3487			! $( e.target ).is( '.hb-accom-number' ) &&
3488			! $( e.target ).is( '.hb-accom-number option' ) &&
3489			! $( e.target ).is( '.hb-multi-accom-adults' ) &&
3490			! $( e.target ).is( '.hb-multi-accom-adults option' ) &&
3491			! $( e.target ).is( '.hb-multi-accom-children' ) &&
3492			! $( e.target ).is( '.hb-multi-accom-children option' ) &&
3493			$( '.hb-people-popup-wrapper' ).hasClass( 'hb-people-popup-wrapper-visible' )
3494		) {
3495			hide_people_popup();
3496		}
3497		if ( $( e.target ).is( '.hb-people-popup-wrapper-close' ) ) {
3498			e.preventDefault();
3499			hide_people_popup();
3500		}
3501	});
3502
3503	function show_people_popup( $accom_people_select ) {
3504		if ( ! $( '.hb-people-popup-wrapper' ).hasClass( 'hb-people-popup-wrapper-visible' ) ) {
3505			$( '.hb-people-popup-wrapper' ).addClass(' hb-people-popup-wrapper-visible' ).html( '' );
3506			var $accom_people_selection = $accom_people_select.parents( '.hb-booking-search-form' ).find( '.hb-multi-accom-people-selection-wrapper' );
3507			$accom_people_selection.show();
3508			$( '.hb-people-popup-wrapper' ).append( $accom_people_selection );
3509			if ( ! $accom_people_select.parents( '.hb-booking-search-form' ).hasClass( 'hb-search-form-no-people' ) ) {
3510				$( '.hb-people-popup-wrapper' ).show();
3511			}
3512		}
3513		var multi_accom_num = $accom_people_select.val();
3514		if ( multi_accom_num == 'any' ) {
3515			multi_accom_num = 1;
3516		}
3517		$( '.hb-people-popup-wrapper .hb-multi-accom-people-selection' ).hide();
3518		for ( var i = 1; i <= multi_accom_num; i++ ) {
3519			$( '.hb-people-popup-wrapper .hb-multi-accom-people-selection-accom-' + i ).show();
3520		}
3521		if ( multi_accom_num > 1 ) {
3522			$( '.hb-people-popup-wrapper .hb-multi-accom-people-title' ).show();
3523		} else {
3524			$( '.hb-people-popup-wrapper .hb-multi-accom-people-title' ).hide();
3525		}
3526		if ( $accom_people_select.parents( '.hb-booking-search-form' ).hasClass( 'hb-search-form-no-children' ) ) {
3527			$( '.hb-multi-accom-children-wrapper' ).hide();
3528		} else {
3529			$( '.hb-multi-accom-children-wrapper' ).show();
3530		}
3531		reposition_people_popup();
3532	}
3533
3534	function hide_people_popup() {
3535		if ( $( '.hb-people-popup-wrapper' ).hasClass( 'hb-people-popup-wrapper-visible' ) ) {
3536			$( '.hb-people-popup-wrapper' ).hide().removeClass( 'hb-people-popup-wrapper-visible' );
3537			var $accom_people_selection = $( '.hb-people-popup-wrapper .hb-multi-accom-people-selection-wrapper' );
3538			$accom_people_selection.hide();
3539			if ( hb_booking_form_data.is_admin == 'yes' ) {
3540				var $form = $( '.hb-booking-search-form' );
3541			} else {
3542				var $form = $( '.hb-booking-search-form.hb-form-' + $accom_people_selection.data( 'form-num' ) );
3543			}
3544			$form.append( $accom_people_selection );
3545			update_accom_people( $form );
3546		}
3547	}
3548
3549	function update_accom_people( $form ) {
3550		var accom_people = [];
3551		var total_accom_people = 0;
3552		var has_children = false;
3553		var new_accom_number = $form.find( '.hb-accom-number' ).val();
3554		if ( new_accom_number == 'any' ) {
3555			new_accom_number = 1;
3556			$form.find( '.hb-accom-people-any').val( 'yes' );
3557		} else {
3558			$form.find( '.hb-accom-people-any').val( 'no' );
3559		}
3560		if ( new_accom_number > 0 ) {
3561			for ( var i = 1; i <= new_accom_number; i++ ) {
3562				var accom_adults = $form.find( '.hb-multi-accom-people-selection-accom-' + i + ' .hb-multi-accom-adults' ).val();
3563				var accom_children = $form.find( '.hb-multi-accom-people-selection-accom-' + i + ' .hb-multi-accom-children' ).val();
3564				if ( accom_children > 0 ) {
3565					has_children = true;
3566				}
3567				accom_people.push( accom_adults + '-' + accom_children );
3568				total_accom_people += parseInt( accom_adults ) + parseInt( accom_children );
3569			}
3570			if ( accom_people.length ) {
3571				accom_people = accom_people.join( ',' );
3572			} else {
3573				accom_people = '';
3574			}
3575			$form.find( '.hb-accom-people' ).val( accom_people );
3576			if ( has_children ) {
3577				var option_text = hb_text.chosen_persons_in_accom_number.replace( '%nb_persons', total_accom_people );
3578			} else if ( total_accom_people > 1 ) {
3579				var option_text = hb_text.chosen_adults_in_accom_number.replace( '%nb_adults', total_accom_people );
3580			} else {
3581				var option_text = hb_text.one_adult_chosen_in_accom_number;
3582			}
3583			option_text = $form.find( '.hb-accom-number option:selected' ).html() + ' ' + option_text;
3584			if ( $form.find( '.hb-accom-number option[value="0"]' ).length ) {
3585				$form.find( '.hb-accom-number option[value="0"]' ).html( option_text );
3586				$form.find( '.hb-accom-number' ).val( 0 );
3587			}
3588		}
3589	}
3590
3591	$( '.hb-booking-search-form' ).on( 'submit', function() {
3592		var $form = $( this ),
3593			$booking_wrapper = $form.parents( '.hbook-wrapper' );
3594		$form.find( 'input[type="submit"]' ).blur();
3595		if ( ! $form.hasClass( 'submitted' ) ) {
3596			$booking_wrapper.find( '.hb-booking-details-form' ).hide();
3597			$form.find( '.hb-search-error' ).slideUp();
3598			var check_in = $form.find( '.hb-check-in-date' ).val(),
3599				check_out = $form.find( '.hb-check-out-date' ).val(),
3600				adults = $form.find( 'select.hb-adults' ).val(),
3601				children = $form.find( 'select.hb-children' ).val(),
3602				admin_accom_id = '',
3603				admin_search_type = '',
3604				people_and_date_validation,
3605				accom_id,
3606				accom_id_data;
3607			if ( $form.find( '.hb-admin-search-type' ).length ) {
3608				admin_search_type = $form.find( '.hb-admin-search-type' ).val();
3609			}
3610			if ( admin_search_type == 'single_accom' ) {
3611				admin_accom_id = $form.find( '.hb-accom' ).val();
3612			}
3613			if ( ! children || $form.hasClass( 'hb-search-form-no-children' ) ) {
3614				$form.find( 'select.hb-children' ).val( 0 );
3615				children = 0;
3616			}
3617			if ( $form.hasClass( 'hb-search-form-no-people' ) ) {
3618				$form.find( 'select.hb-adults' ).val( 1 );
3619				adults = 1;
3620			}
3621			if ( ! adults ) {
3622				$form.find( 'select.hb-adults option:nth-child(2)' ).prop( 'selected', true );
3623				adults = $form.find( 'select.hb-adults' ).val();
3624			}
3625			if ( '0-0' == $form.find( '.hb-accom-people' ).val() ) {
3626				$form.find( '.hb-accom-people' ).val( '1-0' );
3627				$form.find( '.hb-multi-accom-people-selection-accom-1 .hb-multi-accom-adults' ).val( 1 );
3628			}
3629			if ( $form.find( 'select.hb-accom-number option:selected' ).val() == -1 ) {
3630				$form.find( 'select.hb-accom-number option:nth-child(3)' ).prop( 'selected', true );
3631				update_accom_people( $form );
3632			}
3633			var booking_rules = $booking_wrapper.data( 'booking-rules' );
3634			var page_accom_id = $booking_wrapper.data( 'page-accom-id' );
3635			if ( '' == page_accom_id ) {
3636				accom_id = '0';
3637			} else {
3638				accom_id = page_accom_id;
3639			}
3640			accom_id_data = 'hb_accom_data_' + accom_id;
3641			people_and_date_validation = validate_people_and_check_dates( check_in, check_out, adults, children, booking_rules, window[ accom_id_data ] );
3642			if ( ! people_and_date_validation.success ) {
3643				search_show_error( $form, people_and_date_validation.error_msg );
3644			} else {
3645				$form.find( '.hb-check-in-hidden' ).val( date_to_string( people_and_date_validation.check_in ) );
3646				$form.find( '.hb-check-out-hidden' ).val( date_to_string( people_and_date_validation.check_out ) );
3647				if ( $form.data( 'search-only' ) == 'yes' || $form.data( 'booking-details-redirection' ) == 'yes' ) {
3648					return true;
3649				}
3650				disable_form_submission( $form );
3651				$form.find( '.hb-search-no-result' ).slideUp();
3652				$form.find( '.hb-booking-searching' ).slideDown();
3653				var accom_people = '';
3654				if ( ( admin_search_type == 'multiple_accom' ) || $form.hasClass( 'hb-search-form-multiple-accom' ) ) {
3655					accom_people = $form.find( '.hb-accom-people' ).val();
3656					if ( $form.find( '.hb-accom-people-any').val() == 'yes' ) {
3657						accom_people = accom_people.split( '-' );
3658						adults = accom_people[0];
3659						children = accom_people[1];
3660						accom_people = '';
3661					}
3662				}
3663				$.ajax({
3664					url: hb_booking_form_data.ajax_url,
3665					type: 'POST',
3666					timeout: hb_booking_form_data.ajax_timeout,
3667					data: {
3668						'action': 'hb_get_available_accom',
3669						'check_in': $form.find( '.hb-check-in-hidden' ).val(),
3670						'check_out': $form.find( '.hb-check-out-hidden' ).val(),
3671						'adults': adults,
3672						'children': children,
3673						'results_show_only_accom_id': $booking_wrapper.data( 'results-show-only-accom-id' ),
3674						'page_accom_id': $booking_wrapper.data( 'page-accom-id' ),
3675						'current_page_id': $booking_wrapper.data( 'current-page-id' ),
3676						'exists_main_booking_form': $booking_wrapper.data( 'exists-main-booking-form' ),
3677						'force_display_thumb': $booking_wrapper.data( 'force-display-thumb' ),
3678						'force_display_desc': $booking_wrapper.data( 'force-display-desc' ),
3679						'chosen_options': $form.find( '.hb-chosen-options' ).val(),
3680						'chosen_accom_num': $form.find( '.hb-chosen-accom-num' ).val(),
3681						'is_admin': hb_booking_form_data.is_admin,
3682						'admin_accom_id': admin_accom_id,
3683						'admin_search_type': admin_search_type,
3684						'accom_people': accom_people
3685					},
3686					success: function( response ) {
3687						search_show_response( response, $form, $booking_wrapper );
3688					},
3689					error: function( jqXHR, textStatus, errorThrown ) {
3690						$form.find( '.hb-booking-searching' ).hide();
3691						enable_form_submission( $form );
3692						search_show_error( $form, hb_text.connection_error );
3693						console.log( jqXHR );
3694						console.log( jqXHR.responseText );
3695						console.log( textStatus );
3696						console.log( errorThrown );
3697					}
3698				});
3699			}
3700		}
3701		return false;
3702	});
3703
3704	function validate_people_and_check_dates( check_in, check_out, adults, children, booking_rules, accom_id_data ) {
3705		if ( ( check_in == '' ) && ( check_out == '' ) ) {
3706			return { success: false, error_msg: hb_text.no_check_in_out_date };
3707		} else if ( check_in == '' ) {
3708			return { success: false, error_msg: hb_text.no_check_in_date };
3709		} else if ( check_out == '' ) {
3710			return { success: false, error_msg: hb_text.no_check_out_date };
3711		} else if ( adults != parseInt( adults, 10 ) && children != parseInt( children, 10 ) ) {
3712			return { success: false, error_msg: hb_text.no_adults_children };
3713		} else if ( adults != parseInt( adults, 10 ) ) {
3714			return { success: false, error_msg: hb_text.no_adults };
3715		} else if ( children != parseInt( children, 10 ) ) {
3716			return { success: false, error_msg: hb_text.no_children };
3717		}
3718		var check_in_date,
3719			check_out_date,
3720			hb_min_date,
3721			hb_max_date;
3722		try {
3723			check_in_date = $.datepick.parseDate( hb_date_format, check_in );
3724		} catch( e ) {
3725			check_in_date = false;
3726		}
3727		try {
3728			check_out_date = $.datepick.parseDate( hb_date_format, check_out );
3729		} catch( e ) {
3730			check_out_date = false;
3731		}
3732		if ( ! check_in_date && ! check_out_date ) {
3733			return { success: false, error_msg: hb_text.invalid_check_in_out_date };
3734		} else if ( ! check_in_date ) {
3735			return { success: false, error_msg: hb_text.invalid_check_in_date };
3736		} else if ( ! check_out_date ) {
3737			return { success: false, error_msg: hb_text.invalid_check_out_date };
3738		}
3739
3740		if ( hb_booking_form_data.is_admin == 'yes' ) {
3741			if ( check_out_date <= check_in_date ) {
3742				return { success: false, error_msg: hb_text.check_out_before_check_in };
3743			}
3744			return { success: true, check_in: check_in_date, check_out: check_out_date };
3745		}
3746		hb_min_date = accom_id_data['min_date'];
3747		if ( hb_min_date != '0' ) {
3748			var min_date = hb_date_str_2_obj( hb_min_date ),
3749				txt_min_date = $.datepick.formatDate( hb_date_format, min_date );
3750			if ( check_in_date < min_date ) {
3751				return { success: false, error_msg: hb_text.check_in_date_before_date.replace( '%date', txt_min_date ) };
3752			}
3753		}
3754		hb_max_date = accom_id_data['max_date'];
3755		if ( hb_max_date != '0' ) {
3756			var max_date = hb_date_str_2_obj( hb_max_date ),
3757				txt_max_date = $.datepick.formatDate( hb_date_format, max_date );
3758			max_date.setDate( max_date.getDate() + 1 );
3759			if ( check_out_date > max_date ) {
3760				return { success: false, error_msg: hb_text.check_out_date_after_date.replace( '%date', txt_max_date ) };
3761			}
3762		}
3763
3764		var yesterday = new Date();
3765		yesterday.setDate( yesterday.getDate() - 1 );
3766		yesterday.setHours( 23, 59, 59 );
3767		if ( check_in_date < yesterday ) {
3768			return { success: false, error_msg: hb_text.check_in_date_past };
3769		} else if ( check_out_date <= check_in_date ) {
3770			return { success: false, error_msg: hb_text.check_out_before_check_in };
3771		}
3772
3773		var check_in_day = day_of_week( check_in_date ),
3774			check_out_day = day_of_week( check_out_date ),
3775			nb_nights = date_diff( check_out_date, check_in_date ),
3776			check_in_date_season = hb_get_season_id( check_in_date ),
3777			check_out_date_season = hb_get_season_id( check_out_date );
3778
3779		if ( booking_rules.allowed_check_in_days != 'all' ) {
3780			var allowed_check_in_days = booking_rules.allowed_check_in_days.split( ',' );
3781			if ( allowed_check_in_days.indexOf( check_in_day ) < 0 ) {
3782				var allowed_days = day_name_list( allowed_check_in_days );
3783				return { success: false, error_msg: hb_text.check_in_day_not_allowed.replace( '%check_in_days', allowed_days ) };
3784			}
3785		}
3786		if ( booking_rules.allowed_check_out_days != 'all' ) {
3787			var allowed_check_out_days = booking_rules.allowed_check_out_days.split( ',' );
3788			if ( allowed_check_out_days.indexOf( check_out_day ) < 0 ) {
3789				var allowed_days = day_name_list( allowed_check_out_days );
3790				return { success: false, error_msg: hb_text.check_out_day_not_allowed.replace( '%check_out_days', allowed_days ) };
3791			}
3792		}
3793		if (
3794			booking_rules.seasonal_allowed_check_in_days[ check_in_date_season ] &&
3795			booking_rules.seasonal_allowed_check_in_days[ check_in_date_season ].split( ',' ).indexOf( check_in_day ) < 0
3796		) {
3797			return { success: false, error_msg: hb_text.check_in_day_not_allowed_seasonal };
3798		}
3799		if (
3800			booking_rules.seasonal_allowed_check_out_days[ check_out_date_season ] &&
3801			booking_rules.seasonal_allowed_check_out_days[ check_out_date_season ].split( ',' ).indexOf( check_out_day ) < 0
3802		) {
3803			return { success: false, error_msg: hb_text.check_out_day_not_allowed_seasonal };
3804		}
3805		if ( booking_rules.seasonal_minimum_stay[ check_in_date_season ] ) {
3806			if ( nb_nights < booking_rules.seasonal_minimum_stay[ check_in_date_season ] ) {
3807				return { success: false, error_msg: hb_text.minimum_stay_seasonal };
3808			}
3809		} else if ( nb_nights < booking_rules.minimum_stay ) {
3810			return { success: false, error_msg: hb_text.minimum_stay.replace( '%nb_nights', booking_rules.minimum_stay ) };
3811		}
3812		if ( booking_rules.seasonal_maximum_stay[ check_in_date_season ] ) {
3813			if ( nb_nights > booking_rules.seasonal_maximum_stay[ check_in_date_season ] ) {
3814				return { success: false, error_msg: hb_text.maximum_stay_seasonal };
3815			}
3816		} else if ( nb_nights > booking_rules.maximum_stay ) {
3817			return { success: false, error_msg: hb_text.maximum_stay.replace( '%nb_nights', booking_rules.maximum_stay ) };
3818		}
3819		if ( booking_rules.conditional_booking_rules.length ) {
3820			for ( var i = 0; i < booking_rules.conditional_booking_rules.length; i++ ) {
3821				var rule = booking_rules.conditional_booking_rules[ i ];
3822				if ( rule.check_in_days.indexOf( check_in_day ) > -1 ) {
3823					if ( rule.check_out_days.indexOf( check_out_day ) < 0 ) {
3824						if ( rule['all_seasons'] == 1 ) {
3825							return {
3826								success: false,
3827								error_msg: hb_text.check_out_day_not_allowed_for_check_in_day
3828									.replace( '%check_in_day', day_name( check_in_day ) )
3829									.replace( '%check_out_days', day_name_list( rule.check_out_days.split( ',' ) ) )
3830							};
3831						}
3831 else if ( rule['seasons'].split( ',' ).indexOf( check_in_date_season ) > -1 ) {
3832							return { success: false, error_msg: hb_text.check_out_day_not_allowed_for_check_in_day_seasonal };
3833						}
3834					}
3835					if ( nb_nights < rule.minimum_stay ) {
3836						if ( rule['all_seasons'] == 1 ) {
3837							return {
3838								success: false,
3839								error_msg: hb_text.minimum_stay_for_check_in_day
3840									.replace( '%nb_nights', rule.minimum_stay )
3841									.replace( '%check_in_day', day_name( check_in_day ) )
3842							};
3843						} else if ( rule['seasons'].split( ',' ).indexOf( check_in_date_season ) > -1 ) {
3844							return { success: false, error_msg: hb_text.minimum_stay_for_check_in_day_seasonal };
3845						}
3846					}
3847					if ( nb_nights > rule.maximum_stay ) {
3848						if ( rule['all_seasons'] == 1 ) {
3849							return {
3850								success: false,
3851								error_msg: hb_text.maximum_stay_for_check_in_day
3852									.replace( '%nb_nights', rule.maximum_stay )
3853									.replace( '%check_in_day', day_name( check_in_day ) )
3854							};
3855						} else if ( rule['
3855seasons'].split( ',' ).indexOf( check_in_date_season ) > -1 ) {
3856							return { success: false, error_msg: hb_text.maximum_stay_for_check_in_day_seasonal };
3857						}
3858					}
3859				}
3860			}
3861		}
3862		return { success: true, check_in: check_in_date, check_out: check_out_date };
3863	}
3864
3865	function day_of_week( date ) {
3866		var day = date.getDay();
3867		if ( day == 0 ) {
3868			day = 6;
3869		} else {
3870			day = day - 1;
3871		}
3872		return day + '';
3873	}
3874
3875	function day_name( day ) {
3876		if ( day == 6 ) {
3877			day = 0;
3878		} else {
3879			day++;
3880		}
3881		return hb_day_names[ day ];
3882	}
3883
3884	function day_name_list( days ) {
3885		var days_name = [];
3886		for ( var i = 0; i < days.length; i++ ) {
3887			days_name.push( day_name( days[ i ] ) );
3888		}
3889		return days_name.join( ', ' );
3890	}
3891
3892	function date_diff( check_out_date, check_in_date ) {
3893		return Math.round( ( check_out_date - check_in_date ) / 1000 / 60 / 60 / 24 );
3894	}
3895
3896	function date_to_string( date ) {
3897		var y = date.getFullYear();
3898		var m = date.getMonth() + 1;
3899		m = m + '';
3900		if ( m.length == 1 ) {
3901			m = '0' + m;
3902		}
3903		var d = date.getDate();
3904		d = d + '';
3905		if ( d.length == 1 ) {
3906			d = '0' + d;
3907		}
3908		return y + '-' + m + '-' + d;
3909	}
3910
3911	function search_show_error( $form, msg ) {
3912		if ( $form.find( '.hb-search-error' ).is( ':visible' ) ) {
3913			$form.find( '.hb-search-error' ).slideUp( function() {
3914				$( this ).html( msg ).slideDown();
3915			});
3916		} else {
3917			$form.find( '.hb-search-error' ).html( msg ).slideDown();
3918		}
3919	}
3920
3921	function search_show_response( response_text, $form, $booking_wrapper ) {
3922		$form.find( '.hb-booking-searching' ).hide();
3923		enable_form_submission( $form );
3924		try {
3925			var response = JSON.parse( response_text );
3926		} catch ( e ) {
3927			$form.find( '.hb-search-error' ).html( 'An error occured. ' + response_text ).slideDown();
3928			return false;
3929		}
3930		if ( ! response.success ) {
3931			if ( response.msg ) {
3932				$form.find( '.hb-search-no-result' ).html( response.msg ).slideDown();
3933			} else {
3934				$form.find( '.hb-search-error' ).html( response_text ).slideDown();
3935			}
3936		} else {
3937			$form.find( '.hb-chosen-check-in-date span' ).html( $form.find( '.hb-check-in-date' ).val() );
3938			$form.find( '.hb-chosen-check-out-date span' ).html( $form.find( '.hb-check-out-date' ).val() );
3939			$form.find( '.hb-chosen-accom-number span' ).html( $form.find( '.hb-accom-number option:selected' ).html() );
3940			$form.find( '.hb-chosen-admin-search-type span' ).html( $form.find( '.hb-admin-search-type option:selected' ).html() );
3941			$form.find( '.hb-chosen-adults span' ).html( $form.find( 'select.hb-adults' ).val() );
3942			$form.find( '.hb-chosen-children span' ).html( $form.find( 'select.hb-children' ).val() );
3943			$form.find( '.hb-chosen-accom span' ).html( $form.find( '.hb-accom option:selected' ).text() );
3944			$form.find( '.hb-search-fields-and-submit' ).slideUp( function() {});
3945			$form.find( '.hb-searched-summary' ).slideDown();
3946			$booking_wrapper.find( '.hb-accom-list' ).html( response.mark_up );
3947			var is_accom_selected = false;
3948			var animate_accom_step = true;
3949			if ( ( $form.find( '.hb-accom' ).length ) && ( $form.find( '.hb-accom' ).val() != 'all' ) ) {
3950				set_selected_accom( $booking_wrapper, $form.find( '.hb-accom' ).val() );
3951				is_accom_selected = true;
3952			}
3953			$booking_wrapper.find( '.hb-multi-accom-choices' ).each( function() {
3954				if ( $( this ).find( '.hb-accom' ).length == 1 ) {
3955					set_selected_accom( $( this ), $( this ).find( '.hb-accom' ).data( 'accom-id' ) );
3956					is_accom_selected = true;
3957				}
3958			});
3959			if ( ! is_accom_selected && ( $booking_wrapper.find( '.hb-multi-accom-choices' ).length == 1 ) ) {
3960				$booking_wrapper.find( '.hb-next-step-1' ).hide();
3961			}
3962			if ( $booking_wrapper.data( 'results-show-only-accom-id' ) != '' ) {
3963				var accom_ids = $booking_wrapper.data( 'results-show-only-accom-id' ).toString().split( ',' );
3964				$booking_wrapper.find( '.hb-accom' ).hide();
3965				$booking_wrapper.find( '.hb-multi-accom-choices' ).each( function( multi_accom_choices_index ) {
3966					$booking_wrapper.find( '.hb-accom-id-' + accom_ids[ multi_accom_choices_index ] ).show();
3967					set_selected_accom( $( this ), accom_ids[ multi_accom_choices_index ] );
3968				});
3969				animate_accom_step = false;
3970				next_step_1( $booking_wrapper );
3971			}
3972			accom_left( $booking_wrapper );
3973			$booking_wrapper.find( '.hb-accom-list' ).slideDown( function() {
3974				if ( animate_accom_step && $booking_wrapper.find( '.hb-accom-step-wrapper' ).length == 1 ) {
3975					var top = $booking_wrapper.find( '.hb-accom-step-wrapper' ).offset().top - page_padding_top;
3976					$( 'html, body' ).animate({ scrollTop: top });
3977				}
3978			});
3979			if ( typeof window['hbook_show_accom_list'] == 'function' ) {
3980				window['hbook_show_accom_list']();
3981			}
3982			hb_format_date();
3983			resize_price_caption();
3984		}
3985	}
3986
3987	function change_search( $booking_wrapper, show_accom_number ) {
3988		$booking_wrapper.data( 'results-show-only-accom-id', '' );
3989		$booking_wrapper.find( '.hb-chosen-options' ).val( '' );
3990		$booking_wrapper.find( '.hb-chosen-accom-num' ).val( '' );
3991		$booking_wrapper.find( '.hb-accom-list' ).slideUp();
3992		$booking_wrapper.find( '.hb-booking-details-form' ).slideUp();
3993		$booking_wrapper.find( '.hb-coupon-code' ).val( '' );
3994		$booking_wrapper.find( '.hb-pre-validated-coupon-id' ).val( '' );
3995		$booking_wrapper.find( '.hb-coupon-amount' ).html( '0' );
3996		$booking_wrapper.find( '.hb-coupon-msg, .hb-coupon-error' ).slideUp();
3997		$( '#hb-global-discount-amount' ).val( 0 );
3998		$( '#hb-global-discount-amount-type-fixed' ).prop( 'checked', true );
3999		$booking_wrapper.find( '.hb-searched-summary' ).slideUp( function() {
4000			if ( show_accom_number ) {
4001				$booking_wrapper.find( '.hb-booking-search-form' ).addClass( 'hb-search-form-multiple-accom' );
4002			}
4003			$booking_wrapper.find( '.hb-search-fields-and-submit' ).slideDown();
4004		});
4005	}
4006
4007	$( '.hb-change-search-wrapper input' ).on( 'click', function( e ) {
4008		e.preventDefault();
4009		change_search( $( this ).parents( '.hbook-wrapper' ), false );
4010	});
4011
4012	$( '.hbook-wrapper' ).on( 'click', '.hb-search-specific-accom-number a', function( e ) {
4013		e.preventDefault();
4014		var $booking_wrapper = $( this ).parents( '.hbook-wrapper' );
4015		var $search_form = $booking_wrapper.find( '.hb-booking-search-form' );
4016		if ( ! $search_form.hasClass('hb-search-form-multiple-accom') ) {
4017			var adults = $search_form.find( '.hb-adults' ).val();
4018			var children = $search_form.find( '.hb-children' ).val();
4019			var accom_adults = [];
4020			var accom_children = [];
4021			for ( var i = 0; i < 2; i++ ) {
4022				accom_adults[ i ] = Math.floor( adults / 2 );
4023				accom_children[ i ] = Math.floor( children / 2 );
4024			}
4025			accom_adults[0] += adults % 2;
4026			accom_children[0] += children % 2;
4027			$search_form.find( '.hb-accom-number' ).val( 2 );
4028			for ( var i = 1; i <= 2; i++ ) {
4029				$search_form.find( '.hb-multi-accom-people-selection-accom-' + i + ' .hb-multi-accom-adults' ).val( accom_adults[ i - 1 ] );
4030				$search_form.find( '.hb-multi-accom-people-selection-accom-' + i + ' .hb-multi-accom-children' ).val( accom_children[ i - 1 ] );
4031			}
4032			update_accom_people( $search_form );
4033		}
4034		change_search( $booking_wrapper, true );
4035	});
4036
4037	$( '.hbook-wrapper' ).on( 'click', '.hb-other-search', function() {
4038		var $form = $( this ).parents( '.hb-booking-search-form' );
4039		$form.data( 'search-only', 'yes' );
4040		$form.submit();
4041		return false;
4042	});
4043
4044	/* end booking search */
4045
4046	/* ------------------------------------------------------------------------------------------- */
4047
4048	/* accom selection */
4049
4050	$( '.hb-accom-list' ).on( 'click', '.hb-view-price-breakdown', function() {
4051		var $self = $( this );
4052		$self.blur();
4053		$self.parents( '.hb-accom' ).find( '.hb-price-breakdown' ).slideToggle( function() {
4054			if ( $( this ).is( ':visible' ) ) {
4055				$self.find( '.hb-price-bd-hide-text' ).show();
4056				$self.find( '.hb-price-bd-show-text' ).hide();
4057			} else {
4058				$self.find( '.hb-price-bd-hide-text' ).hide();
4059				$self.find( '.hb-price-bd-show-text' ).show();
4060			}
4061		});
4062		return false;
4063	});
4064
4065	$( '.hb-accom-list' ).on( 'click', '.hb-view-accom input', function( e ) {
4066		e.preventDefault();
4067		$( this ).blur();
4068		window.open( $( this ).data( 'accom-url' ), $( this ).data( 'link-target' ) );
4069	});
4070
4071	$( '.hb-accom-list' ).on( 'click', '.hb-unselect-accom input', function( e ) {
4072		e.preventDefault();
4073		$( this ).blur();
4074		$( this ).parents( '.hb-accom' ).removeClass( 'hb-accom-selected' );
4075		accom_left( $( this ).parents( '.hbook-wrapper' ) );
4076	});
4077
4078
4079	$( '.hb-accom-list' ).on( 'click', '.hb-select-accom input', function( e ) {
4080		e.preventDefault();
4081		$( this ).blur();
4082
4083		var accom_id = $( this ).parents( '.hb-accom' ).data( 'accom-id' );
4084		var $booking_wrapper = $( this ).parents( '.hbook-wrapper' );
4085		var $current_accom_choices = $( this ).parents( '.hb-multi-accom-choices' );
4086		var $all_accom_choices = $booking_wrapper.find( '.hb-multi-accom-choices' );
4087		var clicked_nb = $all_accom_choices.index( $current_accom_choices );
4088		var clicked_last = ( clicked_nb == $all_accom_choices.length - 1 );
4089
4090		$( '.hb-multi-accom-no-accom-selected' ).hide();
4091		set_selected_accom( $current_accom_choices, accom_id );
4092		accom_left( $booking_wrapper );
4093		if ( $booking_wrapper.find( '.hb-accom-selected' ).length < $booking_wrapper.find( '.hb-multi-accom-choices' ).length ) {
4094			setTimeout( function() {
4095				select_next_accom_scroll( $booking_wrapper );
4096			}, 800 );
4097		} else if (
4098			clicked_last ||
4099			(
4100				( $booking_wrapper.find( '.hb-multi-accom-choices' ).length == 1 ) &&
4101				( $booking_wrapper.find( '.hb-multi-accom-choices .hb-accom' ).length > 1 )
4102			)
4103		) {
4104			next_step_1( $booking_wrapper );
4105		}
4106	});
4107
4108	function set_selected_accom( $accom_choices, accom_id ) {
4109		$accom_choices.find( '.hb-accom' ).removeClass( 'hb-accom-selected' );
4110		$accom_choices.find( '.hb-accom-id-' + accom_id ).addClass( 'hb-accom-selected' );
4111	}
4112
4113	function select_next_accom_scroll( $booking_wrapper ) {
4114		$booking_wrapper.find( '.hb-multi-accom-choices' ).each( function() {
4115			var $hb_multi_accom_choices = $( this );
4116			if ( ! $hb_multi_accom_choices.find( '.hb-accom-selected' ).length ) {
4117				var top = $hb_multi_accom_choices.offset().top - page_padding_top;
4118				var show_select_accom_msg = false;
4119				if ( $( window ).scrollTop() > top ) {
4120					show_select_accom_msg = true;
4121				}
4122				$( 'html, body' ).animate({ scrollTop: top }, function() {
4123					if ( show_select_accom_msg ) {
4124						$hb_multi_accom_choices.find( '.hb-multi-accom-no-accom-selected' ).slideDown();
4125					}
4126				});
4127				return false;
4128			}
4129		});
4130	}
4131
4132	function accom_left( $booking_wrapper ) {
4133		var selected_accom_ids = [];
4134		$booking_wrapper.find( '.hb-multi-accom-choices' ).each( function() {
4135			if ( $( this ).find( '.hb-accom-selected' ).length ) {
4136				selected_accom_ids.push( $( this ).find( '.hb-accom-selected' ).data( 'accom-id' ) );
4137			}
4138		});
4139		$( '.hb-accom-none-left' ).removeClass( 'hb-accom-none-left' );
4140		$( '.hb-accom-auto-blocked-details' ).hide();
4141		$booking_wrapper.find( '.hb-accom-quantity' ).each( function() {
4142			var accom_id = $( this ).data( 'accom-id' );
4143			var $accom = $booking_wrapper.find( '.hb-accom.hb-accom-id-' + accom_id );
4144			$accom.each( function() {
4145				if ( $( this ).hasClass( 'hb-accom-selected' ) ) {
4146					$( this ).find( '.hb-accom-selected-left-wrapper' ).show();
4147				} else {
4148					$( this ).find( '.hb-accom-selected-left-wrapper' ).hide();
4149				}
4150			});
4151			var nb_selected = 0;
4152			var nb_blocked = 0;
4153			for ( var i = 0; i < selected_accom_ids.length; i++ ) {
4154				if ( selected_accom_ids[ i ] == accom_id ) {
4155					nb_selected++;
4156				}
4157			}
4158			if ( typeof hb_booking_form_data.linked_accom_to_block[ accom_id ] != 'undefined' ) {
4159				for ( var j = 0; j < hb_booking_form_data.linked_accom_to_block[ accom_id ].length; j++ ) {
4160					for ( var k = 0; k < selected_accom_ids.length; k++ ) {
4161						if ( hb_booking_form_data.linked_accom_to_block[ accom_id ][ j ]['blocked_by'] == selected_accom_ids[ k ] ) {
4162							nb_blocked += hb_booking_form_data.linked_accom_to_block[ accom_id ][ j ]['blocked_time'];
4163							$( '.hb-accom-' + accom_id + '-auto-blocked-by-' + hb_booking_form_data.linked_accom_to_block[ accom_id ][ j ]['blocked_by'] ).css( 'display', 'block' );
4164						}
4165					}
4166				}
4167			}
4168			$accom.find( '.hb-nb-accom-selected-nb' ).html( nb_selected );
4169			var updated_quantity = $( this ).data( 'quantity' ) - nb_selected - nb_blocked;
4170			$accom.find( '.hb-accom-left, .hb-nb-accom-selected' ).hide();
4171			if ( updated_quantity <= 0 ) {
4172				$accom.each( function() {
4173					$( this ).addClass( 'hb-accom-none-left' );
4174					if (
4175						( updated_quantity < 0 ) &&
4176						( hb_booking_form_data.is_admin != 'yes' ) &&
4177						$( this ).hasClass( 'hb-accom-selected' )
4178					) {
4179						$( this ).removeClass( 'hb-accom-selected' );
4180					}
4181					if ( ! $( this ).hasClass( 'hb-accom-selected' )  ) {
4182						if ( nb_selected > 0 ) {
4183							$( this ).find( '.hb-nb-accom-selected' ).show();
4184						}
4185						$( this ).find( '.hb-no-accom-left, .hb-accom-selected-left-wrapper' ).show();
4186					}
4187				});
4188			} else if ( ( hb_booking_form_data.is_admin != 'yes' ) && ( updated_quantity <= hb_booking_form_data.display_accom_left_threshold ) ) {
4189				$accom.find( '.hb-accom-selected-left-wrapper' ).show();
4190				if ( updated_quantity == 1 ) {
4191					$accom.find( '.hb-one-accom-left' ).show();
4192				} else {
4193					$accom.find( '.hb-multiple-accom-left' ).show();
4194					$accom.find( '.hb-accom-left-nb' ).html( updated_quantity );
4195				}
4196			}
4197		});
4198	}
4199
4200	/* end accom selection */
4201
4202	/* ------------------------------------------------------------------------------------------- */
4203
4204	/* steps */
4205
4206	function init_step( $booking_wrapper ) {
4207		var top = $booking_wrapper.find( '.hb-accom-list' ).offset().top;
4208		if ( top ) {
4209			top -= page_padding_top;
4210			$( 'html, body' ).animate({ scrollTop: top }, function() {
4211				$booking_wrapper.find( '.hb-step-wrapper' ).slideUp();
4212			});
4213		} else {
4214			$booking_wrapper.find( '.hb-step-wrapper' ).hide();
4215		}
4216	}
4217
4218	$( '.hb-accom-list' ).on( 'click', '.hb-next-step-1 input', function() {
4219		$( this ).blur();
4220		next_step_1( $( this ).parents( '.hbook-wrapper' ) );
4221	});
4222
4223	function next_step_1( $booking_wrapper ) {
4224		var $form = $booking_wrapper.find( '.hb-booking-search-form' );
4225		if ( $form.attr( 'action' ) != '#' ) {
4226			$form.data( 'booking-details-redirection', 'yes' );
4227			var accom_ids = [];
4228			$booking_wrapper.find( '.hb-multi-accom-choices' ).each( function() {
4229				accom_ids.push( $( this ).find( '.hb-accom-selected' ).data( 'accom-id' ) );
4230			});
4231			$form.find( '.hb-results-show-only-accom-id' ).val( accom_ids.join( ',' ) );
4232			$form.submit();
4233			return;
4234		}
4235
4236		if ( $booking_wrapper.find( '.hb-accom-selected' ).length < $booking_wrapper.find( '.hb-multi-accom-choices' ).length ) {
4237			if ( $booking_wrapper.find( '.hb-multi-accom-choices' ).length == 1 ) {
4238				var top = $booking_wrapper.find( '.hb-search-result-title-section .hb-title-select' ).offset().top;
4239				top -= page_padding_top;
4240				$( 'html, body' ).animate({ scrollTop: top });
4241				return;
4242			} else {
4243				select_next_accom_scroll( $booking_wrapper );
4244			}
4245			return;
4246		}
4247		$booking_wrapper.find( '.hb-filter-accom-list-wrapper' ).slide
4247Up();
4248		init_step( $booking_wrapper );
4249
4250		$booking_wrapper.find( '.hb-coupon-code' ).val( '' );
4251		$booking_wrapper.find( '.hb-coupon-amount' ).html( '0' );
4252
4253		calculate_options_price( $booking_wrapper );
4254
4255		var accom_ids = [];
4256		$booking_wrapper.find( '.hb-multi-accom-choices' ).each( function() {
4257			accom_ids.push( $( this ).find( '.hb-accom-selected' ).data( 'accom-id' ) );
4258		});
4259		set_details_form_info( $booking_wrapper, accom_ids.join( '-' ) );
4260		toggle_accom_not_available_msg( $booking_wrapper, accom_ids[0] );
4261		$booking_wrapper.find( '.hb-policies-error, .hb-confirm-error, .hb-option, .hb-options-form, .hb-select-accom-num, .hb-booking-details-form, .hb-summary-wrapper' ).hide();
4262		show_hide_country_iso_info( $booking_wrapper );
4263
4264		var show_intermediate_step = false;
4265		if ( $booking_wrapper.find( '.hb-select-accom-num-form' ).length ) {
4266			var has_multiple_num_choice = false;
4267			for ( var i = 1; i < accom_ids.length + 1; i++ ) {
4268				var select_wrapper_class = '.hb-select-multi-accom-num-accom-' + i + ' .hb-select-accom-num-accom-' + accom_ids[ i - 1 ];
4269				if ( $( select_wrapper_class ).find( 'option' ).length > 2 ) {
4270					has_multiple_num_choice = true;
4271				}
4272				$booking_wrapper.find( select_wrapper_class ).show();
4273			}
4274			if ( has_multiple_num_choice ) {
4275				$booking_wrapper.find( '.hb-select-accom-num-form' ).show();
4276				show_intermediate_step = true;
4277			} else {
4278				$booking_wrapper.find( '.hb-select-accom-num-form' ).hide();
4279				$booking_wrapper.find( '.hb-select-accom-num-form option:nth-child(2)' ).prop( 'selected', true );
4280			}
4281		}
4282
4283		var show_options_form = false;
4284		for ( var i = 1; i < accom_ids.length + 1; i++ ) {
4285			var option_class = '.hb-options-multi-accom-' + i + ' .hb-option-accom-' + accom_ids[ i - 1 ];
4286			if ( $booking_wrapper.find( option_class ).length ) {
4287				show_options_form = true;
4288				show_intermediate_step = true;
4289				$booking_wrapper.find( option_class ).show();
4290				$booking_wrapper.find( '.hb-options-multi-accom-' + i + ' .hb-options-gap' ).show();
4291			} else {
4292				$booking_wrapper.find( '.hb-options-multi-accom-' + i + ' .hb-no-options' ).show();
4293				$booking_wrapper.find( '.hb-options-multi-accom-' + i + ' .hb-options-gap' ).hide();
4294			}
4295		}
4296		if ( $booking_wrapper.find( '.hb-options-multi-accom-global' ).length ) {
4297			$booking_wrapper.find( '.hb-options-multi-accom-global .hb-option' ).show();
4298			show_options_form = true;
4299			show_intermediate_step = true;
4300		}
4301		if ( show_options_form ) {
4302			$booking_wrapper.find( '.hb-options-form' ).show();
4303		} else {
4304			$booking_wrapper.find( '.hb-options-form' ).hide();
4305		}
4306
4307		if ( show_intermediate_step ) {
4308			$booking_wrapper.addClass( 'has-intermediate-step' );
4309			setTimeout( function( ) {
4310				$booking_wrapper.find( '.hb-intermediate-step-wrapper' ).slideDown( function() {
4311					scroll_to_accom_list_top( $booking_wrapper );
4312				});
4313			}, 800 );
4314		} else {
4315			$booking_wrapper.removeClass( 'has-intermediate-step' );
4316			set_summary( $booking_wrapper );
4317			setTimeout( function( ) {
4318				$booking_wrapper.find( '.hb-booking-details-form' ).slideDown( function() {
4319					hb_resize_forms();
4320					scroll_to_accom_list_top( $booking_wrapper );
4321				});
4322			}, 800 );
4323		}
4324
4325		return false;
4326	}
4327
4328	$( '.hb-accom-list' ).on( 'click', '.hb-next-step-2 input', function() {
4329		$( this ).blur();
4330		var $booking_wrapper = $( this ).parents( '.hbook-wrapper' );
4331		init_step( $booking_wrapper );
4332		if ( $booking_wrapper.find( '.hb-select-accom-num-form' ).length ) {
4333			var accom_ids = $booking_wrapper.find( '.hb-details-accom-ids' ).val().split( '-' );
4334			var selected_accom_nums = {};
4335			for ( var i = 1; i < accom_ids.length + 1; i++ ) {
4336				selected_accom_nums[ accom_ids[ i - 1 ] ] = [];
4337			}
4338			for ( var i = 1; i < accom_ids.length + 1; i++ ) {
4339				var $select_num_wrapper = $booking_wrapper.find( '.hb-select-multi-accom-num-accom-' + i + ' .hb-select-accom-num-accom-' + accom_ids[ i - 1 ] );
4340				var selected_num = $select_num_wrapper.find( 'select' ).val();
4341				if ( selected_num != 0 ) {
4342					selected_accom_nums[ accom_ids[ i - 1 ] ].push( selected_num );
4343				}
4344			}
4345			for ( var i = 1; i < accom_ids.length + 1; i++ ) {
4346				var $select_num_wrapper = $booking_wrapper.find( '.hb-select-multi-accom-num-accom-' + i + ' .hb-select-accom-num-accom-' + accom_ids[ i - 1 ] );
4347				var selected_num = $select_num_wrapper.find( 'select' ).val();
4348				if ( selected_num == 0 ) {
4349					for ( var j = 2; j <= $select_num_wrapper.find( 'option' ).length; j++ ) {
4350						var $option_num = $select_num_wrapper.find( 'option:nth-child(' + j + ')' );
4351						var candidate_num = $option_num.val();
4352						if ( selected_accom_nums[ accom_ids[ i - 1 ] ].indexOf( candidate_num ) < 0 ) {
4353							$option_num.prop( 'selected', true );
4354							selected_accom_nums[ accom_ids[ i - 1 ] ].push( candidate_num );
4355							break;
4356						}
4357					}
4358				}
4359			}
4360		}
4361		set_summary( $booking_wrapper );
4362		setTimeout( function() {
4363			$booking_wrapper.find( '.hb-booking-details-form' ).slideDown( function() {
4364				hb_resize_forms();
4365				var top = $booking_wrapper.find( '.hb-booking-details-form' ).offset().top - page_padding_top;
4366				$( 'html, body' ).animate({ scrollTop: top });
4367			});
4368		}, 800 );
4369		return false;
4370	});
4371
4372	$( '.hb-accom-list' ).on( 'click', '.hb-previous-step-1 input', function() {
4373		$( this ).blur();
4374		var $booking_wrapper = $( this ).parents( '.hbook-wrapper' );
4375		$booking_wrapper.find( '.hb-next-step-1' ).show();
4376		init_step( $booking_wrapper );
4377		setTimeout( function() {
4378			$booking_wrapper.find( '.hb-accom-step-wrapper, .hb-filter-accom-list-wrapper' ).slideDown( function() {
4379				scroll_to_accom_list_top( $booking_wrapper );
4380			});
4381		}, 800 );
4382		return false;
4383	});
4384
4385	$( '.hb-previous-step-2 input' ).on( 'click', function() {
4386		$( this ).blur();
4387		var $booking_wrapper = $( this ).parents( '.hbook-wrapper' );
4388		init_step( $booking_wrapper );
4389		setTimeout( function() {
4390			if ( $booking_wrapper.hasClass( 'has-intermediate-step' ) ) {
4391				$booking_wrapper.find( '.hb-intermediate-step-wrapper' ).slideDown( function() {
4392					scroll_to_accom_list_top( $booking_wrapper );
4393				});
4394			} else {
4395				$booking_wrapper.find( '.hb-accom-step-wrapper' ).slideDown( function() {
4396					scroll_to_accom_list_top( $booking_wrapper );
4397				});
4398				$booking_wrapper.find( '.hb-next-step-1' ).show();
4399			}
4400		}, 800 );
4401		return false;
4402	});
4403
4404	function scroll_to_accom_list_top( $booking_wrapper ) {
4405		var top = $booking_wrapper.find( '.hb-accom-list' ).offset().top - page_padding_top;
4406		$( 'html, body' ).animate({ scrollTop: top });
4407	}
4408
4409	/* end steps */
4410
4411	/* ------------------------------------------------------------------------------------------- */
4412
4413	/* accom num selection */
4414
4415	$( '.hb-accom-list' ).on( 'change', '.hb-select-accom-num-form select', function() {
4416		var accom_id = $( this ).data( 'accom-id' );
4417		var select_id = $( this ).attr( 'id' );
4418		var select_val = $( this ).val();
4419		$( this ).parents( '.hb-select-accom-num-form' ).find( '.hb-select-accom-num-accom-' + accom_id + ' select' ).each( function() {
4420			if (
4421				( $( this ).attr( 'id' ) != select_id ) &&
4422				( $( this ).val() == select_val )
4423			) {
4424				$( this ).val( '0' ).focus();
4425			}
4426		});
4427	});
4428
4429	/* end accom num selection */
4430
4431	/* ------------------------------------------------------------------------------------------- */
4432
4433	/* options selection */
4434
4435	$( '.hb-accom-list' ).on( 'click', '.hb-option', function() {
4436		var $booking_wrapper = $( this ).parents( '.hbook-wrapper' );
4437		verify_option_max( $booking_wrapper );
4438		calculate_options_price( $booking_wrapper );
4439	});
4440
4441	$( '.hb-accom-list' ).on( 'keyup', '.hb-option input', function() {
4442		var $booking_wrapper = $( this ).parents( '.hbook-wrapper' );
4443		verify_option_max( $booking_wrapper );
4444		calculate_options_price( $booking_wrapper );
4445	});
4446
4447	function verify_option_max( $booking_wrapper ) {
4448		$booking_wrapper.find( '.hb-option' ).each( function() {
4449			if ( $( this ).hasClass( 'hb-quantity-option' ) && $( this ).find( 'input' ).attr( 'max' ) ) {
4450				if ( parseInt( $( this ).find( 'input' ).val() ) > parseInt( $( this ).find( 'input' ).attr( 'max' ) ) ) {
4451					$( this ).find( 'input' ).val( $( this ).find( 'input' ).attr( 'max' ) );
4452				}
4453			}
4454		});
4455	}
4456
4457	function calculate_options_price( $booking_wrapper ) {
4458		var options_price = 0;
4459		var accom_ids = [];
4460
4461		$booking_wrapper.find( '.hb-multi-accom-choices' ).each( function() {
4462			accom_ids.push( $( this ).find( '.hb-accom-selected' ).data( 'accom-id' ) );
4463		});
4464		accom_ids.push( 'global' );
4465
4466		for ( var i = 1; i < accom_ids.length + 1; i++ ) {
4467			var $options_wrapper = $booking_wrapper.find( '.hb-options-multi-accom-' + i );
4468			if ( accom_ids[ i - 1 ] == 'global' ) {
4469				$options_wrapper = $booking_wrapper.find( '.hb-options-multi-accom-global' );
4470			}
4471			$options_wrapper.find( '.hb-option' ).each( function() {
4472				if (
4473					$( this ).hasClass( 'hb-option-accom-' + accom_ids[ i - 1 ] ) ||
4474					$( this ).hasClass( 'hb-option-global' )
4475				) {
4476					if ( $( this ).hasClass( 'hb-quantity-option' ) ) {
4477						if ( $( this ).find( 'input' ).val() < 0 ) {
4478							$( this ).find( 'input' ).val( 0 );
4479						}
4480						options_price += parseFloat( $( this ).find( 'input' ).data( 'price' ) * $( this ).find( 'input' ).val() );
4481					} else if ( $( this ).hasClass( 'hb-multiple-option' ) && $( this ).find( 'input:checked' ).length ) {
4482						options_price += parseFloat( $( this ).find( 'input:checked' ).data( 'price' ) );
4483					} else if ( $( this ).hasClass( 'hb-single-option' ) && $( this ).find( 'input' ).is(':checked' ) ) {
4484						options_price += parseFloat( $( this ).find( 'input' ).data( 'price' ) );
4485					}
4486				}
4487			});
4488		}
4489
4490		if ( options_price != 0 ) {
4491			options_price = format_price( options_price );
4492			if ( options_price < 0 ) {
4493				options_price = format_price( options_price * -1 );
4494				$booking_wrapper.find( '.hb-options-total-price .hb-price-placeholder-minus' ).css( 'display', 'inline' );
4495			} else {
4496				$booking_wrapper.find( '.hb-options-total-price .hb-price-placeholder-minus' ).css( 'display', 'none' );
4497			}
4498			$booking_wrapper.find( '.hb-options-total-price .hb-price-placeholder' ).html( options_price );
4499			$booking_wrapper.find( '.hb-options-total-price' ).show();
4500		} else {
4501			$booking_wrapper.find( '.hb-options-total-price' ).hide();
4502		}
4503
4504	}
4505
4506	/* end options selection */
4507
4508	/* ------------------------------------------------------------------------------------------- */
4509
4510	/* coupons */
4511
4512	$( '.hb-apply-coupon' ).on( 'click', function() {
4513		var $form = $( this ).parents( '.hb-booking-details-form' );
4514		$form.find( '.hb-coupon-error, .hb-coupon-msg' ).slideUp();
4515		if ( ! $form.find( '.hb-coupon-code' ).val() ) {
4516			$form.find( '.hb-coupon-msg' ).html( hb_text.no_coupon ).slideDown();
4517			if ( $form.find( '.hb-pre-validated-coupon-id' ).val() != '' ) {
4518				$form.find( '.hb-pre-validated-coupon-id' ).val( '' );
4519				set_summary( $form.parents( '.hbook-wrapper' ) );
4520			}
4521			return false;
4522		}
4523		$( this ).prop( 'disabled', true ).blur();
4524		$form.find( '.hb-processing-coupon' ).show();
4525		$.ajax({
4526			data: {
4527				'action': 'hb_verify_coupon',
4528				'check_in': $form.find( '.hb-details-check-in' ).val(),
4529				'check_out': $form.find( '.hb-details-check-out' ).val(),
4530				'accom_ids': $form.find( '.hb-details-accom-ids' ).val(),
4531				'coupon_code': $form.find( '.hb-coupon-code' ).val(),
4532			},
4533			success: function( response ) {
4534				coupon_verify_result( response, $form );
4535			},
4536			type : 'POST',
4537			timeout: hb_booking_form_data.ajax_timeout,
4538			url: hb_booking_form_data.ajax_url,
4539			error: function( jqXHR, textStatus, errorThrown ) {
4540				$form.find( '.hb-processing-coupon' ).hide();
4541				$form.find( '.hb-coupon-error' ).html( hb_text.connection_error ).slideDown();
4542				$form.find( '.hb-apply-coupon' ).prop( 'disabled', false );
4543				console.log( jqXHR );
4544				console.log( textStatus );
4545				console.log( errorThrown );
4546			}
4547		});
4548		return false;
4549	});
4550
4551	function coupon_verify_result( response_text, $form ) {
4552		$form.find( '.hb-apply-coupon' ).prop( 'disabled', false );
4553		$form.find( '.hb-processing-coupon' ).hide();
4554		try {
4555			var response = JSON.parse( response_text );
4556		} catch ( e ) {
4557			$form.find( '.hb-coupon-error' ).html( 'An error occured. ' + response_text ).slideDown();
4558			return false;
4559		}
4560		if ( response['success'] ) {
4561			if ( $form.find( '.hb-pre-validated-coupon-id' ).val() != response['coupon_id'] ) {
4562				$form.find( '.hb-pre-validated-coupon-id' ).val( response['coupon_id'] );
4563				set_summary( $form.parents( '.hbook-wrapper' ) );
4564			}
4565		} else {
4566			if ( $form.find( '.hb-pre-validated-coupon-id' ).val() != '' ) {
4567				$form.find( '.hb-pre-validated-coupon-id' ).val( '' );
4568				set_summary( $form.parents( '.hbook-wrapper' ) );
4569			}
4570		}
4571		$form.find( '.hb-coupon-msg' ).html( response['msg'] ).slideDown();
4572	}
4573
4574	/* end coupons */
4575
4576	/* ------------------------------------------------------------------------------------------- */
4577
4578	/* admin global discount */
4579
4580	$( '#hb-global-discount-amount, input[name="hb-global-discount-amount-type"]' ).on( 'change', function() {
4581		summary_on_discount_change();
4582	});
4583
4584	$( '#hb-global-discount-amount' ).on( 'keyup', function() {
4585		summary_on_discount_change();
4586	});
4587
4588	var summary_reload_timer;
4589
4590	function summary_on_discount_change() {
4591		var $booking_wrapper =  $( '.hbook-wrapper' );
4592		$booking_wrapper.find( '.hb-summary-wrapper' ).hide();
4593		$booking_wrapper.find( '.hb-loading-summary' ).show();
4594		clearTimeout( summary_reload_timer );
4595		summary_reload_timer = setTimeout( function() {
4596			set_summary_on_discount_change( $booking_wrapper );
4597		}, 500 );
4598	}
4599
4600	/* end admin global discount */
4601
4602	/* ------------------------------------------------------------------------------------------- */
4603
4604	/* update payment info */
4605
4606	function update_payment_info( $booking_wrapper ) {
4607		var $payment_data = $booking_wrapper.find( '.hb-payment-data-summary' );
4608		if ( $payment_data.data( 'null-price' ) == 'yes' ) {
4609			$booking_wrapper.find( '.hb-payment-info-wrapper' ).hide();
4610			$booking_wrapper.find( 'input.hb-payment-type-null-price' ).prop( 'checked', true );
4611		} else {
4612			var charged_total_price = $payment_data.data( 'charged-total-price' );
4613			var charged_deposit = $payment_data.data( 'charged-deposit' );
4614			var charged_total_minus_deposit = $payment_data.data( 'charged-total-minus-deposit' );
4615			$booking_wrapper.find( '.hb-payment-info-wrapper' ).show();
4616			$booking_wrapper.find( '.hb-payment-type-explanation-full_amount' ).html( charged_total_price );
4617			$booking_wrapper.find( '.hb-payment-type-explanation-deposit_amount' ).html( charged_deposit );
4618			$booking_wrapper.find( '.hb-payment-type-explanation-full_minus_deposit_amount' ).html( charged_total_minus_deposit );
4619			if (
4620				( charged_total_price == charged_deposit ) &&
4621				( $booking_wrapper.find( '.hb-payment-type-deposit-wrapper, .hb-payment-type-full-wrapper' ).length == 2 )
4622			) {
4623				$booking_wrapper.find( '.hb-payment-type-deposit-wrapper' ).hide();
4624				if ( $booking_wrapper.find( 'input[name="hb-payment-type"]:checked' ).val() == 'deposit' ) {
4625					$booking_wrapper.find( 'input[name="hb-payment-type"]' ).each( function() {
4626						if ( $( this ).val() != 'deposit' ) {
4627							$( this ).prop( 'checked', true );
4628							return false;
4629						}
4630					});
4631				}
4632				if ( $booking_wrapper.find( '.hb-payment-type-wrapper' ).length == 2 ) {
4633					$booking_wrapper.find( '.hb-payment-type-multiple-choice' ).hide();
4634				}
4635			} else {
4636				$booking_wrapper.find( 'input[name="hb-payment-type"]' ).first().prop( 'checked', true );
4637				$booking_wrapper.find( '.hb-payment-type-multiple-choice, .hb-payment-type-deposit-wrapper' ).show();
4638			}
4639			hide_show_payment_explanation( $booking_wrapper.find( '.hb-booking-details-form' ) );
4640		}
4641		$( 'input[name="hb-payment-gateway"]' ).each( function() {
4642			let payment_gateway = $( this ).val();
4643			if ( typeof window['hb_' + payment_gateway + '_update_payment_form'] == 'function' ) {
4644				window['hb_' + payment_gateway + '_update_payment_form']( $booking_wrapper );
4645			}
4646		});
4647	}
4648
4649	/* end update payment info */
4650
4651	/* ------------------------------------------------------------------------------------------- */
4652
4653	/* summary */
4654
4655	function set_summary_on_discount_change( $booking_wrapper ) {
4656		set_summary( $booking_wrapper, true );
4657	}
4658
4659	function set_summary( $booking_wrapper, on_discount_change ) {
4660		$booking_wrapper.find( '.hb-summary-wrapper' ).hide();
4661		$booking_wrapper.find( '.hb-loading-summary' ).show();
4662		var accom_ids = $booking_wrapper.find( '.hb-details-accom-ids' ).val().split( '-' );
4663		if ( accom_ids.length > 1 ) {
4664			$( '.hb-global-discount-wrapper' ).css( 'display', 'none' );
4665		} else {
4666			$( '.hb-global-discount-wrapper' ).css( 'display', 'block' );
4667		}
4668		var $details_form = $booking_wrapper.find( '.hb-booking-details-form' );
4669		var $options_form = $booking_wrapper.find( '.hb-options-form' );
4670		var $accom_num_form = $booking_wrapper.find( '.hb-select-accom-num-form' );
4671		var $forms;
4672		$details_form.find( 'input[name="action"]' ).val( 'hb_get_summary');
4673		$forms = $details_form.add( $options_form );
4674		$forms = $forms.add( $accom_num_form );
4675		$.ajax({
4676			data: $forms.serialize(),
4677			success: function( response ) {
4678				$booking_wrapper.find( '.hb-loading-summary' ).hide();
4679				$booking_wrapper.find( '.hb-summary-wrapper' ).html( response );
4680				hb_format_date();
4681				$booking_wrapper.find( '.hb-summary-wrapper' ).slideDown();
4682				if ( hb_booking_form_data.is_admin != 'yes' ) {
4683					update_payment_info( $booking_wrapper );
4684				} else {
4685					if ( ! on_discount_change ) {
4686						if ( $booking_wrapper.find( '.hb-discount-data-summary' ).length ) {
4687							$( '#hb-global-discount-amount' ).val( $booking_wrapper.find( '.hb-discount-data-summary' ).data( 'discount-amount' ) );
4688							if ( $booking_wrapper.find( '.hb-discount-data-summary' ).data( 'discount-amount-type' ) == 'fixed' ) {
4689								$( '#hb-global-discount-amount-type-fixed' ).prop( 'checked', true );
4690							} else {
4691								$( '#hb-global-discount-amount-type-percent' ).prop( 'checked', true );
4692							}
4693						} else {
4694							$( '#hb-global-discount-amount' ).val( 0 );
4695							$( '#hb-global-discount-amount-type-fixed' ).prop( 'checked', true );
4696						}
4697					}
4698				}
4699				$details_form.find( 'input[name="action"]' ).val( 'hb_create_resa' );
4700			},
4701			type : 'POST',
4702			timeout: hb_booking_form_data.ajax_timeout,
4703			url: hb_booking_form_data.ajax_url,
4704			error: function( jqXHR, textStatus, errorThrown ) {
4705				$booking_wrapper.find( '.hb-loading-summary' ).hide();
4706				$details_form.find( 'input[name="action"]' ).val( 'hb_create_resa' );
4707				alert( hb_text.connection_error );
4708				console.log( jqXHR );
4709				console.log( jqXHR.responseText );
4710				console.log( textStatus );
4711				console.log( errorThrown );
4712			}
4713		});
4714	}
4715
4716	$( '.hb-summary-wrapper' ).on( 'click', '.hb-summary-view-price-breakdown', function() {
4717		var $self = $( this );
4718		$self.blur();
4719		$self.parents( '.hb-summary-multi-accom-accom' ).find( '.hb-summary-price-details' ).slideToggle( function() {
4720			if ( $( this ).is( ':visible' ) ) {
4721				$self.find( '.hb-summary-price-breakdown-hide-text' ).show();
4722				$self.find( '.hb-summary-price-breakdown-show-text' ).hide();
4723			} else {
4724				$self.find( '.hb-summary-price-breakdown-hide-text' ).hide();
4725				$self.find( '.hb-summary-price-breakdown-show-text' ).show();
4726			}
4727		});
4728		return false;
4729	});
4730
4731	/* end summary */
4732
4733	/* ------------------------------------------------------------------------------------------- */
4734
4735	/* details form info */
4736
4737	function toggle_accom_not_available_msg( $booking_wrapper, accom_id ) {
4738		if (
4739			( hb_booking_form_data.is_admin != 'yes' ) ||
4740			( $booking_wrapper.find( '.hb-admin-search-type' ).val() == 'multiple_accom' ) ||
4741			$booking_wrapper.find( '.hb-accom-id-' + accom_id ).hasClass( 'hb-accom-available' )
4742		) {
4743			$( '#hb-resa-customer-details-wrap, .hb-confirm-area' ).slideDown();
4744			$( '.hb-accom-not-available-msg' ).slideUp();
4745		} else {
4746			$( '#hb-resa-customer-details-wrap, .hb-confirm-area' ).slide
4746Up();
4747			$( '.hb-accom-not-available-msg' ).slideDown();
4748		}
4749	}
4750
4751	function set_details_form_info( $booking_wrapper, accom_ids ) {
4752		$booking_wrapper.find( '.hb-details-check-in' ).val( $booking_wrapper.find( '.hb-check-in-hidden' ).val() );
4753		$booking_wrapper.find( '.hb-details-check-out' ).val( $booking_wrapper.find( '.hb-check-out-hidden' ).val() );
4754		$booking_wrapper.find( '.hb-details-adults' ).val( $booking_wrapper.find( '.hb-booking-nb-adults' ).val() );
4755		$booking_wrapper.find( '.hb-details-children' ).val( $booking_wrapper.find( '.hb-booking-nb-children' ).val() );
4756		$booking_wrapper.find( '.hb-details-accom-ids' ).val( accom_ids );
4757		$booking_wrapper.find( '.hb-details-is-admin' ).val( hb_booking_form_data.is_admin );
4758	}
4759
4760	$( 'input[name="hb_first_name"]' ).on( 'keyup', function() {
4761		if ( $( this ).val().toLowerCase() == 'hbook' ) {
4762			var $form = $( this ).parents( '.hb-booking-details-form' );
4763			var input_names = ['last_name', 'email', 'phone', 'address_1', 'address_2', 'city', 'state_province', 'zip_code', 'country'];
4764			var input_values = {
4765				'last_name': 'Maestrel',
4766				'email': '[email protected]',
4767				'phone': '0123456789',
4768				'address_1': 'Times Square',
4769				'address_2': '',
4770				'city': 'New York City',
4771				'state_province': 'New York',
4772				'zip_code': '10036',
4773				'country': 'USA',
4774			}
4775			for ( var i = 0; i < input_names.length; i++ ) {
4776				$form.find( 'input[name="hb_' + input_names[ i ] + '"]' ).val( input_values[ input_names[ i ] ] );
4777			}
4778			var $selectize = $form.find( 'select[name="hb_country_iso"]' ).attr( 'id' );
4779			if ( 'undefined' !== typeof $selectize ) {
4780				$form.find( 'select[name="hb_country_iso"]' ).val( 'US' );
4781				$selectized_selects[ $form.find( 'select[name="hb_country_iso"]' ).attr( 'id' ) ][0].selectize.setValue( 'US' );
4782				$selectized_selects[ $form.find( 'select[name="hb_usa_state_iso"]' ).attr( 'id' ) ][0].selectize.setValue( 'US-NY' );
4783			}
4784		}
4785	});
4786
4787	if ( ( typeof hb_booking_form_data !== 'undefined' ) && ( hb_booking_form_data.is_admin == 'no' ) ) {
4788		$( '.hb-coupon-code' ).on( 'keydown', function( e ) {
4789			if ( e.key == 'Enter' ) {
4790				$( this ).parent().find( '.hb-apply-coupon' ).click();
4791				return false;
4792			}
4793		});
4794		$( '.hb-booking-details-form input, .hb-booking-details-form select' ).on( 'keydown', function( e ) {
4795			if ( e.key == 'Enter' ) {
4796				var $form_elements = $( this ).parents( '.hb-booking-details-form' ).find( 'input, select' );
4797				var next_form_element_index = $form_elements.index( this ) + 1;
4798				var $next_form_element = $form_elements.eq( next_form_element_index );
4799				if ( $next_form_element.length != 0 ) {
4800					$next_form_element.focus();
4801				}
4802				return false;
4803			}
4804		});
4805	}
4806
4807	/* end details form info */
4808
4809	/* ------------------------------------------------------------------------------------------- */
4810
4811	/* country iso */
4812
4813	var $selectized_selects = [];
4814
4815	if ( ( typeof hb_booking_form_data !== 'undefined' ) || ( typeof hb_payment_link_form_data !== 'undefined' ) ) {
4816		var selectize_names = ['hb_country_iso', 'hb_usa_state_iso', 'hb_canada_province_iso'];
4817
4818		if ( typeof hb_booking_form_data !== 'undefined' ) {
4819			selectize_names.forEach( function( name ) {
4820				$( 'select[name="' + name + '"]' ).each( function() {
4821					$selectized_selects[ $( this ).attr( 'id' ) ] = $( this ).selectize();
4822				});
4823				$( 'select[name="' + name + '"]' ).parents( '.hotelwp-select-wrapper' ).addClass( 'hotelwp-select-selectized' );
4824			});
4825		} else {
4826			selectize_names.forEach( function( name ) {
4827				$( 'select[name="' + name + '"]' ).selectize();
4828			});
4829		}
4830
4831		var tmp_markup_for_selectize_style = '<p id="hb-tmp-element-for-selectize-style" ';
4832		tmp_markup_for_selectize_style += 'class="hb-people-wrapper hb-people-wrapper-adults" ';
4833		tmp_markup_for_selectize_style += 'style="display: block !important">';
4834		tmp_markup_for_selectize_style += '<select class="hb-adults">';
4835		tmp_markup_for_selectize_style += '<option>1</option>';
4836		tmp_markup_for_selectize_style += '</select>';
4837		tmp_markup_for_selectize_style += '</p>';
4838		if ( $( '#hbook-booking-form-1 .hb-search-fields' ).length ) {
4839			$( '#hbook-booking-form-1 .hb-search-fields' ).append( tmp_markup_for_selectize_style );
4840			$( '.hb-accom-listing-booking-form' ).css( 'display', 'block' );
4841			var $select_for_style = $( '#hb-tmp-element-for-selectize-style select.hb-adults' );
4842		} else {
4843			$( '#hb-payment-form-select-for-selectize-styles' ).css( 'display', 'block' );
4844			var $select_for_style = $( '#hb-payment-form-select-for-selectize-styles' );
4845		}
4846		var bg_color = $select_for_style.css( 'background-color' );
4847		var border_top = $select_for_style.css( 'border-top' );
4848		var border_right = $select_for_style.css( 'border-right' );
4849		var border_bottom = $select_for_style.css( 'border-bottom' );
4850		var border_left = $select_for_style.css( 'border-left' );
4851		var border_radius = $select_for_style.css( 'border-radius' );
4852		var height = $select_for_style.css( 'height' );
4853		var padding_left = $select_for_style.css( 'padding-left' );
4854		if ( padding_left == '0px' ) {
4855			padding_left = '5px';
4856		}
4857		if ( $( '#hbook-booking-form-1 .hb-search-fields' ).length ) {
4858			$( '.hb-accom-listing-booking-form' ).css( 'display', 'none' );
4859			$( '#hb-tmp-element-for-selectize-style' ).remove();
4860		} else {
4861			$( '#hb-payment-form-select-for-selectize-styles' ).css( 'display', 'none' );
4862			$( '#hb-payment-form-select-for-selectize-styles' ).parents( '.hotelwp-select-wrapper' ).css( 'display', 'none' );
4863		}
4864
4865		$( '.hbook-wrapper .selectize-control .selectize-input, .hb-payment-link-form-wrapper .selectize-control .selectize-input' ).css({
4866			'background-color': bg_color,
4867			'border-top': border_top,
4868			'border-right': border_right,
4869			'border-bottom': border_bottom,
4870			'border-left': border_left,
4871			'border-radius': border_radius,
4872			'line-height': height,
4873			'padding-left': padding_left,
4874		});
4875
4876		$( 'select[name="hb_country_iso"]' ).on( 'change', function() {
4877			var $parent_form_wrapper = $( this ).parents( '.hbook-wrapper' );
4878			if ( ! $parent_form_wrapper.length ) {
4879				$parent_form_wrapper = $( this ).parents( '.hb-payment-link-form-wrapper' );
4880			}
4881			show_hide_country_iso_info( $parent_form_wrapper );
4882		});
4883
4884		$( '.hbook-wrapper, .hb-payment-link-form-wrapper' ).each( function() {
4885			show_hide_country_iso_info( $( this ) );
4886		});
4887	}
4888
4889	function show_hide_country_iso_info( $booking_wrapper ) {
4890		$booking_wrapper.find( '.hb-country-iso-additional-info-wrapper' ).hide();
4891		$booking_wrapper.find( '.hb-country-iso-additional-info-wrapper select' ).attr( 'data-validation', '' );
4892		var selected_country_iso = $booking_wrapper.find( 'select[name="hb_country_iso"]' ).val();
4893		var selected_country_required = false;
4894		if ( $booking_wrapper.find( 'select[name="hb_country_iso"]' ).data( 'validation' ) == 'required' ) {
4895			selected_country_required = true;
4896		}
4897		if ( selected_country_iso == 'US' ) {
4898			$booking_wrapper.find( 'input[name="hb_state_province"]' ).attr( 'data-validation', '' ).parent( 'p' ).hide();
4899			$booking_wrapper.find( '.hb-usa-state-iso-wrapper' ).show();
4900			if ( selected_country_required ) {
4901				$booking_wrapper.find( 'select[name="hb_usa_state_iso"]' ).attr( 'data-validation', 'required' );
4902			}
4903		} else if ( selected_country_iso == 'CA' ) {
4904			$booking_wrapper.find( 'input[name="hb_state_province"]' ).attr( 'data-validation', '' ).parent( 'p' ).hide();
4905			$booking_wrapper.find( '.hb-canada-province-iso-wrapper' ).show();
4906			if ( selected_country_required ) {
4907				$booking_wrapper.find( 'select[name="hb_canada_province_iso"]' ).attr( 'data-validation', 'required' );
4908			}
4909		} else {
4910			$booking_wrapper.find( 'input[name="hb_state_province"]' ).parent( 'p' ).show();
4911			var data_validation_saved = $booking_wrapper.find( 'input[name="hb_state_province"]' ).data( 'validation-saved' );
4912			$booking_wrapper.find( 'input[name="hb_state_province"]' ).attr( 'data-validation', data_validation_saved );
4913		}
4914	}
4915
4916	/* end country iso */
4917
4918	/* ------------------------------------------------------------------------------------------- */
4919
4920	/* details form validation */
4921
4922	if ( ( typeof hb_booking_form_data !== 'undefined' ) && ( hb_booking_form_data.is_admin != 'yes' ) && $( '.hb-booking-details-form' ).length ) {
4923		$.validate({
4924			form: '.hb-booking-details-form',
4925			validateOnBlur: false,
4926			language: {
4927				badEmail: hb_text.invalid_email,
4928				requiredField: hb_text.required_field,
4929				requiredFields: hb_text.required_field,
4930				groupCheckedTooFewStart: hb_text.required_field + '<span style="display: none">',
4931				groupCheckedEnd: '</span>',
4932				badInt: hb_text.invalid_number
4933			},
4934			borderColorOnError: false,
4935			scrollToTopOnError: false,
4936			validateHiddenInputs: true,
4937			onError: function( $form ) {
4938				$form.find( '.hb-confirm-button input' ).blur();
4939				$( 'html, body' ).animate({	scrollTop: $( '.has-error' ).first().offset().top - page_padding_top }, 400 );
4940			},
4941			onSuccess: function( $form ) {
4942				submit_booking_details( $form );
4943				return false;
4944			}
4945		});
4946	}
4947
4948	if ( ( typeof hb_booking_form_data !== 'undefined' ) && ( hb_booking_form_data.is_admin == 'yes' ) ) {
4949		$( '.hb-booking-details-form' ).on( 'submit', function() {
4950			$( this ).find( 'input[type="submit"]' ).blur();
4951			if ( $( '#hb-admin-customer-type-id:checked' ).length ) {
4952				if ( ! $( '#hb-add-resa-customer-id-list' ).val() ) {
4953					alert( hb_text.customer_not_selected );
4954					return false;
4955				}
4956			}
4957			submit_booking_details( $( this ) );
4958			return false;
4959		});
4960	}
4961
4962	/* end details form validation */
4963
4964	/* ------------------------------------------------------------------------------------------- */
4965
4966	/* save reservation details */
4967
4968	function submit_booking_details( $form ) {
4969		$form.find( '.hb-confirm-button input' ).blur();
4970
4971		if ( $form.hasClass( 'submitted' ) ) {
4972			return false;
4973		}
4974
4975		var policies_error = '';
4976		$form.find( '.hb-policies-error, .hb-confirm-error' ).hide();
4977		if ( $form.find( 'input[name="hb_terms_and_cond"]' ).length && ! $form.find( 'input[name="hb_terms_and_cond"]' ).prop( 'checked' ) ) {
4978			policies_error = hb_text.terms_and_cond_error;
4979		}
4980		if ( $form.find( 'input[name="hb_privacy_policy"]' ).length && ! $form.find( 'input[name="hb_privacy_policy"]' ).prop( 'checked' ) ) {
4981			if ( policies_error ) {
4982				policies_error += '<br/>';
4983			}
4984			policies_error += hb_text.privacy_policy_error;
4985		}
4986		if ( policies_error ) {
4987			$form.find( '.hb-policies-error' ).html( policies_error ).slideDown();
4988			$( 'html, body' ).animate({
4989				scrollTop: $form.find( '.hb-policies-area' ).offset().top - page_padding_top
4990			}, 1000 );
4991			return false;
4992		}
4993
4994		var payment_type = $form.find( 'input[name="hb-payment-type"]:checked' ).val(),
4995			payment_processing = false;
4996
4997		if ( payment_type == 'store_credit_card' || payment_type == 'deposit' || payment_type == 'full' ) {
4998			$form.find( '.hb-payment-flag' ).val( 'yes' );
4999			var gateway_id = $form.find( 'input[name="hb-payment-gateway"]:checked' ).val(),
5000				payment_process_function = 'hb_' + gateway_id + '_payment_process';
5001			if ( ! gateway_id ) {
5002				alert( 'Error: all payment gateways are inactive.' );
5003				return;
5004			}
5005			if ( typeof window[ payment_process_function ] == 'function' ) {
5006				disable_form_submission( $form );
5007				payment_processing = window[ payment_process_function ]( $form, save_resa_details );
5008				if ( ! payment_processing ) {
5009					enable_form_submission( $form );
5010					return;
5011				}
5012			}
5013		} else {
5014			$form.find( '.hb-payment-flag' ).val( '' );
5015		}
5016
5017		if ( ! payment_processing ) {
5018			$form.find( '.hb-saving-resa' ).slideDown();
5019			save_resa_details( $form );
5020		}
5021	}
5022
5023	function save_resa_details( $form ) {
5024		disable_form_submission( $form );
5025		var $options_form = $form.parents( '.hbook-wrapper' ).find( '.hb-options-form' ),
5026			$accom_num_form = $form.parents( '.hbook-wrapper' ).find( '.hb-select-accom-num-form' ),
5027			$forms;
5028		$forms = $form.add( $options_form );
5029		$forms = $forms.add( $accom_num_form );
5030		$.ajax({
5031			data: $forms.serialize(),
5032			success: function( response ) {
5033				after_form_details_submit( response, $form );
5034			},
5035			type : 'POST',
5036			timeout: hb_booking_form_data.ajax_timeout,
5037			url: hb_booking_form_data.ajax_url,
5038			error: function( jqXHR, textStatus, errorThrown ) {
5039				$form.find( '.hb-saving-resa, .hb-confirm-error, .hb-policies-error' ).slideUp();
5040				$form.find( '.hb-confirm-error' ).html( hb_text.connection_error ).slideDown();
5041				console.log( jqXHR );
5042				console.log( jqXHR.responseText );
5043				console.log( textStatus );
5044				console.log( errorThrown );
5045				enable_form_submission( $form );
5046			}
5047		});
5048	}
5049
5050	function after_form_details_submit( response_text, $form ) {
5051		try {
5052			var response = JSON.parse( response_text );
5053		} catch ( e ) {
5054			enable_form_submission( $form );
5055			$form.find( '.hb-saving-resa' ).slideUp();
5056			$form.find( '.hb-confirm-error' ).html( response_text ).slideDown();
5057			return false;
5058		}
5059		if ( response['success'] ) {
5060			if ( response['payment_requires_action'] == 'yes' ) {
5061				var gateway_id = $form.find( 'input[name="hb-payment-gateway"]:checked' ).val();
5062				var payment_requires_action = 'hb_' + gateway_id + '_payment_requires_action';
5063				window[ payment_requires_action ]( $form, response );
5064				return false;
5065			}
5066			var payment_type = $form.find( 'input[name="hb-payment-type"]:checked' ).val(),
5067				payment_has_redirection = $form.find( 'input[name="hb-payment-gateway"]:checked' ).data( 'has-redirection' );
5068			if ( ( payment_type == 'deposit' || payment_type == 'full' ) && ( payment_has_redirection == 'yes' ) ) {
5069				var gateway_id = $form.find( 'input[name="hb-payment-gateway"]:checked' ).val(),
5070					payment_process_redirection = 'hb_' + gateway_id + '_payment_redirection';
5071				window[ payment_process_redirection ]( $form, response );
5072			} else {
5073				$form.find( '.hb-saving-resa' ).slideUp();
5074				if ( hb_booking_form_data.is_admin != 'yes' ) {
5075					var $thank_you_page_form = $form.parents( '.hbook-wrapper' ).find( '.hb-thank-you-page-form' );
5076					if ( $thank_you_page_form.length ) {
5077						$( 'body' ).addClass( 'no-hbook-unload' );
5078						$thank_you_page_form.find( '.hb-resa-id' ).val( response.resa_id );
5079						$thank_you_page_form.find( '.hb-resa-is-parent' ).val( response.resa_is_parent );
5080						$thank_you_page_form.find( '.hb-resa-payment-type' ).val( payment_type );
5081						$thank_you_page_form.submit();
5082						return;
5083					}
5084					$form.find( '.hb-resa-done-email' ).html( $form.find( 'input[name="hb_email"]' ).val() );
5085					$form.find( '.hb-resa-done-alphanum-id' ).html( response['alphanum_id'] );
5086					$form.find( '.hb-resa-done-alphanum-id-hidden' ).val( response['alphanum_id'] );
5087					$( 'html, body' ).animate({ scrollTop: $form.parents( '.hbook-wrapper' ).offset().top - page_padding_top }, 1000, function() {
5088						$form.parents( '.hbook-wrapper' ).find( '.hb-booking-search-form, .hb-accom-list, .hb-step-button, .hb-details-fields, .hb-coupons-area, .hb-confirm-area, .hb-policies-area, .hb-payment-info-wrapper, .hb-resa-summary' ).fadeOut( 1000, function() {
5089							if ( payment_type == 'deposit' || payment_type == 'full' ) {
5090								$form.find( '.hb-resa-payment-msg' ).show();
5091							} else {
5092								$form.find( '.hb-resa-done-msg' ).show();
5093							}
5094							$form.find( '.hb-resa-summary' ).slideDown();
5095						});
5096					});
5097					if ( typeof window['hbook_reservation_done'] == 'function' ) {
5098						window['hbook_reservation_done']();
5099					}
5100				} else {
5101					hb_new_admin_resas = response['resas'];
5102					enable_form_submission( $form );
5103					change_search( $form.parents( '.hbook-wrapper' ) );
5104					$( '#hb-process-new-admin-resa' ).submit();
5105				}
5106			}
5107		} else {
5108			enable_form_submission( $form );
5109			$form.find( '.hb-saving-resa' ).slideUp();
5110			$form.find( '.hb-confirm-error' ).html( response['error_msg'] ).slideDown();
5111		}
5112	}
5113
5114	/* end save reservation details */
5115
5116	/* ------------------------------------------------------------------------------------------- */
5117
5118	/* external payment confirmation */
5119
5120	if ( $( '#hb-resa-confirm-done' ).length ) {
5121		var $accom_listing_item = $( '#hb-resa-confirm-done' ).parents( '.hb-accom-listing-item' );
5122		$accom_listing_item.find( '.hb-accom-listing-booking-form' ).show();
5123		$accom_listing_item.find( '.hb-listing-book-accom' ).hide();
5124		hb_format_date();
5125		if ( typeof window['hbook_reservation_done'] == 'function' ) {
5126			window['hbook_reservation_done']();
5127		}
5128		$( 'html, body' ).animate({ scrollTop: $( '#hb-resa-confirm-done' ).offset().top - page_padding_top }, 1000 );
5129	}
5130
5131	/* end external payment confirmation */
5132
5133	/* ------------------------------------------------------------------------------------------- */
5134
5135	/* payment type and method init */
5136
5137	$( '.hb-booking-details-form, .hb-payment-link-form' ).each( function() {
5138		$( this ).find( 'input[name="hb-payment-type"]' ).first().prop( 'checked', true );
5139		$( this ).find( 'input[name="hb-payment-gateway"]' ).first().prop( 'checked', true );
5140		hide_show_payment_explanation( $( this ) );
5141		hide_show_payment_gateway_choice( $( this ) );
5142		hide_show_payment_gateway_form( $( this ) );
5143		hide_show_bottom_area( $( this ) );
5144	});
5145
5146	/* end payment type and method init */
5147
5148	/* ------------------------------------------------------------------------------------------- */
5149
5150	/* payment gateway choice */
5151
5152	$( 'input[name="hb-payment-type"]' ).on( 'change', function() {
5153		hide_show_payment_explanation( $( this ).parents( 'form' ) );
5154		hide_show_payment_gateway_choice( $( this ).parents( 'form' ) );
5155		hide_show_bottom_area( $( this ).parents( 'form' ) );
5156	});
5157
5158	$( 'input[name="hb-payment-gateway"]' ).on( 'change', function() {
5159		hide_show_payment_gateway_form( $( this ).parents( 'form' ) );
5160		hide_show_bottom_area( $( this ).parents( 'form' ) );
5161	});
5162
5163	function hide_show_payment_explanation( $form ) {
5164		var payment_type = $form.find( 'input[name="hb-payment-type"]:checked' ).val();
5165		$form.find( '.hb-payment-type-explanation' ).hide();
5166		$form.find( '.hb-payment-type-explanation-' + payment_type ).slideDown();
5167	}
5168
5169	function hide_show_payment_gateway_choice( $form ) {
5170		var payment_type = $form.find( 'input[name="hb-payment-type"]:checked' ).val();
5171		if ( payment_type == 'store_credit_card' || payment_type == 'deposit' || payment_type == 'full' ) {
5172			$form.find( '.hb-payment-method-wrapper' ).slideDown();
5173		} else {
5174			$form.find( '.hb-payment-method-wrapper' ).slideUp();
5175		}
5176		if ( payment_type == 'store_credit_card' ) {
5177			$form.find( '.hb-payment-method' ).slideUp();
5178			$form.find( 'input[name="hb-payment-gateway"][value="stripe"]' ).prop( 'checked', true );
5179			if ( $form.find( '.hb-payment-form-stripe' ).css( 'display' ) == 'none' ) {
5180				$form.find( '.hb-payment-form' ).slideUp();
5181				$form.find( '.hb-payment-form-stripe' ).slideDown();
5182			}
5183		} else {
5184			$form.find( '.hb-payment-method' ).slideDown();
5185		}
5186	}
5187
5188	function hide_show_payment_gateway_form( $form ) {
5189		$form.find( '.hb-payment-form' ).slideUp();
5190		var gateway_id = $form.find( 'input[name="hb-payment-gateway"]:checked' ).val();
5191		$form.find( '.hb-payment-form-' + gateway_id ).slideDown();
5192		$form.find( '.hb-' + gateway_id + '-payment-method' ).slideDown();
5193	}
5194
5195	function hide_show_bottom_area( $form ) {
5196		var payment_type = $form.find( 'input[name="hb-payment-type"]:checked' ).val();
5197		if ( payment_type == 'deposit' || payment_type == 'full' ) {
5198			var gateway_id = $form.find( 'input[name="hb-payment-gateway"]:checked' ).val();
5199			if ( $form.find( '.hb-bottom-area-content-' + gateway_id ).length ) {
5200				var bottom_area_content = $form.find( '.hb-bottom-area-content-' + gateway_id ).html();
5201				$form.find( '.hb-bottom-area' ).html( bottom_area_content ).slideDown();
5202			} else {
5203				$form.find( '.hb-bottom-area' ).slideUp();
5204			}
5205		} else {
5206			$form.find( '.hb-bottom-area' ).slideUp();
5207		}
5208	}
5209
5210	/* end payment gateway choice */
5211
5212	/* ------------------------------------------------------------------------------------------- */
5213
5214	/* misc */
5215
5216	function format_price( price ) {
5217		if ( hb_booking_form_data.price_precision == 'no_decimals' ) {
5218			var formatted_price = Math.round( price );
5219		} else {
5220			var formatted_price = parseFloat( price ).toFixed( 2 );
5221		}
5222		var price_parts = formatted_price.toString().split( '.' );
5223		if ( hb_booking_form_data.thousands_sep ) {
5224			price_parts[0] = price_parts[0].replace( /\B(?=(\d{3})+(?!\d))/g, hb_booking_form_data.thousands_sep );
5225		}
5226		return price_parts.join( hb_booking_form_data.decimal_point );
5227	}
5228
5229	function disable_form_submission( $form ) {
5230		$form.addClass( 'submitted' );
5231		$form.find( 'input[type="submit"]' ).prop( 'disabled', true );
5232	}
5233
5234	function enable_form_submission( $form ) {
5235		$form.removeClass( 'submitted' );
5236		$form.find( 'input[type="submit"]' ).prop( 'disabled', false );
5237	}
5238
5239	function debouncer( func ) {
5240		var timeoutID,
5241			timeout = 50;
5242		return function () {
5243			var scope = this,
5244				args = arguments;
5245			clearTimeout( timeoutID );
5246			timeoutID = setTimeout( function () {
5247				func.apply( scope, Array.prototype.slice.call( args ) );
5248			}, timeout );
5249		}
5250	}
5251
5252	function resize_price_caption() {
5253		$( '.hb-accom-list' ).each( function() {
5254			if ( $( this ).width() < 600 ) {
5255				$( this ).find( '.hb-accom-price-caption br' ).show();
5256				$( this ).find( '.hb-accom-price-caption-dash' ).hide();
5257				$( this ).find( '.hb-accom-price-caption' ).addClass( 'hb-accom-price-caption-small' );
5258			} else {
5259				$( this ).find( '.hb-accom-price-caption br' ).hide();
5260				$( this ).find( '.hb-accom-price-caption-dash' ).show();
5261				$( this ).find( '.hb-accom-price-caption' ).removeClass( 'hb-accom-price-caption-small' );
5262			}
5263		});
5264	}
5265
5266	function reposition_people_popup() {
5267		var $people_popup = $( '.hb-people-popup-wrapper-visible' );
5268		if ( $people_popup.length ) {
5269			var $accom_people_selection = $people_popup.find( '.hb-multi-accom-people-selection-wrapper' );
5270			if ( hb_booking_form_data.is_admin == 'yes' ) {
5271				var $select = $( '.hb-booking-search-form .hb-accom-number' );
5272			} else {
5273				var form_num = $accom_people_selection.data( 'form-num' );
5274				var $select = $( '.hb-booking-search-form.hb-form-' + form_num + ' .hb-accom-number' );
5275			}
5276			var scroll_y = $( window ).scrollTop();
5277			var select_top = $select.offset().top;
5278			var select_bottom = select_top + $select.outerHeight( true );
5279			var select_left = $select.offset().left;
5280			var available_space_above = select_top - scroll_y;
5281			var available_space_below = $( window ).height() - select_bottom + scroll_y;
5282			var people_popup_height = $( '.hb-people-popup-wrapper' ).outerHeight( true );
5283			if ( available_space_below > people_popup_height ) {
5284				$( '.hb-people-popup-wrapper' ).css( 'top', select_bottom );
5285			} else if ( available_space_above > people_popup_height ) {
5286				$( '.hb-people-popup-wrapper' ).css( 'top', select_top - peo
5286ple_popup_height );
5287			} else {
5288				$( '.hb-people-popup-wrapper' ).css( 'top', scroll_y );
5289			}
5290			$( '.hb-people-popup-wrapper' ).css( 'left', select_left );
5291		}
5292	}
5293
5294	$( window ).resize( debouncer ( function () {
5295		hb_resize_forms();
5296		resize_price_caption();
5297		reposition_people_popup();
5298	})).resize();
5299
5300	$( window ).on( 'beforeunload', function() {
5301		if ( ! $( 'body' ).hasClass( 'no-hbook-unload' ) ) {
5302			$( '.hb-accom-list, .hb-booking-details-form' ).each( function() {
5303				if ( $( this ).is( ':visible' ) ) {
5304					var scroll_top = $( window ).scrollTop();
5305					var offset = $( this ).offset().top;
5306					var height = $( this ).outerHeight( true );
5307					$( this ).hide();
5308					if ( scroll_top > offset + height ) {
5309						$( 'html, body' ).scrollTop( scroll_top - height );
5310					} else if ( scroll_top > offset ) {
5311						$( 'html, body' ).scrollTop( offset );
5312					}
5313				}
5314			});
5315		}
5316	});
5317
5318	/* end misc */
5319
5320	/* ------------------------------------------------------------------------------------------- */
5321
5322	/* status processing */
5323
5324	$( '.hbook-wrapper-booking-form' ).each( function() {
5325		var $booking_wrapper = $( this ),
5326			$search_form = $booking_wrapper.find( '.hb-booking-search-form' );
5327		if ( $search_form.find( '.hb-check-in-hidden' ).val() != '' ) {
5328			var check_in = hb_date_str_2_obj( $search_form.find( '.hb-check-in-hidden' ).val() ),
5329				check_out = hb_date_str_2_obj( $search_form.find( '.hb-check-out-hidden' ).val() );
5330			check_in = $.datepick.formatDate( hb_date_format, check_in );
5331			check_out = $.datepick.formatDate( hb_date_format, check_out );
5332			$search_form.find( '.hb-check-in-date' ).val( check_in );
5333			$search_form.find( '.hb-check-out-date' ).val( check_out );
5334			$search_form.find( 'select.hb-adults' ).val( $search_form.find( '.hb-adults-hidden' ).val() );
5335			$search_form.find( 'select.hb-children' ).val( $search_form.find( '.hb-children-hidden' ).val() );
5336		}
5337		var accom_people = $( '.hb-accom-people' ).val();
5338		if ( ( typeof accom_people !== 'undefined' ) && ( accom_people != '' ) ) {
5339			accom_people = accom_people.split( ',' );
5340			$search_form.find( 'select.hb-accom-number' ).val( accom_people.length );
5341			for ( var i = 0; i < accom_people.length; i++ ) {
5342				var multi_accom_num = i + 1;
5343				var accom_adults = accom_people[i].split( '-' )[0];
5344				var accom_children = accom_people[i].split( '-' )[1];
5345				$search_form.find( '.hb-multi-accom-people-selection-accom-' + multi_accom_num + ' .hb-multi-accom-adults' ).val( accom_adults );
5346				$search_form.find( '.hb-multi-accom-people-selection-accom-' + multi_accom_num + ' .hb-multi-accom-children' ).val( accom_children );
5347			}
5348			update_accom_people( $search_form );
5349		} else {
5350			setTimeout( function() {
5351				if ( $search_form.find( 'select.hb-accom-number option[value="-1"]' ).length ) {
5352					$search_form.find( 'select.hb-accom-number' ).val( -1 );
5353					$search_form.find( '.hb-accom-people' ).val( '' );
5354				}
5355			}, 1000 );
5356		}
5357
5358		if ( $booking_wrapper.data( 'status' ) == 'search-accom' ) {
5359			$( 'html, body' ).animate({ scrollTop: $search_form.offset().top - page_padding_top }, function() {
5360				$search_form.submit();
5361			});
5362			return false;
5363		}
5364
5365		if ( $booking_wrapper.data( 'status' ) == 'external-payment-timeout' ) {
5366			alert( hb_text.timeout_error );
5367		}
5368
5369		if ( $booking_wrapper.data( 'status' ) == 'external-payment-confirm-error' ) {
5370			alert( hb_payment_confirmation_error );
5371		}
5372	});
5373
5374	/* end status processing */
5375
5376	/* ------------------------------------------------------------------------------------------- */
5377
5378});;
5379'use strict';
5380
5381var hb_stripe_class = Stripe( hb_stripe_key, { 'locale': hb_stripe_locale } );
5382var hb_stripe_elements = [];
5383var hb_stripe_payment_elements = [];
5384var hb_stripe_confirm_type = 'confirmSetup';
5385
5386jQuery( document ).ready( function( $ ) {
5387	var show_country_field_alert = false;
5388	$( '.hb-booking-details-form' ).each( function() {
5389		if (
5390			! $( this ).find( '.hb-country-iso-select' ).length ||
5391			( $( this ).find( '.hb-country-iso-select' ).data( 'validation' ) != 'required' )
5392		) {
5393			show_country_field_alert = true;
5394		}
5395	});
5396	if ( show_country_field_alert ) {
5397		alert( hb_stripe_requires_country_field_msg );
5398	}
5399
5400	$( '.hb-booking-details-form, .hb-payment-link-form' ).each( function() {
5401		if ( ! $( this ).find( 'input[name="hb-current-url"]' ).length ) {
5402			$( this ).append( $( '<input type="hidden" name="hb-current-url" />' ) );
5403		}
5404	});
5405
5406	$( 'input[name="hb-payment-type"], input[name="hb-payment-gateway"]' ).change( function() {
5407		var $booking_wrapper = $( this ).parents( '.hbook-wrapper' );
5408		if ( $booking_wrapper.find( 'input[name="hb-payment-gateway"]:checked' ).val() != 'stripe' ) {
5409			return;
5410		}
5411		if ( hb_stripe_payment_elements[ $booking_wrapper.attr( 'id' ) ] ) {
5412			try {
5413				hb_stripe_payment_elements[ $booking_wrapper.attr( 'id' ) ].destroy();
5414			} catch ( e ) {
5415			}
5416		}
5417		hb_stripe_update_payment_form( $booking_wrapper );
5418	});
5419});
5420
5421function hb_stripe_update_payment_form( $booking_wrapper ) {
5422	$booking_wrapper.find( '.hb-stripe-loading-form' ).show();
5423	var stripe_payment_types = ['store_credit_card', 'deposit', 'full'];
5424	var payment_type = $booking_wrapper.find( 'input[name="hb-payment-type"]:checked' ).val();
5425	if ( stripe_payment_types.indexOf( payment_type ) >= 0 ) {
5426		$booking_wrapper.find( 'input[name="hb-current-url"]' ).val( document.URL );
5427		var $payment_data = $booking_wrapper.find( '.hb-payment-data-summary' );
5428		var mode = 'setup';
5429		var amount = 0;
5430		var setup_future_usage = '';
5431		if ( payment_type == 'deposit' ) {
5432			mode = 'payment';
5433			hb_stripe_confirm_type = 'confirmPayment';
5434			amount = $payment_data.data( 'charged-deposit-raw' );
5435		} else if ( payment_type == 'full' ) {
5436			mode = 'payment';
5437			hb_stripe_confirm_type = 'confirmPayment';
5438			amount = $payment_data.data( 'charged-total-price-raw' );
5439		}
5440		if ( hb_stripe_zero_decimal_currency == 'no' ) {
5441			amount = amount * 100;
5442		}
5443		amount = Math.round( amount );
5444		if ( amount == 0 ) {
5445			setup_future_usage = 'off_session';
5446			mode = 'setup';
5447			hb_stripe_confirm_type = 'confirmSetup';
5448		}
5449		if ( hb_stripe_store_credit_card == 'yes' ) {
5450			setup_future_usage = 'off_session';
5451		}
5452		var create_elements_options = {
5453			mode: mode,
5454			currency: hb_stripe_currency.toLowerCase(),
5455		}
5456		if ( setup_future_usage ) {
5457			create_elements_options['setupFutureUsage'] = setup_future_usage;
5458		}
5459		if ( mode == 'payment' ) {
5460			create_elements_options['amount'] = amount;
5461		}
5462		if ( hb_stripe_payment_methods != 'all' ) {
5463			create_elements_options['paymentMethodTypes'] = ['card'];
5464		}
5465		try {
5466			hb_stripe_elements[ $booking_wrapper.attr( 'id' ) ] = hb_stripe_class.elements( create_elements_options );
5467			hb_stripe_payment_elements[ $booking_wrapper.attr( 'id' ) ] = hb_stripe_elements[ $booking_wrapper.attr( 'id' ) ].create( 'payment', { layout: 'tabs', fields: { billingDetails: 'never' } } );
5468			hb_stripe_payment_elements[ $booking_wrapper.attr( 'id' ) ].on( 'ready', function( event ) {
5469				$booking_wrapper.find( '.hb-stripe-loading-form' ).hide();
5470			});
5471			hb_stripe_payment_elements[ $booking_wrapper.attr( 'id' ) ].mount( '#' + $booking_wrapper.attr( 'id' ) + ' .hb-stripe-payment-element-wrapper' );
5472		} catch ( e ) {
5473			console.log( 'Stripe error.' );
5474			console.log( e );
5475			alert( 'Stripe error: ' + e.message );
5476		}
5477	}
5478}
5479
5480function hb_stripe_payment_process( $form, callback_func ) {
5481	$form.find( 'input[type="submit"]' ).blur().prop( 'disabled', true );
5482	if ( $form.hasClass( 'hb-payment-link-form' ) ) {
5483		var booking_wrapper_id = 'hb-payment-link-form';
5484	} else {
5485		var booking_wrapper_id = $form.parents( '.hbook-wrapper' ).attr( 'id' );
5486	}
5487	try {
5488		hb_stripe_elements[ booking_wrapper_id ].submit().then( function( result ) {
5489			if ( result.error ) {
5490				console.log( result.error );
5491				$form.removeClass( 'submitted' );
5492				$form.find( 'input[type="submit"]' ).prop( 'disabled', false );
5493				return false;
5494			} else {
5495				$form.find( '.hb-saving-resa, .hb-processing-later-payment' ).slideDown();
5496				callback_func( $form );
5497			}
5498		});
5499		return true;
5500	} catch( e ) {
5501		console.log( e );
5502		$form.removeClass( 'submitted' );
5503		$form.find( 'input[type="submit"]' ).prop( 'disabled', false );
5504		return false;
5505	}
5506}
5507
5508function hb_stripe_payment_requires_action( $form, response ) {
5509	var customer_info = {};
5510	var customer_details_list = ['first_name', 'last_name', 'email', 'phone', 'address_1', 'address_2', 'city', 'state_province', 'zip_code'];
5511	for ( var i = 0; i < customer_details_list.length; i++ ) {
5512		if ( $form.hasClass( 'hb-payment-link-form' ) ) {
5513			if ( typeof hb_customer_info[ customer_details_list[ i ] ] !== 'undefined' ) {
5514				customer_info[ customer_details_list[ i ] ] = hb_customer_info[ customer_details_list[ i ] ];
5515			} else {
5516				customer_info[ customer_details_list[ i ] ] = '';
5517			}
5518		} else {
5519			var customer_input = 'input[name="hb_' + customer_details_list[ i ] + '"]';
5520			if ( $form.find( customer_input ).length ) {
5521				customer_info[ customer_details_list[ i ] ] = $form.find( customer_input ).val();
5522			} else {
5523				customer_info[ customer_details_list[ i ] ] = '';
5524			}
5525		}
5526	}
5527	var customer_name_sep = '';
5528	if ( customer_info['first_name'] && customer_info['last_name'] ) {
5529		customer_name_sep = ' ';
5530	}
5531	customer_info['name'] = customer_info['first_name'] + customer_name_sep + customer_info['last_name'];
5532	if ( $form.hasClass( 'hb-payment-link-form' ) ) {
5533		var booking_wrapper_id = 'hb-payment-link-form';
5534		if ( ( typeof hb_customer_info['country_iso'] !== 'undefined' ) && ( hb_customer_info['country_iso'] != '' ) ) {
5535			customer_info['country'] = hb_customer_info['country_iso'];
5536		} else {
5537			customer_info['country'] = $form.find( '.hb-country-iso-select' ).val();
5538		}
5539	} else {
5540		var booking_wrapper_id = $form.parents( '.hbook-wrapper' ).attr( 'id' );
5541		customer_info['country'] = $form.find( '.hb-country-iso-select' ).val();
5542	}
5543
5544	hb_stripe_class[ hb_stripe_confirm_type ]({
5545		elements: hb_stripe_elements[ booking_wrapper_id ],
5546		clientSecret: response['client_secret'],
5547		confirmParams: {
5548			return_url: response['return_url'],
5549			payment_method_data: {
5550				billing_details: {
5551					name: customer_info['name'],
5552					email: customer_info['email'],
5553					phone: customer_info['phone'],
5554					address: {
5555						line1: customer_info['address_1'],
5556						line2: customer_info['address_2'],
5557						city: customer_info['city'],
5558						state: customer_info['state_province'],
5559						country: customer_info['country'],
5560						postal_code: customer_info['zip_code'],
5561					}
5562				}
5563			}
5564		},
5565	}).then( function( result ) {
5566		if ( result.error ) {
5567			hb_stripe_handle_error( response, $form, result.error );
5568		}
5569	}).catch( function ( e ) {
5570		hb_stripe_handle_error( response, $form, e );
5571	});
5572}
5573
5574function hb_stripe_handle_error( response, $form, error ) {
5575	$form.find( '.hb-saving-resa, .hb-processing-later-payment' ).slideUp();
5576	$form.removeClass( 'submitted' );
5577	$form.find( 'input[type="submit"]' ).prop( 'disabled', false );
5578	$form.find( '.hb-confirm-error' ).html( error.message ).slideDown();
5579	console.log( error );
5580	var ajax_timeout = 40000;
5581	if ( typeof hb_booking_form_data != 'undefined' ) {
5582		ajax_timeout = hb_booking_form_data.ajax_timeout;
5583	} else if ( typeof hb_payment_link_form_data != 'undefined' ) {
5584		ajax_timeout = hb_payment_link_form_data.ajax_timeout;
5585	}
5586	var ajax_url = '';
5587	if ( typeof hb_booking_form_data != 'undefined' ) {
5588		ajax_url = hb_booking_form_data.ajax_url;
5589	} else if ( typeof hb_payment_link_form_data != 'undefined' ) {
5590		ajax_url = hb_payment_link_form_data.ajax_url;
5591	}
5592	jQuery.ajax({
5593		data: {
5594			'action': 'hb_stripe_declined_payment',
5595			'payment_token': response['payment_token'],
5596		},
5597		success: function( ajax_response ) {
5598			if ( ajax_response != 'stripe_declined_payment' ) {
5599				console.log( ajax_response );
5600			}
5601		},
5602		type : 'POST',
5603		timeout: ajax_timeout,
5604		url: ajax_url,
5605		error: function( jqXHR, textStatus, errorThrown ) {
5606			console.log( jqXHR );
5607			console.log( textStatus );
5608			console.log( errorThrown );
5609		}
5610	});
5611};
5612'undefined'=== typeof _trfq || (window._trfq = []);'undefined'=== typeof _trfd && (window._trfd=[]),
5613                _trfd.push({'tccl.baseHost':'secureserver.net'}),
5614                _trfd.push({'ap':'wpaas_v2'},
5615                    {'server':'559391460e0b'},
5616                    {'pod':'c28-prod-p3-us-west-2'},
5617                                        {'xid':'45387438'},
5618                    {'wp':'7.1.2'},
5619                    {'php':'7.4.33.69'},
5620                    {'loggedin':'0'},
5621                    {'cdn':'1'},
5622                    {'builder':'elementor'},
5623                    {'theme':'hello-elementor'},
5624                    {'wds':'0'},
5625                    {'wp_alloptions_count':'634'},
5626                    {'wp_alloptions_bytes':'134279'},
5627                    {'gdl_coming_soon_page':'0'}
5628                    , {'appid':'794060'}                 );
5629            var trafficScript = document.createElement('script'); trafficScript.src = 'https://img1.wsimg.com/signals/js/clients/scc-c2/scc-c2.min.js'; window.document.head.appendChild(trafficScript);;
5630window.addEventListener('click', function (elem) { var _elem$target, _elem$target$dataset, _window, _window$_trfq; return (elem === null || elem === void 0 ? void 0 : (_elem$target = elem.target) === null || _elem$target === void 0 ? void 0 : (_elem$target$dataset = _elem$target.dataset) === null || _elem$target$dataset === void 0 ? void 0 : _elem$target$dataset.eid) && ((_window = window) === null || _window === void 0 ? void 0 : (_window$_trfq = _window._trfq) === null || _window$_trfq === void 0 ? void 0 : _window$_trfq.push(["cmdLogEvent", "click", elem.target.dataset.eid]));});;
5631!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("tti",[],e):"object"==typeof exports?exports["tti"]=e():t["tti"]=e()}(window,function(){return n=[function(t,e){var n=function(){return this}();try{n=n||Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";e.__esModule=!0,e.setCustomProperties=e._sendWebVitalsData=e._collectVitals=e.calculateTTI=void 0,n(2);function i(){0<s.timeToInteractive&&setTimeout(function(){window._expDataLayer=window._expDataLayer||[],window._expDataLayer.push({schema:"add_perf",version:"v1",data:window._tccInternal?{type:"pageperf",properties:s,custom_properties:c}:{timing_object:s,is_hard_navigation:!0,custom_properties:c}})},0)}function r(){var t,e,n=(r=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{}).name,r=r.value;s[n]="CLS"===n?r:Math.round(r),"timeToInteractive"===n&&(s.hasOwnProperty("FID")?i():(t=0,e=setInterval(function(){(s.hasOwnProperty("FID")||10<t)&&(e&&(clearInterval(e),e=null),i()),t+=1}
vendor: 5,363 bytes, line 5631
5631,500)))}var o=n(5),u=n(6),a=n(7),s={nav_type:"hard"},c={};e.calculateTTI=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:r;try{(0,u.getLCP)(e,!0),(0,u.getFID)(e),(0,u.getCLS)(e,!0),(0,o.getFirstConsistentlyInteractive)().then(function(t){e({name:"timeToInteractive",value:t})})}catch(t){(0,a.error)('unable to calculate "web-vitals" performance metrics',t)}},e._collectVitals=r,e._sendWebVitalsData=i,e.setCustomProperties=function(){return c=Object.assign({},c,0<arguments.length&&void 0!==arguments[0]?arguments[0]:{})}},function(t,e,n){"use strict";t.exports=n(3).polyfill()},function(t,e,n){var rt,it;rt=n(4),it=n(0),t.exports=function(){"use strict";function r(t){var e=typeof t;return t!==null&&(e==="object"||e==="function")}function s(t){return typeof t==="function"}var t=void 0;if(Array.isArray)t=Array.isArray;else t=function(t){return Object.prototype.toString.call(t)==="[object Array]"};var n=t,i=0,e=void 0,o=void 0,u=function t(e,n){b[i]=e;b[i+1]=n;i+=2;if(i===2)if(o)o(_);else S()};function a(t){o=t}function c(t){u=t}var f=typeof window!=="undefined"?window:undefined,l=f||{},d=l.MutationObserver||l.WebKitMutationObserver,p=typeof self==="undefined"&&typeof rt!=="undefined"&&{}.toString.call(rt)==="[object process]",v=typeof Uint8ClampedArray!=="undefined"&&typeof importScripts!=="undefined"&&typeof MessageChannel!=="undefined";function h(){return function(){return rt.nextTick(_)}}function m(){if(typeof e!=="undefined")return function(){e(_)};return w()}function y(){var t=0;var e=new d(_);var n=document.createTextNode("");e.observe(n,{characterData:true});return function(){n.data=t=++t%2}}function g(){var t=new MessageChannel;t.port1.onmessage=_;return function(){return t.port2.postMessage(0)}}function w(){var t=setTimeout;return function(){return t(_,1)}}var b=new Array(1e3);function _(){for(var t=0;t<i;t+=2){var e=b[t];var n=b[t+1];e(n);b[t]=undefined;b[t+1]=undefined}i=0}function T(){try{var t=Function("return this")().require("vertx");e=t.runOnLoop||t.runOnContext;return m()}catch(t){return w()}}var S=void 0;if(p)S=h();else if(d)S=y();else if(v)S=g();else if(f===undefined&&"function"==="function")S=T();else S=w();function E(t,e){var n=this;var r=new this.constructor(j);if(r[x]===undefined)X(r);var i=n._state;if(i){var o=arguments[i-1];u(function(){return V(i,r,o,n._result)})}else H(n,r,t,e);return r}function L(t){var e=this;if(t&&typeof t==="object"&&t.constructor===e)return t;var n=new e(j);q(n,t);return n}var x=Math.random().toString(36).substring(2);function j(){}var A=void 0,P=1,O=2;function C(){return new TypeError("You cannot resolve a promise with itself")}function F(){return new TypeError("A promises callback cannot return that same promise.")}function M(t,e,n,r){try{t.call(e,n,r)}catch(t){return t}}function k(t,r,i){u(function(e){var n=false;var t=M(i,r,function(t){if(n)return;n=true;if(r!==t)q(e,t);else B(e,t)},function(t){if(n)return;n=true;W(e,t)},"Settle: "+(e._label||" unknown promise"));if(!n&&t){n=true;W(e,t)}},t)}function I(e,t){if(t._state===P)B(e,t._result);else if(t._state===O)W(e,t._result);else H(t,undefined,function(t){return q(e,t)},function(t){return W(e,t)})}function D(t,e,n){if(e.constructor===t.constructor&&n===E&&e.constructor.resolve===L)I(t,e);else if(n===undefined)B(t,e);else if(s(n))k(t,e,n);else B(t,e)}function q(e,t){if(e===t)W(e,C());else if(r(t)){var n=void 0;try{n=t.then}catch(t){W(e,t);return}D(e,t,n)}else B(e,t)}function N(t){if(t._onerror)t._onerror(t._result);R(t)}function B(t,e){if(t._state!==A)return;t._result=e;t._state=P;if(t._subscribers.length!==0)u(R,t)}function W(t,e){if(t._state!==A)return;t._state=O;t._result=e;u(N,t)}function H(t,e,n,r){var i=t._subscribers;var o=i.length;t._onerror=null;i[o]=e;i[o+P]=n;i[o+O]=r;if(o===0&&t._state)u(R,t)}function R(t){var e=t._subscribers;var n=t._state;if(e.length===0)return;var r=void 0,i=void 0,o=t._result;for(var u=0;u<e.length;u+=3){r=e[u];i=e[u+n];if(r)V(n,r,i,o);else i(o)}t._subscribers.length=0}function V(t,e,n,r){var i=s(n),o=void 0,u=void 0,a=true;if(i){try{o=n(r)}catch(t){a=false;u=t}if(e===o){W(e,F());return}}else o=r;if(e._state!==A);else if(i&&a)q(e,o);else if(a===false)W(e,u);else if(t===P)B(e,o);else if(t===O)W(e,o)}function Y(n,t){try{t(function t(e){q(n,e)},function t(e){W(n,e)})}catch(t){W(n,t)}}var K=0;function U(){return K++}function X(t){t[x]=K++;t._state=undefined;t._result=undefined;t._subscribers=[]}function J(){return new Error("Array Methods must be provided an Array")}var z=function(){function t(t,e){this._instanceConstructor=t;this.promise=new t(j);if(!this.promise[x])X(this.promise);if(n(e)){this.length=e.length;this._remaining=e.length;this._result=new Array(this.length);if(this.length===0)B(this.promise,this._result);else{this.length=this.length||0;this._enumerate(e);if(this._remaining===0)B(this.promise,this._result)}}else W(this.promise,J())}t.prototype._enumerate=function t(e){for(var n=0;this._state===A&&n<e.length;n++)this._eachEntry(e[n],n)};t.prototype._eachEntry=function t(e,n){var r=this._instanceConstructor;var i=r.resolve;if(i===L){var o=void 0;var u=void 0;var a=false;try{o=e.then}catch(t){a=true;u=t}if(o===E&&e._state!==A)this._settledAt(e._state,n,e._result);else if(typeof o!=="function"){this._remaining--;this._result[n]=e}else if(r===et){var s=new r(j);if(a)W(s,u);else D(s,e,o);this._willSettleAt(s,n)}
5631else this._willSettleAt(new r(function(t){return t(e)}),n)}else this._willSettleAt(i(e),n)};t.prototype._settledAt=function t(e,n,r){var i=this.promise;if(i._state===A){this._remaining--;if(e===O)W(i,r);else this._result[n]=r}if(this._remaining===0)B(i,this._result)};t.prototype._willSettleAt=function t(e,n){var r=this;H(e,undefined,function(t){return r._settledAt(P,n,t)},function(t){return r._settledAt(O,n,t)})};return t}();function G(t){return new z(this,t).promise}function Q(i){var o=this;if(!n(i))return new o(function(t,e){return e(new TypeError("You must pass an array to race."))});else return new o(function(t,e){var n=i.length;for(var r=0;r<n;r++)o.resolve(i[r]).then(t,e)})}function Z(t){var e=this;var n=new e(j);W(n,t);return n}function $(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function tt(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}var et=function(){function e(t){this[x]=U();this._result=this._state=undefined;this._subscribers=[];if(j!==t){typeof t!=="function"&&$();this instanceof e?Y(this,t):tt()}}e.prototype.catch=function t(e){return this.then(null,e)};e.prototype.finally=function t(e){var n=this;var r=n.constructor;if(s(e))return n.then(function(t){return r.resolve(e()).then(function(){return t})},function(t){return r.resolve(e()).then(function(){throw t})});return n.then(e,e)};return e}();function nt(){var t=void 0;if(typeof it!=="undefined")t=it;else if(typeof self!=="undefined")t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var n=null;try{n=Object.prototype.toString.call(e.resolve())}catch(t){}if(n==="[object Promise]"&&!e.cast)return}t.Promise=et}return et.prototype.then=E,et.all=G,et.race=Q,et.resolve=L,et.reject=Z,et._setScheduler=a,et._setAsap=c,et._asap=u,et.polyfill=nt,et.Promise=et}()},function(t,e){var n,r,t=t.exports={};function i(){throw Error("setTimeout has not been defined")}function o(){throw Error("clearTimeout has not been defined")}function u(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return(n=setTimeout)(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(t){n=i}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(t){r=o}}();var a,s=[],c=!1,f=-1;function l(){c&&a&&(c=!1,a.length?s=a.concat(s):f=-1,s.length&&d())}function d(){if(!c){var t=u(l);c=!0;for(var e=s.length;e;){for(a=s,s=[];++f<e;)a&&a[f].run();f=-1,e=s.length}a=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===o||!r)&&clearTimeout)return(r=clearTimeout)(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function v(){}t.nextTick=function(t){var e=Array(arguments.length-1);if(1<arguments.length)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];s.push(new p(t,e)),1!==s.length||c||u(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},t.title="browser",t.browser=!0,t.env={},t.argv=[],t.version="",t.versions={},t.on=v,t.addListener=v,t.once=v,t.off=v,t.removeListener=v,t.removeAllListeners=v,t.emit=v,t.prependListener=v,t.prependOnceListener=v,t.listeners=function(t){return[]},t.binding=function(t){throw Error("process.binding is not supported")},t.cwd=function(){return"/"},t.chdir=function(t){throw Error("process.chdir is not supported")},t.umask=function(){return 0}},function(y,g,t){var w,b;w=t(0),function(){var r=("undefined"==typeof window||window!==this)&&void 0!==w&&null!=w?w:this,e="function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,n){t!=Array.prototype&&t!=Object.prototype&&(t[e]=n.value)};function n(){n=function(){},r.Symbol||(r.Symbol=t)}var i=0;function t(t){return"jscomp_symbol_"+(t||"")+i++}function o(){n();var t=(t=r.Symbol.iterator)||(r.Symbol.iterator=r.Symbol("iterator"));"function"!=typeof Array.prototype[t]&&e(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return u(this)}}),o=function(){}}function u(t){var e,n=0;return e=function(){return n<t.length?{done:!1,value:t[n++]}:{done:!0}},o(),(e={next:e})[r.Symbol.iterator]=function(){return this},e}function l(t){o();var e=t[Symbol.iterator];return e?e.call(t):u(t)}function d(t){if(!(t instanceof Array)){t=l(t);for(var e,n=[];!(e=t.next()).done;)n.push(e.value);t=n}return t}var p=0;var a="img script iframe link audio video source".split(" ");function v(n){var t=new MutationObserver(function(t){for(var e=(t=l(t)).next();!e.done;e=t.next())("childList"==(e=e.value).type&&function t(e,n){for(var r=(e
5631=l(e)).next();!r.done;r=e.next())if(r=r.value,n.includes(r.nodeName.toLowerCase())||t(r.children,n))return 1}(e.addedNodes,a)||"attributes"==e.type&&a.includes(e.target.tagName.toLowerCase()))&&n(e)});return t.observe(document,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["href","src"]}),t}function h(t,e){if(2<t.length)return performance.now();for(var n=[],r=(e=l(e)).next();!r.done;r=e.next())r=r.value,n.push({timestamp:r.start,type:"requestStart"}),n.push({timestamp:r.end,type:"requestEnd"});for(r=(e=l(t)).next();!r.done;r=e.next())n.push({timestamp:r.value,type:"requestStart"});for(n.sort(function(t,e){return t.timestamp-e.timestamp}),t=t.length,e=n.length-1;0<=e;e--)switch(r=n[e],r.type){case"requestStart":t--;break;case"requestEnd":if(2<++t)return r.timestamp;break;default:throw Error("Internal Error: This should never happen")}return 0}function s(t){this.w=!!(t=t||{}).useMutationObserver,this.u=t.minValue||null,t=window.__tti&&window.__tti.e;var i,o,u,a,s,c,f,r,e=window.__tti&&window.__tti.o;this.a=t?t.map(function(t){return{start:t.startTime,end:t.startTime+t.duration}}):[],e&&e.disconnect(),this.b=[],this.f=new Map,this.j=null,this.v=-1/0,this.i=!1,this.h=this.c=this.s=null,i=this.m.bind(this),o=this.l.bind(this),u=XMLHttpRequest.prototype.send,a=p++,XMLHttpRequest.prototype.send=function(t){for(var e=[],n=0;n<arguments.length;++n)e[+n]=arguments[n];var r=this;return i(a),this.addEventListener("readystatechange",function(){4===r.readyState&&o(a)}),u.apply(this,e)},s=this.m.bind(this),c=this.l.bind(this),f=fetch,fetch=function(t){for(var i=[],e=0;e<arguments.length;++e)i[+e]=arguments[e];return new Promise(function(e,n){var r=p++;s(r),f.apply(null,[].concat(d(i))).then(function(t){c(r),e(t)},function(t){c(t),n(t)})})},(r=this).c=new PerformanceObserver(function(t){for(var e,n=(t=l(t.getEntries())).next();!n.done;n=t.next())"resource"===(n=n.value).entryType&&(r.b.push({start:n.fetchStart,end:n.responseEnd}),m(r,h(r.g,r.b)+5e3)),"longtask"===n.entryType&&(e=n.startTime+n.duration,r.a.push({start:n.startTime,end:e}),m(r,e+5e3))}),r.c.observe({entryTypes:["longtask","resource"]}),this.w&&(this.h=v(this.B.bind(this)))}function c(t){t.i=!0;var e=0<t.a.length?t.a[t.a.length-1].end:0,n=h(t.g,t.b);m(t,Math.max(n+5e3,e))}function m(o,t){!o.i||o.v>t||(clearTimeout(o.j),o.j=setTimeout(function(){var t=performance.timing.navigationStart,e=h(o.g,o.b),t=(window.a&&window.a.A?1e3*window.a.A().C-t:0)||performance.timing.domContentLoadedEventEnd-t,n=o.u||(performance.timing.domContentLoadedEventEnd?(n=performance.timing).domContentLoadedEventEnd-n.navigationStart:null),r=performance.now();null===n&&m(o,Math.max(e+5e3,r+1e3));var i=o.a;(e=r-e<5e3?null:r-(e=i.length?i[i.length-1].end:t)<5e3?null:Math.max(e,n))&&(o.s(e),clearTimeout(o.j),o.i=!1,o.c&&o.c.disconnect(),o.h&&o.h.disconnect()),m(o,performance.now()+1e3)},t-performance.now()),o.v=t)}s.prototype.getFirstConsistentlyInteractive=function(){var e=this;return new Promise(function(t){e.s=t,"complete"==document.readyState?c(e):window.addEventListener("load",function(){c(e)})})},s.prototype.m=function(t){this.f.set(t,performance.now())},s.prototype.l=function(t){this.f.delete(t)},s.prototype.B=function(){m(this,performance.now()+5e3)},r.Object.defineProperties(s.prototype,{g:{configurable:!0,enumerable:!0,get:function(){return[].concat(d(this.f.values()))}}});var f={getFirstConsistentlyInteractive:function(t){return t=t||{},"PerformanceLongTaskTiming"in window?new s(t).getFirstConsistentlyInteractive():Promise.resolve(null)}};y.exports?y.exports=f:void 0===(b=function(){return f}.apply(g,[]))||(y.exports=b)}()},function(t,e,n){"use strict";n.r(e),n.d(e,"getCLS",function(){return _}),n.d(e,"getFCP",function(){return g}),n.d(e,"getFID",function(){return x}),n.d(e,"getLCP",function(){return A}),n.d(e,"getTTFB",function(){return P});function c(t,e){return{name:t,value:void 0===e?-1:e,delta:0,entries:[],id:"v2-".concat(Date.now(),"-").concat(1e12+Math.floor(8999999999999*Math.random()))}}function f(t,e){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){if("first-input"===t&&!("PerformanceEventTiming"in self))return;var n=new PerformanceObserver(function(t){return t.getEntries().map(e)});return n.observe({type:t,buffered:!0}),n}}catch(t){}}
5631function l(e,n){function r(t){"pagehide"!==t.type&&"hidden"!==document.visibilityState||(e(t),n&&(removeEventListener("visibilitychange",r,!0),removeEventListener("pagehide",r,!0)))}addEventListener("visibilitychange",r,!0),addEventListener("pagehide",r,!0)}function d(e){addEventListener("pageshow",function(t){t.persisted&&e(t)},!0)}function p(e,n,r){var i;return function(t){0<=n.value&&(t||r)&&(n.delta=n.value-(i||0),!n.delta&&void 0!==i||(i=n.value,e(n)))}}function r(){return"hidden"===document.visibilityState?0:1/0}function i(){l(function(t){t=t.timeStamp;y=t},!0)}function s(){return y<0&&(y=r(),i(),d(function(){setTimeout(function(){y=r(),i()},0)})),{get firstHiddenTime(){return y}}}function a(t,e){v||(v=e,h=t,u=new Date,L(removeEventListener),E())}function o(t){var e,n,r,i;function o(){a(n,r),i()}function u(){i()}t.cancelable&&(e=(1e12<t.timeStamp?new Date:performance.now())-t.timeStamp,"pointerdown"==t.type?(n=e,r=t,i=function(){removeEventListener("pointerup",o,T),removeEventListener("pointercancel",u,T)},addEventListener("pointerup",o,T),addEventListener("pointercancel",u,T)):a(e,t))}var v,h,u,m,y=-1,g=function(e,n){function t(t){"first-contentful-paint"===t.name&&(a&&a.disconnect(),t.startTime<i.firstHiddenTime&&(o.value=t.startTime,o.entries.push(t),r(!0)))}var r,i=s(),o=c("FCP"),u=window.performance&&performance.getEntriesByName&&performance.getEntriesByName("first-contentful-paint")[0],a=u?null:f("paint",t);(u||a)&&(r=p(e,o,n),u&&t(u),d(function(t){o=c("FCP"),r=p(e,o,n),requestAnimationFrame(function(){requestAnimationFrame(function(){o.value=performance.now()-t.timeStamp,r(!0)})})}))},w=!1,b=-1,_=function(e,t){w||(g(function(t){b=t.value}),w=!0);function n(t){-1<b&&e(t)}function r(t){var e,n;t.hadRecentInput||(e=a[0],n=a[a.length-1],u&&t.startTime-n.startTime<1e3&&t.startTime-e.startTime<5e3?(u+=t.value,a.push(t)):(u=t.value,a=[t]),u>o.value&&(o.value=u,o.entries=a,i()))}var i,o=c("CLS",0),u=0,a=[],s=f("layout-shift",r);s&&(i=p(n,o,t),l(function(){s.takeRecords().map(r),i(!0)}),d(function(){b=-1,o=c("CLS",u=0),i=p(n,o,t)}))},T={passive:!0,capture:!0},S=new Date,E=function(){var e;0<=h&&h<u-S&&(e={entryType:"first-input",name:v.type,target:v.target,cancelable:v.cancelable,startTime:v.timeStamp,processingStart:v.timeStamp+h},m.forEach(function(t){t(e)}),m=[])},L=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach(function(t){return e(t,o,T)})},x=function(t,e){function n(t){t.startTime<r.firstHiddenTime&&(i.value=t.processingStart-t.startTime,i.entries.push(t),u(!0))}var r=s(),i=c("FID"),o=f("first-input",n),u=p(t,i,e);o&&l(function(){o.takeRecords().map(n),o.disconnect()},!0),o&&d(function(){i=c("FID"),u=p(t,i,e),m=[],h=-1,v=null,L(addEventListener),m.push(n),E()})},j={},A=function(e,n){function t(t){var e=t.startTime;e<o.firstHiddenTime&&(u.value=e,u.entries.push(t),r())}var r,i,o=s(),u=c("LCP"),a=f("largest-contentful-paint",t);a&&(r=p(e,u,n),i=function(){j[u.id]||(a.takeRecords().map(t),a.disconnect(),j[u.id]=!0,r(!0))},["keydown","click"].forEach(function(t){addEventListener(t,i,{once:!0,capture:!0})}),l(i,!0),d(function(t){u=c("LCP"),r=p(e,u,n),requestAnimationFrame(function(){requestAnimationFrame(function(){u.value=performance.now()-t.timeStamp,j[u.id]=!0,r(!0)})})}))},P=function(e){var n=c("TTFB"),t=function(){try{var t=performance.getEntriesByType("navigation")[0]||function(){var t,e=performance.timing,n={entryType:"navigation",startTime:0};for(t in e)"navigationStart"!==t&&"toJSON"!==t&&(n[t]=Math.max(e[t]-e.navigationStart,0));return n}();if(n.value=n.delta=t.responseStart,n.value<0||n.value>performance.now())return;n.entries=[t],e(n)}catch(t){}};"complete"===document.readyState?setTimeout(t,0):addEventListener("load",function(){return setTimeout(t,0)})}},function(t,e,n){"use strict";e.error=void 0;n(8);var r=n(9),n=function(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];(0,r.getWindow)().console;return function(){}},n=(n(),function(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];(0,r.getWindow)().console;return function(){}}),n=n();e.error=n},function(t,e,n){"use strict";var r=!1;e.isDebug=function(){return r}},function(t,e,n){"use strict";e.getWindow=void 0;n(10);function r(){return a.window}var i,o,u,a=(i="",u={document:o=Object.create({get cookie(){return i},set cookie(t){i=t}}
5631)},n={},"undefined"==typeof window?{window:u,document:o,navigator:n}:{window:window||u,document:window.document||o,navigator:navigator||n});e.getWindow=r},function(t,e,n){"use strict";function r(t,e){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=t[n];try{if(e(n,r))return t}catch(t){}}return t}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports={cleanKeyNames:null,map:r,merge:null,parseString:null,parseValue:null,stringify:null,removeUndefined:function t(e){for(var n in e)void 0===e[n]?delete e[n]:"object"===i(e[n])&&(t(e[n]),0===Object.keys(e[n]).length&&delete e[n])}}}],r={},i.m=n,i.c=r,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=1);function i(t){if(r[t])return r[t].exports;var e=r[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,i),e.l=!0,e.exports}var n,r});

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.