");return b.inlineElement=e,e}return n.updateStatus("ready"),n._parseMarkup(c,{},b),c}}});var H="ajax",I,J=function(){I&&a(document.body).removeClass(I)},K=function(){J(),n.req&&n.req.abort()};a.magnificPopup.registerModule(H,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'
The content could not be loaded.'},proto:{initAjax:function(){n.types.push(H),I=n.st.ajax.cursor,w(b+"."+H,K),w("BeforeChange."+H,K)},getAjax:function(b){I&&a(document.body).addClass(I),n.updateStatus("loading");var c=a.extend({url:b.src,success:function(c,d,e){var f={data:c,xhr:e};y("ParseAjax",f),n.appendContent(a(f.data),H),b.finished=!0,J(),n._setFocus(),setTimeout(function(){n.wrap.addClass(k)},16),n.updateStatus("ready"),y("AjaxContentAdded")},error:function(){J(),b.finished=b.loadError=!0,n.updateStatus("error",n.st.ajax.tError.replace("%url%",b.src))}},n.st.ajax.settings);return n.req=a.ajax(c),""}}});var L,M=function(b){if(b.data&&b.data.title!==undefined)return b.data.title;var c=n.st.image.titleSrc;if(c){if(a.isFunction(c))return c.call(n,b);if(b.el)return b.el.attr(c)||""}return""};a.magnificPopup.registerModule("image",{options:{markup:'
',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'
The image could not be loaded.'},proto:{initImage:function(){var c=n.st.image,d=".image";n.types.push("image"),w(g+d,function(){n.currItem.type==="image"&&c.cursor&&a(document.body).addClass(c.cursor)}),w(b+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),r.off("resize"+j)}),w("Resize"+d,n.resizeImage),n.isLowIE&&w("AfterChange",n.resizeImage)},resizeImage:function(){var a=n.currItem;if(!a||!a.img)return;if(n.st.image.verticalFit){var b=0;n.isLowIE&&(b=parseInt(a.img.css("padding-top"),10)+parseInt(a.img.css("padding-bottom"),10)),a.img.css("max-height",n.wH-b)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,L&&clearInterval(L),a.isCheckingImgSize=!1,y("ImageHasSize",a),a.imgHidden&&(n.content&&n.content.removeClass("mfp-loading"),a.imgHidden=!1))},findImageSize:function(a){var b=0,c=a.img[0],d=function(e){L&&clearInterval(L),L=setInterval(function(){if(c.naturalWidth>0){n._onImageHasSize(a);return}b>200&&clearInterval(L),b++,b===3?d(10):b===40?d(50):b===100&&d(500)},e)};d(1)},getImage:function(b,c){var d=0,e=function(){b&&(b.img[0].complete?(b.img.off(".mfploader"),b===n.currItem&&(n._onImageHasSize(b),n.updateStatus("ready")),b.hasSize=!0,b.loaded=!0,y("ImageLoadComplete")):(d++,d<200?setTimeout(e,100):f()))},f=function(){b&&(b.img.off(".mfploader"),b===n.currItem&&(n._onImageHasSize(b),n.updateStatus("error",g.tError.replace("%url%",b.src))),b.hasSize=!0,b.loaded=!0,b.loadError=!0)},g=n.st.image,h=c.find(".mfp-img");if(h.length){var i=document.createElement("img");i.className="mfp-img",b.el&&b.el.find("img").length&&(i.alt=b.el.find("img").attr("alt")),b.img=a(i).on("load.mfploader",e).on("error.mfploader",f),i.src=b.src,h.is("img")&&(b.img=b.img.clone()),i=b.img[0],i.naturalWidth>0?b.hasSize=!0:i.width||(b.hasSize=!1)}return n._parseMarkup(c,{title:M(b),img_replaceWith:b.img},b),n.resizeImage(),b.hasSize?(L&&clearInterval(L),b.loadError?(c.addClass("mfp-loading"),n.updateStatus("error",g.tError.replace("%url%",b.src))):(c.removeClass("mfp-loading"),n.updateStatus("ready")),c):(n.updateStatus("loading"),b.loading=!0,b.hasSize||(b.imgHidden=!0,c.addClass("mfp-loading"),n.findImageSize(b)),c)}}});var N,O=function(){return N===undefined&&(N=document.createElement("p").style.MozTransform!==undefined),N};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a=n.st.zoom,d=".zoom",e;if(!a.enabled||!n.supportsTransition)return;var f=a.duration,g=function(b){var c=b.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+a.duration/1e3+"s "+a.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,c.css(e),c},h=function(){n.content.css("visibility","visible")},i,j;w("BuildControls"+d,function(){if(n._allowZoom()){clearTimeout(i),n.content.css("visibility","hidden"),e=n._getItemToZoom();if(!e){h();return}j=g(e),j.css(n._getOffset()),n.wrap.append(j),i=setTimeout(function(){j.css(n._getOffset(!0)),i=setTimeout(function(){h(),setTimeout(function(){j.remove(),e=j=null,y("ZoomAnimationEnded")},16)},f)},16)}}),w(c+d,function(){if(n._allowZoom()){clearTimeout(i),n.st.removalDelay=f;if(!e){e=n._getItemToZoom();if(!e)return;j=g(e)}j.css(n._getOffset(!0)),n.wrap.append(j),n.content.css("visibility","hidden"),setTimeout(function(){j.css(n._getOffset())},16)}}),w(b+d,function(){n._allowZoom()&&(h(),j&&j.remove(),e=null)})},_allowZoom:function(){return n.currItem.type==="image"},_getItemToZoom:function(){return n.currItem.hasSize?n.currItem.img:!1},_getOffset:function(b){var c;b?c=n.currItem.img:c=n.st.zoom.opener(n.currItem.el||n.currItem);var d=c.offset(),e=parseInt(c.css("padding-top"),10),f=parseInt(c.css("padding-bottom"),10);d.top-=a(window).scrollTop()-e;var g={width:c.width(),height:(p?c.innerHeight():c[0].offsetHeight)-f-e};return O()?g["-moz-transform"]=g.transform="translate("+d.left+"px,"+d.top+"px)":(g.left=d.left,g.top=d.top),g}}});var P="iframe",Q="//about:blank",R=function(a){if(n.currTemplate[P]){var b=n.currTemplate[P].find("iframe");b.length&&(a||(b[0].src=Q),n.isIE8&&b.css("display",a?"block":"none"))}};a.magnificPopup.registerModule(P,{options:{markup:'
',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){n.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(b+"."+P,function(){R()})},getIframe:function(b,c){var d=b.src,e=n.st.iframe;a.each(e.patterns,function(){if(d.indexOf(this.index)>-1)return this.id&&(typeof this.id=="string"?d=d.substr(d.lastIndexOf(this.id)+this.id.length,d.length):d=this.id.call(this,d)),d=this.src.replace("%id%",d),!1});var f={};return e.srcAction&&(f[e.srcAction]=d),n._parseMarkup(c,f,b),n.updateStatus("ready"),c}}});var S=function(a){var b=n.items.length;return a>b-1?a-b:a<0?b+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'
',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=n.st.gallery,d=".mfp-gallery";n.direction=!0;if(!c||!c.enabled)return!1;u+=" mfp-gallery",w(g+d,function(){c.navigateByImgClick&&n.wrap.on("click"+d,".mfp-img",function(){if(n.items.length>1)return n.next(),!1}),s.on("keydown"+d,function(a){a.keyCode===37?n.prev():a.keyCode===39&&n.next()})}),w("UpdateStatus"+d,function(a,b){b.text&&(b.text=T(b.text,n.currItem.index,n.items.length))}),w(f+d,function(a,b,d,e){var f=n.items.length;d.counter=f>1?T(c.tCounter,e.index,f):""}),w("BuildControls"+d,function(){if(n.items.length>1&&c.arrows&&!n.arrowLeft){var b=c.arrowMarkup,d=n.arrowLeft=a(b.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(m),e=n.arrowRight=a(b.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(m);d.click(function(){n.prev()}),e.click(function(){n.next()}),n.container.append(d.add(e))}}),w(h+d,function(){n._preloadTimeout&&clearTimeout(n._preloadTimeout),n._preloadTimeout=setTimeout(function(){n.preloadNearbyImages(),n._preloadTimeout=null},16)}),w(b+d,function(){s.off(d),n.wrap.off("click"+d),n.arrowRight=n.arrowLeft=null})},next:function(){n.direction=!0,n.index=S(n.index+1),n.updateItemHTML()},prev:function(){n.direction=!1,n.index=S(n.index-1),n.updateItemHTML()},goTo:function(a){n.direction=a>=n.index,n.index=a,n.updateItemHTML()},preloadNearbyImages:function(){var a=n.st.gallery.preload,b=Math.min(a[0],n.items.length),c=Math.min(a[1],n.items.length),d;for(d=1;d<=(n.direction?c:b);d++)n._preloadItem(n.index+d);for(d=1;d<=(n.direction?b:c);d++)n._preloadItem(n.index-d)},_preloadItem:function(b){b=S(b);if(n.items[b].preloaded)return;var c=n.items[b];c.parsed||(c=n.parseEl(b)),y("LazyLoad",c),c.type==="image"&&(c.img=a('
![]()
').on("load.mfploader",function(){c.hasSize=!0}).on("error.mfploader",function(){c.hasSize=!0,c.loadError=!0,y("LazyLoadError",c)}).attr("src",c.src)),c.preloaded=!0}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=n.st.retina,b=a.ratio;b=isNaN(b)?b():b,b>1&&(w("ImageHasSize."+U,function(a,c){c.img.css({"max-width":c.img[0].naturalWidth/b,width:"100%"})}),w("ElementParse."+U,function(c,d){d.src=a.replaceSrc(d,b)}))}}}}),A()});
/*
* Mapplic - Custom Interactive Map Plugin by @sekler
* Version 7.1
* https://www.mapplic.com/
*/
;(function($) {
"use strict";
var Mapplic = function(element) {
var self = this;
self.o = {
source: 'locations.json',
selector: '[id^=MLOC] > *, [id^=landmark] > *, svg > #items > *',
external: '.mapplic-external',
scope: null,
customcss: null,
iconfile: null,
height: 'auto',
minheight: 400,
maxheight: 800,
csv: false,
landmark: false,
portrait: 860,
minimap: false,
deeplinking: true,
lightbox: true,
fullscreen: false,
hovertip: true,
defaultstyle: null,
moretext: null,
action: 'default',
marker: '',
developer: false,
smartip: false,
animations: false,
hovertipdesc: false,
// sidebar
sidebar: true,
sidebartoggle: false,
filtersopened: false,
search: true,
searchlength: 1,
searchfields: ['title', 'about', 'category'],
searchdescription: false,
highlight: true,
thumbholder: false,
autopopulate: false,
sortby: 'title',
// zoom
zoom: true,
clearbutton: true,
zoombuttons: true,
zoomoutclose: false,
closezoomout: true,
linknewtab: false,
mousewheel: true,
mapfill: false,
zoommargin: 200,
maxscale: 3,
// UI Colors
basecolor: null,
bgcolor: null,
bgcolor2: null,
headingcolor: null,
textcolor: null,
accentcolor: null
};
self.loc = {
more: 'More',
search: 'Search',
zoomin: 'Zoom in',
zoomout: 'Zoom out',
resetzoom: 'Reset zoom',
levelup: 'Level up',
leveldown: 'Level down',
clearsearch: 'Clear search',
closepopup: 'Close popup',
clearfilter: 'Clear filter',
iconfile: 'mapplic/images/icons.svg'
}
self.el = element;
self.init = function(options) {
// merging options with defaults
self.o = $.extend(self.o, options);
if (typeof mapplic_localization !== 'undefined') self.loc = $.extend(self.loc, mapplic_localization);
if (self.o.iconfile) self.loc.iconfile = self.o.iconfile;
self.el.addClass('mapplic-element mapplic-loading');
// trigger event
self.el.trigger('mapload', self);
// scope
if (self.o.scope) self.scope = $(self.o.scope);
else self.scope = self.el;
// process map data
var data = self.el.data('mapdata');
if (self.el.data('mapdata')) {
var mapdata = self.el.data('mapdata');
self.el.removeAttr('data-mapdata').removeData('mapdata');
processData(mapdata);
self.el.removeClass('mapplic-loading');
}
else if (typeof self.o.source === 'string') {
// loading .json file with AJAX
$.getJSON(self.o.source, function(data) {
processData(data);
self.el.removeClass('mapplic-loading');
}).fail(function() { // Failure: couldn't load JSON file or it is invalid.
console.error('Couldn\'t load map data. (Make sure to run the script through web server)');
self.el.removeClass('mapplic-loading').addClass('mapplic-error');
alert('Data file missing or invalid!\nMake sure to run the script through web server.');
});
}
else {
// inline json object
processData(self.o.source);
self.el.removeClass('mapplic-loading');
}
return self;
}
// tooltip
function Tooltip() {
this.el = null;
this.pin = null;
this.shift = 6;
this.drop = 0;
this.location = null;
this.init = function(location, check) {
var s = this;
// markup
this.el = $('
').addClass('mapplic-tooltip');
this.wrap = $('
').addClass('mapplic-tooltip-wrap').appendTo(this.el);
this.close = $('
').append(getIcon('icon-cross')).addClass('mapplic-tooltip-close').attr('aria-label', self.loc.closepopup).on('click touchend', function(e) {
e.preventDefault();
self.hideLocation();
if (!self.o.zoom || self.o.zoomoutclose) self.moveTo(0.5, 0.5, self.fitscale, 400);
}).appendTo(this.wrap);
this.image = $('
![]()
').addClass('mapplic-image').attr('alt', 'Location image').hide().appendTo(this.wrap);
this.body = $('
').addClass('mapplic-tooltip-body').attr('aria-modal','true').appendTo(this.wrap);
this.title = $('
').addClass('mapplic-tooltip-title').appendTo(this.body);
this.content = $('
').addClass('mapplic-tooltip-content').appendTo(this.body);
this.desc = $('
').addClass('mapplic-tooltip-description').appendTo(this.content);
this.link = $('
' + self.loc.more + '').addClass('mapplic-popup-link').attr('href', '#').hide().appendTo(this.body);
if (self.o.linknewtab) this.link.attr('target', '_blank');
this.triangle = $('
').addClass('mapplic-tooltip-triangle').prependTo(this.wrap);
// no focus on deeplink
if (!check) this.body.attr('tabindex', '-1');
$('.mapplic-layer.mapplic-visible', self.map).append(this.el);
if (self.o.smartip) self.el.on('positionchanged', {s: s}, this.repos);
this.el.css({'transform': 'scale(' + 1/self.scale + ')'});
if (location) this.show(location);
// close tooltip
$(document).on('keyup.mapplic', function(e) {
e.stopImmediatePropagation();
if ((e.keyCode === 27)) {
self.hideLocation();
if (!self.o.zoom || self.o.zoomoutclose) self.moveTo(0.5, 0.5, self.fitscale, 400);
}
});
return this;
}
this.repos = function(e) {
var s = e.data.s,
tx = '-50%',
ty = '-100%';
// vertical
var rtop = s.el.offset().top - self.container.el.offset().top;
if (rtop < s.wrap.outerHeight() + 36) {
s.el.addClass('mapplic-tooltip-bottom');
ty = "0%";
}
else {
s.el.removeClass('mapplic-tooltip-bottom');
ty = "-100%";
}
// horizontal
var rleft = s.el.offset().left - self.container.el.offset().left;
if (rleft < s.wrap.outerWidth() / 2) {
if (rleft > 12) tx = -(100 + rleft / s.wrap.outerWidth() * 100) + 100 + "%";
else tx = "-10%";
}
else if (rleft > self.container.el.outerWidth() - s.wrap.outerWidth() / 2) {
if (rleft < self.container.el.outerWidth() - 12) tx = (self.container.el.outerWidth() - rleft) / s.wrap.outerWidth() * 100 - 100 + "%";
else tx = "-90%";
}
else tx = "-50%"
s.wrap.css({ 'transform': 'translate(' + tx + ', ' + ty + ')' });
}
this.show = function(location) {
if (location) {
var s = this;
this.el.attr('data-location', location.id);
this.location = location;
if (self.hovertip) self.hovertip.hide();
if (location.image) {
this.image.attr('src', '');
this.image.attr('src', location.image).show();
}
else this.image.hide();
if (location.link) {
this.link.attr('href', location.link).css('background-color', '').show();
if (location.color) this.link.css('background-color', location.color);
}
else this.link.hide();
this.title.text(location.title);
if (location.description) this.desc.html(location.description);
else this.desc.empty();
this.content[0].scrollTop = 0;
// shift
this.pin = $('.mapplic-pin[data-location="' + location.id + '"]');
if (this.pin.length == 0) {
this.shift = 20;
}
else this.shift = Math.abs(parseFloat(this.pin.css('margin-top'))) + 20;
// making it visible
this.el.stop().css({opacity: 1}).show();
setTimeout(function() {s.body.focus() }, 600);
this.position();
if (self.o.zoom) this.zoom(location);
// loading & positioning
/*
$('img', this.el).off('load').on('load', function() {
s.position();
if (self.o.zoom) s.zoom(location);
});*/
}
}
this.position = function() {
if (this.location) {
this.el.css({
left: (this.location.x * 100) + '%',
top: (this.location.y * 100) + '%'
});
this.drop = this.el.outerHeight() + this.shift;
if (self.o.smartip) this.repos({ data: { s: this}});
}
}
this.zoom = function(location) {
var ry = 0.5,
zoom = location.zoom ? parseFloat(location.zoom)/self.o.maxscale : 1;
ry = (self.container.el.height()/2 + this.drop/2) / self.container.el.height();
self.moveTo(location.x, location.y, zoom, 600, ry);
}
this.hide = function() {
var s = this;
this.location = null;
this.el.stop().fadeOut(200, function() { $(this).remove(); });
if (self.o.smartip) self.el.off('positionchanged', this.repos);
}
}
// hover tooltip
function HoverTooltip() {
this.el = null;
this.pin = null;
this.shift = 6;
this.init = function() {
var s = this;
// construct
this.el = $('
').addClass('mapplic-tooltip mapplic-hovertip');
this.wrap = $('
').addClass('mapplic-tooltip-wrap').appendTo(this.el);
this.title = $('
').addClass('mapplic-tooltip-title').appendTo(this.wrap);
if (self.o.hovertipdesc) this.desc = $('
').addClass('mapplic-tooltip-description').appendTo(this.wrap);
this.triangle = $('
').addClass('mapplic-tooltip-triangle').appendTo(this.wrap);
// events
// markers + old svg
$(self.map).on('mouseover', '.mapplic-pin', function() {
var id = $(this).data('location');
s.pin = $('.mapplic-pin[data-location="' + id + '"]');
s.shift = Math.abs(parseFloat(s.pin.css('margin-top'))) + 20;
var location = self.l[id];
if (location && location.title) s.show(location);
}).on('mouseout', function() {
s.hide();
});
// new svg
if (self.o.selector) {
$(self.map).on('mouseover touchstart', self.o.selector, function() {
var location = self.l[$(this).attr('id')];
s.shift = 20;
if (location && location.title) s.show(location);
}).on('mouseout touchend', function() {
s.hide();
});
}
self.el.on('positionchanged', {s: s}, this.repos);
self.map.append(this.el);
return this;
}
this.repos = function(e) {
var s = e.data.s,
tx = '-50%',
ty = '-100%';
// vertical
var rtop = s.el.offset().top - self.container.el.offset().top;
if (rtop < s.wrap.outerHeight() + 36) {
s.el.addClass('mapplic-tooltip-bottom');
ty = "0%";
}
else {
s.el.removeClass('mapplic-tooltip-bottom');
ty = "-100%";
}
// horizontal
var rleft = s.el.offset().left - self.container.el.offset().left;
if (rleft < s.wrap.outerWidth() / 2) {
if (rleft > 12) tx = -(100 + rleft / s.wrap.outerWidth() * 100) + 100 + "%";
else tx = "-10%";
}
else if (rleft > self.container.el.outerWidth() - s.wrap.outerWidth() / 2) {
if (rleft < self.container.el.outerWidth() - 12) tx = (self.container.el.outerWidth() - rleft) / s.wrap.outerWidth() * 100 - 100 + "%";
else tx = "-90%";
}
else tx = "-50%"
s.wrap.css({ 'transform': 'translate(' + tx + ', ' + ty + ')' });
}
this.show = function(location) {
if (self.location != location) {
this.title.text(location.title);
if (self.o.hovertipdesc) {
if (location.description) this.desc.html(location.description);
else this.desc.empty();
}
this.position(location);
this.el.stop().fadeIn(100);
}
this.repos({ data: { s: this}});
}
this.position = function(location) {
if (location) {
this.el.css({
left: (location.x * 100) + '%',
top: (location.y * 100) + '%'
});
this.drop = this.el.outerHeight() + this.shift;
}
}
this.hide = function() {
this.el.stop().fadeOut(200);
}
}
// lightbox
function Lightbox() {
this.el = null;
this.init = function() {
// construct
this.el = $('
').addClass('mapplic-lightbox mfp-hide');
this.title = $('
').addClass('mapplic-lightbox-title').appendTo(this.el);
this.desc = $('
').addClass('mapplic-lightbox-description').appendTo(this.el);
this.link = $('
' + self.loc.more + '').addClass('mapplic-popup-link').attr('href', '#').hide().appendTo(this.el);
if (self.o.linknewtab) this.link.attr('target', '_blank');
// append
self.el.append(this.el);
return this;
}
this.show = function(location) {
this.location = location;
this.title.text(location.title);
this.desc.html(location.description);
if (location.link) {
this.link.attr('href', location.link).css('background-color', '').show();
if (location.color) this.link.css('background-color', location.color);
}
else this.link.hide();
var s = this;
$.magnificPopup.open({
items: { src: this.el },
type: 'inline',
removalDelay: 300,
mainClass: 'mfp-fade',
callbacks: {
beforeClose: function() {
s.hide();
}
}
});
// zoom
var zoom = location.zoom ? parseFloat(location.zoom) : 1;
if (self.o.zoom) self.moveTo(location.x, location.y, zoom, 600);
return this.el[0];
}
this.showImage = function(location) {
this.location = location;
var s = this;
$.magnificPopup.open({
items: { src: location.image },
type: 'image',
removalDelay: 300,
mainClass: 'mfp-fade',
callbacks: {
beforeClose: function() {
s.hide();
}
}
});
// zoom
var zoom = location.zoom ? parseFloat(location.zoom) : 1;
if (self.o.zoom) self.moveTo(location.x, location.y, zoom, 600);
}
this.hide = function() {
this.location = null;
self.hideLocation();
if (!self.o.zoom || self.o.zoomoutclose) self.moveTo(0.5, 0.5, self.fitscale, 400);
}
}
// external
function External() {
this.el = null;
this.init = function() {
this.el = $('
').addClass('mapplic-external-content').hide();
this.title = $('
').addClass('mapplic-external-title').appendTo(this.el);
this.desc = $('
').addClass('mapplic-external-description').appendTo(this.el);
this.initial = $(self.o.external + ' > *:not(.mapplic-external-content)');
$(self.o.external).append(this.el);
return this;
}
this.show = function(location) {
this.title.text(location.title);
this.desc.html(location.description);
this.initial.hide();
this.el.show();
}
this.hide = function() {
this.initial.show();
this.el.hide();
}
}
// deeplinking
function Deeplinking() {
this.param = 'location';
this.resolved = false;
this.init = function() {
var s = this;
window.onpopstate = function(e) {
if (e.state) s.check(600);
return false;
}
}
this.check = function(duration) {
var id = this.getUrlParam(this.param);
if (id) {
self.showLocation(id, duration, true);
this.resolved = true;
}
}
this.getUrlParam = function(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
this.update = function(id) {
var url;
if (typeof window.URL !== 'undefined') {
url = new URL(window.location.href);
url.searchParams.set(this.param, id);
url = url.href
} else {
url = window.location.protocol + "//" + window.location.host + window.location.pathname + '?' + this.param + '=' + id;
}
window.history.pushState({path: url}, '', url);
}
this.clear = function() {
var url;
if (typeof window.URL !== 'undefined') {
url = new URL(window.location.href);
url.searchParams.delete(this.param);
url = url.href;
} else {
url = window.location.pathname;
}
history.pushState('', document.title, url);
}
}
// old hash deeplinking method for old browsers (starting IE9)
function DeeplinkingHash() {
this.param = 'location';
this.resolved = false;
this.init = function() {
var s = this;
this.check(0);
$(window).on('hashchange', function() {
//s.check(600);
});
}
this.check = function(duration) {
var id = location.hash.slice(this.param.length + 2);
if (id) {
self.showLocation(id, duration, true);
this.resolved = true;
}
}
this.update = function(id) {
window.location.hash = this.param + '-' + id;
}
this.clear = function() {
window.location.hash = this.param;
}
}
// minimap
function Minimap() {
this.el = null;
this.opacity = null;
this.init = function() {
this.el = $('
').addClass('mapplic-minimap').appendTo(self.container.el);
this.el.click(function(e) {
e.preventDefault();
var x = (e.pageX - $(this).offset().left) / $(this).width(),
y = (e.pageY - $(this).offset().top) / $(this).height();
self.moveTo(x, y, self.scale / self.fitscale, 100);
});
return this;
}
this.addLayer = function(data) {
var layer = $('
').addClass('mapplic-minimap-layer').attr('data-floor', data.id).appendTo(this.el),
s = this;
$('
![]()
').attr('src', data.minimap).addClass('mapplic-minimap-background').attr('aria-hidden', 'true').appendTo(layer);
$('
').addClass('mapplic-minimap-overlay').appendTo(layer);
$('
![]()
').attr('src', data.minimap).addClass('mapplic-minimap-active').attr('aria-hidden', 'true').on('load', function() {
s.update();
}).appendTo(layer);
}
this.show = function(target) {
$('.mapplic-minimap-layer', this.el).hide();
$('.mapplic-minimap-layer[data-floor="' + target + '"]', this.el).show();
}
this.update = function(x, y) {
var active = $('.mapplic-minimap-active', this.el);
if (x === undefined) x = self.x;
if (y === undefined) y = self.y;
var width = (self.container.el.width() / self.contentWidth / self.scale * this.el.width()),
height = (self.container.el.height() / self.contentHeight / self.scale * this.el.height()),
top = (-y / self.contentHeight / self.scale * this.el.height()),
left = (-x / self.contentWidth / self.scale * this.el.width()),
right = left + width,
bottom = top + height;
active.each(function() {
$(this)[0].style.clip = 'rect(' + top + 'px, ' + right + 'px, ' + bottom + 'px, ' + left + 'px)';
});
// fade out effect
var s = this;
this.el.show();
this.el.css('opacity', 1.0);
clearTimeout(this.opacity);
this.opacity = setTimeout(function() {
s.el.css('opacity', 0);
setTimeout(function() { s.el.hide(); }, 600);
}, 2000);
}
}
// legend
function Legend() {
this.el = null;
this.nr = 0;
this.init = function() {
this.el = $('
').addClass('mapplic-legend');
return this;
}
this.build = function(categories) {
var s = this;
$.each(categories, function(index, category) {
if (category.legend == 'true') s.add(category);
});
if (this.nr > 0) this.el.appendTo(self.container.el);
}
this.add = function(group) {
var toggle = this.newToggle(group, true);
if (toggle) toggle.appendTo(this.el);
else {
var key = $('
').addClass('mapplic-legend-key');
if (group.color) key.css('background-color', group.color);
$('
').addClass('mapplic-legend-label').text(group.title).prepend(key).appendTo(this.el);
}
this.nr++;
}
this.toggle = function(group, state) {
$('*[id="' + group + '"]', self.map).toggle(state);
$('*[data-category*="' + group + '"]', self.map).each(function() {
var attr = $(this).attr('data-category');
if (attr == group) $(this).toggle(state);
else { // multi-group support
var groups = attr.split(','),
show = false;
groups.forEach(function(g) { if ($('.mapplic-toggle > input[data-group="' + g + '"]')[0] && $('.mapplic-toggle > input[data-group="' + g + '"]')[0].checked) show = true; });
$(this).toggle(show);
}
});
}
this.newToggle = function(group, title) {
var s = this,
toggle = null;
if (group.toggle == 'true') {
toggle = $('
');
var input = $('
').attr('data-group', group.id).appendTo(toggle);
var circle = $('
').addClass('mapplic-toggle-circle').appendTo(toggle);
if (title) $('
').addClass('mapplic-legend-label').text(group.title).appendTo(toggle);
if (group.switchoff == 'true') input.prop('checked', false);
if (group.color) circle.css('background-color', group.color);
input.change(function() {
$('.mapplic-toggle > input[data-group="' + group.id + '"]', self.el).prop('checked', this.checked);
s.toggle(group.id, this.checked);
});
}
return toggle;
}
this.applyToggles = function() {
var s = this;
$('.mapplic-toggle > input', self.el).each(function() {
s.toggle($(this).attr('data-group'), this.checked);
});
}
}
// groups
function Groups() {
this.init = function() {}
this.addGroups = function(groups) {
if (groups) {
$.each(groups, function(index, group) {
self.g[group.id] = group;
if (group.style && self.s[group.style] && self.s[group.style].base) group.color = self.s[group.style].base.fill; // overwrite color with style
});
}
if (self.o.sidebar) self.sidebar.addCategories(groups);
}
}
// directory
function Directory() {
this.dirs = [];
this.filters = {};
this.init = function() {
var s = this,
event = 'mapready';
if (self.o.csv) event = 'csvready';
self.el.on(event, function(e, self) {
// dir
$('.mapplic-dir:not(.mapplic-dir-results)').each(function() {
var attribute = $(this).data('attribute'),
pattern = $(this).data('pattern'),
title = $(this).text();
if (title) $('
' + title + '
').appendTo($(this).empty());
s.getDirectory(attribute, pattern, attribute).appendTo($(this));
});
// filter
$('.mapplic-dir-filter').each(function() {
var el = $(this),
attribute = el.data('attribute'),
options = [];
// generate options
if ($(this).hasClass('mapplic-dir-filter-generate')) {
$.each(self.l, function(id, location) {
if (location[attribute]) {
var atts = location[attribute].toString().split(',');
atts.forEach(function(att) { if (options.indexOf(att) === -1) options.push(att); });
}
});
options.forEach(function(option) {
var text = option;
if (attribute == 'category' && self.g[option]) text = self.g[option].title;
$('
').attr('value', option).text(text).appendTo(el);
});
}
// changed
$(this).on('change', function() {
if (this.value) s.filters[attribute] = this.value;
else delete s.filters[attribute];
s.search();
});
});
});
// search
$('.mapplic-dir-search').keyup(function(e) {
var val = $(this).val();
if (val) s.filters['keyword'] = val;
else delete s.filters['keyword'];
s.search();
if (e.keyCode == 13) $('.mapplic-dir-results li > a').filter(':first').click();
else if (e.keyCode == 27) s.clearFilters();
});
// results
var restitle = $('
0 found
').appendTo($('.mapplic-dir-results'));
$('
').appendTo($('.mapplic-dir-results'));
$('
').text('Clear').append(getIcon('icon-cross')).addClass('mapplic-dir-results-clear').appendTo(restitle).on('click', function() {
s.clearFilters();
});
// list/grid
var directories = $('.mapplic-dir-view').parent().find('.mapplic-dir');
$('.mapplic-dir-view-list').click(function() {
$(this).hide();
$('.mapplic-dir-view-grid').show();
directories.removeClass('mapplic-dir-grid');
});
$('.mapplic-dir-view-grid').click(function() {
$(this).hide();
$('.mapplic-dir-view-list').show();
directories.addClass('mapplic-dir-grid');
});
return this;
}
this.getDirectory = function(attribute, pattern, sortby) {
var s = this,
dir = $('
'),
regex = new RegExp(pattern, 'i');
$.each(self.l, function(id, location) {
if (attribute && pattern && !regex.test(location[attribute])) return true; // skip if no match
if (String(location.hide) != 'true') dir.append(s.getItem(location));
});
if (sortby) this.sortby(dir, sortby);
this.dirs.push(dir);
return dir;
}
this.getItem = function(location) {
if (!location.id) location = self.l[location];
var item = $('
').addClass('mapplic-dir-item').attr('data-location', location.id);
var link = $('
').attr('href', '#').click(function(e) {
e.preventDefault();
self.showLocation(location.id, 600);
// scroll back to map on mobile
if (($(window).width() < 668) && (location.action || self.o.action) != 'lightbox') {
$('html, body').animate({
scrollTop: self.container.el.offset().top
}, 400);
}
}).appendTo(item);
if (self.o.sortby) item.data('sort', location[self.o.sortby]);
if (self.o.thumbholder) {
var thumbnail = this.thumbnail(location.title, location.thumbnail);
if (thumbnail) thumbnail.appendTo(link);
}
$('
').text(location.title).appendTo(link);
$('
').html(location.about).addClass('mapplic-about').appendTo(link);
if (location.color) item.css('border-color', location.color);
location.list = item;
return item;
}
this.thumbnail = function(name, field) {
var elem = null;
if (field) {
if (field.match(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g)) elem = $('
![]()
').attr('src', field).attr('alt', name).addClass('mapplic-thumbnail');
else elem = $('
').addClass('mapplic-thumbnail mapplic-thumbnail-placeholder').attr('aria-hidden', 'true').html(field);
}
else if (name) {
var words = name.split(' '),
text = '';
if (words[0]) text += words[0][0];
if (words[1]) text += words[1][0];
elem = $('
').addClass('mapplic-thumbnail mapplic-thumbnail-placeholder').attr('aria-hidden', 'true').text(text.toUpperCase());
}
return elem;
}
this.search = function() {
var s = this;
$('.mapplic-dir-results ul').empty();
if (self.o.highlight) {
self.map.removeClass('mapplic-filtered');
$('.mapplic-highlight', self.map).removeClass('mapplic-highlight');
}
$.each(self.l, function(i, location) {
var matched = true; // matched false, current ||
$.each(s.filters, function(attribute, filter) {
var current = false;
if (attribute == 'keyword') $.each(self.o.searchfields, function(i, field) { if (location[field] && !current) current = !(s.normalizeString(location[field]).indexOf(s.normalizeString(filter)) == -1); });
else if (location[attribute] && location[attribute].indexOf(filter) != -1) current = true;
matched = matched && current;
});
if (matched) {
$('.mapplic-dir-item[data-location="' + location.id + '"]').clone(true).appendTo($('.mapplic-dir-results ul')); // results
if (self.o.highlight && !$.isEmptyObject(s.filters) && location.el) location.el.addClass('mapplic-highlight'); // highlight
}
});
s.sortby($('.mapplic-dir-results ul'), 'title'); // alphabetic sort by title
if ($.isEmptyObject(s.filters)) {
$('.mapplic-dir').show();
$('.mapplic-dir-results').hide();
}
else {
$('.mapplic-dir').hide();
$('.mapplic-dir-results').show();
if (self.o.highlight) self.map.addClass('mapplic-filtered');
}
$('.mapplic-dir-results h3 span').text($('.mapplic-dir-results .mapplic-dir-item').length); // count
}
this.clearFilters = function() {
this.filters = {};
$('.mapplic-dir-search').val('');
$('.mapplic-dir-filter').val('');
this.search();
}
this.normalizeString = function(s) {
if (s) return s.toString().toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, "");
else return '';
}
this.sort = function(dir, order) {
if (order === undefined) order = 1;
var items = dir.children('.mapplic-dir-item');
items.sort(function(a, b) {
var a = $(a).data('sort'),
b = $(b).data('sort');
if (isNaN(a) || isNaN(b)) {
return (a < b) ? -1 * order : 1 * order;
}
else return (a - b) * order;
}).appendTo(dir);
}
this.sortby = function(dir, attribute, order) {
var s = this;
if (order === undefined) order = 1;
var items = dir.children('.mapplic-dir-item');
items.each(function() {
$(this).data('sort', s.normalizeString(self.l[$(this).data('location')][attribute]));
});
this.sort(dir, order);
}
}
// sidebar
function Sidebar() {
this.el = null;
this.header = null;
this.clear = null;
this.input = null;
this.list = null;
this.tags = null;
this.toggle = null;
this.init = function() {
var s = this;
this.el = $('
').addClass('mapplic-sidebar').appendTo(self.el);
if (self.o.filtersopened) this.el.addClass('mapplic-sidebar-header-opened');
if (self.o.sidebartoggle) {
self.el.addClass('mapplic-dynamic-sidebar');
this.toggle = $('
').append(getIcon('icon-sidebar')).addClass('mapplic-button mapplic-sidebar-toggle').appendTo(self.container.el);
this.toggle.on('click touchstart', function(e) {
e.preventDefault();
self.el.toggleClass('mapplic-hidden-sidebar');
setTimeout(function() {
var wr = self.container.el.width() / self.contentWidth,
hr = self.container.el.height() / self.contentHeight;
if (self.o.mapfill) {
if (wr > hr) self.fitscale = wr;
else self.fitscale = hr;
}
else {
if (wr < hr) self.fitscale = wr;
else self.fitscale = hr;
}
if (self.container.oldW != self.container.el.width() || self.container.oldH != self.container.el.height()) {
self.container.oldW = self.container.el.width();
self.container.oldH = self.container.el.height();
if (self.scale*self.contentWidth < self.container.el.width()) self.moveTo(self.x, self.y, self.scale, 600);
}
}, 400);
});
}
if (self.o.search) {
this.header = $('
').addClass('mapplic-sidebar-header').append(getIcon('icon-magnifier')).appendTo(this.el);
this.clear = $('
').addClass('mapplic-search-clear').append(getIcon('icon-cross')).appendTo(this.header);
this.headerwrap = $('
').appendTo(this.header);
this.input = $('
').attr({'type': 'text', 'spellcheck': 'false', 'placeholder': self.loc.search}).addClass('mapplic-search-input').keyup(function(e) {
var val = $(this).val();
if (val) self.directory.filters['keyword'] = val;
else delete self.directory.filters['keyword'];
s.el.toggleClass('mapplic-sidebar-header-opened', val.length < 1);
s.search();
if (e.keyCode == 13) $('.mapplic-list-container li > a').filter(':visible:first').click();
else if (e.keyCode == 27) $(this).blur();
});
this.input.focus(function() {
if ($(this).val().length < 1) s.el.addClass('mapplic-sidebar-header-opened');
});
$('body').click(function(e) {
if (!$.contains(s.header[0], e.target) && s.header[0] != e.target) s.el.removeClass('mapplic-sidebar-header-opened');
});
this.input.appendTo(this.headerwrap);
// clear search
this.clear.on('click touchstart', function(e) {
e.preventDefault();
s.input.val('');
s.tags.empty();
if (s.tags.children().length < 1) s.el.removeClass('mapplic-sidebar-tagsrow');
self.directory.filters = {};
s.search();
});
this.toggle = $('
').append(getIcon('icon-filter')).addClass('mapplic-search-toggle').click(function(e) {
e.preventDefault();
s.el.toggleClass('mapplic-sidebar-header-opened');
}).appendTo(this.headerwrap);
// tags
this.tags = $('
').addClass('mapplic-filter-tags').appendTo(this.headerwrap);
// filters
this.filter = $('
').addClass('mapplic-filter').appendTo(this.header);
// dim
this.dim = $('
').addClass('mapplic-sidebar-dim').click(function() { s.el.removeClass('mapplic-sidebar-header-opened'); }).appendTo(this.el);
}
else this.el.addClass('mapplic-sidebar-nosearch');
// items
var event = 'mapready';
if (self.o.csv) event = 'csvready';
self.el.on(event, function(e, self) {
s.dir = self.directory.getDirectory().addClass('mapplic-list-container').appendTo(s.el);
// alphabetic sort by title
if (self.o.alphabetic) self.directory.sortby(s.dir, 'title');
});
if (self.o.searchdescription && self.o.searchfields.indexOf('description') === -1) self.o.searchfields.push('description');
}
this.addTag = function(item) {
var s = this,
categories = [];
if (self.directory.filters['category']) categories = self.directory.filters['category'].split(',');
if (!categories.includes(item.id)) {
categories.push(item.id);
self.directory.filters['category'] = categories.toString();
this.el.addClass('mapplic-sidebar-tagsrow');
var tag = $('
').addClass('mapplic-tag').text(item.title).attr('aria-label', self.loc.clearfilter + ': ' + item.title).prependTo(this.tags);
$('
').appendTo(tag);
if (item.color) tag.css('background-color', item.color);
if (item.id) tag.attr('data-id', item.id);
tag.click(function() {
tag.remove();
if (s.tags.children().length < 1) s.el.removeClass('mapplic-sidebar-tagsrow');
if (self.directory.filters['category'] == item.id) delete self.directory.filters['category'];
else if (self.directory.filters['category']) {
categories = self.directory.filters['category'].split(',');
var i = categories.indexOf(item.id);
if (i > -1) {
categories.splice(i, 1)
self.directory.filters['category'] = categories.toString();
}
}
s.search();
}).appendTo(tag);
s.search();
this.el.removeClass('mapplic-sidebar-header-opened');
}
}
this.addCategories = function(categories) {
var s = this,
list = $('
'),
add = false;
if (categories) {
$.each(categories, function(index, category) {
category.nr = 0;
if (!(category.hide == 'true')) {
var item = $('
').addClass('mapplic-list-category').attr('data-category', category.id);
var link = $('
').attr('href', '#').prependTo(item);
var thumbnail = self.directory.thumbnail(category.title, category.icon).appendTo(link);
if (category.color && thumbnail) thumbnail.css({'background-color': category.color, 'border-color': category.color });
var title = $('
').addClass('mapplic-about').html(category.about).appendTo(link);
category.count = $('
').text('(0)').addClass('mapplic-list-count').appendTo(title);
var toggle = self.legend.newToggle(category)
if (toggle) toggle.appendTo(item);
link.on('click', function(e) {
e.preventDefault();
if (category.nr < 1 && toggle) $('> input', toggle).trigger('click');
else {
//s.input.val('');
s.addTag(category);
}
});
category.list = item;
item.appendTo(list);
add = true;
}
});
if (add) {
s.el.addClass('mapplic-sidebar-filterable');
//$('
').text('CATEGORIES').appendTo(s.filter);
list.appendTo(s.filter);
}
}
}
this.countCategory = function() {
$.each(self.g, function(i, group) {
if (group.count) {
group.count.text('(' + group.nr + ')');
if (group.nr < 1) group.count.hide();
else group.count.show();
}
});
}
// search
this.search = function() {
var s = this;
if (self.o.highlight) {
self.map.removeClass('mapplic-filtered');
$('.mapplic-highlight', self.map).removeClass('mapplic-highlight');
}
$.each(self.l, function(i, location) {
var matched = true; // matched false, current ||
$.each(self.directory.filters, function(attribute, filter) {
var current = false;
if (attribute == 'keyword') $.each(self.o.searchfields, function(i, field) { if (location[field] && !current) current = !(self.directory.normalizeString(location[field]).indexOf(self.directory.normalizeString(filter)) == -1); });
else if (location.category && attribute == 'category') {
var categories = location.category;
if (typeof categories == 'string') categories = categories.split(',');
categories.forEach(function(category) {
if (self.directory.filters['category'].split(',').includes(category)) current = true;
});
}
else if (location[attribute] && location[attribute].indexOf(filter) != -1) current = true;
matched = matched && current;
});
var item = $('.mapplic-dir-item[data-location="' + location.id + '"]', self.el);
if (matched) {
item.show();
if (self.o.highlight && !$.isEmptyObject(self.directory.filters) && location.el) location.el.addClass('mapplic-highlight'); // highlight
}
else item.hide();
});
if (!$.isEmptyObject(self.directory.filters)) {
if (self.o.highlight) self.map.addClass('mapplic-filtered');
self.el.addClass('mapplic-search-active');
}
else self.el.removeClass('mapplic-search-active');
}
}
// developer tools
function DevTools() {
this.el = null;
this.init = function() {
this.el = $('
').addClass('mapplic-coordinates').appendTo(self.container.el);
this.el.append('x: ');
$('
').addClass('mapplic-coordinates-x').appendTo(this.el);
this.el.append(' y: ');
$('
').addClass('mapplic-coordinates-y').appendTo(this.el);
$('.mapplic-layer', self.map).on('mousemove', function(e) {
var x = (e.pageX - self.map.offset().left) / self.map.width() / self.scale,
y = (e.pageY - self.map.offset().top) / self.map.height() / self.scale;
$('.mapplic-coordinates-x').text(parseFloat(x).toFixed(4));
$('.mapplic-coordinates-y').text(parseFloat(y).toFixed(4));
});
return this;
}
}
// clear button
function ClearButton() {
this.el = null;
this.init = function() {
this.el = $('
').text(self.loc.resetzoom).append(getIcon('icon-reset')).addClass('mapplic-button mapplic-clear-button').appendTo(self.container.el);
if (!self.o.zoombuttons) this.el.css('bottom', '0');
this.el.on('click touchstart', function(e) {
e.preventDefault();
self.hideLocation();
self.moveTo(0.5, 0.5, self.fitscale, 400);
});
return this;
}
this.update = function(scale) {
if (scale == self.fitscale) this.el.stop().fadeOut(200);
else this.el.stop().fadeIn(200);
}
}
// zoom buttons
function ZoomButtons() {
this.el = null;
this.init = function() {
this.el = $('
').addClass('mapplic-zoom-buttons').appendTo(self.container.el);
// zoom-in button
this.zoomin = $('
').attr('aria-label', self.loc.zoomin).append(getIcon('icon-plus')).addClass('mapplic-button mapplic-zoomin-button').appendTo(this.el);
this.zoomin.on('click touchstart', function(e) {
e.preventDefault();
self.container.stopMomentum();
var scale = self.scale;
self.scale = normalizeScale(scale + scale * 0.8);
self.x = normalizeX(self.x - (self.container.el.width() / 2 - self.x) * (self.scale / scale - 1));
self.y = normalizeY(self.y - (self.container.el.height() / 2 - self.y) * (self.scale / scale - 1));
zoomTo(self.x, self.y, self.scale, 400, 'ease');
});
// zoom-out button
this.zoomout = $('
').attr('aria-label', self.loc.zoomout).append(getIcon('icon-minus')).addClass('mapplic-button mapplic-zoomout-button').appendTo(this.el);
this.zoomout.on('click touchstart', function(e) {
e.preventDefault();
self.container.stopMomentum();
var scale = self.scale;
self.scale = normalizeScale(scale - scale * 0.4);
self.x = normalizeX(self.x - (self.container.el.width() / 2 - self.x) * (self.scale / scale - 1));
self.y = normalizeY(self.y - (self.container.el.height() / 2 - self.y) * (self.scale / scale - 1));
zoomTo(self.x, self.y, self.scale, 400, 'ease');
});
return this;
}
this.update = function(scale) {
this.zoomin.removeAttr('disabled');
this.zoomout.removeAttr('disabled');
if (scale == self.fitscale) this.zoomout.attr('disabled','disabled');
else if (scale == 1) this.zoomin.attr('disabled','disabled');
}
}
// fullscreen
function Fullscreen() {
this.el = null;
this.fsh = null; // fullscreen placeholder
this.esh = null; // element placeholder
this.init = function() {
var s = this;
this.fph = $('
').addClass('mapplic-fsh').prependTo('body');
this.eph = $('
').addClass('mapplic-esh').insertBefore(self.el);
// fullscreen button
this.el = $('
').append(getIcon('icon-fullscreen')).append(getIcon('icon-fullscreen-exit')).addClass('mapplic-button mapplic-fullscreen-button').click(function(e) {
self.el.toggleClass('mapplic-fullscreen');
if (self.el.hasClass('mapplic-fullscreen')) self.el.insertBefore(s.fph);
else self.el.insertBefore(s.eph);
$(document).resize();
}).appendTo(self.container.el);
// esc key
$(document).on('keyup.mapplic', function(e) {
if ((e.keyCode === 27) && $('.mapplic-fullscreen')[0]) {
$('.mapplic-element.mapplic-fullscreen').removeClass('mapplic-fullscreen');
self.el.insertBefore(s.eph);
$(document).resize();
}
});
}
}
// styles
function Styles() {
this.data = null;
this.init = function(data) {
this.data = data;
this.process(data);
return this;
}
this.process = function(styles) {
var css = '';
// basecolor
if (self.o.basecolor) css += this.rule('.mapplic-fullscreen, .mapplic-legend', 'background-color', self.o.basecolor);
// bgcolor
if (self.o.bgcolor) {
css += this.rule(
'.mapplic-button, .mapplic-tooltip-close .mapplic-icon, .mapplic-levels-select, .mapplic-levels button, .mapplic-level-switcher button.mapplic-selected, .mapplic-element *::-webkit-scrollbar-track, .mapplic-list-container, .mapplic-filter, .mapplic-sidebar-header, .mapplic-tooltip-wrap, .mapplic-lightbox, .mapplic-toggle:before',
'background-color',
self.o.bgcolor
);
css += this.rule('.mapplic-legend-key, .mapplic-element *::-webkit-scrollbar-thumb', 'border-color', self.o.bgcolor);
css += this.rule('.mapplic-tooltip:after', 'border-color', self.o.bgcolor + ' transparent transparent transparent !important');
css += this.rule('.mapplic-tooltip-bottom.mapplic-tooltip:after', 'border-color', 'transparent transparent ' + self.o.bgcolor + ' transparent !important');
}
// bgcolor2
if (self.o.bgcolor2) {
css += this.rule(
'.mapplic-thumbnail-placeholder, .mapplic-level-switcher button, .mapplic-sidebar .mapplic-dir-item > a:hover, .mapplic-sidebar-header-opened.mapplic-sidebar-filterable .mapplic-search-toggle, .mapplic-sidebar .mapplic-dir-item > a:focus, .mapplic-sidebar .mapplic-dir-item.mapplic-active > a, .mapplic-list-category > a:hover, .mapplic-zoom-buttons button:disabled, .mapplic-levels button:disabled',
'background-color',
self.o.bgcolor2
);
css += this.rule('a.mapplic-zoomin-button', 'border-color', self.o.bgcolor2);
}
// headingcolor
if (self.o.headingcolor) {
css += this.rule('.mapplic-search-input, .mapplic-level-switcher button.mapplic-selected, .mapplic-list-category > a, .mapplic-tooltip-title, .mapplic-lightbox-title, .mapplic-sidebar .mapplic-dir-item h4, .mapplic-element strong, .mapplic-levels-select, .mapplic-list-category h4', 'color', self.o.headingcolor);
css += this.rule('.mapplic-icon', 'fill', self.o.headingcolor);
}
// textcolor
if (self.o.textcolor) css += this.rule('.mapplic-element, .mapplic-element a, .mapplic-level-switcher button, .mapplic-about, .mapplic-list-category > a .mapplic-list-count, .mapplic-search-input::placeholder, .mapplic-lightbox-description', 'color', self.o.textcolor);
// accentcolor
if (self.o.accentcolor) css += this.rule('.mapplic-popup-link, .mapplic-accentcolor', 'background-color', self.o.accentcolor);
if (styles) {
self.s = [];
styles.forEach(function(s) {
// styles object
self.s[s.class] = s;
if (s.base) {
css += '.' + s.class + '.mapplic-clickable:not(g), g.' + s.class + '.mapplic-clickable > * { ';
$.each(s.base, function(prop, val) { css += prop + ': ' + val + '; '; });
css += '}\n';
css += '.' + s.class + '.mapplic-pin {\n';
$.each(s.base, function(prop, val) {
css += ' background-color: ' + val + ';\n';
css += ' border-color: ' + val + ';\n';
});
css += '}\n\n';
}
if (s.hover) {
css += '.' + s.class + '.mapplic-highlight:not(g), g.' + s.class + '.mapplic-highlight > *, .' + s.class + '.mapplic-clickable:not(g):hover, g.' + s.class + '.mapplic-clickable:hover > * { ';
$.each(s.hover, function(prop, val) { css += prop + ': ' + val + '; ' });
css += '}\n';
css += '.' + s.class + '.mapplic-pin.mapplic-highlight, .' + s.class + '.mapplic-pin:hover {\n';
$.each(s.hover, function(prop, val) {
css += ' background-color: ' + val + ';\n';
css += ' border-color: ' + val + ';\n';
});
css += '}\n\n';
}
if (s.active) {
css += '.'+ s.class + '.mapplic-active:not(g), g.' + s.class + '.mapplic-active > * { ';
$.each(s.active, function(prop, val) { css += prop + ': ' + val + ' !important; ' });
css += '}\n';
css += '.' + s.class + '.mapplic-pin.mapplic-active {\n';
$.each(s.active, function(prop, val) {
css += ' background-color: ' + val + ';\n';
css += ' border-color: ' + val + ';\n';
});
css += '}\n\n';
}
});
}
if (self.o.customcss) css += self.o.customcss;
var style = $('').html(css).appendTo('body');
}
this.rule = function(selector, attribute, value) {
var css = selector + ' {\n';
css += ' ' + attribute + ': ' + value + ';\n';
css += '}\n\n';
return css;
}
}
function Container() {
this.el = null;
this.oldW = 0;
this.oldH = 0;
this.position = {x: 0, y: 0},
this.momentum = null;
this.levels = {};
this.init = function() {
this.el = $('
').addClass('mapplic-container').appendTo(self.el);
self.map = $('
').addClass('mapplic-map').appendTo(this.el);
self.map.css({
'width': self.contentWidth,
'height': self.contentHeight
});
return this;
}
// returns container height (px)
this.calcHeight = function(v) {
var val = Math.min(Math.max(this.getHeight(v), this.getHeight(self.o.minheight)), this.getHeight(self.o.maxheight));
if ($.isNumeric(val)) return val;
else return false;
}
this.getHeight = function(v) {
var val = v.toString().replace('px', '');
if ((val == 'auto') && (self.container.el)) val = self.container.el.width() * self.contentHeight / self.contentWidth;
else if (val.slice(-1) == '%') val = $(window).height() * val.replace('%', '') / 100;
return val;
}
this.resetZoom = function() {
var init = self.l['init'];
if (init) {
self.switchLevel(init.level);
if (!self.bboxZoom(init.el)) self.zoomLocation(init);
}
else self.moveTo(0.5, 0.5, self.fitscale, 0);
}
this.revealChild = function(parent) {
$('.mapplic-pin[data-location^=' + parent.id + '-]', self.map).addClass('mapplic-revealed');
$('.mapplic-map-image [id^=' + parent.id + '-]', self.map).addClass('mapplic-revealed');
}
this.revealZoom = function(zoom) {
$('.mapplic-pin[data-reveal]', self.map).each(function() {
var reveal = $(this).data('reveal');
if (zoom * self.o.maxscale >= reveal) $(this).addClass('mapplic-revealed');
else $(this).removeClass('mapplic-revealed');
});
}
this.coverAll = function() {
$('.mapplic-revealed', self.map).removeClass('mapplic-revealed');
}
this.stopMomentum = function() {
cancelAnimationFrame(this.momentum);
if (this.momentum != null) {
self.x = this.position.x;
self.y = this.position.y;
}
this.momentum = null;
}
this.addLevelSwitcher = function() {
if (self.data.levels.length > 1) {
var control = $('
').addClass('mapplic-level-switcher');
self.data.levels.forEach(function(level, i) {
var button = $('
').attr('data-level', level.id).text(level.title).prependTo(control).click(function(e) {
e.preventDefault();
self.switchLevel(level.id);
});
if (level.show) button.addClass('mapplic-selected');
});
this.el.append(control);
self.el.on('levelswitched', function(e, target) {
$('button', control).removeClass('mapplic-selected');
$('button[data-level="' + target + '"]', control).addClass('mapplic-selected');
});
}
}
this.addControls = function() {
self.map.addClass('mapplic-zoomable');
document.ondragstart = function() { return false; } // IE drag fix
// momentum
var friction = 0.85,
mouse = {x: 0, y: 0},
pre = {x: 0, y: 0},
previous = {x: this.position.x, y: this.position.y},
velocity = {x: 0, y: 0};
var s = this;
var momentumStep = function() {
s.momentum = requestAnimationFrame(momentumStep);
if (self.map.hasClass('mapplic-dragging')) {
pre.x = previous.x;
pre.y = previous.y;
previous.x = s.position.x;
previous.y = s.position.y;
s.position.x = mouse.x;
s.position.y = mouse.y;
velocity.x = previous.x - pre.x;
velocity.y = previous.y - pre.y;
}
else {
s.position.x += velocity.x;
s.position.y += velocity.y;
velocity.x *= friction;
velocity.y *= friction;
if (Math.abs(velocity.x) + Math.abs(velocity.y) < 0.1) {
s.stopMomentum();
self.x = s.position.x;
self.y = s.position.y;
}
}
s.position.x = normalizeX(s.position.x);
s.position.y = normalizeY(s.position.y);
zoomTo(s.position.x, s.position.y);
}
// drag & drop
$('.mapplic-map-image', self.map).on('mousedown', function(e) {
self.dragging = false;
self.map.addClass('mapplic-dragging');
s.stopMomentum();
var initial = {
x: e.pageX - self.x,
y: e.pageY - self.y
};
mouse.x = normalizeX(e.pageX - initial.x);
mouse.y = normalizeY(e.pageY - initial.y);
momentumStep();
self.map.on('mousemove', function(e) {
self.dragging = true;
mouse.x = normalizeX(e.pageX - initial.x);
mouse.y = normalizeY(e.pageY - initial.y);
});
$(document).on('mouseup.mapplic', function() {
$(document).off('mouseup.mapplic');
self.map.off('mousemove');
self.map.removeClass('mapplic-dragging');
});
});
// mousewheel
if (self.o.mousewheel) $('.mapplic-map-image', self.el).on('mousewheel DOMMouseScroll', self.mouseWheel);
// touch
var init1 = null,
init2 = null,
initD = 0,
initScale = null;
$('.mapplic-map-image', self.map).on('touchstart', function(e) {
e.preventDefault();
var eo = e.originalEvent;
if (eo.touches.length == 1) {
self.map.addClass('mapplic-dragging');
self.dragging = false;
s.stopMomentum();
init1 = {
x: eo.touches[0].pageX - self.x,
y: eo.touches[0].pageY - self.y
};
self.firstcoord = { x: eo.touches[0].pageX, y: eo.touches[0].pageY };
mouse = {
x: normalizeX(eo.touches[0].pageX - init1.x),
y: normalizeY(eo.touches[0].pageY - init1.y)
};
momentumStep();
self.map.on('touchmove', function(e) {
e.preventDefault();
self.dragging = true;
var eo = e.originalEvent;
if (eo.touches.length == 1) {
mouse.x = normalizeX(eo.touches[0].pageX - init1.x);
mouse.y = normalizeY(eo.touches[0].pageY - init1.y);
self.lastcoord = { x: eo.touches[0].pageX, y: eo.touches[0].pageY };
}
else if (eo.touches.length > 1) {
var pos = {
x: (eo.touches[0].pageX + eo.touches[1].pageX)/2,
y: (eo.touches[0].pageY + eo.touches[1].pageY)/2
}
var dist = Math.sqrt(Math.pow(eo.touches[0].pageX - eo.touches[1].pageX, 2) + Math.pow(eo.touches[0].pageY - eo.touches[1].pageY, 2)) / initD;
var scale = self.scale;
self.scale = normalizeScale(initScale * dist);
self.x = normalizeX(self.x - (pos.x - self.container.el.offset().left - self.x) * (self.scale/scale - 1));
self.y = normalizeY(self.y - (pos.y - self.container.el.offset().top - self.y) * (self.scale/scale - 1));
zoomTo(self.x, self.y, self.scale, 100, 'ease');
}
});
$(document).on('touchend.mapplic', function(e) {
e.preventDefault();
var dragback = null,
eo = e.originalEvent;
if (eo.touches.length == 0) {
clearTimeout(dragback);
$(document).off('touchend.mapplic');
self.map.off('touchmove');
self.map.removeClass('mapplic-dragging');
self.dragging = false;
}
else if (eo.touches.length == 1) {
dragback = setTimeout(function() {
self.map.addClass('mapplic-dragging');
self.dragging = true;
s.stopMomentum();
init1 = {
x: eo.touches[0].pageX - self.x,
y: eo.touches[0].pageY - self.y
};
mouse = {
x: normalizeX(eo.touches[0].pageX - init1.x),
y: normalizeY(eo.touches[0].pageY - init1.y)
};
momentumStep();
}, 60);
}
});
}
// pinch
else if (eo.touches.length == 2) {
self.dragging = true;
self.map.addClass('mapplic-dragging');
s.stopMomentum();
init2 = { x: eo.touches[1].pageX - self.x, y: eo.touches[1].pageY - self.y };
initD = Math.sqrt(Math.pow(init1.x - init2.x, 2) + Math.pow(init1.y - init2.y, 2));
initScale = self.scale;
}
});
}
}
// functions
var processData = function(data) {
self.data = data;
self.g = {};
self.l = {};
var shownLevel = null;
// extend options
self.o = $.extend(self.o, data);
$.each(self.el.data(), function(i, v) { self.o[i] = v; });
self.o.zoommargin = parseFloat(self.o.zoommargin);
self.o.maxscale = parseFloat(self.o.maxscale);
// more text
if (self.o.moretext) self.loc.more = self.o.moretext;
// height of container
if (self.el.data('height')) self.o.height = self.el.data('height');
self.contentWidth = parseFloat(data.mapwidth);
self.contentHeight = parseFloat(data.mapheight);
// limiting to scale 1
self.contentWidth = self.contentWidth * self.o.maxscale;
self.contentHeight = self.contentHeight * self.o.maxscale;
// create container
self.container = new Container().init();
// styles
self.styles = new Styles().init(self.o.styles);
// create minimap
if (self.o.minimap) self.minimap = new Minimap().init();
// create legend
self.legend = new Legend().init();
self.legend.build(data.groups || data.categories);
// directory
self.directory = new Directory().init();
// create sidebar
if (self.o.sidebar) {
self.sidebar = new Sidebar();
self.sidebar.init();
}
else self.container.el.css('width', '100%');
// groups
self.groups = new Groups();
self.groups.addGroups(data.groups || data.categories);
// trigger event
self.el.trigger('mapstart', self);
// iterate through levels
var levelnr = 0,
toload = 0;
if (data.levels) {
$.each(data.levels, function(index, level) {
var source = level.map,
extension = source.substr((source.lastIndexOf('.') + 1)).toLowerCase();
// new map layer
var layer = $('
').addClass('mapplic-layer').attr('data-floor', level.id).appendTo(self.map);
switch (extension) {
// image formats
case 'jpg': case 'jpeg': case 'png': case 'gif':
var mapimage = $('
').addClass('mapplic-map-image').appendTo(layer);
$('
![]()
').attr('src', source).attr('aria-hidden', 'true').addClass('mapplic-map-image').appendTo(mapimage);
if (level.locations) self.addLocations(level.locations, level.id);
break;
// vector format
case 'svg':
toload++;
var mapimage = $('
').addClass('mapplic-map-image').appendTo(layer);
$('
').load(source, function() {
// sanitize svg - XSS protection
$('script', this).remove();
mapimage.html($(this).html());
// illustrator duplicate id fix
$(self.o.selector, mapimage).each(function() {
var id = $(this).attr('id');
if (id) $(this).attr('id', id.replace(/_[1-9]+_$/g, ''));
});
// add locations
if (level.locations) self.addLocations(level.locations, level.id);
// click event
$(self.o.selector, mapimage).on('click touchend', function(e) {
var shift = Math.abs(self.firstcoord.x - self.lastcoord.x) + Math.abs(self.firstcoord.y - self.lastcoord.y);
if (!self.dragging || shift < 4) self.showLocation($(this).attr('id'), 600);
});
// autopopulate
if (self.o.autopopulate) {
var ap = [];
$(self.o.selector, mapimage).each(function() {
var id = $(this).attr('id'),
location = self.l[id];
if (!location) {
location = {
id: id,
title: id.charAt(0).toUpperCase() + id.slice(1),
pin: 'hidden'
};
ap.push(location);
}
});
self.addLocations(ap, level.id);
}
// trigger event(s)
self.el.trigger('svgloaded', [mapimage, level.id]);
toload--;
if (toload == 0) mapReady();
});
break;
// others
default:
alert('File type ' + extension + ' is not supported!');
}
// create new minimap layer
if (self.minimap) self.minimap.addLayer(level);
// shown level
if (!shownLevel || level.show) shownLevel = level.id;
levelnr++;
});
}
// COMPONENTS
self.tooltips = Array();
if (self.o.lightbox && $.magnificPopup) self.lightbox = new Lightbox().init();
if (self.o.hovertip) self.hovertip = new HoverTooltip().init();
if (self.o.external) self.external = new External().init();
if (self.o.clearbutton) self.clearbutton = new ClearButton().init();
if (self.o.zoombuttons) self.zoombuttons = new ZoomButtons().init();
if (self.o.fullscreen) self.fullscreen = new Fullscreen().init();
if (self.o.developer) self.devtools = new DevTools().init();
self.container.addLevelSwitcher();
self.switchLevel(shownLevel);
if (self.o.portrait === 'true') self.o.portrait = true;
// resize
$(window).resize(function() {
if (self.o.portrait == true || $.isNumeric(self.o.portrait) && self.el.width() < parseFloat(self.o.portrait)) {
self.el.addClass('mapplic-portrait');
if (self.el.hasClass('mapplic-fullscreen')) self.container.el.height($(window).height());
else self.container.el.height(self.container.calcHeight(self.o.height));
}
else {
self.el.removeClass('mapplic-portrait');
self.container.el.height('100%');
self.el.height(self.container.calcHeight(self.o.height));
}
var wr = self.container.el.width() / self.contentWidth,
hr = self.container.el.height() / self.contentHeight;
if (self.o.mapfill) {
if (wr > hr) self.fitscale = wr;
else self.fitscale = hr;
}
else {
if (wr < hr) self.fitscale = wr;
else self.fitscale = hr;
}
if (self.container.oldW != self.container.el.width() || self.container.oldH != self.container.el.height()) {
self.container.oldW = self.container.el.width();
self.container.oldH = self.container.el.height();
self.container.resetZoom();
}
}).resize();
// deeplinking
if (self.o.deeplinking) {
if (history.pushState && (typeof URL == 'function')) self.deeplinking = new Deeplinking();
else self.deeplinking = new DeeplinkingHash();
self.deeplinking.init();
}
// trigger event
if (toload == 0) mapReady();
// controls
if (self.o.zoom) self.container.addControls();
self.firstcoord = self.lastcoord = {};
// link to locations
$(document).on('click', '.mapplic-location', function(e) {
e.preventDefault();
self.showLocation($(this).attr('href').substr(1), 400);
$('html, body').animate({ scrollTop: self.container.el.offset().top }, 400);
});
}
var mapReady = function() {
// separate location array
self.addLocations(self.data.locations);
// apply toggle
self.legend.applyToggles();
// CSV support
if (self.o.csv) {
Papa.parse(self.o.csv, {
header: true,
download: true,
encoding: "UTF-8",
skipEmptyLines: true,
complete: function(results, file) {
self.addLocations(results.data);
$('.mapplic-pin', self.map).css({ 'transform': 'scale(' + 1/self.scale + ')' });
if (self.deeplinking) self.deeplinking.check(0);
self.el.trigger('csvready', self);
}
});
}
self.container.resetZoom();
if (self.deeplinking) self.deeplinking.check(0);
// landmark mode
if (self.el.data('landmark')) self.o.landmark = self.el.data('landmark');
if (self.o.landmark) {
// Custom settings
self.o.sidebar = false;
self.o.zoombuttons = false;
self.o.deeplinking = false;
self.showLocation(self.o.landmark, 0, true);
}
// trigger event
self.el.trigger('mapready', self);
}
/* PRIVATE METHODS */
// Web Mercator (EPSG:3857) lat/lng projection
var latlngToPos = function(lat, lng) {
var deltaLng = self.data.rightLng - self.data.leftLng,
bottomLatDegree = self.data.bottomLat * Math.PI / 180,
mapWidth = ((self.data.mapwidth / deltaLng) * 360) / (2 * Math.PI),
mapOffsetY = (mapWidth / 2 * Math.log((1 + Math.sin(bottomLatDegree)) / (1 - Math.sin(bottomLatDegree))));
lat = lat * Math.PI / 180;
return {
x: ((lng - self.data.leftLng) * (self.data.mapwidth / deltaLng)) / self.data.mapwidth,
y: (self.data.mapheight - ((mapWidth / 2 * Math.log((1 + Math.sin(lat)) / (1 - Math.sin(lat)))) - mapOffsetY)) / self.data.mapheight
};
}
var estimatedPosition = function(element) {
if (!element || !(element[0] instanceof SVGElement)) return false;
var bbox = element[0].getBBox();
var padding = 40,
wr = self.container.el.width() / (bbox.width + padding),
hr = self.container.el.height() / (bbox.height + padding);
return {
x: (bbox.x + bbox.width/2) / self.contentWidth * self.o.maxscale,
y: (bbox.y + bbox.height/2) / self.contentHeight * self.o.maxscale,
scale: Math.min(wr, hr) / self.o.maxscale
}
}
var getIcon = function(name) {
return '
';
}
// normalizing x, y and scale
var normalizeX = function(x) {
var minX = (self.container.el.width() - self.contentWidth * self.scale).toFixed(4);
if (minX < 0) {
if (x > self.o.zoommargin) x = self.o.zoommargin;
else if (x < minX - self.o.zoommargin) x = minX - self.o.zoommargin;
}
else x = minX/2;
return x;
}
var normalizeY = function(y) {
var minY = (self.container.el.height() - self.contentHeight * self.scale).toFixed(4);
if (minY < 0) {
if (y > self.o.zoommargin) y = self.o.zoommargin;
else if (y < minY - self.o.zoommargin) y = minY - self.o.zoommargin;
}
else y = minY/2;
return y;
}
var normalizeScale = function(scale) {
if (self.fitscale > 1) return self.fitscale; // no zoom
if (scale <= self.fitscale) scale = self.fitscale;
else if (scale > 1) scale = 1;
// zoom timeout
clearTimeout(self.zoomTimeout);
self.zoomTimeout = setTimeout(function() {
if (self.zoombuttons) self.zoombuttons.update(scale);
if (self.clearbutton) self.clearbutton.update(scale);
if (scale == self.fitscale) {
self.container.coverAll();
if (self.o.closezoomout) self.hideLocation();
}
self.container.revealZoom(scale);
}, 200);
return scale;
}
var moveTimeout = null;
var zoomTo = function(x, y, scale, d) {
d = typeof d !== 'undefined' ? d/1000 : 0;
// move class
self.el.addClass('mapplic-move');
clearTimeout(moveTimeout);
moveTimeout = setTimeout(function() {
self.el.removeClass('mapplic-move');
self.el.trigger('positionchanged', location);
}, 400);
// transforms
self.map.css({
'transition': 'transform ' + d + 's',
'transform': 'translate(' + x.toFixed(3) + 'px ,' + y.toFixed(3) + 'px) scale(' + self.scale.toFixed(3) + ')'
});
if (scale) {
$('.mapplic-pin, .mapplic-tooltip', self.map).css({
'transition': 'transform ' + d + 's',
'transform': 'scale(' + 1/scale + ')'
});
}
if (self.minimap) self.minimap.update(x, y);
// trigger event
self.el.trigger('positionchanged', location);
}
var replaceVars = function(template, location) {
template = template.replace(/\{\{([^}]+)\}\}/g, function (match) {
match = match.slice(2, -2);
var sub = match.split('.');
if (sub.length > 1) {
var temp = location;
sub.forEach(function (item) {
if (!temp[item]) {
temp = '{{' + match + '}}';
return;
}
temp = temp[item];
});
return temp;
}
else {
if (!location[match]) return '{{' + match + '}}';
return location[match];
}
});
return template;
}
/* PUBLIC METHODS */
var levelTimeout = null;
self.switchLevel = function(target) {
// no such layer
if (!target) return;
var layer = $('.mapplic-layer[data-floor="' + target + '"]', self.map);
// target layer is already active
if (layer.hasClass('mapplic-visible')) return;
// show target layer
layer.removeClass('mapplic-hidden');
setTimeout(function() {
var old = $('.mapplic-layer.mapplic-visible', self.map).removeClass('mapplic-visible');
layer.addClass('mapplic-visible');
clearTimeout(levelTimeout);
levelTimeout = setTimeout(function() {
$('.mapplic-layer:not([data-floor="' + target + '"])', self.map).addClass('mapplic-hidden');
}, 300);
// slide animation
if (self.o.animations) {
var found = false;
$('.mapplic-layer', self.map).each(function() {
if ($(this).data('floor') == target) {
$(this).removeClass('mapplic-layer-up').removeClass('mapplic-layer-down');
found = true;
}
else if (found) $(this).addClass('mapplic-layer-up');
else $(this).addClass('mapplic-layer-down');
});
}
}, 1);
// show target minimap layer
if (self.minimap) self.minimap.show(target);
self.level = target;
// trigger event
self.el.trigger('levelswitched', target);
}
self.mouseWheel = function(e, delta) {
e.preventDefault();
self.container.stopMomentum();
var scale = self.scale;
self.scale = normalizeScale(scale + scale * delta / 5);
self.x = normalizeX(self.x - (e.pageX - self.container.el.offset().left - self.x) * (self.scale/scale - 1));
self.y = normalizeY(self.y - (e.pageY - self.container.el.offset().top - self.y) * (self.scale/scale - 1));
zoomTo(self.x, self.y, self.scale, 200, 'ease');
}
self.addTooltip = function(location, check) {
var tooltip = new Tooltip().init(location, check);
self.tooltips.push(tooltip);
return tooltip.wrap[0];
}
self.closeTooltips = function() {
self.tooltips.forEach(function(t, i) {
t.hide();
self.tooltips.splice(i, 1);
});
}
self.moveTo = function(x, y, s, duration, ry) {
duration = typeof duration !== 'undefined' ? duration : 400;
ry = typeof ry !== 'undefined' ? ry : 0.5;
s = typeof s !== 'undefined' ? s : self.scale/self.fitscale;
self.container.stopMomentum();
self.scale = normalizeScale(s);
self.x = normalizeX(self.container.el.width() * 0.5 - self.scale * self.contentWidth * x);
self.y = normalizeY(self.container.el.height() * ry - self.scale * self.contentHeight * y);
zoomTo(self.x, self.y, self.scale, duration);
}
self.bboxZoom = function(element) {
var pos = estimatedPosition(element);
if (!pos) return false;
self.moveTo(pos.x, pos.y, pos.scale, 600);
return true;
}
// adding locations
self.addLocations = function(locations, levelid) {
$.each(locations, function(index, location) {
if (location.id) self.addLocation(location, levelid);
});
}
self.addLocation = function(location, levelid) {
// jump if location ID exists
if (self.l[location.id]) return true;
// building the location object
self.l[location.id] = location;
// groups
var groups = location.category;
if (groups) {
if (typeof groups == 'string') groups = groups.toString().split(',');
groups.forEach(function(group) { if (self.g[group]) self.g[group].nr++; });
}
// cascaded fill
var fill = (location && location.fill) ||
(location.category && self.g[location.category] && self.g[location.category].color) ||
(location.category && location.category[0] && self.g[location.category[0]] && self.g[location.category[0]].color) ||
self.o.fillcolor || false;
// cascade style to attribute styleD!
location.styled = (location && location.style) ||
(location.category && self.g[location.category] && self.g[location.category].style) ||
(location.category && location.category[0] && self.g[location.category[0]] && self.g[location.category[0]].style) ||
self.o.defaultstyle || false;
if (fill) location.color = fill;
else if (location.styled) location.color = location.styled.base;
// interactive element
var elem = $('[id^=MLOC] > *[id="' + location.id + '"], [id^=landmark] > *[id="' + location.id + '"]', self.map);
if (elem.length > 0) {
location.el = elem;
location.el.addClass('mapplic-clickable');
if (location.styled) {
location.el.addClass(location.styled);
}
else if (fill) {
location.el.css('fill', fill);
$('> *', location.el).css('fill', fill);
}
}
// first level if not set
if (!location.level) {
if (levelid) location.level = levelid;
else if (location.el && location.el.closest('.mapplic-layer').data('floor')) location.level = location.el.closest('.mapplic-layer').data('floor');
else location.level = self.data.levels[0].id;
}
// description vars
if (location.description) location.description = replaceVars(location.description, location);
// geolocation
if (location.lat && location.lng) {
var pos = latlngToPos(location.lat, location.lng);
location.x = pos.x;
location.y = pos.y;
}
// estimated position
if ((!location.x || !location.y) && elem) {
var pos = estimatedPosition(location.el);
location.x = pos.x;
location.y = pos.y;
}
// marker
if (!location.pin) location.pin = self.o.marker;
location.marker = self.addMarker(location);
// reveal mode
if (location.action == 'reveal') $('.mapplic-pin[data-location^=' + location.id + ']', self.map).css('visibility', 'hidden');
if (self.sidebar) self.sidebar.countCategory();
}
self.addMarker = function(location) {
// hidden marker
if (location.pin.indexOf('hidden') != -1) return false;
var parent = $('.mapplic-layer[data-floor=' + location.level + '] .mapplic-map-image', self.el);
var marker = $('
').addClass('mapplic-pin').addClass(location.pin.replace('hidden', '')).attr('aria-label', location.title + ' marker').css({'top': (location.y * 100) + '%', 'left': (location.x * 100) + '%'}).appendTo(parent);
marker.on('click touchend', function(e) {
if (e.cancelable) e.preventDefault();
var shift = Math.abs(self.firstcoord.x - self.lastcoord.x) + Math.abs(self.firstcoord.y - self.lastcoord.y);
if (!self.dragging || shift < 4) self.showLocation(location.id, 600);
});
if (location.label) {
if (location.label.match(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g)) marker.css('background-image', 'url(' + location.label + ')');
else $('
' + location.label + '').appendTo(marker);
}
if (location.reveal) marker.attr('data-reveal', location.reveal).css('visibility', 'hidden');
if (location.category) {
location.category = location.category.toString();
marker.attr('data-category', location.category);
}
marker.attr('data-location', location.id);
if (self.o.zoom && self.o.mousewheel) marker.on('mousewheel DOMMouseScroll', self.mouseWheel);
if (location.styled) marker.addClass(location.styled);
if (location.color && location.pin.indexOf('pin-text') > -1) marker.css('color', location.color);
else if (location.color) marker.css({'background-color': location.color, 'border-color': location.color });
location.el = marker;
return marker;
}
// removing locations
self.removeLocations = function() {
for (var key of Object.keys(self.l)) {
self.removeLocation(key);
}
}
self.removeLocation = function(location) {
if (location.id) location = location.id;
delete self.l[location];
$('.mapplic-pin[data-location="' + location + '"]', self.map).remove();
$('.mapplic-tooltip[data-location="' + location + '"]', self.el).remove();
$('.mapplic-list-location[data-location="' + location + '"]', self.el).remove();
$('svg #' + location, self.map).removeClass();
}
self.getLocationData = function(id) {
return self.l[id];
}
self.showLocation = function(id, duration, check) {
var location = self.location = self.l[id];
if (!location) return false;
// trigger event
self.el.trigger('locationopen', location);
var action = (location.action && location.action != 'default') ? location.action : self.o.action;
if (action == 'disabled') return false;
var content = null;
self.closeTooltips();
switch (action) {
case 'open-link':
window.location.href = location.link;
return false;
case 'open-link-new-tab':
window.open(location.link);
self.location = null;
return false;
case 'select':
if (location.el) {
if (location.el.hasClass('mapplic-active')) {
location.el.removeClass('mapplic-active');
if (location.list) location.list.removeClass('mapplic-active');
}
else {
location.el.addClass('mapplic-active');
if (location.list) location.list.addClass('mapplic-active');
}
}
return false;
case 'none':
self.hideLocation();
self.switchLevel(location.level);
if (!self.bboxZoom(location.el)) self.zoomLocation(location);
break;
case 'reveal':
self.hideLocation();
self.switchLevel(location.level);
self.container.revealChild(location);
if (self.o.zoom) self.bboxZoom(location.el);
break;
case 'external':
self.hideLocation();
self.switchLevel(location.level);
if (!self.bboxZoom(location.el)) self.zoomLocation(location);
if (self.external) self.external.show(location);
break;
case 'lightbox':
self.hideLocation();
self.switchLevel(location.level);
content = self.lightbox.show(location);
break;
case 'image':
self.hideLocation();
self.switchLevel(location.level);
self.lightbox.showImage(location);
break;
case 'route':
check = true;
break;
default:
self.hideLocation();
self.switchLevel(location.level);
content = self.addTooltip(location, check);
}
self.location = self.l[id];
// active state
$('.mapplic-active', self.scope).removeClass('mapplic-active');
if (location.el) location.el.addClass('mapplic-active');
if (location.list) location.list.addClass('mapplic-active');
// deeplinking
if ((self.deeplinking) && (!check)) self.deeplinking.update(id);
// trigger event
self.el.trigger('locationopened', [location, content]);
}
self.zoomLocation = function(loc) {
var zoom = loc.zoom ? parseFloat(loc.zoom)/self.o.maxscale : 1;
if (self.o.zoom) self.moveTo(loc.x, loc.y, zoom, 600);
}
self.hideLocation = function() {
$('.mapplic-active', self.scope).removeClass('mapplic-active');
if (self.deeplinking && self.deeplinking.resolved) self.deeplinking.clear();
if (self.external) self.external.hide();
self.closeTooltips();
self.location = null;
// trigger event
self.el.trigger('locationclosed');
}
self.updateLocation = function(id) {
// remove + add
var location = self.l[id];
if ((location.id == id) && (location.el.is('a'))) {
// Geolocation
if (location.lat && location.lng) {
var pos = latlngToPos(location.lat, location.lng);
location.x = pos.x;
location.y = pos.y;
}
var top = location.y * 100,
left = location.x * 100;
location.el.css({'top': top + '%', 'left': left + '%'});
}
}
};
// jQuery plugin
$.fn.mapplic = function(options) {
return this.each(function() {
var element = $(this);
// plugin already initiated on element
if (element.data('mapplic')) return;
var instance = (new Mapplic(element)).init(options);
// store plugin object in element's data
element.data('mapplic', instance);
});
};
})(jQuery);
// call plugin on map instances
jQuery(document).ready(function($) {
$('[id^=mapplic-id]').mapplic();
// dynamic element
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
var newNodes = mutation.addedNodes;
if (newNodes !== null) {
$(newNodes).each(function() {
var node = $(this);
if (node.is('[id^=mapplic-id]')) node.mapplic();
});
}
});
});
observer.observe(document, {attributes: false, childList: true, characterData: false, subtree: true});
});;
(function(factory){"use strict";if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof exports!=="undefined"){module.exports=factory(require("jquery"))}else{factory(jQuery)}})(function($){"use strict";var Slick=window.Slick||{};Slick=function(){var instanceUid=0;function Slick(element,settings){var _=this,dataSettings;_.defaults={accessibility:true,adaptiveHeight:false,appendArrows:$(element),appendDots:$(element),arrows:true,asNavFor:null,prevArrow:'
',nextArrow:'
',autoplay:false,autoplaySpeed:3e3,centerMode:false,centerPadding:"50px",cssEase:"ease",customPaging:function(slider,i){return $('
').text(i+1)},dots:false,dotsClass:"slick-dots",draggable:true,easing:"linear",edgeFriction:.35,fade:false,focusOnSelect:false,focusOnChange:false,infinite:true,initialSlide:0,lazyLoad:"ondemand",mobileFirst:false,pauseOnHover:true,pauseOnFocus:true,pauseOnDotsHover:false,respondTo:"window",responsive:null,rows:1,rtl:false,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:true,swipeToSlide:false,touchMove:true,touchThreshold:5,useCSS:true,useTransform:true,variableWidth:false,vertical:false,verticalSwiping:false,waitForAnimate:true,zIndex:1e3};_.initials={animating:false,dragging:false,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:false,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:false,slideOffset:0,swipeLeft:null,swiping:false,$list:null,touchObject:{},transformsEnabled:false,unslicked:false};$.extend(_,_.initials);_.activeBreakpoint=null;_.animType=null;_.animProp=null;_.breakpoints=[];_.breakpointSettings=[];_.cssTransitions=false;_.focussed=false;_.interrupted=false;_.hidden="hidden";_.paused=true;_.positionProp=null;_.respondTo=null;_.rowCount=1;_.shouldClick=true;_.$slider=$(element);_.$slidesCache=null;_.transformType=null;_.transitionType=null;_.visibilityChange="visibilitychange";_.windowWidth=0;_.windowTimer=null;dataSettings=$(element).data("slick")||{};_.options=$.extend({},_.defaults,settings,dataSettings);_.currentSlide=_.options.initialSlide;_.originalSettings=_.options;if(typeof document.mozHidden!=="undefined"){_.hidden="mozHidden";_.visibilityChange="mozvisibilitychange"}else if(typeof document.webkitHidden!=="undefined"){_.hidden="webkitHidden";_.visibilityChange="webkitvisibilitychange"}_.autoPlay=$.proxy(_.autoPlay,_);_.autoPlayClear=$.proxy(_.autoPlayClear,_);_.autoPlayIterator=$.proxy(_.autoPlayIterator,_);_.changeSlide=$.proxy(_.changeSlide,_);_.clickHandler=$.proxy(_.clickHandler,_);_.selectHandler=$.proxy(_.selectHandler,_);_.setPosition=$.proxy(_.setPosition,_);_.swipeHandler=$.proxy(_.swipeHandler,_);_.dragHandler=$.proxy(_.dragHandler,_);_.keyHandler=$.proxy(_.keyHandler,_);_.instanceUid=instanceUid++;_.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/;_.registerBreakpoints();_.init(true)}return Slick}();Slick.prototype.activateADA=function(){var _=this;_.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})};Slick.prototype.addSlide=Slick.prototype.slickAdd=function(markup,index,addBefore){var _=this;if(typeof index==="boolean"){addBefore=index;index=null}else if(index<0||index>=_.slideCount){return false}_.unload();if(typeof index==="number"){if(index===0&&_.$slides.length===0){$(markup).appendTo(_.$slideTrack)}else if(addBefore){$(markup).insertBefore(_.$slides.eq(index))}else{$(markup).insertAfter(_.$slides.eq(index))}}else{if(addBefore===true){$(markup).prependTo(_.$slideTrack)}else{$(markup).appendTo(_.$slideTrack)}}_.$slides=_.$slideTrack.children(this.options.slide);_.$slideTrack.children(this.options.slide).detach();_.$slideTrack.append(_.$slides);_.$slides.each(function(index,element){$(element).attr("data-slick-index",index)});_.$slidesCache=_.$slides;_.reinit()};Slick.prototype.animateHeight=function(){var _=this;if(_.options.slidesToShow===1&&_.options.adaptiveHeight===true&&_.options.vertical===false){var targetHeight=_.$slides.eq(_.currentSlide).outerHeight(true);_.$list.animate({height:targetHeight},_.options.speed)}};Slick.prototype.animateSlide=function(targetLeft,callback){var animProps={},_=this;_.animateHeight();if(_.options.rtl===true&&_.options.vertical===false){targetLeft=-targetLeft}if(_.transformsEnabled===false){if(_.options.vertical===false){_.$slideTrack.animate({left:targetLeft},_.options.speed,_.options.easing,callback)}else{_.$slideTrack.animate({top:targetLeft},_.options.speed,_.options.easing,callback)}}else{if(_.cssTransitions===false){if(_.options.rtl===true){_.currentLeft=-_.currentLeft}$({animStart:_.currentLeft}).animate({animStart:targetLeft},{duration:_.options.speed,easing:_.options.easing,step:function(now){now=Math.ceil(now);if(_.options.vertical===false){animProps[_.animType]="translate("+now+"px, 0px)";_.$slideTrack.css(animProps)}else{animProps[_.animType]="translate(0px,"+now+"px)";_.$slideTrack.css(animProps)}},complete:function(){if(callback){callback.call()}}})}else{_.applyTransition();targetLeft=Math.ceil(targetLeft);if(_.options.vertical===false){animProps[_.animType]="translate3d("+targetLeft+"px, 0px, 0px)"}else{animProps[_.animType]="translate3d(0px,"+targetLeft+"px, 0px)"}_.$slideTrack.css(animProps);if(callback){setTimeout(function(){_.disableTransition();callback.call()},_.options.speed)}}}};Slick.prototype.getNavTarget=function(){var _=this,asNavFor=_.options.asNavFor;if(asNavFor&&asNavFor!==null){asNavFor=$(asNavFor).not(_.$slider)}return asNavFor};Slick.prototype.asNavFor=function(index){var _=this,asNavFor=_.getNavTarget();if(asNavFor!==null&&typeof asNavFor==="object"){asNavFor.each(function(){var target=$(this).slickk("getSlick");if(!target.unslicked){target.slideHandler(index,true)}})}};Slick.prototype.applyTransition=function(slide){var _=this,transition={};if(_.options.fade===false){transition[_.transitionType]=_.transformType+" "+_.options.speed+"ms "+_.options.cssEase}else{transition[_.transitionType]="opacity "+_.options.speed+"ms "+_.options.cssEase}if(_.options.fade===false){_.$slideTrack.css(transition)}else{_.$slides.eq(slide).css(transition)}};Slick.prototype.autoPlay=function(){var _=this;_.autoPlayClear();if(_.slideCount>_.options.slidesToShow){_.autoPlayTimer=setInterval(_.autoPlayIterator,_.options.autoplaySpeed)}};Slick.prototype.autoPlayClear=function(){var _=this;if(_.autoPlayTimer){clearInterval(_.autoPlayTimer)}};Slick.prototype.autoPlayIterator=function(){var _=this,slideTo=_.currentSlide+_.options.slidesToScroll;if(!_.paused&&!_.interrupted&&!_.focussed){if(_.options.infinite===false){if(_.direction===1&&_.currentSlide+1===_.slideCount-1){_.direction=0}else if(_.direction===0){slideTo=_.currentSlide-_.options.slidesToScroll;if(_.currentSlide-1===0){_.direction=1}}}_.slideHandler(slideTo)}};Slick.prototype.buildArrows=function(){var _=this;if(_.options.arrows===true){_.$prevArrow=$(_.options.prevArrow).addClass("slick-arrow");_.$nextArrow=$(_.options.nextArrow).addClass("slick-arrow");if(_.slideCount>_.options.slidesToShow){_.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex");_.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex");if(_.htmlExpr.test(_.options.prevArrow)){_.$prevArrow.prependTo(_.options.appendArrows)}if(_.htmlExpr.test(_.options.nextArrow)){_.$nextArrow.appendTo(_.options.appendArrows)}if(_.options.infinite!==true){_.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")}}else{_.$prevArrow.add(_.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"})}}};Slick.prototype.buildDots=function(){var _=this,i,dot;if(_.options.dots===true&&_.slideCount>_.options.slidesToShow){_.$slider.addClass("slick-dotted");dot=$("
").addClass(_.options.dotsClass);for(i=0;i<=_.getDotCount();i+=1){dot.append($("
").append(_.options.customPaging.call(this,_,i)))}_.$dots=dot.appendTo(_.options.appendDots);_.$dots.find("li").first().addClass("slick-active")}};Slick.prototype.buildOut=function(){var _=this;_.$slides=_.$slider.children(_.options.slide+":not(.slick-cloned)").addClass("slick-slide");_.slideCount=_.$slides.length;_.$slides.each(function(index,element){$(element).attr("data-slick-index",index).data("originalStyling",$(element).attr("style")||"")});_.$slider.addClass("slick-slider");_.$slideTrack=_.slideCount===0?$('
').appendTo(_.$slider):_.$slides.wrapAll('
').parent();_.$list=_.$slideTrack.wrap('
').parent();_.$slideTrack.css("opacity",0);if(_.options.centerMode===true||_.options.swipeToSlide===true){_.options.slidesToScroll=1}$("img[data-lazy]",_.$slider).not("[src]").addClass("slick-loading");_.setupInfinite();_.buildArrows();_.buildDots();_.updateDots();_.setSlideClasses(typeof _.currentSlide==="number"?_.currentSlide:0);if(_.options.draggable===true){_.$list.addClass("draggable")}};Slick.prototype.buildRows=function(){var _=this,a,b,c,newSlides,numOfSlides,originalSlides,slidesPerSection;newSlides=document.createDocumentFragment();originalSlides=_.$slider.children();if(_.options.rows>0){slidesPerSection=_.options.slidesPerRow*_.options.rows;numOfSlides=Math.ceil(originalSlides.length/slidesPerSection);for(a=0;a
_.breakpoints[breakpoint]){targetBreakpoint=_.breakpoints[breakpoint]}}}}if(targetBreakpoint!==null){if(_.activeBreakpoint!==null){if(targetBreakpoint!==_.activeBreakpoint||forceUpdate){_.activeBreakpoint=targetBreakpoint;if(_.breakpointSettings[targetBreakpoint]==="unslick"){_.unslick(targetBreakpoint)}else{_.options=$.extend({},_.originalSettings,_.breakpointSettings[targetBreakpoint]);if(initial===true){_.currentSlide=_.options.initialSlide}_.refresh(initial)}triggerBreakpoint=targetBreakpoint}}else{_.activeBreakpoint=targetBreakpoint;if(_.breakpointSettings[targetBreakpoint]==="unslick"){_.unslick(targetBreakpoint)}else{_.options=$.extend({},_.originalSettings,_.breakpointSettings[targetBreakpoint]);if(initial===true){_.currentSlide=_.options.initialSlide}_.refresh(initial)}triggerBreakpoint=targetBreakpoint}}else{if(_.activeBreakpoint!==null){_.activeBreakpoint=null;_.options=_.originalSettings;if(initial===true){_.currentSlide=_.options.initialSlide}_.refresh(initial);triggerBreakpoint=targetBreakpoint}}if(!initial&&triggerBreakpoint!==false){_.$slider.trigger("breakpoint",[_,triggerBreakpoint])}}};Slick.prototype.changeSlide=function(event,dontAnimate){var _=this,$target=$(event.currentTarget),indexOffset,slideOffset,unevenOffset;if($target.is("a")){event.preventDefault()}if(!$target.is("li")){$target=$target.closest("li")}unevenOffset=_.slideCount%_.options.slidesToScroll!==0;indexOffset=unevenOffset?0:(_.slideCount-_.currentSlide)%_.options.slidesToScroll;switch(event.data.message){case"previous":slideOffset=indexOffset===0?_.options.slidesToScroll:_.options.slidesToShow-indexOffset;if(_.slideCount>_.options.slidesToShow){_.slideHandler(_.currentSlide-slideOffset,false,dontAnimate)}break;case"next":slideOffset=indexOffset===0?_.options.slidesToScroll:indexOffset;if(_.slideCount>_.options.slidesToShow){_.slideHandler(_.currentSlide+slideOffset,false,dontAnimate)}break;case"index":var index=event.data.index===0?0:event.data.index||$target.index()*_.options.slidesToScroll;_.slideHandler(_.checkNavigable(index),false,dontAnimate);$target.children().trigger("focus");break;default:return}};Slick.prototype.checkNavigable=function(index){var _=this,navigables,prevNavigable;navigables=_.getNavigableIndexes();prevNavigable=0;if(index>navigables[navigables.length-1]){index=navigables[navigables.length-1]}else{for(var n in navigables){if(index_.options.slidesToShow){_.$prevArrow&&_.$prevArrow.off("click.slick",_.changeSlide);_.$nextArrow&&_.$nextArrow.off("click.slick",_.changeSlide);if(_.options.accessibility===true){_.$prevArrow&&_.$prevArrow.off("keydown.slick",_.keyHandler);_.$nextArrow&&_.$nextArrow.off("keydown.slick",_.keyHandler)}}_.$list.off("touchstart.slick mousedown.slick",_.swipeHandler);_.$list.off("touchmove.slick mousemove.slick",_.swipeHandler);_.$list.off("touchend.slick mouseup.slick",_.swipeHandler);_.$list.off("touchcancel.slick mouseleave.slick",_.swipeHandler);_.$list.off("click.slick",_.clickHandler);$(document).off(_.visibilityChange,_.visibility);_.cleanUpSlideEvents();if(_.options.accessibility===true){_.$list.off("keydown.slick",_.keyHandler)}if(_.options.focusOnSelect===true){$(_.$slideTrack).children().off("click.slick",_.selectHandler)}$(window).off("orientationchange.slick.slick-"+_.instanceUid,_.orientationChange);$(window).off("resize.slick.slick-"+_.instanceUid,_.resize);$("[draggable!=true]",_.$slideTrack).off("dragstart",_.preventDefault);$(window).off("load.slick.slick-"+_.instanceUid,_.setPosition)};Slick.prototype.cleanUpSlideEvents=function(){var _=this;_.$list.off("mouseenter.slick",$.proxy(_.interrupt,_,true));_.$list.off("mouseleave.slick",$.proxy(_.interrupt,_,false))};Slick.prototype.cleanUpRows=function(){var _=this,originalSlides;if(_.options.rows>0){originalSlides=_.$slides.children().children();originalSlides.removeAttr("style");_.$slider.empty().append(originalSlides)}};Slick.prototype.clickHandler=function(event){var _=this;if(_.shouldClick===false){event.stopImmediatePropagation();event.stopPropagation();event.preventDefault()}};Slick.prototype.destroy=function(refresh){var _=this;_.autoPlayClear();_.touchObject={};_.cleanUpEvents();$(".slick-cloned",_.$slider).detach();if(_.$dots){_.$dots.remove()}if(_.$prevArrow&&_.$prevArrow.length){_.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display","");if(_.htmlExpr.test(_.options.prevArrow)){_.$prevArrow.remove()}}if(_.$nextArrow&&_.$nextArrow.length){_.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display","");if(_.htmlExpr.test(_.options.nextArrow)){_.$nextArrow.remove()}}if(_.$slides){_.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){$(this).attr("style",$(this).data("originalStyling"))});_.$slideTrack.children(this.options.slide).detach();_.$slideTrack.detach();_.$list.detach();_.$slider.append(_.$slides)}_.cleanUpRows();_.$slider.removeClass("slick-slider");_.$slider.removeClass("slick-initialized");_.$slider.removeClass("slick-dotted");_.unslicked=true;if(!refresh){_.$slider.trigger("destroy",[_])}};Slick.prototype.disableTransition=function(slide){var _=this,transition={};transition[_.transitionType]="";if(_.options.fade===false){_.$slideTrack.css(transition)}else{_.$slides.eq(slide).css(transition)}};Slick.prototype.fadeSlide=function(slideIndex,callback){var _=this;if(_.cssTransitions===false){_.$slides.eq(slideIndex).css({zIndex:_.options.zIndex});_.$slides.eq(slideIndex).animate({opacity:1},_.options.speed,_.options.easing,callback)}else{_.applyTransition(slideIndex);_.$slides.eq(slideIndex).css({opacity:1,zIndex:_.options.zIndex});if(callback){setTimeout(function(){_.disableTransition(slideIndex);callback.call()},_.options.speed)}}};Slick.prototype.fadeSlideOut=function(slideIndex){var _=this;if(_.cssTransitions===false){_.$slides.eq(slideIndex).animate({opacity:0,zIndex:_.options.zIndex-2},_.options.speed,_.options.easing)}else{_.applyTransition(slideIndex);_.$slides.eq(slideIndex).css({opacity:0,zIndex:_.options.zIndex-2})}};Slick.prototype.filterSlides=Slick.prototype.slickFilter=function(filter){var _=this;if(filter!==null){_.$slidesCache=_.$slides;_.unload();_.$slideTrack.children(this.options.slide).detach();_.$slidesCache.filter(filter).appendTo(_.$slideTrack);_.reinit()}};Slick.prototype.focusHandler=function(){var _=this;_.$slider.off("focus.slick blur.slick").on("focus.slick","*",function(event){var $sf=$(this);setTimeout(function(){if(_.options.pauseOnFocus){if($sf.is(":focus")){_.focussed=true;_.autoPlay()}}},0)}).on("blur.slick","*",function(event){var $sf=$(this);if(_.options.pauseOnFocus){_.focussed=false;_.autoPlay()}})};Slick.prototype.getCurrent=Slick.prototype.slickCurrentSlide=function(){var _=this;return _.currentSlide};Slick.prototype.getDotCount=function(){var _=this;var breakPoint=0;var counter=0;var pagerQty=0;if(_.options.infinite===true){if(_.slideCount<=_.options.slidesToShow){++pagerQty}else{while(breakPoint<_.slideCount){++pagerQty;breakPoint=counter+_.options.slidesToScroll;counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow}}}else if(_.options.centerMode===true){pagerQty=_.slideCount}else if(!_.options.asNavFor){pagerQty=1+Math.ceil((_.slideCount-_.options.slidesToShow)/_.options.slidesToScroll)}else{while(breakPoint<_.slideCount){++pagerQty;breakPoint=counter+_.options.slidesToScroll;counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow}}return pagerQty-1};Slick.prototype.getLeft=function(slideIndex){var _=this,targetLeft,verticalHeight,verticalOffset=0,targetSlide,coef;_.slideOffset=0;verticalHeight=_.$slides.first().outerHeight(true);if(_.options.infinite===true){if(_.slideCount>_.options.slidesToShow){_.slideOffset=_.slideWidth*_.options.slidesToShow*-1;coef=-1;if(_.options.vertical===true&&_.options.centerMode===true){if(_.options.slidesToShow===2){coef=-1.5}else if(_.options.slidesToShow===1){coef=-2}}verticalOffset=verticalHeight*_.options.slidesToShow*coef}if(_.slideCount%_.options.slidesToScroll!==0){if(slideIndex+_.options.slidesToScroll>_.slideCount&&_.slideCount>_.options.slidesToShow){if(slideIndex>_.slideCount){_.slideOffset=(_.options.slidesToShow-(slideIndex-_.slideCount))*_.slideWidth*-1;verticalOffset=(_.options.slidesToShow-(slideIndex-_.slideCount))*verticalHeight*-1}else{_.slideOffset=_.slideCount%_.options.slidesToScroll*_.slideWidth*-1;verticalOffset=_.slideCount%_.options.slidesToScroll*verticalHeight*-1}}}}else{if(slideIndex+_.options.slidesToShow>_.slideCount){_.slideOffset=(slideIndex+_.options.slidesToShow-_.slideCount)*_.slideWidth;verticalOffset=(slideIndex+_.options.slidesToShow-_.slideCount)*verticalHeight}}if(_.slideCount<=_.options.slidesToShow){_.slideOffset=0;verticalOffset=0}if(_.options.centerMode===true&&_.slideCount<=_.options.slidesToShow){_.slideOffset=_.slideWidth*Math.floor(_.options.slidesToShow)/2-_.slideWidth*_.slideCount/2}else if(_.options.centerMode===true&&_.options.infinite===true){_.slideOffset+=_.slideWidth*Math.floor(_.options.slidesToShow/2)-_.slideWidth}else if(_.options.centerMode===true){_.slideOffset=0;_.slideOffset+=_.slideWidth*Math.floor(_.options.slidesToShow/2)}if(_.options.vertical===false){targetLeft=slideIndex*_.slideWidth*-1+_.slideOffset}else{targetLeft=slideIndex*verticalHeight*-1+verticalOffset}if(_.options.variableWidth===true){if(_.slideCount<=_.options.slidesToShow||_.options.infinite===false){targetSlide=_.$slideTrack.children(".slick-slide").eq(slideIndex)}else{targetSlide=_.$slideTrack.children(".slick-slide").eq(slideIndex+_.options.slidesToShow)}if(_.options.rtl===true){if(targetSlide[0]){targetLeft=(_.$slideTrack.width()-targetSlide[0].offsetLeft-targetSlide.width())*-1}else{targetLeft=0}}else{targetLeft=targetSlide[0]?targetSlide[0].offsetLeft*-1:0}if(_.options.centerMode===true){if(_.slideCount<=_.options.slidesToShow||_.options.infinite===false){targetSlide=_.$slideTrack.children(".slick-slide").eq(slideIndex)}else{targetSlide=_.$slideTrack.children(".slick-slide").eq(slideIndex+_.options.slidesToShow+1)}if(_.options.rtl===true){if(targetSlide[0]){targetLeft=(_.$slideTrack.width()-targetSlide[0].offsetLeft-targetSlide.width())*-1}else{targetLeft=0}}else{targetLeft=targetSlide[0]?targetSlide[0].offsetLeft*-1:0}targetLeft+=(_.$list.width()-targetSlide.outerWidth())/2}}return targetLeft};Slick.prototype.getOption=Slick.prototype.slickGetOption=function(option){var _=this;return _.options[option]};Slick.prototype.getNavigableIndexes=function(){var _=this,breakPoint=0,counter=0,indexes=[],max;if(_.options.infinite===false){max=_.slideCount}else{breakPoint=_.options.slidesToScroll*-1;counter=_.options.slidesToScroll*-1;max=_.slideCount*2}while(breakPoint=0&&val<_.slideCount});_.$slides.add(_.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"});if(_.$dots!==null){_.$slides.not(_.$slideTrack.find(".slick-cloned")).each(function(i){var slideControlIndex=tabControlIndexes.indexOf(i);$(this).attr({role:"tabpanel",id:"slick-slide"+_.instanceUid+i,tabindex:-1});if(slideControlIndex!==-1){var ariaButtonControl="slick-slide-control"+_.instanceUid+slideControlIndex;if($("#"+ariaButtonControl).length){$(this).attr({"aria-describedby":ariaButtonControl})}}});_.$dots.attr("role","tablist").find("li").each(function(i){var mappedSlideIndex=tabControlIndexes[i];$(this).attr({role:"presentation"});$(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+_.instanceUid+i,"aria-controls":"slick-slide"+_.instanceUid+mappedSlideIndex,"aria-label":i+1+" of "+numDotGroups,"aria-selected":null,tabindex:"-1"})}).eq(_.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end()}for(var i=_.currentSlide,max=i+_.options.slidesToShow;i_.options.slidesToShow){_.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},_.changeSlide);_.$nextArrow.off("click.slick").on("click.slick",{message:"next"},_.changeSlide);if(_.options.accessibility===true){_.$prevArrow.on("keydown.slick",_.keyHandler);_.$nextArrow.on("keydown.slick",_.keyHandler)}}};Slick.prototype.initDotEvents=function(){var _=this;if(_.options.dots===true&&_.slideCount>_.options.slidesToShow){$("li",_.$dots).on("click.slick",{message:"index"},_.changeSlide);if(_.options.accessibility===true){_.$dots.on("keydown.slick",_.keyHandler)}}if(_.options.dots===true&&_.options.pauseOnDotsHover===true&&_.slideCount>_.options.slidesToShow){$("li",_.$dots).on("mouseenter.slick",$.proxy(_.interrupt,_,true)).on("mouseleave.slick",$.proxy(_.interrupt,_,false))}};Slick.prototype.initSlideEvents=function(){var _=this;if(_.options.pauseOnHover){_.$list.on("mouseenter.slick",$.proxy(_.interrupt,_,true));_.$list.on("mouseleave.slick",$.proxy(_.interrupt,_,false))}};Slick.prototype.initializeEvents=function(){var _=this;_.initArrowEvents();_.initDotEvents();_.initSlideEvents();_.$list.on("touchstart.slick mousedown.slick",{action:"start"},_.swipeHandler);_.$list.on("touchmove.slick mousemove.slick",{action:"move"},_.swipeHandler);_.$list.on("touchend.slick mouseup.slick",{action:"end"},_.swipeHandler);_.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},_.swipeHandler);_.$list.on("click.slick",_.clickHandler);$(document).on(_.visibilityChange,$.proxy(_.visibility,_));if(_.options.accessibility===true){_.$list.on("keydown.slick",_.keyHandler)}if(_.options.focusOnSelect===true){$(_.$slideTrack).children().on("click.slick",_.selectHandler)}$(window).on("orientationchange.slick.slick-"+_.instanceUid,$.proxy(_.orientationChange,_));$(window).on("resize.slick.slick-"+_.instanceUid,$.proxy(_.resize,_));$("[draggable!=true]",_.$slideTrack).on("dragstart",_.preventDefault);$(window).on("load.slick.slick-"+_.instanceUid,_.setPosition);$(_.setPosition)};Slick.prototype.initUI=function(){var _=this;if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow.show();_.$nextArrow.show()}if(_.options.dots===true&&_.slideCount>_.options.slidesToShow){_.$dots.show()}};Slick.prototype.keyHandler=function(event){var _=this;if(!event.target.tagName.match("TEXTAREA|INPUT|SELECT")){if(event.keyCode===37&&_.options.accessibility===true){_.changeSlide({data:{message:_.options.rtl===true?"next":"previous"}})}else if(event.keyCode===39&&_.options.accessibility===true){_.changeSlide({data:{message:_.options.rtl===true?"previous":"next"}})}}};Slick.prototype.lazyLoad=function(){var _=this,loadRange,cloneRange,rangeStart,rangeEnd;function loadImages(imagesScope){$("img[data-lazy]",imagesScope).each(function(){var image=$(this),imageSource=$(this).attr("data-lazy"),imageSrcSet=$(this).attr("data-srcset"),imageSizes=$(this).attr("data-sizes")||_.$slider.attr("data-sizes"),imageToLoad=document.createElement("img");imageToLoad.onload=function(){image.animate({opacity:0},100,function(){if(imageSrcSet){image.attr("srcset",imageSrcSet);if(imageSizes){image.attr("sizes",imageSizes)}}image.attr("src",imageSource).animate({opacity:1},200,function(){image.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")});_.$slider.trigger("lazyLoaded",[_,image,imageSource])})};imageToLoad.onerror=function(){image.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error");_.$slider.trigger("lazyLoadError",[_,image,imageSource])};imageToLoad.src=imageSource})}if(_.options.centerMode===true){if(_.options.infinite===true){rangeStart=_.currentSlide+(_.options.slidesToShow/2+1);rangeEnd=rangeStart+_.options.slidesToShow+2}else{rangeStart=Math.max(0,_.currentSlide-(_.options.slidesToShow/2+1));rangeEnd=2+(_.options.slidesToShow/2+1)+_.currentSlide}}else{rangeStart=_.options.infinite?_.options.slidesToShow+_.currentSlide:_.currentSlide;rangeEnd=Math.ceil(rangeStart+_.options.slidesToShow);if(_.options.fade===true){if(rangeStart>0)rangeStart--;if(rangeEnd<=_.slideCount)rangeEnd++}}loadRange=_.$slider.find(".slick-slide").slice(rangeStart,rangeEnd);if(_.options.lazyLoad==="anticipated"){var prevSlide=rangeStart-1,nextSlide=rangeEnd,$slides=_.$slider.find(".slick-slide");for(var i=0;i<_.options.slidesToScroll;i++){if(prevSlide<0)prevSlide=_.slideCount-1;loadRange=loadRange.add($slides.eq(prevSlide));loadRange=loadRange.add($slides.eq(nextSlide));prevSlide--;nextSlide++}}loadImages(loadRange);if(_.slideCount<=_.options.slidesToShow){cloneRange=_.$slider.find(".slick-slide");loadImages(cloneRange)}else if(_.currentSlide>=_.slideCount-_.options.slidesToShow){cloneRange=_.$slider.find(".slick-cloned").slice(0,_.options.slidesToShow);loadImages(cloneRange)}else if(_.currentSlide===0){cloneRange=_.$slider.find(".slick-cloned").slice(_.options.slidesToShow*-1);loadImages(cloneRange)}};Slick.prototype.loadSlider=function(){var _=this;_.setPosition();_.$slideTrack.css({opacity:1});_.$slider.removeClass("slick-loading");_.initUI();if(_.options.lazyLoad==="progressive"){_.progressiveLazyLoad()}};Slick.prototype.next=Slick.prototype.slickNext=function(){var _=this;_.changeSlide({data:{message:"next"}})};Slick.prototype.orientationChange=function(){var _=this;_.checkResponsive();_.setPosition()};Slick.prototype.pause=Slick.prototype.slickPause=function(){var _=this;_.autoPlayClear();_.paused=true};Slick.prototype.play=Slick.prototype.slickPlay=function(){var _=this;_.autoPlay();_.options.autoplay=true;_.paused=false;_.focussed=false;_.interrupted=false};Slick.prototype.postSlide=function(index){var _=this;if(!_.unslicked){_.$slider.trigger("afterChange",[_,index]);_.animating=false;if(_.slideCount>_.options.slidesToShow){_.setPosition()}_.swipeLeft=null;if(_.options.autoplay){_.autoPlay()}if(_.options.accessibility===true){_.initADA();if(_.options.focusOnChange){var $currentSlide=$(_.$slides.get(_.currentSlide));$currentSlide.attr("tabindex",0).focus()}}}};Slick.prototype.prev=Slick.prototype.slickPrev=function(){var _=this;_.changeSlide({data:{message:"previous"}})};Slick.prototype.preventDefault=function(event){event.preventDefault()};Slick.prototype.progressiveLazyLoad=function(tryCount){tryCount=tryCount||1;var _=this,$imgsToLoad=$("img[data-lazy]",_.$slider),image,imageSource,imageSrcSet,imageSizes,imageToLoad;if($imgsToLoad.length){image=$imgsToLoad.first();imageSource=image.attr("data-lazy");imageSrcSet=image.attr("data-srcset");imageSizes=image.attr("data-sizes")||_.$slider.attr("data-sizes");imageToLoad=document.createElement("img");imageToLoad.onload=function(){if(imageSrcSet){image.attr("srcset",imageSrcSet);if(imageSizes){image.attr("sizes",imageSizes)}}image.attr("src",imageSource).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading");if(_.options.adaptiveHeight===true){_.setPosition()}_.$slider.trigger("lazyLoaded",[_,image,imageSource]);_.progressiveLazyLoad()};imageToLoad.onerror=function(){if(tryCount<3){setTimeout(function(){_.progressiveLazyLoad(tryCount+1)},500)}else{image.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error");_.$slider.trigger("lazyLoadError",[_,image,imageSource]);_.progressiveLazyLoad()}};imageToLoad.src=imageSource}else{_.$slider.trigger("allImagesLoaded",[_])}};Slick.prototype.refresh=function(initializing){var _=this,currentSlide,lastVisibleIndex;lastVisibleIndex=_.slideCount-_.options.slidesToShow;if(!_.options.infinite&&_.currentSlide>lastVisibleIndex){_.currentSlide=lastVisibleIndex}if(_.slideCount<=_.options.slidesToShow){_.currentSlide=0}currentSlide=_.currentSlide;_.destroy(true);$.extend(_,_.initials,{currentSlide:currentSlide});_.init();if(!initializing){_.changeSlide({data:{message:"index",index:currentSlide}},false)}};Slick.prototype.registerBreakpoints=function(){var _=this,breakpoint,currentBreakpoint,l,responsiveSettings=_.options.responsive||null;if($.type(responsiveSettings)==="array"&&responsiveSettings.length){_.respondTo=_.options.respondTo||"window";for(breakpoint in responsiveSettings){l=_.breakpoints.length-1;if(responsiveSettings.hasOwnProperty(breakpoint)){currentBreakpoint=responsiveSettings[breakpoint].breakpoint;while(l>=0){if(_.breakpoints[l]&&_.breakpoints[l]===currentBreakpoint){_.breakpoints.splice(l,1)}l--}_.breakpoints.push(currentBreakpoint);_.breakpointSettings[currentBreakpoint]=responsiveSettings[breakpoint].settings}}_.breakpoints.sort(function(a,b){return _.options.mobileFirst?a-b:b-a})}};Slick.prototype.reinit=function(){var _=this;_.$slides=_.$slideTrack.children(_.options.slide).addClass("slick-slide");_.slideCount=_.$slides.length;if(_.currentSlide>=_.slideCount&&_.currentSlide!==0){_.currentSlide=_.currentSlide-_.options.slidesToScroll}if(_.slideCount<=_.options.slidesToShow){_.currentSlide=0}_.registerBreakpoints();_.setProps();_.setupInfinite();_.buildArrows();_.updateArrows();_.initArrowEvents();_.buildDots();_.updateDots();_.initDotEvents();_.cleanUpSlideEvents();_.initSlideEvents();_.checkResponsive(false,true);if(_.options.focusOnSelect===true){$(_.$slideTrack).children().on("click.slick",_.selectHandler)}_.setSlideClasses(typeof _.currentSlide==="number"?_.currentSlide:0);_.setPosition();_.focusHandler();_.paused=!_.options.autoplay;_.autoPlay();_.$slider.trigger("reInit",[_])};Slick.prototype.resize=function(){var _=this;if($(window).width()!==_.windowWidth){clearTimeout(_.windowDelay);_.windowDelay=window.setTimeout(function(){_.windowWidth=$(window).width();_.checkResponsive();if(!_.unslicked){_.setPosition()}},50)}};Slick.prototype.removeSlide=Slick.prototype.slickRemove=function(index,removeBefore,removeAll){var _=this;if(typeof index==="boolean"){removeBefore=index;index=removeBefore===true?0:_.slideCount-1}else{index=removeBefore===true?--index:index}if(_.slideCount<1||index<0||index>_.slideCount-1){return false}_.unload();if(removeAll===true){_.$slideTrack.children().remove()}else{_.$slideTrack.children(this.options.slide).eq(index).remove()}_.$slides=_.$slideTrack.children(this.options.slide);_.$slideTrack.children(this.options.slide).detach();_.$slideTrack.append(_.$slides);_.$slidesCache=_.$slides;_.reinit()};Slick.prototype.setCSS=function(position){var _=this,positionProps={},x,y;if(_.options.rtl===true){position=-position}x=_.positionProp=="left"?Math.ceil(position)+"px":"0px";y=_.positionProp=="top"?Math.ceil(position)+"px":"0px";positionProps[_.positionProp]=position;if(_.transformsEnabled===false){_.$slideTrack.css(positionProps)}else{positionProps={};if(_.cssTransitions===false){positionProps[_.animType]="translate("+x+", "+y+")";_.$slideTrack.css(positionProps)}else{positionProps[_.animType]="translate3d("+x+", "+y+", 0px)";_.$slideTrack.css(positionProps)}}};Slick.prototype.setDimensions=function(){var _=this;if(_.options.vertical===false){if(_.options.centerMode===true){_.$list.css({padding:"0px "+_.options.centerPadding})}}else{_.$list.height(_.$slides.first().outerHeight(true)*_.options.slidesToShow);if(_.options.centerMode===true){_.$list.css({padding:_.options.centerPadding+" 0px"})}}_.listWidth=_.$list.width();_.listHeight=_.$list.height();if(_.options.vertical===false&&_.options.variableWidth===false){_.slideWidth=Math.ceil(_.listWidth/_.options.slidesToShow);_.$slideTrack.width(Math.ceil(_.slideWidth*_.$slideTrack.children(".slick-slide").length))}else if(_.options.variableWidth===true){_.$slideTrack.width(5e3*_.slideCount)}else{_.slideWidth=Math.ceil(_.listWidth);_.$slideTrack.height(Math.ceil(_.$slides.first().outerHeight(true)*_.$slideTrack.children(".slick-slide").length))}var offset=_.$slides.first().outerWidth(true)-_.$slides.first().width();if(_.options.variableWidth===false)_.$slideTrack.children(".slick-slide").width(_.slideWidth-offset)};Slick.prototype.setFade=function(){var _=this,targetLeft;_.$slides.each(function(index,element){targetLeft=_.slideWidth*index*-1;if(_.options.rtl===true){$(element).css({position:"relative",right:targetLeft,top:0,zIndex:_.options.zIndex-2,opacity:0})}else{$(element).css({position:"relative",left:targetLeft,top:0,zIndex:_.options.zIndex-2,opacity:0})}});_.$slides.eq(_.currentSlide).css({zIndex:_.options.zIndex-1,opacity:1})};Slick.prototype.setHeight=function(){var _=this;if(_.options.slidesToShow===1&&_.options.adaptiveHeight===true&&_.options.vertical===false){var targetHeight=_.$slides.eq(_.currentSlide).outerHeight(true);_.$list.css("height",targetHeight)}};Slick.prototype.setOption=Slick.prototype.slickSetOption=function(){var _=this,l,item,option,value,refresh=false,type;if($.type(arguments[0])==="object"){option=arguments[0];refresh=arguments[1];type="multiple"}else if($.type(arguments[0])==="string"){option=arguments[0];value=arguments[1];refresh=arguments[2];if(arguments[0]==="responsive"&&$.type(arguments[1])==="array"){type="responsive"}else if(typeof arguments[1]!=="undefined"){type="single"}}if(type==="single"){_.options[option]=value}else if(type==="multiple"){$.each(option,function(opt,val){_.options[opt]=val})}else if(type==="responsive"){for(item in value){if($.type(_.options.responsive)!=="array"){_.options.responsive=[value[item]]}else{l=_.options.responsive.length-1;while(l>=0){if(_.options.responsive[l].breakpoint===value[item].breakpoint){_.options.responsive.splice(l,1)}l--}_.options.responsive.push(value[item])}}}if(refresh){_.unload();_.reinit()}};Slick.prototype.setPosition=function(){var _=this;_.setDimensions();_.setHeight();if(_.options.fade===false){_.setCSS(_.getLeft(_.currentSlide))}else{_.setFade()}_.$slider.trigger("setPosition",[_])};Slick.prototype.setProps=function(){var _=this,bodyStyle=document.body.style;_.positionProp=_.options.vertical===true?"top":"left";if(_.positionProp==="top"){_.$slider.addClass("slick-vertical")}else{_.$slider.removeClass("slick-vertical")}if(bodyStyle.WebkitTransition!==undefined||bodyStyle.MozTransition!==undefined||bodyStyle.msTransition!==undefined){if(_.options.useCSS===true){_.cssTransitions=true}}if(_.options.fade){if(typeof _.options.zIndex==="number"){if(_.options.zIndex<3){_.options.zIndex=3}}else{_.options.zIndex=_.defaults.zIndex}}if(bodyStyle.OTransform!==undefined){_.animType="OTransform";_.transformType="-o-transform";_.transitionType="OTransition";if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.webkitPerspective===undefined)_.animType=false}if(bodyStyle.MozTransform!==undefined){_.animType="MozTransform";_.transformType="-moz-transform";_.transitionType="MozTransition";if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.MozPerspective===undefined)_.animType=false}if(bodyStyle.webkitTransform!==undefined){_.animType="webkitTransform";_.transformType="-webkit-transform";_.transitionType="webkitTransition";if(bodyStyle.perspectiveProperty===undefined&&bodyStyle.webkitPerspective===undefined)_.animType=false}if(bodyStyle.msTransform!==undefined){_.animType="msTransform";_.transformType="-ms-transform";_.transitionType="msTransition";if(bodyStyle.msTransform===undefined)_.animType=false}if(bodyStyle.transform!==undefined&&_.animType!==false){_.animType="transform";_.transformType="transform";_.transitionType="transition"}_.transformsEnabled=_.options.useTransform&&(_.animType!==null&&_.animType!==false)};Slick.prototype.setSlideClasses=function(index){var _=this,centerOffset,allSlides,indexOffset,remainder;allSlides=_.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true");_.$slides.eq(index).addClass("slick-current");if(_.options.centerMode===true){var evenCoef=_.options.slidesToShow%2===0?1:0;centerOffset=Math.floor(_.options.slidesToShow/2);if(_.options.infinite===true){if(index>=centerOffset&&index<=_.slideCount-1-centerOffset){_.$slides.slice(index-centerOffset+evenCoef,index+centerOffset+1).addClass("slick-active").attr("aria-hidden","false")}else{indexOffset=_.options.slidesToShow+index;allSlides.slice(indexOffset-centerOffset+1+evenCoef,indexOffset+centerOffset+2).addClass("slick-active").attr("aria-hidden","false")}if(index===0){allSlides.eq(allSlides.length-1-_.options.slidesToShow).addClass("slick-center")}else if(index===_.slideCount-1){allSlides.eq(_.options.slidesToShow).addClass("slick-center")}}_.$slides.eq(index).addClass("slick-center")}else{if(index>=0&&index<=_.slideCount-_.options.slidesToShow){_.$slides.slice(index,index+_.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false")}else if(allSlides.length<=_.options.slidesToShow){allSlides.addClass("slick-active").attr("aria-hidden","false")}else{remainder=_.slideCount%_.options.slidesToShow;indexOffset=_.options.infinite===true?_.options.slidesToShow+index:index;if(_.options.slidesToShow==_.options.slidesToScroll&&_.slideCount-index<_.options.slidesToShow){allSlides.slice(indexOffset-(_.options.slidesToShow-remainder),indexOffset+remainder).addClass("slick-active").attr("aria-hidden","false")}else{allSlides.slice(indexOffset,indexOffset+_.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false")}}}if(_.options.lazyLoad==="ondemand"||_.options.lazyLoad==="anticipated"){_.lazyLoad()}};Slick.prototype.setupInfinite=function(){var _=this,i,slideIndex,infiniteCount;if(_.options.fade===true){_.options.centerMode=false}if(_.options.infinite===true&&_.options.fade===false){slideIndex=null;if(_.slideCount>_.options.slidesToShow){if(_.options.centerMode===true){infiniteCount=_.options.slidesToShow+1}else{infiniteCount=_.options.slidesToShow}for(i=_.slideCount;i>_.slideCount-infiniteCount;i-=1){slideIndex=i-1;$(_.$slides[slideIndex]).clone(true).attr("id","").attr("data-slick-index",slideIndex-_.slideCount).prependTo(_.$slideTrack).addClass("slick-cloned")}for(i=0;i_.getDotCount()*_.options.slidesToScroll)){if(_.options.fade===false){targetSlide=_.currentSlide;if(dontAnimate!==true&&_.slideCount>_.options.slidesToShow){_.animateSlide(slideLeft,function(){_.postSlide(targetSlide)})}else{_.postSlide(targetSlide)}}return}else if(_.options.infinite===false&&_.options.centerMode===true&&(index<0||index>_.slideCount-_.options.slidesToScroll)){if(_.options.fade===false){targetSlide=_.currentSlide;if(dontAnimate!==true&&_.slideCount>_.options.slidesToShow){_.animateSlide(slideLeft,function(){_.postSlide(targetSlide)})}else{_.postSlide(targetSlide)}}return}if(_.options.autoplay){clearInterval(_.autoPlayTimer)}if(targetSlide<0){if(_.slideCount%_.options.slidesToScroll!==0){animSlide=_.slideCount-_.slideCount%_.options.slidesToScroll}else{animSlide=_.slideCount+targetSlide}}else if(targetSlide>=_.slideCount){if(_.slideCount%_.options.slidesToScroll!==0){animSlide=0}else{animSlide=targetSlide-_.slideCount}}else{animSlide=targetSlide}_.animating=true;_.$slider.trigger("beforeChange",[_,_.currentSlide,animSlide]);oldSlide=_.currentSlide;_.currentSlide=animSlide;_.setSlideClasses(_.currentSlide);if(_.options.asNavFor){navTarget=_.getNavTarget();navTarget=navTarget.slickk("getSlick");if(navTarget.slideCount<=navTarget.options.slidesToShow){navTarget.setSlideClasses(_.currentSlide)}}_.updateDots();_.updateArrows();if(_.options.fade===true){if(dontAnimate!==true){_.fadeSlideOut(oldSlide);_.fadeSlide(animSlide,function(){_.postSlide(animSlide)})}else{_.postSlide(animSlide)}_.animateHeight();return}if(dontAnimate!==true&&_.slideCount>_.options.slidesToShow){_.animateSlide(targetLeft,function(){_.postSlide(animSlide)})}else{_.postSlide(animSlide)}};Slick.prototype.startLoad=function(){var _=this;if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow){_.$prevArrow.hide();_.$nextArrow.hide()}if(_.options.dots===true&&_.slideCount>_.options.slidesToShow){_.$dots.hide()}_.$slider.addClass("slick-loading")};Slick.prototype.swipeDirection=function(){var xDist,yDist,r,swipeAngle,_=this;xDist=_.touchObject.startX-_.touchObject.curX;yDist=_.touchObject.startY-_.touchObject.curY;r=Math.atan2(yDist,xDist);swipeAngle=Math.round(r*180/Math.PI);if(swipeAngle<0){swipeAngle=360-Math.abs(swipeAngle)}if(swipeAngle<=45&&swipeAngle>=0){return _.options.rtl===false?"left":"right"}if(swipeAngle<=360&&swipeAngle>=315){return _.options.rtl===false?"left":"right"}if(swipeAngle>=135&&swipeAngle<=225){return _.options.rtl===false?"right":"left"}if(_.options.verticalSwiping===true){if(swipeAngle>=35&&swipeAngle<=135){return"down"}else{return"up"}}return"vertical"};Slick.prototype.swipeEnd=function(event){var _=this,slideCount,direction;_.dragging=false;_.swiping=false;if(_.scrolling){_.scrolling=false;return false}_.interrupted=false;_.shouldClick=_.touchObject.swipeLength>10?false:true;if(_.touchObject.curX===undefined){return false}if(_.touchObject.edgeHit===true){_.$slider.trigger("edge",[_,_.swipeDirection()])}if(_.touchObject.swipeLength>=_.touchObject.minSwipe){direction=_.swipeDirection();switch(direction){case"left":case"down":slideCount=_.options.swipeToSlide?_.checkNavigable(_.currentSlide+_.getSlideCount()):_.currentSlide+_.getSlideCount();_.currentDirection=0;break;case"right":case"up":slideCount=_.options.swipeToSlide?_.checkNavigable(_.currentSlide-_.getSlideCount()):_.currentSlide-_.getSlideCount();_.currentDirection=1;break;default:}if(direction!="vertical"){_.slideHandler(slideCount);_.touchObject={};_.$slider.trigger("swipe",[_,direction])}}else{if(_.touchObject.startX!==_.touchObject.curX){_.slideHandler(_.currentSlide);_.touchObject={}}}};Slick.prototype.swipeHandler=function(event){var _=this;if(_.options.swipe===false||"ontouchend"in document&&_.options.swipe===false){return}else if(_.options.draggable===false&&event.type.indexOf("mouse")!==-1){return}_.touchObject.fingerCount=event.originalEvent&&event.originalEvent.touches!==undefined?event.originalEvent.touches.length:1;_.touchObject.minSwipe=_.listWidth/_.options.touchThreshold;if(_.options.verticalSwiping===true){_.touchObject.minSwipe=_.listHeight/_.options.touchThreshold}switch(event.data.action){case"start":_.swipeStart(event);break;case"move":_.swipeMove(event);break;case"end":_.swipeEnd(event);break}};Slick.prototype.swipeMove=function(event){var _=this,edgeWasHit=false,curLeft,swipeDirection,swipeLength,positionOffset,touches,verticalSwipeLength;touches=event.originalEvent!==undefined?event.originalEvent.touches:null;if(!_.dragging||_.scrolling||touches&&touches.length!==1){return false}curLeft=_.getLeft(_.currentSlide);_.touchObject.curX=touches!==undefined?touches[0].pageX:event.clientX;_.touchObject.curY=touches!==undefined?touches[0].pageY:event.clientY;_.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(_.touchObject.curX-_.touchObject.startX,2)));verticalSwipeLength=Math.round(Math.sqrt(Math.pow(_.touchObject.curY-_.touchObject.startY,2)));if(!_.options.verticalSwiping&&!_.swiping&&verticalSwipeLength>4){_.scrolling=true;return false}if(_.options.verticalSwiping===true){_.touchObject.swipeLength=verticalSwipeLength}swipeDirection=_.swipeDirection();if(event.originalEvent!==undefined&&_.touchObject.swipeLength>4){_.swiping=true;event.preventDefault()}positionOffset=(_.options.rtl===false?1:-1)*(_.touchObject.curX>_.touchObject.startX?1:-1);if(_.options.verticalSwiping===true){positionOffset=_.touchObject.curY>_.touchObject.startY?1:-1}swipeLength=_.touchObject.swipeLength;_.touchObject.edgeHit=false;if(_.options.infinite===false){if(_.currentSlide===0&&swipeDirection==="right"||_.currentSlide>=_.getDotCount()&&swipeDirection==="left"){swipeLength=_.touchObject.swipeLength*_.options.edgeFriction;_.touchObject.edgeHit=true}}if(_.options.vertical===false){_.swipeLeft=curLeft+swipeLength*positionOffset}else{_.swipeLeft=curLeft+swipeLength*(_.$list.height()/_.listWidth)*positionOffset}if(_.options.verticalSwiping===true){_.swipeLeft=curLeft+swipeLength*positionOffset}if(_.options.fade===true||_.options.touchMove===false){return false}if(_.animating===true){_.swipeLeft=null;return false}_.setCSS(_.swipeLeft)};Slick.prototype.swipeStart=function(event){var _=this,touches;_.interrupted=true;if(_.touchObject.fingerCount!==1||_.slideCount<=_.options.slidesToShow){_.touchObject={};return false}if(event.originalEvent!==undefined&&event.originalEvent.touches!==undefined){touches=event.originalEvent.touches[0]}_.touchObject.startX=_.touchObject.curX=touches!==undefined?touches.pageX:event.clientX;_.touchObject.startY=_.touchObject.curY=touches!==undefined?touches.pageY:event.clientY;_.dragging=true};Slick.prototype.unfilterSlides=Slick.prototype.slickUnfilter=function(){var _=this;if(_.$slidesCache!==null){_.unload();_.$slideTrack.children(this.options.slide).detach();_.$slidesCache.appendTo(_.$slideTrack);_.reinit()}};Slick.prototype.unload=function(){var _=this;$(".slick-cloned",_.$slider).remove();if(_.$dots){_.$dots.remove()}if(_.$prevArrow&&_.htmlExpr.test(_.options.prevArrow)){_.$prevArrow.remove()}if(_.$nextArrow&&_.htmlExpr.test(_.options.nextArrow)){_.$nextArrow.remove()}_.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")};Slick.prototype.unslick=function(fromBreakpoint){var _=this;_.$slider.trigger("unslick",[_,fromBreakpoint]);_.destroy()};Slick.prototype.updateArrows=function(){var _=this,centerOffset;centerOffset=Math.floor(_.options.slidesToShow/2);if(_.options.arrows===true&&_.slideCount>_.options.slidesToShow&&!_.options.infinite){_.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false");_.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false");if(_.currentSlide===0){_.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true");_.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")}else if(_.currentSlide>=_.slideCount-_.options.slidesToShow&&_.options.centerMode===false){_.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true");_.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")}else if(_.currentSlide>=_.slideCount-1&&_.options.centerMode===true){_.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true");_.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")}}};Slick.prototype.updateDots=function(){var _=this;if(_.$dots!==null){_.$dots.find("li").removeClass("slick-active").end();_.$dots.find("li").eq(Math.floor(_.currentSlide/_.options.slidesToScroll)).addClass("slick-active")}};Slick.prototype.visibility=function(){var _=this;if(_.options.autoplay){if(document[_.hidden]){_.interrupted=true}else{_.interrupted=false}}};$.fn.slickk=function(){var _=this,opt=arguments[0],args=Array.prototype.slice.call(arguments,1),l=_.length,i,ret;for(i=0;i{"use strict";var e,r,a,c={},n={};function __webpack_require__(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={exports:{}};return c[e].call(a.exports,a,a.exports,__webpack_require__),a.exports}__webpack_require__.m=c,e=[],__webpack_require__.O=(r,a,c,n)=>{if(!a){var i=1/0;for(b=0;b=n)&&Object.keys(__webpack_require__.O).every((e=>__webpack_require__.O[e](a[d])))?a.splice(d--,1):(_=!1,n0&&e[b-1][2]>n;b--)e[b]=e[b-1];e[b]=[a,c,n]},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((r,a)=>(__webpack_require__.f[a](e,r),r)),[])),__webpack_require__.u=e=>714===e?"code-highlight.28a979661569ddbbf60d.bundle.min.js":721===e?"video-playlist.74fca1f2470fa6474595.bundle.min.js":256===e?"paypal-button.3d0d5af7df85963df32c.bundle.min.js":699===e?"60745ddf42fde6647dbc.bundle.min.js":156===e?"stripe-button.2acbca466dfeb9585680.bundle.min.js":241===e?"progress-tracker.53951a08af7543da98e6.bundle.min.js":26===e?"animated-headline.3efc6517c2a055f6c242.bundle.min.js":534===e?"media-carousel.aca2224ef13e6f999011.bundle.min.js":369===e?"carousel.9b02b45d7826c1c48f33.bundle.min.js":804===e?"countdown.be941c879efa861dbbfa.bundle.min.js":888===e?"hotspot.6ab1751404c381bfe390.bundle.min.js":680===e?"form.c4bc7eaa69583834a7d5.bundle.min.js":121===e?"gallery.8ca9a354ce039d1ba641.bundle.min.js":288===e?"lottie.565b778d23c04461c4ea.bundle.min.js":42===e?"nav-menu.e65811186e94a386ba7b.bundle.min.js":50===e?"popup.085c1727e36940b18f29.bundle.min.js":985===e?"load-more.bc9573b5d1f73abd80b9.bundle.min.js":287===e?"posts.caaf3e27e57db8207afc.bundle.min.js":824===e?"portfolio.b5c5e89624dc6b81a11a.bundle.min.js":58===e?"share-buttons.08f4daf4a4285a8632b8.bundle.min.js":114===e?"slides.fb6b9afd278bb9c5e75b.bundle.min.js":443===e?"social.2d2e44e8608690943f29.bundle.min.js":838===e?"table-of-contents.8fd1a0cc520a3fc67bd8.bundle.min.js":685===e?"archive-posts.d30c917134774f65dd6d.bundle.min.js":858===e?"search-form.a25a87283d08dad12f18.bundle.min.js":102===e?"woocommerce-menu-cart.faa7b80e9ba9e5072070.bundle.min.js":1===e?"woocommerce-purchase-summary.46445ab1120a8c28c05c.bundle.min.js":124===e?"woocommerce-checkout-page.b18af78282979b6f74e4.bundle.min.js":859===e?"woocommerce-cart.fc30c6cb753d4098eff5.bundle.min.js":979===e?"woocommerce-my-account.3ee10d01e625dad87f73.bundle.min.js":497===e?"woocommerce-notices.aaa7a3d06f24f7ea6951.bundle.min.js":800===e?"product-add-to-cart.023d7d31fbf96c3dbdfc.bundle.min.js":149===e?"loop.4f538ab2476dd2d124e6.bundle.min.js":153===e?"loop-carousel.4e8fd6593adbba21698e.bundle.min.js":356===e?"ajax-pagination.a8dae0f5699fe9733e7d.bundle.min.js":495===e?"mega-menu.43866105e5e8e1a3f38d.bundle.min.js":157===e?"mega-menu-stretch-content.60ca9e1e97c52ac3bf8c.bundle.min.js":244===e?"menu-title-keyboard-handler.8482fb61223805f5ee8f.bundle.min.js":209===e?"nested-carousel.3ff3a0e309cbbd122254.bundle.min.js":188===e?"taxonomy-filter.b42e9c10a9d0abc3454e.bundle.min.js":725===e?"off-canvas.38087f3bf0da88e5e2e9.bundle.min.js":8===e?"contact-buttons.09c69d0d12aa67f9133e.bundle.min.js":322===e?"contact-buttons-var-10.b255e00e3feea456660f.bundle.min.js":464===e?"search.d0787a5c582ce238adf0.bundle.min.js":void 0,__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},a="elementor-pro:",__webpack_require__.l=(e,c,n,i)=>{if(r[e])r[e].push(c);else{var _,d;if(void 0!==n)for(var t=document.getElementsByTagName("script"),b=0;b{_.onerror=_.onload=null,clearTimeout(u);var n=r[e];if(delete r[e],_.parentNode&&_.parentNode.removeChild(_),n&&n.forEach((e=>e(c))),a)return a(c)},u=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:_}),12e4);_.onerror=onScriptComplete.bind(null,_.onerror),_.onload=onScriptComplete.bind(null,_.onload),d&&document.head.appendChild(_)}},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var r=__webpack_require__.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var a=r.getElementsByTagName("script");if(a.length)for(var c=a.length-1;c>-1&&!e;)e=a[c--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={396:0};__webpack_require__.f.j=(r,a)=>{var c=__webpack_require__.o(e,r)?e[r]:void 0;if(0!==c)if(c)a.push(c[2]);else if(396!=r){var n=new Promise(((a,n)=>c=e[r]=[a,n]));a.push(c[2]=n);var i=__webpack_require__.p+__webpack_require__.u(r),_=new Error;__webpack_require__.l(i,(a=>{if(__webpack_require__.o(e,r)&&(0!==(c=e[r])&&(e[r]=void 0),c)){var n=a&&("load"===a.type?"missing":a.type),i=a&&a.target&&a.target.src;_.message="Loading chunk "+r+" failed.\n("+n+": "+i+")",_.name="ChunkLoadError",_.type=n,_.request=i,c[1](_)}}),"chunk-"+r,r)}else e[r]=0},__webpack_require__.O.j=r=>0===e[r];var webpackJsonpCallback=(r,a)=>{var c,n,[i,_,d]=a,t=0;if(i.some((r=>0!==e[r]))){for(c in _)__webpack_require__.o(_,c)&&(__webpack_require__.m[c]=_[c]);if(d)var b=d(__webpack_require__)}for(r&&r(a);t{"use strict";var e,r,_,t,a,i={},n={};function __webpack_require__(e){var r=n[e];if(void 0!==r)return r.exports;var _=n[e]={exports:{}};return i[e].call(_.exports,_,_.exports,__webpack_require__),_.exports}__webpack_require__.m=i,e=[],__webpack_require__.O=(r,_,t,a)=>{if(!_){var i=1/0;for(u=0;u=a)&&Object.keys(__webpack_require__.O).every((e=>__webpack_require__.O[e](_[c])))?_.splice(c--,1):(n=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[_,t,a]},_=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var a=Object.create(null);__webpack_require__.r(a);var i={};r=r||[null,_({}),_([]),_(_)];for(var n=2&t&&e;"object"==typeof n&&!~r.indexOf(n);n=_(n))Object.getOwnPropertyNames(n).forEach((r=>i[r]=()=>e[r]));return i.default=()=>e,__webpack_require__.d(a,i),a},__webpack_require__.d=(e,r)=>{for(var _ in r)__webpack_require__.o(r,_)&&!__webpack_require__.o(e,_)&&Object.defineProperty(e,_,{enumerable:!0,get:r[_]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((r,_)=>(__webpack_require__.f[_](e,r),r)),[])),__webpack_require__.u=e=>723===e?"lightbox.26bf6b6c4232d8789c0e.bundle.min.js":48===e?"text-path.2bc8a9cd0e50cf1a5a9c.bundle.min.js":209===e?"accordion.8799675460c73eb48972.bundle.min.js":745===e?"alert.cbc2a0fee74ee3ed0419.bundle.min.js":120===e?"counter.02cef29c589e742d4c8c.bundle.min.js":192===e?"progress.985f012a6336ab21cb44.bundle.min.js":520===e?"tabs.c2af5be7f9cb3cdcf3d5.bundle.min.js":181===e?"toggle.31881477c45ff5cf9d4d.bundle.min.js":791===e?"video.78c625e89ab767d621c5.bundle.min.js":268===e?"image-carousel.4455c6362492d9067512.bundle.min.js":357===e?"text-editor.2c35aafbe5bf0e127950.bundle.min.js":52===e?"wp-audio.75f0ced143febb8cd31a.bundle.min.js":413===e?"container.c65a2a923085e1120e75.bundle.min.js":void 0,__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a="elementor:",__webpack_require__.l=(e,r,_,i)=>{if(t[e])t[e].push(r);else{var n,c;if(void 0!==_)for(var o=document.getElementsByTagName("script"),u=0;u{n.onerror=n.onload=null,clearTimeout(p);var a=t[e];if(delete t[e],n.parentNode&&n.parentNode.removeChild(n),a&&a.forEach((e=>e(_))),r)return r(_)},p=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=onScriptComplete.bind(null,n.onerror),n.onload=onScriptComplete.bind(null,n.onload),c&&document.head.appendChild(n)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var r=__webpack_require__.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var _=r.getElementsByTagName("script");if(_.length)for(var t=_.length-1;t>-1&&!e;)e=_[t--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={162:0};__webpack_require__.f.j=(r,_)=>{var t=__webpack_require__.o(e,r)?e[r]:void 0;if(0!==t)if(t)_.push(t[2]);else if(162!=r){var a=new Promise(((_,a)=>t=e[r]=[_,a]));_.push(t[2]=a);var i=__webpack_require__.p+__webpack_require__.u(r),n=new Error;__webpack_require__.l(i,(_=>{if(__webpack_require__.o(e,r)&&(0!==(t=e[r])&&(e[r]=void 0),t)){var a=_&&("load"===_.type?"missing":_.type),i=_&&_.target&&_.target.src;n.message="Loading chunk "+r+" failed.\n("+a+": "+i+")",n.name="ChunkLoadError",n.type=a,n.request=i,t[1](n)}}),"chunk-"+r,r)}else e[r]=0},__webpack_require__.O.j=r=>0===e[r];var webpackJsonpCallback=(r,_)=>{var t,a,[i,n,c]=_,o=0;if(i.some((r=>0!==e[r]))){for(t in n)__webpack_require__.o(n,t)&&(__webpack_require__.m[t]=n[t]);if(c)var u=c(__webpack_require__)}for(r&&r(_);o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=(e,t)=>{t=Array.isArray(t)?t:[t];for(const n of t)if(e.constructor.name===n.prototype[Symbol.toStringTag])return!0;return!1}},8135:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.ViewModule{getDefaultSettings(){return{selectors:{elements:".elementor-element",nestedDocumentElements:".elementor .elementor-element"},classes:{editMode:"elementor-edit-mode"}}}getDefaultElements(){const 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={};const 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(){}}t.default=_default},6752:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=i(n(3090));class NestedTitleKeyboardHandler extends s.default{__construct(e){super.__construct(e),this.directionNext="next",this.directionPrevious="previous",this.focusableElementSelector='audio, button, canvas, details, iframe, input, select, summary, textarea, video, [accesskey], [contenteditable], [href], [tabindex]:not([tabindex="-1"])'}getWidgetNumber(){return this.$element.find("> .elementor-widget-container > .e-n-tabs, > .e-n-tabs").attr("data-widget-number")}getDefaultSettings(){return{selectors:{itemTitle:`[id*="e-n-tab-title-${this.getWidgetNumber()}"]`,itemContainer:`[id*="e-n-tab-content-${this.getWidgetNumber()}"]`},ariaAttributes:{titleStateAttribute:"aria-selected",activeTitleSelector:'[aria-selected="true"]'},datasets:{titleIndex:"data-tab-index"},keyDirection:{ArrowLeft:elementorFrontendConfig.is_rtl?this.directionNext:this.directionPrevious,ArrowUp:this.directionPrevious,ArrowRight:elementorFrontendConfig.is_rtl?this.directionPrevious:this.directionNext,ArrowDown:this.directionNext}}}getDefaultElements(){const e=this.getSettings("selectors");return{$itemTitles:this.findElement(e.itemTitle),$itemContainers:this.findElement(e.itemContainer),$focusableContainerElements:this.getFocusableElements(this.findElement(e.itemContainer))}}getFocusableElements(e){return e.find(this.focusableElementSelector).not("[disabled], [inert]")}getKeyDirectionValue(e){const t=this.getSettings("keyDirection")[e.key];return this.directionNext===t?1:-1}getTitleIndex(e){const{titleIndex:t}=this.getSettings("datasets");return e.getAttribute(t)}getTitleFilterSelector(e){const{titleIndex:t}=this.getSettings("datasets");return`[${t}="${e}"]`}getActiveTitleElement(){const e=this.getSettings("ariaAttributes").activeTitleSelector;return this.elements.$itemTitles.filter(e)}onInit(){super.onInit(...arguments)}bindEvents(){this.elements.$itemTitles.on(this.getTitleEvents()),this.elements.$focusableContainerElements.on(this.getContentElementEvents())}unbindEvents(){this.elements.$itemTitles.off(this.getTitleEvents()),this.elements.$focusableContainerElements.children().off(this.getContentElementEvents())}getTitleEvents(){return{keydown:this.handleTitleKeyboardNavigation.bind(this)}}getContentElementEvents(){return{keydown:this.handleContentElementKeyboardNavigation.bind(this)}}isDirectionKey(e){return["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(e.key)}isActivationKey(e){return["Enter"," "].includes(e.key)}handleTitleKeyboardNavigation(e){if(this.isDirectionKey(e)){e.preventDefault();const t=parseInt(this.getTitleIndex(e.currentTarget))||1,n=this.elements.$itemTitles.length,i=this.getTitleIndexFocusUpdated(e,t,n);this.changeTitleFocus(i),e.stopPropagation()}else if(this.isActivationKey(e)){if(e.preventDefault(),this.handeTitleLinkEnterOrSpaceEvent(e))return;const t=this.getTitleIndex(e.currentTarget);elementorFrontend.elements.$window.trigger("elementor/nested-elements/activate-by-keyboard",{widgetId:this.getID(),titleIndex:t})}else"Escape"===e.key&&this.handleTitleEscapeKeyEvents(e)}handeTitleLinkEnterOrSpaceEvent(e){const t="a"===e?.currentTarget?.tagName?.toLowerCase();return!elementorFrontend.isEditMode()&&t&&(e?.currentTarget?.click(),e.stopPropagation()),t}getTitleIndexFocusUpdated(e,t,n){let i=0;switch(e.key){case"Home":i=1;break;case"End":i=n;break;default:const s=this.getKeyDirectionValue(e);i=n{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=i(n(2821));class CarouselHandlerBase extends s.default{getDefaultSettings(){return{selectors:{carousel:`.${elementorFrontend.config.swiperClass}`,swiperWrapper:".swiper-wrapper",slideContent:".swiper-slide",swiperArrow:".elementor-swiper-button",paginationWrapper:".swiper-pagination",paginationBullet:".swiper-pagination-bullet",paginationBulletWrapper:".swiper-pagination-bullets"}}}getDefaultElements(){const 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(){const e=this.getElementSettings(),t=+e.slides_to_show||3,n=1===t,i=elementorFrontend.config.responsive.activeBreakpoints,s={mobile:1,tablet:n?1:2},r={slidesPerView:t,loop:"yes"===e.infinite,speed:e.speed,handleElementorBreakpoints:!0,breakpoints:{}};let o=t;Object.keys(i).reverse().forEach((t=>{const n=s[t]?s[t]:o;r.breakpoints[i[t].value]={slidesPerView:+e["slides_to_show_"+t]||n,slidesPerGroup:+e["slides_to_scroll_"+t]||1},e.image_spacing_custom&&(r.breakpoints[i[t].value].spaceBetween=this.getSpaceBetween(t)),o=+e["slides_to_show_"+t]||n})),"yes"===e.autoplay&&(r.autoplay={delay:e.autoplay_speed,disableOnInteraction:"yes"===e.pause_on_interaction}),n?(r.effect=e.effect,"fade"===e.effect&&(r.fadeEffect={crossFade:!0})):r.slidesPerGroup=+e.slides_to_scroll||1,e.image_spacing_custom&&(r.spaceBetween=this.getSpaceBetween());const a="arrows"===e.navigation||"both"===e.navigation,l="dots"===e.navigation||"both"===e.navigation||e.pagination;return a&&(r.navigation={prevEl:".elementor-swiper-button-prev",nextEl:".elementor-swiper-button-next"}),l&&(r.pagination={el:`.elementor-element-${this.getID()} .swiper-pagination`,type:e.pagination?e.pagination:"bullets",clickable:!0,renderBullet:(e,t)=>``}),"yes"===e.lazyload&&(r.lazy={loadPrevNext:!0,loadPrevNextAmount:1}),r.a11y={enabled:!0,prevSlideMessage:elementorFrontend.config.i18n.a11yCarouselPrevSlideMessage,nextSlideMessage:elementorFrontend.config.i18n.a11yCarouselNextSlideMessage,firstSlideMessage:elementorFrontend.config.i18n.a11yCarouselFirstSlideMessage,lastSlideMessage:elementorFrontend.config.i18n.a11yCarouselLastSlideMessage},r.on={slideChangeTransitionEnd:()=>{this.a11ySetSlideAriaHidden()},slideChange:()=>{this.a11ySetPaginationTabindex(),this.handleElementHandlers()},init:()=>{this.a11ySetWidgetAriaDetails(),this.a11ySetPaginationTabindex(),this.a11ySetSlideAriaHidden("initialisation")}},this.applyOffsetSettings(e,r,t),r}getOffsetWidth(){const e=elementorFrontend.getCurrentDeviceMode();return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),"offset_width","size",e)||0}applyOffsetSettings(e,t,n){const i=e.offset_sides;if(!(elementorFrontend.isEditMode()&&"NestedCarousel"===this.constructor.name)&&i&&"none"!==i)switch(i){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")}}forceSliderToShowNextSlideWhenOnLast(e,t){e.slidesPerView=t+.001}addClassToSwiperContainer(e){this.getDefaultElements().$swiperContainer[0].classList.add(e)}async onInit(){if(super.onInit(...arguments),!this.elements.$swiperContainer.length||2>this.elements.$slides.length)return;await this.initSwiper();"yes"===this.getElementSettings().pause_on_hover&&this.togglePauseOnHover(!0)}async initSwiper(){const e=elementorFrontend.utils.swiper;this.swiper=await new e(this.elements.$swiperContainer,this.getSwiperSettings()),this.elements.$swiperContainer.data("swiper",this.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){const t=elementorFrontend.config.is_rtl,n=e.originalEvent.code,i=t?"ArrowLeft":"ArrowRight";if(!(-1!==["ArrowLeft","ArrowRight"].indexOf(n)))return!0;(t?"ArrowRight":"ArrowLeft")===n?this.swiper.slidePrev():i===n&&this.swiper.slideNext()}onFocusDisableAutoplay(){this.swiper.autoplay.stop()}updateSwiperOption(e){const t=this.getElementSettings()[e],n=this.swiper.params;switch(e){case"autoplay_speed":n.autoplay.delay=t;break;case"speed":n.speed=t}this.swiper.update()}getChangeableProperties(){return{pause_on_hover:"pauseOnHover",autoplay_speed:"delay",speed:"speed",arrows_position:"arrows_position"}}onElementChange(e){if(0===e.indexOf("image_spacing_custom"))return void this.updateSpaceBetween(e);if(this.getChangeableProperties()[e])if("pause_on_hover"===e){const e=this.getElementSettings("pause_on_hover");this.togglePauseOnHover("yes"===e)}else this.updateSwiperOption(e)}onEditSettingsChange(e){"activeItemIndex"===e&&this.swiper.slideToLoop(this.getEditSettings("activeItemIndex")-1)}getSpaceBetween(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),"image_spacing_custom","size",e)||0}updateSpaceBetween(e){const t=e.match("image_spacing_custom_(.*)"),n=t?t[1]:"desktop",i=this.getSpaceBetween(n);"desktop"!==n&&(this.swiper.params.breakpoints[elementorFrontend.config.responsive.activeBreakpoints[n].value].spaceBetween=i),this.swiper.params.spaceBetween=i,this.swiper.update()}getPaginationBullets(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"array";const t=this.$element.find(this.getSettings("selectors").paginationBullet);return"array"===e?Array.from(t):t}a11ySetWidgetAriaDetails(){const e=this.$element;e.attr("aria-roledescription","carousel"),e.attr("aria-label",elementorFrontend.config.i18n.a11yCarouselWrapperAriaLabel)}a11ySetPaginationTabindex(){const e=this.swiper?.params?.pagination.bulletClass,t=this.swiper?.params?.pagination.bulletActiveClass;this.getPaginationBullets().forEach((e=>{e.classList?.contains(t)||e.removeAttribute("tabindex")}));const n="ArrowLeft"===event?.code||"ArrowRight"===event?.code;event?.target?.classList?.contains(e)&&n&&this.$element.find(`.${t}`).trigger("focus")}getSwiperWrapperTranformXValue(){let e=this.elements.$swiperWrapper[0]?.style.transform;return e=e.replace("translate3d(",""),e=e.split(","),e=parseInt(e[0].replace("px","")),e||0}a11ySetSlideAriaHidden(){if("number"!=typeof("initialisation"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"")?0:this.swiper?.activeIndex))return;const e=this.getSwiperWrapperTranformXValue(),t=this.elements.$swiperWrapper[0].clientWidth;this.elements.$swiperContainer.find(this.getSettings("selectors").slideContent).each(((n,i)=>{0<=i.offsetLeft+e&&t>i.offsetLeft+e?(i.removeAttribute("aria-hidden"),i.removeAttribute("inert")):(i.setAttribute("aria-hidden",!0),i.setAttribute("inert",""))}))}handleElementHandlers(){}}t.default=CarouselHandlerBase},2821:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=i(n(3090));class SwiperHandlerBase extends s.default{getInitialSlide(){const 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(){const 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},3090:e=>{"use strict";e.exports=elementorModules.ViewModule.extend({$element:null,editorListeners:null,onElementChange:null,onEditSettingsChange:null,onPageSettingsChange:null,isEdit:null,__construct(e){this.isActive(e)&&(this.$element=e.$element,this.isEdit=this.$element.hasClass("elementor-element-edit-mode"),this.isEdit&&this.addEditorListeners())},isActive:()=>!0,isElementInTheCurrentDocument(){return!!elementorFrontend.isEditMode()&&elementor.documents.currentDocument.id.toString()===this.$element[0].closest(".elementor").dataset.elementorId},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){const t=e.getWidgetType()||e.getElementType();let n="change";"global"!==t&&(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;const i=Object.keys(t.changed)[0];e.onEditSettingsChange(i,t.changed[i])}}),["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(){const 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={};const n=this.getModelCID();if(this.isEdit&&n){const e=elementorFrontend.config.elements.data[n],i=e.attributes;let s=i.widgetType||i.elType;i.isInner&&(s="inner-"+s);let r=elementorFrontend.config.elements.keys[s];r||(r=elementorFrontend.config.elements.keys[s]=[],jQuery.each(e.controls,((e,t)=>{(t.frontend_available||t.editor_available)&&r.push(e)}))),jQuery.each(e.getActiveControls(),(function(e){if(-1!==r.indexOf(e)){let n=i[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()}})},2263:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=i(n(3090));class StretchedElement extends s.default{getStretchedClass(){return"e-stretched"}getStretchSettingName(){return"stretch_element"}getStretchActiveValue(){return"yes"}bindEvents(){const 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(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]: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(){this.isActive(this.getSettings())&&(this.initStretch(),super.onInit(...arguments),this.stretch())}onElementChange(e){this.getStretchSettingName()===e&&(this.isStretchSettingEnabled()?this.stretch():this.stretchElement.reset())}onKitChangeStretchContainerChange(){this.stretchElement.setSettings("selectors.container",this.getStretchContainer()),this.stretch()}}t.default=StretchedElement},6412:(e,t,n)=>{"use strict";var i=n(3203),s=i(n(5955)),r=i(n(8135)),o=i(n(5658)),a=i(n(2263)),l=i(n(3090)),c=i(n(2821)),d=i(n(1292)),u=i(n(7323)),h=i(n(32)),m=i(n(5877)),g=i(n(7712)),p=i(n(6752));s.default.frontend={Document:r.default,tools:{StretchElement:o.default},handlers:{Base:l.default,StretchedElement:a.default,SwiperBase:c.default,CarouselBase:d.default,NestedTabs:u.default,NestedAccordion:h.default,NestedTitleKeyboardHandler:p.default,ContactButtonsHandler:m.default,FloatingBarsHandler:g.default}}},5658:e=>{"use strict";e.exports=elementorModules.ViewModule.extend({getDefaultSettings:()=>({element:null,direction:elementorFrontend.config.is_rtl?"right":"left",selectors:{container:window},considerScrollbar:!1,cssOutput:"inline"}),getDefaultElements(){return{$element:jQuery(this.getSettings("element"))}},stretch(){const e=this.getSettings();let 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,i=t.innerWidth(),s=n.offset().left,r="fixed"===n.css("position"),o=r?0:s,a=window===t[0];if(!a){var l=t.offset().left;r&&(o=l),s>l&&(o=s-l)}if(e.considerScrollbar&&a){o-=window.innerWidth-i}r||(elementorFrontend.config.is_rtl&&(o=i-(n.outerWidth()+o)),o=-o),e.margin&&(o+=e.margin);var c={};let d=i;e.margin&&(d-=2*e.margin),c.width=d+"px",c[e.direction]=o+"px","variables"!==e.cssOutput?n.css(c):this.applyCssVariables(n,c)},reset(){const e={},t=this.getSettings(),n=this.elements.$element;"variables"!==t.cssOutput?(e.width="",e[t.direction]="",n.css(e)):this.resetCssVariables(n)},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":""})}})},6630:(e,t)=>{"use strict";function getChildrenWidth(e){let t=0;const n=e[0].parentNode,i=getComputedStyle(n),s=parseFloat(i.gap)||0;for(let n=0;ne.clientWidth;if(!i||!s||!r)return;n.preventDefault();const o=parseFloat(e.dataset.pageX),a=n.pageX-o;let l=0;l=20a?-5:a;e.scrollLeft=e.scrollLeft-l,e.classList.add("e-scroll-active")}},2618:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,n(740);var s=i(n(7597)),r=i(n(381));class ArgsObject extends s.default{static getInstanceType(){return"ArgsObject"}constructor(e){super(),this.args=e}requireArgument(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.args;if(!Object.prototype.hasOwnProperty.call(t,e))throw Error(`${e} is required.`)}requireArgumentType(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.args;if(this.requireArgument(e,n),typeof n[e]!==t)throw Error(`${e} invalid type: ${t}.`)}requireArgumentInstance(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.args;if(this.requireArgument(e,n),!(n[e]instanceof t||(0,r.default)(n[e],t)))throw Error(`${e} invalid instance.`)}requireArgumentConstructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.args;if(this.requireArgument(e,n),n[e].constructor.toString()!==t.prototype.constructor.toString())throw Error(`${e} invalid constructor type.`)}}t.default=ArgsObject},869:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ForceMethodImplementation=void 0,n(740);class ForceMethodImplementation extends Error{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};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)}}t.ForceMethodImplementation=ForceMethodImplementation;t.default=e=>{const t=Error().stack.split("\n")[2].trim(),n=t.startsWith("at new")?"constructor":t.split(" ")[1],i={};if(i.functionName=n,i.fullName=n,i.functionName.includes(".")){const e=i.functionName.split(".");i.className=e[0],i.functionName=e[1]}else i.isStatic=!0;throw new ForceMethodImplementation(i,e)}},7597:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;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)){const t=this.getInstanceType===InstanceType.getInstanceType?"BaseInstanceType":this.getInstanceType();-1===e.instanceTypes.indexOf(t)&&e.instanceTypes.push(t)}return!t&&e&&(t=e.instanceTypes&&Array.isArray(e.instanceTypes)&&-1!==e.instanceTypes.indexOf(this.getInstanceType())),t}static getInstanceType(){elementorModules.ForceMethodImplementation()}constructor(){let e=new.target;const t=[];for(;e.__proto__&&e.__proto__.name;)t.push(e.__proto__),e=e.__proto__;t.reverse().forEach((e=>this instanceof e))}}t.default=InstanceType},1192:(e,t,n)=>{"use strict";n(740);const Module=function(){const e=jQuery,t=arguments,n=this,i={};let s;this.getItems=function(e,t){if(t){const n=t.split("."),i=n.splice(0,1);if(!n.length)return e[i];if(!e[i])return;return this.getItems(e[i],n.join("."))}return e},this.getSettings=function(e){return this.getItems(s,e)},this.setSettings=function(t,i,r){if(r||(r=s),"object"==typeof t)return e.extend(r,t),n;const o=t.split("."),a=o.splice(0,1);return o.length?(r[a]||(r[a]={}),n.setSettings(o.join("."),i,r[a])):(r[a]=i,n)},this.getErrorMessage=function(e,t){let n;if("forceMethodImplementation"===e)n=`The method '${t}' must to be implemented in the inheritor child.`;else n="An error occurs";return n},this.forceMethodImplementation=function(e){throw new Error(this.getErrorMessage("forceMethodImplementation",e))},this.on=function(t,s){if("object"==typeof t)return e.each(t,(function(e){n.on(e,this)})),n;return t.split(" ").forEach((function(e){i[e]||(i[e]=[]),i[e].push(s)})),n},this.off=function(e,t){if(!i[e])return n;if(!t)return delete i[e],n;const s=i[e].indexOf(t);return-1!==s&&(delete i[e][s],i[e]=i[e].filter((e=>e))),n},this.trigger=function(t){const s="on"+t[0].toUpperCase()+t.slice(1),r=Array.prototype.slice.call(arguments,1);n[s]&&n[s].apply(n,r);const o=i[t];return o?(e.each(o,(function(e,t){t.apply(n,r)})),n):n},n.__construct.apply(n,t),e.each(n,(function(e){const t=n[e];"function"==typeof t&&(n[e]=function(){return t.apply(n,arguments)})})),function(){s=n.getDefaultSettings();const i=t[0];i&&e.extend(!0,s,i)}(),n.trigger("init")};Module.prototype.__construct=function(){},Module.prototype.getDefaultSettings=function(){return{}},Module.prototype.getConstructorID=function(){return this.constructor.name},Module.extend=function(e){const 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))).constructor=child,child.__super__=n.prototype,child},e.exports=Module},6516:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=i(n(2640)).default.extend({getDefaultSettings:()=>({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(),i=n.columnsCount;t+=parseInt(this.elements.$container.css("margin-top"),10),this.elements.$items.each((function(s){var r=Math.floor(s/i),o=jQuery(this),a=o[0].getBoundingClientRect().height+n.verticalSpaceBetween;if(r){var l=o.position(),c=s%i,d=l.top-t-e[c];d-=parseInt(o.css("margin-top"),10),d*=-1,o.css("margin-top",d+"px"),e[c]+=a}else e.push(a)}))}});t.default=s},400:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class Scroll{static scrollObserver(e){let t=0;const n={root:e.root||null,rootMargin:e.offset||"0px",threshold:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const t=[];if(e>0&&e<=100){const n=100/e;for(let e=0;e<=100;e+=n)t.push(e/100)}else t.push(0);return t}(e.sensitivity)};return new IntersectionObserver((function handleIntersect(n){const i=n[0].boundingClientRect.y,s=n[0].isIntersecting,r=i1&&void 0!==arguments[1]?arguments[1]:{};const n=e[0].getBoundingClientRect(),i=t.start||0,s=t.end||0,r=window.innerHeight*i/100,o=window.innerHeight*s/100,a=n.top-window.innerHeight,l=0-a+r,c=n.top+r+e.height()-a+o,d=Math.max(0,Math.min(l/c,1));return parseFloat((100*d).toFixed(2))}static getPageScrollPercentage(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;const n=e.start||0,i=e.end||0,s=t||document.documentElement.scrollHeight-document.documentElement.clientHeight,r=s*n/100,o=s+r+s*i/100;return(document.documentElement.scrollTop+document.body.scrollTop+r)/o*100}}},2640:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=i(n(1192)).default.extend({elements:null,getDefaultElements:()=>({}),bindEvents(){},onInit(){this.initElements(),this.bindEvents()},initElements(){this.elements=this.getDefaultElements()}});t.default=s},5955:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=i(n(1192)),r=i(n(2640)),o=i(n(2618)),a=i(n(6516)),l=i(n(400)),c=i(n(869)),d=window.elementorModules={Module:s.default,ViewModule:r.default,ArgsObject:o.default,ForceMethodImplementation:c.default,utils:{Masonry:a.default,Scroll:l.default}};t.default=d},9509:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class FloatingBarDomHelper{constructor(e){this.$element=e}maybeMoveToTop(){const e=this.$element[0],t=e.querySelector(".e-floating-bars");if(elementorFrontend.isEditMode())t.classList.add("is-sticky");else if(e.dataset.widget_type.startsWith("floating-bars")&&t.classList.contains("has-vertical-position-top")&&!t.classList.contains("is-sticky")){const t=document.getElementById("wpadminbar"),n=e.closest(".elementor");t?t.after(n):document.body.prepend(n)}}}},7712:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=i(n(3090)),r=i(n(9509)),o=i(n(4380));class FloatingBarsHandler extends s.default{getDefaultSettings(){return{selectors:{main:".e-floating-bars",closeButton:".e-floating-bars__close-button",ctaButton:".e-floating-bars__cta-button"},constants:{ctaEntranceAnimation:"style_cta_button_animation",ctaEntranceAnimationDelay:"style_cta_button_animation_delay",hasEntranceAnimation:"has-entrance-animation",visible:"visible",isSticky:"is-sticky",hasVerticalPositionTop:"has-vertical-position-top",hasVerticalPositionBottom:"has-vertical-position-bottom",isHidden:"is-hidden",animated:"animated"}}}getDefaultElements(){const e=this.getSettings("selectors");return{main:this.$element[0].querySelector(e.main),mainAll:this.$element[0].querySelectorAll(e.main),closeButton:this.$element[0].querySelector(e.closeButton),ctaButton:this.$element[0].querySelector(e.ctaButton)}}onElementChange(e){["advanced_vertical_position"].includes(e)&&this.initDefaultState()}getResponsiveSetting(e){const t=elementorFrontend.getCurrentDeviceMode();return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),e,"",t)}bindEvents(){this.elements.closeButton&&this.elements.closeButton.addEventListener("click",this.closeFloatingBar.bind(this)),this.elements.ctaButton&&this.elements.ctaButton.addEventListener("animationend",this.handleAnimationEnd.bind(this)),this.elements.main&&window.addEventListener("keyup",this.onDocumentKeyup.bind(this)),this.hasStickyElements()&&window.addEventListener("resize",this.handleStickyElements.bind(this))}isStickyTop(){const{isSticky:e,hasVerticalPositionTop:t}=this.getSettings("constants");return this.elements.main.classList.contains(e)&&this.elements.main.classList.contains(t)}isStickyBottom(){const{isSticky:e,hasVerticalPositionBottom:t}=this.getSettings("constants");return this.elements.main.classList.contains(e)&&this.elements.main.classList.contains(t)}hasStickyElements(){return document.querySelectorAll(".elementor-sticky").length>0}focusOnLoad(){this.elements.main.setAttribute("tabindex","0"),this.elements.main.focus({focusVisible:!0})}applyBodyPadding(){const e=this.elements.main.offsetHeight;document.body.style.paddingTop=`${e}px`}removeBodyPadding(){document.body.style.paddingTop="0"}handleWPAdminBar(){const e=elementorFrontend.elements.$wpAdminBar;e.length&&(this.elements.main.style.top=`${e.height()}px`)}handleStickyElements(){const e=this.elements.main.offsetHeight,t=elementorFrontend.elements.$wpAdminBar,n=document.querySelectorAll(".elementor-sticky:not(.elementor-sticky__spacer)");0!==n.length&&(n.forEach((n=>{const i=n.getAttribute("data-settings"),s=JSON.parse(i)?.sticky,r="0px"===n.style.top||"top"===s,o="0px"===n.style.bottom||"bottom"===s;this.isStickyTop()&&r?t.length?n.style.top=`${e+t.height()}px`:n.style.top=`${e}px`:this.isStickyBottom()&&o&&(n.style.bottom=`${e}px`),elementorFrontend.isEditMode()&&(r?n.style.top=this.isStickyTop()?`${e}px`:"0px":o&&(n.style.bottom=this.isStickyBottom()?`${e}px`:"0px"))})),document.querySelectorAll(".elementor-sticky__spacer").forEach((t=>{const n=t.getAttribute("data-settings"),i=JSON.parse(n)?.sticky,s="0px"===t.style.top||"top"===i;this.isStickyTop()&&s&&(t.style.marginBottom=`${e}px`)})))}closeFloatingBar(){const{isHidden:e}=this.getSettings("constants");elementorFrontend.isEditMode()||(this.elements.main.classList.add(e),this.hasStickyElements()?this.handleStickyElements():this.isStickyTop()&&this.removeBodyPadding())}initEntranceAnimation(){const{animated:e,ctaEntranceAnimation:t,ctaEntranceAnimationDelay:n,hasEntranceAnimation:i}=this.getSettings("constants"),s=this.getResponsiveSetting(t),r=(this.getResponsiveSetting(n)||0)+500;this.elements.ctaButton.classList.add(e),this.elements.ctaButton.classList.add(s),setTimeout((()=>{this.elements.ctaButton.classList.remove(i)}),r)}handleAnimationEnd(){this.removeEntranceAnimationClasses(),this.focusOnLoad()}removeEntranceAnimationClasses(){if(!this.elements.ctaButton)return;const{animated:e,ctaEntranceAnimation:t,visible:n}=this.getSettings("constants"),i=this.getResponsiveSetting(t);this.elements.ctaButton.classList.remove(e),this.elements.ctaButton.classList.remove(i),this.elements.ctaButton.classList.add(n)}onDocumentKeyup(e){27===e.keyCode&&this.elements.main&&this.elements.main.contains(document.activeElement)&&this.closeFloatingBar()}initDefaultState(){const{hasEntranceAnimation:e}=this.getSettings("constants");this.isStickyTop()&&this.handleWPAdminBar(),this.hasStickyElements()?this.handleStickyElements():this.isStickyTop()&&this.applyBodyPadding(),!this.elements.main||this.elements.ctaButton.classList.contains(e)||elementorFrontend.isEditMode()||this.focusOnLoad()}setupInnerContainer(){this.elements.main.closest(".e-con-inner").classList.add("e-con-inner--floating-bars"),this.elements.main.closest(".e-con").classList.add("e-con--floating-bars")}onInit(){const{hasEntranceAnimation:e}=this.getSettings("constants");super.onInit(...arguments),this.clickTrackingHandler=new o.default({$element:this.$element});new r.default(this.$element).maybeMoveToTop(),this.elements.ctaButton&&this.elements.ctaButton.classList.contains(e)&&this.initEntranceAnimation(),this.initDefaultState(),this.setupInnerContainer()}}t.default=FloatingBarsHandler},5877:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=i(n(3090)),r=i(n(4380));class ContactButtonsHandler extends s.default{getDefaultSettings(){return{selectors:{main:".e-contact-buttons",content:".e-contact-buttons__content",contentWrapper:".e-contact-buttons__content-wrapper",chatButton:".e-contact-buttons__chat-button",closeButton:".e-contact-buttons__close-button",messageBubbleTime:".e-contact-buttons__message-bubble-time"},constants:{entranceAnimation:"style_chat_box_entrance_animation",exitAnimation:"style_chat_box_exit_animation",chatButtonAnimation:"style_chat_button_animation",animated:"animated",animatedWrapper:"animated-wrapper",visible:"visible",reverse:"reverse",hidden:"hidden",hasAnimations:"has-animations",hasEntranceAnimation:"has-entrance-animation",none:"none"}}}getDefaultElements(){const e=this.getSettings("selectors");return{main:this.$element[0].querySelector(e.main),content:this.$element[0].querySelector(e.content),contentWrapper:this.$element[0].querySelector(e.contentWrapper),chatButton:this.$element[0].querySelector(e.chatButton),closeButton:this.$element[0].querySelector(e.closeButton),messageBubbleTime:this.$element[0].querySelector(e.messageBubbleTime)}}getResponsiveSetting(e){const t=elementorFrontend.getCurrentDeviceMode();return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),e,"",t)}bindEvents(){this.elements.closeButton&&this.elements.closeButton.addEventListener("click",this.closeChatBox.bind(this)),this.elements.chatButton&&(this.elements.chatButton.addEventListener("click",this.onChatButtonClick.bind(this)),this.elements.chatButton.addEventListener("animationend",this.removeChatButtonAnimationClasses.bind(this))),this.elements.content&&this.elements.content.addEventListener("animationend",this.removeAnimationClasses.bind(this)),this.elements.contentWrapper&&window.addEventListener("keyup",this.onDocumentKeyup.bind(this))}contentWrapperIsHidden(e){if(!this.elements.contentWrapper)return!1;const{hidden:t}=this.getSettings("constants");return!0===e?(this.elements.contentWrapper.classList.add(t),void this.elements.contentWrapper.setAttribute("aria-hidden","true")):!1===e?(this.elements.contentWrapper.classList.remove(t),void this.elements.contentWrapper.setAttribute("aria-hidden","false")):this.elements.contentWrapper.classList.contains(t)}onDocumentKeyup(e){27===e.keyCode&&this.elements.main&&!this.contentWrapperIsHidden()&&this.elements.main.contains(document.activeElement)&&this.closeChatBox()}removeAnimationClasses(){if(!this.elements.content)return;const{reverse:e,entranceAnimation:t,exitAnimation:n,animated:i,visible:s}=this.getSettings("constants"),r=this.elements.content.classList.contains(e),o=this.getResponsiveSetting(t),a=this.getResponsiveSetting(n);r?(this.elements.content.classList.remove(i),this.elements.content.classList.remove(e),a&&this.elements.content.classList.remove(a),this.elements.content.classList.remove(s)):(this.elements.content.classList.remove(i),o&&this.elements.content.classList.remove(o),this.elements.content.classList.add(s))}chatBoxEntranceAnimation(){const{entranceAnimation:e,animated:t,animatedWrapper:n,none:i}=this.getSettings("constants"),s=this.getResponsiveSetting(e);s&&i!==s&&(this.elements.content&&(this.elements.content.classList.add(t),this.elements.content.classList.add(s)),this.elements.contentWrapper&&this.elements.contentWrapper.classList.remove(n))}chatBoxExitAnimation(){const{reverse:e,exitAnimation:t,animated:n,animatedWrapper:i,none:s}=this.getSettings("constants"),r=this.getResponsiveSetting(t);r&&s!==r&&(this.elements.content&&(this.elements.content.classList.add(n),this.elements.content.classList.add(e),this.elements.content.classList.add(r)),this.elements.contentWrapper&&this.elements.contentWrapper.classList.add(i))}openChatBox(){const{hasAnimations:e,visible:t}=this.getSettings("constants");this.elements.main&&this.elements.main.classList.contains(e)?this.chatBoxEntranceAnimation():this.elements.content&&this.elements.content.classList.add(t),this.elements.contentWrapper&&(this.contentWrapperIsHidden(!1),elementorFrontend.isEditMode()||(this.elements.contentWrapper.setAttribute("tabindex","0"),this.elements.contentWrapper.focus({focusVisible:!0}))),this.elements.chatButton&&this.elements.chatButton.setAttribute("aria-expanded","true"),this.elements.closeButton&&this.elements.closeButton.setAttribute("aria-expanded","true")}closeChatBox(){const{hasAnimations:e,visible:t}=this.getSettings("constants");this.elements.main&&this.elements.main.classList.contains(e)?this.chatBoxExitAnimation():this.elements.content&&this.elements.content.classList.remove(t),this.elements.contentWrapper&&this.contentWrapperIsHidden(!0),this.elements.chatButton&&(this.elements.chatButton.setAttribute("aria-expanded","false"),this.elements.chatButton.focus({focusVisible:!0})),this.elements.closeButton&&this.elements.closeButton.setAttribute("aria-expanded","false")}onChatButtonClick(){this.elements.contentWrapper&&this.contentWrapperIsHidden()?this.openChatBox():this.closeChatBox()}initMessageBubbleTime(){if(!this.elements.messageBubbleTime)return;const e="12h"===this.elements.messageBubbleTime.dataset.timeFormat;this.elements.messageBubbleTime.innerHTML=new Intl.DateTimeFormat("default",{hour12:e,hour:"numeric",minute:"numeric"}).format(new Date)}removeChatButtonAnimationClasses(){if(!this.elements.chatButton)return;const{chatButtonAnimation:e,visible:t}=this.getSettings("constants");this.elements.chatButton.classList.remove(e),this.elements.chatButton.classList.add(t)}initChatButtonEntranceAnimation(){const{none:e,chatButtonAnimation:t}=this.getSettings("constants"),n=this.getResponsiveSetting(t);n&&e!==n&&this.elements.chatButton.classList.add(n)}initDefaultState(){if(this.elements.contentWrapper){const e=this.contentWrapperIsHidden();this.elements.chatButton&&this.elements.chatButton.setAttribute("aria-expanded",!e),this.elements.closeButton&&this.elements.closeButton.setAttribute("aria-expanded",!e)}elementorFrontend.isEditMode()&&"floating-buttons"===elementor?.config?.document?.type&&this.openChatBox()}setupInnerContainer(){this.elements.main.closest(".e-con-inner").classList.add("e-con-inner--floating-buttons")}onInit(){const{hasEntranceAnimation:e}=this.getSettings("constants");super.onInit(...arguments),this.clickTrackingHandler=new r.default({$element:this.$element}),this.elements.messageBubbleTime&&this.initMessageBubbleTime(),this.initDefaultState(),this.elements.chatButton&&this.elements.chatButton.classList.contains(e)&&this.initChatButtonEntranceAnimation(),this.setupInnerContainer()}}t.default=ContactButtonsHandler},4380:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=i(n(3231)),r=i(n(3090));class ClickTrackingHandler extends r.default{constructor(){super(...arguments),(0,s.default)(this,"clicks",[])}getDefaultSettings(){return{selectors:{contentWrapper:".e-contact-buttons__content-wrapper",contactButtonCore:".e-contact-buttons__send-button",contentWrapperFloatingBars:".e-floating-bars",floatingBarCTAButton:".e-floating-bars__cta-button",elementorWrapper:'[data-elementor-type="floating-buttons"]'}}}getDefaultElements(){const e=this.getSettings("selectors");return{contentWrapper:this.$element[0].querySelector(e.contentWrapper),contentWrapperFloatingBars:this.$element[0].querySelector(e.contentWrapperFloatingBars)}}bindEvents(){this.elements.contentWrapper&&this.elements.contentWrapper.addEventListener("click",this.onChatButtonTrackClick.bind(this)),this.elements.contentWrapperFloatingBars&&this.elements.contentWrapperFloatingBars.addEventListener("click",this.onChatButtonTrackClick.bind(this)),window.addEventListener("beforeunload",(()=>{this.clicks.length>0&&this.sendClicks()}))}onChatButtonTrackClick(e){const t=e.target||e.srcElement,n=this.getSettings("selectors");(t.matches(n.contactButtonCore)||t.closest(n.contactButtonCore)||t.matches(n.floatingBarCTAButton)||t.closest(n.floatingBarCTAButton))&&this.getDocumentIdAndTrack(t,n)}getDocumentIdAndTrack(e,t){const n=e.closest(t.elementorWrapper).dataset.elementorId;this.trackClick(n)}trackClick(e){e&&(this.clicks.push(e),this.clicks.length>=10&&this.sendClicks())}sendClicks(){const e=new FormData;e.append("action","elementor_send_clicks"),e.append("_nonce",elementorFrontendConfig?.nonces?.floatingButtonsClickTracking),this.clicks.forEach((t=>e.append("clicks[]",t))),fetch(elementorFrontendConfig?.urls?.ajaxurl,{method:"POST",body:e}).then((()=>{this.clicks=[]}))}}t.default=ClickTrackingHandler},7148:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=i(n(6752));class NestedAccordionTitleKeyboardHandler extends s.default{__construct(){super.__construct(...arguments);const e=arguments.length<=0?void 0:arguments[0];this.toggleTitle=e.toggleTitle}getDefaultSettings(){return{...super.getDefaultSettings(),selectors:{itemTitle:".e-n-accordion-item-title",itemContainer:".e-n-accordion-item > .e-con"},ariaAttributes:{titleStateAttribute:"aria-expanded",activeTitleSelector:'[aria-expanded="true"]'},datasets:{titleIndex:"data-accordion-index"}}}handeTitleLinkEnterOrSpaceEvent(e){this.toggleTitle(e)}handleContentElementEscapeEvents(e){this.getActiveTitleElement().trigger("focus"),this.toggleTitle(e)}handleTitleEscapeKeyEvents(e){const t=e?.currentTarget?.parentElement,n=t?.open;n&&this.toggleTitle(e)}}t.default=NestedAccordionTitleKeyboardHandler},32:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=i(n(3090)),r=i(n(7148));class NestedAccordion extends s.default{constructor(){super(...arguments),this.animations=new Map}getDefaultSettings(){return{selectors:{accordion:".e-n-accordion",accordionContentContainers:".e-n-accordion > .e-con",accordionItems:".e-n-accordion-item",accordionItemTitles:".e-n-accordion-item-title",accordionItemTitlesText:".e-n-accordion-item-title-text",accordionContent:".e-n-accordion-item > .e-con",directAccordionItems:":scope > .e-n-accordion-item",directAccordionItemTitles:":scope > .e-n-accordion-item > .e-n-accordion-item-title"},default_state:"expanded",attributes:{index:"data-accordion-index",ariaLabelledBy:"aria-labelledby"}}}getDefaultElements(){const e=this.getSettings("selectors");return{$accordion:this.findElement(e.accordion),$contentContainers:this.findElement(e.accordionContentContainers),$accordionItems:this.findElement(e.accordionItems),$accordionTitles:this.findElement(e.accordionItemTitles),$accordionContent:this.findElement(e.accordionContent)}}onInit(){super.onInit(...arguments),elementorFrontend.isEditMode()&&!elementorCommon.config.experimentalFeatures.e_nested_atomic_repeaters&&this.interlaceContainers(),this.injectKeyboardHandler()}injectKeyboardHandler(){"nested-accordion.default"===this.getSettings("elementName")&&new r.default({$element:this.$element,toggleTitle:this.clickListener.bind(this)})}interlaceContainers(){const{$contentContainers:e,$accordionItems:t}=this.getDefaultElements();e.each(((e,n)=>{t[e].appendChild(n)}))}linkContainer(e){const{container:t,index:n,targetContainer:i,action:{type:s}}=e.detail,r=t.view.$el;if(t.model.get("id")===this.$element.data("id")){const{$accordionItems:e}=this.getDefaultElements();let t,o;switch(s){case"move":[t,o]=this.move(r,n,i,e);break;case"duplicate":[t,o]=this.duplicate(r,n,i,e)}void 0!==t&&t.appendChild(o),this.updateIndexValues(),this.updateListeners(r),elementor.$preview[0].contentWindow.dispatchEvent(new CustomEvent("elementor/elements/link-data-bindings"))}}move(e,t,n,i){return[i[t],n.view.$el[0]]}duplicate(e,t,n,i){return[i[t+1],n.view.$el[0]]}updateIndexValues(){const{$accordionContent:e,$accordionItems:t}=this.getDefaultElements(),n=this.getSettings(),i=t[0].getAttribute("id").slice(0,-1);t.each(((t,s)=>{s.setAttribute("id",`${i}${t}`),s.querySelector(n.selectors.accordionItemTitles).setAttribute(n.attributes.index,t+1),s.querySelector(n.selectors.accordionItemTitles).setAttribute("aria-controls",`${i}${t}`),s.querySelector(n.selectors.accordionItemTitlesText).setAttribute("data-binding-index",t+1),e[t].setAttribute(n.attributes.ariaLabelledBy,`${i}${t}`)}))}updateListeners(e){this.elements.$accordionTitles=e.find(this.getSettings("selectors.accordionItemTitles")),this.elements.$accordionItems=e.find(this.getSettings("selectors.accordionItems")),this.elements.$accordionTitles.on("click",this.clickListener.bind(this))}bindEvents(){this.elements.$accordionTitles.on("click",this.clickListener.bind(this)),elementorFrontend.elements.$window.on("elementor/nested-container/atomic-repeater",this.linkContainer.bind(this))}unbindEvents(){this.elements.$accordionTitles.off()}clickListener(e){e.preventDefault(),this.elements=this.getDefaultElements();const t=this.getSettings(),n=e?.currentTarget?.closest(t.selectors.accordionItems),i=e?.currentTarget?.closest(t.selectors.accordion),s=n.querySelector(t.selectors.accordionItemTitles),r=n.querySelector(t.selectors.accordionContent),{max_items_expended:o}=this.getElementSettings(),a=i.querySelectorAll(t.selectors.directAccordionItems),l=i.querySelectorAll(t.selectors.directAccordionItemTitles);"one"===o&&this.closeAllItems(a,l),n.open?this.closeAccordionItem(n,s):this.prepareOpenAnimation(n,s,r)}animateItem(e,t,n,i){e.style.overflow="hidden";let s=this.animations.get(e);s&&s.cancel(),s=e.animate({height:[t,n]},{duration:this.getAnimationDuration()}),s.onfinish=()=>this.onAnimationFinish(e,i),this.animations.set(e,s),e.querySelector("summary")?.setAttribute("aria-expanded",i)}closeAccordionItem(e,t){const n=`${e.offsetHeight}px`,i=`${t.offsetHeight}px`;this.animateItem(e,n,i,!1)}prepareOpenAnimation(e,t,n){e.style.overflow="hidden",e.style.height=`${e.offsetHeight}px`,e.open=!0,window.requestAnimationFrame((()=>this.openAccordionItem(e,t,n)))}openAccordionItem(e,t,n){const i=`${e.offsetHeight}px`,s=`${t.offsetHeight+n.offsetHeight}px`;this.animateItem(e,i,s,!0)}onAnimationFinish(e,t){e.open=t,this.animations.set(e,null),e.style.height=e.style.overflow=""}closeAllItems(e,t){t.forEach(((t,n)=>{this.closeAccordionItem(e[n],t)}))}getAnimationDuration(){const{size:e,unit:t}=this.getElementSettings("n_accordion_animation_duration");return e*("ms"===t?1:1e3)}}t.default=NestedAccordion},7323:(e,t,n)=>{"use strict";var i=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=i(n(3090)),r=n(6630);class NestedTabs extends s.default{getTabTitleFilterSelector(e){return`[${this.getSettings("dataAttributes").tabIndex}="${e}"]`}getTabContentFilterSelector(e){return`*:nth-child(${e})`}getTabIndex(e){return e.getAttribute(this.getSettings("dataAttributes").tabIndex)}getActiveTabIndex(){const e=this.getSettings(),t=e.ariaAttributes.activeTitleSelector,n=e.dataAttributes.tabIndex;return this.elements.$tabTitles.filter(t).attr(n)||null}getWidgetNumber(){return this.$element.find("> .elementor-widget-container > .e-n-tabs, > .e-n-tabs").attr("data-widget-number")}getDefaultSettings(){const e=this.getWidgetNumber();return{selectors:{widgetContainer:`[data-widget-number="${e}"]`,tabTitle:`[aria-controls*="e-n-tab-content-${e}"]`,tabTitleIcon:`[id*="e-n-tab-title-${e}"] > .e-n-tab-icon`,tabTitleText:`[id*="e-n-tab-title-${e}"] > .e-n-tab-title-text`,tabContent:`[data-widget-number="${e}"] > .e-n-tabs-content > .e-con`,headingContainer:`[data-widget-number="${e}"] > .e-n-tabs-heading`,activeTabContentContainers:`[id*="e-n-tab-content-${e}"].e-active`},classes:{active:"e-active"},dataAttributes:{tabIndex:"data-tab-index"},ariaAttributes:{titleStateAttribute:"aria-selected",activeTitleSelector:'[aria-selected="true"]'},showTabFn:"show",hideTabFn:"hide",toggleSelf:!1,hidePrevious:!0,autoExpand:!0}}getDefaultElements(){const e=this.getSettings("selectors");return{$widgetContainer:this.findElement(e.widgetContainer),$tabTitles:this.findElement(e.tabTitle),$tabContents:this.findElement(e.tabContent),$headingContainer:this.findElement(e.headingContainer)}}getKeyboardNavigationSettings(){return this.getSettings()}activateDefaultTab(){const e=this.getSettings(),t=this.getEditSettings("activeItemIndex")||1,n={showTabFn:e.showTabFn,hideTabFn:e.hideTabFn};this.setSettings({showTabFn:"show",hideTabFn:"hide"}),this.changeActiveTab(t),this.setSettings(n),this.elements.$widgetContainer.addClass("e-activated")}deactivateActiveTab(e){const t=this.getSettings(),n=t.classes.active,i=t.ariaAttributes.activeTitleSelector,s="."+n,r=this.elements.$tabTitles.filter(i),o=this.elements.$tabContents.filter(s);return this.setTabDeactivationAttributes(r,e),o.removeClass(n),o[t.hideTabFn](0,(()=>this.onHideTabContent(o))),o}getTitleActivationAttributes(){return{tabindex:"0",[this.getSettings("ariaAttributes").titleStateAttribute]:"true"}}setTabDeactivationAttributes(e){const t=this.getSettings("ariaAttributes").titleStateAttribute;e.attr({tabindex:"-1",[t]:"false"})}onHideTabContent(){}activateTab(e){const t=this.getSettings(),n=t.classes.active,i="show"===t.showTabFn?0:400;let s=this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(e)),r=this.elements.$tabContents.filter(this.getTabContentFilterSelector(e));if(!s.length){const t=Math.max(e-1,1);s=this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(t)),r=this.elements.$tabContents.filter(this.getTabContentFilterSelector(t))}s.attr(this.getTitleActivationAttributes()),r.addClass(n),r[t.showTabFn](i,(()=>this.onShowTabContent(r)))}onShowTabContent(e){elementorFrontend.elements.$window.trigger("elementor-pro/motion-fx/recalc"),elementorFrontend.elements.$window.trigger("elementor/nested-tabs/activate",e),elementorFrontend.elements.$window.trigger("elementor/bg-video/recalc")}isActiveTab(e){const t=this.getSettings(),n="true"===this.elements.$tabTitles.filter(`[${t.dataAttributes.tabIndex}="${e}"]`).attr(t.ariaAttributes.titleStateAttribute),i=this.elements.$tabContents.filter(this.getTabContentFilterSelector(e)).hasClass(this.getActiveClass());return n&&i}onTabClick(e){e.preventDefault(),this.changeActiveTab(e.currentTarget?.getAttribute(this.getSettings("dataAttributes").tabIndex),!0)}getTabEvents(){return{click:this.onTabClick.bind(this)}}getHeadingEvents(){const e=this.elements.$headingContainer[0];return{mousedown:r.changeScrollStatus.bind(this,e),mouseup:r.changeScrollStatus.bind(this,e),mouseleave:r.changeScrollStatus.bind(this,e),mousemove:r.setHorizontalTitleScrollValues.bind(this,e,this.getHorizontalScrollSetting())}}bindEvents(){this.elements.$tabTitles.on(this.getTabEvents()),this.elements.$headingContainer.on(this.getHeadingEvents()),elementorFrontend.elements.$window.on("resize",this.onResizeUpdateHorizontalScrolling.bind(this)),elementorFrontend.elements.$window.on("resize",this.setTouchMode.bind(this)),elementorFrontend.elements.$window.on("elementor/nested-tabs/activate",this.reInitSwipers),elementorFrontend.elements.$window.on("elementor/nested-elements/activate-by-keyboard",this.changeActiveTabByKeyboard.bind(this)),elementorFrontend.elements.$window.on("elementor/nested-container/atomic-repeater",this.linkContainer.bind(this))}unbindEvents(){this.elements.$tabTitles.off(),this.elements.$headingContainer.off(),this.elements.$tabContents.children().off(),elementorFrontend.elements.$window.off("resize",this.onResizeUpdateHorizontalScrolling.bind(this)),elementorFrontend.elements.$window.off("resize",this.setTouchMode.bind(this)),elementorFrontend.elements.$window.off("elementor/nested-tabs/activate",this.reInitSwipers),elementorFrontend.elements.$window.off("elementor/nested-elements/activate-by-keyboard",this.changeActiveTabByKeyboard.bind(this)),elementorFrontend.elements.$window.off("elementor/nested-container/atomic-repeater",this.linkContainer.bind(this))}reInitSwipers(e,t){const n=t.querySelectorAll(`.${elementorFrontend.config.swiperClass}`);for(const e of n){if(!e.swiper)return;e.swiper.initialized=!1,e.swiper.init()}}onInit(){super.onInit(...arguments),this.getSettings("autoExpand")&&this.activateDefaultTab(),(0,r.setHorizontalScrollAlignment)(this.getHorizontalScrollingSettings()),this.setTouchMode(),"nested-tabs.default"===this.getSettings("elementName")&&new elementorModules.frontend.handlers.NestedTitleKeyboardHandler(this.getKeyboardNavigationSettings())}onEditSettingsChange(e,t){"activeItemIndex"===e&&this.changeActiveTab(t,!1)}onElementChange(e){this.checkSliderPropsToWatch(e)&&(0,r.setHorizontalScrollAlignment)(this.getHorizontalScrollingSettings())}checkSliderPropsToWatch(e){return 0===e.indexOf("horizontal_scroll")||"breakpoint_selector"===e||0===e.indexOf("tabs_justify_horizontal")||0===e.indexOf("tabs_title_space_between")}changeActiveTab(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&this.isEdit&&this.isElementInTheCurrentDocument())return window.top.$e.run("document/repeater/select",{container:elementor.getContainer(this.$element.attr("data-id")),index:parseInt(e)});const t=this.isActiveTab(e),n=this.getSettings();if(!n.toggleSelf&&t||!n.hidePrevious||this.deactivateActiveTab(e),!n.hidePrevious&&t&&this.deactivateActiveTab(e),!t){if(this.isAccordionVersion())return void this.activateMobileTab(e);this.activateTab(e)}}changeActiveTabByKeyboard(e,t){t.widgetId.toString()===this.getID().toString()&&this.changeActiveTab(t.titleIndex,!0)}activateMobileTab(e){setTimeout((()=>{this.activateTab(e),this.forceActiveTabToBeInViewport(e)}),10)}forceActiveTabToBeInViewport(e){if(!elementorFrontend.isEditMode())return;const t=this.elements.$tabTitles.filter(this.getTabTitleFilterSelector(e));elementor.helpers.isInViewport(t[0])||t[0].scrollIntoView({block:"center"})}getActiveClass(){return this.getSettings().classes.active}getTabsDirection(){const e=elementorFrontend.getCurrentDeviceMode();return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),"tabs_justify_horizontal","",e)}getHorizontalScrollSetting(){const e=elementorFrontend.getCurrentDeviceMode();return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),"horizontal_scroll","",e)}isAccordionVersion(){return"contents"===this.elements.$headingContainer.css("display")}setTouchMode(){const e=this.getSettings("selectors").widgetContainer;if(elementorFrontend.isEditMode()||"resize"===event?.type){const t=["mobile","mobile_extra","tablet","tablet_extra"],n=elementorFrontend.getCurrentDeviceMode();if(-1!==t.indexOf(n))return void this.$element.find(e).attr("data-touch-mode","true")}else if("ontouchstart"in window)return void this.$element.find(e).attr("data-touch-mode","true");this.$element.find(e).attr("data-touch-mode","false")}linkContainer(e){const{container:t}=e.detail,n=t.model.get("id"),i=this.$element.data("id"),s=t.view.$el;if(n===i&&(this.updateIndexValues(),this.updateListeners(s),elementor.$preview[0].contentWindow.dispatchEvent(new CustomEvent("elementor/elements/link-data-bindings"))),!this.getActiveTabIndex()){const t=e.detail.index+1||1;this.changeActiveTab(t)}}updateListeners(e){this.elements.$tabContents=e.find(this.getSettings("selectors.tabContent")),this.elements.$tabTitles=e.find(this.getSettings("selectors.tabTitle")),this.elements.$tabTitles.on(this.getTabEvents())}updateIndexValues(){const{$widgetContainer:e,$tabContents:t,$tabTitles:n}=this.getDefaultElements(),i=this.getSettings(),s=i.dataAttributes.tabIndex,r=e.data("widgetNumber");n.each(((e,n)=>{const o=e+1,a=`e-n-tab-title-${r}${o}`,l=`e-n-tab-content-${r}${o}`;n.setAttribute("id",a),n.setAttribute("style",`--n-tabs-title-order: ${o}`),n.setAttribute(s,o),n.setAttribute("aria-controls",l),n.querySelector(i.selectors.tabTitleIcon)?.setAttribute("data-binding-index",o),n.querySelector(i.selectors.tabTitleText).setAttribute("data-binding-index",o),t[e].setAttribute("aria-labelledby",a),t[e].setAttribute(s,o),t[e].setAttribute("id",l),t[e].setAttribute("style",`--n-tabs-title-order: ${o}`)}))}onResizeUpdateHorizontalScrolling(){(0,r.setHorizontalScrollAlignment)(this.getHorizontalScrollingSettings())}getHorizontalScrollingSettings(){return{element:this.elements.$headingContainer[0],direction:this.getTabsDirection(),justifyCSSVariable:"--n-tabs-heading-justify-content",horizontalScrollStatus:this.getHorizontalScrollSetting()}}}t.default=NestedTabs},5089:(e,t,n)=>{"use strict";var i=n(930),s=n(9268),r=TypeError;e.exports=function(e){if(i(e))return e;throw r(s(e)+" is not a function")}},1378:(e,t,n)=>{"use strict";var i=n(930),s=String,r=TypeError;e.exports=function(e){if("object"==typeof e||i(e))return e;throw r("Can't set "+s(e)+" as a prototype")}},6112:(e,t,n)=>{"use strict";var i=n(8759),s=String,r=TypeError;e.exports=function(e){if(i(e))return e;throw r(s(e)+" is not an object")}},6198:(e,t,n)=>{"use strict";var i=n(4088),s=n(7740),r=n(2871),createMethod=function(e){return function(t,n,o){var a,l=i(t),c=r(l),d=s(o,c);if(e&&n!=n){for(;c>d;)if((a=l[d++])!=a)return!0}else for(;c>d;d++)if((e||d in l)&&l[d]===n)return e||d||0;return!e&&-1}};e.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},2306:(e,t,n)=>{"use strict";var i=n(8240),s=i({}.toString),r=i("".slice);e.exports=function(e){return r(s(e),8,-1)}},375:(e,t,n)=>{"use strict";var i=n(2371),s=n(930),r=n(2306),o=n(211)("toStringTag"),a=Object,l="Arguments"==r(function(){return arguments}());e.exports=i?r:function(e){var t,n,i;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=a(e),o))?n:l?r(t):"Object"==(i=r(t))&&s(t.callee)?"Arguments":i}},8474:(e,t,n)=>{"use strict";var i=n(9606),s=n(6095),r=n(4399),o=n(7826);e.exports=function(e,t,n){for(var a=s(t),l=o.f,c=r.f,d=0;d{"use strict";var i=n(5283),s=n(7826),r=n(5736);e.exports=i?function(e,t,n){return s.f(e,t,r(1,n))}:function(e,t,n){return e[t]=n,e}},5736:e=>{"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},1343:(e,t,n)=>{"use strict";var i=n(930),s=n(7826),r=n(3712),o=n(9444);e.exports=function(e,t,n,a){a||(a={});var l=a.enumerable,c=void 0!==a.name?a.name:t;if(i(n)&&r(n,c,a),a.global)l?e[t]=n:o(t,n);else{try{a.unsafe?e[t]&&(l=!0):delete e[t]}catch(e){}l?e[t]=n:s.f(e,t,{value:n,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return e}},9444:(e,t,n)=>{"use strict";var i=n(2086),s=Object.defineProperty;e.exports=function(e,t){try{s(i,e,{value:t,configurable:!0,writable:!0})}catch(n){i[e]=t}return t}},5283:(e,t,n)=>{"use strict";var i=n(3677);e.exports=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},7886:e=>{"use strict";var t="object"==typeof document&&document.all,n=void 0===t&&void 0!==t;e.exports={all:t,IS_HTMLDDA:n}},821:(e,t,n)=>{"use strict";var i=n(2086),s=n(8759),r=i.document,o=s(r)&&s(r.createElement);e.exports=function(e){return o?r.createElement(e):{}}},4999:e=>{"use strict";e.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},1448:(e,t,n)=>{"use strict";var i,s,r=n(2086),o=n(4999),a=r.process,l=r.Deno,c=a&&a.versions||l&&l.version,d=c&&c.v8;d&&(s=(i=d.split("."))[0]>0&&i[0]<4?1:+(i[0]+i[1])),!s&&o&&(!(i=o.match(/Edge\/(\d+)/))||i[1]>=74)&&(i=o.match(/Chrome\/(\d+)/))&&(s=+i[1]),e.exports=s},8684:e=>{"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},79:(e,t,n)=>{"use strict";var i=n(8240),s=Error,r=i("".replace),o=String(s("zxcasd").stack),a=/\n\s*at [^:]*:[^\n]*/,l=a.test(o);e.exports=function(e,t){if(l&&"string"==typeof e&&!s.prepareStackTrace)for(;t--;)e=r(e,a,"");return e}},8395:(e,t,n)=>{"use strict";var i=n(2585),s=n(79),r=n(2114),o=Error.captureStackTrace;e.exports=function(e,t,n,a){r&&(o?o(e,t):i(e,"stack",s(n,a)))}},2114:(e,t,n)=>{"use strict";var i=n(3677),s=n(5736);e.exports=!i((function(){var e=Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",s(1,7)),7!==e.stack)}))},1695:(e,t,n)=>{"use strict";var i=n(2086),s=n(4399).f,r=n(2585),o=n(1343),a=n(9444),l=n(8474),c=n(7189);e.exports=function(e,t){var n,d,u,h,m,g=e.target,p=e.global,f=e.stat;if(n=p?i:f?i[g]||a(g,{}):(i[g]||{}).prototype)for(d in t){if(h=t[d],u=e.dontCallGetSet?(m=s(n,d))&&m.value:n[d],!c(p?d:g+(f?".":"#")+d,e.forced)&&void 0!==u){if(typeof h==typeof u)continue;l(h,u)}(e.sham||u&&u.sham)&&r(h,"sham",!0),o(n,d,h,e)}}},3677:e=>{"use strict";e.exports=function(e){try{return!!e()}catch(e){return!0}}},7258:(e,t,n)=>{"use strict";var i=n(6059),s=Function.prototype,r=s.apply,o=s.call;e.exports="object"==typeof Reflect&&Reflect.apply||(i?o.bind(r):function(){return o.apply(r,arguments)})},6059:(e,t,n)=>{"use strict";var i=n(3677);e.exports=!i((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},9413:(e,t,n)=>{"use strict";var i=n(6059),s=Function.prototype.call;e.exports=i?s.bind(s):function(){return s.apply(s,arguments)}},4398:(e,t,n)=>{"use strict";var i=n(5283),s=n(9606),r=Function.prototype,o=i&&Object.getOwnPropertyDescriptor,a=s(r,"name"),l=a&&"something"===function something(){}.name,c=a&&(!i||i&&o(r,"name").configurable);e.exports={EXISTS:a,PROPER:l,CONFIGURABLE:c}},1518:(e,t,n)=>{"use strict";var i=n(8240),s=n(5089);e.exports=function(e,t,n){try{return i(s(Object.getOwnPropertyDescriptor(e,t)[n]))}catch(e){}}},8240:(e,t,n)=>{"use strict";var i=n(6059),s=Function.prototype,r=s.call,o=i&&s.bind.bind(r,r);e.exports=i?o:function(e){return function(){return r.apply(e,arguments)}}},563:(e,t,n)=>{"use strict";var i=n(2086),s=n(930);e.exports=function(e,t){return arguments.length<2?(n=i[e],s(n)?n:void 0):i[e]&&i[e][t];var n}},2964:(e,t,n)=>{"use strict";var i=n(5089),s=n(1858);e.exports=function(e,t){var n=e[t];return s(n)?void 0:i(n)}},2086:function(e,t,n){"use strict";var check=function(e){return e&&e.Math==Math&&e};e.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof n.g&&n.g)||function(){return this}()||this||Function("return this")()},9606:(e,t,n)=>{"use strict";var i=n(8240),s=n(3060),r=i({}.hasOwnProperty);e.exports=Object.hasOwn||function hasOwn(e,t){return r(s(e),t)}},7153:e=>{"use strict";e.exports={}},6761:(e,t,n)=>{"use strict";var i=n(5283),s=n(3677),r=n(821);e.exports=!i&&!s((function(){return 7!=Object.defineProperty(r("div"),"a",{get:function(){return 7}}).a}))},5974:(e,t,n)=>{"use strict";var i=n(8240),s=n(3677),r=n(2306),o=Object,a=i("".split);e.exports=s((function(){return!o("z").propertyIsEnumerable(0)}))?function(e){return"String"==r(e)?a(e,""):o(e)}:o},5070:(e,t,n)=>{"use strict";var i=n(930),s=n(8759),r=n(7530);e.exports=function(e,t,n){var o,a;return r&&i(o=t.constructor)&&o!==n&&s(a=o.prototype)&&a!==n.prototype&&r(e,a),e}},9277:(e,t,n)=>{"use strict";var i=n(8240),s=n(930),r=n(4489),o=i(Function.toString);s(r.inspectSource)||(r.inspectSource=function(e){return o(e)}),e.exports=r.inspectSource},8945:(e,t,n)=>{"use strict";var i=n(8759),s=n(2585);e.exports=function(e,t){i(t)&&"cause"in t&&s(e,"cause",t.cause)}},3278:(e,t,n)=>{"use strict";var i,s,r,o=n(640),a=n(2086),l=n(8759),c=n(2585),d=n(9606),u=n(4489),h=n(8944),m=n(7153),g="Object already initialized",p=a.TypeError,f=a.WeakMap;if(o||u.state){var b=u.state||(u.state=new f);b.get=b.get,b.has=b.has,b.set=b.set,i=function(e,t){if(b.has(e))throw p(g);return t.facade=e,b.set(e,t),t},s=function(e){return b.get(e)||{}},r=function(e){return b.has(e)}}else{var v=h("state");m[v]=!0,i=function(e,t){if(d(e,v))throw p(g);return t.facade=e,c(e,v,t),t},s=function(e){return d(e,v)?e[v]:{}},r=function(e){return d(e,v)}}e.exports={set:i,get:s,has:r,enforce:function(e){return r(e)?s(e):i(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=s(t)).type!==e)throw p("Incompatible receiver, "+e+" required");return n}}}},930:(e,t,n)=>{"use strict";var i=n(7886),s=i.all;e.exports=i.IS_HTMLDDA?function(e){return"function"==typeof e||e===s}:function(e){return"function"==typeof e}},7189:(e,t,n)=>{"use strict";var i=n(3677),s=n(930),r=/#|\.prototype\./,isForced=function(e,t){var n=a[o(e)];return n==c||n!=l&&(s(t)?i(t):!!t)},o=isForced.normalize=function(e){return String(e).replace(r,".").toLowerCase()},a=isForced.data={},l=isForced.NATIVE="N",c=isForced.POLYFILL="P";e.exports=isForced},1858:e=>{"use strict";e.exports=function(e){return null==e}},8759:(e,t,n)=>{"use strict";var i=n(930),s=n(7886),r=s.all;e.exports=s.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:i(e)||e===r}:function(e){return"object"==typeof e?null!==e:i(e)}},3296:e=>{"use strict";e.exports=!1},2071:(e,t,n)=>{"use strict";var i=n(563),s=n(930),r=n(5516),o=n(1876),a=Object;e.exports=o?function(e){return"symbol"==typeof e}:function(e){var t=i("Symbol");return s(t)&&r(t.prototype,a(e))}},2871:(e,t,n)=>{"use strict";var i=n(4005);e.exports=function(e){return i(e.length)}},3712:(e,t,n)=>{"use strict";var i=n(8240),s=n(3677),r=n(930),o=n(9606),a=n(5283),l=n(4398).CONFIGURABLE,c=n(9277),d=n(3278),u=d.enforce,h=d.get,m=String,g=Object.defineProperty,p=i("".slice),f=i("".replace),b=i([].join),v=a&&!s((function(){return 8!==g((function(){}),"length",{value:8}).length})),y=String(String).split("String"),S=e.exports=function(e,t,n){"Symbol("===p(m(t),0,7)&&(t="["+f(m(t),/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!o(e,"name")||l&&e.name!==t)&&(a?g(e,"name",{value:t,configurable:!0}):e.name=t),v&&n&&o(n,"arity")&&e.length!==n.arity&&g(e,"length",{value:n.arity});try{n&&o(n,"constructor")&&n.constructor?a&&g(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var i=u(e);return o(i,"source")||(i.source=b(y,"string"==typeof t?t:"")),e};Function.prototype.toString=S((function toString(){return r(this)&&h(this).source||c(this)}),"toString")},5681:e=>{"use strict";var t=Math.ceil,n=Math.floor;e.exports=Math.trunc||function trunc(e){var i=+e;return(i>0?n:t)(i)}},1879:(e,t,n)=>{"use strict";var i=n(4059);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:i(e)}},7826:(e,t,n)=>{"use strict";var i=n(5283),s=n(6761),r=n(8202),o=n(6112),a=n(2258),l=TypeError,c=Object.defineProperty,d=Object.getOwnPropertyDescriptor,u="enumerable",h="configurable",m="writable";t.f=i?r?function defineProperty(e,t,n){if(o(e),t=a(t),o(n),"function"==typeof e&&"prototype"===t&&"value"in n&&m in n&&!n[m]){var i=d(e,t);i&&i[m]&&(e[t]=n.value,n={configurable:h in n?n[h]:i[h],enumerable:u in n?n[u]:i[u],writable:!1})}return c(e,t,n)}:c:function defineProperty(e,t,n){if(o(e),t=a(t),o(n),s)try{return c(e,t,n)}catch(e){}if("get"in n||"set"in n)throw l("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},4399:(e,t,n)=>{"use strict";var i=n(5283),s=n(9413),r=n(7446),o=n(5736),a=n(4088),l=n(2258),c=n(9606),d=n(6761),u=Object.getOwnPropertyDescriptor;t.f=i?u:function getOwnPropertyDescriptor(e,t){if(e=a(e),t=l(t),d)try{return u(e,t)}catch(e){}if(c(e,t))return o(!s(r.f,e,t),e[t])}},62:(e,t,n)=>{"use strict";var i=n(1352),s=n(8684).concat("length","prototype");t.f=Object.getOwnPropertyNames||function getOwnPropertyNames(e){return i(e,s)}},6952:(e,t)=>{"use strict";t.f=Object.getOwnPropertySymbols},5516:(e,t,n)=>{"use strict";var i=n(8240);e.exports=i({}.isPrototypeOf)},1352:(e,t,n)=>{"use strict";var i=n(8240),s=n(9606),r=n(4088),o=n(6198).indexOf,a=n(7153),l=i([].push);e.exports=function(e,t){var n,i=r(e),c=0,d=[];for(n in i)!s(a,n)&&s(i,n)&&l(d,n);for(;t.length>c;)s(i,n=t[c++])&&(~o(d,n)||l(d,n));return d}},7446:(e,t)=>{"use strict";var n={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,s=i&&!n.call({1:2},1);t.f=s?function propertyIsEnumerable(e){var t=i(this,e);return!!t&&t.enumerable}:n},7530:(e,t,n)=>{"use strict";var i=n(1518),s=n(6112),r=n(1378);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=i(Object.prototype,"__proto__","set"))(n,[]),t=n instanceof Array}catch(e){}return function setPrototypeOf(n,i){return s(n),r(i),t?e(n,i):n.__proto__=i,n}}():void 0)},7999:(e,t,n)=>{"use strict";var i=n(9413),s=n(930),r=n(8759),o=TypeError;e.exports=function(e,t){var n,a;if("string"===t&&s(n=e.toString)&&!r(a=i(n,e)))return a;if(s(n=e.valueOf)&&!r(a=i(n,e)))return a;if("string"!==t&&s(n=e.toString)&&!r(a=i(n,e)))return a;throw o("Can't convert object to primitive value")}},6095:(e,t,n)=>{"use strict";var i=n(563),s=n(8240),r=n(62),o=n(6952),a=n(6112),l=s([].concat);e.exports=i("Reflect","ownKeys")||function ownKeys(e){var t=r.f(a(e)),n=o.f;return n?l(t,n(e)):t}},1632:(e,t,n)=>{"use strict";var i=n(7826).f;e.exports=function(e,t,n){n in e||i(e,n,{configurable:!0,get:function(){return t[n]},set:function(e){t[n]=e}})}},9586:(e,t,n)=>{"use strict";var i=n(1858),s=TypeError;e.exports=function(e){if(i(e))throw s("Can't call method on "+e);return e}},8944:(e,t,n)=>{"use strict";var i=n(9197),s=n(5422),r=i("keys");e.exports=function(e){return r[e]||(r[e]=s(e))}},4489:(e,t,n)=>{"use strict";var i=n(2086),s=n(9444),r="__core-js_shared__",o=i[r]||s(r,{});e.exports=o},9197:(e,t,n)=>{"use strict";var i=n(3296),s=n(4489);(e.exports=function(e,t){return s[e]||(s[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.32.0",mode:i?"pure":"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.32.0/LICENSE",source:"https://github.com/zloirock/core-js"})},5558:(e,t,n)=>{"use strict";var i=n(1448),s=n(3677),r=n(2086).String;e.exports=!!Object.getOwnPropertySymbols&&!s((function(){var e=Symbol();return!r(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&i&&i<41}))},7740:(e,t,n)=>{"use strict";var i=n(9502),s=Math.max,r=Math.min;e.exports=function(e,t){var n=i(e);return n<0?s(n+t,0):r(n,t)}},4088:(e,t,n)=>{"use strict";var i=n(5974),s=n(9586);e.exports=function(e){return i(s(e))}},9502:(e,t,n)=>{"use strict";var i=n(5681);e.exports=function(e){var t=+e;return t!=t||0===t?0:i(t)}},4005:(e,t,n)=>{"use strict";var i=n(9502),s=Math.min;e.exports=function(e){return e>0?s(i(e),9007199254740991):0}},3060:(e,t,n)=>{"use strict";var i=n(9586),s=Object;e.exports=function(e){return s(i(e))}},1288:(e,t,n)=>{"use strict";var i=n(9413),s=n(8759),r=n(2071),o=n(2964),a=n(7999),l=n(211),c=TypeError,d=l("toPrimitive");e.exports=function(e,t){if(!s(e)||r(e))return e;var n,l=o(e,d);if(l){if(void 0===t&&(t="default"),n=i(l,e,t),!s(n)||r(n))return n;throw c("Can't convert object to primitive value")}return void 0===t&&(t="number"),a(e,t)}},2258:(e,t,n)=>{"use strict";var i=n(1288),s=n(2071);e.exports=function(e){var t=i(e,"string");return s(t)?t:t+""}},2371:(e,t,n)=>{"use strict";var i={};i[n(211)("toStringTag")]="z",e.exports="[object z]"===String(i)},4059:(e,t,n)=>{"use strict";var i=n(375),s=String;e.exports=function(e){if("Symbol"===i(e))throw TypeError("Cannot convert a Symbol value to a string");return s(e)}},9268:e=>{"use strict";var t=String;e.exports=function(e){try{return t(e)}catch(e){return"Object"}}},5422:(e,t,n)=>{"use strict";var i=n(8240),s=0,r=Math.random(),o=i(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+o(++s+r,36)}},1876:(e,t,n)=>{"use strict";var i=n(5558);e.exports=i&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},8202:(e,t,n)=>{"use strict";var i=n(5283),s=n(3677);e.exports=i&&s((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},640:(e,t,n)=>{"use strict";var i=n(2086),s=n(930),r=i.WeakMap;e.exports=s(r)&&/native code/.test(String(r))},211:(e,t,n)=>{"use strict";var i=n(2086),s=n(9197),r=n(9606),o=n(5422),a=n(5558),l=n(1876),c=i.Symbol,d=s("wks"),u=l?c.for||c:c&&c.withoutSetter||o;e.exports=function(e){return r(d,e)||(d[e]=a&&r(c,e)?c[e]:u("Symbol."+e)),d[e]}},1557:(e,t,n)=>{"use strict";var i=n(563),s=n(9606),r=n(2585),o=n(5516),a=n(7530),l=n(8474),c=n(1632),d=n(5070),u=n(1879),h=n(8945),m=n(8395),g=n(5283),p=n(3296);e.exports=function(e,t,n,f){var b="stackTraceLimit",v=f?2:1,y=e.split("."),S=y[y.length-1],w=i.apply(null,y);if(w){var E=w.prototype;if(!p&&s(E,"cause")&&delete E.cause,!n)return w;var T=i("Error"),x=t((function(e,t){var n=u(f?t:e,void 0),i=f?new w(e):new w;return void 0!==n&&r(i,"message",n),m(i,x,i.stack,2),this&&o(E,this)&&d(i,this,x),arguments.length>v&&h(i,arguments[v]),i}));if(x.prototype=E,"Error"!==S?a?a(x,T):l(x,T,{name:!0}):g&&b in w&&(c(x,w,b),c(x,w,"prepareStackTrace")),l(x,w),!p)try{E.name!==S&&r(E,"name",S),E.constructor=x}catch(e){}return x}}},740:(e,t,n)=>{"use strict";var i=n(1695),s=n(2086),r=n(7258),o=n(1557),a="WebAssembly",l=s[a],c=7!==Error("e",{cause:7}).cause,exportGlobalErrorCauseWrapper=function(e,t){var n={};n[e]=o(e,t,c),i({global:!0,constructor:!0,arity:1,forced:c},n)},exportWebAssemblyErrorCauseWrapper=function(e,t){if(l&&l[e]){var n={};n[e]=o(a+"."+e,t,c),i({target:a,stat:!0,constructor:!0,arity:1,forced:c},n)}};exportGlobalErrorCauseWrapper("Error",(function(e){return function Error(t){return r(e,this,arguments)}})),exportGlobalErrorCauseWrapper("EvalError",(function(e){return function EvalError(t){return r(e,this,arguments)}})),exportGlobalErrorCauseWrapper("RangeError",(function(e){return function RangeError(t){return r(e,this,arguments)}})),exportGlobalErrorCauseWrapper("ReferenceError",(function(e){return function ReferenceError(t){return r(e,this,arguments)}})),exportGlobalErrorCauseWrapper("SyntaxError",(function(e){return function SyntaxError(t){return r(e,this,arguments)}})),exportGlobalErrorCauseWrapper("TypeError",(function(e){return function TypeError(t){return r(e,this,arguments)}})),exportGlobalErrorCauseWrapper("URIError",(function(e){return function URIError(t){return r(e,this,arguments)}})),exportWebAssemblyErrorCauseWrapper("CompileError",(function(e){return function CompileError(t){return r(e,this,arguments)}})),exportWebAssemblyErrorCauseWrapper("LinkError",(function(e){return function LinkError(t){return r(e,this,arguments)}})),exportWebAssemblyErrorCauseWrapper("RuntimeError",(function(e){return function RuntimeError(t){return r(e,this,arguments)}}))},3231:(e,t,n)=>{var i=n(4040);e.exports=function _defineProperty(e,t,n){return(t=i(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.__esModule=!0,e.exports.default=e.exports},3203:e=>{e.exports=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},6027:(e,t,n)=>{var i=n(7501).default;e.exports=function toPrimitive(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var s=n.call(e,t||"default");if("object"!=i(s))return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},4040:(e,t,n)=>{var i=n(7501).default,s=n(6027);e.exports=function toPropertyKey(e){var t=s(e,"string");return"symbol"==i(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},7501:e=>{function _typeof(t){return e.exports=_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,_typeof(t)}e.exports=_typeof,e.exports.__esModule=!0,e.exports.default=e.exports}},e=>{var t;t=6412,e(e.s=t)}]);;
!function(r){"use strict";var t,e,n;e={},(n=function(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}).m=t=[function(r,t,e){e(1),e(70),e(77),e(80),e(81),e(83),e(95),e(96),e(98),e(101),e(103),e(104),e(113),e(114),e(117),e(123),e(138),e(140),e(141),r.exports=e(142)},function(r,t,e){var n=e(2),o=e(38),a=e(62),c=e(67),i=e(69);n({target:"Array",proto:!0,arity:1,forced:e(6)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(r){return r instanceof TypeError}}()},{push:function(r){var t=o(this),e=a(t),n=arguments.length;i(e+n);for(var u=0;uf;)o(n,e=t[f++])&&(~c(s,e)||u(s,e));return s}},function(r,t,e){var n=e(11),o=e(59),a=e(62);e=function(r){return function(t,e,c){var i,u=n(t),f=a(u),s=o(c,f);if(r&&e!=e){for(;s"+r+""+h+">"}var c,i=n(45),u=n(74),f=n(64),s=n(53),p=n(76),l=n(41),y=(n=n(52),"prototype"),h="script",v=n("IE_PROTO"),g=function(){try{c=new ActiveXObject("htmlfile")}catch(r){}var r;g="undefined"==typeof document||document.domain&&c?function(r){r.write(a("")),r.close();var t=r.parentWindow.Object;return r=null,t}(c):((r=l("iframe")).style.display="none",p.appendChild(r),r.src=String("javascript:"),(r=r.contentWindow.document).open(),r.write(a("document.F=Object")),r.close(),r.F);for(var t=f.length;t--;)delete g[y][f[t]];return g()};s[v]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(o[y]=i(t),n=new o,o[y]=null,n[v]=t):n=g(),e===r?n:u.f(n,e)}},function(r,t,e){var n=e(5),o=e(44),a=e(43),c=e(45),i=e(11),u=e(75);t.f=n&&!o?Object.defineProperties:function(r,t){c(r);for(var e,n=i(t),o=u(t),f=o.length,s=0;s=t||56320!=(64512&i(r,e))))return!1}return!0}})},function(r,t,e){var n=e(91),o=String;r.exports=function(r){if("Symbol"===n(r))throw new TypeError("Cannot convert a Symbol value to a string");return o(r)}},function(r,t,e){var n=e(2),o=e(7),a=e(13),c=e(15),i=e(102),u=(e=e(6),Array),f=a("".charAt),s=a("".charCodeAt),p=a([].join),l="".toWellFormed,y=l&&e((function(){return"1"!==o(l,1)}));n({target:"String",proto:!0,forced:y},{toWellFormed:function(){var r=i(c(this));if(y)return o(l,r);for(var t=r.length,e=u(t),n=0;n{"use strict";var t={d:(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{actions:()=>S,addAction:()=>m,addFilter:()=>p,applyFilters:()=>k,createHooks:()=>h,currentAction:()=>w,currentFilter:()=>I,defaultHooks:()=>f,didAction:()=>O,didFilter:()=>j,doAction:()=>b,doingAction:()=>x,doingFilter:()=>T,filters:()=>z,hasAction:()=>v,hasFilter:()=>y,removeAction:()=>A,removeAllActions:()=>F,removeAllFilters:()=>g,removeFilter:()=>_});const n=function(t){return"string"!=typeof t||""===t?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(t)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)},r=function(t){return"string"!=typeof t||""===t?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(t)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(t)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)},o=function(t,e){return function(o,i,s,c=10){const l=t[e];if(!r(o))return;if(!n(i))return;if("function"!=typeof s)return void console.error("The hook callback must be a function.");if("number"!=typeof c)return void console.error("If specified, the hook priority must be a number.");const u={callback:s,priority:c,namespace:i};if(l[o]){const t=l[o].handlers;let e;for(e=t.length;e>0&&!(c>=t[e-1].priority);e--);e===t.length?t[e]=u:t.splice(e,0,u),l.__current.forEach((t=>{t.name===o&&t.currentIndex>=e&&t.currentIndex++}))}else l[o]={handlers:[u],runs:0};"hookAdded"!==o&&t.doAction("hookAdded",o,i,s,c)}},i=function(t,e,o=!1){return function(i,s){const c=t[e];if(!r(i))return;if(!o&&!n(s))return;if(!c[i])return 0;let l=0;if(o)l=c[i].handlers.length,c[i]={runs:c[i].runs,handlers:[]};else{const t=c[i].handlers;for(let e=t.length-1;e>=0;e--)t[e].namespace===s&&(t.splice(e,1),l++,c.__current.forEach((t=>{t.name===i&&t.currentIndex>=e&&t.currentIndex--})))}return"hookRemoved"!==i&&t.doAction("hookRemoved",i,s),l}},s=function(t,e){return function(n,r){const o=t[e];return void 0!==r?n in o&&o[n].handlers.some((t=>t.namespace===r)):n in o}},c=function(t,e,n=!1){return function(r,...o){const i=t[e];i[r]||(i[r]={handlers:[],runs:0}),i[r].runs++;const s=i[r].handlers;if(!s||!s.length)return n?o[0]:void 0;const c={name:r,currentIndex:0};for(i.__current.push(c);c.currentIndex