function AddFormAntiForgeryToken(n) { return ( (n.__RequestVerificationToken = $( "input[name='__RequestVerificationToken']" ).val()), n ); } function MVC_FireDefaultButton(n, t) { var r, i; return n.keyCode == 13 && ((r = n.srcElement || n.target), (!r || r.tagName.toLowerCase() != "textarea") && ((i = document.getElementById(t)), i && typeof i.click != "undefined")) ? (i.click(), (n.cancelBubble = !0), n.stopPropagation && n.stopPropagation(), !1) : !0; } function OnPagingSucceeded() { try { $(".listingImage").each(function () { var n = $(this); $(".listingHolder").imagesLoaded(function () { n.removeClass("listingImageLoad"); }); }); $.fn.matchHeight._update(); setTimeout(function () { $("[data-mh='my-group']").matchHeight(); $("[data-mh='sameHeightImage']").matchHeight(); $("[data-mh='sameHeight']").matchHeight(); hideEndDate(); hideEmptyNewsLink(); }, 300); } catch (n) {} } function ListingLoadMore(n, t, i, r) { var u = parseInt($("#hfCurrentPage_" + i).val()), e = parseInt($("#hfTotalRecords_" + i).val()), o = PrepareFilterCondition(n, $("#hfFilterCondition_" + i).val()), f = $("#ajaxLoader_" + i), s = $("#hfCMSLangID").val(); $(n).hide(); f.show(); $.ajax({ type: "POST", url: $(n).data("url"), data: AddFormAntiForgeryToken({ pageId: t, pagePortletID: i, page: u + 1, condition: o, lang: s, }), dataType: "json", success: function (t) { t.success == !0 ? (t.html.length > 0 ? ($("#listingContainer_" + i).append(t.html), $("#hfTotalRecords_" + i).val(t.totalRecords), (e = parseInt(t.totalRecords)), (u + 1) * r >= e ? $(n).hide() : $(n).show()) : $(n).hide(), $("#hfCurrentPage_" + i).val(u + 1), OnPagingSucceeded(), ExecuteFunctionByName( "ToolkitListingCallBack" + i.toString(), window )) : console.log(t.error); f.hide(); }, error: function (n) { f.hide(); console.error(n); }, }); } function ListingPaging(n, t) { var u = $(n).parent(".paginationContainer"), r = parseInt($(u).data("pageportletid")), o = "#divPager_" + r + " > a", s = parseInt($(u).data("pageid")), e = $(u).data("pagescount"), i = parseInt($("#hfCurrentPage_" + r).val()), h = PrepareFilterCondition(n, $("#hfFilterCondition_" + r).val()), c = $("#hfCMSLangID").val(), f; if (t == "first") { if (i == 1) return; i = 1; } else if (t == "prev") { if (i == 1) return; i = i - 1; } else if (t == "next") { if (i == e) return; i = i + 1; } else if (t == "last") { if (i == e) return; i = e; } else i = parseInt(t); return ( (f = $("#ajaxLoader_" + r)), f.show(), $.ajax({ type: "POST", url: $(u).data("url"), data: AddFormAntiForgeryToken({ pageId: s, pagePortletID: r, condition: h, lang: c, }), dataType: "json", success: function (t) { t.length > 0 && ($("#listingContainer_" + r).html(t), $(o).each(function () { $(this).removeClass("selected"); }), $(n).addClass("selected")); $("#hfCurrentPage_" + r).val(i); f.hide(); OnPagingSucceeded(); }, error: function (n) { f.hide(); console.error(n); }, }), !1 ); } function FilterListingNodes(n, t, i, r) { var f = PrepareFilterCondition(n, $("#hfFilterCondition_" + i).val()), u = $("#ajaxLoader_" + i), e = $("#hfCMSLangID").val(); u.show(); $.ajax({ type: "POST", url: $(n).data("url"), data: AddFormAntiForgeryToken({ pageId: t, pagePortletID: i, condition: f, lang: e, }), dataType: "json", success: function (t) { if (t.success == !0) if (t.html.length > 0) { if ( ($("#listingContainer_" + i).html(t.html), $(n).data("allowPaging") == "True") ) { $("#hfTotalRecords_" + i).val(t.totalRecords); var f = parseInt(t.totalRecords); $("#hfCurrentPage_" + i).val(1); r >= f ? $("#ancPaging_" + i).hide() : $("#ancPaging_" + i).show(); } OnPagingSucceeded(); ExecuteFunctionByName( "ToolkitListingCallBack" + i.toString(), window, arguments ); } else $("#listingContainer_" + i).html(""), $(n).data("allowPaging") == "True" && $("#ancPaging_" + i).hide(); else console.log(t.error); u.hide(); }, error: function (n) { u.hide(); console.error(n); }, }); } function GalleryListingLoadMore(n, t, i, r) { var u = parseInt($("#hfCurrentPage_" + i).val()), e = parseInt($("#hfTotalRecords_" + i).val()), o = PrepareFilterCondition(n, $("#hfFilterCondition_" + i).val()), f = $("#ajaxLoader_" + i), s = $("#hfCMSLangID").val(); $(n).hide(); f.show(); $.ajax({ type: "POST", url: $(n).data("url"), data: AddFormAntiForgeryToken({ pageId: t, pagePortletID: i, page: u + 1, condition: o, lang: s, }), dataType: "json", success: function (t) { t.success == !0 && (t.html.length > 0 ? ($("#listingContainer_" + i).append(t.html), (u + 1) * r >= e ? $(n).hide() : $(n).show()) : $(n).hide(), $("#hfCurrentPage_" + i).val(u + 1), $('[data-mh="sameHeight"]').matchHeight({ byRow: !0 }), $('[data-mh="sameHeightImage"]').matchHeight({ byRow: !0 }), $(".listingImage").imagesLoaded(function () { $(".listingImage").removeClass("listingImageLoad"); }), OnPagingSucceeded(), ExecuteFunctionByName( "ToolkitGalleryListingCallBack" + i.toString(), window, arguments )); f.hide(); }, error: function (n) { f.hide(); console.error(n); }, }); } function GalleryListingPaging(n, t) { var u = $(n).parent(".paginationContainer"), r = parseInt($(u).data("pageportletid")), o = "#divPager_" + r + " > a", s = parseInt($(u).data("pageid")), e = $(u).data("pagescount"), i = parseInt($("#hfCurrentPage_" + r).val()), h = PrepareFilterCondition(n, $("#hfFilterCondition_" + r).val()), c = $("#hfCMSLangID").val(), f; if (t == "first") { if (i == 1) return; i = 1; } else if (t == "prev") { if (i == 1) return; i = i - 1; } else if (t == "next") { if (i == e) return; i = i + 1; } else if (t == "last") { if (i == e) return; i = e; } else i = parseInt(t); return ( (f = $("#ajaxLoader_" + r)), f.show(), $.ajax({ type: "POST", url: $(u).data("url"), data: AddFormAntiForgeryToken({ pageId: s, pagePortletID: r, page: i, condition: h, lang: c, }), dataType: "json", success: function (t) { t.length > 0 && ($("#listingContainer_" + r).html(t), $(o).each(function () { $(this).removeClass("selected"); }), $(n).addClass("selected")); $("#hfCurrentPage_" + r).val(i); f.hide(); OnPagingSucceeded(); ExecuteFunctionByName( "ToolkitGalleryListingCallBack" + r.toString(), window, arguments ); }, error: function (n) { f.hide(); console.error(n); }, }), !1 ); } function GoogleMapLoadMore(n, t, i, r) { var u = parseInt($("#hfCurrentPage_" + i).val()), e = parseInt($("#hfTotalRecords_" + i).val()), o = PrepareFilterCondition(n, $("#hfFilterCondition_" + i).val()), f = $("#ajaxLoader_" + i), s = $("#hfCMSLangID").val(); $(n).hide(); f.show(); $.ajax({ type: "POST", url: $(n).data("url"), data: AddFormAntiForgeryToken({ pageId: t, pagePortletID: i, page: u + 1, condition: o, lang: s, }), dataType: "json", success: function (t) { t.success == !0 ? (t.html.length > 0 ? ($("#listingContainer_" + i).append(t.html), $("#hfTotalRecords_" + i).val(t.totalRecords), (e = parseInt(t.totalRecords)), (u + 1) * r >= e ? $(n).hide() : $(n).show()) : $(n).hide(), $("#hfCurrentPage_" + i).val(u + 1), LoadGoogleMapMarkers(i), ExecuteFunctionByName( "ToolkitGoogleMapCallBack" + i.toString(), window, arguments )) : console.log(t.error); f.hide(); }, error: function (n) { f.hide(); console.error(n); }, }); } function FilterGoogleMapListingNodes(n, t, i, r) { var f = PrepareFilterCondition(n, $("#hfFilterCondition_" + i).val()), u = $("#ajaxLoader_" + i), e = $("#hfCMSLangID").val(); u.show(); $.ajax({ type: "POST", url: $(n).data("url"), data: AddFormAntiForgeryToken({ pageId: t, pagePortletID: i, condition: f, lang: e, }), dataType: "json", success: function (t) { if (t.success == !0) { if (t.html.length > 0) { if ( ($("#listingContainer_" + i).html(t.html), $(n).data("allowPaging") == "True") ) { $("#hfTotalRecords_" + i).val(t.totalRecords); var f = parseInt(t.totalRecords); $("#hfCurrentPage_" + i).val(1); r > f ? $("#ancPaging_" + i).hide() : $("#ancPaging_" + i).show(); } } else $("#listingContainer_" + i).html(""), $(n).data("allowPaging") == "True" && $("#ancPaging_" + i).hide(); LoadGoogleMapMarkers(i); ExecuteFunctionByName( "ToolkitGoogleMapCallBack" + i.toString(), window, arguments ); } else console.log(t.error); u.hide(); }, error: function (n) { u.hide(); console.error(n); }, }); } function LoadGoogleMapMarkers(n) { for (var t = 0; t < markers.length; t++) markers[t].setMap(null); markers = []; $("#listingContainer_" + n + " > li > .listingItem").each(function (n, t) { var r = { lat: parseFloat($(t).attr("lat")), lng: parseFloat($(t).attr("lng")), }, i = new google.maps.Marker({ position: r, map: map, title: "" }); i.addListener("click", function () { infowindow && infowindow.close(); infowindow = new google.maps.InfoWindow({ content: "
" + $(t).attr("title") + " - PhoneNumber: " + $(t).attr("phonenumber") + "
", }); infowindow.open(map, i); }); markers.push(i); }); } function ZoomToLocation(n) { var t = $(n).closest("div.listingItem"), i = $(t).parent().index(), r = new google.maps.LatLng(t.attr("lat"), t.attr("lng")); map.setCenter(r); map.setZoom(17); google.maps.event.trigger(markers[i], "click"); } function SearchResultsLoadMore(n, t, i, r, u) { var f = parseInt($("#hfCurrentPage_" + i).val()), o = parseInt($("#hfTotalRecords_" + i).val()), e = $("#ajaxLoader_" + i), s = $("#hfCMSLangID").val(); $(n).hide(); e.show(); $.ajax({ type: "POST", url: $(n).data("url"), data: AddFormAntiForgeryToken({ pageId: t, pagePortletID: i, page: f + 1, keyword: u, lang: s, }), dataType: "json", success: function (t) { t.length > 0 ? ($("#listingContainer_" + i).append(t), (f + 1) * r >= o ? $(n).hide() : $(n).show()) : $(n).hide(); $("#hfCurrentPage_" + i).val(f + 1); e.hide(); OnPagingSucceeded(); ExecuteFunctionByName( "ToolkitSearchResultsCallBack" + i.toString(), window, arguments ); }, error: function (n) { e.hide(); console.error(n); }, }); } function SearchResultsPaging(n, t) { var u = $(n).parent(".paginationContainer"), r = parseInt($(u).data("pageportletid")), o = "#divPager_" + r + " > a", s = parseInt($(u).data("pageid")), e = $(u).data("pagescount"), h = $(u).data("keyword"), i = parseInt($("#hfCurrentPage_" + r).val()), c = $("#hfCMSLangID").val(), f; if (t == "first") { if (i == 1) return; i = 1; } else if (t == "prev") { if (i == 1) return; i = i - 1; } else if (t == "next") { if (i == e) return; i = i + 1; } else if (t == "last") { if (i == e) return; i = e; } else i = parseInt(t); return ( (f = $("#ajaxLoader_" + r)), f.show(), $.ajax({ type: "POST", url: $(u).data("url"), data: AddFormAntiForgeryToken({ pageId: s, pagePortletID: r, page: i, keyword: h, lang: c, }), dataType: "json", success: function (t) { t.length > 0 && ($("#listingContainer_" + r).html(t), $(o).each(function () { $(this).removeClass("selected"); }), $(n).addClass("selected")); $("#hfCurrentPage_" + r).val(i); f.hide(); OnPagingSucceeded(); }, error: function (n) { f.hide(); console.error(n); }, }), !1 ); } function TriggerSearchProcess(n) { return ($("#spanSearchError").hide(), $("#txtAdvancedSearch").val().length >= 3) ? ((n = n.indexOf("?") > 0 ? n + "&keyword=" + $("#txtAdvancedSearch").val() : n + "?keyword=" + $("#txtAdvancedSearch").val()), (window.location = n), !0) : ($("#spanSearchError").show(), !1); } function InitializeAutoSuggestSearch() { $(document).ready(function () { $("#txtAdvancedSearch") .autocomplete({ source: function (n, t) { $("#txtAdvancedSearch").val().length >= 3 ? ($("#spanSearchError").hide(), $("#txtAdvancedSearch").val() != null && $("#txtAdvancedSearch").val() != undefined && $("#txtAdvancedSearch").attr("resultslimit") != null && $("#txtAdvancedSearch").attr("resultslimit") != undefined && $("#txtAdvancedSearch").attr("lang") != null && $("#txtAdvancedSearch").attr("lang") != undefined && $.ajax({ url: "/Toolkit/AutoSuggestSearchPost", dataType: "json", data: AddFormAntiForgeryToken({ keyword: $("#txtAdvancedSearch").val(), recordsLimit: $("#txtAdvancedSearch").attr("resultslimit"), langID: $("#txtAdvancedSearch").attr("lang"), startFromNodeID: $("#txtAdvancedSearch").attr("startFromNodeID"), }), method: "POST", success: function (n) { t( $.map(n, function (n) { return { label: n.Title, value: n.URL, cssClass: n.CssClass, }; }) ); }, })) : $("#spanSearchError").show(); }, focus: function (n) { var t = $(this).data("uiAutocomplete").menu.element; $(".ui-autocomplete li").removeClass("ui-search-hover"); focused = t.find( "li:has(a.ui-state-focus),li:has(a.ui-state-active)" ); focused.addClass("ui-search-hover"); n.preventDefault(); }, select: function (n, t) { return t.item.value == "#" ? ($("#AutoSuggestSearch_ancSearch").click(), !1) : ((window.location.href = t.item.value), event.preventDefault(), !1); }, appendTo: "#pnlAutoSuggestSearch", }) .data("ui-autocomplete")._renderItem = function (n, t) { return $("
  • ") .append("" + t.label + "") .appendTo(n); }; }); } function SkwidGoogleEventTrack(n, t) { try { ga != null && ga != undefined && ga("send", "event", { eventCategory: n, eventAction: t, eventLabel: t }); } catch (i) {} } function InitializeToolkitDynamicForm(n) { var t = "form" + n, i = "msg" + n; InitializeCustomControls(); $(".datepicker").datepicker(); $(document).ready(function () { $.validator.unobtrusive.adapters.addBool("chkrequired", "required"); jQuery.validator.unobtrusive.adapters.addBool("chklstrequired", "required"); jQuery.validator.unobtrusive.adapters.addBool("radlstrequired", "required"); }); window.addEventListener( "submit", function (i) { var r = i.target, u; r.getAttribute("enctype") === "multipart/form-data" && r.dataset.ajax && $(r).valid() && ($("#pnlLoading_" + t).show(), i.preventDefault(), i.stopImmediatePropagation(), (u = new XMLHttpRequest()), u.open(r.method, r.action), (u.onreadystatechange = function () { if (u.readyState == 4 && u.status == 200) { if ( (r.dataset.ajaxSuccess || r.dataset.ajaxFailure, r.dataset.ajaxUpdate) ) { var i = document.querySelector(r.dataset.ajaxUpdate); i && ((i.innerHTML = u.responseText), InitializeToolkitDynamicForm(n), onloadCaptchaCallback(), $("#pnlLoading_" + t).hide(), ExecuteFunctionByName( "TriggerFormFunctions" + n.toString(), window )); } ExecuteFunctionByName( "ToolkitDynamicFormCallBack" + n.toString(), window ); } }), u.send(new FormData(r))); }, !0 ); } function ExecuteFunctionByName(n, t) { var i; try { var u = [].slice.call(arguments).splice(2), r = n.split("."), f = r.pop(); for (i = 0; i < r.length; i++) t = t[r[i]]; return t[f].apply(t, u); } catch (e) {} } function ValidateTookitForm(n) { var t = $("#" + n).valid(), i, r; return ( $("#" + n + " div.g-recaptcha").length > 0 && ($("#" + n + " span.captchaError").text(""), (i = $("#" + n + " .g-recaptcha").attr("data-widget-id")), (r = grecaptcha.getResponse(i)), r.length == 0 ? ((t = !1), $("#" + n + " span.captchaError").text( $("#" + n + " div.g-recaptcha").data("val-required") ), $("#" + n + " span.captchaError").show(), $("#" + n + " div.g-recaptcha").addClass("input-validation-error")) : $("#" + n + " div.g-recaptcha").removeClass( "input-validation-error" )), $("#" + n + " select").each(function () { var i = $(this).data("val-required"); i != null && i != undefined && ($(this).val() == "" ? ((t = !1), $( "#" + n + ' span[data-valmsg-for="' + $(this).attr("id") + '"]' ).text($(this).data("val-required")), $( "#" + n + ' span[data-valmsg-for="' + $(this).attr("id") + '"]' ).removeClass("field-validation-valid"), $( "#" + n + ' span[data-valmsg-for="' + $(this).attr("id") + '"]' ).show(), $(this).parent().addClass("input-validation-error")) : $(this).parent().removeClass("input-validation-error")); }), $("#" + n + ' input[type="file"]').each(function () { try { var i = $(this).data("max-size"), r = $(this).data("size-msg"); $( "#" + n + ' span[data-valmsg-for="' + $(this).attr("id") + '"]' ).hide(); $( "#" + n + ' span[data-valmsg-for="' + $(this).attr("id") + '"]' ).removeClass("field-validation-valid"); $(this)[0].files[0].size > i && ((t = !1), $( "#" + n + ' span[data-valmsg-for="' + $(this).attr("id") + '"]' ).text(r), $( "#" + n + ' span[data-valmsg-for="' + $(this).attr("id") + '"]' ).show(), $(this).addClass("input-validation-error")); } catch (u) {} $(this).hasClass("input-validation-error") ? $(this).parent().addClass("input-validation-error") : $(this).parent().removeClass("input-validation-error"); }), t && $("#pnlLoading_" + n).show(), t ); } function InitializeCustomControls() { try { $(".customSelect select").dropkick({ mobile: !0 }); $(".customFileUpload").change(function () { var n = $(this).val(); $(this) .parent() .find(".uploadValue") .text(n.replace(/.*(\/|\\)/, "")); }); } catch (n) {} } function ExecuteNewsletterSubscribe(n) { $("#divNewsletterMainContainer_" + n + " .errorMessage").hide(); var t = $("#ajaxLoaderNewsletter_" + n); t.show(); $.ajax({ url: "/Toolkit/NewsletterSubscribePost", dataType: "json", data: AddFormAntiForgeryToken({ email: $("#txtNLEmail_" + n).val(), siteID: $("#txtNLEmail_" + n).attr("siteID"), }), method: "POST", success: function (i) { i.success == !0 ? ($( "#divNewsletterMainContainer_" + n + " .newsletterContainer" ).hide(), $("#divNewsletterMainContainer_" + n + " .successMessage").show()) : ($("#divNewsletterMainContainer_" + n + " .errorMessage").html( i.html ), $("#divNewsletterMainContainer_" + n + " .errorMessage").show()); t.hide(); }, error: function (n) { t.hide(); console.error(n); }, }); } function OpenFancybox(n) { $.fancybox.open({ src: n, modal: !0 }); } function InitializeToolkitSurvey(n) { var t = "survey" + n; $(document).ready(function () { $.validator.unobtrusive.adapters.addBool("chkrequired", "required"); jQuery.validator.unobtrusive.adapters.addBool("chklstrequired", "required"); jQuery.validator.unobtrusive.adapters.addBool("radlstrequired", "required"); $(".surveyRankList") .sortable() .bind("sortupdate", function (n) { var i = n.target.id, t = $("#" + n.target.id + " li") .map(function () { return $(this).text(); }) .get() .join(","); $("#" + n.target.id.replace("lst", "")).val(t); }); }); window.addEventListener( "submit", function (i) { var r = i.target, u; r.getAttribute("enctype") === "multipart/form-data" && r.dataset.ajax && $(r).valid() && ($("#pnlLoading_" + t).show(), i.preventDefault(), i.stopImmediatePropagation(), (u = new XMLHttpRequest()), u.open(r.method, r.action), (u.onreadystatechange = function () { if ( u.readyState == 4 && u.status == 200 && (r.dataset.ajaxSuccess || r.dataset.ajaxFailure, r.dataset.ajaxUpdate) ) { var i = document.querySelector(r.dataset.ajaxUpdate); i && ((i.innerHTML = u.responseText), InitializeToolkitSurvey(n), $("#pnlLoading_" + t).hide()); } }), u.send(new FormData(r))); }, !0 ); } function InitializeToolkitLastViewPage() { $(window).on("load", function () { $(".newNotificationDivs").addClass("displayed"); $(".closeNewNotification").click(function () { $(".newNotificationDivs").removeClass("displayed"); setTimeout(function () { $(".newNotificationDivs").hide(); }, 500); }); }); } function PrepareFilterCondition(n, t) { if (t != "") { var i = $(n).data("token").toString(), r = i.substr(0, i.length - 2) + (Math.floor(Math.random() * 59) + 10).toString(), u = CryptoJS.enc.Utf8.parse("8070308080805090"), f = CryptoJS.enc.Utf8.parse("8070308080805090"); return CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(t + r), u, { keySize: 16, iv: f, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, }).toString(); } } function AcceptCookies(n) { $.ajax({ type: "POST", url: $(n).data("url"), data: AddFormAntiForgeryToken({}), dataType: "json", success: function (n) { n.success == !0 && $("#pnlCookieNotification").hide(); }, error: function (n) { console.error(n); }, }); } var CryptoJS, markers, infowindow, onloadCaptchaCallback; !(function (n, t) { "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", t) : "object" == typeof module && module.exports ? (module.exports = t()) : (n.EvEmitter = t()); })("undefined" != typeof window ? window : this, function () { function t() {} var n = t.prototype; return ( (n.on = function (n, t) { if (n && t) { var i = (this._events = this._events || {}), r = (i[n] = i[n] || []); return -1 == r.indexOf(t) && r.push(t), this; } }), (n.once = function (n, t) { if (n && t) { this.on(n, t); var i = (this._onceEvents = this._onceEvents || {}), r = (i[n] = i[n] || {}); return (r[t] = !0), this; } }), (n.off = function (n, t) { var i = this._events && this._events[n], r; if (i && i.length) return (r = i.indexOf(t)), -1 != r && i.splice(r, 1), this; }), (n.emitEvent = function (n, t) { var r = this._events && this._events[n], u, i, f, e; if (r && r.length) { for ( u = 0, i = r[u], t = t || [], f = this._onceEvents && this._onceEvents[n]; i; ) (e = f && f[i]), e && (this.off(n, i), delete f[i]), i.apply(this, t), (u += e ? 0 : 1), (i = r[u]); return this; } }), (n.allOff = n.removeAllListeners = function () { delete this._events; delete this._onceEvents; }), t ); }), (function (n, t) { "use strict"; "function" == typeof define && define.amd ? define(["ev-emitter/ev-emitter"], function (i) { return t(n, i); }) : "object" == typeof module && module.exports ? (module.exports = t(n, require("ev-emitter"))) : (n.imagesLoaded = t(n, n.EvEmitter)); })("undefined" != typeof window ? window : this, function (n, t) { function e(n, t) { for (var i in t) n[i] = t[i]; return n; } function h(n) { var t = [], i; if (Array.isArray(n)) t = n; else if ("number" == typeof n.length) for (i = 0; i < n.length; i++) t.push(n[i]); else t.push(n); return t; } function i(n, t, r) { return this instanceof i ? ("string" == typeof n && (n = document.querySelectorAll(n)), (this.elements = h(n)), (this.options = e({}, this.options)), "function" == typeof t ? (r = t) : e(this.options, t), r && this.on("always", r), this.getImages(), f && (this.jqDeferred = new f.Deferred()), void setTimeout( function () { this.check(); }.bind(this) )) : new i(n, t, r); } function r(n) { this.img = n; } function u(n, t) { this.url = n; this.element = t; this.img = new Image(); } var f = n.jQuery, o = n.console, s; return ( (i.prototype = Object.create(t.prototype)), (i.prototype.options = {}), (i.prototype.getImages = function () { this.images = []; this.elements.forEach(this.addElementImages, this); }), (i.prototype.addElementImages = function (n) { var i, r, t, f, u, e; if ( ("IMG" == n.nodeName && this.addImage(n), this.options.background === !0 && this.addElementBackgroundImages(n), (i = n.nodeType), i && s[i]) ) { for (r = n.querySelectorAll("img"), t = 0; t < r.length; t++) (f = r[t]), this.addImage(f); if ("string" == typeof this.options.background) for ( u = n.querySelectorAll(this.options.background), t = 0; t < u.length; t++ ) (e = u[t]), this.addElementBackgroundImages(e); } }), (s = { 1: !0, 9: !0, 11: !0 }), (i.prototype.addElementBackgroundImages = function (n) { var i = getComputedStyle(n), r, t, u; if (i) for ( r = /url\((['"])?(.*?)\1\)/gi, t = r.exec(i.backgroundImage); null !== t; ) (u = t && t[2]), u && this.addBackground(u, n), (t = r.exec(i.backgroundImage)); }), (i.prototype.addImage = function (n) { var t = new r(n); this.images.push(t); }), (i.prototype.addBackground = function (n, t) { var i = new u(n, t); this.images.push(i); }), (i.prototype.check = function () { function n(n, i, r) { setTimeout(function () { t.progress(n, i, r); }); } var t = this; return ( (this.progressedCount = 0), (this.hasAnyBroken = !1), this.images.length ? void this.images.forEach(function (t) { t.once("progress", n); t.check(); }) : void this.complete() ); }), (i.prototype.progress = function (n, t, i) { this.progressedCount++; this.hasAnyBroken = this.hasAnyBroken || !n.isLoaded; this.emitEvent("progress", [this, n, t]); this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, n); this.progressedCount == this.images.length && this.complete(); this.options.debug && o && o.log("progress: " + i, n, t); }), (i.prototype.complete = function () { var t = this.hasAnyBroken ? "fail" : "done", n; ((this.isComplete = !0), this.emitEvent(t, [this]), this.emitEvent("always", [this]), this.jqDeferred) && ((n = this.hasAnyBroken ? "reject" : "resolve"), this.jqDeferred[n](this)); }), (r.prototype = Object.create(t.prototype)), (r.prototype.check = function () { var n = this.getIsImageComplete(); return n ? void this.confirm(0 !== this.img.naturalWidth, "naturalWidth") : ((this.proxyImage = new Image()), this.proxyImage.addEventListener("load", this), this.proxyImage.addEventListener("error", this), this.img.addEventListener("load", this), this.img.addEventListener("error", this), void (this.proxyImage.src = this.img.src)); }), (r.prototype.getIsImageComplete = function () { return this.img.complete && void 0 !== this.img.naturalWidth; }), (r.prototype.confirm = function (n, t) { this.isLoaded = n; this.emitEvent("progress", [this, this.img, t]); }), (r.prototype.handleEvent = function (n) { var t = "on" + n.type; this[t] && this[t](n); }), (r.prototype.onload = function () { this.confirm(!0, "onload"); this.unbindEvents(); }), (r.prototype.onerror = function () { this.confirm(!1, "onerror"); this.unbindEvents(); }), (r.prototype.unbindEvents = function () { this.proxyImage.removeEventListener("load", this); this.proxyImage.removeEventListener("error", this); this.img.removeEventListener("load", this); this.img.removeEventListener("error", this); }), (u.prototype = Object.create(r.prototype)), (u.prototype.check = function () { this.img.addEventListener("load", this); this.img.addEventListener("error", this); this.img.src = this.url; var n = this.getIsImageComplete(); n && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"), this.unbindEvents()); }), (u.prototype.unbindEvents = function () { this.img.removeEventListener("load", this); this.img.removeEventListener("error", this); }), (u.prototype.confirm = function (n, t) { this.isLoaded = n; this.emitEvent("progress", [this, this.element, t]); }), (i.makeJQueryPlugin = function (t) { t = t || n.jQuery; t && ((f = t), (f.fn.imagesLoaded = function (n, t) { var r = new i(this, n, t); return r.jqDeferred.promise(f(this)); })); }), i.makeJQueryPlugin(), i ); }); !(function (n) { "use strict"; "function" == typeof define && define.amd ? define(["jquery"], n) : "undefined" != typeof module && module.exports ? (module.exports = n(require("jquery"))) : n(jQuery); })(function (n) { var o = -1, r = -1, i = function (n) { return parseFloat(n) || 0; }, s = function (t) { var f = 1, e = n(t), u = null, r = []; return ( e.each(function () { var t = n(this), e = t.offset().top - i(t.css("margin-top")), o = r.length > 0 ? r[r.length - 1] : null; null === o ? r.push(t) : Math.floor(Math.abs(u - e)) <= f ? (r[r.length - 1] = o.add(t)) : r.push(t); u = e; }), r ); }, u = function (t) { var i = { byRow: !0, property: "height", target: null, remove: !1 }; return "object" == typeof t ? n.extend(i, t) : ("boolean" == typeof t ? (i.byRow = t) : "remove" === t && (i.remove = !0), i); }, t = (n.fn.matchHeight = function (i) { var r = u(i), f; return r.remove ? ((f = this), this.css(r.property, ""), n.each(t._groups, function (n, t) { t.elements = t.elements.not(f); }), this) : this.length <= 1 && !r.target ? this : (t._groups.push({ elements: this, options: r }), t._apply(this, r), this); }), f, e; t.version = "0.7.2"; t._groups = []; t._throttle = 80; t._maintainScroll = !1; t._beforeUpdate = null; t._afterUpdate = null; t._rows = s; t._parse = i; t._parseOptions = u; t._apply = function (r, f) { var e = u(f), o = n(r), c = [o], l = n(window).scrollTop(), a = n("html").outerHeight(!0), h = o.parents().filter(":hidden"); return ( h.each(function () { var t = n(this); t.data("style-cache", t.attr("style")); }), h.css("display", "block"), e.byRow && !e.target && (o.each(function () { var i = n(this), t = i.css("display"); "inline-block" !== t && "flex" !== t && "inline-flex" !== t && (t = "block"); i.data("style-cache", i.attr("style")); i.css({ display: t, "padding-top": "0", "padding-bottom": "0", "margin-top": "0", "margin-bottom": "0", "border-top-width": "0", "border-bottom-width": "0", height: "100px", overflow: "hidden", }); }), (c = s(o)), o.each(function () { var t = n(this); t.attr("style", t.data("style-cache") || ""); })), n.each(c, function (t, r) { var u = n(r), f = 0; if (e.target) f = e.target.outerHeight(!1); else { if (e.byRow && u.length <= 1) return void u.css(e.property, ""); u.each(function () { var t = n(this), u = t.attr("style"), i = t.css("display"), r; "inline-block" !== i && "flex" !== i && "inline-flex" !== i && (i = "block"); r = { display: i }; r[e.property] = ""; t.css(r); t.outerHeight(!1) > f && (f = t.outerHeight(!1)); u ? t.attr("style", u) : t.css("display", ""); }); } u.each(function () { var t = n(this), r = 0; (e.target && t.is(e.target)) || ("border-box" !== t.css("box-sizing") && ((r += i(t.css("border-top-width")) + i(t.css("border-bottom-width"))), (r += i(t.css("padding-top")) + i(t.css("padding-bottom")))), t.css(e.property, f - r + "px")); }); }), h.each(function () { var t = n(this); t.attr("style", t.data("style-cache") || null); }), t._maintainScroll && n(window).scrollTop((l / a) * n("html").outerHeight(!0)), this ); }; t._applyDataApi = function () { var t = {}; n("[data-match-height], [data-mh]").each(function () { var i = n(this), r = i.attr("data-mh") || i.attr("data-match-height"); t[r] = r in t ? t[r].add(i) : i; }); n.each(t, function () { this.matchHeight(!0); }); }; f = function (i) { t._beforeUpdate && t._beforeUpdate(i, t._groups); n.each(t._groups, function () { t._apply(this.elements, this.options); }); t._afterUpdate && t._afterUpdate(i, t._groups); }; t._update = function (i, u) { if (u && "resize" === u.type) { var e = n(window).width(); if (e === o) return; o = e; } i ? r === -1 && (r = setTimeout(function () { f(u); r = -1; }, t._throttle)) : f(u); }; n(t._applyDataApi); e = n.fn.on ? "on" : "bind"; n(window)[e]("load", function (n) { t._update(!1, n); }); n(window)[e]("resize orientationchange", function (n) { t._update(!0, n); }); }); !(function () { if (!window.CustomEvent && document.createEventObject) return void (window.CustomEvent = function (n, t) { var u, r, i; if (!arguments.length) throw new Error("Not enough arguments"); u = { type: n, bubbles: !1, cancelable: !1, detail: null }; r = document.createEventObject(); for (i in u) r[i] = u[i]; for (i in t) r[i] = t[i]; return r; }); try { new CustomEvent("test"); } catch (t) { var n = function (n, t) { var i, r, u; if (!arguments.length) throw new Error("Not enough arguments"); i = { bubbles: !1, cancelable: !1, detail: null }; for (r in t) i[r] = t[r]; return ( (u = document.createEvent("CustomEvent")), u.initCustomEvent(n, i.bubbles, i.cancelable, i.detail), u ); }; n.prototype = (window.CustomEvent || window.Event).prototype; window.CustomEvent = n; } })(), (function () { var n, t, s, r; if (!document.addEventListener && window.Element && window.Event) { n = "__events"; t = "__immediateStopped"; Event.prototype.NONE = Event.NONE = 0; Event.prototype.CAPTURING_PHASE = Event.CAPTURING_PHASE = 1; Event.prototype.AT_TARGET = Event.AT_TARGET = 2; Event.prototype.BUBBLING_PHASE = Event.BUBBLING_PHASE = 3; Event.prototype.preventDefault = function () { this.cancelable !== !1 && (this.returnValue = !1); }; Event.prototype.stopPropagation = function () { this.cancelBubble = !0; }; Event.prototype.stopImmediatePropagation = function () { this[t] = this.cancelBubble = !0; }; for ( var h = function (n, t) { return ( (n.timeStamp = +new Date()), n.target || (n.target = n.srcElement || t), (n.pageX = n.clientX + document.documentElement.scrollLeft), (n.pageY = n.clientY + document.documentElement.scrollTop), (n.relatedTarget = "mouseover" == n.type ? n.fromElement : "mouseout" == n.type ? n.toElement : null), n ); }, u = function (n, t, i) { for (var u, r = 0; r < n.length; r++) if (((u = n[r]), u.useCapture == i && u.listener == t)) return r; return -1; }, c = function (n, t, i) { n.currentTarget = i; "function" == typeof t ? t.call(i, n) : t.handleEvent(n); }, l = function (n) { for (var t = []; n.parentNode; ) t.unshift(n.parentNode), (n = n.parentNode); return t; }, i = function (i, r, u) { var e, s, a; for (i.eventPhase = u, e = 0; e < r.length; e++) { for ( var h = r[e], o = [], l = (h[n] || {})[i.type] || [], f = 0; f < l.length; f++ ) (s = l[f]), (s.useCapture && u == Event.BUBBLING_PHASE) || ((s.useCapture || u != Event.CAPTURING_PHASE) && o.push(s.listener)); for (f = 0; f < o.length; ) try { for (; f < o.length; ) if (((a = o[f++]), c(i, a, h), i[t])) return !0; } catch (v) { setTimeout(function () { throw v; }, 0); } if (i.cancelBubble) return !0; } return !1; }, f = function (n) { h(n, this); var t = l(n.target); return t.length && i(n, t, Event.CAPTURING_PHASE) ? n.returnValue : i(n, [n.target], Event.AT_TARGET) ? n.returnValue : t.length && n.bubbles !== !1 && (t.reverse(), i(n, t, Event.BUBBLING_PHASE)) ? n.returnValue : (n.stopPropagation(), n.returnValue); }, e = { addEventListener: function (t, i, r) { var s = this, o = (this[n] || {})[t] || [], h = o.length, e; u(o, i, r) > -1 || ((n in this) ? (e = this[n]) : ((e = { _handler: function () { f.apply(s, arguments); }, }), (this[n] = e)), (t in e) || (e[t] = []), e[t].push({ listener: i, useCapture: r }), h || this.attachEvent("on" + t, e._handler)); }, removeEventListener: function (t, i, r) { var f = (this[n] || {})[t] || [], e = u(f, i, r); -1 != e && (f.splice(e, 1), f.length || this.detachEvent("on" + t, this[n]._handler)); }, dispatchEvent: function (n) { return (n.returnValue = !0), f.call(this, n); }, }, o = [Element, window.constructor, document.constructor]; o.length; ) { s = o.pop(); for (r in e) s.prototype[r] = e[r]; } } })(); Array.prototype.forEach || (Array.prototype.forEach = function (n, t) { var u, i, r, f, e; if (null == this) throw new TypeError(" this is null or not defined"); if (((r = Object(this)), (f = r.length >>> 0), "function" != typeof n)) throw new TypeError(n + " is not a function"); for (arguments.length > 1 && (u = t), i = 0; f > i; ) i in r && ((e = r[i]), n.call(u, e, i, r)), i++; }); Array.prototype.indexOf || (Array.prototype.indexOf = function (n, t) { var r, f, u, i; if (null == this) throw new TypeError('"this" is null or not defined'); if ( ((f = Object(this)), (u = f.length >>> 0), 0 === u) || ((i = +t || 0), Math.abs(i) === 1 / 0 && (i = 0), i >= u) ) return -1; for (r = Math.max(i >= 0 ? i : u - Math.abs(i), 0); u > r; ) { if (r in f && f[r] === n) return r; r++; } return -1; }), (function (n) { var t; if ("object" == typeof exports) { try { t = require("jquery"); } catch (i) {} module.exports = n(window, document, t); } else "function" == typeof define && define.amd ? define([], function () { return n(window, document, window.jQuery); }) : (window.Dropkick = n(window, document, window.jQuery)); })(function (n, t, i, r) { var s, o = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( navigator.userAgent ), c = n.parent !== n.self, h = -1 !== navigator.appVersion.indexOf("MSIE"), f = function (i, r) { var o, e; if (this === n) return new f(i, r); for ( "string" == typeof i && "#" === i[0] && (i = t.getElementById(i.substr(1))), o = 0; o < f.uid; o++ ) if (((e = f.cache[o]), e instanceof f && e.data.select === i)) return u.extend(e.data.settings, r), e; return i ? i.length < 1 ? (console.error("You must have options inside your ") .attr("name", i.submitButton.name) .val(n(i.submitButton).val()) .appendTo(i.currentForm)), i.settings.submitHandler.call(i, i.currentForm, t), i.submitButton && r.remove(), !1) : !0; } return ( i.settings.debug && t.preventDefault(), i.cancelSubmit ? ((i.cancelSubmit = !1), r()) : i.form() ? i.pendingRequest ? ((i.formSubmitted = !0), !1) : r() : (i.focusInvalid(), !1) ); })), i); }, valid: function () { if (n(this[0]).is("form")) return this.validate().form(); var t = !0, i = n(this[0].form).validate(); return ( this.each(function () { t = t && i.element(this); }), t ); }, removeAttrs: function (t) { var i = {}, r = this; return ( n.each(t.split(/\s/), function (n, t) { i[t] = r.attr(t); r.removeAttr(t); }), i ); }, rules: function (t, i) { var r = this[0], o, u, h; if (t) { var e = n.data(r.form, "validator").settings, s = e.rules, f = n.validator.staticRules(r); switch (t) { case "add": n.extend(f, n.validator.normalizeRule(i)); delete f.messages; s[r.name] = f; i.messages && (e.messages[r.name] = n.extend(e.messages[r.name], i.messages)); break; case "remove": return i ? ((o = {}), n.each(i.split(/\s/), function (n, t) { o[t] = f[t]; delete f[t]; }), o) : (delete s[r.name], f); } } return ( (u = n.validator.normalizeRules( n.extend( {}, n.validator.classRules(r), n.validator.attributeRules(r), n.validator.dataRules(r), n.validator.staticRules(r) ), r )), u.required && ((h = u.required), delete u.required, (u = n.extend({ required: h }, u))), u ); }, }); n.extend(n.expr[":"], { blank: function (t) { return !n.trim("" + n(t).val()); }, filled: function (t) { return !!n.trim("" + n(t).val()); }, unchecked: function (t) { return !n(t).prop("checked"); }, }); n.validator = function (t, i) { this.settings = n.extend(!0, {}, n.validator.defaults, t); this.currentForm = i; this.init(); }; n.validator.format = function (t, i) { return 1 === arguments.length ? function () { var i = n.makeArray(arguments); return i.unshift(t), n.validator.format.apply(this, i); } : (arguments.length > 2 && i.constructor !== Array && (i = n.makeArray(arguments).slice(1)), i.constructor !== Array && (i = [i]), n.each(i, function (n, i) { t = t.replace(RegExp("\\{" + n + "\\}", "g"), function () { return i; }); }), t); }; n.extend(n.validator, { defaults: { messages: {}, groups: {}, rules: {}, errorClass: "error", validClass: "valid", errorElement: "label", focusInvalid: !0, errorContainer: n([]), errorLabelContainer: n([]), onsubmit: !0, ignore: ":hidden", ignoreTitle: !1, onfocusin: function (n) { this.lastActive = n; this.settings.focusCleanup && !this.blockFocusCleanup && (this.settings.unhighlight && this.settings.unhighlight.call( this, n, this.settings.errorClass, this.settings.validClass ), this.addWrapper(this.errorsFor(n)).hide()); }, onfocusout: function (n) { !this.checkable(n) && (n.name in this.submitted || !this.optional(n)) && this.element(n); }, onkeyup: function (n, t) { (9 !== t.which || "" !== this.elementValue(n)) && (n.name in this.submitted || n === this.lastElement) && this.element(n); }, onclick: function (n) { n.name in this.submitted ? this.element(n) : n.parentNode.name in this.submitted && this.element(n.parentNode); }, highlight: function (t, i, r) { "radio" === t.type ? this.findByName(t.name).addClass(i).removeClass(r) : n(t).addClass(i).removeClass(r); }, unhighlight: function (t, i, r) { "radio" === t.type ? this.findByName(t.name).removeClass(i).addClass(r) : n(t).removeClass(i).addClass(r); }, }, setDefaults: function (t) { n.extend(n.validator.defaults, t); }, messages: { required: "This field is required.", remote: "Please fix this field.", email: "Please enter a valid email address.", url: "Please enter a valid URL.", date: "Please enter a valid date.", dateISO: "Please enter a valid date (ISO).", number: "Please enter a valid number.", digits: "Please enter only digits.", creditcard: "Please enter a valid credit card number.", equalTo: "Please enter the same value again.", maxlength: n.validator.format( "Please enter no more than {0} characters." ), minlength: n.validator.format("Please enter at least {0} characters."), rangelength: n.validator.format( "Please enter a value between {0} and {1} characters long." ), range: n.validator.format("Please enter a value between {0} and {1}."), max: n.validator.format( "Please enter a value less than or equal to {0}." ), min: n.validator.format( "Please enter a value greater than or equal to {0}." ), }, autoCreateRanges: !1, prototype: { init: function () { function i(t) { var i = n.data(this[0].form, "validator"), r = "on" + t.type.replace(/^validate/, ""); i.settings[r] && i.settings[r].call(i, this[0], t); } var r, t; this.labelContainer = n(this.settings.errorLabelContainer); this.errorContext = (this.labelContainer.length && this.labelContainer) || n(this.currentForm); this.containers = n(this.settings.errorContainer).add( this.settings.errorLabelContainer ); this.submitted = {}; this.valueCache = {}; this.pendingRequest = 0; this.pending = {}; this.invalid = {}; this.reset(); r = this.groups = {}; n.each(this.settings.groups, function (t, i) { "string" == typeof i && (i = i.split(/\s/)); n.each(i, function (n, i) { r[i] = t; }); }); t = this.settings.rules; n.each(t, function (i, r) { t[i] = n.validator.normalizeRule(r); }); n(this.currentForm) .validateDelegate( ":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ", "focusin focusout keyup", i ) .validateDelegate( "[type='radio'], [type='checkbox'], select, option", "click", i ); this.settings.invalidHandler && n(this.currentForm).bind( "invalid-form.validate", this.settings.invalidHandler ); }, form: function () { return ( this.checkForm(), n.extend(this.submitted, this.errorMap), (this.invalid = n.extend({}, this.errorMap)), this.valid() || n(this.currentForm).triggerHandler("invalid-form", [this]), this.showErrors(), this.valid() ); }, checkForm: function () { this.prepareForm(); for ( var n = 0, t = (this.currentElements = this.elements()); t[n]; n++ ) this.check(t[n]); return this.valid(); }, element: function (t) { t = this.validationTargetFor(this.clean(t)); this.lastElement = t; this.prepareElement(t); this.currentElements = n(t); var i = this.check(t) !== !1; return ( i ? delete this.invalid[t.name] : (this.invalid[t.name] = !0), this.numberOfInvalids() || (this.toHide = this.toHide.add(this.containers)), this.showErrors(), i ); }, showErrors: function (t) { if (t) { n.extend(this.errorMap, t); this.errorList = []; for (var i in t) this.errorList.push({ message: t[i], element: this.findByName(i)[0], }); this.successList = n.grep(this.successList, function (n) { return !(n.name in t); }); } this.settings.showErrors ? this.settings.showErrors.call(this, this.errorMap, this.errorList) : this.defaultShowErrors(); }, resetForm: function () { n.fn.resetForm && n(this.currentForm).resetForm(); this.submitted = {}; this.lastElement = null; this.prepareForm(); this.hideErrors(); this.elements() .removeClass(this.settings.errorClass) .removeData("previousValue"); }, numberOfInvalids: function () { return this.objectLength(this.invalid); }, objectLength: function (n) { var t = 0; for (var i in n) t++; return t; }, hideErrors: function () { this.addWrapper(this.toHide).hide(); }, valid: function () { return 0 === this.size(); }, size: function () { return this.errorList.length; }, focusInvalid: function () { if (this.settings.focusInvalid) try { n( this.findLastActive() || (this.errorList.length && this.errorList[0].element) || [] ) .filter(":visible") .focus() .trigger("focusin"); } catch (t) {} }, findLastActive: function () { var t = this.lastActive; return ( t && 1 === n.grep(this.errorList, function (n) { return n.element.name === t.name; }).length && t ); }, elements: function () { var t = this, i = {}; return n(this.currentForm) .find("input, select, textarea") .not(":submit, :reset, :image, [disabled]") .not(this.settings.ignore) .filter(function () { return ( !this.name && t.settings.debug && window.console && console.error("%o has no name assigned", this), this.name in i || !t.objectLength(n(this).rules()) ? !1 : ((i[this.name] = !0), !0) ); }); }, clean: function (t) { return n(t)[0]; }, errors: function () { var t = this.settings.errorClass.replace(" ", "."); return n(this.settings.errorElement + "." + t, this.errorContext); }, reset: function () { this.successList = []; this.errorList = []; this.errorMap = {}; this.toShow = n([]); this.toHide = n([]); this.currentElements = n([]); }, prepareForm: function () { this.reset(); this.toHide = this.errors().add(this.containers); }, prepareElement: function (n) { this.reset(); this.toHide = this.errorsFor(n); }, elementValue: function (t) { var r = n(t).attr("type"), i = n(t).val(); return "radio" === r || "checkbox" === r ? n("input[name='" + n(t).attr("name") + "']:checked").val() : "string" == typeof i ? i.replace(/\r/g, "") : i; }, check: function (t) { var r, u; t = this.validationTargetFor(this.clean(t)); var i, f = n(t).rules(), e = !1, s = this.elementValue(t); for (r in f) { u = { method: r, parameters: f[r] }; try { if ( ((i = n.validator.methods[r].call(this, s, t, u.parameters)), "dependency-mismatch" === i) ) { e = !0; continue; } if (((e = !1), "pending" === i)) return ( (this.toHide = this.toHide.not(this.errorsFor(t))), void 0 ); if (!i) return this.formatAndAdd(t, u), !1; } catch (o) { throw ( (this.settings.debug && window.console && console.log( "Exception occurred when checking element " + t.id + ", check the '" + u.method + "' method.", o ), o) ); } } if (!e) return this.objectLength(f) && this.successList.push(t), !0; }, customDataMessage: function (t, i) { return ( n(t).data("msg-" + i.toLowerCase()) || (t.attributes && n(t).attr("data-msg-" + i.toLowerCase())) ); }, customMessage: function (n, t) { var i = this.settings.messages[n]; return i && (i.constructor === String ? i : i[t]); }, findDefined: function () { for (var n = 0; arguments.length > n; n++) if (void 0 !== arguments[n]) return arguments[n]; return void 0; }, defaultMessage: function (t, i) { return this.findDefined( this.customMessage(t.name, i), this.customDataMessage(t, i), (!this.settings.ignoreTitle && t.title) || void 0, n.validator.messages[i], "Warning: No message defined for " + t.name + "" ); }, formatAndAdd: function (t, i) { var r = this.defaultMessage(t, i.method), u = /\$?\{(\d+)\}/g; "function" == typeof r ? (r = r.call(this, i.parameters, t)) : u.test(r) && (r = n.validator.format(r.replace(u, "{$1}"), i.parameters)); this.errorList.push({ message: r, element: t }); this.errorMap[t.name] = r; this.submitted[t.name] = r; }, addWrapper: function (n) { return ( this.settings.wrapper && (n = n.add(n.parent(this.settings.wrapper))), n ); }, defaultShowErrors: function () { for (var i, t, n = 0; this.errorList[n]; n++) (t = this.errorList[n]), this.settings.highlight && this.settings.highlight.call( this, t.element, this.settings.errorClass, this.settings.validClass ), this.showLabel(t.element, t.message); if ( (this.errorList.length && (this.toShow = this.toShow.add(this.containers)), this.settings.success) ) for (n = 0; this.successList[n]; n++) this.showLabel(this.successList[n]); if (this.settings.unhighlight) for (n = 0, i = this.validElements(); i[n]; n++) this.settings.unhighlight.call( this, i[n], this.settings.errorClass, this.settings.validClass ); this.toHide = this.toHide.not(this.toShow); this.hideErrors(); this.addWrapper(this.toShow).show(); }, validElements: function () { return this.currentElements.not(this.invalidElements()); }, invalidElements: function () { return n(this.errorList).map(function () { return this.element; }); }, showLabel: function (t, i) { var r = this.errorsFor(t); r.length ? (r .removeClass(this.settings.validClass) .addClass(this.settings.errorClass), r.html(i)) : ((r = n("<" + this.settings.errorElement + ">") .attr("for", this.idOrName(t)) .addClass(this.settings.errorClass) .html(i || "")), this.settings.wrapper && (r = r .hide() .show() .wrap("<" + this.settings.wrapper + "/>") .parent()), this.labelContainer.append(r).length || (this.settings.errorPlacement ? this.settings.errorPlacement(r, n(t)) : r.insertAfter(t))); !i && this.settings.success && (r.text(""), "string" == typeof this.settings.success ? r.addClass(this.settings.success) : this.settings.success(r, t)); this.toShow = this.toShow.add(r); }, errorsFor: function (t) { var i = this.idOrName(t); return this.errors().filter(function () { return n(this).attr("for") === i; }); }, idOrName: function (n) { return ( this.groups[n.name] || (this.checkable(n) ? n.name : n.id || n.name) ); }, validationTargetFor: function (n) { return ( this.checkable(n) && (n = this.findByName(n.name).not(this.settings.ignore)[0]), n ); }, checkable: function (n) { return /radio|checkbox/i.test(n.type); }, findByName: function (t) { return n(this.currentForm).find("[name='" + t + "']"); }, getLength: function (t, i) { switch (i.nodeName.toLowerCase()) { case "select": return n("option:selected", i).length; case "input": if (this.checkable(i)) return this.findByName(i.name).filter(":checked").length; } return t.length; }, depend: function (n, t) { return this.dependTypes[typeof n] ? this.dependTypes[typeof n](n, t) : !0; }, dependTypes: { boolean: function (n) { return n; }, string: function (t, i) { return !!n(t, i.form).length; }, function: function (n, t) { return n(t); }, }, optional: function (t) { var i = this.elementValue(t); return ( !n.validator.methods.required.call(this, i, t) && "dependency-mismatch" ); }, startRequest: function (n) { this.pending[n.name] || (this.pendingRequest++, (this.pending[n.name] = !0)); }, stopRequest: function (t, i) { this.pendingRequest--; 0 > this.pendingRequest && (this.pendingRequest = 0); delete this.pending[t.name]; i && 0 === this.pendingRequest && this.formSubmitted && this.form() ? (n(this.currentForm).submit(), (this.formSubmitted = !1)) : !i && 0 === this.pendingRequest && this.formSubmitted && (n(this.currentForm).triggerHandler("invalid-form", [this]), (this.formSubmitted = !1)); }, previousValue: function (t) { return ( n.data(t, "previousValue") || n.data(t, "previousValue", { old: null, valid: !0, message: this.defaultMessage(t, "remote"), }) ); }, }, classRuleSettings: { required: { required: !0 }, email: { email: !0 }, url: { url: !0 }, date: { date: !0 }, dateISO: { dateISO: !0 }, number: { number: !0 }, digits: { digits: !0 }, creditcard: { creditcard: !0 }, }, addClassRules: function (t, i) { t.constructor === String ? (this.classRuleSettings[t] = i) : n.extend(this.classRuleSettings, t); }, classRules: function (t) { var i = {}, r = n(t).attr("class"); return ( r && n.each(r.split(" "), function () { this in n.validator.classRuleSettings && n.extend(i, n.validator.classRuleSettings[this]); }), i ); }, attributeRules: function (t) { var u = {}, e = n(t), f = e[0].getAttribute("type"), r, i; for (r in n.validator.methods) "required" === r ? ((i = e.get(0).getAttribute(r)), "" === i && (i = !0), (i = !!i)) : (i = e.attr(r)), /min|max/.test(r) && (null === f || /number|range|text/.test(f)) && (i = Number(i)), i ? (u[r] = i) : f === r && "range" !== f && (u[r] = !0); return ( u.maxlength && /-1|2147483647|524288/.test(u.maxlength) && delete u.maxlength, u ); }, dataRules: function (t) { var i, r, u = {}, f = n(t); for (i in n.validator.methods) (r = f.data("rule-" + i.toLowerCase())), void 0 !== r && (u[i] = r); return u; }, staticRules: function (t) { var i = {}, r = n.data(t.form, "validator"); return ( r.settings.rules && (i = n.validator.normalizeRule(r.settings.rules[t.name]) || {}), i ); }, normalizeRules: function (t, i) { return ( n.each(t, function (r, u) { if (u === !1) return delete t[r], void 0; if (u.param || u.depends) { var f = !0; switch (typeof u.depends) { case "string": f = !!n(u.depends, i.form).length; break; case "function": f = u.depends.call(i, i); } f ? (t[r] = void 0 !== u.param ? u.param : !0) : delete t[r]; } }), n.each(t, function (r, u) { t[r] = n.isFunction(u) ? u(i) : u; }), n.each(["minlength", "maxlength"], function () { t[this] && (t[this] = Number(t[this])); }), n.each(["rangelength", "range"], function () { var i; t[this] && (n.isArray(t[this]) ? (t[this] = [Number(t[this][0]), Number(t[this][1])]) : "string" == typeof t[this] && ((i = t[this].split(/[\s,]+/)), (t[this] = [Number(i[0]), Number(i[1])]))); }), n.validator.autoCreateRanges && (t.min && t.max && ((t.range = [t.min, t.max]), delete t.min, delete t.max), t.minlength && t.maxlength && ((t.rangelength = [t.minlength, t.maxlength]), delete t.minlength, delete t.maxlength)), t ); }, normalizeRule: function (t) { if ("string" == typeof t) { var i = {}; n.each(t.split(/\s/), function () { i[this] = !0; }); t = i; } return t; }, addMethod: function (t, i, r) { n.validator.methods[t] = i; n.validator.messages[t] = void 0 !== r ? r : n.validator.messages[t]; 3 > i.length && n.validator.addClassRules(t, n.validator.normalizeRule(t)); }, methods: { required: function (t, i, r) { if (!this.depend(r, i)) return "dependency-mismatch"; if ("select" === i.nodeName.toLowerCase()) { var u = n(i).val(); return u && u.length > 0; } return this.checkable(i) ? this.getLength(t, i) > 0 : n.trim(t).length > 0; }, email: function (n, t) { return ( this.optional(t) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test( n ) ); }, url: function (n, t) { return ( this.optional(t) || /^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test( n ) ); }, date: function (n, t) { return this.optional(t) || !/Invalid|NaN/.test("" + new Date(n)); }, dateISO: function (n, t) { return ( this.optional(t) || /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(n) ); }, number: function (n, t) { return ( this.optional(t) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(n) ); }, digits: function (n, t) { return this.optional(t) || /^\d+$/.test(n); }, creditcard: function (n, t) { var r, e; if (this.optional(t)) return "dependency-mismatch"; if (/[^0-9 \-]+/.test(n)) return !1; var f = 0, i = 0, u = !1; for (n = n.replace(/\D/g, ""), r = n.length - 1; r >= 0; r--) (e = n.charAt(r)), (i = parseInt(e, 10)), u && (i *= 2) > 9 && (i -= 9), (f += i), (u = !u); return 0 == f % 10; }, minlength: function (t, i, r) { var u = n.isArray(t) ? t.length : this.getLength(n.trim(t), i); return this.optional(i) || u >= r; }, maxlength: function (t, i, r) { var u = n.isArray(t) ? t.length : this.getLength(n.trim(t), i); return this.optional(i) || r >= u; }, rangelength: function (t, i, r) { var u = n.isArray(t) ? t.length : this.getLength(n.trim(t), i); return this.optional(i) || (u >= r[0] && r[1] >= u); }, min: function (n, t, i) { return this.optional(t) || n >= i; }, max: function (n, t, i) { return this.optional(t) || i >= n; }, range: function (n, t, i) { return this.optional(t) || (n >= i[0] && i[1] >= n); }, equalTo: function (t, i, r) { var u = n(r); return ( this.settings.onfocusout && u .unbind(".validate-equalTo") .bind("blur.validate-equalTo", function () { n(i).valid(); }), t === u.val() ); }, remote: function (t, i, r) { var f, u, e; return this.optional(i) ? "dependency-mismatch" : ((f = this.previousValue(i)), this.settings.messages[i.name] || (this.settings.messages[i.name] = {}), (f.originalMessage = this.settings.messages[i.name].remote), (this.settings.messages[i.name].remote = f.message), (r = ("string" == typeof r && { url: r }) || r), f.old === t) ? f.valid : ((f.old = t), (u = this), this.startRequest(i), (e = {}), (e[i.name] = t), n.ajax( n.extend( !0, { url: r, mode: "abort", port: "validate" + i.name, dataType: "json", data: e, success: function (r) { var e, h, s, o; u.settings.messages[i.name].remote = f.originalMessage; e = r === !0 || "true" === r; e ? ((h = u.formSubmitted), u.prepareElement(i), (u.formSubmitted = h), u.successList.push(i), delete u.invalid[i.name], u.showErrors()) : ((s = {}), (o = r || u.defaultMessage(i, "remote")), (s[i.name] = f.message = n.isFunction(o) ? o(t) : o), (u.invalid[i.name] = !0), u.showErrors(s)); f.valid = e; u.stopRequest(i, e); }, }, r ) ), "pending"); }, }, }); n.format = n.validator.format; })(jQuery), (function (n) { var t = {}, i; n.ajaxPrefilter ? n.ajaxPrefilter(function (n, i, r) { var u = n.port; "abort" === n.mode && (t[u] && t[u].abort(), (t[u] = r)); }) : ((i = n.ajax), (n.ajax = function (r) { var f = ("mode" in r ? r : n.ajaxSettings).mode, u = ("port" in r ? r : n.ajaxSettings).port; return "abort" === f ? (t[u] && t[u].abort(), (t[u] = i.apply(this, arguments)), t[u]) : i.apply(this, arguments); })); })(jQuery), (function (n) { n.extend(n.fn, { validateDelegate: function (t, i, r) { return this.bind(i, function (i) { var u = n(i.target); if (u.is(t)) return r.apply(u, arguments); }); }, }); })(jQuery), (function (n) { function i(n, t) { for (var i = window, r = (n || "").split("."); i && r.length; ) i = i[r.shift()]; return typeof i == "function" ? i : (t.push(n), Function.constructor.apply(null, t)); } function u(n) { return n === "GET" || n === "POST"; } function o(n, t) { u(t) || n.setRequestHeader("X-HTTP-Method-Override", t); } function s(t, i, r) { var u; r.indexOf("application/x-javascript") === -1 && ((u = (t.getAttribute("data-ajax-mode") || "").toUpperCase()), n(t.getAttribute("data-ajax-update")).each(function (t, r) { var f; switch (u) { case "BEFORE": f = r.firstChild; n("
    ") .html(i) .contents() .each(function () { r.insertBefore(this, f); }); break; case "AFTER": n("
    ") .html(i) .contents() .each(function () { r.appendChild(this); }); break; case "REPLACE-WITH": n(r).replaceWith(i); break; default: n(r).html(i); } })); } function f(t, r) { var e, h, f, c; ((e = t.getAttribute("data-ajax-confirm")), !e || window.confirm(e)) && ((h = n(t.getAttribute("data-ajax-loading"))), (c = parseInt(t.getAttribute("data-ajax-loading-duration"), 10) || 0), n.extend(r, { type: t.getAttribute("data-ajax-method") || undefined, url: t.getAttribute("data-ajax-url") || undefined, cache: !!t.getAttribute("data-ajax-cache"), beforeSend: function (n) { var r; return ( o(n, f), (r = i(t.getAttribute("data-ajax-begin"), ["xhr"]).apply( t, arguments )), r !== !1 && h.show(c), r ); }, complete: function () { h.hide(c); i(t.getAttribute("data-ajax-complete"), ["xhr", "status"]).apply( t, arguments ); }, success: function (n, r, u) { s(t, n, u.getResponseHeader("Content-Type") || "text/html"); i(t.getAttribute("data-ajax-success"), [ "data", "status", "xhr", ]).apply(t, arguments); }, error: function () { i(t.getAttribute("data-ajax-failure"), [ "xhr", "status", "error", ]).apply(t, arguments); }, }), r.data.push({ name: "X-Requested-With", value: "XMLHttpRequest" }), (f = r.type.toUpperCase()), u(f) || ((r.type = "POST"), r.data.push({ name: "X-HTTP-Method-Override", value: f })), n.ajax(r)); } function h(t) { var i = n(t).data(e); return !i || !i.validate || i.validate(); } var t = "unobtrusiveAjaxClick", r = "unobtrusiveAjaxClickTarget", e = "unobtrusiveValidation"; n(document).on("click", "a[data-ajax=true]", function (n) { n.preventDefault(); f(this, { url: this.href, type: "GET", data: [] }); }); n(document).on( "click", "form[data-ajax=true] input[type=image]", function (i) { var r = i.target.name, u = n(i.target), f = n(u.parents("form")[0]), e = u.offset(); f.data(t, [ { name: r + ".x", value: Math.round(i.pageX - e.left) }, { name: r + ".y", value: Math.round(i.pageY - e.top) }, ]); setTimeout(function () { f.removeData(t); }, 0); } ); n(document).on("click", "form[data-ajax=true] :submit", function (i) { var f = i.currentTarget.name, e = n(i.target), u = n(e.parents("form")[0]); u.data(t, f ? [{ name: f, value: i.currentTarget.value }] : []); u.data(r, e); setTimeout(function () { u.removeData(t); u.removeData(r); }, 0); }); n(document).on("submit", "form[data-ajax=true]", function (i) { var e = n(this).data(t) || [], u = n(this).data(r), o = u && u.hasClass("cancel"); (i.preventDefault(), o || h(this)) && f(this, { url: this.action, type: this.method || "GET", data: e.concat(n(this).serializeArray()), }); }); })(jQuery), (function (n) { function i(n, t, i) { n.rules[t] = i; n.message && (n.messages[t] = n.message); } function h(n) { return n.replace(/^\s+|\s+$/g, "").split(/\s*,\s*/g); } function f(n) { return n.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1"); } function e(n) { return n.substr(0, n.lastIndexOf(".") + 1); } function o(n, t) { return n.indexOf("*.") === 0 && (n = n.replace("*.", t)), n; } function c(t, i) { var r = n(this).find("[data-valmsg-for='" + f(i[0].name) + "']"), u = r.attr("data-valmsg-replace"), e = u ? n.parseJSON(u) !== !1 : null; r.removeClass("field-validation-valid").addClass( "field-validation-error" ); t.data("unobtrusiveContainer", r); e ? (r.empty(), t.removeClass("input-validation-error").appendTo(r)) : t.hide(); } function l(t, i) { var u = n(this).find("[data-valmsg-summary=true]"), r = u.find("ul"); r && r.length && i.errorList.length && (r.empty(), u .addClass("validation-summary-errors") .removeClass("validation-summary-valid"), n.each(i.errorList, function () { n("
  • ").html(this.message).appendTo(r); })); } function a(t) { var i = t.data("unobtrusiveContainer"), r = i.attr("data-valmsg-replace"), u = r ? n.parseJSON(r) : null; i && (i .addClass("field-validation-valid") .removeClass("field-validation-error"), t.removeData("unobtrusiveContainer"), u && i.empty()); } function v() { var t = n(this), i = "__jquery_unobtrusive_validation_form_reset"; if (!t.data(i)) { t.data(i, !0); try { t.data("validator").resetForm(); } finally { t.removeData(i); } t.find(".validation-summary-errors") .addClass("validation-summary-valid") .removeClass("validation-summary-errors"); t.find(".field-validation-error") .addClass("field-validation-valid") .removeClass("field-validation-error") .removeData("unobtrusiveContainer") .find(">*") .removeData("unobtrusiveContainer"); } } function s(t) { var i = n(t), f = i.data(u), s = n.proxy(v, t), e = r.unobtrusive.options || {}, o = function (i, r) { var u = e[i]; u && n.isFunction(u) && u.apply(t, r); }; return ( f || ((f = { options: { errorClass: e.errorClass || "input-validation-error", errorElement: e.errorElement || "span", errorPlacement: function () { c.apply(t, arguments); o("errorPlacement", arguments); }, invalidHandler: function () { l.apply(t, arguments); o("invalidHandler", arguments); }, messages: {}, rules: {}, success: function () { a.apply(t, arguments); o("success", arguments); }, }, attachValidation: function () { i.off("reset." + u, s) .on("reset." + u, s) .validate(this.options); }, validate: function () { return i.validate(), i.valid(); }, }), i.data(u, f)), f ); } var r = n.validator, t, u = "unobtrusiveValidation"; r.unobtrusive = { adapters: [], parseElement: function (t, i) { var u = n(t), f = u.parents("form")[0], r, e, o; f && ((r = s(f)), (r.options.rules[t.name] = e = {}), (r.options.messages[t.name] = o = {}), n.each(this.adapters, function () { var i = "data-val-" + this.name, r = u.attr(i), s = {}; r !== undefined && ((i += "-"), n.each(this.params, function () { s[this] = u.attr(i + this); }), this.adapt({ element: t, form: f, message: r, params: s, rules: e, messages: o, })); }), n.extend(e, { __dummy__: !0 }), i || r.attachValidation()); }, parse: function (t) { var i = n(t), u = i .parents() .addBack() .filter("form") .add(i.find("form")) .has("[data-val=true]"); i.find("[data-val=true]").each(function () { r.unobtrusive.parseElement(this, !0); }); u.each(function () { var n = s(this); n && n.attachValidation(); }); }, }; t = r.unobtrusive.adapters; t.add = function (n, t, i) { return ( i || ((i = t), (t = [])), this.push({ name: n, params: t, adapt: i }), this ); }; t.addBool = function (n, t) { return this.add(n, function (r) { i(r, t || n, !0); }); }; t.addMinMax = function (n, t, r, u, f, e) { return this.add(n, [f || "min", e || "max"], function (n) { var f = n.params.min, e = n.params.max; f && e ? i(n, u, [f, e]) : f ? i(n, t, f) : e && i(n, r, e); }); }; t.addSingleVal = function (n, t, r) { return this.add(n, [t || "val"], function (u) { i(u, r || n, u.params[t]); }); }; r.addMethod("__dummy__", function () { return !0; }); r.addMethod("regex", function (n, t, i) { var r; return this.optional(t) ? !0 : ((r = new RegExp(i).exec(n)), r && r.index === 0 && r[0].length === n.length); }); r.addMethod("nonalphamin", function (n, t, i) { var r; return i && ((r = n.match(/\W/g)), (r = r && r.length >= i)), r; }); r.methods.extension ? (t.addSingleVal("accept", "mimtype"), t.addSingleVal("extension", "extension")) : t.addSingleVal("extension", "extension", "accept"); t.addSingleVal("regex", "pattern"); t.addBool("creditcard") .addBool("date") .addBool("digits") .addBool("email") .addBool("number") .addBool("url"); t.addMinMax("length", "minlength", "maxlength", "rangelength").addMinMax( "range", "min", "max", "range" ); t.addMinMax("minlength", "minlength").addMinMax( "maxlength", "minlength", "maxlength" ); t.add("equalto", ["other"], function (t) { var r = e(t.element.name), u = t.params.other, s = o(u, r), h = n(t.form) .find(":input") .filter("[name='" + f(s) + "']")[0]; i(t, "equalTo", h); }); t.add("required", function (n) { (n.element.tagName.toUpperCase() !== "INPUT" || n.element.type.toUpperCase() !== "CHECKBOX") && i(n, "required", !0); }); t.add("remote", ["url", "type", "additionalfields"], function (t) { var r = { url: t.params.url, type: t.params.type || "GET", data: {} }, u = e(t.element.name); n.each(h(t.params.additionalfields || t.element.name), function (i, e) { var s = o(e, u); r.data[s] = function () { var i = n(t.form) .find(":input") .filter("[name='" + f(s) + "']"); return i.is(":checkbox") ? i.filter(":checked").val() || i.filter(":hidden").val() || "" : i.is(":radio") ? i.filter(":checked").val() || "" : i.val(); }; }); i(t, "remote", r); }); t.add("password", ["min", "nonalphamin", "regex"], function (n) { n.params.min && i(n, "minlength", n.params.min); n.params.nonalphamin && i(n, "nonalphamin", n.params.nonalphamin); n.params.regex && i(n, "regex", n.params.regex); }); n(function () { r.unobtrusive.parse(document); }); })(jQuery); !(function (n, t, i) { "use strict"; function s(n, t) { var u, o, e, r = [], s = 0; (n && n.isDefaultPrevented()) || (n.preventDefault(), (t = t || {}), n && n.data && (t = f(n.data.options, t)), (u = t.$target || i(n.currentTarget).trigger("blur")), ((e = i.fancybox.getInstance()) && e.$trigger && e.$trigger.is(u)) || (t.selector ? (r = i(t.selector)) : ((o = u.attr("data-fancybox") || ""), o ? ((r = n.data ? n.data.items : []), (r = r.length ? r.filter('[data-fancybox="' + o + '"]') : i('[data-fancybox="' + o + '"]'))) : (r = [u])), (s = i(r).index(u)), s < 0 && (s = 0), (e = i.fancybox.open(r, t, s)), (e.$trigger = u))); } if (((n.console = n.console || { info: function () {} }), i)) { if (i.fn.fancybox) return void console.info("fancyBox already initialized"); var l = { closeExisting: !1, loop: !1, gutter: 50, keyboard: !0, preventCaptionOverlap: !0, arrows: !0, infobar: !0, smallBtn: "auto", toolbar: "auto", buttons: ["zoom", "slideShow", "thumbs", "close"], idleTime: 3, protect: !1, modal: !1, image: { preload: !1 }, ajax: { settings: { data: { fancybox: !0 } } }, iframe: { tpl: '', preload: !0, css: {}, attr: { scrolling: "auto" }, }, video: { tpl: '', format: "", autoStart: !0, }, defaultType: "image", animationEffect: "zoom", animationDuration: 366, zoomOpacity: "auto", transitionEffect: "fade", transitionDuration: 366, slideClass: "", baseClass: "", baseTpl: '', spinnerTpl: '
    ', errorTpl: '

    {{ERROR}}

    ', btnTpl: { download: '', zoom: '', close: '', arrowLeft: '', arrowRight: '', smallBtn: '', }, parentEl: "body", hideScrollbar: !0, autoFocus: !0, backFocus: !0, trapFocus: !0, fullScreen: { autoStart: !1 }, touch: { vertical: !0, momentum: !0 }, hash: null, media: {}, slideShow: { autoStart: !1, speed: 3e3 }, thumbs: { autoStart: !1, hideOnClose: !0, parentEl: ".fancybox-container", axis: "y", }, wheel: "auto", onInit: i.noop, beforeLoad: i.noop, afterLoad: i.noop, beforeShow: i.noop, afterShow: i.noop, beforeClose: i.noop, afterClose: i.noop, onActivate: i.noop, onDeactivate: i.noop, clickContent: function (n) { return "image" === n.type && "zoom"; }, clickSlide: "close", clickOutside: "close", dblclickContent: !1, dblclickSlide: !1, dblclickOutside: !1, mobile: { preventCaptionOverlap: !1, idleTime: !1, clickContent: function (n) { return "image" === n.type && "toggleControls"; }, clickSlide: function (n) { return "image" === n.type ? "toggleControls" : "close"; }, dblclickContent: function (n) { return "image" === n.type && "zoom"; }, dblclickSlide: function (n) { return "image" === n.type && "zoom"; }, }, lang: "en", i18n: { en: { CLOSE: "Close", NEXT: "Next", PREV: "Previous", ERROR: "The requested content cannot be loaded.
    Please try again later.", PLAY_START: "Start slideshow", PLAY_STOP: "Pause slideshow", FULL_SCREEN: "Full screen", THUMBS: "Thumbnails", DOWNLOAD: "Download", SHARE: "Share", ZOOM: "Zoom", }, de: { CLOSE: "Schließen", NEXT: "Weiter", PREV: "Zurück", ERROR: "Die angeforderten Daten konnten nicht geladen werden.
    Bitte versuchen Sie es später nochmal.", PLAY_START: "Diaschau starten", PLAY_STOP: "Diaschau beenden", FULL_SCREEN: "Vollbild", THUMBS: "Vorschaubilder", DOWNLOAD: "Herunterladen", SHARE: "Teilen", ZOOM: "Vergrößern", }, }, }, e = i(n), r = i(t), a = 0, v = function (n) { return n && n.hasOwnProperty && n instanceof i; }, c = (function () { return ( n.requestAnimationFrame || n.webkitRequestAnimationFrame || n.mozRequestAnimationFrame || n.oRequestAnimationFrame || function (t) { return n.setTimeout(t, 1e3 / 60); } ); })(), y = (function () { return ( n.cancelAnimationFrame || n.webkitCancelAnimationFrame || n.mozCancelAnimationFrame || n.oCancelAnimationFrame || function (t) { n.clearTimeout(t); } ); })(), o = (function () { var n, r = t.createElement("fakeelement"), i = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "transitionend", WebkitTransition: "webkitTransitionEnd", }; for (n in i) if (void 0 !== r.style[n]) return i[n]; return "transitionend"; })(), u = function (n) { return n && n.length && n[0].offsetHeight; }, f = function (n, t) { var r = i.extend(!0, {}, n, t); return ( i.each(t, function (n, t) { i.isArray(t) && (r[n] = t); }), r ); }, p = function (n) { var r, u; return ( !(!n || n.ownerDocument !== t) && (i(".fancybox-container").css("pointer-events", "none"), (r = { x: n.getBoundingClientRect().left + n.offsetWidth / 2, y: n.getBoundingClientRect().top + n.offsetHeight / 2, }), (u = t.elementFromPoint(r.x, r.y) === n), i(".fancybox-container").css("pointer-events", ""), u) ); }, h = function (n, t, r) { var u = this; u.opts = f({ index: r }, i.fancybox.defaults); i.isPlainObject(t) && (u.opts = f(u.opts, t)); i.fancybox.isMobile && (u.opts = f(u.opts, u.opts.mobile)); u.id = u.opts.id || ++a; u.currIndex = parseInt(u.opts.index, 10) || 0; u.prevIndex = null; u.prevPos = null; u.currPos = 0; u.firstRun = !0; u.group = []; u.slides = {}; u.addContent(n); u.group.length && u.init(); }; i.extend(h.prototype, { init: function () { var f, e, r = this, o = r.group[r.currIndex], u = o.opts; u.closeExisting && i.fancybox.close(!0); i("body").addClass("fancybox-active"); !i.fancybox.getInstance() && !1 !== u.hideScrollbar && !i.fancybox.isMobile && t.body.scrollHeight > n.innerHeight && (i("head").append( '" ), i("body").addClass("compensate-for-scrollbar")); e = ""; i.each(u.buttons, function (n, t) { e += u.btnTpl[t] || ""; }); f = i( r.translate( r, u.baseTpl .replace("{{buttons}}", e) .replace("{{arrows}}", u.btnTpl.arrowLeft + u.btnTpl.arrowRight) ) ) .attr("id", "fancybox-container-" + r.id) .addClass(u.baseClass) .data("FancyBox", r) .appendTo(u.parentEl); r.$refs = { container: f }; [ "bg", "inner", "infobar", "toolbar", "stage", "caption", "navigation", ].forEach(function (n) { r.$refs[n] = f.find(".fancybox-" + n); }); r.trigger("onInit"); r.activate(); r.jumpTo(r.currIndex); }, translate: function (n, t) { var i = n.opts.i18n[n.opts.lang] || n.opts.i18n.en; return t.replace(/\{\{(\w+)\}\}/g, function (n, t) { return void 0 === i[t] ? n : i[t]; }); }, addContent: function (n) { var r, t = this, u = i.makeArray(n); i.each(u, function (n, r) { var h, o, l, s, c, u = {}, e = {}; i.isPlainObject(r) ? ((u = r), (e = r.opts || r)) : "object" === i.type(r) && i(r).length ? ((h = i(r)), (e = h.data() || {}), (e = i.extend(!0, {}, e, e.options)), (e.$orig = h), (u.src = t.opts.src || e.src || h.attr("href")), u.type || u.src || ((u.type = "inline"), (u.src = r))) : (u = { type: "html", src: r + "" }); u.opts = i.extend(!0, {}, t.opts, e); i.isArray(e.buttons) && (u.opts.buttons = e.buttons); i.fancybox.isMobile && u.opts.mobile && (u.opts = f(u.opts, u.opts.mobile)); o = u.type || u.opts.type; s = u.src || ""; !o && s && ((l = s.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i)) ? ((o = "video"), u.opts.video.format || (u.opts.video.format = "video/" + ("ogv" === l[1] ? "ogg" : l[1]))) : s.match( /(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i ) ? (o = "image") : s.match(/\.(pdf)((\?|#).*)?$/i) ? ((o = "iframe"), (u = i.extend(!0, u, { contentType: "pdf", opts: { iframe: { preload: !1 } }, }))) : "#" === s.charAt(0) && (o = "inline")); o ? (u.type = o) : t.trigger("objectNeedsType", u); u.contentType || (u.contentType = i.inArray(u.type, ["html", "inline", "ajax"]) > -1 ? "html" : u.type); u.index = t.group.length; "auto" == u.opts.smallBtn && (u.opts.smallBtn = i.inArray(u.type, ["html", "inline", "ajax"]) > -1); "auto" === u.opts.toolbar && (u.opts.toolbar = !u.opts.smallBtn); u.$thumb = u.opts.$thumb || null; u.opts.$trigger && u.index === t.opts.index && ((u.$thumb = u.opts.$trigger.find("img:first")), u.$thumb.length && (u.opts.$orig = u.opts.$trigger)); (u.$thumb && u.$thumb.length) || !u.opts.$orig || (u.$thumb = u.opts.$orig.find("img:first")); u.$thumb && !u.$thumb.length && (u.$thumb = null); u.thumb = u.opts.thumb || (u.$thumb ? u.$thumb[0].src : null); "function" === i.type(u.opts.caption) && (u.opts.caption = u.opts.caption.apply(r, [t, u])); "function" === i.type(t.opts.caption) && (u.opts.caption = t.opts.caption.apply(r, [t, u])); u.opts.caption instanceof i || (u.opts.caption = void 0 === u.opts.caption ? "" : u.opts.caption + ""); "ajax" === u.type && ((c = s.split(/\s+/, 2)), c.length > 1 && ((u.src = c.shift()), (u.opts.filter = c.shift()))); u.opts.modal && (u.opts = i.extend(!0, u.opts, { trapFocus: !0, infobar: 0, toolbar: 0, smallBtn: 0, keyboard: 0, slideShow: 0, fullScreen: 0, thumbs: 0, touch: 0, clickContent: !1, clickSlide: !1, clickOutside: !1, dblclickContent: !1, dblclickSlide: !1, dblclickOutside: !1, })); t.group.push(u); }); Object.keys(t.slides).length && (t.updateControls(), (r = t.Thumbs) && r.isActive && (r.create(), r.focus())); }, addEvents: function () { var t = this; t.removeEvents(); t.$refs.container .on("click.fb-close", "[data-fancybox-close]", function (n) { n.stopPropagation(); n.preventDefault(); t.close(n); }) .on( "touchstart.fb-prev click.fb-prev", "[data-fancybox-prev]", function (n) { n.stopPropagation(); n.preventDefault(); t.previous(); } ) .on( "touchstart.fb-next click.fb-next", "[data-fancybox-next]", function (n) { n.stopPropagation(); n.preventDefault(); t.next(); } ) .on("click.fb", "[data-fancybox-zoom]", function () { t[t.isScaledDown() ? "scaleToActual" : "scaleToFit"](); }); e.on("orientationchange.fb resize.fb", function (n) { n && n.originalEvent && "resize" === n.originalEvent.type ? (t.requestId && y(t.requestId), (t.requestId = c(function () { t.update(n); }))) : (t.current && "iframe" === t.current.type && t.$refs.stage.hide(), setTimeout( function () { t.$refs.stage.show(); t.update(n); }, i.fancybox.isMobile ? 600 : 250 )); }); r.on("keydown.fb", function (n) { var f = i.fancybox ? i.fancybox.getInstance() : null, u = f.current, r = n.keyCode || n.which; return 9 == r ? void (u.opts.trapFocus && t.focus(n)) : !u.opts.keyboard || n.ctrlKey || n.altKey || n.shiftKey || i(n.target).is("input,textarea,video,audio,select") ? void 0 : 8 === r || 27 === r ? (n.preventDefault(), void t.close(n)) : 37 === r || 38 === r ? (n.preventDefault(), void t.previous()) : 39 === r || 40 === r ? (n.preventDefault(), void t.next()) : void t.trigger("afterKeydown", n, r); }); t.group[t.currIndex].opts.idleTime && ((t.idleSecondsCounter = 0), r.on( "mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle", function () { t.idleSecondsCounter = 0; t.isIdle && t.showControls(); t.isIdle = !1; } ), (t.idleInterval = n.setInterval(function () { ++t.idleSecondsCounter >= t.group[t.currIndex].opts.idleTime && !t.isDragging && ((t.isIdle = !0), (t.idleSecondsCounter = 0), t.hideControls()); }, 1e3))); }, removeEvents: function () { var t = this; e.off("orientationchange.fb resize.fb"); r.off("keydown.fb .fb-idle"); this.$refs.container.off(".fb-close .fb-prev .fb-next"); t.idleInterval && (n.clearInterval(t.idleInterval), (t.idleInterval = null)); }, previous: function (n) { return this.jumpTo(this.currPos - 1, n); }, next: function (n) { return this.jumpTo(this.currPos + 1, n); }, jumpTo: function (n, t) { var s, a, h, f, e, o, v, c, y, r = this, l = r.group.length; if (!(r.isDragging || r.isClosing || (r.isAnimating && r.firstRun))) { if ( ((n = parseInt(n, 10)), !(h = r.current ? r.current.opts.loop : r.opts.loop) && (n < 0 || n >= l)) ) return !1; if ( ((s = r.firstRun = !Object.keys(r.slides).length), (e = r.current), (r.prevIndex = r.currIndex), (r.prevPos = r.currPos), (f = r.createSlide(n)), l > 1 && ((h || f.index < l - 1) && r.createSlide(n + 1), (h || f.index > 0) && r.createSlide(n - 1)), (r.current = f), (r.currIndex = f.index), (r.currPos = f.pos), r.trigger("beforeShow", s), r.updateControls(), (f.forcedDuration = void 0), i.isNumeric(t) ? (f.forcedDuration = t) : (t = f.opts[s ? "animationDuration" : "transitionDuration"]), (t = parseInt(t, 10)), (a = r.isMoved(f)), f.$slide.addClass("fancybox-slide--current"), s) ) return ( f.opts.animationEffect && t && r.$refs.container.css("transition-duration", t + "ms"), r.$refs.container.addClass("fancybox-is-open").trigger("focus"), r.loadSlide(f), void r.preload("image") ); o = i.fancybox.getTranslate(e.$slide); v = i.fancybox.getTranslate(r.$refs.stage); i.each(r.slides, function (n, t) { i.fancybox.stop(t.$slide, !0); }); e.pos !== f.pos && (e.isComplete = !1); e.$slide.removeClass( "fancybox-slide--complete fancybox-slide--current" ); a ? ((y = o.left - (e.pos * o.width + e.pos * e.opts.gutter)), i.each(r.slides, function (n, e) { e.$slide .removeClass("fancybox-animated") .removeClass(function (n, t) { return (t.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" "); }); var s = e.pos * o.width + e.pos * e.opts.gutter; i.fancybox.setTranslate(e.$slide, { top: 0, left: s - v.left + y, }); e.pos !== f.pos && e.$slide.addClass( "fancybox-slide--" + (e.pos > f.pos ? "next" : "previous") ); u(e.$slide); i.fancybox.animate( e.$slide, { top: 0, left: (e.pos - f.pos) * o.width + (e.pos - f.pos) * e.opts.gutter, }, t, function () { e.$slide .css({ transform: "", opacity: "" }) .removeClass( "fancybox-slide--next fancybox-slide--previous" ); e.pos === r.currPos && r.complete(); } ); })) : t && f.opts.transitionEffect && ((c = "fancybox-animated fancybox-fx-" + f.opts.transitionEffect), e.$slide.addClass( "fancybox-slide--" + (e.pos > f.pos ? "next" : "previous") ), i.fancybox.animate( e.$slide, c, t, function () { e.$slide .removeClass(c) .removeClass( "fancybox-slide--next fancybox-slide--previous" ); }, !1 )); f.isLoaded ? r.revealContent(f) : r.loadSlide(f); r.preload("image"); } }, createSlide: function (n) { var u, r, t = this; return ( (r = n % t.group.length), (r = r < 0 ? t.group.length + r : r), !t.slides[n] && t.group[r] && ((u = i('
    ').appendTo( t.$refs.stage )), (t.slides[n] = i.extend(!0, {}, t.group[r], { pos: n, $slide: u, isLoaded: !1, })), t.updateSlide(t.slides[n])), t.slides[n] ); }, scaleToActual: function (n, t, r) { var e, o, s, v, y, f = this, u = f.current, p = u.$content, l = i.fancybox.getTranslate(u.$slide).width, a = i.fancybox.getTranslate(u.$slide).height, h = u.width, c = u.height; f.isAnimating || f.isMoved() || !p || "image" != u.type || !u.isLoaded || u.hasError || ((f.isAnimating = !0), i.fancybox.stop(p), (n = void 0 === n ? 0.5 * l : n), (t = void 0 === t ? 0.5 * a : t), (e = i.fancybox.getTranslate(p)), (e.top -= i.fancybox.getTranslate(u.$slide).top), (e.left -= i.fancybox.getTranslate(u.$slide).left), (v = h / e.width), (y = c / e.height), (o = 0.5 * l - 0.5 * h), (s = 0.5 * a - 0.5 * c), h > l && ((o = e.left * v - (n * v - n)), o > 0 && (o = 0), o < l - h && (o = l - h)), c > a && ((s = e.top * y - (t * y - t)), s > 0 && (s = 0), s < a - c && (s = a - c)), f.updateCursor(h, c), i.fancybox.animate( p, { top: s, left: o, scaleX: v, scaleY: y }, r || 366, function () { f.isAnimating = !1; } ), f.SlideShow && f.SlideShow.isActive && f.SlideShow.stop()); }, scaleToFit: function (n) { var t, r = this, u = r.current, f = u.$content; r.isAnimating || r.isMoved() || !f || "image" != u.type || !u.isLoaded || u.hasError || ((r.isAnimating = !0), i.fancybox.stop(f), (t = r.getFitPos(u)), r.updateCursor(t.width, t.height), i.fancybox.animate( f, { top: t.top, left: t.left, scaleX: t.width / f.width(), scaleY: t.height / f.height(), }, n || 366, function () { r.isAnimating = !1; } )); }, getFitPos: function (n) { var u, f, c, s, l = this, e = n.$content, o = n.$slide, t = n.width || n.opts.width, r = n.height || n.opts.height, h = {}; return ( !!(n.isLoaded && e && e.length) && ((u = i.fancybox.getTranslate(l.$refs.stage).width), (f = i.fancybox.getTranslate(l.$refs.stage).height), (u -= parseFloat(o.css("paddingLeft")) + parseFloat(o.css("paddingRight")) + parseFloat(e.css("marginLeft")) + parseFloat(e.css("marginRight"))), (f -= parseFloat(o.css("paddingTop")) + parseFloat(o.css("paddingBottom")) + parseFloat(e.css("marginTop")) + parseFloat(e.css("marginBottom"))), (t && r) || ((t = u), (r = f)), (c = Math.min(1, u / t, f / r)), (t *= c), (r *= c), t > u - 0.5 && (t = u), r > f - 0.5 && (r = f), "image" === n.type ? ((h.top = Math.floor(0.5 * (f - r)) + parseFloat(o.css("paddingTop"))), (h.left = Math.floor(0.5 * (u - t)) + parseFloat(o.css("paddingLeft")))) : "video" === n.contentType && ((s = n.opts.width && n.opts.height ? t / r : n.opts.ratio || 16 / 9), r > t / s ? (r = t / s) : t > r * s && (t = r * s)), (h.width = t), (h.height = r), h) ); }, update: function (n) { var t = this; i.each(t.slides, function (i, r) { t.updateSlide(r, n); }); }, updateSlide: function (n, t) { var r = this, f = n && n.$content, e = n.width || n.opts.width, o = n.height || n.opts.height, u = n.$slide; r.adjustCaption(n); f && (e || o || "video" === n.contentType) && !n.hasError && (i.fancybox.stop(f), i.fancybox.setTranslate(f, r.getFitPos(n)), n.pos === r.currPos && ((r.isAnimating = !1), r.updateCursor())); r.adjustLayout(n); u.length && (u.trigger("refresh"), n.pos === r.currPos && r.$refs.toolbar .add(r.$refs.navigation.find(".fancybox-button--arrow_right")) .toggleClass( "compensate-for-scrollbar", u.get(0).scrollHeight > u.get(0).clientHeight )); r.trigger("onUpdate", n, t); }, centerSlide: function (n) { var r = this, u = r.current, t = u.$slide; !r.isClosing && u && (t.siblings().css({ transform: "", opacity: "" }), t .parent() .children() .removeClass("fancybox-slide--previous fancybox-slide--next"), i.fancybox.animate( t, { top: 0, left: 0, opacity: 1 }, void 0 === n ? 0 : n, function () { t.css({ transform: "", opacity: "" }); u.isComplete || r.complete(); }, !1 )); }, isMoved: function (n) { var t, r, u = n || this.current; return ( !!u && ((r = i.fancybox.getTranslate(this.$refs.stage)), (t = i.fancybox.getTranslate(u.$slide)), !u.$slide.hasClass("fancybox-animated") && (Math.abs(t.top - r.top) > 0.5 || Math.abs(t.left - r.left) > 0.5)) ); }, updateCursor: function (n, t) { var o, e, u = this, r = u.current, f = u.$refs.container; r && !u.isClosing && u.Guestures && (f.removeClass( "fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan" ), (o = u.canPan(n, t)), (e = !!o || u.isZoomable()), f.toggleClass("fancybox-is-zoomable", e), i("[data-fancybox-zoom]").prop("disabled", !e), o ? f.addClass("fancybox-can-pan") : e && ("zoom" === r.opts.clickContent || (i.isFunction(r.opts.clickContent) && "zoom" == r.opts.clickContent(r))) ? f.addClass("fancybox-can-zoomIn") : r.opts.touch && (r.opts.touch.vertical || u.group.length > 1) && "video" !== r.contentType && f.addClass("fancybox-can-swipe")); }, isZoomable: function () { var t, i = this, n = i.current; return n && !i.isClosing && "image" === n.type && !n.hasError && (!n.isLoaded || ((t = i.getFitPos(n)) && (n.width > t.width || n.height > t.height))) ? !0 : !1; }, isScaledDown: function (n, t) { var e = this, r = !1, u = e.current, f = u.$content; return ( void 0 !== n && void 0 !== t ? (r = n < u.width && t < u.height) : f && ((r = i.fancybox.getTranslate(f)), (r = r.width < u.width && r.height < u.height)), r ); }, canPan: function (n, t) { var e = this, r = e.current, f = null, u = !1; return ( "image" === r.type && (r.isComplete || (n && t)) && !r.hasError && ((u = e.getFitPos(r)), void 0 !== n && void 0 !== t ? (f = { width: n, height: t }) : r.isComplete && (f = i.fancybox.getTranslate(r.$content)), f && u && (u = Math.abs(f.width - u.width) > 1.5 || Math.abs(f.height - u.height) > 1.5)), u ); }, loadSlide: function (n) { var u, r, f, t = this; if (!n.isLoading && !n.isLoaded) { if (((n.isLoading = !0), !1 === t.trigger("beforeLoad", n))) return (n.isLoading = !1), !1; switch ( ((u = n.type), (r = n.$slide), r.off("refresh").trigger("onReset").addClass(n.opts.slideClass), u) ) { case "image": t.setImage(n); break; case "iframe": t.setIframe(n); break; case "html": t.setContent(n, n.src || n.content); break; case "video": t.setContent( n, n.opts.video.tpl .replace(/\{\{src\}\}/gi, n.src) .replace( "{{format}}", n.opts.videoFormat || n.opts.video.format || "" ) .replace("{{poster}}", n.thumb || "") ); break; case "inline": i(n.src).length ? t.setContent(n, i(n.src)) : t.setError(n); break; case "ajax": t.showLoading(n); f = i.ajax( i.extend({}, n.opts.ajax.settings, { url: n.src, success: function (i, r) { "success" === r && t.setContent(n, i); }, error: function (i, r) { i && "abort" !== r && t.setError(n); }, }) ); r.one("onReset", function () { f.abort(); }); break; default: t.setError(n); } return !0; } }, setImage: function (n) { var u, r = this; setTimeout(function () { var t = n.$image; r.isClosing || !n.isLoading || (t && t.length && t[0].complete) || n.hasError || r.showLoading(n); }, 50); r.checkSrcset(n); n.$content = i('
    ') .addClass("fancybox-is-hidden") .appendTo(n.$slide.addClass("fancybox-slide--image")); !1 !== n.opts.preload && n.opts.width && n.opts.height && n.thumb && ((n.width = n.opts.width), (n.height = n.opts.height), (u = t.createElement("img")), (u.onerror = function () { i(this).remove(); n.$ghost = null; }), (u.onload = function () { r.afterLoad(n); }), (n.$ghost = i(u) .addClass("fancybox-image") .appendTo(n.$content) .attr("src", n.thumb))); r.setBigImage(n); }, checkSrcset: function (t) { var i, r, e, s, o = t.opts.srcset || t.opts.image.srcset, f, u; if (o) { for ( e = n.devicePixelRatio || 1, s = n.innerWidth * e, r = o.split(",").map(function (n) { var t = {}; return ( n .trim() .split(/\s+/) .forEach(function (n, i) { var r = parseInt(n.substring(0, n.length - 1), 10); if (0 === i) return (t.url = n); r && ((t.value = r), (t.postfix = n[n.length - 1])); }), t ); }), r.sort(function (n, t) { return n.value - t.value; }), f = 0; f < r.length; f++ ) if ( ((u = r[f]), ("w" === u.postfix && u.value >= s) || ("x" === u.postfix && u.value >= e)) ) { i = u; break; } !i && r.length && (i = r[r.length - 1]); i && ((t.src = i.url), t.width && t.height && "w" == i.postfix && ((t.height = (t.width / t.height) * i.value), (t.width = i.value)), (t.opts.srcset = o)); } }, setBigImage: function (n) { var r = this, f = t.createElement("img"), u = i(f); n.$image = u .one("error", function () { r.setError(n); }) .one("load", function () { var t; n.$ghost || (r.resolveImageSlideSize( n, this.naturalWidth, this.naturalHeight ), r.afterLoad(n)); r.isClosing || (n.opts.srcset && ((t = n.opts.sizes), (t && "auto" !== t) || (t = (n.width / n.height > 1 && e.width() / e.height() > 1 ? "100" : Math.round((n.width / n.height) * 100)) + "vw"), u.attr("sizes", t).attr("srcset", n.opts.srcset)), n.$ghost && setTimeout(function () { n.$ghost && !r.isClosing && n.$ghost.hide(); }, Math.min(300, Math.max(1e3, n.height / 1600))), r.hideLoading(n)); }) .addClass("fancybox-image") .attr("src", n.src) .appendTo(n.$content); (f.complete || "complete" == f.readyState) && u.naturalWidth && u.naturalHeight ? u.trigger("load") : f.error && u.trigger("error"); }, resolveImageSlideSize: function (n, t, i) { var r = parseInt(n.opts.width, 10), u = parseInt(n.opts.height, 10); n.width = t; n.height = i; r > 0 && ((n.width = r), (n.height = Math.floor((r * i) / t))); u > 0 && ((n.width = Math.floor((u * t) / i)), (n.height = u)); }, setIframe: function (n) { var u, f = this, t = n.opts.iframe, r = n.$slide; n.$content = i( '
    ' ) .css(t.css) .appendTo(r); r.addClass("fancybox-slide--" + n.contentType); n.$iframe = u = i(t.tpl.replace(/\{rnd\}/g, new Date().getTime())) .attr(t.attr) .appendTo(n.$content); t.preload ? (f.showLoading(n), u.on("load.fb error.fb", function () { this.isReady = 1; n.$slide.trigger("refresh"); f.afterLoad(n); }), r.on("refresh.fb", function () { var s, i, f = n.$content, e = t.css.width, o = t.css.height; if (1 === u[0].isReady) { try { s = u.contents(); i = s.find("body"); } catch (n) {} i && i.length && i.children().length && (r.css("overflow", "visible"), f.css({ width: "100%", "max-width": "100%", height: "9999px", }), void 0 === e && (e = Math.ceil( Math.max(i[0].clientWidth, i.outerWidth(!0)) )), f.css("width", e || "").css("max-width", ""), void 0 === o && (o = Math.ceil( Math.max(i[0].clientHeight, i.outerHeight(!0)) )), f.css("height", o || ""), r.css("overflow", "auto")); f.removeClass("fancybox-is-hidden"); } })) : f.afterLoad(n); u.attr("src", n.src); r.one("onReset", function () { try { i(this).find("iframe").hide().unbind().attr("src", "//about:blank"); } catch (n) {} i(this).off("refresh.fb").empty(); n.isLoaded = !1; n.isRevealed = !1; }); }, setContent: function (n, t) { var r = this; r.isClosing || (r.hideLoading(n), n.$content && i.fancybox.stop(n.$content), n.$slide.empty(), v(t) && t.parent().length ? ((t.hasClass("fancybox-content") || t.parent().hasClass("fancybox-content")) && t.parents(".fancybox-slide").trigger("onReset"), (n.$placeholder = i("
    ").hide().insertAfter(t)), t.css("display", "inline-block")) : n.hasError || ("string" === i.type(t) && (t = i("
    ").append(i.trim(t)).contents()), n.opts.filter && (t = i("
    ").html(t).find(n.opts.filter))), n.$slide.one("onReset", function () { i(this).find("video,audio").trigger("pause"); n.$placeholder && (n.$placeholder .after(t.removeClass("fancybox-content").hide()) .remove(), (n.$placeholder = null)); n.$smallBtn && (n.$smallBtn.remove(), (n.$smallBtn = null)); n.hasError || (i(this).empty(), (n.isLoaded = !1), (n.isRevealed = !1)); }), i(t).appendTo(n.$slide), i(t).is("video,audio") && (i(t).addClass("fancybox-video"), i(t).wrap("
    "), (n.contentType = "video"), (n.opts.width = n.opts.width || i(t).attr("width")), (n.opts.height = n.opts.height || i(t).attr("height"))), (n.$content = n.$slide .children() .filter("div,form,main,video,audio,article,.fancybox-content") .first()), n.$content.siblings().hide(), n.$content.length || (n.$content = n.$slide.wrapInner("
    ").children().first()), n.$content.addClass("fancybox-content"), n.$slide.addClass("fancybox-slide--" + n.contentType), r.afterLoad(n)); }, setError: function (n) { n.hasError = !0; n.$slide .trigger("onReset") .removeClass("fancybox-slide--" + n.contentType) .addClass("fancybox-slide--error"); n.contentType = "html"; this.setContent(n, this.translate(n, n.opts.errorTpl)); n.pos === this.currPos && (this.isAnimating = !1); }, showLoading: function (n) { var t = this; (n = n || t.current) && !n.$spinner && (n.$spinner = i(t.translate(t, t.opts.spinnerTpl)) .appendTo(n.$slide) .hide() .fadeIn("fast")); }, hideLoading: function (n) { var t = this; (n = n || t.current) && n.$spinner && (n.$spinner.stop().remove(), delete n.$spinner); }, afterLoad: function (n) { var t = this; t.isClosing || ((n.isLoading = !1), (n.isLoaded = !0), t.trigger("afterLoad", n), t.hideLoading(n), !n.opts.smallBtn || (n.$smallBtn && n.$smallBtn.length) || (n.$smallBtn = i(t.translate(n, n.opts.btnTpl.smallBtn)).appendTo( n.$content )), n.opts.protect && n.$content && !n.hasError && (n.$content.on("contextmenu.fb", function (n) { return 2 == n.button && n.preventDefault(), !0; }), "image" === n.type && i('
    ').appendTo(n.$content)), t.adjustCaption(n), t.adjustLayout(n), n.pos === t.currPos && t.updateCursor(), t.revealContent(n)); }, adjustCaption: function (n) { var i, t = this, r = n || t.current, u = r.opts.caption, o = r.opts.preventCaptionOverlap, f = t.$refs.caption, e = !1; f.toggleClass("fancybox-caption--separate", o); o && u && u.length && (r.pos !== t.currPos ? ((i = f.clone().appendTo(f.parent())), i.children().eq(0).empty().html(u), (e = i.outerHeight(!0)), i.empty().remove()) : t.$caption && (e = t.$caption.outerHeight(!0)), r.$slide.css("padding-bottom", e || "")); }, adjustLayout: function (n) { var r, u, f, i, e = this, t = n || e.current; t.isLoaded && !0 !== t.opts.disableLayoutFix && (t.$content.css("margin-bottom", ""), t.$content.outerHeight() > t.$slide.height() + 0.5 && ((f = t.$slide[0].style["padding-bottom"]), (i = t.$slide.css("padding-bottom")), parseFloat(i) > 0 && ((r = t.$slide[0].scrollHeight), t.$slide.css("padding-bottom", 0), Math.abs(r - t.$slide[0].scrollHeight) < 1 && (u = i), t.$slide.css("padding-bottom", f))), t.$content.css("margin-bottom", u)); }, revealContent: function (n) { var r, c, f, h, t = this, s = n.$slide, e = !1, o = !1, l = t.isMoved(n), a = n.isRevealed; return ( (n.isRevealed = !0), (r = n.opts[t.firstRun ? "animationEffect" : "transitionEffect"]), (f = n.opts[t.firstRun ? "animationDuration" : "transitionDuration"]), (f = parseInt( void 0 === n.forcedDuration ? f : n.forcedDuration, 10 )), (!l && n.pos === t.currPos && f) || (r = !1), "zoom" === r && (n.pos === t.currPos && f && "image" === n.type && !n.hasError && (o = t.getThumbPos(n)) ? (e = t.getFitPos(n)) : (r = "fade")), "zoom" === r ? ((t.isAnimating = !0), (e.scaleX = e.width / o.width), (e.scaleY = e.height / o.height), (h = n.opts.zoomOpacity), "auto" == h && (h = Math.abs(n.width / n.height - o.width / o.height) > 0.1), h && ((o.opacity = 0.1), (e.opacity = 1)), i.fancybox.setTranslate( n.$content.removeClass("fancybox-is-hidden"), o ), u(n.$content), void i.fancybox.animate(n.$content, e, f, function () { t.isAnimating = !1; t.complete(); })) : (t.updateSlide(n), r ? (i.fancybox.stop(s), (c = "fancybox-slide--" + (n.pos >= t.prevPos ? "next" : "previous") + " fancybox-animated fancybox-fx-" + r), s.addClass(c).removeClass("fancybox-slide--current"), n.$content.removeClass("fancybox-is-hidden"), u(s), "image" !== n.type && n.$content.hide().show(0), void i.fancybox.animate( s, "fancybox-slide--current", f, function () { s.removeClass(c).css({ transform: "", opacity: "" }); n.pos === t.currPos && t.complete(); }, !0 )) : (n.$content.removeClass("fancybox-is-hidden"), a || !l || "image" !== n.type || n.hasError || n.$content.hide().fadeIn("fast"), void (n.pos === t.currPos && t.complete()))) ); }, getThumbPos: function (n) { var t, u, e, o, f, s = !1, r = n.$thumb; return ( !(!r || !p(r[0])) && ((t = i.fancybox.getTranslate(r)), (u = parseFloat(r.css("border-top-width") || 0)), (e = parseFloat(r.css("border-right-width") || 0)), (o = parseFloat(r.css("border-bottom-width") || 0)), (f = parseFloat(r.css("border-left-width") || 0)), (s = { top: t.top + u, left: t.left + f, width: t.width - e - f, height: t.height - u - o, scaleX: 1, scaleY: 1, }), t.width > 0 && t.height > 0 && s) ); }, complete: function () { var r, n = this, t = n.current, f = {}; !n.isMoved() && t.isLoaded && (t.isComplete || ((t.isComplete = !0), t.$slide.siblings().trigger("onReset"), n.preload("inline"), u(t.$slide), t.$slide.addClass("fancybox-slide--complete"), i.each(n.slides, function (t, r) { r.pos >= n.currPos - 1 && r.pos <= n.currPos + 1 ? (f[r.pos] = r) : r && (i.fancybox.stop(r.$slide), r.$slide.off().remove()); }), (n.slides = f)), (n.isAnimating = !1), n.updateCursor(), n.trigger("afterShow"), t.opts.video.autoStart && t.$slide .find("video,audio") .filter(":visible:first") .trigger("play") .one("ended", function () { Document.exitFullscreen ? Document.exitFullscreen() : this.webkitExitFullscreen && this.webkitExitFullscreen(); n.next(); }), t.opts.autoFocus && "html" === t.contentType && ((r = t.$content.find("input[autofocus]:enabled:visible:first")), r.length ? r.trigger("focus") : n.focus(null, !0)), t.$slide.scrollTop(0).scrollLeft(0)); }, preload: function (n) { var i, r, t = this; t.group.length < 2 || ((r = t.slides[t.currPos + 1]), (i = t.slides[t.currPos - 1]), i && i.type === n && t.loadSlide(i), r && r.type === n && t.loadSlide(r)); }, focus: function (n, r) { var u, e, f = this, o = 'a[href],area[href],input:not([disabled]):not([type="hidden"]):not([aria-hidden]),select:not([disabled]):not([aria-hidden]),textarea:not([disabled]):not([aria-hidden]),button:not([disabled]):not([aria-hidden]),iframe,object,embed,video,audio,[contenteditable],[tabindex]:not([tabindex^="-"])'; f.isClosing || ((u = !n && f.current && f.current.isComplete ? f.current.$slide.find( "*:visible" + (r ? ":not(.fancybox-close-small)" : "") ) : f.$refs.container.find("*:visible")), (u = u.filter(o).filter(function () { return ( "hidden" !== i(this).css("visibility") && !i(this).hasClass("disabled") ); })), u.length ? ((e = u.index(t.activeElement)), n && n.shiftKey ? (e < 0 || 0 == e) && (n.preventDefault(), u.eq(u.length - 1).trigger("focus")) : (e < 0 || e == u.length - 1) && (n && n.preventDefault(), u.eq(0).trigger("focus"))) : f.$refs.container.trigger("focus")); }, activate: function () { var n = this; i(".fancybox-container").each(function () { var t = i(this).data("FancyBox"); t && t.id !== n.id && !t.isClosing && (t.trigger("onDeactivate"), t.removeEvents(), (t.isVisible = !1)); }); n.isVisible = !0; (n.current || n.isIdle) && (n.update(), n.updateControls()); n.trigger("onActivate"); n.addEvents(); }, close: function (n, t) { var o, s, h, l, a, y, e, r = this, f = r.current, v = function () { r.cleanUp(n); }; return ( !r.isClosing && ((r.isClosing = !0), !1 === r.trigger("beforeClose", n) ? ((r.isClosing = !1), c(function () { r.update(); }), !1) : (r.removeEvents(), (h = f.$content), (o = f.opts.animationEffect), (s = i.isNumeric(t) ? t : o ? f.opts.animationDuration : 0), f.$slide.removeClass( "fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated" ), !0 !== n ? i.fancybox.stop(f.$slide) : (o = !1), f.$slide.siblings().trigger("onReset").remove(), s && r.$refs.container .removeClass("fancybox-is-open") .addClass("fancybox-is-closing") .css("transition-duration", s + "ms"), r.hideLoading(f), r.hideControls(!0), r.updateCursor(), "zoom" !== o || (h && s && "image" === f.type && !r.isMoved() && !f.hasError && (e = r.getThumbPos(f))) || (o = "fade"), "zoom" === o ? (i.fancybox.stop(h), (l = i.fancybox.getTranslate(h)), (y = { top: l.top, left: l.left, scaleX: l.width / e.width, scaleY: l.height / e.height, width: e.width, height: e.height, }), (a = f.opts.zoomOpacity), "auto" == a && (a = Math.abs(f.width / f.height - e.width / e.height) > 0.1), a && (e.opacity = 0), i.fancybox.setTranslate(h, y), u(h), i.fancybox.animate(h, e, s, v), !0) : (o && s ? i.fancybox.animate( f.$slide .addClass("fancybox-slide--previous") .removeClass("fancybox-slide--current"), "fancybox-animated fancybox-fx-" + o, s, v ) : !0 === n ? setTimeout(v, s) : v(), !0))) ); }, cleanUp: function (t) { var f, e, o, r = this, u = r.current.opts.$orig; r.current.$slide.trigger("onReset"); r.$refs.container.empty().remove(); r.trigger("afterClose", t); r.current.opts.backFocus && ((u && u.length && u.is(":visible")) || (u = r.$trigger), u && u.length && ((e = n.scrollX), (o = n.scrollY), u.trigger("focus"), i("html, body").scrollTop(o).scrollLeft(e))); r.current = null; f = i.fancybox.getInstance(); f ? f.activate() : (i("body").removeClass("fancybox-active compensate-for-scrollbar"), i("#fancybox-style-noscroll").remove()); }, trigger: function (n, t) { var o, f = Array.prototype.slice.call(arguments, 1), e = this, u = t && t.opts ? t : e.current; if ( (u ? f.unshift(u) : (u = e), f.unshift(e), i.isFunction(u.opts[n]) && (o = u.opts[n].apply(u, f)), !1 === o) ) return o; "afterClose" !== n && e.$refs ? e.$refs.container.trigger(n + ".fb", f) : r.trigger(n + ".fb", f); }, updateControls: function () { var n = this, r = n.current, f = r.index, u = n.$refs.container, o = n.$refs.caption, e = r.opts.caption; r.$slide.trigger("refresh"); e && e.length ? ((n.$caption = o), o.children().eq(0).html(e)) : (n.$caption = null); n.hasHiddenControls || n.isIdle || n.showControls(); u.find("[data-fancybox-count]").html(n.group.length); u.find("[data-fancybox-index]").html(f + 1); u.find("[data-fancybox-prev]").prop("disabled", !r.opts.loop && f <= 0); u.find("[data-fancybox-next]").prop( "disabled", !r.opts.loop && f >= n.group.length - 1 ); "image" === r.type ? u .find("[data-fancybox-zoom]") .show() .end() .find("[data-fancybox-download]") .attr("href", r.opts.image.src || r.src) .show() : r.opts.toolbar && u.find("[data-fancybox-download],[data-fancybox-zoom]").hide(); i(t.activeElement).is(":hidden,[disabled]") && n.$refs.container.trigger("focus"); }, hideControls: function (n) { var i = this, t = ["infobar", "toolbar", "nav"]; (!n && i.current.opts.preventCaptionOverlap) || t.push("caption"); this.$refs.container.removeClass( t .map(function (n) { return "fancybox-show-" + n; }) .join(" ") ); this.hasHiddenControls = !0; }, showControls: function () { var n = this, t = n.current ? n.current.opts : n.opts, i = n.$refs.container; n.hasHiddenControls = !1; n.idleSecondsCounter = 0; i.toggleClass("fancybox-show-toolbar", !(!t.toolbar || !t.buttons)) .toggleClass( "fancybox-show-infobar", !!(t.infobar && n.group.length > 1) ) .toggleClass("fancybox-show-caption", !!n.$caption) .toggleClass("fancybox-show-nav", !!(t.arrows && n.group.length > 1)) .toggleClass("fancybox-is-modal", !!t.modal); }, toggleControls: function () { this.hasHiddenControls ? this.showControls() : this.hideControls(); }, }); i.fancybox = { version: "3.5.7", defaults: l, getInstance: function (n) { var t = i('.fancybox-container:not(".fancybox-is-closing"):last').data( "FancyBox" ), r = Array.prototype.slice.call(arguments, 1); return ( t instanceof h && ("string" === i.type(n) ? t[n].apply(t, r) : "function" === i.type(n) && n.apply(t, r), t) ); }, open: function (n, t, i) { return new h(n, t, i); }, close: function (n) { var t = this.getInstance(); t && (t.close(), !0 === n && this.close(n)); }, destroy: function () { this.close(!0); r.add("body").off("click.fb-start", "**"); }, isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( navigator.userAgent ), use3d: (function () { var i = t.createElement("div"); return ( n.getComputedStyle && n.getComputedStyle(i) && n.getComputedStyle(i).getPropertyValue("transform") && !(t.documentMode && t.documentMode < 11) ); })(), getTranslate: function (n) { var t; return ( !(!n || !n.length) && ((t = n[0].getBoundingClientRect()), { top: t.top || 0, left: t.left || 0, width: t.width, height: t.height, opacity: parseFloat(n.css("opacity")), }) ); }, setTranslate: function (n, t) { var i = "", r = {}; if (n && t) return ( (void 0 === t.left && void 0 === t.top) || ((i = (void 0 === t.left ? n.position().left : t.left) + "px, " + (void 0 === t.top ? n.position().top : t.top) + "px"), (i = this.use3d ? "translate3d(" + i + ", 0px)" : "translate(" + i + ")")), void 0 !== t.scaleX && void 0 !== t.scaleY ? (i += " scale(" + t.scaleX + ", " + t.scaleY + ")") : void 0 !== t.scaleX && (i += " scaleX(" + t.scaleX + ")"), i.length && (r.transform = i), void 0 !== t.opacity && (r.opacity = t.opacity), void 0 !== t.width && (r.width = t.width), void 0 !== t.height && (r.height = t.height), n.css(r) ); }, animate: function (n, t, r, u, f) { var s, e = this; i.isFunction(r) && ((u = r), (r = null)); e.stop(n); s = e.getTranslate(n); n.on(o, function (o) { (o && o.originalEvent && (!n.is(o.originalEvent.target) || "z-index" == o.originalEvent.propertyName)) || (e.stop(n), i.isNumeric(r) && n.css("transition-duration", ""), i.isPlainObject(t) ? void 0 !== t.scaleX && void 0 !== t.scaleY && e.setTranslate(n, { top: t.top, left: t.left, width: s.width * t.scaleX, height: s.height * t.scaleY, scaleX: 1, scaleY: 1, }) : !0 !== f && n.removeClass(t), i.isFunction(u) && u(o)); }); i.isNumeric(r) && n.css("transition-duration", r + "ms"); i.isPlainObject(t) ? (void 0 !== t.scaleX && void 0 !== t.scaleY && (delete t.width, delete t.height, n.parent().hasClass("fancybox-slide--image") && n.parent().addClass("fancybox-is-scaling")), i.fancybox.setTranslate(n, t)) : n.addClass(t); n.data( "timer", setTimeout(function () { n.trigger(o); }, r + 33) ); }, stop: function (n, t) { n && n.length && (clearTimeout(n.data("timer")), t && n.trigger(o), n.off(o).css("transition-duration", ""), n.parent().removeClass("fancybox-is-scaling")); }, }; i.fn.fancybox = function (n) { var t; return ( (n = n || {}), (t = n.selector || !1), t ? i("body") .off("click.fb-start", t) .on("click.fb-start", t, { options: n }, s) : this.off("click.fb-start").on( "click.fb-start", { items: this, options: n }, s ), this ); }; r.on("click.fb-start", "[data-fancybox]", s); r.on("click.fb-start", "[data-fancybox-trigger]", function () { i('[data-fancybox="' + i(this).attr("data-fancybox-trigger") + '"]') .eq(i(this).attr("data-fancybox-index") || 0) .trigger("click.fb-start", { $trigger: i(this) }); }), (function () { var n = null; r.on("mousedown mouseup focus blur", ".fancybox-button", function (t) { switch (t.type) { case "mousedown": n = i(this); break; case "mouseup": n = null; break; case "focusin": i(".fancybox-button").removeClass("fancybox-focus"); i(this).is(n) || i(this).is("[disabled]") || i(this).addClass("fancybox-focus"); break; case "focusout": i(".fancybox-button").removeClass("fancybox-focus"); } }); })(); } })(window, document, jQuery), (function (n) { "use strict"; var r = { youtube: { matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i, params: { autoplay: 1, autohide: 1, fs: 1, rel: 0, hd: 1, wmode: "transparent", enablejsapi: 1, html5: 1, }, paramPlace: 8, type: "iframe", url: "https://www.youtube-nocookie.com/embed/$4", thumb: "https://img.youtube.com/vi/$4/hqdefault.jpg", }, vimeo: { matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/, params: { autoplay: 1, hd: 1, show_title: 1, show_byline: 1, show_portrait: 0, fullscreen: 1, }, paramPlace: 3, type: "iframe", url: "//player.vimeo.com/video/$2", }, instagram: { matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i, type: "image", url: "//$1/p/$2/media/?size=l", }, gmap_place: { matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i, type: "iframe", url: function (n) { return ( "//maps.google." + n[2] + "/?ll=" + (n[9] ? n[9] + "&z=" + Math.floor(n[10]) + (n[12] ? n[12].replace(/^\//, "&") : "") : n[12] + "" ).replace(/\?/, "&") + "&output=" + (n[12] && n[12].indexOf("layer=c") > 0 ? "svembed" : "embed") ); }, }, gmap_search: { matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i, type: "iframe", url: function (n) { return ( "//maps.google." + n[2] + "/maps?q=" + n[5].replace("query=", "q=").replace("api=1", "") + "&output=embed" ); }, }, }, t = function (t, i, r) { if (t) return ( (r = r || ""), "object" === n.type(r) && (r = n.param(r, !0)), n.each(i, function (n, i) { t = t.replace("$" + n, i || ""); }), r.length && (t += (t.indexOf("?") > 0 ? "&" : "?") + r), t ); }, i; n(document).on("objectNeedsType.fb", function (i, u, f) { var v, y, s, c, e, a, l, o = f.src || "", h = !1; v = n.extend(!0, {}, r, f.opts.media); n.each(v, function (i, r) { var u, v; if ((s = o.match(r.matcher))) { if ( ((h = r.type), (l = i), (a = {}), r.paramPlace && s[r.paramPlace]) ) for ( e = s[r.paramPlace], "?" == e[0] && (e = e.substring(1)), e = e.split("&"), u = 0; u < e.length; ++u ) (v = e[u].split("=", 2)), 2 == v.length && (a[v[0]] = decodeURIComponent(v[1].replace(/\+/g, " "))); return ( (c = n.extend(!0, {}, r.params, f.opts[i], a)), (o = "function" === n.type(r.url) ? r.url.call(this, s, c, f) : t(r.url, s, c)), (y = "function" === n.type(r.thumb) ? r.thumb.call(this, s, c, f) : t(r.thumb, s)), "youtube" === i ? (o = o.replace(/&t=((\d+)m)?(\d+)s/, function (n, t, i, r) { return ( "&start=" + ((i ? 60 * parseInt(i, 10) : 0) + parseInt(r, 10)) ); })) : "vimeo" === i && (o = o.replace("&%23", "#")), !1 ); } }); h ? (f.opts.thumb || (f.opts.$thumb && f.opts.$thumb.length) || (f.opts.thumb = y), "iframe" === h && (f.opts = n.extend(!0, f.opts, { iframe: { preload: !1, attr: { scrolling: "no" } }, })), n.extend(f, { type: h, src: o, origSrc: f.src, contentSource: l, contentType: "image" === h ? "image" : "gmap_place" == l || "gmap_search" == l ? "map" : "video", })) : o && (f.type = f.opts.defaultType); }); i = { youtube: { src: "https://www.youtube.com/iframe_api", class: "YT", loading: !1, loaded: !1, }, vimeo: { src: "https://player.vimeo.com/api/player.js", class: "Vimeo", loading: !1, loaded: !1, }, load: function (n) { var t, i = this; if (this[n].loaded) return void setTimeout(function () { i.done(n); }); this[n].loading || ((this[n].loading = !0), (t = document.createElement("script")), (t.type = "text/javascript"), (t.src = this[n].src), "youtube" === n ? (window.onYouTubeIframeAPIReady = function () { i[n].loaded = !0; i.done(n); }) : (t.onload = function () { i[n].loaded = !0; i.done(n); }), document.body.appendChild(t)); }, done: function (t) { var i, r, u; "youtube" === t && delete window.onYouTubeIframeAPIReady; (i = n.fancybox.getInstance()) && ((r = i.current.$content.find("iframe")), "youtube" === t && void 0 !== YT && YT ? (u = new YT.Player(r.attr("id"), { events: { onStateChange: function (n) { 0 == n.data && i.next(); }, }, })) : "vimeo" === t && void 0 !== Vimeo && Vimeo && ((u = new Vimeo.Player(r)), u.on("ended", function () { i.next(); }))); }, }; n(document).on({ "afterShow.fb": function (n, t, r) { t.group.length > 1 && ("youtube" === r.contentSource || "vimeo" === r.contentSource) && i.load(r.contentSource); }, }); })(jQuery), (function (n, t, i) { "use strict"; var o = (function () { return ( n.requestAnimationFrame || n.webkitRequestAnimationFrame || n.mozRequestAnimationFrame || n.oRequestAnimationFrame || function (t) { return n.setTimeout(t, 1e3 / 60); } ); })(), f = (function () { return ( n.cancelAnimationFrame || n.webkitCancelAnimationFrame || n.mozCancelAnimationFrame || n.oCancelAnimationFrame || function (t) { n.clearTimeout(t); } ); })(), e = function (t) { var r = [], i; t = t.originalEvent || t || n.e; t = t.touches && t.touches.length ? t.touches : t.changedTouches && t.changedTouches.length ? t.changedTouches : [t]; for (i in t) t[i].pageX ? r.push({ x: t[i].pageX, y: t[i].pageY }) : t[i].clientX && r.push({ x: t[i].clientX, y: t[i].clientY }); return r; }, u = function (n, t, i) { return t && n ? "x" === i ? n.x - t.x : "y" === i ? n.y - t.y : Math.sqrt(Math.pow(n.x - t.x, 2) + Math.pow(n.y - t.y, 2)) : 0; }, s = function (n) { if ( n.is( 'a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe' ) || i.isFunction(n.get(0).onclick) || n.data("selectable") ) return !0; for (var t = 0, r = n[0].attributes, u = r.length; t < u; t++) if ("data-fancybox-" === r[t].nodeName.substr(0, 14)) return !0; return !1; }, c = function (t) { var i = n.getComputedStyle(t)["overflow-y"], r = n.getComputedStyle(t)["overflow-x"], u = ("scroll" === i || "auto" === i) && t.scrollHeight > t.clientHeight, f = ("scroll" === r || "auto" === r) && t.scrollWidth > t.clientWidth; return u || f; }, h = function (n) { for (var t = !1; ; ) { if ((t = c(n.get(0)))) break; if ( ((n = n.parent()), !n.length || n.hasClass("fancybox-stage") || n.is("body")) ) break; } return t; }, r = function (n) { var t = this; t.instance = n; t.$bg = n.$refs.bg; t.$stage = n.$refs.stage; t.$container = n.$refs.container; t.destroy(); t.$container.on( "touchstart.fb.touch mousedown.fb.touch", i.proxy(t, "ontouchstart") ); }; r.prototype.destroy = function () { var n = this; n.$container.off(".fb.touch"); i(t).off(".fb.touch"); n.requestId && (f(n.requestId), (n.requestId = null)); n.tapped && (clearTimeout(n.tapped), (n.tapped = null)); }; r.prototype.ontouchstart = function (r) { var f = this, o = i(r.target), l = f.instance, c = l.current, a = c.$slide, y = c.$content, v = "touchstart" == r.type; if ( (v && f.$container.off("mousedown.fb.touch"), (!r.originalEvent || 2 != r.originalEvent.button) && a.length && o.length && !s(o) && !s(o.parent()) && (o.is("img") || !(r.originalEvent.clientX > o[0].clientWidth + o.offset().left))) ) { if (!c || l.isAnimating || c.$slide.hasClass("fancybox-animated")) return r.stopPropagation(), void r.preventDefault(); f.realPoints = f.startPoints = e(r); f.startPoints.length && (c.touch && r.stopPropagation(), (f.startEvent = r), (f.canTap = !0), (f.$target = o), (f.$content = y), (f.opts = c.opts.touch), (f.isPanning = !1), (f.isSwiping = !1), (f.isZooming = !1), (f.isScrolling = !1), (f.canPan = l.canPan()), (f.startTime = new Date().getTime()), (f.distanceX = f.distanceY = f.distance = 0), (f.canvasWidth = Math.round(a[0].clientWidth)), (f.canvasHeight = Math.round(a[0].clientHeight)), (f.contentLastPos = null), (f.contentStartPos = i.fancybox.getTranslate(f.$content) || { top: 0, left: 0, }), (f.sliderStartPos = i.fancybox.getTranslate(a)), (f.stagePos = i.fancybox.getTranslate(l.$refs.stage)), (f.sliderStartPos.top -= f.stagePos.top), (f.sliderStartPos.left -= f.stagePos.left), (f.contentStartPos.top -= f.stagePos.top), (f.contentStartPos.left -= f.stagePos.left), i(t) .off(".fb.touch") .on( v ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mouseleave.fb.touch", i.proxy(f, "ontouchend") ) .on( v ? "touchmove.fb.touch" : "mousemove.fb.touch", i.proxy(f, "ontouchmove") ), i.fancybox.isMobile && t.addEventListener("scroll", f.onscroll, !0), (((f.opts || f.canPan) && (o.is(f.$stage) || f.$stage.find(o).length)) || (o.is(".fancybox-image") && r.preventDefault(), i.fancybox.isMobile && o.parents(".fancybox-caption").length)) && ((f.isScrollable = h(o) || h(o.parent())), (i.fancybox.isMobile && f.isScrollable) || r.preventDefault(), (1 === f.startPoints.length || c.hasError) && (f.canPan ? (i.fancybox.stop(f.$content), (f.isPanning = !0)) : (f.isSwiping = !0), f.$container.addClass("fancybox-is-grabbing")), 2 === f.startPoints.length && "image" === c.type && (c.isLoaded || c.$ghost) && ((f.canTap = !1), (f.isSwiping = !1), (f.isPanning = !1), (f.isZooming = !0), i.fancybox.stop(f.$content), (f.centerPointStartX = 0.5 * (f.startPoints[0].x + f.startPoints[1].x) - i(n).scrollLeft()), (f.centerPointStartY = 0.5 * (f.startPoints[0].y + f.startPoints[1].y) - i(n).scrollTop()), (f.percentageOfImageAtPinchPointX = (f.centerPointStartX - f.contentStartPos.left) / f.contentStartPos.width), (f.percentageOfImageAtPinchPointY = (f.centerPointStartY - f.contentStartPos.top) / f.contentStartPos.height), (f.startDistanceBetweenFingers = u( f.startPoints[0], f.startPoints[1] ))))); } }; r.prototype.onscroll = function () { var n = this; n.isScrolling = !0; t.removeEventListener("scroll", n.onscroll, !0); }; r.prototype.ontouchmove = function (n) { var t = this; return void 0 !== n.originalEvent.buttons && 0 === n.originalEvent.buttons ? void t.ontouchend(n) : t.isScrolling ? void (t.canTap = !1) : ((t.newPoints = e(n)), void ( (t.opts || t.canPan) && t.newPoints.length && t.newPoints.length && ((t.isSwiping && !0 === t.isSwiping) || n.preventDefault(), (t.distanceX = u(t.newPoints[0], t.startPoints[0], "x")), (t.distanceY = u(t.newPoints[0], t.startPoints[0], "y")), (t.distance = u(t.newPoints[0], t.startPoints[0])), t.distance > 0 && (t.isSwiping ? t.onSwipe(n) : t.isPanning ? t.onPan() : t.isZooming && t.onZoom())) )); }; r.prototype.onSwipe = function () { var e, t = this, r = t.instance, s = t.isSwiping, u = t.sliderStartPos.left || 0; if (!0 !== s) "x" == s && (t.distanceX > 0 && (t.instance.group.length < 2 || (0 === t.instance.current.index && !t.instance.current.opts.loop)) ? (u += Math.pow(t.distanceX, 0.8)) : t.distanceX < 0 && (t.instance.group.length < 2 || (t.instance.current.index === t.instance.group.length - 1 && !t.instance.current.opts.loop)) ? (u -= Math.pow(-t.distanceX, 0.8)) : (u += t.distanceX)), (t.sliderLastPos = { top: "x" == s ? 0 : t.sliderStartPos.top + t.distanceY, left: u, }), t.requestId && (f(t.requestId), (t.requestId = null)), (t.requestId = o(function () { t.sliderLastPos && (i.each(t.instance.slides, function (n, r) { var u = r.pos - t.instance.currPos; i.fancybox.setTranslate(r.$slide, { top: t.sliderLastPos.top, left: t.sliderLastPos.left + u * t.canvasWidth + u * r.opts.gutter, }); }), t.$container.addClass("fancybox-is-sliding")); })); else if (Math.abs(t.distance) > 10) { if ( ((t.canTap = !1), r.group.length < 2 && t.opts.vertical ? (t.isSwiping = "y") : r.isDragging || !1 === t.opts.vertical || ("auto" === t.opts.vertical && i(n).width() > 800) ? (t.isSwiping = "x") : ((e = Math.abs( (180 * Math.atan2(t.distanceY, t.distanceX)) / Math.PI )), (t.isSwiping = e > 45 && e < 135 ? "y" : "x")), "y" === t.isSwiping && i.fancybox.isMobile && t.isScrollable) ) return void (t.isScrolling = !0); r.isDragging = t.isSwiping; t.startPoints = t.newPoints; i.each(r.slides, function (n, u) { var f, e; i.fancybox.stop(u.$slide); f = i.fancybox.getTranslate(u.$slide); e = i.fancybox.getTranslate(r.$refs.stage); u.$slide .css({ transform: "", opacity: "", "transition-duration": "" }) .removeClass("fancybox-animated") .removeClass(function (n, t) { return (t.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" "); }); u.pos === r.current.pos && ((t.sliderStartPos.top = f.top - e.top), (t.sliderStartPos.left = f.left - e.left)); i.fancybox.setTranslate(u.$slide, { top: f.top - e.top, left: f.left - e.left, }); }); r.SlideShow && r.SlideShow.isActive && r.SlideShow.stop(); } }; r.prototype.onPan = function () { var n = this; if (u(n.newPoints[0], n.realPoints[0]) < (i.fancybox.isMobile ? 10 : 5)) return void (n.startPoints = n.newPoints); n.canTap = !1; n.contentLastPos = n.limitMovement(); n.requestId && f(n.requestId); n.requestId = o(function () { i.fancybox.setTranslate(n.$content, n.contentLastPos); }); }; r.prototype.limitMovement = function () { var f, e, o, s, n, t, i = this, h = i.canvasWidth, v = i.canvasHeight, r = i.distanceX, u = i.distanceY, c = i.contentStartPos, l = c.left, y = c.top, a = c.width, p = c.height; return ( (n = a > h ? l + r : l), (t = y + u), (f = Math.max(0, 0.5 * h - 0.5 * a)), (e = Math.max(0, 0.5 * v - 0.5 * p)), (o = Math.min(h - a, 0.5 * h - 0.5 * a)), (s = Math.min(v - p, 0.5 * v - 0.5 * p)), r > 0 && n > f && (n = f - 1 + Math.pow(-f + l + r, 0.8) || 0), r < 0 && n < o && (n = o + 1 - Math.pow(o - l - r, 0.8) || 0), u > 0 && t > e && (t = e - 1 + Math.pow(-e + y + u, 0.8) || 0), u < 0 && t < s && (t = s + 1 - Math.pow(s - y - u, 0.8) || 0), { top: t, left: n } ); }; r.prototype.limitPosition = function (n, t, i, r) { var e = this, u = e.canvasWidth, f = e.canvasHeight; return ( i > u ? ((n = n > 0 ? 0 : n), (n = n < u - i ? u - i : n)) : (n = Math.max(0, u / 2 - i / 2)), r > f ? ((t = t > 0 ? 0 : t), (t = t < f - r ? f - r : t)) : (t = Math.max(0, f / 2 - r / 2)), { top: t, left: n } ); }; r.prototype.onZoom = function () { var t = this, r = t.contentStartPos, s = r.width, h = r.height, a = r.left, v = r.top, y = u(t.newPoints[0], t.newPoints[1]), e = y / t.startDistanceBetweenFingers, c = Math.floor(s * e), l = Math.floor(h * e), p = (s - c) * t.percentageOfImageAtPinchPointX, w = (h - l) * t.percentageOfImageAtPinchPointY, b = (t.newPoints[0].x + t.newPoints[1].x) / 2 - i(n).scrollLeft(), k = (t.newPoints[0].y + t.newPoints[1].y) / 2 - i(n).scrollTop(), d = b - t.centerPointStartX, g = k - t.centerPointStartY, nt = a + (p + d), tt = v + (w + g), it = { top: tt, left: nt, scaleX: e, scaleY: e }; t.canTap = !1; t.newWidth = c; t.newHeight = l; t.contentLastPos = it; t.requestId && f(t.requestId); t.requestId = o(function () { i.fancybox.setTranslate(t.$content, t.contentLastPos); }); }; r.prototype.ontouchend = function (n) { var r = this, u = r.isSwiping, o = r.isPanning, s = r.isZooming, h = r.isScrolling; if ( ((r.endPoints = e(n)), (r.dMs = Math.max(new Date().getTime() - r.startTime, 1)), r.$container.removeClass("fancybox-is-grabbing"), i(t).off(".fb.touch"), t.removeEventListener("scroll", r.onscroll, !0), r.requestId && (f(r.requestId), (r.requestId = null)), (r.isSwiping = !1), (r.isPanning = !1), (r.isZooming = !1), (r.isScrolling = !1), (r.instance.isDragging = !1), r.canTap) ) return r.onTap(n); r.speed = 100; r.velocityX = (r.distanceX / r.dMs) * 0.5; r.velocityY = (r.distanceY / r.dMs) * 0.5; o ? r.endPanning() : s ? r.endZooming() : r.endSwiping(u, h); }; r.prototype.endSwiping = function (n, t) { var r = this, u = !1, o = r.instance.group.length, f = Math.abs(r.distanceX), e = "x" == n && o > 1 && ((r.dMs > 130 && f > 10) || f > 50); r.sliderLastPos = null; "y" == n && !t && Math.abs(r.distanceY) > 50 ? (i.fancybox.animate( r.instance.current.$slide, { top: r.sliderStartPos.top + r.distanceY + 150 * r.velocityY, opacity: 0, }, 200 ), (u = r.instance.close(!0, 250))) : e && r.distanceX > 0 ? (u = r.instance.previous(300)) : e && r.distanceX < 0 && (u = r.instance.next(300)); !1 !== u || ("x" != n && "y" != n) || r.instance.centerSlide(200); r.$container.removeClass("fancybox-is-sliding"); }; r.prototype.endPanning = function () { var r, u, t, n = this; n.contentLastPos && (!1 === n.opts.momentum || n.dMs > 350 ? ((r = n.contentLastPos.left), (u = n.contentLastPos.top)) : ((r = n.contentLastPos.left + 500 * n.velocityX), (u = n.contentLastPos.top + 500 * n.velocityY)), (t = n.limitPosition( r, u, n.contentStartPos.width, n.contentStartPos.height )), (t.width = n.contentStartPos.width), (t.height = n.contentStartPos.height), i.fancybox.animate(n.$content, t, 366)); }; r.prototype.endZooming = function () { var u, f, e, o, n = this, s = n.instance.current, t = n.newWidth, r = n.newHeight; n.contentLastPos && ((u = n.contentLastPos.left), (f = n.contentLastPos.top), (o = { top: f, left: u, width: t, height: r, scaleX: 1, scaleY: 1 }), i.fancybox.setTranslate(n.$content, o), t < n.canvasWidth && r < n.canvasHeight ? n.instance.scaleToFit(150) : t > s.width || r > s.height ? n.instance.scaleToActual( n.centerPointStartX, n.centerPointStartY, 150 ) : ((e = n.limitPosition(u, f, t, r)), i.fancybox.animate(n.$content, e, 150))); }; r.prototype.onTap = function (t) { var f, u = this, s = i(t.target), r = u.instance, o = r.current, h = (t && e(t)) || u.startPoints, c = h[0] ? h[0].x - i(n).scrollLeft() - u.stagePos.left : 0, l = h[0] ? h[0].y - i(n).scrollTop() - u.stagePos.top : 0, a = function (n) { var f = o.opts[n]; if ((i.isFunction(f) && (f = f.apply(r, [o, t])), f)) switch (f) { case "close": r.close(u.startEvent); break; case "toggleControls": r.toggleControls(); break; case "next": r.next(); break; case "nextOrClose": r.group.length > 1 ? r.next() : r.close(u.startEvent); break; case "zoom": "image" == o.type && (o.isLoaded || o.$ghost) && (r.canPan() ? r.scaleToFit() : r.isScaledDown() ? r.scaleToActual(c, l) : r.group.length < 2 && r.close(u.startEvent)); } }; if ( (!t.originalEvent || 2 != t.originalEvent.button) && (s.is("img") || !(c > s[0].clientWidth + s.offset().left)) ) { if ( s.is( ".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container" ) ) f = "Outside"; else if (s.is(".fancybox-slide")) f = "Slide"; else { if ( !r.current.$content || !r.current.$content.find(s).addBack().filter(s).length ) return; f = "Content"; } if (u.tapped) { if ( (clearTimeout(u.tapped), (u.tapped = null), Math.abs(c - u.tapX) > 50 || Math.abs(l - u.tapY) > 50) ) return this; a("dblclick" + f); } else (u.tapX = c), (u.tapY = l), o.opts["dblclick" + f] && o.opts["dblclick" + f] !== o.opts["click" + f] ? (u.tapped = setTimeout(function () { u.tapped = null; r.isAnimating || a("click" + f); }, 500)) : a("click" + f); return this; } }; i(t) .on("onActivate.fb", function (n, t) { t && !t.Guestures && (t.Guestures = new r(t)); }) .on("beforeClose.fb", function (n, t) { t && t.Guestures && t.Guestures.destroy(); }); })(window, document, jQuery), (function (n, t) { "use strict"; t.extend(!0, t.fancybox.defaults, { btnTpl: { slideShow: '', }, slideShow: { autoStart: !1, speed: 3e3, progress: !0 }, }); var i = function (n) { this.instance = n; this.init(); }; t.extend(i.prototype, { timer: null, isActive: !1, $button: null, init: function () { var n = this, i = n.instance, r = i.group[i.currIndex].opts.slideShow; n.$button = i.$refs.toolbar .find("[data-fancybox-play]") .on("click", function () { n.toggle(); }); i.group.length < 2 || !r ? n.$button.hide() : r.progress && (n.$progress = t('
    ').appendTo( i.$refs.inner )); }, set: function (n) { var r = this, i = r.instance, u = i.current; u && (!0 === n || u.opts.loop || i.currIndex < i.group.length - 1) ? r.isActive && "video" !== u.contentType && (r.$progress && t.fancybox.animate( r.$progress.show(), { scaleX: 1 }, u.opts.slideShow.speed ), (r.timer = setTimeout(function () { i.current.opts.loop || i.current.index != i.group.length - 1 ? i.next() : i.jumpTo(0); }, u.opts.slideShow.speed))) : (r.stop(), (i.idleSecondsCounter = 0), i.showControls()); }, clear: function () { var n = this; clearTimeout(n.timer); n.timer = null; n.$progress && n.$progress.removeAttr("style").hide(); }, start: function () { var n = this, t = n.instance.current; t && (n.$button .attr( "title", (t.opts.i18n[t.opts.lang] || t.opts.i18n.en).PLAY_STOP ) .removeClass("fancybox-button--play") .addClass("fancybox-button--pause"), (n.isActive = !0), t.isComplete && n.set(!0), n.instance.trigger("onSlideShowChange", !0)); }, stop: function () { var n = this, t = n.instance.current; n.clear(); n.$button .attr( "title", (t.opts.i18n[t.opts.lang] || t.opts.i18n.en).PLAY_START ) .removeClass("fancybox-button--pause") .addClass("fancybox-button--play"); n.isActive = !1; n.instance.trigger("onSlideShowChange", !1); n.$progress && n.$progress.removeAttr("style").hide(); }, toggle: function () { var n = this; n.isActive ? n.stop() : n.start(); }, }); t(n).on({ "onInit.fb": function (n, t) { t && !t.SlideShow && (t.SlideShow = new i(t)); }, "beforeShow.fb": function (n, t, i, r) { var u = t && t.SlideShow; r ? u && i.opts.slideShow.autoStart && u.start() : u && u.isActive && u.clear(); }, "afterShow.fb": function (n, t) { var i = t && t.SlideShow; i && i.isActive && i.set(); }, "afterKeydown.fb": function (i, r, u, f, e) { var o = r && r.SlideShow; o && u.opts.slideShow && (80 === e || 32 === e) && !t(n.activeElement).is("button,a,input") && (f.preventDefault(), o.toggle()); }, "beforeClose.fb onDeactivate.fb": function (n, t) { var i = t && t.SlideShow; i && i.stop(); }, }); t(n).on("visibilitychange", function () { var r = t.fancybox.getInstance(), i = r && r.SlideShow; i && i.isActive && (n.hidden ? i.clear() : i.set()); }); })(document, jQuery), (function (n, t) { "use strict"; var i = (function () { for ( var t, i, r = [ [ "requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror", ], [ "webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror", ], [ "webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitfullscreenerror", ], [ "mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror", ], [ "msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError", ], ], f = {}, u = 0; u < r.length; u++ ) if (((t = r[u]), t && t[1] in n)) { for (i = 0; i < t.length; i++) f[r[0][i]] = t[i]; return f; } return !1; })(), r; i && ((r = { request: function (t) { t = t || n.documentElement; t[i.requestFullscreen](t.ALLOW_KEYBOARD_INPUT); }, exit: function () { n[i.exitFullscreen](); }, toggle: function (t) { t = t || n.documentElement; this.isFullscreen() ? this.exit() : this.request(t); }, isFullscreen: function () { return Boolean(n[i.fullscreenElement]); }, enabled: function () { return Boolean(n[i.fullscreenEnabled]); }, }), t.extend(!0, t.fancybox.defaults, { btnTpl: { fullScreen: '', }, fullScreen: { autoStart: !1 }, }), t(n).on(i.fullscreenchange, function () { var i = r.isFullscreen(), n = t.fancybox.getInstance(); n && (n.current && "image" === n.current.type && n.isAnimating && ((n.isAnimating = !1), n.update(!0, !0, 0), n.isComplete || n.complete()), n.trigger("onFullscreenChange", i), n.$refs.container.toggleClass("fancybox-is-fullscreen", i), n.$refs.toolbar .find("[data-fancybox-fullscreen]") .toggleClass("fancybox-button--fsenter", !i) .toggleClass("fancybox-button--fsexit", i)); })); t(n).on({ "onInit.fb": function (n, t) { var u; if (!i) return void t.$refs.toolbar .find("[data-fancybox-fullscreen]") .remove(); t && t.group[t.currIndex].opts.fullScreen ? ((u = t.$refs.container), u.on( "click.fb-fullscreen", "[data-fancybox-fullscreen]", function (n) { n.stopPropagation(); n.preventDefault(); r.toggle(); } ), t.opts.fullScreen && !0 === t.opts.fullScreen.autoStart && r.request(), (t.FullScreen = r)) : t && t.$refs.toolbar.find("[data-fancybox-fullscreen]").hide(); }, "afterKeydown.fb": function (n, t, i, r, u) { t && t.FullScreen && 70 === u && (r.preventDefault(), t.FullScreen.toggle()); }, "beforeClose.fb": function (n, t) { t && t.FullScreen && t.$refs.container.hasClass("fancybox-is-fullscreen") && r.exit(); }, }); })(document, jQuery), (function (n, t) { "use strict"; var i = "fancybox-thumbs", r; t.fancybox.defaults = t.extend( !0, { btnTpl: { thumbs: '', }, thumbs: { autoStart: !1, hideOnClose: !0, parentEl: ".fancybox-container", axis: "y", }, }, t.fancybox.defaults ); r = function (n) { this.init(n); }; t.extend(r.prototype, { $button: null, $grid: null, $list: null, isVisible: !1, isActive: !1, init: function (n) { var t = this, r = n.group, u = 0, i, f; for ( t.instance = n, t.opts = r[n.currIndex].opts.thumbs, n.Thumbs = t, t.$button = n.$refs.toolbar.find("[data-fancybox-thumbs]"), i = 0, f = r.length; i < f && (r[i].thumb && u++, !(u > 1)); i++ ); u > 1 && t.opts ? (t.$button.removeAttr("style").on("click", function () { t.toggle(); }), (t.isActive = !0)) : t.$button.hide(); }, create: function () { var r, n = this, u = n.instance, f = n.opts.parentEl, e = []; n.$grid || ((n.$grid = t( '
    ' ).appendTo(u.$refs.container.find(f).addBack().filter(f))), n.$grid.on("click", "a", function () { u.jumpTo(t(this).attr("data-index")); })); n.$list || (n.$list = t('
    ').appendTo(n.$grid)); t.each(u.group, function (n, t) { r = t.thumb; r || "image" !== t.type || (r = t.src); e.push( '" ); }); n.$list[0].innerHTML = e.join(""); "x" === n.opts.axis && n.$list.width( parseInt(n.$grid.css("padding-right"), 10) + u.group.length * n.$list.children().eq(0).outerWidth(!0) ); }, focus: function (n) { var u, t, i = this, r = i.$list, f = i.$grid; i.instance.current && ((u = r .children() .removeClass("fancybox-thumbs-active") .filter('[data-index="' + i.instance.current.index + '"]') .addClass("fancybox-thumbs-active")), (t = u.position()), "y" === i.opts.axis && (t.top < 0 || t.top > r.height() - u.outerHeight()) ? r.stop().animate({ scrollTop: r.scrollTop() + t.top }, n) : "x" === i.opts.axis && (t.left < f.scrollLeft() || t.left > f.scrollLeft() + (f.width() - u.outerWidth())) && r.parent().stop().animate({ scrollLeft: t.left }, n)); }, update: function () { var n = this; n.instance.$refs.container.toggleClass( "fancybox-show-thumbs", this.isVisible ); n.isVisible ? (n.$grid || n.create(), n.instance.trigger("onThumbsShow"), n.focus(0)) : n.$grid && n.instance.trigger("onThumbsHide"); n.instance.update(); }, hide: function () { this.isVisible = !1; this.update(); }, show: function () { this.isVisible = !0; this.update(); }, toggle: function () { this.isVisible = !this.isVisible; this.update(); }, }); t(n).on({ "onInit.fb": function (n, t) { var i; t && !t.Thumbs && ((i = new r(t)), i.isActive && !0 === i.opts.autoStart && i.show()); }, "beforeShow.fb": function (n, t, i, r) { var u = t && t.Thumbs; u && u.isVisible && u.focus(r ? 0 : 250); }, "afterKeydown.fb": function (n, t, i, r, u) { var f = t && t.Thumbs; f && f.isActive && 71 === u && (r.preventDefault(), f.toggle()); }, "beforeClose.fb": function (n, t) { var i = t && t.Thumbs; i && i.isVisible && !1 !== i.opts.hideOnClose && i.$grid.hide(); }, }); })(document, jQuery), (function (n, t) { "use strict"; function i(n) { var t = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'", "/": "/", "`": "`", "=": "=", }; return String(n).replace(/[&<>"'`=\/]/g, function (n) { return t[n]; }); } t.extend(!0, t.fancybox.defaults, { btnTpl: { share: '', }, share: { url: function (n, t) { return ( (!n.currentHash && "inline" !== t.type && "html" !== t.type && (t.origSrc || t.src)) || window.location ); }, tpl: '', }, }); t(n).on("click", "[data-fancybox-share]", function () { var u, f, r = t.fancybox.getInstance(), n = r.current || null; n && ("function" === t.type(n.opts.share.url) && (u = n.opts.share.url.apply(n, [r, n])), (f = n.opts.share.tpl .replace( /\{\{media\}\}/g, "image" === n.type ? encodeURIComponent(n.src) : "" ) .replace(/\{\{url\}\}/g, encodeURIComponent(u)) .replace(/\{\{url_raw\}\}/g, i(u)) .replace( /\{\{descr\}\}/g, r.$caption ? encodeURIComponent(r.$caption.text()) : "" )), t.fancybox.open({ src: r.translate(r, f), type: "html", opts: { touch: !1, animationEffect: !1, afterLoad: function (n, t) { r.$refs.container.one("beforeClose.fb", function () { n.close(null, 0); }); t.$content.find(".fancybox-share__button").click(function () { return ( window.open(this.href, "Share", "width=550, height=450"), !1 ); }); }, mobile: { autoFocus: !1 }, }, })); }); })(document, jQuery), (function (n, t, i) { "use strict"; function r() { var i = n.location.hash.substr(1), t = i.split("-"), r = t.length > 1 && /^\+?\d+$/.test(t[t.length - 1]) ? parseInt(t.pop(-1), 10) || 1 : 1, u = t.join("-"); return { hash: i, index: r < 1 ? 1 : r, gallery: u }; } function u(n) { "" !== n.gallery && i("[data-fancybox='" + i.escapeSelector(n.gallery) + "']") .eq(n.index - 1) .focus() .trigger("click.fb-start"); } function f(n) { var t, i; return ( !!n && ((t = n.current ? n.current.opts : n.opts), "" !== (i = t.hash || (t.$orig ? t.$orig.data("fancybox") || t.$orig.data("fancybox-trigger") : "")) && i) ); } i.escapeSelector || (i.escapeSelector = function (n) { return (n + "").replace( /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, function (n, t) { return t ? "\0" === n ? "�" : n.slice(0, -1) + "\\" + n.charCodeAt(n.length - 1).toString(16) + " " : "\\" + n; } ); }); i(function () { !1 !== i.fancybox.defaults.hash && (i(t).on({ "onInit.fb": function (n, t) { var i, u; !1 !== t.group[t.currIndex].opts.hash && ((i = r()), (u = f(t)) && i.gallery && u == i.gallery && (t.currIndex = i.index - 1)); }, "beforeShow.fb": function (i, r, u, e) { var o; u && !1 !== u.opts.hash && (o = f(r)) && ((r.currentHash = o + (r.group.length > 1 ? "-" + (u.index + 1) : "")), n.location.hash !== "#" + r.currentHash && (e && !r.origHash && (r.origHash = n.location.hash), r.hashTimer && clearTimeout(r.hashTimer), (r.hashTimer = setTimeout(function () { "replaceState" in n.history ? (n.history[e ? "pushState" : "replaceState"]( {}, t.title, n.location.pathname + n.location.search + "#" + r.currentHash ), e && (r.hasCreatedHistory = !0)) : (n.location.hash = r.currentHash); r.hashTimer = null; }, 300)))); }, "beforeClose.fb": function (i, r, u) { u && !1 !== u.opts.hash && (clearTimeout(r.hashTimer), r.currentHash && r.hasCreatedHistory ? n.history.back() : r.currentHash && ("replaceState" in n.history ? n.history.replaceState( {}, t.title, n.location.pathname + n.location.search + (r.origHash || "") ) : (n.location.hash = r.origHash)), (r.currentHash = null)); }, }), i(n).on("hashchange.fb", function () { var n = r(), t = null; i.each(i(".fancybox-container").get().reverse(), function (n, r) { var u = i(r).data("FancyBox"); if (u && u.currentHash) return (t = u), !1; }); t ? t.currentHash === n.gallery + "-" + n.index || (1 === n.index && t.currentHash == n.gallery) || ((t.currentHash = null), t.close()) : "" !== n.gallery && u(n); }), setTimeout(function () { i.fancybox.getInstance() || u(r()); }, 50)); }); })(window, document, jQuery), (function (n, t) { "use strict"; var i = new Date().getTime(); t(n).on({ "onInit.fb": function (n, t) { t.$refs.stage.on( "mousewheel DOMMouseScroll wheel MozMousePixelScroll", function (n) { var r = t.current, u = new Date().getTime(); t.group.length < 2 || !1 === r.opts.wheel || ("auto" === r.opts.wheel && "image" !== r.type) || (n.preventDefault(), n.stopPropagation(), r.$slide.hasClass("fancybox-animated") || ((n = n.originalEvent || n), u - i < 250 || ((i = u), t[ (-n.deltaY || -n.deltaX || n.wheelDelta || -n.detail) < 0 ? "next" : "previous" ]()))); } ); }, }); })(document, jQuery); !(function (n, t, i, r) { function u(t, i) { this.settings = null; this.options = n.extend({}, u.Defaults, i); this.$element = n(t); this._handlers = {}; this._plugins = {}; this._supress = {}; this._current = null; this._speed = null; this._coordinates = []; this._breakpoint = null; this._width = null; this._items = []; this._clones = []; this._mergers = []; this._widths = []; this._invalidated = {}; this._pipe = []; this._drag = { time: null, target: null, pointer: null, stage: { start: null, current: null }, direction: null, }; this._states = { current: {}, tags: { initializing: ["busy"], animating: ["busy"], dragging: ["interacting"], }, }; n.each( ["onResize", "onThrottledResize"], n.proxy(function (t, i) { this._handlers[i] = n.proxy(this[i], this); }, this) ); n.each( u.Plugins, n.proxy(function (n, t) { this._plugins[n.charAt(0).toLowerCase() + n.slice(1)] = new t(this); }, this) ); n.each( u.Workers, n.proxy(function (t, i) { this._pipe.push({ filter: i.filter, run: n.proxy(i.run, this) }); }, this) ); this.setup(); this.initialize(); } u.Defaults = { items: 3, loop: !1, center: !1, rewind: !1, mouseDrag: !0, touchDrag: !0, pullDrag: !0, freeDrag: !1, margin: 0, stagePadding: 0, merge: !1, mergeFit: !0, autoWidth: !1, startPosition: 0, rtl: !1, smartSpeed: 250, fluidSpeed: !1, dragEndSpeed: !1, responsive: {}, responsiveRefreshRate: 200, responsiveBaseElement: t, fallbackEasing: "swing", info: !1, nestedItemSelector: !1, itemElement: "div", stageElement: "div", refreshClass: "owl-refresh", loadedClass: "owl-loaded", loadingClass: "owl-loading", rtlClass: "owl-rtl", responsiveClass: "owl-responsive", dragClass: "owl-drag", itemClass: "owl-item", stageClass: "owl-stage", stageOuterClass: "owl-stage-outer", grabClass: "owl-grab", }; u.Width = { Default: "default", Inner: "inner", Outer: "outer" }; u.Type = { Event: "event", State: "state" }; u.Plugins = {}; u.Workers = [ { filter: ["width", "settings"], run: function () { this._width = this.$element.width(); }, }, { filter: ["width", "items", "settings"], run: function (n) { n.current = this._items && this._items[this.relative(this._current)]; }, }, { filter: ["items", "settings"], run: function () { this.$stage.children(".cloned").remove(); }, }, { filter: ["width", "items", "settings"], run: function (n) { var t = this.settings.margin || "", u = !this.settings.autoWidth, i = this.settings.rtl, r = { width: "auto", "margin-left": i ? t : "", "margin-right": i ? "" : t, }; u || this.$stage.children().css(r); n.css = r; }, }, { filter: ["width", "items", "settings"], run: function (n) { var r = (this.width() / this.settings.items).toFixed(3) - this.settings.margin, t = null, i = this._items.length, f = !this.settings.autoWidth, u = []; for (n.items = { merge: !1, width: r }; i--; ) (t = this._mergers[i]), (t = (this.settings.mergeFit && Math.min(t, this.settings.items)) || t), (n.items.merge = t > 1 || n.items.merge), (u[i] = f ? r * t : this._items[i].width()); this._widths = u; }, }, { filter: ["items", "settings"], run: function () { var t = [], i = this._items, r = this.settings, f = Math.max(2 * r.items, 4), s = 2 * Math.ceil(i.length / 2), e = r.loop && i.length ? (r.rewind ? f : Math.max(f, s)) : 0, o = "", u = ""; for (e /= 2; e--; ) t.push(this.normalize(t.length / 2, !0)), (o += i[t[t.length - 1]][0].outerHTML), t.push(this.normalize(i.length - 1 - (t.length - 1) / 2, !0)), (u = i[t[t.length - 1]][0].outerHTML + u); this._clones = t; n(o).addClass("cloned").appendTo(this.$stage); n(u).addClass("cloned").prependTo(this.$stage); }, }, { filter: ["width", "items", "settings"], run: function () { for ( var u = this.settings.rtl ? 1 : -1, f = this._clones.length + this._items.length, n = -1, i = 0, r = 0, t = []; ++n < f; ) (i = t[n - 1] || 0), (r = this._widths[this.relative(n)] + this.settings.margin), t.push(i + r * u); this._coordinates = t; }, }, { filter: ["width", "items", "settings"], run: function () { var n = this.settings.stagePadding, t = this._coordinates, i = { width: Math.ceil(Math.abs(t[t.length - 1])) + 2 * n, "padding-left": n || "", "padding-right": n || "", }; this.$stage.css(i); }, }, { filter: ["width", "items", "settings"], run: function (n) { var t = this._coordinates.length, i = !this.settings.autoWidth, r = this.$stage.children(); if (i && n.items.merge) for (; t--; ) (n.css.width = this._widths[this.relative(t)]), r.eq(t).css(n.css); else i && ((n.css.width = n.items.width), r.css(n.css)); }, }, { filter: ["items"], run: function () { this._coordinates.length < 1 && this.$stage.removeAttr("style"); }, }, { filter: ["width", "items", "settings"], run: function (n) { n.current = n.current ? this.$stage.children().index(n.current) : 0; n.current = Math.max( this.minimum(), Math.min(this.maximum(), n.current) ); this.reset(n.current); }, }, { filter: ["position"], run: function () { this.animate(this.coordinates(this._current)); }, }, { filter: ["width", "position", "items", "settings"], run: function () { for ( var t, i, f = this.settings.rtl ? 1 : -1, e = 2 * this.settings.stagePadding, r = this.coordinates(this.current()) + e, o = r + this.width() * f, s = [], n = 0, u = this._coordinates.length; n < u; n++ ) (t = this._coordinates[n - 1] || 0), (i = Math.abs(this._coordinates[n]) + e * f), ((this.op(t, "<=", r) && this.op(t, ">", o)) || (this.op(i, "<", r) && this.op(i, ">", o))) && s.push(n); this.$stage.children(".active").removeClass("active"); this.$stage .children(":eq(" + s.join("), :eq(") + ")") .addClass("active"); this.settings.center && (this.$stage.children(".center").removeClass("center"), this.$stage.children().eq(this.current()).addClass("center")); }, }, ]; u.prototype.initialize = function () { if ( (this.enter("initializing"), this.trigger("initialize"), this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl), this.settings.autoWidth && !this.is("pre-loading")) ) { var t, i, u; t = this.$element.find("img"); i = this.settings.nestedItemSelector ? "." + this.settings.nestedItemSelector : r; u = this.$element.children(i).width(); t.length && u <= 0 && this.preloadAutoWidthImages(t); } this.$element.addClass(this.options.loadingClass); this.$stage = n( "<" + this.settings.stageElement + ' class="' + this.settings.stageClass + '"/>' ).wrap('
    '); this.$element.append(this.$stage.parent()); this.replace(this.$element.children().not(this.$stage.parent())); this.$element.is(":visible") ? this.refresh() : this.invalidate("width"); this.$element .removeClass(this.options.loadingClass) .addClass(this.options.loadedClass); this.registerEventHandlers(); this.leave("initializing"); this.trigger("initialized"); }; u.prototype.setup = function () { var u = this.viewport(), r = this.options.responsive, i = -1, t = null; r ? (n.each(r, function (n) { n <= u && n > i && (i = Number(n)); }), (t = n.extend({}, this.options, r[i])), "function" == typeof t.stagePadding && (t.stagePadding = t.stagePadding()), delete t.responsive, t.responsiveClass && this.$element.attr( "class", this.$element .attr("class") .replace( new RegExp( "(" + this.options.responsiveClass + "-)\\S+\\s", "g" ), "$1" + i ) )) : (t = n.extend({}, this.options)); this.trigger("change", { property: { name: "settings", value: t } }); this._breakpoint = i; this.settings = t; this.invalidate("settings"); this.trigger("changed", { property: { name: "settings", value: this.settings }, }); }; u.prototype.optionsLogic = function () { this.settings.autoWidth && ((this.settings.stagePadding = !1), (this.settings.merge = !1)); }; u.prototype.prepare = function (t) { var i = this.trigger("prepare", { content: t }); return ( i.data || (i.data = n("<" + this.settings.itemElement + "/>") .addClass(this.options.itemClass) .append(t)), this.trigger("prepared", { content: i.data }), i.data ); }; u.prototype.update = function () { for ( var t = 0, i = this._pipe.length, r = n.proxy(function (n) { return this[n]; }, this._invalidated), u = {}; t < i; ) (this._invalidated.all || n.grep(this._pipe[t].filter, r).length > 0) && this._pipe[t].run(u), t++; this._invalidated = {}; this.is("valid") || this.enter("valid"); }; u.prototype.width = function (n) { switch ((n = n || u.Width.Default)) { case u.Width.Inner: case u.Width.Outer: return this._width; default: return ( this._width - 2 * this.settings.stagePadding + this.settings.margin ); } }; u.prototype.refresh = function () { this.enter("refreshing"); this.trigger("refresh"); this.setup(); this.optionsLogic(); this.$element.addClass(this.options.refreshClass); this.update(); this.$element.removeClass(this.options.refreshClass); this.leave("refreshing"); this.trigger("refreshed"); }; u.prototype.onThrottledResize = function () { t.clearTimeout(this.resizeTimer); this.resizeTimer = t.setTimeout( this._handlers.onResize, this.settings.responsiveRefreshRate ); }; u.prototype.onResize = function () { return ( !!this._items.length && this._width !== this.$element.width() && !!this.$element.is(":visible") && (this.enter("resizing"), this.trigger("resize").isDefaultPrevented() ? (this.leave("resizing"), !1) : (this.invalidate("width"), this.refresh(), this.leave("resizing"), void this.trigger("resized"))) ); }; u.prototype.registerEventHandlers = function () { n.support.transition && this.$stage.on( n.support.transition.end + ".owl.core", n.proxy(this.onTransitionEnd, this) ); this.settings.responsive !== !1 && this.on(t, "resize", this._handlers.onThrottledResize); this.settings.mouseDrag && (this.$element.addClass(this.options.dragClass), this.$stage.on("mousedown.owl.core", n.proxy(this.onDragStart, this)), this.$stage.on("dragstart.owl.core selectstart.owl.core", function () { return !1; })); this.settings.touchDrag && (this.$stage.on("touchstart.owl.core", n.proxy(this.onDragStart, this)), this.$stage.on("touchcancel.owl.core", n.proxy(this.onDragEnd, this))); }; u.prototype.onDragStart = function (t) { var r = null; 3 !== t.which && (n.support.transform ? ((r = this.$stage .css("transform") .replace(/.*\(|\)| /g, "") .split(",")), (r = { x: r[16 === r.length ? 12 : 4], y: r[16 === r.length ? 13 : 5], })) : ((r = this.$stage.position()), (r = { x: this.settings.rtl ? r.left + this.$stage.width() - this.width() + this.settings.margin : r.left, y: r.top, })), this.is("animating") && (n.support.transform ? this.animate(r.x) : this.$stage.stop(), this.invalidate("position")), this.$element.toggleClass(this.options.grabClass, "mousedown" === t.type), this.speed(0), (this._drag.time = new Date().getTime()), (this._drag.target = n(t.target)), (this._drag.stage.start = r), (this._drag.stage.current = r), (this._drag.pointer = this.pointer(t)), n(i).on( "mouseup.owl.core touchend.owl.core", n.proxy(this.onDragEnd, this) ), n(i).one( "mousemove.owl.core touchmove.owl.core", n.proxy(function (t) { var r = this.difference(this._drag.pointer, this.pointer(t)); n(i).on( "mousemove.owl.core touchmove.owl.core", n.proxy(this.onDragMove, this) ); (Math.abs(r.x) < Math.abs(r.y) && this.is("valid")) || (t.preventDefault(), this.enter("dragging"), this.trigger("drag")); }, this) )); }; u.prototype.onDragMove = function (n) { var t = null, i = null, u = null, f = this.difference(this._drag.pointer, this.pointer(n)), r = this.difference(this._drag.stage.start, f); this.is("dragging") && (n.preventDefault(), this.settings.loop ? ((t = this.coordinates(this.minimum())), (i = this.coordinates(this.maximum() + 1) - t), (r.x = ((((r.x - t) % i) + i) % i) + t)) : ((t = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum())), (i = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum())), (u = this.settings.pullDrag ? f.x / -5 : 0), (r.x = Math.max(Math.min(r.x, t + u), i + u))), (this._drag.stage.current = r), this.animate(r.x)); }; u.prototype.onDragEnd = function (t) { var r = this.difference(this._drag.pointer, this.pointer(t)), f = this._drag.stage.current, u = (r.x > 0) ^ this.settings.rtl ? "left" : "right"; n(i).off(".owl.core"); this.$element.removeClass(this.options.grabClass); ((0 !== r.x && this.is("dragging")) || !this.is("valid")) && (this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed), this.current(this.closest(f.x, 0 !== r.x ? u : this._drag.direction)), this.invalidate("position"), this.update(), (this._drag.direction = u), (Math.abs(r.x) > 3 || new Date().getTime() - this._drag.time > 300) && this._drag.target.one("click.owl.core", function () { return !1; })); this.is("dragging") && (this.leave("dragging"), this.trigger("dragged")); }; u.prototype.closest = function (t, i) { var r = -1, u = 30, e = this.width(), f = this.coordinates(); return ( this.settings.freeDrag || n.each( f, n.proxy(function (n, o) { return ( "left" === i && t > o - u && t < o + u ? (r = n) : "right" === i && t > o - e - u && t < o - e + u ? (r = n + 1) : this.op(t, "<", o) && this.op(t, ">", f[n + 1] || o - e) && (r = "left" === i ? n + 1 : n), r === -1 ); }, this) ), this.settings.loop || (this.op(t, ">", f[this.minimum()]) ? (r = t = this.minimum()) : this.op(t, "<", f[this.maximum()]) && (r = t = this.maximum())), r ); }; u.prototype.animate = function (t) { var i = this.speed() > 0; this.is("animating") && this.onTransitionEnd(); i && (this.enter("animating"), this.trigger("translate")); n.support.transform3d && n.support.transition ? this.$stage.css({ transform: "translate3d(" + t + "px,0px,0px)", transition: this.speed() / 1e3 + "s", }) : i ? this.$stage.animate( { left: t + "px" }, this.speed(), this.settings.fallbackEasing, n.proxy(this.onTransitionEnd, this) ) : this.$stage.css({ left: t + "px" }); }; u.prototype.is = function (n) { return this._states.current[n] && this._states.current[n] > 0; }; u.prototype.current = function (n) { if (n === r) return this._current; if (0 === this._items.length) return r; if (((n = this.normalize(n)), this._current !== n)) { var t = this.trigger("change", { property: { name: "position", value: n }, }); t.data !== r && (n = this.normalize(t.data)); this._current = n; this.invalidate("position"); this.trigger("changed", { property: { name: "position", value: this._current }, }); } return this._current; }; u.prototype.invalidate = function (t) { return ( "string" === n.type(t) && ((this._invalidated[t] = !0), this.is("valid") && this.leave("valid")), n.map(this._invalidated, function (n, t) { return t; }) ); }; u.prototype.reset = function (n) { n = this.normalize(n); n !== r && ((this._speed = 0), (this._current = n), this.suppress(["translate", "translated"]), this.animate(this.coordinates(n)), this.release(["translate", "translated"])); }; u.prototype.normalize = function (n, t) { var i = this._items.length, u = t ? 0 : this._clones.length; return ( !this.isNumeric(n) || i < 1 ? (n = r) : (n < 0 || n >= i + u) && (n = ((((n - u / 2) % i) + i) % i) + u / 2), n ); }; u.prototype.relative = function (n) { return (n -= this._clones.length / 2), this.normalize(n, !0); }; u.prototype.maximum = function (n) { var t, u, f, i = this.settings, r = this._coordinates.length; if (i.loop) r = this._clones.length / 2 + this._items.length - 1; else if (i.autoWidth || i.merge) { for ( t = this._items.length, u = this._items[--t].width(), f = this.$element.width(); t-- && ((u += this._items[t].width() + this.settings.margin), !(u > f)); ); r = t + 1; } else r = i.center ? this._items.length - 1 : this._items.length - i.items; return n && (r -= this._clones.length / 2), Math.max(r, 0); }; u.prototype.minimum = function (n) { return n ? 0 : this._clones.length / 2; }; u.prototype.items = function (n) { return n === r ? this._items.slice() : ((n = this.normalize(n, !0)), this._items[n]); }; u.prototype.mergers = function (n) { return n === r ? this._mergers.slice() : ((n = this.normalize(n, !0)), this._mergers[n]); }; u.prototype.clones = function (t) { var i = this._clones.length / 2, f = i + this._items.length, u = function (n) { return n % 2 == 0 ? f + n / 2 : i - (n + 1) / 2; }; return t === r ? n.map(this._clones, function (n, t) { return u(t); }) : n.map(this._clones, function (n, i) { return n === t ? u(i) : null; }); }; u.prototype.speed = function (n) { return n !== r && (this._speed = n), this._speed; }; u.prototype.coordinates = function (t) { var i, f = 1, u = t - 1; return t === r ? n.map( this._coordinates, n.proxy(function (n, t) { return this.coordinates(t); }, this) ) : (this.settings.center ? (this.settings.rtl && ((f = -1), (u = t + 1)), (i = this._coordinates[t]), (i += ((this.width() - i + (this._coordinates[u] || 0)) / 2) * f)) : (i = this._coordinates[u] || 0), (i = Math.ceil(i))); }; u.prototype.duration = function (n, t, i) { return 0 === i ? 0 : Math.min(Math.max(Math.abs(t - n), 1), 6) * Math.abs(i || this.settings.smartSpeed); }; u.prototype.to = function (n, t) { var f = this.current(), r = null, i = n - this.relative(f), s = (i > 0) - (i < 0), e = this._items.length, o = this.minimum(), u = this.maximum(); this.settings.loop ? (!this.settings.rewind && Math.abs(i) > e / 2 && (i += s * -1 * e), (n = f + i), (r = ((((n - o) % e) + e) % e) + o), r !== n && r - i <= u && r - i > 0 && ((f = r - i), (n = r), this.reset(f))) : this.settings.rewind ? ((u += 1), (n = ((n % u) + u) % u)) : (n = Math.max(o, Math.min(u, n))); this.speed(this.duration(f, n, t)); this.current(n); this.$element.is(":visible") && this.update(); }; u.prototype.next = function (n) { n = n || !1; this.to(this.relative(this.current()) + 1, n); }; u.prototype.prev = function (n) { n = n || !1; this.to(this.relative(this.current()) - 1, n); }; u.prototype.onTransitionEnd = function (n) { if ( n !== r && (n.stopPropagation(), (n.target || n.srcElement || n.originalTarget) !== this.$stage.get(0)) ) return !1; this.leave("animating"); this.trigger("translated"); }; u.prototype.viewport = function () { var r; return ( this.options.responsiveBaseElement !== t ? (r = n(this.options.responsiveBaseElement).width()) : t.innerWidth ? (r = t.innerWidth) : i.documentElement && i.documentElement.clientWidth ? (r = i.documentElement.clientWidth) : console.warn("Can not detect viewport width."), r ); }; u.prototype.replace = function (t) { this.$stage.empty(); this._items = []; t && (t = t instanceof jQuery ? t : n(t)); this.settings.nestedItemSelector && (t = t.find("." + this.settings.nestedItemSelector)); t.filter(function () { return 1 === this.nodeType; }).each( n.proxy(function (n, t) { t = this.prepare(t); this.$stage.append(t); this._items.push(t); this._mergers.push( 1 * t.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1 ); }, this) ); this.reset( this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0 ); this.invalidate("items"); }; u.prototype.add = function (t, i) { var u = this.relative(this._current); i = i === r ? this._items.length : this.normalize(i, !0); t = t instanceof jQuery ? t : n(t); this.trigger("add", { content: t, position: i }); t = this.prepare(t); 0 === this._items.length || i === this._items.length ? (0 === this._items.length && this.$stage.append(t), 0 !== this._items.length && this._items[i - 1].after(t), this._items.push(t), this._mergers.push( 1 * t.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1 )) : (this._items[i].before(t), this._items.splice(i, 0, t), this._mergers.splice( i, 0, 1 * t.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1 )); this._items[u] && this.reset(this._items[u].index()); this.invalidate("items"); this.trigger("added", { content: t, position: i }); }; u.prototype.remove = function (n) { n = this.normalize(n, !0); n !== r && (this.trigger("remove", { content: this._items[n], position: n }), this._items[n].remove(), this._items.splice(n, 1), this._mergers.splice(n, 1), this.invalidate("items"), this.trigger("removed", { content: null, position: n })); }; u.prototype.preloadAutoWidthImages = function (t) { t.each( n.proxy(function (t, i) { this.enter("pre-loading"); i = n(i); n(new Image()) .one( "load", n.proxy(function (n) { i.attr("src", n.target.src); i.css("opacity", 1); this.leave("pre-loading"); !this.is("pre-loading") && !this.is("initializing") && this.refresh(); }, this) ) .attr( "src", i.attr("src") || i.attr("data-src") || i.attr("data-src-retina") ); }, this) ); }; u.prototype.destroy = function () { this.$element.off(".owl.core"); this.$stage.off(".owl.core"); n(i).off(".owl.core"); this.settings.responsive !== !1 && (t.clearTimeout(this.resizeTimer), this.off(t, "resize", this._handlers.onThrottledResize)); for (var r in this._plugins) this._plugins[r].destroy(); this.$stage.children(".cloned").remove(); this.$stage.unwrap(); this.$stage.children().contents().unwrap(); this.$stage.children().unwrap(); this.$element .removeClass(this.options.refreshClass) .removeClass(this.options.loadingClass) .removeClass(this.options.loadedClass) .removeClass(this.options.rtlClass) .removeClass(this.options.dragClass) .removeClass(this.options.grabClass) .attr( "class", this.$element .attr("class") .replace( new RegExp(this.options.responsiveClass + "-\\S+\\s", "g"), "" ) ) .removeData("owl.carousel"); }; u.prototype.op = function (n, t, i) { var r = this.settings.rtl; switch (t) { case "<": return r ? n > i : n < i; case ">": return r ? n < i : n > i; case ">=": return r ? n <= i : n >= i; case "<=": return r ? n >= i : n <= i; } }; u.prototype.on = function (n, t, i, r) { n.addEventListener ? n.addEventListener(t, i, r) : n.attachEvent && n.attachEvent("on" + t, i); }; u.prototype.off = function (n, t, i, r) { n.removeEventListener ? n.removeEventListener(t, i, r) : n.detachEvent && n.detachEvent("on" + t, i); }; u.prototype.trigger = function (t, i, r) { var o = { item: { count: this._items.length, index: this.current() } }, e = n.camelCase( n .grep(["on", t, r], function (n) { return n; }) .join("-") .toLowerCase() ), f = n.Event( [t, "owl", r || "carousel"].join(".").toLowerCase(), n.extend({ relatedTarget: this }, o, i) ); return ( this._supress[t] || (n.each(this._plugins, function (n, t) { t.onTrigger && t.onTrigger(f); }), this.register({ type: u.Type.Event, name: t }), this.$element.trigger(f), this.settings && "function" == typeof this.settings[e] && this.settings[e].call(this, f)), f ); }; u.prototype.enter = function (t) { n.each( [t].concat(this._states.tags[t] || []), n.proxy(function (n, t) { this._states.current[t] === r && (this._states.current[t] = 0); this._states.current[t]++; }, this) ); }; u.prototype.leave = function (t) { n.each( [t].concat(this._states.tags[t] || []), n.proxy(function (n, t) { this._states.current[t]--; }, this) ); }; u.prototype.register = function (t) { if (t.type === u.Type.Event) { if ( (n.event.special[t.name] || (n.event.special[t.name] = {}), !n.event.special[t.name].owl) ) { var i = n.event.special[t.name]._default; n.event.special[t.name]._default = function (n) { return !i || !i.apply || (n.namespace && n.namespace.indexOf("owl") !== -1) ? n.namespace && n.namespace.indexOf("owl") > -1 : i.apply(this, arguments); }; n.event.special[t.name].owl = !0; } } else t.type === u.Type.State && ((this._states.tags[t.name] = this._states.tags[t.name] ? this._states.tags[t.name].concat(t.tags) : t.tags), (this._states.tags[t.name] = n.grep( this._states.tags[t.name], n.proxy(function (i, r) { return n.inArray(i, this._states.tags[t.name]) === r; }, this) ))); }; u.prototype.suppress = function (t) { n.each( t, n.proxy(function (n, t) { this._supress[t] = !0; }, this) ); }; u.prototype.release = function (t) { n.each( t, n.proxy(function (n, t) { delete this._supress[t]; }, this) ); }; u.prototype.pointer = function (n) { var i = { x: null, y: null }; return ( (n = n.originalEvent || n || t.event), (n = n.touches && n.touches.length ? n.touches[0] : n.changedTouches && n.changedTouches.length ? n.changedTouches[0] : n), n.pageX ? ((i.x = n.pageX), (i.y = n.pageY)) : ((i.x = n.clientX), (i.y = n.clientY)), i ); }; u.prototype.isNumeric = function (n) { return !isNaN(parseFloat(n)); }; u.prototype.difference = function (n, t) { return { x: n.x - t.x, y: n.y - t.y }; }; n.fn.owlCarousel = function (t) { var i = Array.prototype.slice.call(arguments, 1); return this.each(function () { var f = n(this), r = f.data("owl.carousel"); r || ((r = new u(this, "object" == typeof t && t)), f.data("owl.carousel", r), n.each( [ "next", "prev", "to", "destroy", "refresh", "replace", "add", "remove", ], function (t, i) { r.register({ type: u.Type.Event, name: i }); r.$element.on( i + ".owl.carousel.core", n.proxy(function (n) { n.namespace && n.relatedTarget !== this && (this.suppress([i]), r[i].apply(this, [].slice.call(arguments, 1)), this.release([i])); }, r) ); } )); "string" == typeof t && "_" !== t.charAt(0) && r[t].apply(r, i); }); }; n.fn.owlCarousel.Constructor = u; })(window.Zepto || window.jQuery, window, document), (function (n, t) { var i = function (t) { this._core = t; this._interval = null; this._visible = null; this._handlers = { "initialized.owl.carousel": n.proxy(function (n) { n.namespace && this._core.settings.autoRefresh && this.watch(); }, this), }; this._core.options = n.extend({}, i.Defaults, this._core.options); this._core.$element.on(this._handlers); }; i.Defaults = { autoRefresh: !0, autoRefreshInterval: 500 }; i.prototype.watch = function () { this._interval || ((this._visible = this._core.$element.is(":visible")), (this._interval = t.setInterval( n.proxy(this.refresh, this), this._core.settings.autoRefreshInterval ))); }; i.prototype.refresh = function () { this._core.$element.is(":visible") !== this._visible && ((this._visible = !this._visible), this._core.$element.toggleClass("owl-hidden", !this._visible), this._visible && this._core.invalidate("width") && this._core.refresh()); }; i.prototype.destroy = function () { var n, i; t.clearInterval(this._interval); for (n in this._handlers) this._core.$element.off(n, this._handlers[n]); for (i in Object.getOwnPropertyNames(this)) "function" != typeof this[i] && (this[i] = null); }; n.fn.owlCarousel.Constructor.Plugins.AutoRefresh = i; })(window.Zepto || window.jQuery, window, document), (function (n, t, i, r) { var u = function (t) { this._core = t; this._loaded = []; this._handlers = { "initialized.owl.carousel change.owl.carousel resized.owl.carousel": n.proxy(function (t) { if ( t.namespace && this._core.settings && this._core.settings.lazyLoad && ((t.property && "position" == t.property.name) || "initialized" == t.type) ) for ( var i = this._core.settings, f = (i.center && Math.ceil(i.items / 2)) || i.items, e = (i.center && f * -1) || 0, u = (t.property && t.property.value !== r ? t.property.value : this._core.current()) + e, o = this._core.clones().length, s = n.proxy(function (n, t) { this.load(t); }, this); e++ < f; ) this.load(o / 2 + this._core.relative(u)), o && n.each(this._core.clones(this._core.relative(u)), s), u++; }, this), }; this._core.options = n.extend({}, u.Defaults, this._core.options); this._core.$element.on(this._handlers); }; u.Defaults = { lazyLoad: !1 }; u.prototype.load = function (i) { var r = this._core.$stage.children().eq(i), u = r && r.find(".owl-lazy"); !u || n.inArray(r.get(0), this._loaded) > -1 || (u.each( n.proxy(function (i, r) { var e, u = n(r), f = (t.devicePixelRatio > 1 && u.attr("data-src-retina")) || u.attr("data-src"); this._core.trigger("load", { element: u, url: f }, "lazy"); u.is("img") ? u .one( "load.owl.lazy", n.proxy(function () { u.css("opacity", 1); this._core.trigger( "loaded", { element: u, url: f }, "lazy" ); }, this) ) .attr("src", f) : ((e = new Image()), (e.onload = n.proxy(function () { u.css({ "background-image": 'url("' + f + '")', opacity: "1", }); this._core.trigger("loaded", { element: u, url: f }, "lazy"); }, this)), (e.src = f)); }, this) ), this._loaded.push(r.get(0))); }; u.prototype.destroy = function () { var n, t; for (n in this.handlers) this._core.$element.off(n, this.handlers[n]); for (t in Object.getOwnPropertyNames(this)) "function" != typeof this[t] && (this[t] = null); }; n.fn.owlCarousel.Constructor.Plugins.Lazy = u; })(window.Zepto || window.jQuery, window, document), (function (n) { var t = function (i) { this._core = i; this._handlers = { "initialized.owl.carousel refreshed.owl.carousel": n.proxy(function ( n ) { n.namespace && this._core.settings.autoHeight && this.update(); }, this), "changed.owl.carousel": n.proxy(function (n) { n.namespace && this._core.settings.autoHeight && "position" == n.property.name && this.update(); }, this), "loaded.owl.lazy": n.proxy(function (n) { n.namespace && this._core.settings.autoHeight && n.element.closest("." + this._core.settings.itemClass).index() === this._core.current() && this.update(); }, this), }; this._core.options = n.extend({}, t.Defaults, this._core.options); this._core.$element.on(this._handlers); }; t.Defaults = { autoHeight: !1, autoHeightClass: "owl-height" }; t.prototype.update = function () { var t = this._core._current, u = t + this._core.settings.items, f = this._core.$stage.children().toArray().slice(t, u), i = [], r = 0; n.each(f, function (t, r) { i.push(n(r).height()); }); r = Math.max.apply(null, i); this._core.$stage .parent() .height(r) .addClass(this._core.settings.autoHeightClass); }; t.prototype.destroy = function () { var n, t; for (n in this._handlers) this._core.$element.off(n, this._handlers[n]); for (t in Object.getOwnPropertyNames(this)) "function" != typeof this[t] && (this[t] = null); }; n.fn.owlCarousel.Constructor.Plugins.AutoHeight = t; })(window.Zepto || window.jQuery, window, document), (function (n, t, i) { var r = function (t) { this._core = t; this._videos = {}; this._playing = null; this._handlers = { "initialized.owl.carousel": n.proxy(function (n) { n.namespace && this._core.register({ type: "state", name: "playing", tags: ["interacting"], }); }, this), "resize.owl.carousel": n.proxy(function (n) { n.namespace && this._core.settings.video && this.isInFullScreen() && n.preventDefault(); }, this), "refreshed.owl.carousel": n.proxy(function (n) { n.namespace && this._core.is("resizing") && this._core.$stage.find(".cloned .owl-video-frame").remove(); }, this), "changed.owl.carousel": n.proxy(function (n) { n.namespace && "position" === n.property.name && this._playing && this.stop(); }, this), "prepared.owl.carousel": n.proxy(function (t) { if (t.namespace) { var i = n(t.content).find(".owl-video"); i.length && (i.css("display", "none"), this.fetch(i, n(t.content))); } }, this), }; this._core.options = n.extend({}, r.Defaults, this._core.options); this._core.$element.on(this._handlers); this._core.$element.on( "click.owl.video", ".owl-video-play-icon", n.proxy(function (n) { this.play(n); }, this) ); }; r.Defaults = { video: !1, videoHeight: !1, videoWidth: !1 }; r.prototype.fetch = function (n, t) { var u = (function () { return n.attr("data-vimeo-id") ? "vimeo" : n.attr("data-vzaar-id") ? "vzaar" : "youtube"; })(), i = n.attr("data-vimeo-id") || n.attr("data-youtube-id") || n.attr("data-vzaar-id"), f = n.attr("data-width") || this._core.settings.videoWidth, e = n.attr("data-height") || this._core.settings.videoHeight, r = n.attr("href"); if (!r) throw new Error("Missing video URL."); if ( ((i = r.match( /(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/ )), i[3].indexOf("youtu") > -1) ) u = "youtube"; else if (i[3].indexOf("vimeo") > -1) u = "vimeo"; else { if (!(i[3].indexOf("vzaar") > -1)) throw new Error("Video URL not supported."); u = "vzaar"; } i = i[6]; this._videos[r] = { type: u, id: i, width: f, height: e }; t.attr("data-video", r); this.thumbnail(n, this._videos[r]); }; r.prototype.thumbnail = function (t, i) { var o, s, r, c = i.width && i.height ? 'style="width:' + i.width + "px;height:" + i.height + 'px;"' : "", f = t.find("img"), e = "src", h = "", l = this._core.settings, u = function (n) { s = '
    '; o = l.lazyLoad ? '
    ' : '
    '; t.after(o); t.after(s); }; if ( (t.wrap('
    "), this._core.settings.lazyLoad && ((e = "data-src"), (h = "owl-lazy")), f.length) ) return u(f.attr(e)), f.remove(), !1; "youtube" === i.type ? ((r = "//img.youtube.com/vi/" + i.id + "/hqdefault.jpg"), u(r)) : "vimeo" === i.type ? n.ajax({ type: "GET", url: "//vimeo.com/api/v2/video/" + i.id + ".json", jsonp: "callback", dataType: "jsonp", success: function (n) { r = n[0].thumbnail_large; u(r); }, }) : "vzaar" === i.type && n.ajax({ type: "GET", url: "//vzaar.com/api/videos/" + i.id + ".json", jsonp: "callback", dataType: "jsonp", success: function (n) { r = n.framegrab_url; u(r); }, }); }; r.prototype.stop = function () { this._core.trigger("stop", null, "video"); this._playing.find(".owl-video-frame").remove(); this._playing.removeClass("owl-video-playing"); this._playing = null; this._core.leave("playing"); this._core.trigger("stopped", null, "video"); }; r.prototype.play = function (t) { var u, o = n(t.target), r = o.closest("." + this._core.settings.itemClass), i = this._videos[r.attr("data-video")], f = i.width || "100%", e = i.height || this._core.$stage.height(); this._playing || (this._core.enter("playing"), this._core.trigger("play", null, "video"), (r = this._core.items(this._core.relative(r.index()))), this._core.reset(r.index()), "youtube" === i.type ? (u = '') : "vimeo" === i.type ? (u = '') : "vzaar" === i.type && (u = ''), n('
    ' + u + "
    ").insertAfter( r.find(".owl-video") ), (this._playing = r.addClass("owl-video-playing"))); }; r.prototype.isInFullScreen = function () { var t = i.fullscreenElement || i.mozFullScreenElement || i.webkitFullscreenElement; return t && n(t).parent().hasClass("owl-video-frame"); }; r.prototype.destroy = function () { var n, t; this._core.$element.off("click.owl.video"); for (n in this._handlers) this._core.$element.off(n, this._handlers[n]); for (t in Object.getOwnPropertyNames(this)) "function" != typeof this[t] && (this[t] = null); }; n.fn.owlCarousel.Constructor.Plugins.Video = r; })(window.Zepto || window.jQuery, window, document), (function (n, t, i, r) { var u = function (t) { this.core = t; this.core.options = n.extend({}, u.Defaults, this.core.options); this.swapping = !0; this.previous = r; this.next = r; this.handlers = { "change.owl.carousel": n.proxy(function (n) { n.namespace && "position" == n.property.name && ((this.previous = this.core.current()), (this.next = n.property.value)); }, this), "drag.owl.carousel dragged.owl.carousel translated.owl.carousel": n.proxy(function (n) { n.namespace && (this.swapping = "translated" == n.type); }, this), "translate.owl.carousel": n.proxy(function (n) { n.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn) && this.swap(); }, this), }; this.core.$element.on(this.handlers); }; u.Defaults = { animateOut: !1, animateIn: !1 }; u.prototype.swap = function () { if ( 1 === this.core.settings.items && n.support.animation && n.support.transition ) { this.core.speed(0); var t, i = n.proxy(this.clear, this), f = this.core.$stage.children().eq(this.previous), e = this.core.$stage.children().eq(this.next), r = this.core.settings.animateIn, u = this.core.settings.animateOut; this.core.current() !== this.previous && (u && ((t = this.core.coordinates(this.previous) - this.core.coordinates(this.next)), f .one(n.support.animation.end, i) .css({ left: t + "px" }) .addClass("animated owl-animated-out") .addClass(u)), r && e .one(n.support.animation.end, i) .addClass("animated owl-animated-in") .addClass(r)); } }; u.prototype.clear = function (t) { n(t.target) .css({ left: "" }) .removeClass("animated owl-animated-out owl-animated-in") .removeClass(this.core.settings.animateIn) .removeClass(this.core.settings.animateOut); this.core.onTransitionEnd(); }; u.prototype.destroy = function () { var n, t; for (n in this.handlers) this.core.$element.off(n, this.handlers[n]); for (t in Object.getOwnPropertyNames(this)) "function" != typeof this[t] && (this[t] = null); }; n.fn.owlCarousel.Constructor.Plugins.Animate = u; })(window.Zepto || window.jQuery, window, document), (function (n, t, i) { var r = function (t) { this._core = t; this._timeout = null; this._paused = !1; this._handlers = { "changed.owl.carousel": n.proxy(function (n) { n.namespace && "settings" === n.property.name ? this._core.settings.autoplay ? this.play() : this.stop() : n.namespace && "position" === n.property.name && this._core.settings.autoplay && this._setAutoPlayInterval(); }, this), "initialized.owl.carousel": n.proxy(function (n) { n.namespace && this._core.settings.autoplay && this.play(); }, this), "play.owl.autoplay": n.proxy(function (n, t, i) { n.namespace && this.play(t, i); }, this), "stop.owl.autoplay": n.proxy(function (n) { n.namespace && this.stop(); }, this), "mouseover.owl.autoplay": n.proxy(function () { this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.pause(); }, this), "mouseleave.owl.autoplay": n.proxy(function () { this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.play(); }, this), "touchstart.owl.core": n.proxy(function () { this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.pause(); }, this), "touchend.owl.core": n.proxy(function () { this._core.settings.autoplayHoverPause && this.play(); }, this), }; this._core.$element.on(this._handlers); this._core.options = n.extend({}, r.Defaults, this._core.options); }; r.Defaults = { autoplay: !1, autoplayTimeout: 5e3, autoplayHoverPause: !1, autoplaySpeed: !1, }; r.prototype.play = function () { this._paused = !1; this._core.is("rotating") || (this._core.enter("rotating"), this._setAutoPlayInterval()); }; r.prototype._getNextTimeout = function (r, u) { return ( this._timeout && t.clearTimeout(this._timeout), t.setTimeout( n.proxy(function () { this._paused || this._core.is("busy") || this._core.is("interacting") || i.hidden || this._core.next(u || this._core.settings.autoplaySpeed); }, this), r || this._core.settings.autoplayTimeout ) ); }; r.prototype._setAutoPlayInterval = function () { this._timeout = this._getNextTimeout(); }; r.prototype.stop = function () { this._core.is("rotating") && (t.clearTimeout(this._timeout), this._core.leave("rotating")); }; r.prototype.pause = function () { this._core.is("rotating") && (this._paused = !0); }; r.prototype.destroy = function () { var n, t; this.stop(); for (n in this._handlers) this._core.$element.off(n, this._handlers[n]); for (t in Object.getOwnPropertyNames(this)) "function" != typeof this[t] && (this[t] = null); }; n.fn.owlCarousel.Constructor.Plugins.autoplay = r; })(window.Zepto || window.jQuery, window, document), (function (n) { "use strict"; var t = function (i) { this._core = i; this._initialized = !1; this._pages = []; this._controls = {}; this._templates = []; this.$element = this._core.$element; this._overrides = { next: this._core.next, prev: this._core.prev, to: this._core.to, }; this._handlers = { "prepared.owl.carousel": n.proxy(function (t) { t.namespace && this._core.settings.dotsData && this._templates.push( '
    ' + n(t.content) .find("[data-dot]") .addBack("[data-dot]") .attr("data-dot") + "
    " ); }, this), "added.owl.carousel": n.proxy(function (n) { n.namespace && this._core.settings.dotsData && this._templates.splice(n.position, 0, this._templates.pop()); }, this), "remove.owl.carousel": n.proxy(function (n) { n.namespace && this._core.settings.dotsData && this._templates.splice(n.position, 1); }, this), "changed.owl.carousel": n.proxy(function (n) { n.namespace && "position" == n.property.name && this.draw(); }, this), "initialized.owl.carousel": n.proxy(function (n) { n.namespace && !this._initialized && (this._core.trigger("initialize", null, "navigation"), this.initialize(), this.update(), this.draw(), (this._initialized = !0), this._core.trigger("initialized", null, "navigation")); }, this), "refreshed.owl.carousel": n.proxy(function (n) { n.namespace && this._initialized && (this._core.trigger("refresh", null, "navigation"), this.update(), this.draw(), this._core.trigger("refreshed", null, "navigation")); }, this), }; this._core.options = n.extend({}, t.Defaults, this._core.options); this.$element.on(this._handlers); }; t.Defaults = { nav: !1, navText: ["prev", "next"], navSpeed: !1, navElement: "div", navContainer: !1, navContainerClass: "owl-nav", navClass: ["owl-prev", "owl-next"], slideBy: 1, dotClass: "owl-dot", dotsClass: "owl-dots", dots: !0, dotsEach: !1, dotsData: !1, dotsSpeed: !1, dotsContainer: !1, }; t.prototype.initialize = function () { var i, t = this._core.settings; this._controls.$relative = ( t.navContainer ? n(t.navContainer) : n("
    ").addClass(t.navContainerClass).appendTo(this.$element) ).addClass("disabled"); this._controls.$previous = n("<" + t.navElement + ">") .addClass(t.navClass[0]) .html(t.navText[0]) .prependTo(this._controls.$relative) .on( "click", n.proxy(function () { this.prev(t.navSpeed); }, this) ); this._controls.$next = n("<" + t.navElement + ">") .addClass(t.navClass[1]) .html(t.navText[1]) .appendTo(this._controls.$relative) .on( "click", n.proxy(function () { this.next(t.navSpeed); }, this) ); t.dotsData || (this._templates = [ n("
    ").addClass(t.dotClass).append(n("")).prop("outerHTML"), ]); this._controls.$absolute = ( t.dotsContainer ? n(t.dotsContainer) : n("
    ").addClass(t.dotsClass).appendTo(this.$element) ).addClass("disabled"); this._controls.$absolute.on( "click", "div", n.proxy(function (i) { var r = n(i.target).parent().is(this._controls.$absolute) ? n(i.target).index() : n(i.target).parent().index(); i.preventDefault(); this.to(r, t.dotsSpeed); }, this) ); for (i in this._overrides) this._core[i] = n.proxy(this[i], this); }; t.prototype.destroy = function () { var n, r, t, i; for (n in this._handlers) this.$element.off(n, this._handlers[n]); for (r in this._controls) this._controls[r].remove(); for (i in this.overides) this._core[i] = this._overrides[i]; for (t in Object.getOwnPropertyNames(this)) "function" != typeof this[t] && (this[t] = null); }; t.prototype.update = function () { var t, i, f, r = this._core.clones().length / 2, o = r + this._core.items().length, u = this._core.maximum(!0), n = this._core.settings, e = n.center || n.autoWidth || n.dotsData ? 1 : n.dotsEach || n.items; if ( ("page" !== n.slideBy && (n.slideBy = Math.min(n.slideBy, n.items)), n.dots || "page" == n.slideBy) ) for (this._pages = [], t = r, i = 0, f = 0; t < o; t++) { if (i >= e || 0 === i) { if ( (this._pages.push({ start: Math.min(u, t - r), end: t - r + e - 1, }), Math.min(u, t - r) === u) ) break; i = 0; ++f; } i += this._core.mergers(this._core.relative(t)); } }; t.prototype.draw = function () { var i, t = this._core.settings, r = this._core.items().length <= t.items, u = this._core.relative(this._core.current()), f = t.loop || t.rewind; this._controls.$relative.toggleClass("disabled", !t.nav || r); t.nav && (this._controls.$previous.toggleClass( "disabled", !f && u <= this._core.minimum(!0) ), this._controls.$next.toggleClass( "disabled", !f && u >= this._core.maximum(!0) )); this._controls.$absolute.toggleClass("disabled", !t.dots || r); t.dots && ((i = this._pages.length - this._controls.$absolute.children().length), t.dotsData && 0 !== i ? this._controls.$absolute.html(this._templates.join("")) : i > 0 ? this._controls.$absolute.append( new Array(i + 1).join(this._templates[0]) ) : i < 0 && this._controls.$absolute.children().slice(i).remove(), this._controls.$absolute.find(".active").removeClass("active"), this._controls.$absolute .children() .eq(n.inArray(this.current(), this._pages)) .addClass("active")); }; t.prototype.onTrigger = function (t) { var i = this._core.settings; t.page = { index: n.inArray(this.current(), this._pages), count: this._pages.length, size: i && (i.center || i.autoWidth || i.dotsData ? 1 : i.dotsEach || i.items), }; }; t.prototype.current = function () { var t = this._core.relative(this._core.current()); return n .grep( this._pages, n.proxy(function (n) { return n.start <= t && n.end >= t; }, this) ) .pop(); }; t.prototype.getPosition = function (t) { var i, r, u = this._core.settings; return ( "page" == u.slideBy ? ((i = n.inArray(this.current(), this._pages)), (r = this._pages.length), t ? ++i : --i, (i = this._pages[((i % r) + r) % r].start)) : ((i = this._core.relative(this._core.current())), (r = this._core.items().length), t ? (i += u.slideBy) : (i -= u.slideBy)), i ); }; t.prototype.next = function (t) { n.proxy(this._overrides.to, this._core)(this.getPosition(!0), t); }; t.prototype.prev = function (t) { n.proxy(this._overrides.to, this._core)(this.getPosition(!1), t); }; t.prototype.to = function (t, i, r) { var u; !r && this._pages.length ? ((u = this._pages.length), n.proxy(this._overrides.to, this._core)( this._pages[((t % u) + u) % u].start, i )) : n.proxy(this._overrides.to, this._core)(t, i); }; n.fn.owlCarousel.Constructor.Plugins.Navigation = t; })(window.Zepto || window.jQuery, window, document), (function (n, t, i, r) { "use strict"; var u = function (i) { this._core = i; this._hashes = {}; this.$element = this._core.$element; this._handlers = { "initialized.owl.carousel": n.proxy(function (i) { i.namespace && "URLHash" === this._core.settings.startPosition && n(t).trigger("hashchange.owl.navigation"); }, this), "prepared.owl.carousel": n.proxy(function (t) { if (t.namespace) { var i = n(t.content) .find("[data-hash]") .addBack("[data-hash]") .attr("data-hash"); if (!i) return; this._hashes[i] = t.content; } }, this), "changed.owl.carousel": n.proxy(function (i) { if (i.namespace && "position" === i.property.name) { var u = this._core.items(this._core.relative(this._core.current())), r = n .map(this._hashes, function (n, t) { return n === u ? t : null; }) .join(); if (!r || t.location.hash.slice(1) === r) return; t.location.hash = r; } }, this), }; this._core.options = n.extend({}, u.Defaults, this._core.options); this.$element.on(this._handlers); n(t).on( "hashchange.owl.navigation", n.proxy(function () { var i = t.location.hash.substring(1), u = this._core.$stage.children(), n = this._hashes[i] && u.index(this._hashes[i]); n !== r && n !== this._core.current() && this._core.to(this._core.relative(n), !1, !0); }, this) ); }; u.Defaults = { URLhashListener: !1 }; u.prototype.destroy = function () { var i, r; n(t).off("hashchange.owl.navigation"); for (i in this._handlers) this._core.$element.off(i, this._handlers[i]); for (r in Object.getOwnPropertyNames(this)) "function" != typeof this[r] && (this[r] = null); }; n.fn.owlCarousel.Constructor.Plugins.Hash = u; })(window.Zepto || window.jQuery, window, document), (function (n, t, i, r) { function u(t, i) { var u = !1, f = t.charAt(0).toUpperCase() + t.slice(1); return ( n.each((t + " " + h.join(f + " ") + f).split(" "), function (n, t) { if (s[t] !== r) return (u = !i || t), !1; }), u ); } function e(n) { return u(n, !0); } var s = n("").get(0).style, h = "Webkit Moz O ms".split(" "), o = { transition: { end: { WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd", transition: "transitionend", }, }, animation: { end: { WebkitAnimation: "webkitAnimationEnd", MozAnimation: "animationend", OAnimation: "oAnimationEnd", animation: "animationend", }, }, }, f = { csstransforms: function () { return !!u("transform"); }, csstransforms3d: function () { return !!u("perspective"); }, csstransitions: function () { return !!u("transition"); }, cssanimations: function () { return !!u("animation"); }, }; f.csstransitions() && ((n.support.transition = new String(e("transition"))), (n.support.transition.end = o.transition.end[n.support.transition])); f.cssanimations() && ((n.support.animation = new String(e("animation"))), (n.support.animation.end = o.animation.end[n.support.animation])); f.csstransforms() && ((n.support.transform = new String(e("transform"))), (n.support.transform3d = f.csstransforms3d())); })(window.Zepto || window.jQuery, window, document), (function (n, t) { function i(t, i) { var u, f, e, o = t.nodeName.toLowerCase(); return "area" === o ? ((u = t.parentNode), (f = u.name), t.href && f && "map" === u.nodeName.toLowerCase() ? ((e = n("img[usemap=#" + f + "]")[0]), !!e && r(e)) : !1) : (/input|select|textarea|button|object/.test(o) ? !t.disabled : "a" === o ? t.href || i : i) && r(t); } function r(t) { return ( n.expr.filters.visible(t) && !n(t) .parents() .andSelf() .filter(function () { return "hidden" === n.css(this, "visibility"); }).length ); } var u = 0, f = /^ui-id-\d+$/; n.ui = n.ui || {}; n.ui.version || (n.extend(n.ui, { version: "1.9.2", keyCode: { BACKSPACE: 8, COMMA: 188, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, LEFT: 37, NUMPAD_ADD: 107, NUMPAD_DECIMAL: 110, NUMPAD_DIVIDE: 111, NUMPAD_ENTER: 108, NUMPAD_MULTIPLY: 106, NUMPAD_SUBTRACT: 109, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SPACE: 32, TAB: 9, UP: 38, }, }), n.fn.extend({ _focus: n.fn.focus, focus: function (t, i) { return "number" == typeof t ? this.each(function () { var r = this; setTimeout(function () { n(r).focus(); i && i.call(r); }, t); }) : this._focus.apply(this, arguments); }, scrollParent: function () { var t; return ( (t = (n.ui.ie && /(static|relative)/.test(this.css("position"))) || /absolute/.test(this.css("position")) ? this.parents() .filter(function () { return ( /(relative|absolute|fixed)/.test( n.css(this, "position") ) && /(auto|scroll)/.test( n.css(this, "overflow") + n.css(this, "overflow-y") + n.css(this, "overflow-x") ) ); }) .eq(0) : this.parents() .filter(function () { return /(auto|scroll)/.test( n.css(this, "overflow") + n.css(this, "overflow-y") + n.css(this, "overflow-x") ); }) .eq(0)), /fixed/.test(this.css("position")) || !t.length ? n(document) : t ); }, zIndex: function (i) { if (i !== t) return this.css("zIndex", i); if (this.length) for (var u, f, r = n(this[0]); r.length && r[0] !== document; ) { if ( ((u = r.css("position")), ("absolute" === u || "relative" === u || "fixed" === u) && ((f = parseInt(r.css("zIndex"), 10)), !isNaN(f) && 0 !== f)) ) return f; r = r.parent(); } return 0; }, uniqueId: function () { return this.each(function () { this.id || (this.id = "ui-id-" + ++u); }); }, removeUniqueId: function () { return this.each(function () { f.test(this.id) && n(this).removeAttr("id"); }); }, }), n.extend(n.expr[":"], { data: n.expr.createPseudo ? n.expr.createPseudo(function (t) { return function (i) { return !!n.data(i, t); }; }) : function (t, i, r) { return !!n.data(t, r[3]); }, focusable: function (t) { return i(t, !isNaN(n.attr(t, "tabindex"))); }, tabbable: function (t) { var r = n.attr(t, "tabindex"), u = isNaN(r); return (u || r >= 0) && i(t, !u); }, }), n(function () { var i = document.body, t = i.appendChild((t = document.createElement("div"))); t.offsetHeight; n.extend(t.style, { minHeight: "100px", height: "auto", padding: 0, borderWidth: 0, }); n.support.minHeight = 100 === t.offsetHeight; n.support.selectstart = "onselectstart" in t; i.removeChild(t).style.display = "none"; }), n("").outerWidth(1).jquery || n.each(["Width", "Height"], function (i, r) { function u(t, i, r, u) { return ( n.each(o, function () { i -= parseFloat(n.css(t, "padding" + this)) || 0; r && (i -= parseFloat(n.css(t, "border" + this + "Width")) || 0); u && (i -= parseFloat(n.css(t, "margin" + this)) || 0); }), i ); } var o = "Width" === r ? ["Left", "Right"] : ["Top", "Bottom"], f = r.toLowerCase(), e = { innerWidth: n.fn.innerWidth, innerHeight: n.fn.innerHeight, outerWidth: n.fn.outerWidth, outerHeight: n.fn.outerHeight, }; n.fn["inner" + r] = function (i) { return i === t ? e["inner" + r].call(this) : this.each(function () { n(this).css(f, u(this, i) + "px"); }); }; n.fn["outer" + r] = function (t, i) { return "number" != typeof t ? e["outer" + r].call(this, t) : this.each(function () { n(this).css(f, u(this, t, !0, i) + "px"); }); }; }), n("").data("a-b", "a").removeData("a-b").data("a-b") && (n.fn.removeData = (function (t) { return function (i) { return arguments.length ? t.call(this, n.camelCase(i)) : t.call(this); }; })(n.fn.removeData)), (function () { var t = /msie ([\w.]+)/.exec(navigator.userAgent.toLowerCase()) || []; n.ui.ie = t.length ? !0 : !1; n.ui.ie6 = 6 === parseFloat(t[1], 10); })(), n.fn.extend({ disableSelection: function () { return this.bind( (n.support.selectstart ? "selectstart" : "mousedown") + ".ui-disableSelection", function (n) { n.preventDefault(); } ); }, enableSelection: function () { return this.unbind(".ui-disableSelection"); }, }), n.extend(n.ui, { plugin: { add: function (t, i, r) { var u, f = n.ui[t].prototype; for (u in r) (f.plugins[u] = f.plugins[u] || []), f.plugins[u].push([i, r[u]]); }, call: function (n, t, i) { var r, u = n.plugins[t]; if ( u && n.element[0].parentNode && 11 !== n.element[0].parentNode.nodeType ) for (r = 0; u.length > r; r++) n.options[u[r][0]] && u[r][1].apply(n.element, i); }, }, contains: n.contains, hasScroll: function (t, i) { if ("hidden" === n(t).css("overflow")) return !1; var r = i && "left" === i ? "scrollLeft" : "scrollTop", u = !1; return t[r] > 0 ? !0 : ((t[r] = 1), (u = t[r] > 0), (t[r] = 0), u); }, isOverAxis: function (n, t, i) { return n > t && t + i > n; }, isOver: function (t, i, r, u, f, e) { return n.ui.isOverAxis(t, r, f) && n.ui.isOverAxis(i, u, e); }, })); })(jQuery), (function (n, t) { var r = 0, i = Array.prototype.slice, u = n.cleanData; n.cleanData = function (t) { for (var i, r = 0; null != (i = t[r]); r++) try { n(i).triggerHandler("remove"); } catch (f) {} u(t); }; n.widget = function (i, r, u) { var s, e, f, h, o = i.split(".")[0]; i = i.split(".")[1]; s = o + "-" + i; u || ((u = r), (r = n.Widget)); n.expr[":"][s.toLowerCase()] = function (t) { return !!n.data(t, s); }; n[o] = n[o] || {}; e = n[o][i]; f = n[o][i] = function (n, i) { return this._createWidget ? (arguments.length && this._createWidget(n, i), t) : new f(n, i); }; n.extend(f, e, { version: u.version, _proto: n.extend({}, u), _childConstructors: [], }); h = new r(); h.options = n.widget.extend({}, h.options); n.each(u, function (t, i) { n.isFunction(i) && (u[t] = (function () { var n = function () { return r.prototype[t].apply(this, arguments); }, u = function (n) { return r.prototype[t].apply(this, n); }; return function () { var t, r = this._super, f = this._superApply; return ( (this._super = n), (this._superApply = u), (t = i.apply(this, arguments)), (this._super = r), (this._superApply = f), t ); }; })()); }); f.prototype = n.widget.extend( h, { widgetEventPrefix: e ? h.widgetEventPrefix : i }, u, { constructor: f, namespace: o, widgetName: i, widgetBaseClass: s, widgetFullName: s, } ); e ? (n.each(e._childConstructors, function (t, i) { var r = i.prototype; n.widget(r.namespace + "." + r.widgetName, f, i._proto); }), delete e._childConstructors) : r._childConstructors.push(f); n.widget.bridge(i, f); }; n.widget.extend = function (r) { for (var u, f, o = i.call(arguments, 1), e = 0, s = o.length; s > e; e++) for (u in o[e]) (f = o[e][u]), o[e].hasOwnProperty(u) && f !== t && (r[u] = n.isPlainObject(f) ? n.isPlainObject(r[u]) ? n.widget.extend({}, r[u], f) : n.widget.extend({}, f) : f); return r; }; n.widget.bridge = function (r, u) { var f = u.prototype.widgetFullName || r; n.fn[r] = function (e) { var h = "string" == typeof e, o = i.call(arguments, 1), s = this; return ( (e = !h && o.length ? n.widget.extend.apply(null, [e].concat(o)) : e), h ? this.each(function () { var i, u = n.data(this, f); return u ? n.isFunction(u[e]) && "_" !== e.charAt(0) ? ((i = u[e].apply(u, o)), i !== u && i !== t ? ((s = i && i.jquery ? s.pushStack(i.get()) : i), !1) : t) : n.error( "no such method '" + e + "' for " + r + " widget instance" ) : n.error( "cannot call methods on " + r + " prior to initialization; attempted to call method '" + e + "'" ); }) : this.each(function () { var t = n.data(this, f); t ? t.option(e || {})._init() : n.data(this, f, new u(e, this)); }), s ); }; }; n.Widget = function () {}; n.Widget._childConstructors = []; n.Widget.prototype = { widgetName: "widget", widgetEventPrefix: "", defaultElement: "
    ", options: { disabled: !1, create: null }, _createWidget: function (t, i) { i = n(i || this.defaultElement || this)[0]; this.element = n(i); this.uuid = r++; this.eventNamespace = "." + this.widgetName + this.uuid; this.options = n.widget.extend( {}, this.options, this._getCreateOptions(), t ); this.bindings = n(); this.hoverable = n(); this.focusable = n(); i !== this && (n.data(i, this.widgetName, this), n.data(i, this.widgetFullName, this), this._on(!0, this.element, { remove: function (n) { n.target === i && this.destroy(); }, }), (this.document = n(i.style ? i.ownerDocument : i.document || i)), (this.window = n( this.document[0].defaultView || this.document[0].parentWindow ))); this._create(); this._trigger("create", null, this._getCreateEventData()); this._init(); }, _getCreateOptions: n.noop, _getCreateEventData: n.noop, _create: n.noop, _init: n.noop, destroy: function () { this._destroy(); this.element .unbind(this.eventNamespace) .removeData(this.widgetName) .removeData(this.widgetFullName) .removeData(n.camelCase(this.widgetFullName)); this.widget() .unbind(this.eventNamespace) .removeAttr("aria-disabled") .removeClass(this.widgetFullName + "-disabled ui-state-disabled"); this.bindings.unbind(this.eventNamespace); this.hoverable.removeClass("ui-state-hover"); this.focusable.removeClass("ui-state-focus"); }, _destroy: n.noop, widget: function () { return this.element; }, option: function (i, r) { var u, f, e, o = i; if (0 === arguments.length) return n.widget.extend({}, this.options); if ("string" == typeof i) if (((o = {}), (u = i.split(".")), (i = u.shift()), u.length)) { for ( f = o[i] = n.widget.extend({}, this.options[i]), e = 0; u.length - 1 > e; e++ ) (f[u[e]] = f[u[e]] || {}), (f = f[u[e]]); if (((i = u.pop()), r === t)) return f[i] === t ? null : f[i]; f[i] = r; } else { if (r === t) return this.options[i] === t ? null : this.options[i]; o[i] = r; } return this._setOptions(o), this; }, _setOptions: function (n) { for (var t in n) this._setOption(t, n[t]); return this; }, _setOption: function (n, t) { return ( (this.options[n] = t), "disabled" === n && (this.widget() .toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!t ) .attr("aria-disabled", t), this.hoverable.removeClass("ui-state-hover"), this.focusable.removeClass("ui-state-focus")), this ); }, enable: function () { return this._setOption("disabled", !1); }, disable: function () { return this._setOption("disabled", !0); }, _on: function (i, r, u) { var e, f = this; "boolean" != typeof i && ((u = r), (r = i), (i = !1)); u ? ((r = e = n(r)), (this.bindings = this.bindings.add(r))) : ((u = r), (r = this.element), (e = this.widget())); n.each(u, function (u, o) { function s() { return i || (f.options.disabled !== !0 && !n(this).hasClass("ui-state-disabled")) ? ("string" == typeof o ? f[o] : o).apply(f, arguments) : t; } "string" != typeof o && (s.guid = o.guid = o.guid || s.guid || n.guid++); var h = u.match(/^(\w+)\s*(.*)$/), c = h[1] + f.eventNamespace, l = h[2]; l ? e.delegate(l, c, s) : r.bind(c, s); }); }, _off: function (n, t) { t = (t || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace; n.unbind(t).undelegate(t); }, _delay: function (n, t) { function r() { return ("string" == typeof n ? i[n] : n).apply(i, arguments); } var i = this; return setTimeout(r, t || 0); }, _hoverable: function (t) { this.hoverable = this.hoverable.add(t); this._on(t, { mouseenter: function (t) { n(t.currentTarget).addClass("ui-state-hover"); }, mouseleave: function (t) { n(t.currentTarget).removeClass("ui-state-hover"); }, }); }, _focusable: function (t) { this.focusable = this.focusable.add(t); this._on(t, { focusin: function (t) { n(t.currentTarget).addClass("ui-state-focus"); }, focusout: function (t) { n(t.currentTarget).removeClass("ui-state-focus"); }, }); }, _trigger: function (t, i, r) { var u, f, e = this.options[t]; if ( ((r = r || {}), (i = n.Event(i)), (i.type = ( t === this.widgetEventPrefix ? t : this.widgetEventPrefix + t ).toLowerCase()), (i.target = this.element[0]), (f = i.originalEvent)) ) for (u in f) u in i || (i[u] = f[u]); return ( this.element.trigger(i, r), !( (n.isFunction(e) && e.apply(this.element[0], [i].concat(r)) === !1) || i.isDefaultPrevented() ) ); }, }; n.each({ show: "fadeIn", hide: "fadeOut" }, function (t, i) { n.Widget.prototype["_" + t] = function (r, u, f) { "string" == typeof u && (u = { effect: u }); var o, e = u ? (u === !0 || "number" == typeof u ? i : u.effect || i) : t; u = u || {}; "number" == typeof u && (u = { duration: u }); o = !n.isEmptyObject(u); u.complete = f; u.delay && r.delay(u.delay); o && n.effects && (n.effects.effect[e] || (n.uiBackCompat !== !1 && n.effects[e])) ? r[t](u) : e !== t && r[e] ? r[e](u.duration, u.easing, f) : r.queue(function (i) { n(this)[t](); f && f.call(r[0]); i(); }); }; }); n.uiBackCompat !== !1 && (n.Widget.prototype._getCreateOptions = function () { return n.metadata && n.metadata.get(this.element[0])[this.widgetName]; }); })(jQuery), (function (n, t) { function e(n, t, i) { return [ parseInt(n[0], 10) * (a.test(n[0]) ? t / 100 : 1), parseInt(n[1], 10) * (a.test(n[1]) ? i / 100 : 1), ]; } function r(t, i) { return parseInt(n.css(t, i), 10) || 0; } n.ui = n.ui || {}; var f, u = Math.max, i = Math.abs, o = Math.round, s = /left|center|right/, h = /top|center|bottom/, c = /[\+\-]\d+%?/, l = /^\w+/, a = /%$/, v = n.fn.position; n.position = { scrollbarWidth: function () { if (f !== t) return f; var u, r, i = n( "
    " ), e = i.children()[0]; return ( n("body").append(i), (u = e.offsetWidth), i.css("overflow", "scroll"), (r = e.offsetWidth), u === r && (r = i[0].clientWidth), i.remove(), (f = u - r) ); }, getScrollInfo: function (t) { var i = t.isWindow ? "" : t.element.css("overflow-x"), r = t.isWindow ? "" : t.element.css("overflow-y"), u = "scroll" === i || ("auto" === i && t.width < t.element[0].scrollWidth), f = "scroll" === r || ("auto" === r && t.height < t.element[0].scrollHeight); return { width: u ? n.position.scrollbarWidth() : 0, height: f ? n.position.scrollbarWidth() : 0, }; }, getWithinInfo: function (t) { var i = n(t || window), r = n.isWindow(i[0]); return { element: i, isWindow: r, offset: i.offset() || { left: 0, top: 0 }, scrollLeft: i.scrollLeft(), scrollTop: i.scrollTop(), width: r ? i.width() : i.outerWidth(), height: r ? i.height() : i.outerHeight(), }; }, }; n.fn.position = function (t) { if (!t || !t.of) return v.apply(this, arguments); t = n.extend({}, t); var b, f, a, p, w, y = n(t.of), nt = n.position.getWithinInfo(t.within), tt = n.position.getScrollInfo(nt), k = y[0], d = (t.collision || "flip").split(" "), g = {}; return ( 9 === k.nodeType ? ((f = y.width()), (a = y.height()), (p = { top: 0, left: 0 })) : n.isWindow(k) ? ((f = y.width()), (a = y.height()), (p = { top: y.scrollTop(), left: y.scrollLeft() })) : k.preventDefault ? ((t.at = "left top"), (f = a = 0), (p = { top: k.pageY, left: k.pageX })) : ((f = y.outerWidth()), (a = y.outerHeight()), (p = y.offset())), (w = n.extend({}, p)), n.each(["my", "at"], function () { var i, r, n = (t[this] || "").split(" "); 1 === n.length && (n = s.test(n[0]) ? n.concat(["center"]) : h.test(n[0]) ? ["center"].concat(n) : ["center", "center"]); n[0] = s.test(n[0]) ? n[0] : "center"; n[1] = h.test(n[1]) ? n[1] : "center"; i = c.exec(n[0]); r = c.exec(n[1]); g[this] = [i ? i[0] : 0, r ? r[0] : 0]; t[this] = [l.exec(n[0])[0], l.exec(n[1])[0]]; }), 1 === d.length && (d[1] = d[0]), "right" === t.at[0] ? (w.left += f) : "center" === t.at[0] && (w.left += f / 2), "bottom" === t.at[1] ? (w.top += a) : "center" === t.at[1] && (w.top += a / 2), (b = e(g.at, f, a)), (w.left += b[0]), (w.top += b[1]), this.each(function () { var k, it, h = n(this), c = h.outerWidth(), l = h.outerHeight(), rt = r(this, "marginLeft"), ut = r(this, "marginTop"), ft = c + rt + r(this, "marginRight") + tt.width, et = l + ut + r(this, "marginBottom") + tt.height, s = n.extend({}, w), v = e(g.my, h.outerWidth(), h.outerHeight()); "right" === t.my[0] ? (s.left -= c) : "center" === t.my[0] && (s.left -= c / 2); "bottom" === t.my[1] ? (s.top -= l) : "center" === t.my[1] && (s.top -= l / 2); s.left += v[0]; s.top += v[1]; n.support.offsetFractions || ((s.left = o(s.left)), (s.top = o(s.top))); k = { marginLeft: rt, marginTop: ut }; n.each(["left", "top"], function (i, r) { n.ui.position[d[i]] && n.ui.position[d[i]][r](s, { targetWidth: f, targetHeight: a, elemWidth: c, elemHeight: l, collisionPosition: k, collisionWidth: ft, collisionHeight: et, offset: [b[0] + v[0], b[1] + v[1]], my: t.my, at: t.at, within: nt, elem: h, }); }); n.fn.bgiframe && h.bgiframe(); t.using && (it = function (n) { var r = p.left - s.left, v = r + f - c, e = p.top - s.top, w = e + a - l, o = { target: { element: y, left: p.left, top: p.top, width: f, height: a, }, element: { element: h, left: s.left, top: s.top, width: c, height: l, }, horizontal: 0 > v ? "left" : r > 0 ? "right" : "center", vertical: 0 > w ? "top" : e > 0 ? "bottom" : "middle", }; c > f && f > i(r + v) && (o.horizontal = "center"); l > a && a > i(e + w) && (o.vertical = "middle"); o.important = u(i(r), i(v)) > u(i(e), i(w)) ? "horizontal" : "vertical"; t.using.call(this, n, o); }); h.offset(n.extend(s, { using: it })); }) ); }; (n.ui.position = { fit: { left: function (n, t) { var h, e = t.within, r = e.isWindow ? e.scrollLeft : e.offset.left, o = e.width, s = n.left - t.collisionPosition.marginLeft, i = r - s, f = s + t.collisionWidth - o - r; t.collisionWidth > o ? i > 0 && 0 >= f ? ((h = n.left + i + t.collisionWidth - o - r), (n.left += i - h)) : (n.left = f > 0 && 0 >= i ? r : i > f ? r + o - t.collisionWidth : r) : i > 0 ? (n.left += i) : f > 0 ? (n.left -= f) : (n.left = u(n.left - s, n.left)); }, top: function (n, t) { var h, o = t.within, r = o.isWindow ? o.scrollTop : o.offset.top, e = t.within.height, s = n.top - t.collisionPosition.marginTop, i = r - s, f = s + t.collisionHeight - e - r; t.collisionHeight > e ? i > 0 && 0 >= f ? ((h = n.top + i + t.collisionHeight - e - r), (n.top += i - h)) : (n.top = f > 0 && 0 >= i ? r : i > f ? r + e - t.collisionHeight : r) : i > 0 ? (n.top += i) : f > 0 ? (n.top -= f) : (n.top = u(n.top - s, n.top)); }, }, flip: { left: function (n, t) { var o, s, r = t.within, y = r.offset.left + r.scrollLeft, c = r.width, h = r.isWindow ? r.scrollLeft : r.offset.left, l = n.left - t.collisionPosition.marginLeft, a = l - h, v = l + t.collisionWidth - c - h, u = "left" === t.my[0] ? -t.elemWidth : "right" === t.my[0] ? t.elemWidth : 0, f = "left" === t.at[0] ? t.targetWidth : "right" === t.at[0] ? -t.targetWidth : 0, e = -2 * t.offset[0]; 0 > a ? ((o = n.left + u + f + e + t.collisionWidth - c - y), (0 > o || i(a) > o) && (n.left += u + f + e)) : v > 0 && ((s = n.left - t.collisionPosition.marginLeft + u + f + e - h), (s > 0 || v > i(s)) && (n.left += u + f + e)); }, top: function (n, t) { var o, s, r = t.within, y = r.offset.top + r.scrollTop, a = r.height, h = r.isWindow ? r.scrollTop : r.offset.top, v = n.top - t.collisionPosition.marginTop, c = v - h, l = v + t.collisionHeight - a - h, p = "top" === t.my[1], u = p ? -t.elemHeight : "bottom" === t.my[1] ? t.elemHeight : 0, f = "top" === t.at[1] ? t.targetHeight : "bottom" === t.at[1] ? -t.targetHeight : 0, e = -2 * t.offset[1]; 0 > c ? ((s = n.top + u + f + e + t.collisionHeight - a - y), n.top + u + f + e > c && (0 > s || i(c) > s) && (n.top += u + f + e)) : l > 0 && ((o = n.top - t.collisionPosition.marginTop + u + f + e - h), n.top + u + f + e > l && (o > 0 || l > i(o)) && (n.top += u + f + e)); }, }, flipfit: { left: function () { n.ui.position.flip.left.apply(this, arguments); n.ui.position.fit.left.apply(this, arguments); }, top: function () { n.ui.position.flip.top.apply(this, arguments); n.ui.position.fit.top.apply(this, arguments); }, }, }), (function () { var t, i, r, u, f, e = document.getElementsByTagName("body")[0], o = document.createElement("div"); t = document.createElement(e ? "div" : "body"); r = { visibility: "hidden", width: 0, height: 0, border: 0, margin: 0, background: "none", }; e && n.extend(r, { position: "absolute", left: "-1000px", top: "-1000px", }); for (f in r) t.style[f] = r[f]; t.appendChild(o); i = e || document.documentElement; i.insertBefore(t, i.firstChild); o.style.cssText = "position: absolute; left: 10.7432222px;"; u = n(o).offset().left; n.support.offsetFractions = u > 10 && 11 > u; t.innerHTML = ""; i.removeChild(t); })(); n.uiBackCompat !== !1 && (function (n) { var i = n.fn.position; n.fn.position = function (r) { if (!r || !r.offset) return i.call(this, r); var u = r.offset.split(" "), f = r.at.split(" "); return ( 1 === u.length && (u[1] = u[0]), /^\d/.test(u[0]) && (u[0] = "+" + u[0]), /^\d/.test(u[1]) && (u[1] = "+" + u[1]), 1 === f.length && (/left|center|right/.test(f[0]) ? (f[1] = "center") : ((f[1] = f[0]), (f[0] = "center"))), i.call( this, n.extend(r, { at: f[0] + u[0] + " " + f[1] + u[1], offset: t }) ) ); }; })(jQuery); })(jQuery), (function (n) { var t = 0; n.widget("ui.autocomplete", { version: "1.9.2", defaultElement: "", options: { appendTo: "body", autoFocus: !1, delay: 300, minLength: 1, position: { my: "left top", at: "left bottom", collision: "none" }, source: null, change: null, close: null, focus: null, open: null, response: null, search: null, select: null, }, pending: 0, _create: function () { var t, i, r; this.isMultiLine = this._isMultiLine(); this.valueMethod = this.element[this.element.is("input,textarea") ? "val" : "text"]; this.isNewMenu = !0; this.element .addClass("ui-autocomplete-input") .attr("autocomplete", "off"); this._on(this.element, { keydown: function (u) { if (this.element.prop("readOnly")) return (t = !0), (r = !0), (i = !0), undefined; t = !1; r = !1; i = !1; var f = n.ui.keyCode; switch (u.keyCode) { case f.PAGE_UP: t = !0; this._move("previousPage", u); break; case f.PAGE_DOWN: t = !0; this._move("nextPage", u); break; case f.UP: t = !0; this._keyEvent("previous", u); break; case f.DOWN: t = !0; this._keyEvent("next", u); break; case f.ENTER: case f.NUMPAD_ENTER: this.menu.active && ((t = !0), u.preventDefault(), this.menu.select(u)); break; case f.TAB: this.menu.active && this.menu.select(u); break; case f.ESCAPE: this.menu.element.is(":visible") && (this._value(this.term), this.close(u), u.preventDefault()); break; default: i = !0; this._searchTimeout(u); } }, keypress: function (r) { if (t) return (t = !1), r.preventDefault(), undefined; if (!i) { var u = n.ui.keyCode; switch (r.keyCode) { case u.PAGE_UP: this._move("previousPage", r); break; case u.PAGE_DOWN: this._move("nextPage", r); break; case u.UP: this._keyEvent("previous", r); break; case u.DOWN: this._keyEvent("next", r); } } }, input: function (n) { return r ? ((r = !1), n.preventDefault(), undefined) : (this._searchTimeout(n), undefined); }, focus: function () { this.selectedItem = null; this.previous = this._value(); }, blur: function (n) { return this.cancelBlur ? (delete this.cancelBlur, undefined) : (clearTimeout(this.searching), this.close(n), this._change(n), undefined); }, }); this._initSource(); this.menu = n("
      ") .addClass("ui-autocomplete") .appendTo(this.document.find(this.options.appendTo || "body")[0]) .menu({ input: n(), role: null }) .zIndex(this.element.zIndex() + 1) .hide() .data("menu"); this._on(this.menu.element, { mousedown: function (t) { t.preventDefault(); this.cancelBlur = !0; this._delay(function () { delete this.cancelBlur; }); var i = this.menu.element[0]; n(t.target).closest(".ui-menu-item").length || this._delay(function () { var t = this; this.document.one("mousedown", function (r) { r.target === t.element[0] || r.target === i || n.contains(i, r.target) || t.close(); }); }); }, menufocus: function (t, i) { if ( this.isNewMenu && ((this.isNewMenu = !1), t.originalEvent && /^mouse/.test(t.originalEvent.type)) ) return ( this.menu.blur(), this.document.one("mousemove", function () { n(t.target).trigger(t.originalEvent); }), undefined ); var r = i.item.data("ui-autocomplete-item") || i.item.data("item.autocomplete"); !1 !== this._trigger("focus", t, { item: r }) ? t.originalEvent && /^key/.test(t.originalEvent.type) && this._value(r.value) : this.liveRegion.text(r.value); }, menuselect: function (n, t) { var i = t.item.data("ui-autocomplete-item") || t.item.data("item.autocomplete"), r = this.previous; this.element[0] !== this.document[0].activeElement && (this.element.focus(), (this.previous = r), this._delay(function () { this.previous = r; this.selectedItem = i; })); !1 !== this._trigger("select", n, { item: i }) && this._value(i.value); this.term = this._value(); this.close(n); this.selectedItem = i; }, }); this.liveRegion = n("", { role: "status", "aria-live": "polite" }) .addClass("ui-helper-hidden-accessible") .insertAfter(this.element); n.fn.bgiframe && this.menu.element.bgiframe(); this._on(this.window, { beforeunload: function () { this.element.removeAttr("autocomplete"); }, }); }, _destroy: function () { clearTimeout(this.searching); this.element .removeClass("ui-autocomplete-input") .removeAttr("autocomplete"); this.menu.element.remove(); this.liveRegion.remove(); }, _setOption: function (n, t) { this._super(n, t); "source" === n && this._initSource(); "appendTo" === n && this.menu.element.appendTo(this.document.find(t || "body")[0]); "disabled" === n && t && this.xhr && this.xhr.abort(); }, _isMultiLine: function () { return this.element.is("textarea") ? !0 : this.element.is("input") ? !1 : this.element.prop("isContentEditable"); }, _initSource: function () { var i, r, t = this; n.isArray(this.options.source) ? ((i = this.options.source), (this.source = function (t, r) { r(n.ui.autocomplete.filter(i, t.term)); })) : "string" == typeof this.options.source ? ((r = this.options.source), (this.source = function (i, u) { t.xhr && t.xhr.abort(); t.xhr = n.ajax({ url: r, data: i, dataType: "json", success: function (n) { u(n); }, error: function () { u([]); }, }); })) : (this.source = this.options.source); }, _searchTimeout: function (n) { clearTimeout(this.searching); this.searching = this._delay(function () { this.term !== this._value() && ((this.selectedItem = null), this.search(null, n)); }, this.options.delay); }, search: function (n, t) { return ( (n = null != n ? n : this._value()), (this.term = this._value()), n.length < this.options.minLength ? this.close(t) : this._trigger("search", t) !== !1 ? this._search(n) : undefined ); }, _search: function (n) { this.pending++; this.element.addClass("ui-autocomplete-loading"); this.cancelSearch = !1; this.source({ term: n }, this._response()); }, _response: function () { var n = this, i = ++t; return function (r) { i === t && n.__response(r); n.pending--; n.pending || n.element.removeClass("ui-autocomplete-loading"); }; }, __response: function (n) { n && (n = this._normalize(n)); this._trigger("response", null, { content: n }); !this.options.disabled && n && n.length && !this.cancelSearch ? (this._suggest(n), this._trigger("open")) : this._close(); }, close: function (n) { this.cancelSearch = !0; this._close(n); }, _close: function (n) { this.menu.element.is(":visible") && (this.menu.element.hide(), this.menu.blur(), (this.isNewMenu = !0), this._trigger("close", n)); }, _change: function (n) { this.previous !== this._value() && this._trigger("change", n, { item: this.selectedItem }); }, _normalize: function (t) { return t.length && t[0].label && t[0].value ? t : n.map(t, function (t) { return "string" == typeof t ? { label: t, value: t } : n.extend( { label: t.label || t.value, value: t.value || t.label }, t ); }); }, _suggest: function (t) { var i = this.menu.element.empty().zIndex(this.element.zIndex() + 1); this._renderMenu(i, t); this.menu.refresh(); i.show(); this._resizeMenu(); i.position(n.extend({ of: this.element }, this.options.position)); this.options.autoFocus && this.menu.next(); }, _resizeMenu: function () { var n = this.menu.element; n.outerWidth( Math.max(n.width("").outerWidth() + 1, this.element.outerWidth()) ); }, _renderMenu: function (t, i) { var r = this; n.each(i, function (n, i) { r._renderItemData(t, i); }); }, _renderItemData: function (n, t) { return this._renderItem(n, t).data("ui-autocomplete-item", t); }, _renderItem: function (t, i) { return n("
    • ").append(n("").text(i.label)).appendTo(t); }, _move: function (n, t) { return this.menu.element.is(":visible") ? (this.menu.isFirstItem() && /^previous/.test(n)) || (this.menu.isLastItem() && /^next/.test(n)) ? (this._value(this.term), this.menu.blur(), undefined) : (this.menu[n](t), undefined) : (this.search(null, t), undefined); }, widget: function () { return this.menu.element; }, _value: function () { return this.valueMethod.apply(this.element, arguments); }, _keyEvent: function (n, t) { (!this.isMultiLine || this.menu.element.is(":visible")) && (this._move(n, t), t.preventDefault()); }, }); n.extend(n.ui.autocomplete, { escapeRegex: function (n) { return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); }, filter: function (t, i) { var r = RegExp(n.ui.autocomplete.escapeRegex(i), "i"); return n.grep(t, function (n) { return r.test(n.label || n.value || n); }); }, }); n.widget("ui.autocomplete", n.ui.autocomplete, { options: { messages: { noResults: "No search results.", results: function (n) { return ( n + (n > 1 ? " results are" : " result is") + " available, use up and down arrow keys to navigate." ); }, }, }, __response: function (n) { var t; this._superApply(arguments); this.options.disabled || this.cancelSearch || ((t = n && n.length ? this.options.messages.results(n.length) : this.options.messages.noResults), this.liveRegion.text(t)); }, }); })(jQuery), (function (n) { var t = !1; n.widget("ui.menu", { version: "1.9.2", defaultElement: "
        ", delay: 300, options: { icons: { submenu: "ui-icon-carat-1-e" }, menus: "ul", position: { my: "left top", at: "right top" }, role: "menu", blur: null, focus: null, select: null, }, _create: function () { this.activeMenu = this.element; this.element .uniqueId() .addClass("ui-menu ui-widget ui-widget-content ui-corner-all") .toggleClass("ui-menu-icons", !!this.element.find(".ui-icon").length) .attr({ role: this.options.role, tabIndex: 0 }) .bind( "click" + this.eventNamespace, n.proxy(function (n) { this.options.disabled && n.preventDefault(); }, this) ); this.options.disabled && this.element .addClass("ui-state-disabled") .attr("aria-disabled", "true"); this._on({ "mousedown .ui-menu-item > a": function (n) { n.preventDefault(); }, "click .ui-state-disabled > a": function (n) { n.preventDefault(); }, "click .ui-menu-item:has(a)": function (i) { var r = n(i.target).closest(".ui-menu-item"); !t && r.not(".ui-state-disabled").length && ((t = !0), this.select(i), r.has(".ui-menu").length ? this.expand(i) : this.element.is(":focus") || (this.element.trigger("focus", [!0]), this.active && 1 === this.active.parents(".ui-menu").length && clearTimeout(this.timer))); }, "mouseenter .ui-menu-item": function (t) { var i = n(t.currentTarget); i.siblings() .children(".ui-state-active") .removeClass("ui-state-active"); this.focus(t, i); }, mouseleave: "collapseAll", "mouseleave .ui-menu": "collapseAll", focus: function (n, t) { var i = this.active || this.element.children(".ui-menu-item").eq(0); t || this.focus(n, i); }, blur: function (t) { this._delay(function () { n.contains(this.element[0], this.document[0].activeElement) || this.collapseAll(t); }); }, keydown: "_keydown", }); this.refresh(); this._on(this.document, { click: function (i) { n(i.target).closest(".ui-menu").length || this.collapseAll(i); t = !1; }, }); }, _destroy: function () { this.element .removeAttr("aria-activedescendant") .find(".ui-menu") .andSelf() .removeClass( "ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons" ) .removeAttr("role") .removeAttr("tabIndex") .removeAttr("aria-labelledby") .removeAttr("aria-expanded") .removeAttr("aria-hidden") .removeAttr("aria-disabled") .removeUniqueId() .show(); this.element .find(".ui-menu-item") .removeClass("ui-menu-item") .removeAttr("role") .removeAttr("aria-disabled") .children("a") .removeUniqueId() .removeClass("ui-corner-all ui-state-hover") .removeAttr("tabIndex") .removeAttr("role") .removeAttr("aria-haspopup") .children() .each(function () { var t = n(this); t.data("ui-menu-submenu-carat") && t.remove(); }); this.element .find(".ui-menu-divider") .removeClass("ui-menu-divider ui-widget-content"); }, _keydown: function (t) { function o(n) { return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); } var i, f, r, e, u, s = !0; switch (t.keyCode) { case n.ui.keyCode.PAGE_UP: this.previousPage(t); break; case n.ui.keyCode.PAGE_DOWN: this.nextPage(t); break; case n.ui.keyCode.HOME: this._move("first", "first", t); break; case n.ui.keyCode.END: this._move("last", "last", t); break; case n.ui.keyCode.UP: this.previous(t); break; case n.ui.keyCode.DOWN: this.next(t); break; case n.ui.keyCode.LEFT: this.collapse(t); break; case n.ui.keyCode.RIGHT: this.active && !this.active.is(".ui-state-disabled") && this.expand(t); break; case n.ui.keyCode.ENTER: case n.ui.keyCode.SPACE: this._activate(t); break; case n.ui.keyCode.ESCAPE: this.collapse(t); break; default: s = !1; f = this.previousFilter || ""; r = String.fromCharCode(t.keyCode); e = !1; clearTimeout(this.filterTimer); r === f ? (e = !0) : (r = f + r); u = RegExp("^" + o(r), "i"); i = this.activeMenu.children(".ui-menu-item").filter(function () { return u.test(n(this).children("a").text()); }); i = e && -1 !== i.index(this.active.next()) ? this.active.nextAll(".ui-menu-item") : i; i.length || ((r = String.fromCharCode(t.keyCode)), (u = RegExp("^" + o(r), "i")), (i = this.activeMenu .children(".ui-menu-item") .filter(function () { return u.test(n(this).children("a").text()); }))); i.length ? (this.focus(t, i), i.length > 1 ? ((this.previousFilter = r), (this.filterTimer = this._delay(function () { delete this.previousFilter; }, 1e3))) : delete this.previousFilter) : delete this.previousFilter; } s && t.preventDefault(); }, _activate: function (n) { this.active.is(".ui-state-disabled") || (this.active.children("a[aria-haspopup='true']").length ? this.expand(n) : this.select(n)); }, refresh: function () { var t, r = this.options.icons.submenu, i = this.element.find(this.options.menus); i.filter(":not(.ui-menu)") .addClass("ui-menu ui-widget ui-widget-content ui-corner-all") .hide() .attr({ role: this.options.role, "aria-hidden": "true", "aria-expanded": "false", }) .each(function () { var t = n(this), i = t.prev("a"), u = n("") .addClass("ui-menu-icon ui-icon " + r) .data("ui-menu-submenu-carat", !0); i.attr("aria-haspopup", "true").prepend(u); t.attr("aria-labelledby", i.attr("id")); }); t = i.add(this.element); t.children(":not(.ui-menu-item):has(a)") .addClass("ui-menu-item") .attr("role", "presentation") .children("a") .uniqueId() .addClass("ui-corner-all") .attr({ tabIndex: -1, role: this._itemRole() }); t.children(":not(.ui-menu-item)").each(function () { var t = n(this); /[^\-—–\s]/.test(t.text()) || t.addClass("ui-widget-content ui-menu-divider"); }); t.children(".ui-state-disabled").attr("aria-disabled", "true"); this.active && !n.contains(this.element[0], this.active[0]) && this.blur(); }, _itemRole: function () { return { menu: "menuitem", listbox: "option" }[this.options.role]; }, focus: function (n, t) { var i, r; this.blur(n, n && "focus" === n.type); this._scrollIntoView(t); this.active = t.first(); r = this.active.children("a").addClass("ui-state-focus"); this.options.role && this.element.attr("aria-activedescendant", r.attr("id")); this.active .parent() .closest(".ui-menu-item") .children("a:first") .addClass("ui-state-active"); n && "keydown" === n.type ? this._close() : (this.timer = this._delay(function () { this._close(); }, this.delay)); i = t.children(".ui-menu"); i.length && /^mouse/.test(n.type) && this._startOpening(i); this.activeMenu = t.parent(); this._trigger("focus", n, { item: t }); }, _scrollIntoView: function (t) { var e, o, i, r, u, f; this._hasScroll() && ((e = parseFloat(n.css(this.activeMenu[0], "borderTopWidth")) || 0), (o = parseFloat(n.css(this.activeMenu[0], "paddingTop")) || 0), (i = t.offset().top - this.activeMenu.offset().top - e - o), (r = this.activeMenu.scrollTop()), (u = this.activeMenu.height()), (f = t.height()), 0 > i ? this.activeMenu.scrollTop(r + i) : i + f > u && this.activeMenu.scrollTop(r + i - u + f)); }, blur: function (n, t) { t || clearTimeout(this.timer); this.active && (this.active.children("a").removeClass("ui-state-focus"), (this.active = null), this._trigger("blur", n, { item: this.active })); }, _startOpening: function (n) { clearTimeout(this.timer); "true" === n.attr("aria-hidden") && (this.timer = this._delay(function () { this._close(); this._open(n); }, this.delay)); }, _open: function (t) { var i = n.extend({ of: this.active }, this.options.position); clearTimeout(this.timer); this.element .find(".ui-menu") .not(t.parents(".ui-menu")) .hide() .attr("aria-hidden", "true"); t.show() .removeAttr("aria-hidden") .attr("aria-expanded", "true") .position(i); }, collapseAll: function (t, i) { clearTimeout(this.timer); this.timer = this._delay(function () { var r = i ? this.element : n(t && t.target).closest(this.element.find(".ui-menu")); r.length || (r = this.element); this._close(r); this.blur(t); this.activeMenu = r; }, this.delay); }, _close: function (n) { n || (n = this.active ? this.active.parent() : this.element); n.find(".ui-menu") .hide() .attr("aria-hidden", "true") .attr("aria-expanded", "false") .end() .find("a.ui-state-active") .removeClass("ui-state-active"); }, collapse: function (n) { var t = this.active && this.active.parent().closest(".ui-menu-item", this.element); t && t.length && (this._close(), this.focus(n, t)); }, expand: function (n) { var t = this.active && this.active.children(".ui-menu ").children(".ui-menu-item").first(); t && t.length && (this._open(t.parent()), this._delay(function () { this.focus(n, t); })); }, next: function (n) { this._move("next", "first", n); }, previous: function (n) { this._move("prev", "last", n); }, isFirstItem: function () { return this.active && !this.active.prevAll(".ui-menu-item").length; }, isLastItem: function () { return this.active && !this.active.nextAll(".ui-menu-item").length; }, _move: function (n, t, i) { var r; this.active && (r = "first" === n || "last" === n ? this.active["first" === n ? "prevAll" : "nextAll"]( ".ui-menu-item" ).eq(-1) : this.active[n + "All"](".ui-menu-item").eq(0)); (r && r.length && this.active) || (r = this.activeMenu.children(".ui-menu-item")[t]()); this.focus(i, r); }, nextPage: function (t) { var i, r, u; return this.active ? (this.isLastItem() || (this._hasScroll() ? ((r = this.active.offset().top), (u = this.element.height()), this.active.nextAll(".ui-menu-item").each(function () { return (i = n(this)), 0 > i.offset().top - r - u; }), this.focus(t, i)) : this.focus( t, this.activeMenu .children(".ui-menu-item") [this.active ? "last" : "first"]() )), undefined) : (this.next(t), undefined); }, previousPage: function (t) { var i, r, u; return this.active ? (this.isFirstItem() || (this._hasScroll() ? ((r = this.active.offset().top), (u = this.element.height()), this.active.prevAll(".ui-menu-item").each(function () { return (i = n(this)), i.offset().top - r + u > 0; }), this.focus(t, i)) : this.focus( t, this.activeMenu.children(".ui-menu-item").first() )), undefined) : (this.next(t), undefined); }, _hasScroll: function () { return this.element.outerHeight() < this.element.prop("scrollHeight"); }, select: function (t) { this.active = this.active || n(t.target).closest(".ui-menu-item"); var i = { item: this.active }; this.active.has(".ui-menu").length || this.collapseAll(t, !0); this._trigger("select", t, i); }, }); })(jQuery); !(function (n, t, i, r) { "function" == typeof define && define.amd ? define(function () { return (n.fullpage = r(t, i)), n.fullpage; }) : "object" == typeof exports ? (module.exports = r(t, i)) : (t.fullpage = r(t, i)); })(this, window, document, function (n, t) { "use strict"; function b(t, i) { n.console && n.console[t] && n.console[t]("fullPage: " + i); } function i(n, i) { return (i = 1 < arguments.length ? i : t) ? i.querySelectorAll(n) : null; } function ft(n) { var r, u, t, i; for (n = n || {}, r = 1, u = arguments.length; r < u; ++r) if (((t = arguments[r]), t)) for (i in t) t.hasOwnProperty(i) && (n[i] = "[object Object]" !== Object.prototype.toString.call(t[i]) ? t[i] : ft(n[i], t[i])); return n; } function h(n, t) { return ( null != n && (n.classList ? n.classList.contains(t) : new RegExp("(^| )" + t + "( |$)", "gi").test(n.className)) ); } function d() { return "innerHeight" in n ? n.innerHeight : t.documentElement.offsetHeight; } function vt() { return n.innerWidth; } function f(n, t) { var i, r; for (i in ((n = tt(n)), t)) if (t.hasOwnProperty(i) && null !== i) for (r = 0; r < n.length; r++) n[r].style[i] = t[i]; return n; } function ui(n, t, i) { for (var r = n[i]; r && !a(r, t); ) r = r[i]; return r; } function fi(n, t) { return ui(n, t, "previousElementSibling"); } function ei(n, t) { return ui(n, t, "nextElementSibling"); } function ir(n) { return n.previousElementSibling; } function oi(n) { return n.nextElementSibling; } function rr(n) { return n[n.length - 1]; } function o(n, t) { n = yt(n) ? n[0] : n; for ( var u = null != t ? i(t, n.parentNode) : n.parentNode.childNodes, f = 0, r = 0; r < u.length; r++ ) { if (u[r] == n) return f; 1 == u[r].nodeType && f++; } return -1; } function tt(n) { return yt(n) ? n : [n]; } function si(n) { n = tt(n); for (var t = 0; t < n.length; t++) n[t].style.display = "none"; return n; } function ur(n) { n = tt(n); for (var t = 0; t < n.length; t++) n[t].style.display = "block"; return n; } function yt(n) { return ( "[object Array]" === Object.prototype.toString.call(n) || "[object NodeList]" === Object.prototype.toString.call(n) ); } function e(n, t) { var i, r; for (n = tt(n), i = 0; i < n.length; i++) (r = n[i]), r.classList ? r.classList.add(t) : (r.className += " " + t); return n; } function l(n, t) { var f, r, u, i; for (n = tt(n), f = t.split(" "), r = 0; r < f.length; r++) for (t = f[r], u = 0; u < n.length; u++) (i = n[u]), i.classList ? i.classList.remove(t) : (i.className = i.className.replace( new RegExp( "(^|\\b)" + t.split(" ").join("|") + "(\\b|$)", "gi" ), " " )); return n; } function pt(n, t) { t.appendChild(n); } function fr(n, i, r) { var e, u, f; for (i = i || t.createElement("div"), u = 0; u < n.length; u++) (f = n[u]), ((!r || u) && r) || ((e = i.cloneNode(!0)), f.parentNode.insertBefore(e, f)), e.appendChild(f); return n; } function hi(n, t) { fr(n, t, !0); } function er(n, t) { for ( "string" == typeof t && (t = rt(t)), n.appendChild(t); n.firstChild !== t; ) t.appendChild(n.firstChild); } function or(n) { for (var i = t.createDocumentFragment(); n.firstChild; ) i.appendChild(n.firstChild); n.parentNode.replaceChild(i, n); } function c(n, t) { return n && 1 === n.nodeType ? (a(n, t) ? n : c(n.parentNode, t)) : null; } function wt(n, t) { li(n, n.nextSibling, t); } function ci(n, t) { li(n, n, t); } function li(n, t, i) { yt(i) || ("string" == typeof i && (i = rt(i)), (i = [i])); for (var r = 0; r < i.length; r++) n.parentNode.insertBefore(i[r], t); } function et() { var i = t.documentElement; return (n.pageYOffset || i.scrollTop) - (i.clientTop || 0); } function it(n) { return Array.prototype.filter.call(n.parentNode.children, function (t) { return t !== n; }); } function k(n) { n.preventDefault ? n.preventDefault() : (n.returnValue = !1); } function y(n) { if ("function" == typeof n) return !0; var t = Object.prototype.toString(n); return "[object Function]" === t || "[object GeneratorFunction]" === t; } function ai(i, r, u) { var f; u = void 0 === u ? {} : u; "function" == typeof n.CustomEvent ? (f = new CustomEvent(r, { detail: u })) : (f = t.createEvent("CustomEvent")).initCustomEvent(r, !0, !0, u); i.dispatchEvent(f); } function a(n, t) { return ( n.matches || n.matchesSelector || n.msMatchesSelector || n.mozMatchesSelector || n.webkitMatchesSelector || n.oMatchesSelector ).call(n, t); } function vi(n, t) { if ("boolean" == typeof t) for (var i = 0; i < n.length; i++) n[i].style.display = t ? "block" : "none"; return n; } function rt(n) { var i = t.createElement("div"); return (i.innerHTML = n.trim()), i.firstChild; } function sr(n) { var i, t; for (n = tt(n), i = 0; i < n.length; i++) (t = n[i]), t && t.parentElement && t.parentNode.removeChild(t); } function yi(n, t, i) { for (var r = n[i], u = []; r; ) (a(r, t) || null == t) && u.push(r), (r = r[i]); return u; } function hr(n, t) { return yi(n, t, "nextElementSibling"); } function cr(n, t) { return yi(n, t, "previousElementSibling"); } var pi = "fullpage-wrapper", wi = "." + pi, ot = "fp-responsive", bt = "fp-notransition", kt = "fp-destroyed", ct = "fp-enabled", dt = "fp-viewing", s = "active", ut = "." + s, nt = "fp-completely", st = "fp-section", r = "." + st, u = r + ut, bi = "fp-tableCell", ki = "." + bi, lr = "fp-auto-height", ar = "fp-normal-scroll", di = "fp-nav", w = "#" + di, vr = "fp-tooltip", gt = "fp-slide", v = "." + gt, p = v + ut, ht = "fp-slides", g = "." + ht, ni = "fp-slidesContainer", ti = "." + ni, ii = "fp-table", gi = "fp-slidesNav", lt = "." + gi, nr = lt + " a", at = ".fp-controlArrow", yr = "fp-prev", ri = at + ".fp-prev", tr = at + ".fp-next"; return ( n.NodeList && !NodeList.prototype.forEach && (NodeList.prototype.forEach = function (t, i) { i = i || n; for (var r = 0; r < this.length; r++) t.call(i, this[r], r, this); }), (n.fp_utils = { $: i, deepExtend: ft, hasClass: h, getWindowHeight: d, css: f, until: ui, prevUntil: fi, nextUntil: ei, prev: ir, next: oi, last: rr, index: o, getList: tt, hide: si, show: ur, isArrayOrList: yt, addClass: e, removeClass: l, appendTo: pt, wrap: fr, wrapAll: hi, wrapInner: er, unwrap: or, closest: c, after: wt, before: ci, insertBefore: li, getScrollTop: et, siblings: it, preventDefault: k, isFunction: y, trigger: ai, matches: a, toggle: vi, createElementFromHTML: rt, remove: sr, filter: function (n, t) { Array.prototype.filter.call(n, t); }, untilAll: yi, nextAll: hr, prevAll: cr, showError: b, }), function (tt, yt) { function ru(n, t) { var r, e; n || wu(0); bf("autoScrolling", n, t); r = i(u)[0]; yt.autoScrolling && !yt.scrollBar ? (f(kf, { overflow: "hidden", height: "100%" }), le(nu.recordHistory, "internal"), f(li, { "-ms-touch-action": "none", "touch-action": "none" }), null != r && wu(r.offsetTop)) : (f(kf, { overflow: "visible", height: "initial" }), le(!!yt.autoScrolling && nu.recordHistory, "internal"), f(li, { "-ms-touch-action": "", "touch-action": "" }), null != r) && ((e = ge(r.offsetTop)), e.element.scrollTo(0, e.options)); } function le(n, t) { bf("recordHistory", n, t); } function su(n, t) { bf("scrollingSpeed", n, t); } function ae(n, t) { bf("fitToSection", n, t); } function ve(i) { i ? ((function () { var i, r = "", u, f; n.addEventListener ? (i = "addEventListener") : ((i = "attachEvent"), (r = "on")); u = "onwheel" in t.createElement("div") ? "wheel" : void 0 !== t.onmousewheel ? "mousewheel" : "DOMMouseScroll"; f = !!yo && { passive: !1 }; "DOMMouseScroll" == u ? t[i](r + "MozMousePixelScroll", uu, f) : t[i](r + u, uu, f); })(), li.addEventListener("mousedown", ds), li.addEventListener("mouseup", gs)) : (t.addEventListener ? (t.removeEventListener("mousewheel", uu, !1), t.removeEventListener("wheel", uu, !1), t.removeEventListener("MozMousePixelScroll", uu, !1)) : t.detachEvent("onmousewheel", uu), li.removeEventListener("mousedown", ds), li.removeEventListener("mouseup", gs)); } function ye(n, t) { void 0 !== t ? (t = t.replace(/ /g, "").split(",")).forEach(function (t) { wf(n, t, "m"); }) : wf(n, "all", "m"); } function hu(n) { n ? (ve(!0), (function () { if (du || gu) { yt.autoScrolling && (fr.removeEventListener(kr.touchmove, ke, { passive: !1 }), fr.addEventListener(kr.touchmove, ke, { passive: !1 })); var n = yt.touchWrapper; n.removeEventListener(kr.touchstart, de); n.removeEventListener(kr.touchmove, cf, { passive: !1 }); n.addEventListener(kr.touchstart, de); n.addEventListener(kr.touchmove, cf, { passive: !1 }); } })()) : (ve(!1), (function () { if (du || gu) { yt.autoScrolling && (fr.removeEventListener(kr.touchmove, cf, { passive: !1 }), fr.removeEventListener(kr.touchmove, ke, { passive: !1 })); var n = yt.touchWrapper; n.removeEventListener(kr.touchstart, de); n.removeEventListener(kr.touchmove, cf, { passive: !1 }); } })()); } function go(n, t) { void 0 !== t ? (t = t.replace(/ /g, "").split(",")).forEach(function (t) { wf(n, t, "k"); }) : (wf(n, "all", "k"), (yt.keyboardScrolling = n)); } function cu() { var n = fi(i(u)[0], r); !n && (yt.loopTop || yt.continuousVertical) && (n = rr(i(r))); null != n && fu(n, null, !0); } function ef() { var n = ei(i(u)[0], r); !n && (yt.loopBottom || yt.continuousVertical) && (n = i(r)[0]); null != n && fu(n, null, !1); } function pe(n, t) { su(0, "internal"); lu(n, t); su(nu.scrollingSpeed, "internal"); } function lu(n, t) { var i = fo(n); void 0 !== t ? eo(n, t) : null != i && fu(i); } function of(n) { cs("right", n); } function sf(n) { cs("left", n); } function we(t) { var c, s, l; if (!h(li, kt)) { for ( br = !0, pr = d(), gf = vt(), c = i(r), s = 0; s < c.length; ++s ) { var e = c[s], a = i(g, e)[0], w = i(v, e); yt.verticalCentered && f(i(ki, e), { height: sh(e) + "px" }); f(e, { height: pr + "px" }); 1 < w.length && pu(a, i(p, a)[0]); } yt.scrollOverflow && nf.createScrollBarForAll(); l = o(i(u)[0], r); l && pe(l + 1); br = !1; y(yt.afterResize) && t && yt.afterResize.call(li, n.innerWidth, n.innerHeight); y(yt.afterReBuild) && !t && yt.afterReBuild.call(li); } } function ns() { return h(fr, ot); } function hf(n) { var t = ns(); n ? t || (ru(!1, "internal"), ae(!1, "internal"), si(i(w)), e(fr, ot), y(yt.afterResponsive) && yt.afterResponsive.call(li, n), yt.scrollOverflow && nf.createScrollBarForAll()) : t && (ru(nu.autoScrolling, "internal"), ae(nu.autoScrolling, "internal"), ur(i(w)), l(fr, ot), y(yt.afterResponsive) && yt.afterResponsive.call(li, n)); } function ts(n) { var t = n.target; t && c(t, w + " a") ? function (n) { k(n); var t = o(c(this, w + " li")); fu(i(r)[t]); }.call(t, n) : a(t, ".fp-tooltip") ? function () { ai(ir(this), "click"); }.call(t) : a(t, at) ? function () { var n = c(this, r); h(this, yr) ? yi.m.left && sf(n) : yi.m.right && of(n); }.call(t, n) : a(t, nr) || null != c(t, nr) ? function (n) { k(n); var t = i(g, c(this, r))[0], u = i(v, t)[o(c(this, "li"))]; pu(t, u); }.call(t, n) : c(t, yt.menu + " [data-menuanchor]") && function (n) { i(yt.menu)[0] && (yt.lockAnchors || !yt.anchors.length) && (k(n), lu(this.getAttribute("data-menuanchor"))); }.call(t, n); } function is(n, i) { t["fp_" + n] = i; t.addEventListener(n, rs, !0); } function rs(n) { var r = n.type, u = !1, f = yt.scrollOverflow, i = "mouseleave" === r ? n.toElement || n.relatedTarget : n.target; if (i == t || !i) return hu(!0), void (f && yt.scrollOverflowHandler.setIscroll(i, !0)); "touchend" === r && ((oe = !1), setTimeout(function () { oe = !0; }, 800)); ("mouseenter" !== r || oe) && (yt.normalScrollElements.split(",").forEach(function (n) { if (!u) { var t = a(i, n), r = c(i, n); (t || r) && (ui.shared.isNormalScrollElement || (hu(!1), f && yt.scrollOverflowHandler.setIscroll(i, !1)), (ui.shared.isNormalScrollElement = !0), (u = !0)); } }), !u && ui.shared.isNormalScrollElement && (hu(!0), f && yt.scrollOverflowHandler.setIscroll(i, !0), (ui.shared.isNormalScrollElement = !1))); } function us() { var n = d(), t = vt(); (pr === n && gf === t) || ((pr = n), (gf = t), we(!0)); } function rc(n, h, c) { var k = 100 * c, d = 100 / c, w = t.createElement("div"), l, b, y, a; w.className = ht; hi(h, w); y = t.createElement("div"); y.className = ni; hi(h, y); f(i(ti, n), { width: k + "%" }); 1 < c && (yt.controlArrows && ((l = n), (b = [ rt('
        '), rt('
        '), ]), wt(i(g, l)[0], b), "#fff" !== yt.controlArrowColor && (f(i(tr, l), { "border-color": "transparent transparent transparent " + yt.controlArrowColor, }), f(i(ri, l), { "border-color": "transparent " + yt.controlArrowColor + " transparent transparent", })), yt.loopHorizontal || si(i(ri, l))), yt.slidesNavigation && (function (n, t) { var r, u, o; for ( pt(rt('
          '), n), r = i(lt, n)[0], e(r, "fp-" + yt.slidesNavPosition), u = 0; u < t; u++ ) (o = i(v, n)[u]), pt( rt( '
        • ' + fs(u, "Slide", o) + "
        • " ), i("ul", r)[0] ); f(r, { "margin-left": "-" + r.innerWidth / 2 + "px" }); e(i("a", i("li", r)[0]), s); })(n, c)); h.forEach(function (n) { f(n, { width: d + "%" }); yt.verticalCentered && oh(n); }); a = i(p, n)[0]; null != a && (0 !== o(i(u), r) || (0 === o(i(u), r) && 0 !== o(a))) ? yh(a, "internal") : e(h[0], s); } function fs(n, t, i) { var r = "Section" === t ? yt.anchors[n] : i.getAttribute("data-anchor"); return yt.navigationTooltips[n] || r || t + " " + (n + 1); } function es() { var f, t, n = i(u)[0]; e(n, nt); yu(n); as(); vf(n); yt.scrollOverflow && yt.scrollOverflowHandler.afterLoad(); f = io(); t = fo(f.section); (f.section && t && (void 0 === t || o(t) !== o(so))) || !y(yt.afterLoad) || dr("afterLoad", { activeSection: n, element: n, direction: null, anchorLink: n.getAttribute("data-anchor"), sectionIndex: o(n, r), }); y(yt.afterRender) && dr("afterRender"); } function os() { var n, g, w, tt, rt, ut, t; if (!br && (!yt.autoScrolling || yt.scrollBar)) { var f = et(), ct = ((ut = bo < (rt = f) ? "down" : "up"), (he = bo = rt), ut), c = 0, lt = f + d() / 2, at = fr.offsetHeight - d() === f, a = i(r); if (at) c = a.length - 1; else if (f) for (t = 0; t < a.length; ++t) a[t].offsetTop <= lt && (c = t); else c = 0; if ( ((g = ct), (w = i(u)[0].offsetTop), (tt = w + d()), ("up" != g ? w <= et() : tt >= et() + d()) && (h(i(u)[0], nt) || (e(i(u)[0], nt), l(it(i(u)[0]), nt))), !h((n = a[c]), s)) ) { se = !0; var ft, ot, b = i(u)[0], vt = o(b, r) + 1, pt = uo(n), v = n.getAttribute("data-anchor"), st = o(n, r) + 1, k = i(p, n)[0], ht = { activeSection: b, sectionIndex: st - 1, anchorLink: v, element: n, leavingSection: vt, direction: pt, }; k && ((ot = k.getAttribute("data-anchor")), (ft = o(k))); wr && (e(n, s), l(it(n), s), y(yt.onLeave) && dr("onLeave", ht), y(yt.afterLoad) && dr("afterLoad", ht), to(b), yu(n), vf(n), ro(v, st - 1), yt.anchors.length && (tu = v), oo(ft, ot, v)); clearTimeout(re); re = setTimeout(function () { se = !1; }, 100); } yt.fitToSection && (clearTimeout(ue), (ue = setTimeout(function () { yt.fitToSection && i(u)[0].offsetHeight <= pr && ss(); }, yt.fitToSectionDelay))); } } function ss() { wr && ((br = !0), fu(i(u)[0]), (br = !1)); } function be(n) { var t, r, f; if (yi.m[n]) if (((t = "down" === n ? ef : cu), yt.scrollOverflow)) if ( ((r = yt.scrollOverflowHandler.scrollable(i(u)[0])), (f = "down" === n ? "bottom" : "top"), null != r) ) { if (!yt.scrollOverflowHandler.isScrolled(f, r)) return !0; t(); } else t(); else t(); } function ke(n) { yt.autoScrolling && lf(n) && yi.m.up && k(n); } function cf(t) { var f = c(t.target, r) || i(u)[0], e; lf(t) && (yt.autoScrolling && k(t), (e = vh(t)), (ou = e.y), (uf = e.x), i(g, f).length && Math.abs(rf - uf) > Math.abs(eu - ou) ? !gr && Math.abs(rf - uf) > (vt() / 100) * yt.touchSensitivity && (uf < rf ? yi.m.right && of(f) : yi.m.left && sf(f)) : yt.autoScrolling && wr && Math.abs(eu - ou) > (n.innerHeight / 100) * yt.touchSensitivity && (ou < eu ? be("down") : eu < ou && be("up"))); } function lf(n) { return void 0 === n.pointerType || "mouse" != n.pointerType; } function de(n) { if ((yt.fitToSection && (tf = !1), lf(n))) { var t = vh(n); eu = t.y; rf = t.x; } } function hs(n, t) { for ( var r = 0, u = n.slice(Math.max(n.length - t, 1)), i = 0; i < u.length; i++ ) r += u[i]; return Math.ceil(r / t); } function uu(t) { var r = new Date().getTime(), o = h(i(".fp-completely")[0], ar), f, e; if (!yi.m.down && !yi.m.up) return k(t), !1; if (yt.autoScrolling && !ku && !o) { var u = (t = t || n.event).wheelDelta || -t.deltaY || -t.detail, s = Math.max(-1, Math.min(1, u)), c = void 0 !== t.wheelDeltaX || void 0 !== t.deltaX, l = Math.abs(t.wheelDeltaX) < Math.abs(t.wheelDelta) || Math.abs(t.deltaX) < Math.abs(t.deltaY) || !c; return ( 149 < iu.length && iu.shift(), iu.push(Math.abs(u)), yt.scrollBar && k(t), (f = r - ko), ((ko = r), 200 < f && (iu = []), wr) && ((e = hs(iu, 10)), hs(iu, 70) <= e && l && be(s < 0 ? "down" : "up")), !1 ); } yt.fitToSection && (tf = !1); } function cs(n, t) { var s = null == t ? i(u)[0] : t, r = i(g, s)[0], f, e, o; if (!(null == r || gr || i(v, r).length < 2)) { if ( ((f = i(p, r)[0]), (e = null), null == (e = "left" === n ? fi(f, v) : ei(f, v))) ) { if (!yt.loopHorizontal) return; o = it(f); e = "left" === n ? o[o.length - 1] : o[0]; } gr = !ui.test.isTesting; pu(r, e, n); } } function ls() { for (var t = i(p), n = 0; n < t.length; n++) yh(t[n], "internal"); } function fu(n, t, f) { var w, b, tt, v, k, d, g, rt, ut, c, nt, a; if ( null != n && ((c = { element: n, callback: t, isMovementUp: f, dtop: ((b = (w = n).offsetHeight), (tt = w.offsetTop), (k = he < (v = tt)), (d = v - pr + b), (g = yt.bigSectionsDestination), pr < b ? ((k || g) && "bottom" !== g) || (v = d) : (k || (br && null == oi(w))) && (v = d), (he = v)), yMovement: uo(n), anchorLink: n.getAttribute("data-anchor"), sectionIndex: o(n, r), activeSlide: i(p, n)[0], activeSection: i(u)[0], leavingSection: o(i(u), r) + 1, localIsResizing: br, }), !( (c.activeSection == n && !br) || (yt.scrollBar && et() === c.dtop && !h(n, lr)) )) ) { if ( (null != c.activeSlide && ((rt = c.activeSlide.getAttribute("data-anchor")), (ut = o(c.activeSlide))), !c.localIsResizing) && ((nt = c.yMovement), void 0 !== f && (nt = f ? "up" : "down"), (c.direction = nt), y(yt.onLeave) && !1 === dr("onLeave", c)) ) return; yt.autoScrolling && yt.continuousVertical && void 0 !== c.isMovementUp && ((!c.isMovementUp && "up" == c.yMovement) || (c.isMovementUp && "down" == c.yMovement)) && ((a = c).isMovementUp ? ci(i(u)[0], hr(a.activeSection, r)) : wt(i(u)[0], cr(a.activeSection, r).reverse()), wu(i(u)[0].offsetTop), ls(), (a.wrapAroundElements = a.activeSection), (a.dtop = a.element.offsetTop), (a.yMovement = uo(a.element)), (c = a)); c.localIsResizing || to(c.activeSection); yt.scrollOverflow && yt.scrollOverflowHandler.beforeLeave(); e(n, s); l(it(n), s); yu(n); yt.scrollOverflow && yt.scrollOverflowHandler.onLeave(); wr = ui.test.isTesting; oo(ut, rt, c.anchorLink, c.sectionIndex), (function (n) { var t = yt.scrollingSpeed < 700, u = t ? 700 : yt.scrollingSpeed, r, i; yt.css3 && yt.autoScrolling && !yt.scrollBar ? ((r = "translate3d(0px, -" + Math.round(n.dtop) + "px, 0px)"), hh(r, !0), yt.scrollingSpeed ? (clearTimeout(ie), (ie = setTimeout(function () { af(n); wr = !t; }, yt.scrollingSpeed))) : af(n)) : ((i = ge(n.dtop)), (ui.test.top = -n.dtop + "px"), bh(i.element, i.options, yt.scrollingSpeed, function () { yt.scrollBar ? setTimeout(function () { af(n); }, 30) : (af(n), (wr = !t)); })); t && (clearTimeout(ee), (ee = setTimeout(function () { wr = !0; }, u))); })(c); tu = c.anchorLink; ro(c.anchorLink, c.sectionIndex); } } function dr(n, t) { var e, s, r, o, f = ((s = n), (r = t), (o = yt.v2compatible ? { afterRender: function () { return [li]; }, onLeave: function () { return [ r.activeSection, r.leavingSection, r.sectionIndex + 1, r.direction, ]; }, afterLoad: function () { return [r.element, r.anchorLink, r.sectionIndex + 1]; }, afterSlideLoad: function () { return [ r.destiny, r.anchorLink, r.sectionIndex + 1, r.slideAnchor, r.slideIndex, ]; }, onSlideLeave: function () { return [ r.prevSlide, r.anchorLink, r.sectionIndex + 1, r.prevSlideIndex, r.direction, r.slideIndex, ]; }, } : { afterRender: function () { return { section: au(i(u)[0]), slide: vu(i(p, i(u)[0])[0]), }; }, onLeave: function () { return { origin: au(r.activeSection), destination: au(r.element), direction: r.direction, }; }, afterLoad: function () { return o.onLeave(); }, afterSlideLoad: function () { return { section: au(r.section), origin: vu(r.prevSlide), destination: vu(r.destiny), direction: r.direction, }; }, onSlideLeave: function () { return o.afterSlideLoad(); }, })[s]()); if (yt.v2compatible) { if (!1 === yt[n].apply(f[0], f.slice(1))) return !1; } else if ( (ai(li, n, f), !1 === yt[n].apply( f[Object.keys(f)[0]], ((e = f), Object.keys(e).map(function (n) { return e[n]; })) )) ) return !1; return !0; } function au(n) { return n ? new gh(n) : null; } function vu(n) { return n ? new oc(n) : null; } function ge(t) { var r = {}; return ( yt.autoScrolling && !yt.scrollBar ? ((r.options = -t), (r.element = i(wi)[0])) : ((r.options = t), (r.element = n)), r ); } function af(n) { var t; null != (t = n).wrapAroundElements && (t.isMovementUp ? ci(i(r)[0], t.wrapAroundElements) : wt(i(r)[i(r).length - 1], t.wrapAroundElements), wu(i(u)[0].offsetTop), ls()); y(yt.afterLoad) && !n.localIsResizing && dr("afterLoad", n); yt.scrollOverflow && yt.scrollOverflowHandler.afterLoad(); n.localIsResizing || vf(n.element); e(n.element, nt); l(it(n.element), nt); as(); wr = !0; y(n.callback) && n.callback(); } function no(n, t) { n.setAttribute(t, n.getAttribute("data-" + t)); n.removeAttribute("data-" + t); } function as() { var n = i(".fp-auto-height")[0] || (ns() && i(".fp-auto-height-responsive")[0]); yt.lazyLoading && n && i(r + ":not(" + ut + ")").forEach(function (n) { var t, i, r; t = n.getBoundingClientRect(); i = t.top; r = t.bottom; ((i + 2 < pr && 0 < i) || (2 < r && r < pr)) && yu(n); }); } function yu(n) { yt.lazyLoading && i( "img[data-src], img[data-srcset], source[data-src], source[data-srcset], video[data-src], audio[data-src], iframe[data-src]", yf(n) ).forEach(function (t) { if ( (["src", "srcset"].forEach(function (i) { var r = t.getAttribute("data-" + i); null != r && r && (no(t, i), t.addEventListener("load", function () { vs(n); })); }), a(t, "source")) ) { var i = c(t, "video, audio"); i && (i.load(), (i.onloadeddata = function () { vs(n); })); } }); } function vs(n) { yt.scrollOverflow && (clearTimeout(po), (po = setTimeout(function () { h(fr, ot) || nf.createScrollBar(n); }, 200))); } function vf(n) { var t = yf(n); i("video, audio", t).forEach(function (n) { n.hasAttribute("data-autoplay") && "function" == typeof n.play && n.play(); }); i('iframe[src*="youtube.com/embed/"]', t).forEach(function (n) { n.hasAttribute("data-autoplay") && ys(n); n.onload = function () { n.hasAttribute("data-autoplay") && ys(n); }; }); } function ys(n) { n.contentWindow.postMessage( '{"event":"command","func":"playVideo","args":""}', "*" ); } function to(n) { var t = yf(n); i("video, audio", t).forEach(function (n) { n.hasAttribute("data-keepplaying") || "function" != typeof n.pause || n.pause(); }); i('iframe[src*="youtube.com/embed/"]', t).forEach(function (n) { /youtube\.com\/embed\//.test(n.getAttribute("src")) && !n.hasAttribute("data-keepplaying") && n.contentWindow.postMessage( '{"event":"command","func":"pauseVideo","args":""}', "*" ); }); } function yf(n) { var t = i(p, n); return t.length && (n = t[0]), n; } function ps() { var t = io(), n = t.section, i = t.slide; n && (yt.animateAnchor ? eo(n, i) : pe(n, i)); } function ws() { if (!se && !yt.lockAnchors) { var i = io(), n = i.section, t = i.slide, r = void 0 === tu, u = void 0 === tu && void 0 === t && !gr; n && n.length && ((n && n !== tu && !r) || u || (!gr && df != t)) && eo(n, t); } } function io() { var f, e, r = n.location.hash, t, u, i; return ( r.length && ((t = r.replace("#", "").split("/")), (u = -1 < r.indexOf("#/")), (f = u ? "/" + t[1] : decodeURIComponent(t[0])), (i = u ? t[2] : t[1]), i && i.length && (e = decodeURIComponent(i))), { section: f, slide: e } ); } function bs(n) { clearTimeout(lo); var f = t.activeElement, e = n.keyCode; 9 === e ? (function (n) { function d(n) { return k(n), e[0] ? e[0].focus() : null; } var l, o, s, a, h, y, w, b = n.shiftKey, f = t.activeElement, e = nh(yf(i(u)[0])); ((l = n), (o = nh(t)), (s = o.indexOf(t.activeElement)), (a = l.shiftKey ? s - 1 : s + 1), (h = o[a]), (y = vu(c(h, v))), (w = au(c(h, r))), y || w) && (f ? null == c(f, u + "," + u + " " + p) && (f = d(n)) : d(n), ((!b && f == e[e.length - 1]) || (b && f == e[0])) && k(n)); })(n) : a(f, "textarea") || a(f, "input") || a(f, "select") || "true" === f.getAttribute("contentEditable") || "" === f.getAttribute("contentEditable") || !yt.keyboardScrolling || !yt.autoScrolling || (-1 < [40, 38, 32, 33, 34].indexOf(e) && k(n), (ku = n.ctrlKey), (lo = setTimeout(function () { !(function (n) { var e = n.shiftKey, u = t.activeElement, f = a(u, "video") || a(u, "audio"); if (wr || !([37, 39].indexOf(n.keyCode) < 0)) switch (n.keyCode) { case 38: case 33: yi.k.up && cu(); break; case 32: if (e && yi.k.up && !f) { cu(); break; } case 40: case 34: yi.k.down && ((32 === n.keyCode && f) || ef()); break; case 36: yi.k.up && lu(1); break; case 35: yi.k.down && lu(i(r).length); break; case 37: yi.k.left && sf(); break; case 39: yi.k.right && of(); } })(n); }, 150))); } function ks(n) { ne && (ku = n.ctrlKey); } function ds(n) { 2 == n.which && ((ff = n.pageY), li.addEventListener("mousemove", th)); } function gs(n) { 2 == n.which && li.removeEventListener("mousemove", th); } function nh(n) { return [].slice.call(i(tc, n)).filter(function (n) { return "-1" !== n.getAttribute("tabindex") && null !== n.offsetParent; }); } function uc() { ne = !0; } function fc() { ku = ne = !1; } function th(n) { yt.autoScrolling && (wr && (n.pageY < ff && yi.m.up ? cu() : n.pageY > ff && yi.m.down && ef()), (ff = n.pageY)); } function pu(n, t, u) { var w, b, v = c(n, r), a = { slides: n, destiny: t, direction: u, destinyPos: { left: t.offsetLeft }, slideIndex: o(t), section: v, sectionIndex: o(v, r), anchorLink: v.getAttribute("data-anchor"), slidesNav: i(lt, v)[0], slideAnchor: pf(t), prevSlide: i(p, v)[0], prevSlideIndex: o(i(p, v)[0]), localIsResizing: br, }; a.xMovement = ((w = a.prevSlideIndex), (b = a.slideIndex), w == b ? "none" : b < w ? "left" : "right"); a.direction = a.direction ? a.direction : a.xMovement; a.localIsResizing || (wr = !1); yt.onSlideLeave && !a.localIsResizing && "none" !== a.xMovement && y(yt.onSlideLeave) && !1 === dr("onSlideLeave", a) ? (gr = !1) : (e(t, s), l(it(t), s), a.localIsResizing || (to(a.prevSlide), yu(t)), !yt.loopHorizontal && yt.controlArrows && (vi(i(ri, v), 0 !== a.slideIndex), vi(i(tr, v), null != oi(t))), h(v, s) && !a.localIsResizing && oo(a.slideIndex, a.slideAnchor, a.anchorLink, a.sectionIndex), (function (n, t, r) { var u = t.destinyPos, e; yt.css3 ? ((e = "translate3d(-" + Math.round(u.left) + "px, 0px, 0px)"), (ui.test.translate3dH[t.sectionIndex] = e), f(fh(i(ti, n)), ph(e)), (co = setTimeout(function () { r && ih(t); }, yt.scrollingSpeed))) : ((ui.test.left[t.sectionIndex] = Math.round(u.left)), bh(n, Math.round(u.left), yt.scrollingSpeed, function () { r && ih(t); })); })(n, a, !0)); } function ih(n) { var t, r; t = n.slidesNav; r = n.slideIndex; yt.slidesNavigation && null != t && (l(i(ut, t), s), e(i("a", i("li", t)[r]), s)); n.localIsResizing || (y(yt.afterSlideLoad) && dr("afterSlideLoad", n), (wr = !0), vf(n.destiny)); gr = !1; } function rh() { br = !0; clearTimeout(te); te = setTimeout(function () { for (var n = 0; n < 4; n++) ho = setTimeout(ec, 200 * n); }, 200); } function ec() { var n, i; (uh(), du) ? ((n = t.activeElement), a(n, "textarea") || a(n, "input") || a(n, "select") || ((i = d()), Math.abs(i - ce) > Math.max(ce, i) / 5 && (we(!0), (ce = i)))) : us(); } function uh() { var t = yt.responsive || yt.responsiveWidth, i = yt.responsiveHeight, r = t && n.innerWidth < t, u = i && n.innerHeight < i; t && i ? hf(r || u) : t ? hf(r) : i && hf(u); } function fh(n) { var t = "all " + yt.scrollingSpeed + "ms " + yt.easingcss3; return l(n, bt), f(n, { "-webkit-transition": t, transition: t }); } function eh(n) { return e(n, bt); } function ro(n, t) { var u, r, f; u = n; i(yt.menu).forEach(function (n) { yt.menu && null != n && (l(i(ut, n), s), e(i('[data-menuanchor="' + u + '"]', n), s)); }); r = n; f = t; yt.navigation && null != i(w)[0] && (l(i(ut, i(w)[0]), s), e( r ? i('a[href="#' + r + '"]', i(w)[0]) : i("a", i("li", i(w)[0])[f]), s )); } function uo(n) { var t = o(i(u)[0], r), f = o(n, r); return t == f ? "none" : f < t ? "up" : "down"; } function oh(n) { if (!h(n, ii)) { var i = t.createElement("div"); i.className = bi; i.style.height = sh(n) + "px"; e(n, ii); er(n, i); } } function sh(n) { var i = pr, t, u; return ( (yt.paddingTop || yt.paddingBottom) && ((t = n), h(t, st) || (t = c(n, r)), (u = parseInt(getComputedStyle(t)["padding-top"]) + parseInt(getComputedStyle(t)["padding-bottom"])), (i = pr - u)), i ); } function hh(n, t) { t ? fh(li) : eh(li); f(li, ph(n)); ui.test.translate3d = n; setTimeout(function () { l(li, bt); }, 10); } function fo(n) { var t = i(r + '[data-anchor="' + n + '"]', li)[0], u; return t || ((u = void 0 !== n ? n - 1 : 0), (t = i(r)[u])), t; } function eo(n, t) { var r = fo(n), u, o, f, e; null != r && ((e = (null == (f = i(v + '[data-anchor="' + (u = t) + '"]', (o = r))[0]) && ((u = void 0 !== u ? u : 0), (f = i(v, o)[u])), f)), pf(r) === tu || h(r, s) ? ch(e) : fu(r, function () { ch(e); })); } function ch(n) { null != n && pu(c(n, g), n); } function oo(n, t, i) { var r = ""; yt.anchors.length && !yt.lockAnchors && (n ? (null != i && (r = i), null == t && (t = n), lh(r + "/" + (df = t))) : (null != n && (df = t), lh(i))); ah(); } function lh(t) { if (yt.recordHistory) location.hash = t; else if (du || gu) n.history.replaceState(void 0, void 0, "#" + t); else { var i = n.location.href.split("#")[0]; n.location.replace(i + "#" + t); } } function pf(n) { if (!n) return null; var t = n.getAttribute("data-anchor"), i = o(n); return null == t && (t = i), t; } function ah() { var t = i(u)[0], r = i(p, t)[0], o = pf(t), s = pf(r), n = String(o), f; r && (n = n + "-" + s); n = n.replace("/", "-").replace("#", ""); f = new RegExp("\\b\\s?" + dt + "-[^\\s]+\\b", "g"); fr.className = fr.className.replace(f, ""); e(fr, dt + "-" + n); } function vh(n) { var t = []; return ( (t.y = void 0 !== n.pageY && (n.pageY || n.pageX) ? n.pageY : n.touches[0].pageY), (t.x = void 0 !== n.pageX && (n.pageY || n.pageX) ? n.pageX : n.touches[0].pageX), gu && lf(n) && yt.scrollBar && void 0 !== n.touches && ((t.y = n.touches[0].pageY), (t.x = n.touches[0].pageX)), t ); } function yh(n, t) { su(0, "internal"); void 0 !== t && (br = !0); pu(c(n, g), n); void 0 !== t && (br = !1); su(nu.scrollingSpeed, "internal"); } function wu(n) { var t = Math.round(n), i; yt.css3 && yt.autoScrolling && !yt.scrollBar ? hh("translate3d(0px, -" + t + "px, 0px)", !1) : yt.autoScrolling && !yt.scrollBar ? (f(li, { top: -t + "px" }), (ui.test.top = -t + "px")) : ((i = ge(t)), kh(i.element, i.options)); } function ph(n) { return { "-webkit-transform": n, "-moz-transform": n, "-ms-transform": n, transform: n, }; } function wf(n, t, i) { "all" !== t ? (yi[i][t] = n) : Object.keys(yi[i]).forEach(function (t) { yi[i][t] = n; }); } function bf(n, t, i) { yt[n] = t; "internal" !== i && (nu[n] = t); } function wh() { var n = yt.licenseKey, t = "font-size: 15px;background:yellow;"; nc ? n && n.length < 20 && (console.warn( "%c This website was made using fullPage.js slider. More info on the following website:", t ), console.warn("%c https://alvarotrigo.com/fullPage/", t)) : (b( "error", "Fullpage.js version 3 has changed its license to GPLv3 and it requires a `licenseKey` option. Read about it here:" ), b("error", "https://github.com/alvarotrigo/fullPage.js#options.")); h(bu, ct) ? b( "error", "Fullpage.js can only be initialized once and you are doing it multiple times!" ) : (yt.continuousVertical && (yt.loopTop || yt.loopBottom) && ((yt.continuousVertical = !1), b( "warn", "Option `loopTop/loopBottom` is mutually exclusive with `continuousVertical`; `continuousVertical` disabled" )), !yt.scrollOverflow || (!yt.scrollBar && yt.autoScrolling) || b( "warn", "Options scrollBar:true and autoScrolling:false are mutually exclusive with scrollOverflow:true. Sections with scrollOverflow might not work well in Firefox" ), !yt.continuousVertical || (!yt.scrollBar && yt.autoScrolling) || ((yt.continuousVertical = !1), b( "warn", "Scroll bars (`scrollBar:true` or `autoScrolling:false`) are mutually exclusive with `continuousVertical`; `continuousVertical` disabled" )), yt.scrollOverflow && null == yt.scrollOverflowHandler && ((yt.scrollOverflow = !1), b( "error", "The option `scrollOverflow:true` requires the file `scrolloverflow.min.js`. Please include it before fullPage.js." )), ic.forEach(function (n) { yt[n] && b( "warn", "fullpage.js extensions require fullpage.extensions.min.js file instead of the usual fullpage.js. Requested: " + n ); }), yt.anchors.forEach(function (n) { var r = [].slice.call(i("[name]")).filter(function (t) { return ( t.getAttribute("name") && t.getAttribute("name").toLowerCase() == n.toLowerCase() ); }), t = [].slice.call(i("[id]")).filter(function (t) { return ( t.getAttribute("id") && t.getAttribute("id").toLowerCase() == n.toLowerCase() ); }), u; (t.length || r.length) && (b( "error", "data-anchor tags can not have the same value as any `id` element on the site (or `name` element for IE)." ), (u = t.length ? "id" : "name"), (t.length || r.length) && b( "error", '"' + n + '" is is being used by another element `' + u + "` property" )); })); } function bh(t, i, r, u) { var f, s = (f = t).self != n && h(f, ht) ? f.scrollLeft : !yt.autoScrolling || yt.scrollBar ? et() : f.offsetTop, c = i - s, e = 0, o; tf = !0; o = function () { if (tf) { var f = i; e += 20; r && (f = n.fp_easings[yt.easing](e, s, c, r)); kh(t, f); e < r ? setTimeout(o, 20) : void 0 !== u && u(); } else e < r && u(); }; o(); } function kh(t, i) { !yt.autoScrolling || yt.scrollBar || (t.self != n && h(t, ht)) ? t.self != n && h(t, ht) ? (t.scrollLeft = i) : t.scrollTo(0, i) : (t.style.top = i + "px"); } function dh(n, t) { this.anchor = n.getAttribute("data-anchor"); this.item = n; this.index = o(n, t); this.isLast = this.index === n.parentElement.querySelectorAll(t).length - 1; this.isFirst = !this.index; } function gh(n) { dh.call(this, n, r); } function oc(n) { dh.call(this, n, v); } var nc = (yt && new RegExp( "([\\d\\w]{8}-){3}[\\d\\w]{8}|^(?=.*?[A-Y])(?=.*?[a-y])(?=.*?[0-8])(?=.*?[#?!@$%^&*-]).{8,}$" ).test(yt.licenseKey)) || -1 < t.domain.indexOf("alvarotrigo.com"), kf = i("html, body"), bu = i("html")[0], fr = i("body")[0], ui, fe; if (!h(bu, ct)) { ui = {}; yt = ft( { menu: !1, anchors: [], lockAnchors: !1, navigation: !1, navigationPosition: "right", navigationTooltips: [], showActiveTooltip: !1, slidesNavigation: !1, slidesNavPosition: "bottom", scrollBar: !1, hybrid: !1, css3: !0, scrollingSpeed: 700, autoScrolling: !0, fitToSection: !0, fitToSectionDelay: 1e3, easing: "easeInOutCubic", easingcss3: "ease", loopBottom: !1, loopTop: !1, loopHorizontal: !0, continuousVertical: !1, continuousHorizontal: !1, scrollHorizontally: !1, interlockedSlides: !1, dragAndMove: !1, offsetSections: !1, resetSliders: !1, fadingEffect: !1, normalScrollElements: null, scrollOverflow: !1, scrollOverflowReset: !1, scrollOverflowHandler: n.fp_scrolloverflow ? n.fp_scrolloverflow.iscrollHandler : null, scrollOverflowOptions: null, touchSensitivity: 5, touchWrapper: "string" == typeof tt ? i(tt)[0] : tt, bigSectionsDestination: null, keyboardScrolling: !0, animateAnchor: !0, recordHistory: !0, controlArrows: !0, controlArrowColor: "#fff", verticalCentered: !0, sectionsColor: [], paddingTop: 0, paddingBottom: 0, fixedElements: null, responsive: 0, responsiveWidth: 0, responsiveHeight: 0, responsiveSlides: !1, parallax: !1, parallaxOptions: { type: "reveal", percentage: 62, property: "translate", }, cards: !1, cardsOptions: { perspective: 100, fadeContent: !0, fadeBackground: !0, }, sectionSelector: ".section", slideSelector: ".slide", v2compatible: !1, afterLoad: null, onLeave: null, afterRender: null, afterResize: null, afterReBuild: null, afterSlideLoad: null, onSlideLeave: null, afterResponsive: null, lazyLoading: !0, }, yt ); var tu, df, ku, so, gr = !1, du = navigator.userAgent.match( /(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/ ), gu = "ontouchstart" in n || 0 < navigator.msMaxTouchPoints || navigator.maxTouchPoints, li = "string" == typeof tt ? i(tt)[0] : tt, pr = d(), gf = vt(), br = !1, ne = !0, wr = !0, iu = [], yi = { m: { up: !0, down: !0, left: !0, right: !0 } }; yi.k = ft({}, yi.m); var nf, te, ho, ie, co, re, ue, lo, ao, vo = n.PointerEvent ? { down: "pointerdown", move: "pointermove" } : { down: "MSPointerDown", move: "MSPointerMove" }, kr = { touchmove: "ontouchmove" in n ? "touchmove" : vo.move, touchstart: "ontouchstart" in n ? "touchstart" : vo.down, }, tc = 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable]', yo = !1; try { fe = Object.defineProperty({}, "passive", { get: function () { yo = !0; }, }); n.addEventListener("testPassive", null, fe); n.removeEventListener("testPassive", null, fe); } catch (tt) {} var tf, po, ee, nu = ft({}, yt), wo = !1, oe = !0, ic = [ "parallax", "scrollOverflowReset", "dragAndMove", "offsetSections", "fadingEffect", "responsiveSlides", "continuousHorizontal", "interlockedSlides", "scrollHorizontally", "resetSliders", "cards", ]; wh(); n.fp_easings = ft(n.fp_easings, { easeInOutCubic: function (n, t, i, r) { return (n /= r / 2) < 1 ? (i / 2) * n * n * n + t : (i / 2) * ((n -= 2) * n * n + 2) + t; }, }); li && ((ui.version = "3.0.8"), (ui.setAutoScrolling = ru), (ui.setRecordHistory = le), (ui.setScrollingSpeed = su), (ui.setFitToSection = ae), (ui.setLockAnchors = function (n) { yt.lockAnchors = n; }), (ui.setMouseWheelScrolling = ve), (ui.setAllowScrolling = ye), (ui.setKeyboardScrolling = go), (ui.moveSectionUp = cu), (ui.moveSectionDown = ef), (ui.silentMoveTo = pe), (ui.moveTo = lu), (ui.moveSlideRight = of), (ui.moveSlideLeft = sf), (ui.fitToSection = ss), (ui.reBuild = we), (ui.setResponsive = hf), (ui.getFullpageData = function () { return yt; }), (ui.destroy = function (u) { ru(!1, "internal"); ye(!0); hu(!1); go(!1); e(li, kt); [co, ie, te, re, ue, ao, ho, ee].forEach(function (n) { clearTimeout(n); }); n.removeEventListener("scroll", os); n.removeEventListener("hashchange", ws); n.removeEventListener("resize", rh); t.removeEventListener("keydown", bs); t.removeEventListener("keyup", ks); ["click", "touchstart"].forEach(function (n) { t.removeEventListener(n, ts); }); ["mouseenter", "touchstart", "mouseleave", "touchend"].forEach( function (n) { t.removeEventListener(n, rs, !0); } ); u && (wu(0), i( "img[data-src], source[data-src], audio[data-src], iframe[data-src]", li ).forEach(function (n) { no(n, "src"); }), i("img[data-srcset]").forEach(function (n) { no(n, "srcset"); }), sr(i(w + ", " + lt + ", " + at)), f(i(r), { height: "", "background-color": "", padding: "" }), f(i(v), { width: "" }), f(li, { height: "", position: "", "-ms-touch-action": "", "touch-action": "", }), f(kf, { overflow: "", height: "" }), l(bu, ct), l(fr, ot), fr.className.split(/\s+/).forEach(function (n) { 0 === n.indexOf(dt) && l(fr, n); }), i(r + ", " + v).forEach(function (n) { yt.scrollOverflowHandler && yt.scrollOverflow && yt.scrollOverflowHandler.remove(n); l(n, ii + " " + s + " " + nt); var t = n.getAttribute("data-fp-styles"); t && n.setAttribute("style", n.getAttribute("data-fp-styles")); h(n, st) && !wo && n.removeAttribute("data-anchor"); }), eh(li), [ki, ti, g].forEach(function (n) { i(n, li).forEach(function (n) { or(n); }); }), f(li, { "-webkit-transition": "none", transition: "none" }), n.scrollTo(0, 0), [st, gt, ni].forEach(function (n) { l(i("." + n), n); })); }), (ui.getActiveSection = function () { return new gh(i(u)[0]); }), (ui.getActiveSlide = function () { return vu(i(p, i(u)[0])[0]); }), (ui.test = { top: "0px", translate3d: "translate3d(0px, 0px, 0px)", translate3dH: (function () { for (var n = [], t = 0; t < i(yt.sectionSelector, li).length; t++) n.push("translate3d(0px, 0px, 0px)"); return n; })(), left: (function () { for (var n = [], t = 0; t < i(yt.sectionSelector, li).length; t++) n.push(0); return n; })(), options: yt, setAutoScrolling: ru, }), (ui.shared = { afterRenderActions: es, isNormalScrollElement: !1 }), (n.fullpage_api = ui), yt.$ && Object.keys(ui).forEach(function (n) { yt.$.fn.fullpage[n] = ui[n]; }), yt.css3 && (yt.css3 = (function () { var r, i = t.createElement("p"), f = { webkitTransform: "-webkit-transform", OTransform: "-o-transform", msTransform: "-ms-transform", MozTransform: "-moz-transform", transform: "transform", }; for (var u in ((i.style.display = "block"), t.body.insertBefore(i, null), f)) void 0 !== i.style[u] && ((i.style[u] = "translate3d(1px,1px,1px)"), (r = n.getComputedStyle(i).getPropertyValue(f[u]))); return ( t.body.removeChild(i), void 0 !== r && 0 < r.length && "none" !== r ); })()), (yt.scrollBar = yt.scrollBar || yt.hybrid), (function () { var t, n, u, f; yt.anchors.length || ((t = "[data-anchor]"), (n = i(yt.sectionSelector.split(",").join(t + ",") + t, li)), n.length && n.length === i(r).length && ((wo = !0), n.forEach(function (n) { yt.anchors.push(n.getAttribute("data-anchor").toString()); }))); yt.navigationTooltips.length || ((u = "[data-tooltip]"), (f = i(yt.sectionSelector.split(",").join(u + ",") + u, li)), f.length && f.forEach(function (n) { yt.navigationTooltips.push( n.getAttribute("data-tooltip").toString() ); })); })(), (function () { var k, y, it, b, a, p; for ( f(li, { height: "100%", position: "relative" }), e(li, pi), e(bu, ct), pr = d(), l(li, kt), e(i(yt.sectionSelector, li), st), e(i(yt.slideSelector, li), gt), k = i(r), y = 0; y < k.length; y++ ) { var g = y, n = k[y], nt = i(v, n), tt = nt.length; n.setAttribute("data-fp-styles", n.getAttribute("style")); a = n; (p = g) || null != i(u)[0] || e(a, s); so = i(u)[0]; f(a, { height: pr + "px" }); yt.paddingTop && f(a, { "padding-top": yt.paddingTop }); yt.paddingBottom && f(a, { "padding-bottom": yt.paddingBottom }); void 0 !== yt.sectionsColor[p] && f(a, { "background-color": yt.sectionsColor[p] }); void 0 !== yt.anchors[p] && a.setAttribute("data-anchor", yt.anchors[p]); it = n; b = g; void 0 !== yt.anchors[b] && h(it, s) && ro(yt.anchors[b], b); yt.menu && yt.css3 && null != c(i(yt.menu)[0], wi) && i(yt.menu).forEach(function (n) { fr.appendChild(n); }); 0 < tt ? rc(n, nt, tt) : yt.verticalCentered && oh(n); } yt.fixedElements && yt.css3 && i(yt.fixedElements).forEach(function (n) { fr.appendChild(n); }); yt.navigation && (function () { var l = t.createElement("div"), v, h, f, n, a, c; for ( l.setAttribute("id", di), v = t.createElement("ul"), l.appendChild(v), pt(l, fr), h = i(w)[0], e(h, "fp-" + yt.navigationPosition), yt.showActiveTooltip && e(h, "fp-show-active"), f = "", n = 0; n < i(r).length; n++ ) (a = ""), yt.anchors.length && (a = yt.anchors[n]), (f += '
        • ' + fs(n, "Section") + ""), (c = yt.navigationTooltips[n]), void 0 !== c && "" !== c && (f += '
          ' + c + "
          "), (f += "
        • "); i("ul", h)[0].innerHTML = f; e(i("a", i("li", i(w)[0])[o(i(u)[0], r)]), s); })(); i('iframe[src*="youtube.com/embed/"]', li).forEach(function (n) { var i, r, t; r = "enablejsapi=1"; t = (i = n).getAttribute("src"); i.setAttribute("src", t + (/\?/.test(t) ? "&" : "?") + r); }); yt.scrollOverflow && (nf = yt.scrollOverflowHandler.init(yt)); })(), ye(!0), hu(!0), ru(yt.autoScrolling, "internal"), uh(), ah(), "complete" === t.readyState && ps(), n.addEventListener("load", ps), yt.scrollOverflow || es(), (function () { for (var n = 1; n < 4; n++) ao = setTimeout(us, 350 * n); })(), n.addEventListener("scroll", os), n.addEventListener("hashchange", ws), n.addEventListener("focus", uc), n.addEventListener("blur", fc), n.addEventListener("resize", rh), t.addEventListener("keydown", bs), t.addEventListener("keyup", ks), ["click", "touchstart"].forEach(function (n) { t.addEventListener(n, ts); }), yt.normalScrollElements && (["mouseenter", "touchstart"].forEach(function (n) { is(n, !1); }), ["mouseleave", "touchend"].forEach(function (n) { is(n, !0); }))); var se = !1, bo = 0, eu = 0, rf = 0, ou = 0, uf = 0, ko = new Date().getTime(), he = 0, ff = 0, ce = pr; return ui; } wh(); } ); }); window.jQuery && window.fullpage && (function (n, t) { "use strict"; n && t ? (n.fn.fullpage = function (i) { i = n.extend({}, i, { $: n }); new t(this[0], i); }) : window.fp_utils.showError( "error", "jQuery is required to use the jQuery fullpage adapter!" ); })(window.jQuery, window.fullpage); !(function (n, t, i, r) { "function" == typeof define && define.amd ? define(function () { return (n.fullpage = r(t, i)), n.fullpage; }) : "object" == typeof exports ? (module.exports = r(t, i)) : (t.fullpage = r(t, i)); })(this, window, document, function (n, t) { "use strict"; function d(t, i) { n.console && n.console[t] && n.console[t]("fullPage: " + i); } function i(n, i) { return (i = 1 < arguments.length ? i : t) ? i.querySelectorAll(n) : null; } function ut(n) { var r, u, t, i; for (n = n || {}, r = 1, u = arguments.length; r < u; ++r) if (((t = arguments[r]), t)) for (i in t) t.hasOwnProperty(i) && (n[i] = "[object Object]" !== Object.prototype.toString.call(t[i]) ? t[i] : ut(n[i], t[i])); return n; } function h(n, t) { return ( null != n && (n.classList ? n.classList.contains(t) : new RegExp("(^| )" + t + "( |$)", "gi").test(n.className)) ); } function g() { return "innerHeight" in n ? n.innerHeight : t.documentElement.offsetHeight; } function pt() { return n.innerWidth; } function o(n, t) { var i, r; for (i in ((n = tt(n)), t)) if (t.hasOwnProperty(i) && null !== i) for (r = 0; r < n.length; r++) n[r].style[i] = t[i]; return n; } function oi(n, t, i) { for (var r = n[i]; r && !l(r, t); ) r = r[i]; return r; } function si(n, t) { return oi(n, t, "previousElementSibling"); } function hi(n, t) { return oi(n, t, "nextElementSibling"); } function ci(n, t) { if (null == t) return n.previousElementSibling; var i = ci(n); return i && l(i, t) ? i : null; } function wt(n, t) { if (null == t) return n.nextElementSibling; var i = wt(n); return i && l(i, t) ? i : null; } function rr(n) { return n[n.length - 1]; } function f(n, t) { n = ht(n) ? n[0] : n; for ( var u = null != t ? i(t, n.parentNode) : n.parentNode.childNodes, f = 0, r = 0; r < u.length; r++ ) { if (u[r] == n) return f; 1 == u[r].nodeType && f++; } return -1; } function tt(n) { return ht(n) ? n : [n]; } function li(n) { n = tt(n); for (var t = 0; t < n.length; t++) n[t].style.display = "none"; return n; } function ur(n) { n = tt(n); for (var t = 0; t < n.length; t++) n[t].style.display = "block"; return n; } function ht(n) { return ( "[object Array]" === Object.prototype.toString.call(n) || "[object NodeList]" === Object.prototype.toString.call(n) ); } function e(n, t) { var i, r; for (n = tt(n), i = 0; i < n.length; i++) (r = n[i]), r.classList ? r.classList.add(t) : (r.className += " " + t); return n; } function a(n, t) { var f, r, u, i; for (n = tt(n), f = t.split(" "), r = 0; r < f.length; r++) for (t = f[r], u = 0; u < n.length; u++) (i = n[u]), i.classList ? i.classList.remove(t) : (i.className = i.className.replace( new RegExp( "(^|\\b)" + t.split(" ").join("|") + "(\\b|$)", "gi" ), " " )); return n; } function ct(n, t) { t.appendChild(n); } function fr(n, i, r) { var e, u, f; for (i = i || t.createElement("div"), u = 0; u < n.length; u++) (f = n[u]), ((!r || u) && r) || ((e = i.cloneNode(!0)), f.parentNode.insertBefore(e, f)), e.appendChild(f); return n; } function ai(n, t) { fr(n, t, !0); } function er(n, t) { for ( "string" == typeof t && (t = it(t)), n.appendChild(t); n.firstChild !== t; ) t.appendChild(n.firstChild); } function or(n) { for (var i = t.createDocumentFragment(); n.firstChild; ) i.appendChild(n.firstChild); n.parentNode.replaceChild(i, n); } function c(n, t) { return n && 1 === n.nodeType ? (l(n, t) ? n : c(n.parentNode, t)) : null; } function bt(n, t) { yi(n, n.nextSibling, t); } function vi(n, t) { yi(n, n, t); } function yi(n, t, i) { ht(i) || ("string" == typeof i && (i = it(i)), (i = [i])); for (var r = 0; r < i.length; r++) n.parentNode.insertBefore(i[r], t); } function kt() { var i = t.documentElement; return (n.pageYOffset || i.scrollTop) - (i.clientTop || 0); } function ft(n) { return Array.prototype.filter.call(n.parentNode.children, function (t) { return t !== n; }); } function k(n) { n.preventDefault ? n.preventDefault() : (n.returnValue = !1); } function y(n) { if ("function" == typeof n) return !0; var t = Object.prototype.toString(n); return "[object Function]" === t || "[object GeneratorFunction]" === t; } function w(i, r, u) { var f; u = void 0 === u ? {} : u; "function" == typeof n.CustomEvent ? (f = new CustomEvent(r, { detail: u })) : (f = t.createEvent("CustomEvent")).initCustomEvent(r, !0, !0, u); i.dispatchEvent(f); } function l(n, t) { return ( n.matches || n.matchesSelector || n.msMatchesSelector || n.mozMatchesSelector || n.webkitMatchesSelector || n.oMatchesSelector ).call(n, t); } function pi(n, t) { if ("boolean" == typeof t) for (var i = 0; i < n.length; i++) n[i].style.display = t ? "block" : "none"; return n; } function it(n) { var i = t.createElement("div"); return (i.innerHTML = n.trim()), i.firstChild; } function sr(n) { var i, t; for (n = tt(n), i = 0; i < n.length; i++) (t = n[i]), t && t.parentElement && t.parentNode.removeChild(t); } function wi(n, t, i) { for (var r = n[i], u = []; r; ) (l(r, t) || null == t) && u.push(r), (r = r[i]); return u; } function hr(n, t) { return wi(n, t, "nextElementSibling"); } function cr(n, t) { return wi(n, t, "previousElementSibling"); } function lr(n, t) { n.insertBefore(t, n.firstChild); } var bi = "fullpage-wrapper", dt = "." + bi, et = "fp-responsive", gt = "fp-notransition", ni = "fp-destroyed", lt = "fp-enabled", ti = "fp-viewing", s = "active", rt = "." + s, at = "fp-completely", ot = "fp-section", r = "." + ot, u = r + rt, ki = "fp-tableCell", di = "." + ki, ar = "fp-auto-height", vr = "fp-normal-scroll", gi = "fp-nav", b = "#" + gi, yr = "fp-tooltip", ii = "fp-slide", v = "." + ii, p = v + rt, st = "fp-slides", nt = "." + st, ri = "fp-slidesContainer", ui = "." + ri, fi = "fp-table", nr = "fp-slidesNav", vt = "." + nr, tr = vt + " a", yt = ".fp-controlArrow", pr = "fp-prev", ei = yt + ".fp-prev", ir = yt + ".fp-next"; return ( n.NodeList && !NodeList.prototype.forEach && (NodeList.prototype.forEach = function (t, i) { i = i || n; for (var r = 0; r < this.length; r++) t.call(i, this[r], r, this); }), (n.fp_utils = { $: i, deepExtend: ut, hasClass: h, getWindowHeight: g, css: o, until: oi, prevUntil: si, nextUntil: hi, prev: ci, next: wt, last: rr, index: f, getList: tt, hide: li, show: ur, isArrayOrList: ht, addClass: e, removeClass: a, appendTo: ct, wrap: fr, wrapAll: ai, wrapInner: er, unwrap: or, closest: c, after: bt, before: vi, insertBefore: yi, getScrollTop: kt, siblings: ft, preventDefault: k, isFunction: y, trigger: w, matches: l, toggle: pi, createElementFromHTML: it, remove: sr, filter: function (n, t) { Array.prototype.filter.call(n, t); }, untilAll: wi, nextAll: hr, prevAll: cr, showError: d, prependTo: lr, toggleClass: function (n, t, i) { if (n.classList && null == i) n.classList.toggle(t); else { var r = h(n, t); (r && null == i) || !i ? a(n, t) : ((!r && null == i) || i) && e(n, t); } }, }), function (tt, oi) { function au(n, t) { var r, f; n || wu(0); oe("autoScrolling", n, t); r = i(u)[0]; oi.autoScrolling && !oi.scrollBar ? (o(se, { overflow: "hidden", height: "100%" }), to(ou.recordHistory, "internal"), o(wi, { "-ms-touch-action": "none", "touch-action": "none" }), null != r && wu(r.offsetTop)) : (o(se, { overflow: "visible", height: "initial" }), to(!!oi.autoScrolling && ou.recordHistory, "internal"), o(wi, { "-ms-touch-action": "", "touch-action": "" }), kc(wi), null != r) && ((f = ao(r.offsetTop)), f.element.scrollTo(0, f.options)); w(wi, "setAutoScrolling", n); } function to(n, t) { oe("recordHistory", n, t); } function gu(n, t) { "internal" !== t && br("fadingEffect") && yi.fadingEffect.update(n); br("cards") && yi.cards.update(n); oe("scrollingSpeed", n, t); } function io(n, t) { oe("fitToSection", n, t); } function ro(i) { i ? ((function () { var i, r = "", u, f; n.addEventListener ? (i = "addEventListener") : ((i = "attachEvent"), (r = "on")); u = "onwheel" in t.createElement("div") ? "wheel" : void 0 !== t.onmousewheel ? "mousewheel" : "DOMMouseScroll"; f = !!ys && { passive: !1 }; "DOMMouseScroll" == u ? t[i](r + "MozMousePixelScroll", vu, f) : t[i](r + u, vu, f); })(), wi.addEventListener("mousedown", tc), wi.addEventListener("mouseup", ic)) : (t.addEventListener ? (t.removeEventListener("mousewheel", vu, !1), t.removeEventListener("wheel", vu, !1), t.removeEventListener("MozMousePixelScroll", vu, !1)) : t.detachEvent("onmousewheel", vu), wi.removeEventListener("mousedown", tc), wi.removeEventListener("mouseup", ic)); } function uo(n, t) { void 0 !== t ? (t = t.replace(/ /g, "").split(",")).forEach(function (t) { ee(n, t, "m"); }) : ee(n, "all", "m"); w(wi, "setAllowScrolling", { value: n, directions: t }); } function nf(n) { n ? (ro(!0), (function () { if ( (cf || bu) && (!br("dragAndMove") || "mouseonly" === oi.dragAndMove) ) { oi.autoScrolling && (wr.removeEventListener(ru.touchmove, co, { passive: !1 }), wr.addEventListener(ru.touchmove, co, { passive: !1 })); var n = oi.touchWrapper; n.removeEventListener(ru.touchstart, te); n.removeEventListener(ru.touchmove, uf, { passive: !1 }); n.addEventListener(ru.touchstart, te); n.addEventListener(ru.touchmove, uf, { passive: !1 }); } })()) : (ro(!1), (function () { if (cf || bu) { oi.autoScrolling && (wr.removeEventListener(ru.touchmove, uf, { passive: !1 }), wr.removeEventListener(ru.touchmove, co, { passive: !1 })); var n = oi.touchWrapper; n.removeEventListener(ru.touchstart, te); n.removeEventListener(ru.touchmove, uf, { passive: !1 }); } })()); } function gs(n, t) { void 0 !== t ? (t = t.replace(/ /g, "").split(",")).forEach(function (t) { ee(n, t, "k"); }) : (ee(n, "all", "k"), (oi.keyboardScrolling = n)); } function tf() { var n = si(i(u)[0], r); !n && (oi.loopTop || oi.continuousVertical) && (n = rr(i(r))); null != n && yu(n, null, !0); } function kf() { var n = hi(i(u)[0], r); !n && (oi.loopBottom || oi.continuousVertical) && (n = i(r)[0]); null != n && yu(n, null, !1); } function fo(n, t) { gu(0, "internal"); rf(n, t); gu(ou.scrollingSpeed, "internal"); } function rf(n, t) { var i = ns(n); void 0 !== t ? ts(n, t) : null != i && yu(i); } function df(n) { lh("right", n); } function gf(n) { lh("left", n); } function eo(t) { var c, s, l; if (!h(wi, ni)) { for ( gr = !0, iu = g(), ce = pt(), c = i(r), s = 0; s < c.length; ++s ) { var e = c[s], a = i(nt, e)[0], b = i(v, e); oi.verticalCentered && o(i(di, e), { height: ac(e) + "px" }); o(e, { height: oo(e) + "px" }); 1 < b.length && su(a, i(p, a)[0]); } oi.scrollOverflow && lf.createScrollBarForAll(); l = f(i(u)[0], r); l && !br("fadingEffect") && fo(l + 1); gr = !1; y(oi.afterResize) && t && oi.afterResize.call(wi, n.innerWidth, n.innerHeight); y(oi.afterReBuild) && !t && oi.afterReBuild.call(wi); w(wi, "afterRebuild"); } } function nh() { return h(wr, et); } function ne(n) { var t = nh(); n ? t || (au(!1, "internal"), io(!1, "internal"), li(i(b)), e(wr, et), y(oi.afterResponsive) && oi.afterResponsive.call(wi, n), kr("responsiveSlides", "toSections"), w(wi, "afterResponsive", n), oi.scrollOverflow && lf.createScrollBarForAll()) : t && (au(ou.autoScrolling, "internal"), io(ou.autoScrolling, "internal"), ur(i(b)), a(wr, et), y(oi.afterResponsive) && oi.afterResponsive.call(wi, n), kr("responsiveSlides", "toSlides"), w(wi, "afterResponsive", n)); } function th(n) { var t = n.target; t && c(t, b + " a") ? function (n) { k(n); var t = f(c(this, b + " li")); yu(i(r)[t]); }.call(t, n) : l(t, ".fp-tooltip") ? function () { w(ci(this), "click"); }.call(t) : l(t, yt) ? function () { var n = c(this, r); h(this, pr) ? fr.m.left && gf(n) : fr.m.right && df(n); }.call(t, n) : l(t, tr) || null != c(t, tr) ? function (n) { k(n); var t = i(nt, c(this, r))[0], u = i(v, t)[f(c(this, "li"))]; su(t, u); }.call(t, n) : c(t, oi.menu + " [data-menuanchor]") && function (n) { i(oi.menu)[0] && (oi.lockAnchors || !oi.anchors.length) && (k(n), rf(this.getAttribute("data-menuanchor"))); }.call(t, n); } function ih(n, i) { t["fp_" + n] = i; t.addEventListener(n, rh, !0); } function rh(n) { var r = n.type, u = !1, f = oi.scrollOverflow, i = "mouseleave" === r ? n.toElement || n.relatedTarget : n.target; if (i == t || !i) return nf(!0), void (f && oi.scrollOverflowHandler.setIscroll(i, !0)); "touchend" === r && ((de = !1), setTimeout(function () { de = !0; }, 800)); ("mouseenter" !== r || de) && (oi.normalScrollElements.split(",").forEach(function (n) { if (!u) { var t = l(i, n), r = c(i, n); (t || r) && (yi.shared.isNormalScrollElement || (nf(!1), f && oi.scrollOverflowHandler.setIscroll(i, !1)), (yi.shared.isNormalScrollElement = !0), (u = !0)); } }), !u && yi.shared.isNormalScrollElement && (nf(!0), f && oi.scrollOverflowHandler.setIscroll(i, !0), (yi.shared.isNormalScrollElement = !1))); } function uh() { var n = g(), t = pt(); (iu === n && ce === t) || ((iu = n), (ce = t), eo(!0)); } function nu(t) { var i = "fp_" + t + "Extension"; lu[t] = oi[t + "Key"]; yi[t] = void 0 !== n[i] ? new n[i]() : null; yi[t] && yi[t].c(t); } function fh(n, h, c) { var k = 100 * c, d = 100 / c, w = t.createElement("div"), l, b, y, a; w.className = st; ai(h, w); y = t.createElement("div"); y.className = ri; ai(h, y); o(i(ui, n), { width: k + "%" }); 1 < c && (oi.controlArrows && ((l = n), (b = [ it('
          '), it('
          '), ]), bt(i(nt, l)[0], b), "#fff" !== oi.controlArrowColor && (o(i(ir, l), { "border-color": "transparent transparent transparent " + oi.controlArrowColor, }), o(i(ei, l), { "border-color": "transparent " + oi.controlArrowColor + " transparent transparent", })), oi.loopHorizontal || li(i(ei, l))), oi.slidesNavigation && (function (n, t) { var r, u, f; for ( ct(it('
            '), n), r = i(vt, n)[0], e(r, "fp-" + oi.slidesNavPosition), u = 0; u < t; u++ ) (f = i(v, n)[u]), ct( it( '
          • ' + oh(u, "Slide", f) + "
          • " ), i("ul", r)[0] ); o(r, { "margin-left": "-" + r.innerWidth / 2 + "px" }); e(i("a", i("li", r)[0]), s); })(n, c)); h.forEach(function (n) { o(n, { width: d + "%" }); oi.verticalCentered && lc(n); }); a = i(p, n)[0]; null != a && (0 !== f(i(u), r) || (0 === f(i(u), r) && 0 !== f(a))) ? (us(a, "internal"), e(a, "fp-initial")) : e(h[0], s); } function oo(n) { return oi.offsetSections && yi.offsetSections ? Math.round(yi.offsetSections.getWindowHeight(n)) : g(); } function eh(n, t) { t || null != i(u)[0] || e(n, s); os = i(u)[0]; o(n, { height: oo(n) + "px" }); oi.paddingTop && o(n, { "padding-top": oi.paddingTop }); oi.paddingBottom && o(n, { "padding-bottom": oi.paddingBottom }); void 0 !== oi.sectionsColor[t] && o(n, { "background-color": oi.sectionsColor[t] }); void 0 !== oi.anchors[t] && n.setAttribute("data-anchor", oi.anchors[t]); } function oh(n, t, i) { var r = "Section" === t ? oi.anchors[n] : i.getAttribute("data-anchor"); return oi.navigationTooltips[n] || r || t + " " + (n + 1); } function sh() { var o, t, n = i(u)[0]; e(n, at); pu(n); vh(); re(n); oi.scrollOverflow && oi.scrollOverflowHandler.afterLoad(); o = po(); t = ns(o.section); (o.section && t && (void 0 === t || f(t) !== f(os))) || !y(oi.afterLoad) || fu("afterLoad", { activeSection: n, element: n, direction: null, anchorLink: n.getAttribute("data-anchor"), sectionIndex: f(n, r), }); y(oi.afterRender) && fu("afterRender"); w(wi, "afterRender"); } function so() { var n, t; if ( (w(wi, "onScroll"), (!oi.autoScrolling || oi.scrollBar || br("dragAndMove")) && !dc()) ) { var v = br("dragAndMove") ? Math.abs(yi.dragAndMove.getCurrentScroll()) : kt(), o = 0, ut = v + g() / 2, et = (br("dragAndMove") ? yi.dragAndMove.getDocumentHeight() : wr.offsetHeight - g()) === v, c = i(r); if (et) o = c.length - 1; else if (v) for (t = 0; t < c.length; ++t) c[t].offsetTop <= ut && (o = t); else o = 0; if (!h((n = c[o]), s)) { ge = !0; var d, nt, b = i(u)[0], tt = f(b, r) + 1, ot = go(n), l = n.getAttribute("data-anchor"), it = f(n, r) + 1, k = i(p, n)[0], rt = { activeSection: b, sectionIndex: it - 1, anchorLink: l, element: n, leavingSection: tt, direction: ot, }; k && ((nt = k.getAttribute("data-anchor")), (d = f(k))); dr && (e(n, s), a(ft(n), s), kr("parallax", "afterLoad"), y(oi.onLeave) && fu("onLeave", rt), y(oi.afterLoad) && fu("afterLoad", rt), br("resetSliders") && yi.resetSliders.apply({ localIsResizing: gr, leavingSection: tt, }), yo(b), pu(n), re(n), ko(l, it - 1), oi.anchors.length && (hu = l), is(d, nt, l)); clearTimeout(ye); ye = setTimeout(function () { ge = !1; }, 100); } oi.fitToSection && (clearTimeout(pe), (pe = setTimeout(function () { oi.fitToSection && i(u)[0].offsetHeight <= iu && hh(); }, oi.fitToSectionDelay))); } } function hh() { dr && ((gr = !0), yu(i(u)[0]), (gr = !1)); } function ho(n) { var t, r, f; if (fr.m[n]) if ( ((t = "down" === n ? kf : tf), br("scrollHorizontally") && (t = yi.scrollHorizontally.getScrollSection(n, t)), oi.scrollOverflow) ) if ( ((r = oi.scrollOverflowHandler.scrollable(i(u)[0])), (f = "down" === n ? "bottom" : "top"), null != r) ) { if (!oi.scrollOverflowHandler.isScrolled(f, r)) return !0; t(); } else t(); else t(); } function co(n) { oi.autoScrolling && ff(n) && fr.m.up && k(n); } function uf(t) { var f = c(t.target, r) || i(u)[0], e; ff(t) && (oi.autoScrolling && k(t), (e = rs(t)), (du = e.y), (wf = e.x), i(nt, f).length && Math.abs(pf - wf) > Math.abs(ku - du) ? !eu && Math.abs(pf - wf) > (pt() / 100) * oi.touchSensitivity && (wf < pf ? fr.m.right && df(f) : fr.m.left && gf(f)) : oi.autoScrolling && dr && Math.abs(ku - du) > (n.innerHeight / 100) * oi.touchSensitivity && (du < ku ? ho("down") : ku < du && ho("up"))); } function ff(n) { return void 0 === n.pointerType || "mouse" != n.pointerType; } function te(n) { if ((oi.fitToSection && (vf = !1), ff(n))) { var t = rs(n); ku = t.y; pf = t.x; } } function ch(n, t) { for ( var r = 0, u = n.slice(Math.max(n.length - t, 1)), i = 0; i < u.length; i++ ) r += u[i]; return Math.ceil(r / t); } function vu(t) { var r = new Date().getTime(), o = h(i(".fp-completely")[0], vr), f, e; if (!fr.m.down && !fr.m.up) return k(t), !1; if (oi.autoScrolling && !hf && !o) { var u = (t = t || n.event).wheelDelta || -t.deltaY || -t.detail, s = Math.max(-1, Math.min(1, u)), c = void 0 !== t.wheelDeltaX || void 0 !== t.deltaX, l = Math.abs(t.wheelDeltaX) < Math.abs(t.wheelDelta) || Math.abs(t.deltaX) < Math.abs(t.deltaY) || !c; return ( 149 < cu.length && cu.shift(), cu.push(Math.abs(u)), oi.scrollBar && k(t), (f = r - ks), ((ks = r), 200 < f && (cu = []), dr && !es()) && ((e = ch(cu, 10)), ch(cu, 70) <= e && l && ho(s < 0 ? "down" : "up")), !1 ); } oi.fitToSection && (vf = !1); } function lh(n, t) { var s = null == t ? i(u)[0] : t, r = i(nt, s)[0], f, e, o; if (!(null == r || es() || eu || i(v, r).length < 2)) { if ( ((f = i(p, r)[0]), (e = null), null == (e = "left" === n ? si(f, v) : hi(f, v))) ) { if (!oi.loopHorizontal) return; o = ft(f); e = "left" === n ? o[o.length - 1] : o[0]; } eu = !yi.test.isTesting; su(r, e, n); } } function lo() { for (var t = i(p), n = 0; n < t.length; n++) us(t[n], "internal"); } function ah(n) { var r = n.offsetHeight, u = n.offsetTop, t = u, i = br("dragAndMove") && yi.dragAndMove.isGrabbing ? yi.dragAndMove.isScrollingDown() : ds < u, f = t - iu + r, e = oi.bigSectionsDestination; return ( iu < r ? ((i || e) && "bottom" !== e) || (t = f) : (i || (gr && null == wt(n))) && (t = f), oi.offsetSections && yi.offsetSections && (t = yi.offsetSections.getSectionPosition(i, t, n)), (ds = t) ); } function yu(n, t, o) { var k, d, c, v, b, l; if ( null != n && ((c = { element: n, callback: t, isMovementUp: o, dtop: ah(n), yMovement: go(n), anchorLink: n.getAttribute("data-anchor"), sectionIndex: f(n, r), activeSlide: i(p, n)[0], activeSection: i(u)[0], leavingSection: f(i(u), r) + 1, localIsResizing: gr, }), !( (c.activeSection == n && !gr) || (oi.scrollBar && kt() === c.dtop && !h(n, ar)) )) ) { if ( (null != c.activeSlide && ((k = c.activeSlide.getAttribute("data-anchor")), (d = f(c.activeSlide))), !c.localIsResizing) && ((v = c.yMovement), void 0 !== o && (v = o ? "up" : "down"), (c.direction = v), y(oi.onLeave) && !1 === fu("onLeave", c)) ) return; kr("parallax", "apply", c); kr("cards", "apply", c); oi.autoScrolling && oi.continuousVertical && void 0 !== c.isMovementUp && ((!c.isMovementUp && "up" == c.yMovement) || (c.isMovementUp && "down" == c.yMovement)) && ((l = c).isMovementUp ? vi(i(u)[0], hr(l.activeSection, r)) : bt(i(u)[0], cr(l.activeSection, r).reverse()), wu(i(u)[0].offsetTop), lo(), (l.wrapAroundElements = l.activeSection), (l.dtop = l.element.offsetTop), (l.yMovement = go(l.element)), (l.leavingSection = f(l.activeSection, r) + 1), (l.sectionIndex = f(l.element, r)), w(i(dt)[0], "onContinuousVertical", l), (c = l)); br("scrollOverflowReset") && yi.scrollOverflowReset.setPrevious(c.activeSection); c.localIsResizing || yo(c.activeSection); oi.scrollOverflow && oi.scrollOverflowHandler.beforeLeave(); e(n, s); a(ft(n), s); pu(n); oi.scrollOverflow && oi.scrollOverflowHandler.onLeave(); dr = yi.test.isTesting; is(d, k, c.anchorLink, c.sectionIndex), (function (n) { var t = oi.scrollingSpeed < 700, u = t ? 700 : oi.scrollingSpeed, r, i; oi.css3 && oi.autoScrolling && !oi.scrollBar ? ((r = "translate3d(0px, -" + Math.round(n.dtop) + "px, 0px)"), vc(r, !0), oi.scrollingSpeed ? (clearTimeout(ve), (ve = setTimeout(function () { ie(n); dr = !t; }, oi.scrollingSpeed))) : ie(n)) : ((i = ao(n.dtop)), (yi.test.top = -n.dtop + "px"), nl(i.element, i.options, oi.scrollingSpeed, function () { oi.scrollBar ? setTimeout(function () { ie(n); }, 30) : (ie(n), (dr = !t)); })); t && (clearTimeout(ke), (ke = setTimeout(function () { dr = !0; }, u))); })(c); hu = c.anchorLink; ko( c.anchorLink, null == (b = c).wrapAroundElements ? b.sectionIndex : b.isMovementUp ? i(r).length - 1 : 0 ); } } function fu(n, t) { var e, s, r, o, f = ((s = n), (r = t), (o = oi.v2compatible ? { afterRender: function () { return [wi]; }, onLeave: function () { return [ r.activeSection, r.leavingSection, r.sectionIndex + 1, r.direction, ]; }, afterLoad: function () { return [r.element, r.anchorLink, r.sectionIndex + 1]; }, afterSlideLoad: function () { return [ r.destiny, r.anchorLink, r.sectionIndex + 1, r.slideAnchor, r.slideIndex, ]; }, onSlideLeave: function () { return [ r.prevSlide, r.anchorLink, r.sectionIndex + 1, r.prevSlideIndex, r.direction, r.slideIndex, ]; }, } : { afterRender: function () { return { section: ef(i(u)[0]), slide: of(i(p, i(u)[0])[0]), }; }, onLeave: function () { return { origin: ef(r.activeSection), destination: ef(r.element), direction: r.direction, }; }, afterLoad: function () { return o.onLeave(); }, afterSlideLoad: function () { return { section: ef(r.section), origin: of(r.prevSlide), destination: of(r.destiny), direction: r.direction, }; }, onSlideLeave: function () { return o.afterSlideLoad(); }, })[s]()); if (oi.v2compatible) { if (!1 === oi[n].apply(f[0], f.slice(1))) return !1; } else if ( (w(wi, n, f), !1 === oi[n].apply( f[Object.keys(f)[0]], ((e = f), Object.keys(e).map(function (n) { return e[n]; })) )) ) return !1; return !0; } function ef(n) { return n ? new rl(n) : null; } function of(n) { return n ? new al(n) : null; } function ao(t) { var r = {}; return ( oi.autoScrolling && !oi.scrollBar ? ((r.options = -t), (r.element = i(dt)[0])) : ((r.options = t), (r.element = n)), r ); } function ie(n) { var t; null != (t = n).wrapAroundElements && (t.isMovementUp ? vi(i(r)[0], t.wrapAroundElements) : bt(i(r)[i(r).length - 1], t.wrapAroundElements), wu(i(u)[0].offsetTop), lo(), (t.sectionIndex = f(t.element, r)), (t.leavingSection = f(t.activeSection, r) + 1)); y(oi.afterLoad) && !n.localIsResizing && fu("afterLoad", n); oi.scrollOverflow && oi.scrollOverflowHandler.afterLoad(); kr("parallax", "afterLoad"); kr("scrollOverflowReset", "reset"); br("resetSliders") && yi.resetSliders.apply(n); n.localIsResizing || re(n.element); e(n.element, at); a(ft(n.element), at); vh(); dr = !0; y(n.callback) && n.callback(); } function vo(n, t) { n.setAttribute(t, n.getAttribute("data-" + t)); n.removeAttribute("data-" + t); } function vh() { var n = i(".fp-auto-height")[0] || (nh() && i(".fp-auto-height-responsive")[0]); oi.lazyLoading && n && i(r + ":not(" + rt + ")").forEach(function (n) { var t, i, r; t = n.getBoundingClientRect(); i = t.top; r = t.bottom; ((i + 2 < iu && 0 < i) || (2 < r && r < iu)) && pu(n); }); } function pu(n) { oi.lazyLoading && i( "img[data-src], img[data-srcset], source[data-src], source[data-srcset], video[data-src], audio[data-src], iframe[data-src]", ue(n) ).forEach(function (t) { if ( (["src", "srcset"].forEach(function (i) { var r = t.getAttribute("data-" + i); null != r && r && (vo(t, i), t.addEventListener("load", function () { yh(n); })); }), l(t, "source")) ) { var i = c(t, "video, audio"); i && (i.load(), (i.onloadeddata = function () { yh(n); })); } }); } function yh(n) { oi.scrollOverflow && (clearTimeout(ps), (ps = setTimeout(function () { h(wr, et) || lf.createScrollBar(n); }, 200))); } function re(n) { var t = ue(n); i("video, audio", t).forEach(function (n) { n.hasAttribute("data-autoplay") && "function" == typeof n.play && n.play(); }); i('iframe[src*="youtube.com/embed/"]', t).forEach(function (n) { n.hasAttribute("data-autoplay") && ph(n); n.onload = function () { n.hasAttribute("data-autoplay") && ph(n); }; }); } function ph(n) { n.contentWindow.postMessage( '{"event":"command","func":"playVideo","args":""}', "*" ); } function yo(n) { var t = ue(n); i("video, audio", t).forEach(function (n) { n.hasAttribute("data-keepplaying") || "function" != typeof n.pause || n.pause(); }); i('iframe[src*="youtube.com/embed/"]', t).forEach(function (n) { /youtube\.com\/embed\//.test(n.getAttribute("src")) && !n.hasAttribute("data-keepplaying") && n.contentWindow.postMessage( '{"event":"command","func":"pauseVideo","args":""}', "*" ); }); } function ue(n) { var t = i(p, n); return t.length && (n = t[0]), n; } function tu(n) { function i(n) { var f, e, o, s, u, h, r = "", i = 0; for (n = n.replace(/[^A-Za-z0-9+/=]/g, ""); i < n.length; ) (f = (t.indexOf(n.charAt(i++)) << 2) | ((s = t.indexOf(n.charAt(i++))) >> 4)), (e = ((15 & s) << 4) | ((u = t.indexOf(n.charAt(i++))) >> 2)), (o = ((3 & u) << 6) | (h = t.indexOf(n.charAt(i++)))), (r += String.fromCharCode(f)), 64 != u && (r += String.fromCharCode(e)), 64 != h && (r += String.fromCharCode(o)); return (function (n) { for (var f, r = "", t = 0, i = 0, u = 0; t < n.length; ) (i = n.charCodeAt(t)) < 128 ? ((r += String.fromCharCode(i)), t++) : 191 < i && i < 224 ? ((u = n.charCodeAt(t + 1)), (r += String.fromCharCode(((31 & i) << 6) | (63 & u))), (t += 2)) : ((u = n.charCodeAt(t + 1)), (f = n.charCodeAt(t + 2)), (r += String.fromCharCode( ((15 & i) << 12) | ((63 & u) << 6) | (63 & f) )), (t += 3)); return r; })(r); } function r(n) { return n.slice(3).slice(0, -3); } var t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; return (function (n) { var t = n.split("_"), u; return 1 < t.length ? ((u = t[1]), n.replace(r(t[1]), "").split("_")[0] + "_" + i(u.slice(3).slice(0, -3))) : r(n); })(i(n)); } function el(n) { var u = void 0 !== lu[n] && lu[n].length, i = [], r = !1; return ( ht(lu[n]) ? (i = lu[n]) : i.push(lu[n]), i.forEach(function (i) { var e = (function () { if (t.domain.length) { for ( var n = t.domain.replace(/^(www\.)/, "").split("."); 2 < n.length; ) n.shift(); return n.join(".").replace(/(^\.*)|(\.*$)/g, ""); } return ""; })(), o = [ "MTM0bG9jYWxob3N0MjM0", "MTM0MC4xMjM0", "MTM0anNoZWxsLm5ldDIzNA==", "UDdDQU5ZNlNN", ], h = tu(o[0]), c = tu(o[1]), l = tu(o[2]), a = tu(o[3]), s = [h, c, l].indexOf(e) < 0 && 0 !== e.length; if (!u && s) return !1; var f = u ? tu(i) : "", v = 1 < (f = f.split("_")).length && -1 < f[1].indexOf(n, f[1].length - n.length), y = f[0].indexOf(e, f[0].length - e.length) < 0; r = r || (!(y && s && a != f[0]) && v) || !s; }), r ); } function ol(t) { t.forEach(function (t) { if (t.removedNodes[0] && t.removedNodes[0].isEqualNode(uu)) { clearTimeout(bs); var i = tu("bDIwc2V0VGltZW91dDAzbA=="); bs = n[i](sl, 900); } }); } function sl() { we = !1; } function wh(i) { if ( ((uu = t.createElement("div")), (yf = tu( "MTIzPGRpdj48YSBocmVmPSJodHRwOi8vYWx2YXJvdHJpZ28uY29tL2Z1bGxQYWdlL2V4dGVuc2lvbnMvIiBzdHlsZT0iY29sb3I6ICNmZmYgIWltcG9ydGFudDsgdGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDsiPlVubGljZW5zZWQgZnVsbFBhZ2UuanMgRXh0ZW5zaW9uPC9hPjwvZGl2PjEyMw==" )), af || (yf = yf.replace("extensions/", "").replace("Extension", "")), (uu.innerHTML = yf), (uu = uu.firstChild), "MutationObserver" in n && new MutationObserver(ol).observe(t.body, { childList: !0, subtree: !1, }), (!af || (br(i) && yi[i])) && (!el(i) || !af)) ) { bh(); var r = tu("MzQ1c2V0SW50ZXJ2YWwxMjM="); n[r](bh, 2e3); } } function bh() { uu && (we || (Math.random() < 0.5 ? lr(wr, uu) : ct(uu, wr), (we = !0)), uu.setAttribute( "style", tu( "MTIzei1pbmRleDo5OTk5OTk5O3Bvc2l0aW9uOmZpeGVkO3RvcDoyMHB4O2JvdHRvbTphdXRvO2xlZnQ6MjBweDtyaWdodDphdXRvO2JhY2tncm91bmQ6cmVkO3BhZGRpbmc6N3B4IDE1cHg7Zm9udC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6YXJpYWw7Y29sb3I6I2ZmZjtkaXNwbGF5OmlubGluZS1ibG9jazt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO29wYWNpdHk6MTtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvO3pvb206MTttYXJnaW46YXV0bztib3JkZXI6bm9uZTt2aXNpYmlsaXR5OnZpc2libGU7Y2xpcC1wYXRoOm5vbmU7MTIz" ).replace(/;/g, tu("MTIzICFpbXBvcnRhbnQ7MzQ1")) )); } function kh() { var t = po(), n = t.section, i = t.slide; n && (oi.animateAnchor ? ts(n, i) : fo(n, i)); } function dh() { if (!ge && !oi.lockAnchors) { var i = po(), n = i.section, t = i.slide, r = void 0 === hu, u = void 0 === hu && void 0 === t && !eu; n && n.length && ((n && n !== hu && !r) || u || (!eu && he != t && !es())) && ts(n, t); } } function po() { var f, e, r = n.location.hash, t, u, i; return ( r.length && ((t = r.replace("#", "").split("/")), (u = -1 < r.indexOf("#/")), (f = u ? "/" + t[1] : decodeURIComponent(t[0])), (i = u ? t[2] : t[1]), i && i.length && (e = decodeURIComponent(i))), { section: f, slide: e } ); } function gh(n) { clearTimeout(cs); var f = t.activeElement, e = n.keyCode; 9 === e ? (function (n) { function d(n) { return k(n), e[0] ? e[0].focus() : null; } var l, o, s, a, h, y, w, b = n.shiftKey, f = t.activeElement, e = rc(ue(i(u)[0])); ((l = n), (o = rc(t)), (s = o.indexOf(t.activeElement)), (a = l.shiftKey ? s - 1 : s + 1), (h = o[a]), (y = of(c(h, v))), (w = ef(c(h, r))), y || w) && (f ? null == c(f, u + "," + u + " " + p) && (f = d(n)) : d(n), ((!b && f == e[e.length - 1]) || (b && f == e[0])) && k(n)); })(n) : l(f, "textarea") || l(f, "input") || l(f, "select") || "true" === f.getAttribute("contentEditable") || "" === f.getAttribute("contentEditable") || !oi.keyboardScrolling || !oi.autoScrolling || (-1 < [40, 38, 32, 33, 34].indexOf(e) && k(n), (hf = n.ctrlKey), (cs = setTimeout(function () { !(function (n) { var e = n.shiftKey, u = t.activeElement, f = l(u, "video") || l(u, "audio"); if (dr || !([37, 39].indexOf(n.keyCode) < 0)) switch (n.keyCode) { case 38: case 33: fr.k.up && tf(); break; case 32: if (e && fr.k.up && !f) { tf(); break; } case 40: case 34: fr.k.down && ((32 === n.keyCode && f) || kf()); break; case 36: fr.k.up && rf(1); break; case 35: fr.k.down && rf(i(r).length); break; case 37: fr.k.left && gf(); break; case 39: fr.k.right && df(); } })(n); }, 150))); } function nc(n) { le && (hf = n.ctrlKey); } function tc(n) { 2 == n.which && ((bf = n.pageY), wi.addEventListener("mousemove", uc)); } function ic(n) { 2 == n.which && wi.removeEventListener("mousemove", uc); } function rc(n) { return [].slice.call(i(fl, n)).filter(function (n) { return "-1" !== n.getAttribute("tabindex") && null !== n.offsetParent; }); } function hl() { le = !0; } function cl() { hf = le = !1; } function uc(n) { oi.autoScrolling && (dr && (n.pageY < bf && fr.m.up ? tf() : n.pageY > bf && fr.m.down && kf()), (bf = n.pageY)); } function su(n, t, u) { var l = c(n, r), o = { slides: n, destiny: t, direction: u, destinyPos: { left: t.offsetLeft }, slideIndex: f(t), section: l, sectionIndex: f(l, r), anchorLink: l.getAttribute("data-anchor"), slidesNav: i(vt, l)[0], slideAnchor: fe(t), prevSlide: i(p, l)[0], prevSlideIndex: f(i(p, l)[0]), localIsResizing: gr, }; o.xMovement = cc(o.prevSlideIndex, o.slideIndex); o.direction = o.direction ? o.direction : o.xMovement; o.localIsResizing || (dr = !1); kr("parallax", "applyHorizontal", o); kr("cards", "apply", o); oi.onSlideLeave && !o.localIsResizing && "none" !== o.xMovement && y(oi.onSlideLeave) && !1 === fu("onSlideLeave", o) ? (eu = !1) : (e(t, s), a(ft(t), s), o.localIsResizing || (yo(o.prevSlide), pu(t)), fc(o), h(l, s) && !o.localIsResizing && is(o.slideIndex, o.slideAnchor, o.anchorLink, o.sectionIndex), yi.continuousHorizontal && yi.continuousHorizontal.apply(o), dc() ? wo(o) : ec(n, o, !0), oi.interlockedSlides && yi.interlockedSlides && ((br("continuousHorizontal") && void 0 !== u && u !== o.xMovement) || yi.interlockedSlides.apply(o))); } function fc(n) { !oi.loopHorizontal && oi.controlArrows && (pi(i(ei, n.section), 0 !== n.slideIndex), pi(i(ir, n.section), null != wt(n.destiny))); } function wo(n) { var t, r; yi.continuousHorizontal && yi.continuousHorizontal.afterSlideLoads(n); t = n.slidesNav; r = n.slideIndex; oi.slidesNavigation && null != t && (a(i(rt, t), s), e(i("a", i("li", t)[r]), s)); n.localIsResizing || (kr("parallax", "afterSlideLoads"), kr("scrollOverflowReset", "setPrevious", n.prevSlide), kr("scrollOverflowReset", "reset"), y(oi.afterSlideLoad) && fu("afterSlideLoad", n), (dr = !0), re(n.destiny)); eu = !1; br("interlockedSlides") && yi.interlockedSlides.apply(n); } function ec(n, t, r) { var u = t.destinyPos, f; oi.css3 ? ((f = "translate3d(-" + Math.round(u.left) + "px, 0px, 0px)"), (yi.test.translate3dH[t.sectionIndex] = f), o(bo(i(ui, n)), fs(f)), (hs = setTimeout(function () { r && wo(t); }, oi.scrollingSpeed))) : ((yi.test.left[t.sectionIndex] = Math.round(u.left)), nl(n, Math.round(u.left), oi.scrollingSpeed, function () { r && wo(t); })); } function oc() { gr = !0; clearTimeout(ae); ae = setTimeout(function () { for (var n = 0; n < 4; n++) ss = setTimeout(ll, 200 * n); }, 200); } function ll() { var n, i; (w(wi, "onResize"), sc(), cf) ? ((n = t.activeElement), l(n, "textarea") || l(n, "input") || l(n, "select") || ((i = g()), Math.abs(i - no) > Math.max(no, i) / 5 && (eo(!0), (no = i)))) : uh(); } function sc() { var t = oi.responsive || oi.responsiveWidth, i = oi.responsiveHeight, r = t && n.innerWidth < t, u = i && n.innerHeight < i; t && i ? ne(r || u) : t ? ne(r) : i && ne(u); } function bo(n) { var t = "all " + oi.scrollingSpeed + "ms " + oi.easingcss3; return a(n, gt), o(n, { "-webkit-transition": t, transition: t }); } function hc(n) { return e(n, gt); } function ko(n, t) { var f, r, o, u; f = n; i(oi.menu).forEach(function (n) { oi.menu && null != n && (a(i(rt, n), s), e(i('[data-menuanchor="' + f + '"]', n), s)); }); r = n; o = t; u = i(b)[0]; oi.navigation && null != u && "none" !== u.style.display && (a(i(rt, i(b)[0]), s), e( r ? i('a[href="#' + r + '"]', i(b)[0]) : i("a", i("li", i(b)[0])[o]), s )); } function go(n) { var t = f(i(u)[0], r), e = f(n, r); return t == e ? "none" : e < t ? "up" : "down"; } function cc(n, t) { return n == t ? "none" : t < n ? "left" : "right"; } function lc(n) { if (!h(n, fi)) { var i = t.createElement("div"); i.className = ki; i.style.height = ac(n) + "px"; e(n, fi); er(n, i); } } function ac(n) { var i = oo(n), t; return ( (oi.paddingTop || oi.paddingBottom) && ((t = n), h(t, ot) || (t = c(n, r)), (i -= parseInt(getComputedStyle(t)["padding-top"]) + parseInt(getComputedStyle(t)["padding-bottom"]))), i ); } function vc(n, t) { t ? bo(wi) : hc(wi); clearTimeout(as); o(wi, fs(n)); yi.test.translate3d = n; as = setTimeout(function () { a(wi, gt); }, 10); } function ns(n) { var t = i(r + '[data-anchor="' + n + '"]', wi)[0], u; return t || ((u = void 0 !== n ? n - 1 : 0), (t = i(r)[u])), t; } function ts(n, t) { var r = ns(n), u, o, f, e; null != r && ((e = (null == (f = i(v + '[data-anchor="' + (u = t) + '"]', (o = r))[0]) && ((u = void 0 !== u ? u : 0), (f = i(v, o)[u])), f)), fe(r) === hu || h(r, s) ? yc(e) : yu(r, function () { yc(e); })); } function yc(n) { null != n && su(c(n, nt), n); } function is(n, t, i) { var r = ""; oi.anchors.length && !oi.lockAnchors && (n ? (null != i && (r = i), null == t && (t = n), pc(r + "/" + (he = t))) : (null != n && (he = t), pc(i))); wc(); } function pc(t) { if (oi.recordHistory) location.hash = t; else if (cf || bu) n.history.replaceState(void 0, void 0, "#" + t); else { var i = n.location.href.split("#")[0]; n.location.replace(i + "#" + t); } } function fe(n) { if (!n) return null; var t = n.getAttribute("data-anchor"), i = f(n); return null == t && (t = i), t; } function wc() { var t = i(u)[0], r = i(p, t)[0], o = fe(t), s = fe(r), n = String(o), f; r && (n = n + "-" + s); n = n.replace("/", "-").replace("#", ""); f = new RegExp("\\b\\s?" + ti + "-[^\\s]+\\b", "g"); wr.className = wr.className.replace(f, ""); e(wr, ti + "-" + n); } function bc() { return n.PointerEvent ? { down: "pointerdown", move: "pointermove" } : { down: "MSPointerDown", move: "MSPointerMove" }; } function rs(n) { var t = []; return ( (t.y = void 0 !== n.pageY && (n.pageY || n.pageX) ? n.pageY : n.touches[0].pageY), (t.x = void 0 !== n.pageX && (n.pageY || n.pageX) ? n.pageX : n.touches[0].pageX), bu && ff(n) && oi.scrollBar && void 0 !== n.touches && ((t.y = n.touches[0].pageY), (t.x = n.touches[0].pageX)), t ); } function us(n, t) { gu(0, "internal"); void 0 !== t && (gr = !0); su(c(n, nt), n); void 0 !== t && (gr = !1); gu(ou.scrollingSpeed, "internal"); } function wu(n) { var t = Math.round(n), i; oi.css3 && oi.autoScrolling && !oi.scrollBar ? vc("translate3d(0px, -" + t + "px, 0px)", !1) : oi.autoScrolling && !oi.scrollBar ? (o(wi, { top: -t + "px" }), (yi.test.top = -t + "px")) : ((i = ao(t)), tl(i.element, i.options)); } function fs(n) { return { "-webkit-transform": n, "-moz-transform": n, "-ms-transform": n, transform: n, }; } function ee(n, t, i) { "all" !== t ? (fr[i][t] = n) : Object.keys(fr[i]).forEach(function (t) { fr[i][t] = n; }); } function kc(n) { return o(n, { "-webkit-transition": "none", transition: "none" }); } function br(n) { return null !== oi[n] && "[object Array]" === Object.prototype.toString.call(oi[n]) ? oi[n].length && yi[n] : oi[n] && yi[n]; } function kr(n, t, i) { if (br(n)) return yi[n][t](i); } function es() { return br("dragAndMove") && yi.dragAndMove.isAnimating; } function dc() { return br("dragAndMove") && yi.dragAndMove.isGrabbing; } function oe(n, t, i) { oi[n] = t; "internal" !== i && (ou[n] = t); } function gc() { var n = oi.licenseKey, t = "font-size: 15px;background:yellow;"; ul ? n && n.length < 20 && (console.warn( "%c This website was made using fullPage.js slider. More info on the following website:", t ), console.warn("%c https://alvarotrigo.com/fullPage/", t)) : (d( "error", "Fullpage.js version 3 has changed its license to GPLv3 and it requires a `licenseKey` option. Read about it here:" ), d("error", "https://github.com/alvarotrigo/fullPage.js#options.")); h(sf, lt) ? d( "error", "Fullpage.js can only be initialized once and you are doing it multiple times!" ) : (oi.continuousVertical && (oi.loopTop || oi.loopBottom) && ((oi.continuousVertical = !1), d( "warn", "Option `loopTop/loopBottom` is mutually exclusive with `continuousVertical`; `continuousVertical` disabled" )), !oi.scrollOverflow || (!oi.scrollBar && oi.autoScrolling) || d( "warn", "Options scrollBar:true and autoScrolling:false are mutually exclusive with scrollOverflow:true. Sections with scrollOverflow might not work well in Firefox" ), !oi.continuousVertical || (!oi.scrollBar && oi.autoScrolling) || ((oi.continuousVertical = !1), d( "warn", "Scroll bars (`scrollBar:true` or `autoScrolling:false`) are mutually exclusive with `continuousVertical`; `continuousVertical` disabled" )), oi.scrollOverflow && null == oi.scrollOverflowHandler && ((oi.scrollOverflow = !1), d( "error", "The option `scrollOverflow:true` requires the file `scrolloverflow.min.js`. Please include it before fullPage.js." )), oi.anchors.forEach(function (n) { var r = [].slice.call(i("[name]")).filter(function (t) { return ( t.getAttribute("name") && t.getAttribute("name").toLowerCase() == n.toLowerCase() ); }), t = [].slice.call(i("[id]")).filter(function (t) { return ( t.getAttribute("id") && t.getAttribute("id").toLowerCase() == n.toLowerCase() ); }), u; (t.length || r.length) && (d( "error", "data-anchor tags can not have the same value as any `id` element on the site (or `name` element for IE)." ), (u = t.length ? "id" : "name"), (t.length || r.length) && d( "error", '"' + n + '" is is being used by another element `' + u + "` property" )); })); } function nl(t, i, r, u) { var f, s = (f = t).self != n && h(f, st) ? f.scrollLeft : !oi.autoScrolling || oi.scrollBar ? kt() : f.offsetTop, c = i - s, e = 0, o; vf = !0; o = function () { if (vf) { var f = i; e += 20; r && (f = n.fp_easings[oi.easing](e, s, c, r)); tl(t, f); e < r ? setTimeout(o, 20) : void 0 !== u && u(); } else e < r && u(); }; o(); } function tl(t, i) { !oi.autoScrolling || oi.scrollBar || (t.self != n && h(t, st)) ? t.self != n && h(t, st) ? (t.scrollLeft = i) : t.scrollTo(0, i) : (t.style.top = i + "px"); } function il(n, t) { this.anchor = n.getAttribute("data-anchor"); this.item = n; this.index = f(n, t); this.isLast = this.index === n.parentElement.querySelectorAll(t).length - 1; this.isFirst = !this.index; } function rl(n) { il.call(this, n, r); } function al(n) { il.call(this, n, v); } var ul = (oi && new RegExp( "([\\d\\w]{8}-){3}[\\d\\w]{8}|^(?=.*?[A-Y])(?=.*?[a-y])(?=.*?[0-8])(?=.*?[#?!@$%^&*-]).{8,}$" ).test(oi.licenseKey)) || -1 < t.domain.indexOf("alvarotrigo.com"), se = i("html, body"), sf = i("html")[0], wr = i("body")[0], yi, be; if (!h(sf, lt)) { yi = {}; oi = ut( { menu: !1, anchors: [], lockAnchors: !1, navigation: !1, navigationPosition: "right", navigationTooltips: [], showActiveTooltip: !1, slidesNavigation: !1, slidesNavPosition: "bottom", scrollBar: !1, hybrid: !1, css3: !0, scrollingSpeed: 700, autoScrolling: !0, fitToSection: !0, fitToSectionDelay: 1e3, easing: "easeInOutCubic", easingcss3: "ease", loopBottom: !1, loopTop: !1, loopHorizontal: !0, continuousVertical: !1, continuousHorizontal: !1, scrollHorizontally: !1, interlockedSlides: !1, dragAndMove: !1, offsetSections: !1, resetSliders: !1, fadingEffect: !1, normalScrollElements: null, scrollOverflow: !1, scrollOverflowReset: !1, scrollOverflowHandler: n.fp_scrolloverflow ? n.fp_scrolloverflow.iscrollHandler : null, scrollOverflowOptions: null, touchSensitivity: 5, touchWrapper: "string" == typeof tt ? i(tt)[0] : tt, bigSectionsDestination: null, keyboardScrolling: !0, animateAnchor: !0, recordHistory: !0, controlArrows: !0, controlArrowColor: "#fff", verticalCentered: !0, sectionsColor: [], paddingTop: 0, paddingBottom: 0, fixedElements: null, responsive: 0, responsiveWidth: 0, responsiveHeight: 0, responsiveSlides: !1, parallax: !1, parallaxOptions: { type: "reveal", percentage: 62, property: "translate", }, cards: !1, cardsOptions: { perspective: 100, fadeContent: !0, fadeBackground: !0, }, sectionSelector: ".section", slideSelector: ".slide", v2compatible: !1, afterLoad: null, onLeave: null, afterRender: null, afterResize: null, afterReBuild: null, afterSlideLoad: null, onSlideLeave: null, afterResponsive: null, lazyLoading: !0, }, oi ); var hu, he, hf, os, eu = !1, cf = navigator.userAgent.match( /(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/ ), bu = "ontouchstart" in n || 0 < navigator.msMaxTouchPoints || navigator.maxTouchPoints, wi = "string" == typeof tt ? i(tt)[0] : tt, iu = g(), ce = pt(), gr = !1, le = !0, dr = !0, cu = [], fr = { m: { up: !0, down: !0, left: !0, right: !0 } }; fr.k = ut({}, fr.m); var lf, ae, ss, ve, hs, ye, pe, cs, ls, as, vs = bc(), ru = { touchmove: "ontouchmove" in n ? "touchmove" : vs.move, touchstart: "ontouchstart" in n ? "touchstart" : vs.down, }, we = !1, af = !h(wr, tu("OHNsd3AtZnVsbHBhZ2UtanM5T20=")), fl = 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable]', ys = !1; try { be = Object.defineProperty({}, "passive", { get: function () { ys = !0; }, }); n.addEventListener("testPassive", null, be); n.removeEventListener("testPassive", null, be); } catch (tt) {} var vf, ps, ke, ou = ut({}, oi), ws = !1, de = !0, lu = {}; gc(); n.fp_easings = ut(n.fp_easings, { easeInOutCubic: function (n, t, i, r) { return (n /= r / 2) < 1 ? (i / 2) * n * n * n + t : (i / 2) * ((n -= 2) * n * n + 2) + t; }, }); wi && ((yi.version = "3.0.8"), (yi.setAutoScrolling = au), (yi.setRecordHistory = to), (yi.setScrollingSpeed = gu), (yi.setFitToSection = io), (yi.setLockAnchors = function (n) { oi.lockAnchors = n; }), (yi.setMouseWheelScrolling = ro), (yi.setAllowScrolling = uo), (yi.setKeyboardScrolling = gs), (yi.moveSectionUp = tf), (yi.moveSectionDown = kf), (yi.silentMoveTo = fo), (yi.moveTo = rf), (yi.moveSlideRight = df), (yi.moveSlideLeft = gf), (yi.fitToSection = hh), (yi.reBuild = eo), (yi.setResponsive = ne), (yi.getFullpageData = function () { return { options: oi, internals: { container: wi, canScroll: dr, isScrollAllowed: fr, getDestinationPosition: ah, isTouch: bu, c: wh, getXmovement: cc, removeAnimation: hc, getTransforms: fs, lazyLoad: pu, addAnimation: bo, performHorizontalMove: ec, landscapeScroll: su, silentLandscapeScroll: us, keepSlidesPosition: lo, silentScroll: wu, styleSlides: fh, styleSection: eh, scrollHandler: so, getEventsPage: rs, getMSPointer: bc, isReallyTouch: ff, usingExtension: br, toggleControlArrows: fc, touchStartHandler: te, touchMoveHandler: uf, }, }; }), (yi.destroy = function (u) { w(wi, "destroy", u); au(!1, "internal"); uo(!0); nf(!1); gs(!1); e(wi, ni); [hs, ve, ae, ye, pe, ls, ss, ke].forEach(function (n) { clearTimeout(n); }); n.removeEventListener("scroll", so); n.removeEventListener("hashchange", dh); n.removeEventListener("resize", oc); t.removeEventListener("keydown", gh); t.removeEventListener("keyup", nc); ["click", "touchstart"].forEach(function (n) { t.removeEventListener(n, th); }); ["mouseenter", "touchstart", "mouseleave", "touchend"].forEach( function (n) { t.removeEventListener(n, rh, !0); } ); kr("dragAndMove", "destroy"); u && (wu(0), i( "img[data-src], source[data-src], audio[data-src], iframe[data-src]", wi ).forEach(function (n) { vo(n, "src"); }), i("img[data-srcset]").forEach(function (n) { vo(n, "srcset"); }), sr(i(b + ", " + vt + ", " + yt)), o(i(r), { height: "", "background-color": "", padding: "" }), o(i(v), { width: "" }), o(wi, { height: "", position: "", "-ms-touch-action": "", "touch-action": "", }), o(se, { overflow: "", height: "" }), a(sf, lt), a(wr, et), wr.className.split(/\s+/).forEach(function (n) { 0 === n.indexOf(ti) && a(wr, n); }), i(r + ", " + v).forEach(function (n) { oi.scrollOverflowHandler && oi.scrollOverflow && oi.scrollOverflowHandler.remove(n); a(n, fi + " " + s + " " + at); var t = n.getAttribute("data-fp-styles"); t && n.setAttribute("style", n.getAttribute("data-fp-styles")); h(n, ot) && !ws && n.removeAttribute("data-anchor"); }), kc(wi), [di, ui, nt].forEach(function (n) { i(n, wi).forEach(function (n) { or(n); }); }), n.scrollTo(0, 0), [ot, ii, ri].forEach(function (n) { a(i("." + n), n); })); }), (yi.getActiveSection = function () { return new rl(i(u)[0]); }), (yi.getActiveSlide = function () { return of(i(p, i(u)[0])[0]); }), (yi.landscapeScroll = su), (yi.test = { top: "0px", translate3d: "translate3d(0px, 0px, 0px)", translate3dH: (function () { for (var n = [], t = 0; t < i(oi.sectionSelector, wi).length; t++) n.push("translate3d(0px, 0px, 0px)"); return n; })(), left: (function () { for (var n = [], t = 0; t < i(oi.sectionSelector, wi).length; t++) n.push(0); return n; })(), options: oi, setAutoScrolling: au, }), (yi.shared = { afterRenderActions: sh, isNormalScrollElement: !1 }), (n.fullpage_api = yi), (n.fullpage_extensions = !0), oi.$ && Object.keys(yi).forEach(function (n) { oi.$.fn.fullpage[n] = yi[n]; }), nu("continuousHorizontal"), nu("scrollHorizontally"), nu("resetSliders"), nu("interlockedSlides"), nu("responsiveSlides"), nu("fadingEffect"), nu("dragAndMove"), nu("offsetSections"), nu("scrollOverflowReset"), nu("parallax"), nu("cards"), kr("dragAndMove", "init"), oi.css3 && (oi.css3 = (function () { var r, i = t.createElement("p"), f = { webkitTransform: "-webkit-transform", OTransform: "-o-transform", msTransform: "-ms-transform", MozTransform: "-moz-transform", transform: "transform", }; for (var u in ((i.style.display = "block"), t.body.insertBefore(i, null), f)) void 0 !== i.style[u] && ((i.style[u] = "translate3d(1px,1px,1px)"), (r = n.getComputedStyle(i).getPropertyValue(f[u]))); return ( t.body.removeChild(i), void 0 !== r && 0 < r.length && "none" !== r ); })()), (oi.scrollBar = oi.scrollBar || oi.hybrid), (function () { var t, n, u, f; oi.anchors.length || ((t = "[data-anchor]"), (n = i(oi.sectionSelector.split(",").join(t + ",") + t, wi)), n.length && n.length === i(r).length && ((ws = !0), n.forEach(function (n) { oi.anchors.push(n.getAttribute("data-anchor").toString()); }))); oi.navigationTooltips.length || ((u = "[data-tooltip]"), (f = i(oi.sectionSelector.split(",").join(u + ",") + u, wi)), f.length && f.forEach(function (n) { oi.navigationTooltips.push( n.getAttribute("data-tooltip").toString() ); })); })(), (function () { var p, l, nt, y; for ( o(wi, { height: "100%", position: "relative" }), e(wi, bi), e(sf, lt), iu = g(), a(wi, ni), e(i(oi.sectionSelector, wi), ot), e(i(oi.slideSelector, wi), ii), kr("parallax", "init"), p = i(r), l = 0; l < p.length; l++ ) { var w = l, n = p[l], k = i(v, n), d = k.length; n.setAttribute("data-fp-styles", n.getAttribute("style")); eh(n, w); nt = n; y = w; void 0 !== oi.anchors[y] && h(nt, s) && ko(oi.anchors[y], y); oi.menu && oi.css3 && null != c(i(oi.menu)[0], dt) && i(oi.menu).forEach(function (n) { wr.appendChild(n); }); 0 < d ? fh(n, k, d) : oi.verticalCentered && lc(n); } oi.fixedElements && oi.css3 && i(oi.fixedElements).forEach(function (n) { wr.appendChild(n); }); oi.navigation && (function () { var l = t.createElement("div"), v, h, o, n, a, c; for ( l.setAttribute("id", gi), v = t.createElement("ul"), l.appendChild(v), ct(l, wr), h = i(b)[0], e(h, "fp-" + oi.navigationPosition), oi.showActiveTooltip && e(h, "fp-show-active"), o = "", n = 0; n < i(r).length; n++ ) (a = ""), oi.anchors.length && (a = oi.anchors[n]), (o += '
          • ' + oh(n, "Section") + ""), (c = oi.navigationTooltips[n]), void 0 !== c && "" !== c && (o += '
            ' + c + "
            "), (o += "
          • "); i("ul", h)[0].innerHTML = o; e(i("a", i("li", i(b)[0])[f(i(u)[0], r)]), s); })(); i('iframe[src*="youtube.com/embed/"]', wi).forEach(function (n) { var i, r, t; r = "enablejsapi=1"; t = (i = n).getAttribute("src"); i.setAttribute("src", t + (/\?/.test(t) ? "&" : "?") + r); }); kr("fadingEffect", "apply"); kr("cards", "init"); oi.scrollOverflow && (lf = oi.scrollOverflowHandler.init(oi)); })(), uo(!0), nf(!0), au(oi.autoScrolling, "internal"), sc(), wc(), "complete" === t.readyState && kh(), n.addEventListener("load", kh), oi.scrollOverflow || sh(), (function () { for (var n = 1; n < 4; n++) ls = setTimeout(uh, 350 * n); })(), af || wh("l"), n.addEventListener("scroll", so), n.addEventListener("hashchange", dh), n.addEventListener("focus", hl), n.addEventListener("blur", cl), n.addEventListener("resize", oc), t.addEventListener("keydown", gh), t.addEventListener("keyup", nc), ["click", "touchstart"].forEach(function (n) { t.addEventListener(n, th); }), oi.normalScrollElements && (["mouseenter", "touchstart"].forEach(function (n) { ih(n, !1); }), ["mouseleave", "touchend"].forEach(function (n) { ih(n, !0); })), kr("dragAndMove", "turnOffTouch")); var yf, uu, bs, ge = !1, ku = 0, pf = 0, du = 0, wf = 0, ks = new Date().getTime(), ds = 0, bf = 0, no = iu; return yi; } gc(); } ); }); window.jQuery && window.fullpage && (function (n, t) { "use strict"; n && t ? (n.fn.fullpage = function (i) { i = n.extend({}, i, { $: n }); new t(this[0], i); }) : window.fp_utils.showError( "error", "jQuery is required to use the jQuery fullpage adapter!" ); })(window.jQuery, window.fullpage); (CryptoJS = CryptoJS || (function (n, t) { var u = {}, f = (u.lib = {}), o = function () {}, i = (f.Base = { extend: function (n) { o.prototype = this; var t = new o(); return ( n && t.mixIn(n), t.hasOwnProperty("init") || (t.init = function () { t.$super.init.apply(this, arguments); }), (t.init.prototype = t), (t.$super = this), t ); }, create: function () { var n = this.extend(); return n.init.apply(n, arguments), n; }, init: function () {}, mixIn: function (n) { for (var t in n) n.hasOwnProperty(t) && (this[t] = n[t]); n.hasOwnProperty("toString") && (this.toString = n.toString); }, clone: function () { return this.init.prototype.extend(this); }, }), r = (f.WordArray = i.extend({ init: function (n, i) { n = this.words = n || []; this.sigBytes = i != t ? i : 4 * n.length; }, toString: function (n) { return (n || l).stringify(this); }, concat: function (n) { var i = this.words, r = n.words, u = this.sigBytes, t; if (((n = n.sigBytes), this.clamp(), u % 4)) for (t = 0; t < n; t++) i[(u + t) >>> 2] |= ((r[t >>> 2] >>> (24 - 8 * (t % 4))) & 255) << (24 - 8 * ((u + t) % 4)); else if (65535 < r.length) for (t = 0; t < n; t += 4) i[(u + t) >>> 2] = r[t >>> 2]; else i.push.apply(i, r); return (this.sigBytes += n), this; }, clamp: function () { var i = this.words, t = this.sigBytes; i[t >>> 2] &= 4294967295 << (32 - 8 * (t % 4)); i.length = n.ceil(t / 4); }, clone: function () { var n = i.clone.call(this); return (n.words = this.words.slice(0)), n; }, random: function (t) { for (var i = [], u = 0; u < t; u += 4) i.push((4294967296 * n.random()) | 0); return new r.init(i, t); }, })), e = (u.enc = {}), l = (e.Hex = { stringify: function (n) { var u = n.words, i, t, r; for (n = n.sigBytes, i = [], t = 0; t < n; t++) (r = (u[t >>> 2] >>> (24 - 8 * (t % 4))) & 255), i.push((r >>> 4).toString(16)), i.push((r & 15).toString(16)); return i.join(""); }, parse: function (n) { for (var i = n.length, u = [], t = 0; t < i; t += 2) u[t >>> 3] |= parseInt(n.substr(t, 2), 16) << (24 - 4 * (t % 8)); return new r.init(u, i / 2); }, }), s = (e.Latin1 = { stringify: function (n) { var r = n.words, i, t; for (n = n.sigBytes, i = [], t = 0; t < n; t++) i.push( String.fromCharCode((r[t >>> 2] >>> (24 - 8 * (t % 4))) & 255) ); return i.join(""); }, parse: function (n) { for (var i = n.length, u = [], t = 0; t < i; t++) u[t >>> 2] |= (n.charCodeAt(t) & 255) << (24 - 8 * (t % 4)); return new r.init(u, i); }, }), a = (e.Utf8 = { stringify: function (n) { try { return decodeURIComponent(escape(s.stringify(n))); } catch (t) { throw Error("Malformed UTF-8 data"); } }, parse: function (n) { return s.parse(unescape(encodeURIComponent(n))); }, }), h = (f.BufferedBlockAlgorithm = i.extend({ reset: function () { this._data = new r.init(); this._nDataBytes = 0; }, _append: function (n) { "string" == typeof n && (n = a.parse(n)); this._data.concat(n); this._nDataBytes += n.sigBytes; }, _process: function (t) { var f = this._data, s = f.words, u = f.sigBytes, e = this.blockSize, o = u / (4 * e), o = t ? n.ceil(o) : n.max((o | 0) - this._minBufferSize, 0), i; if (((t = o * e), (u = n.min(4 * t, u)), t)) { for (i = 0; i < t; i += e) this._doProcessBlock(s, i); i = s.splice(0, t); f.sigBytes -= u; } return new r.init(i, u); }, clone: function () { var n = i.clone.call(this); return (n._data = this._data.clone()), n; }, _minBufferSize: 0, })), c; return ( (f.Hasher = h.extend({ cfg: i.extend(), init: function (n) { this.cfg = this.cfg.extend(n); this.reset(); }, reset: function () { h.reset.call(this); this._doReset(); }, update: function (n) { return this._append(n), this._process(), this; }, finalize: function (n) { return n && this._append(n), this._doFinalize(); }, blockSize: 16, _createHelper: function (n) { return function (t, i) { return new n.init(i).finalize(t); }; }, _createHmacHelper: function (n) { return function (t, i) { return new c.HMAC.init(n, i).finalize(t); }; }, })), (c = u.algo = {}), u ); })(Math)), (function () { var n = CryptoJS, t = n.lib.WordArray; n.enc.Base64 = { stringify: function (n) { var i = n.words, u = n.sigBytes, f = this._map, t, e, r; for (n.clamp(), n = [], t = 0; t < u; t += 3) for ( e = (((i[t >>> 2] >>> (24 - 8 * (t % 4))) & 255) << 16) | (((i[(t + 1) >>> 2] >>> (24 - 8 * ((t + 1) % 4))) & 255) << 8) | ((i[(t + 2) >>> 2] >>> (24 - 8 * ((t + 2) % 4))) & 255), r = 0; 4 > r && t + 0.75 * r < u; r++ ) n.push(f.charAt((e >>> (6 * (3 - r))) & 63)); if ((i = f.charAt(64))) for (; n.length % 4; ) n.push(i); return n.join(""); }, parse: function (n) { var e = n.length, f = this._map, i = f.charAt(64), o, s; i && ((i = n.indexOf(i)), -1 != i && (e = i)); for (var i = [], u = 0, r = 0; r < e; r++) r % 4 && ((o = f.indexOf(n.charAt(r - 1)) << (2 * (r % 4))), (s = f.indexOf(n.charAt(r)) >>> (6 - 2 * (r % 4))), (i[u >>> 2] |= (o | s) << (24 - 8 * (u % 4))), u++); return t.create(i, u); }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", }; })(), (function (n) { function i(n, t, i, r, u, f, e) { return ( (n = n + ((t & i) | (~t & r)) + u + e), ((n << f) | (n >>> (32 - f))) + t ); } function r(n, t, i, r, u, f, e) { return ( (n = n + ((t & r) | (i & ~r)) + u + e), ((n << f) | (n >>> (32 - f))) + t ); } function u(n, t, i, r, u, f, e) { return (n = n + (t ^ i ^ r) + u + e), ((n << f) | (n >>> (32 - f))) + t; } function f(n, t, i, r, u, f, e) { return ( (n = n + (i ^ (t | ~r)) + u + e), ((n << f) | (n >>> (32 - f))) + t ); } for ( var o = CryptoJS, e = o.lib, c = e.WordArray, s = e.Hasher, e = o.algo, t = [], h = 0; 64 > h; h++ ) t[h] = (4294967296 * n.abs(n.sin(h + 1))) | 0; e = e.MD5 = s.extend({ _doReset: function () { this._hash = new c.init([ 1732584193, 4023233417, 2562383102, 271733878, ]); }, _doProcessBlock: function (n, e) { for (var v, a, l = 0; 16 > l; l++) (v = e + l), (a = n[v]), (n[v] = (((a << 8) | (a >>> 24)) & 16711935) | (((a << 24) | (a >>> 8)) & 4278255360)); var l = this._hash.words, v = n[e + 0], a = n[e + 1], y = n[e + 2], p = n[e + 3], w = n[e + 4], b = n[e + 5], k = n[e + 6], d = n[e + 7], g = n[e + 8], nt = n[e + 9], tt = n[e + 10], it = n[e + 11], rt = n[e + 12], ut = n[e + 13], ft = n[e + 14], et = n[e + 15], o = l[0], s = l[1], h = l[2], c = l[3], o = i(o, s, h, c, v, 7, t[0]), c = i(c, o, s, h, a, 12, t[1]), h = i(h, c, o, s, y, 17, t[2]), s = i(s, h, c, o, p, 22, t[3]), o = i(o, s, h, c, w, 7, t[4]), c = i(c, o, s, h, b, 12, t[5]), h = i(h, c, o, s, k, 17, t[6]), s = i(s, h, c, o, d, 22, t[7]), o = i(o, s, h, c, g, 7, t[8]), c = i(c, o, s, h, nt, 12, t[9]), h = i(h, c, o, s, tt, 17, t[10]), s = i(s, h, c, o, it, 22, t[11]), o = i(o, s, h, c, rt, 7, t[12]), c = i(c, o, s, h, ut, 12, t[13]), h = i(h, c, o, s, ft, 17, t[14]), s = i(s, h, c, o, et, 22, t[15]), o = r(o, s, h, c, a, 5, t[16]), c = r(c, o, s, h, k, 9, t[17]), h = r(h, c, o, s, it, 14, t[18]), s = r(s, h, c, o, v, 20, t[19]), o = r(o, s, h, c, b, 5, t[20]), c = r(c, o, s, h, tt, 9, t[21]), h = r(h, c, o, s, et, 14, t[22]), s = r(s, h, c, o, w, 20, t[23]), o = r(o, s, h, c, nt, 5, t[24]), c = r(c, o, s, h, ft, 9, t[25]), h = r(h, c, o, s, p, 14, t[26]), s = r(s, h, c, o, g, 20, t[27]), o = r(o, s, h, c, ut, 5, t[28]), c = r(c, o, s, h, y, 9, t[29]), h = r(h, c, o, s, d, 14, t[30]), s = r(s, h, c, o, rt, 20, t[31]), o = u(o, s, h, c, b, 4, t[32]), c = u(c, o, s, h, g, 11, t[33]), h = u(h, c, o, s, it, 16, t[34]), s = u(s, h, c, o, ft, 23, t[35]), o = u(o, s, h, c, a, 4, t[36]), c = u(c, o, s, h, w, 11, t[37]), h = u(h, c, o, s, d, 16, t[38]), s = u(s, h, c, o, tt, 23, t[39]), o = u(o, s, h, c, ut, 4, t[40]), c = u(c, o, s, h, v, 11, t[41]), h = u(h, c, o, s, p, 16, t[42]), s = u(s, h, c, o, k, 23, t[43]), o = u(o, s, h, c, nt, 4, t[44]), c = u(c, o, s, h, rt, 11, t[45]), h = u(h, c, o, s, et, 16, t[46]), s = u(s, h, c, o, y, 23, t[47]), o = f(o, s, h, c, v, 6, t[48]), c = f(c, o, s, h, d, 10, t[49]), h = f(h, c, o, s, ft, 15, t[50]), s = f(s, h, c, o, b, 21, t[51]), o = f(o, s, h, c, rt, 6, t[52]), c = f(c, o, s, h, p, 10, t[53]), h = f(h, c, o, s, tt, 15, t[54]), s = f(s, h, c, o, a, 21, t[55]), o = f(o, s, h, c, g, 6, t[56]), c = f(c, o, s, h, et, 10, t[57]), h = f(h, c, o, s, k, 15, t[58]), s = f(s, h, c, o, ut, 21, t[59]), o = f(o, s, h, c, w, 6, t[60]), c = f(c, o, s, h, it, 10, t[61]), h = f(h, c, o, s, y, 15, t[62]), s = f(s, h, c, o, nt, 21, t[63]); l[0] = (l[0] + o) | 0; l[1] = (l[1] + s) | 0; l[2] = (l[2] + h) | 0; l[3] = (l[3] + c) | 0; }, _doFinalize: function () { var u = this._data, r = u.words, t = 8 * this._nDataBytes, i = 8 * u.sigBytes, f; for ( r[i >>> 5] |= 128 << (24 - (i % 32)), f = n.floor(t / 4294967296), r[(((i + 64) >>> 9) << 4) + 15] = (((f << 8) | (f >>> 24)) & 16711935) | (((f << 24) | (f >>> 8)) & 4278255360), r[(((i + 64) >>> 9) << 4) + 14] = (((t << 8) | (t >>> 24)) & 16711935) | (((t << 24) | (t >>> 8)) & 4278255360), u.sigBytes = 4 * (r.length + 1), this._process(), u = this._hash, r = u.words, t = 0; 4 > t; t++ ) (i = r[t]), (r[t] = (((i << 8) | (i >>> 24)) & 16711935) | (((i << 24) | (i >>> 8)) & 4278255360)); return u; }, clone: function () { var n = s.clone.call(this); return (n._hash = this._hash.clone()), n; }, }); o.MD5 = s._createHelper(e); o.HmacMD5 = s._createHmacHelper(e); })(Math), (function () { var t = CryptoJS, n = t.lib, i = n.Base, r = n.WordArray, n = t.algo, u = (n.EvpKDF = i.extend({ cfg: i.extend({ keySize: 4, hasher: n.MD5, iterations: 1 }), init: function (n) { this.cfg = this.cfg.extend(n); }, compute: function (n, t) { for ( var i, o, f = this.cfg, u = f.hasher.create(), e = r.create(), h = e.words, s = f.keySize, f = f.iterations; h.length < s; ) { for ( i && u.update(i), i = u.update(n).finalize(t), u.reset(), o = 1; o < f; o++ ) (i = u.finalize(i)), u.reset(); e.concat(i); } return (e.sigBytes = 4 * s), e; }, })); t.EvpKDF = function (n, t, i) { return u.create(i).compute(n, t); }; })(); CryptoJS.lib.Cipher || (function (n) { var i = CryptoJS, t = i.lib, f = t.Base, e = t.WordArray, c = t.BufferedBlockAlgorithm, l = i.enc.Base64, y = i.algo.EvpKDF, o = (t.Cipher = c.extend({ cfg: f.extend(), createEncryptor: function (n, t) { return this.create(this._ENC_XFORM_MODE, n, t); }, createDecryptor: function (n, t) { return this.create(this._DEC_XFORM_MODE, n, t); }, init: function (n, t, i) { this.cfg = this.cfg.extend(i); this._xformMode = n; this._key = t; this.reset(); }, reset: function () { c.reset.call(this); this._doReset(); }, process: function (n) { return this._append(n), this._process(); }, finalize: function (n) { return n && this._append(n), this._doFinalize(); }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: function (n) { return { encrypt: function (t, i, r) { return ("string" == typeof i ? v : u).encrypt(n, t, i, r); }, decrypt: function (t, i, r) { return ("string" == typeof i ? v : u).decrypt(n, t, i, r); }, }; }, })); t.StreamCipher = o.extend({ _doFinalize: function () { return this._process(!0); }, blockSize: 1, }); var s = (i.mode = {}), a = function (t, i, r) { var f = this._iv, u; for (f ? (this._iv = n) : (f = this._prevBlock), u = 0; u < r; u++) t[i + u] ^= f[u]; }, r = (t.BlockCipherMode = f.extend({ createEncryptor: function (n, t) { return this.Encryptor.create(n, t); }, createDecryptor: function (n, t) { return this.Decryptor.create(n, t); }, init: function (n, t) { this._cipher = n; this._iv = t; }, })).extend(); r.Encryptor = r.extend({ processBlock: function (n, t) { var i = this._cipher, r = i.blockSize; a.call(this, n, t, r); i.encryptBlock(n, t); this._prevBlock = n.slice(t, t + r); }, }); r.Decryptor = r.extend({ processBlock: function (n, t) { var i = this._cipher, r = i.blockSize, u = n.slice(t, t + r); i.decryptBlock(n, t); a.call(this, n, t, r); this._prevBlock = u; }, }); s = s.CBC = r; r = (i.pad = {}).Pkcs7 = { pad: function (n, t) { for ( var i = 4 * t, i = i - (n.sigBytes % i), f = (i << 24) | (i << 16) | (i << 8) | i, r = [], u = 0; u < i; u += 4 ) r.push(f); i = e.create(r, i); n.concat(i); }, unpad: function (n) { n.sigBytes -= n.words[(n.sigBytes - 1) >>> 2] & 255; }, }; t.BlockCipher = o.extend({ cfg: o.cfg.extend({ mode: s, padding: r }), reset: function () { var t; o.reset.call(this); var n = this.cfg, i = n.iv, n = n.mode; this._xformMode == this._ENC_XFORM_MODE ? (t = n.createEncryptor) : ((t = n.createDecryptor), (this._minBufferSize = 1)); this._mode = t.call(n, this, i && i.words); }, _doProcessBlock: function (n, t) { this._mode.processBlock(n, t); }, _doFinalize: function () { var t = this.cfg.padding, n; return ( this._xformMode == this._ENC_XFORM_MODE ? (t.pad(this._data, this.blockSize), (n = this._process(!0))) : ((n = this._process(!0)), t.unpad(n)), n ); }, blockSize: 4, }); var h = (t.CipherParams = f.extend({ init: function (n) { this.mixIn(n); }, toString: function (n) { return (n || this.formatter).stringify(this); }, })), s = ((i.format = {}).OpenSSL = { stringify: function (n) { var t = n.ciphertext; return ( (n = n.salt), (n ? e.create([1398893684, 1701076831]).concat(n).concat(t) : t ).toString(l) ); }, parse: function (n) { var t, i; return ( (n = l.parse(n)), (t = n.words), 1398893684 == t[0] && 1701076831 == t[1] && ((i = e.create(t.slice(2, 4))), t.splice(0, 4), (n.sigBytes -= 16)), h.create({ ciphertext: n, salt: i }) ); }, }), u = (t.SerializableCipher = f.extend({ cfg: f.extend({ format: s }), encrypt: function (n, t, i, r) { r = this.cfg.extend(r); var u = n.createEncryptor(i, r); return ( (t = u.finalize(t)), (u = u.cfg), h.create({ ciphertext: t, key: i, iv: u.iv, algorithm: n, mode: u.mode, padding: u.padding, blockSize: n.blockSize, formatter: r.format, }) ); }, decrypt: function (n, t, i, r) { return ( (r = this.cfg.extend(r)), (t = this._parse(t, r.format)), n.createDecryptor(i, r).finalize(t.ciphertext) ); }, _parse: function (n, t) { return "string" == typeof n ? t.parse(n, this) : n; }, })), i = ((i.kdf = {}).OpenSSL = { execute: function (n, t, i, r) { return ( r || (r = e.random(8)), (n = y.create({ keySize: t + i }).compute(n, r)), (i = e.create(n.words.slice(t), 4 * i)), (n.sigBytes = 4 * t), h.create({ key: n, iv: i, salt: r }) ); }, }), v = (t.PasswordBasedCipher = u.extend({ cfg: u.cfg.extend({ kdf: i }), encrypt: function (n, t, i, r) { return ( (r = this.cfg.extend(r)), (i = r.kdf.execute(i, n.keySize, n.ivSize)), (r.iv = i.iv), (n = u.encrypt.call(this, n, t, i.key, r)), n.mixIn(i), n ); }, decrypt: function (n, t, i, r) { return ( (r = this.cfg.extend(r)), (t = this._parse(t, r.format)), (i = r.kdf.execute(i, n.keySize, n.ivSize, t.salt)), (r.iv = i.iv), u.decrypt.call(this, n, t, i.key, r) ); }, })); })(), (function () { for ( var i, tt, s = CryptoJS, y = s.lib.BlockCipher, h = s.algo, t = [], p = [], w = [], b = [], k = [], d = [], c = [], l = [], a = [], v = [], u = [], f = 0; 256 > f; f++ ) u[f] = 128 > f ? f << 1 : (f << 1) ^ 283; for (var r = 0, e = 0, f = 0; 256 > f; f++) { i = e ^ (e << 1) ^ (e << 2) ^ (e << 3) ^ (e << 4); i = (i >>> 8) ^ (i & 255) ^ 99; t[r] = i; p[i] = r; var o = u[r], g = u[o], nt = u[g], n = (257 * u[i]) ^ (16843008 * i); w[r] = (n << 24) | (n >>> 8); b[r] = (n << 16) | (n >>> 16); k[r] = (n << 8) | (n >>> 24); d[r] = n; n = (16843009 * nt) ^ (65537 * g) ^ (257 * o) ^ (16843008 * r); c[i] = (n << 24) | (n >>> 8); l[i] = (n << 16) | (n >>> 16); a[i] = (n << 8) | (n >>> 24); v[i] = n; r ? ((r = o ^ u[u[u[nt ^ o]]]), (e ^= u[u[e]])) : (r = e = 1); } tt = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54]; h = h.AES = y.extend({ _doReset: function () { for ( var n, f = this._key, e = f.words, r = f.sigBytes / 4, f = 4 * ((this._nRounds = r + 6) + 1), u = (this._keySchedule = []), i = 0; i < f; i++ ) i < r ? (u[i] = e[i]) : ((n = u[i - 1]), i % r ? 6 < r && 4 == i % r && (n = (t[n >>> 24] << 24) | (t[(n >>> 16) & 255] << 16) | (t[(n >>> 8) & 255] << 8) | t[n & 255]) : ((n = (n << 8) | (n >>> 24)), (n = (t[n >>> 24] << 24) | (t[(n >>> 16) & 255] << 16) | (t[(n >>> 8) & 255] << 8) | t[n & 255]), (n ^= tt[(i / r) | 0] << 24)), (u[i] = u[i - r] ^ n)); for (e = this._invKeySchedule = [], r = 0; r < f; r++) (i = f - r), (n = r % 4 ? u[i] : u[i - 4]), (e[r] = 4 > r || 4 >= i ? n : c[t[n >>> 24]] ^ l[t[(n >>> 16) & 255]] ^ a[t[(n >>> 8) & 255]] ^ v[t[n & 255]]); }, encryptBlock: function (n, i) { this._doCryptBlock(n, i, this._keySchedule, w, b, k, d, t); }, decryptBlock: function (n, t) { var i = n[t + 1]; n[t + 1] = n[t + 3]; n[t + 3] = i; this._doCryptBlock(n, t, this._invKeySchedule, c, l, a, v, p); i = n[t + 1]; n[t + 1] = n[t + 3]; n[t + 3] = i; }, _doCryptBlock: function (n, t, i, r, u, f, e, o) { for ( var b = this._nRounds, h = n[t] ^ i[0], c = n[t + 1] ^ i[1], l = n[t + 2] ^ i[2], s = n[t + 3] ^ i[3], a = 4, w = 1; w < b; w++ ) var v = r[h >>> 24] ^ u[(c >>> 16) & 255] ^ f[(l >>> 8) & 255] ^ e[s & 255] ^ i[a++], y = r[c >>> 24] ^ u[(l >>> 16) & 255] ^ f[(s >>> 8) & 255] ^ e[h & 255] ^ i[a++], p = r[l >>> 24] ^ u[(s >>> 16) & 255] ^ f[(h >>> 8) & 255] ^ e[c & 255] ^ i[a++], s = r[s >>> 24] ^ u[(h >>> 16) & 255] ^ f[(c >>> 8) & 255] ^ e[l & 255] ^ i[a++], h = v, c = y, l = p; v = ((o[h >>> 24] << 24) | (o[(c >>> 16) & 255] << 16) | (o[(l >>> 8) & 255] << 8) | o[s & 255]) ^ i[a++]; y = ((o[c >>> 24] << 24) | (o[(l >>> 16) & 255] << 16) | (o[(s >>> 8) & 255] << 8) | o[h & 255]) ^ i[a++]; p = ((o[l >>> 24] << 24) | (o[(s >>> 16) & 255] << 16) | (o[(h >>> 8) & 255] << 8) | o[c & 255]) ^ i[a++]; s = ((o[s >>> 24] << 24) | (o[(h >>> 16) & 255] << 16) | (o[(c >>> 8) & 255] << 8) | o[l & 255]) ^ i[a++]; n[t] = v; n[t + 1] = y; n[t + 2] = p; n[t + 3] = s; }, keySize: 8, }); s.AES = y._createHelper(h); })(); "undefined" == typeof jQuery.migrateMute && (jQuery.migrateMute = !0), (function (n, t) { "use strict"; function i(i) { var r = t.console; u[i] || ((u[i] = !0), n.migrateWarnings.push(i), r && r.warn && !n.migrateMute && (r.warn("JQMIGRATE: " + i), n.migrateTrace && r.trace && r.trace())); } function r(n, t, r, u) { Object.defineProperty(n, t, { configurable: !0, enumerable: !0, get: function () { return i(u), r; }, }); } var u, e, h, o, s, c, l, a, v, y, p, w, b; (n.migrateVersion = "3.0.0"), (function () { var i = t.console && t.console.log && function () { t.console.log.apply(t.console, arguments); }; i && ((n && !/^[12]\./.test(n.fn.jquery)) || i("JQMIGRATE: jQuery 3.0.0+ REQUIRED"), n.migrateWarnings && i("JQMIGRATE: Migrate plugin loaded multiple times"), i( "JQMIGRATE: Migrate is installed" + (n.migrateMute ? "" : " with logging active") + ", version " + n.migrateVersion )); })(); u = {}; n.migrateWarnings = []; void 0 === n.migrateTrace && (n.migrateTrace = !0); n.migrateReset = function () { u = {}; n.migrateWarnings.length = 0; }; "BackCompat" === document.compatMode && i("jQuery is not compatible with Quirks Mode"); var k = n.fn.init, d = n.isNumeric, f = n.find, g = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/, nt = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g; n.fn.init = function (n) { var t = Array.prototype.slice.call(arguments); return ( "string" == typeof n && "#" === n && (i("jQuery( '#' ) is not a valid selector"), (t[0] = [])), k.apply(this, t) ); }; n.fn.init.prototype = n.fn; n.find = function (n) { var t = Array.prototype.slice.call(arguments); if ("string" == typeof n && g.test(n)) try { document.querySelector(n); } catch (r) { n = n.replace(nt, function (n, t, i, r) { return "[" + t + i + '"' + r + '"]'; }); try { document.querySelector(n); i("Attribute selector with '#' must be quoted: " + t[0]); t[0] = n; } catch (u) { i("Attribute selector with '#' was not fixed: " + t[0]); } } return f.apply(this, t); }; for (e in f) Object.prototype.hasOwnProperty.call(f, e) && (n.find[e] = f[e]); n.fn.size = function () { return ( i("jQuery.fn.size() is deprecated; use the .length property"), this.length ); }; n.parseJSON = function () { return ( i("jQuery.parseJSON is deprecated; use JSON.parse"), JSON.parse.apply(null, arguments) ); }; n.isNumeric = function (t) { function u(t) { var i = t && t.toString(); return !n.isArray(t) && i - parseFloat(i) + 1 >= 0; } var f = d(t), r = u(t); return ( f !== r && i("jQuery.isNumeric() should not be called on constructed objects"), r ); }; r( n, "unique", n.uniqueSort, "jQuery.unique is deprecated, use jQuery.uniqueSort" ); r( n.expr, "filters", n.expr.pseudos, "jQuery.expr.filters is now jQuery.expr.pseudos" ); r( n.expr, ":", n.expr.pseudos, 'jQuery.expr[":"] is now jQuery.expr.pseudos' ); h = n.ajax; n.ajax = function () { var n = h.apply(this, arguments); return ( n.promise && (r(n, "success", n.done, "jQXHR.success is deprecated and removed"), r(n, "error", n.fail, "jQXHR.error is deprecated and removed"), r( n, "complete", n.always, "jQXHR.complete is deprecated and removed" )), n ); }; var tt = n.fn.removeAttr, it = n.fn.toggleClass, rt = /\S+/g; n.fn.removeAttr = function (t) { var r = this; return ( n.each(t.match(rt), function (t, u) { n.expr.match.bool.test(u) && (i("jQuery.fn.removeAttr no longer sets boolean properties: " + u), r.prop(u, !1)); }), tt.apply(this, arguments) ); }; n.fn.toggleClass = function (t) { return void 0 !== t && "boolean" != typeof t ? it.apply(this, arguments) : (i("jQuery.fn.toggleClass( boolean ) is deprecated"), this.each(function () { var i = (this.getAttribute && this.getAttribute("class")) || ""; i && n.data(this, "__className__", i); this.setAttribute && this.setAttribute( "class", i || t === !1 ? "" : n.data(this, "__className__") || "" ); })); }; o = !1; n.swap && n.each(["height", "width", "reliableMarginRight"], function (t, i) { var r = n.cssHooks[i] && n.cssHooks[i].get; r && (n.cssHooks[i].get = function () { var n; return (o = !0), (n = r.apply(this, arguments)), (o = !1), n; }); }); n.swap = function (n, t, r, u) { var e, f, s = {}; o || i("jQuery.swap() is undocumented and deprecated"); for (f in t) (s[f] = n.style[f]), (n.style[f] = t[f]); e = r.apply(n, u || []); for (f in t) n.style[f] = s[f]; return e; }; s = n.data; n.data = function (t, r, u) { var f; return r && r !== n.camelCase(r) && ((f = n.hasData(t) && s.call(this, t)), f && r in f) ? (i("jQuery.data() always sets/gets camelCased names: " + r), arguments.length > 2 && (f[r] = u), f[r]) : s.apply(this, arguments); }; c = n.Tween.prototype.run; n.Tween.prototype.run = function (t) { n.easing[this.easing].length > 1 && (i( 'easing function "jQuery.easing.' + this.easing.toString() + '" should use only first argument' ), (n.easing[this.easing] = n.easing[this.easing].bind( n.easing, t, this.options.duration * t, 0, 1, this.options.duration ))); c.apply(this, arguments); }; l = n.fn.load; a = n.event.fix; n.event.props = []; n.event.fixHooks = {}; n.event.fix = function (t) { var f, e = t.type, u = this.fixHooks[e], r = n.event.props; if (r.length) for ( i("jQuery.event.props are deprecated and removed: " + r.join()); r.length; ) n.event.addProp(r.pop()); if ( u && !u._migrated_ && ((u._migrated_ = !0), i("jQuery.event.fixHooks are deprecated and removed: " + e), (r = u.props) && r.length) ) for (; r.length; ) n.event.addProp(r.pop()); return (f = a.call(this, t)), u && u.filter ? u.filter(f, t) : f; }; n.each(["load", "unload", "error"], function (t, r) { n.fn[r] = function () { var n = Array.prototype.slice.call(arguments, 0); return "load" === r && "string" == typeof n[0] ? l.apply(this, n) : (i("jQuery.fn." + r + "() is deprecated"), n.splice(0, 0, r), arguments.length ? this.on.apply(this, n) : (this.triggerHandler.apply(this, n), this)); }; }); n(function () { n(document).triggerHandler("ready"); }); n.event.special.ready = { setup: function () { this === document && i("'ready' event is deprecated"); }, }; n.fn.extend({ bind: function (n, t, r) { return i("jQuery.fn.bind() is deprecated"), this.on(n, null, t, r); }, unbind: function (n, t) { return i("jQuery.fn.unbind() is deprecated"), this.off(n, null, t); }, delegate: function (n, t, r, u) { return i("jQuery.fn.delegate() is deprecated"), this.on(t, n, r, u); }, undelegate: function (n, t, r) { return ( i("jQuery.fn.undelegate() is deprecated"), 1 === arguments.length ? this.off(n, "**") : this.off(t, n || "**", r) ); }, }); v = n.fn.offset; n.fn.offset = function () { var r, t = this[0], u = { top: 0, left: 0 }; return t && t.nodeType ? ((r = (t.ownerDocument || document).documentElement), n.contains(r, t) ? v.apply(this, arguments) : (i( "jQuery.fn.offset() requires an element connected to a document" ), u)) : (i("jQuery.fn.offset() requires a valid DOM element"), u); }; y = n.param; n.param = function (t, r) { var u = n.ajaxSettings && n.ajaxSettings.traditional; return ( void 0 === r && u && (i("jQuery.param() no longer uses jQuery.ajaxSettings.traditional"), (r = u)), y.call(this, t, r) ); }; p = n.fn.andSelf || n.fn.addBack; n.fn.andSelf = function () { return ( i("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"), p.apply(this, arguments) ); }; w = n.Deferred; b = [ [ "resolve", "done", n.Callbacks("once memory"), n.Callbacks("once memory"), "resolved", ], [ "reject", "fail", n.Callbacks("once memory"), n.Callbacks("once memory"), "rejected", ], ["notify", "progress", n.Callbacks("memory"), n.Callbacks("memory")], ]; n.Deferred = function (t) { var r = w(), u = r.promise(); return ( (r.pipe = u.pipe = function () { var t = arguments; return ( i("deferred.pipe() is deprecated"), n .Deferred(function (i) { n.each(b, function (f, e) { var o = n.isFunction(t[f]) && t[f]; r[e[1]](function () { var t = o && o.apply(this, arguments); t && n.isFunction(t.promise) ? t .promise() .done(i.resolve) .fail(i.reject) .progress(i.notify) : i[e[0] + "With"]( this === u ? i.promise() : this, o ? [t] : arguments ); }); }); t = null; }) .promise() ); }), t && t.call(r, r), r ); }; })(jQuery, window), function () { var t = [].indexOf || function (n) { for (var t = 0, i = this.length; t < i; t++) if (t in this && this[t] === n) return t; return -1; }, n = [].slice; (function (n, t) { return typeof define == "function" && define.amd ? define("waypoints", ["jquery"], function (i) { return t(i, n); }) : t(n.jQuery, n); })(this, function (i, r) { var a, b, v, o, k, h, s, y, u, f, p, w, d, l, c, e; return ( (a = i(r)), (y = t.call(r, "ontouchstart") >= 0), (o = { horizontal: {}, vertical: {} }), (k = 1), (s = {}), (h = "waypoints-context-id"), (p = "resize.waypoints"), (w = "scroll.waypoints"), (d = 1), (l = "waypoints-waypoint-ids"), (c = "waypoint"), (e = "waypoints"), (b = (function () { function n(n) { var t = this; this.$element = n; this.element = n[0]; this.didResize = !1; this.didScroll = !1; this.id = "context" + k++; this.oldScroll = { x: n.scrollLeft(), y: n.scrollTop() }; this.waypoints = { horizontal: {}, vertical: {} }; n.data(h, this.id); s[this.id] = this; n.bind(w, function () { var n; if (!(t.didScroll || y)) return ( (t.didScroll = !0), (n = function () { return t.doScroll(), (t.didScroll = !1); }), r.setTimeout(n, i[e].settings.scrollThrottle) ); }); n.bind(p, function () { var n; if (!t.didResize) return ( (t.didResize = !0), (n = function () { return i[e]("refresh"), (t.didResize = !1); }), r.setTimeout(n, i[e].settings.resizeThrottle) ); }); } return ( (n.prototype.doScroll = function () { var n, t = this; return ( (n = { horizontal: { newScroll: this.$element.scrollLeft(), oldScroll: this.oldScroll.x, forward: "right", backward: "left", }, vertical: { newScroll: this.$element.scrollTop(), oldScroll: this.oldScroll.y, forward: "down", backward: "up", }, }), !y || (n.vertical.oldScroll && n.vertical.newScroll) || i[e]("refresh"), i.each(n, function (n, r) { var e, f, u; return ( (u = []), (f = r.newScroll > r.oldScroll), (e = f ? r.forward : r.backward), i.each(t.waypoints[n], function (n, t) { var i, f; return r.oldScroll < (i = t.offset) && i <= r.newScroll ? u.push(t) : r.newScroll < (f = t.offset) && f <= r.oldScroll ? u.push(t) : void 0; }), u.sort(function (n, t) { return n.offset - t.offset; }), f || u.reverse(), i.each(u, function (n, t) { if (t.options.continuous || n === u.length - 1) return t.trigger([e]); }) ); }), (this.oldScroll = { x: n.horizontal.newScroll, y: n.vertical.newScroll, }) ); }), (n.prototype.refresh = function () { var r, t, n, u = this; return ( (n = i.isWindow(this.element)), (t = this.$element.offset()), this.doScroll(), (r = { horizontal: { contextOffset: n ? 0 : t.left, contextScroll: n ? 0 : this.oldScroll.x, contextDimension: this.$element.width(), oldScroll: this.oldScroll.x, forward: "right", backward: "left", offsetProp: "left", }, vertical: { contextOffset: n ? 0 : t.top, contextScroll: n ? 0 : this.oldScroll.y, contextDimension: n ? i[e]("viewportHeight") : this.$element.height(), oldScroll: this.oldScroll.y, forward: "down", backward: "up", offsetProp: "top", }, }), i.each(r, function (n, t) { return i.each(u.waypoints[n], function (n, r) { var u, e, f, o, s; if ( ((u = r.options.offset), (f = r.offset), (e = i.isWindow(r.element) ? 0 : r.$element.offset()[t.offsetProp]), i.isFunction(u) ? (u = u.apply(r.element)) : typeof u == "string" && ((u = parseFloat(u)), r.options.offset.indexOf("%") > -1 && (u = Math.ceil((t.contextDimension * u) / 100))), (r.offset = e - t.contextOffset + t.contextScroll - u), (!r.options.onlyOnScroll || f == null) && r.enabled) ) return f !== null && f < (o = t.oldScroll) && o <= r.offset ? r.trigger([t.backward]) : f !== null && f > (s = t.oldScroll) && s >= r.offset ? r.trigger([t.forward]) : f === null && t.oldScroll >= r.offset ? r.trigger([t.forward]) : void 0; }); }) ); }), (n.prototype.checkEmpty = function () { if ( i.isEmptyObject(this.waypoints.horizontal) && i.isEmptyObject(this.waypoints.vertical) ) return ( this.$element.unbind([p, w].join(" ")), delete s[this.id] ); }), n ); })()), (v = (function () { function n(n, t, r) { var u, f; r = i.extend({}, i.fn[c].defaults, r); r.offset === "bottom-in-view" && (r.offset = function () { var n; return ( (n = i[e]("viewportHeight")), i.isWindow(t.element) || (n = t.$element.height()), n - i(this).outerHeight() ); }); this.$element = n; this.element = n[0]; this.axis = r.horizontal ? "horizontal" : "vertical"; this.callback = r.handler; this.context = t; this.enabled = r.enabled; this.id = "waypoints" + d++; this.offset = null; this.options = r; t.waypoints[this.axis][this.id] = this; o[this.axis][this.id] = this; u = (f = n.data(l)) != null ? f : []; u.push(this.id); n.data(l, u); } return ( (n.prototype.trigger = function (n) { if (this.enabled) return ( this.callback != null && this.callback.apply(this.element, n), this.options.triggerOnce ? this.destroy() : void 0 ); }), (n.prototype.disable = function () { return (this.enabled = !1); }), (n.prototype.enable = function () { return this.context.refresh(), (this.enabled = !0); }), (n.prototype.destroy = function () { return ( delete o[this.axis][this.id], delete this.context.waypoints[this.axis][this.id], this.context.checkEmpty() ); }), (n.getWaypointsByElement = function (n) { var r, t; return ((t = i(n).data(l)), !t) ? [] : ((r = i.extend({}, o.horizontal, o.vertical)), i.map(t, function (n) { return r[n]; })); }), n ); })()), (f = { init: function (n, t) { var r; return ( t == null && (t = {}), (r = t.handler) == null && (t.handler = n), this.each(function () { var u, r, n, f; return ( (u = i(this)), (n = (f = t.context) != null ? f : i.fn[c].defaults.context), i.isWindow(n) || (n = u.closest(n)), (n = i(n)), (r = s[n.data(h)]), r || (r = new b(n)), new v(u, r, t) ); }), i[e]("refresh"), this ); }, disable: function () { return f._invoke(this, "disable"); }, enable: function () { return f._invoke(this, "enable"); }, destroy: function () { return f._invoke(this, "destroy"); }, prev: function (n, t) { return f._traverse.call(this, n, t, function (n, t, i) { if (t > 0) return n.push(i[t - 1]); }); }, next: function (n, t) { return f._traverse.call(this, n, t, function (n, t, i) { if (t < i.length - 1) return n.push(i[t + 1]); }); }, _traverse: function (n, t, f) { var e, o; return ( n == null && (n = "vertical"), t == null && (t = r), (o = u.aggregate(t)), (e = []), this.each(function () { var t; return (t = i.inArray(this, o[n])), f(e, t, o[n]); }), this.pushStack(e) ); }, _invoke: function (n, t) { return ( n.each(function () { var n; return ( (n = v.getWaypointsByElement(this)), i.each(n, function (n, i) { return i[t](), !0; }) ); }), this ); }, }), (i.fn[c] = function () { var r, t; return ( (t = arguments[0]), (r = 2 <= arguments.length ? n.call(arguments, 1) : []), f[t] ? f[t].apply(this, r) : i.isFunction(t) ? f.init.apply(this, arguments) : i.isPlainObject(t) ? f.init.apply(this, [null, t]) : t ? i.error( "The " + t + " method does not exist in jQuery Waypoints." ) : i.error( "jQuery Waypoints needs a callback function or handler option." ) ); }), (i.fn[c].defaults = { context: r, continuous: !0, enabled: !0, horizontal: !1, offset: 0, triggerOnce: !1, }), (u = { refresh: function () { return i.each(s, function (n, t) { return t.refresh(); }); }, viewportHeight: function () { var n; return (n = r.innerHeight) != null ? n : a.height(); }, aggregate: function (n) { var r, t, u; return ((r = o), n && (r = (u = s[i(n).data(h)]) != null ? u.waypoints : void 0), !r) ? [] : ((t = { horizontal: [], vertical: [] }), i.each(t, function (n, u) { return ( i.each(r[n], function (n, t) { return u.push(t); }), u.sort(function (n, t) { return n.offset - t.offset; }), (t[n] = i.map(u, function (n) { return n.element; })), (t[n] = i.unique(t[n])) ); }), t); }, above: function (n) { return ( n == null && (n = r), u._filter(n, "vertical", function (n, t) { return t.offset <= n.oldScroll.y; }) ); }, below: function (n) { return ( n == null && (n = r), u._filter(n, "vertical", function (n, t) { return t.offset > n.oldScroll.y; }) ); }, left: function (n) { return ( n == null && (n = r), u._filter(n, "horizontal", function (n, t) { return t.offset <= n.oldScroll.x; }) ); }, right: function (n) { return ( n == null && (n = r), u._filter(n, "horizontal", function (n, t) { return t.offset > n.oldScroll.x; }) ); }, enable: function () { return u._invoke("enable"); }, disable: function () { return u._invoke("disable"); }, destroy: function () { return u._invoke("destroy"); }, extendFn: function (n, t) { return (f[n] = t); }, _invoke: function (n) { var t; return ( (t = i.extend({}, o.vertical, o.horizontal)), i.each(t, function (t, i) { return i[n](), !0; }) ); }, _filter: function (n, t, r) { var u, f; return ((u = s[i(n).data(h)]), !u) ? [] : ((f = []), i.each(u.waypoints[t], function (n, t) { if (r(u, t)) return f.push(t); }), f.sort(function (n, t) { return n.offset - t.offset; }), i.map(f, function (n) { return n.element; })); }, }), (i[e] = function () { var i, t; return ( (t = arguments[0]), (i = 2 <= arguments.length ? n.call(arguments, 1) : []), u[t] ? u[t].apply(null, i) : u.aggregate.call(null, t) ); }), (i[e].settings = { resizeThrottle: 100, scrollThrottle: 30 }), a.load(function () { return i[e]("refresh"); }) ); }); }.call(this), (function (n) { "use strict"; n.fn.counterUp = function (t) { var i = n.extend({ time: 400, delay: 10 }, t); return this.each(function () { var t = n(this), r = i, u = function () { var e = [], f = r.time / r.delay, n = t.text(), h = /[0-9]+,[0-9]+/.test(n), u, i, s; n = n.replace(/,/g, ""); var l = /^[0-9]+$/.test(n), o = /^[0-9]+\.[0-9]+$/.test(n), c = o ? (n.split(".")[1] || []).length : 0; for (u = f; u >= 1; u--) { if ( ((i = parseInt((n / f) * u)), o && (i = parseFloat((n / f) * u).toFixed(c)), h) ) while (/(\d+)(\d{3})/.test(i.toString())) i = i.toString().replace(/(\d+)(\d{3})/, "$1,$2"); e.unshift(i); } t.data("counterup-nums", e); t.text("0"); s = function () { t.text(t.data("counterup-nums").shift()); t.data("counterup-nums").length ? setTimeout(t.data("counterup-func"), r.delay) : (delete t.data("counterup-nums"), t.data("counterup-nums", null), t.data("counterup-func", null)); }; t.data("counterup-func", s); setTimeout(t.data("counterup-func"), r.delay); }; t.waypoint(u, { offset: "100%", triggerOnce: !0 }); }); }; })(jQuery); markers = []; onloadCaptchaCallback = function () { try { $(".g-recaptcha").each(function () { var n = grecaptcha.render($(this).attr("id"), { sitekey: $(this).data("sitekey"), }); $(this).attr("data-widget-id", n); }); } catch (n) {} };