").html(e).find(t.opts.filter))), t.$slide.one("onReset", function() {
n(this).find("video,audio").trigger("pause"), t.$placeholder && (t.$placeholder.after(e.hide()).remove(), t.$placeholder = null), t.$smallBtn && (t.$smallBtn.remove(), t.$smallBtn = null), t.hasError || (n(this).empty(), t.isLoaded = !1)
}), n(e).appendTo(t.$slide), n(e).is("video,audio") && (n(e).addClass("fancybox-video"), n(e).wrap("
"), t.contentType = "video", t.opts.width = t.opts.width || n(e).attr("width"), t.opts.height = t.opts.height || n(e).attr("height")), t.$content = t.$slide.children().filter("div,form,main,video,audio").first().addClass("fancybox-content"), t.$slide.addClass("fancybox-slide--" + t.contentType), this.afterLoad(t))
},
setError: function(t) {
t.hasError = !0, t.$slide.trigger("onReset").removeClass("fancybox-slide--" + t.contentType).addClass("fancybox-slide--error"), t.contentType = "html", this.setContent(t, this.translate(t, t.opts.errorTpl)), t.pos === this.currPos && (this.isAnimating = !1)
},
showLoading: function(t) {
var e = this;
t = t || e.current, t && !t.$spinner && (t.$spinner = n(e.translate(e, e.opts.spinnerTpl)).appendTo(t.$slide))
},
hideLoading: function(t) {
var e = this;
t = t || e.current, t && t.$spinner && (t.$spinner.remove(), delete t.$spinner)
},
afterLoad: function(t) {
var e = this;
e.isClosing || (t.isLoading = !1, t.isLoaded = !0, e.trigger("afterLoad", t), e.hideLoading(t), t.pos === e.currPos && e.updateCursor(), !t.opts.smallBtn || t.$smallBtn && t.$smallBtn.length || (t.$smallBtn = n(e.translate(t, t.opts.btnTpl.smallBtn)).prependTo(t.$content)), t.opts.protect && t.$content && !t.hasError && (t.$content.on("contextmenu.fb", function(t) {
return 2 == t.button && t.preventDefault(), !0
}), "image" === t.type && n('
').appendTo(t.$content)), e.revealContent(t))
},
revealContent: function(t) {
var e, i, a, s, r = this,
c = t.$slide,
l = !1,
d = !1;
return e = t.opts[r.firstRun ? "animationEffect" : "transitionEffect"], a = t.opts[r.firstRun ? "animationDuration" : "transitionDuration"], a = parseInt(t.forcedDuration === o ? a : t.forcedDuration, 10), t.pos === r.currPos && (t.isComplete ? e = !1 : r.isAnimating = !0), !t.isMoved && t.pos === r.currPos && a || (e = !1), "zoom" === e && (t.pos === r.currPos && a && "image" === t.type && !t.hasError && (d = r.getThumbPos(t)) ? l = r.getFitPos(t) : e = "fade"), "zoom" === e ? (l.scaleX = l.width / d.width, l.scaleY = l.height / d.height, s = t.opts.zoomOpacity, "auto" == s && (s = Math.abs(t.width / t.height - d.width / d.height) > .1), s && (d.opacity = .1, l.opacity = 1), n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"), d), f(t.$content), void n.fancybox.animate(t.$content, l, a, function() {
r.isAnimating = !1, r.complete()
})) : (r.updateSlide(t), e ? (n.fancybox.stop(c), i = "fancybox-animated fancybox-slide--" + (t.pos >= r.prevPos ? "next" : "previous") + " fancybox-fx-" + e, c.removeAttr("style").removeClass("fancybox-slide--current fancybox-slide--next fancybox-slide--previous").addClass(i), t.$content.removeClass("fancybox-is-hidden"), f(c), void n.fancybox.animate(c, "fancybox-slide--current", a, function(e) {
c.removeClass(i).removeAttr("style"), t.pos === r.currPos && r.complete()
}, !0)) : (f(c), t.$content.removeClass("fancybox-is-hidden"), void(t.pos === r.currPos && r.complete())))
},
getThumbPos: function(o) {
var i, a = this,
s = !1,
r = o.opts.$thumb,
c = r && r.length && r[0].ownerDocument === e ? r.offset() : 0,
l = function(e) {
for (var o, i = e[0], a = i.getBoundingClientRect(), s = []; null !== i.parentElement;)"hidden" !== n(i.parentElement).css("overflow") && "auto" !== n(i.parentElement).css("overflow") || s.push(i.parentElement.getBoundingClientRect()), i = i.parentElement;
return o = s.every(function(t) {
var e = Math.min(a.right, t.right) - Math.max(a.left, t.left),
n = Math.min(a.bottom, t.bottom) - Math.max(a.top, t.top);
return e > 0 && n > 0
}), o && a.bottom > 0 && a.right > 0 && a.left < n(t).width() && a.top < n(t).height()
};
return c && l(r) && (i = a.$refs.stage.offset(), s = {
top: c.top - i.top + parseFloat(r.css("border-top-width") || 0),
left: c.left - i.left + parseFloat(r.css("border-left-width") || 0),
width: r.width(),
height: r.height(),
scaleX: 1,
scaleY: 1
}), s
},
complete: function() {
var t = this,
o = t.current,
i = {};
!o.isMoved && o.isLoaded && (o.isComplete || (o.isComplete = !0, o.$slide.siblings().trigger("onReset"), t.preload("inline"), f(o.$slide), o.$slide.addClass("fancybox-slide--complete"), n.each(t.slides, function(e, o) {
o.pos >= t.currPos - 1 && o.pos <= t.currPos + 1 ? i[o.pos] = o : o && (n.fancybox.stop(o.$slide), o.$slide.off().remove())
}), t.slides = i), t.isAnimating = !1, t.updateCursor(), t.trigger("afterShow"), o.$slide.find("video,audio").filter(":visible:first").trigger("play"), (n(e.activeElement).is("[disabled]") || o.opts.autoFocus && "image" != o.type && "iframe" !== o.type) && t.focus())
},
preload: function(t) {
var e = this,
n = e.slides[e.currPos + 1],
o = e.slides[e.currPos - 1];
n && n.type === t && e.loadSlide(n), o && o.type === t && e.loadSlide(o)
},
focus: function() {
var t, e = this.current;
this.isClosing || e && e.isComplete && e.$content && (t = e.$content.find("input[autofocus]:enabled:visible:first"), t.length || (t = e.$content.find("button,:input,[tabindex],a").filter(":enabled:visible:first")), t = t && t.length ? t : e.$content, t.trigger("focus"))
},
activate: function() {
var t = this;
n(".fancybox-container").each(function() {
var e = n(this).data("FancyBox");
e && e.id !== t.id && !e.isClosing && (e.trigger("onDeactivate"), e.removeEvents(), e.isVisible = !1)
}), t.isVisible = !0, (t.current || t.isIdle) && (t.update(), t.updateControls()), t.trigger("onActivate"), t.addEvents()
},
close: function(t, e) {
var o, i, a, s, r, c, l, p = this,
h = p.current,
g = function() {
p.cleanUp(t)
};
return !p.isClosing && (p.isClosing = !0, p.trigger("beforeClose", t) === !1 ? (p.isClosing = !1, d(function() {
p.update()
}), !1) : (p.removeEvents(), h.timouts && clearTimeout(h.timouts), a = h.$content, o = h.opts.animationEffect, i = n.isNumeric(e) ? e : o ? h.opts.animationDuration : 0, h.$slide.off(u).removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"), h.$slide.siblings().trigger("onReset").remove(), i && p.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing"), p.hideLoading(h), p.hideControls(), p.updateCursor(), "zoom" !== o || t !== !0 && a && i && "image" === h.type && !h.hasError && (l = p.getThumbPos(h)) || (o = "fade"), "zoom" === o ? (n.fancybox.stop(a), s = n.fancybox.getTranslate(a), c = {
top: s.top,
left: s.left,
scaleX: s.width / l.width,
scaleY: s.height / l.height,
width: l.width,
height: l.height
}, r = h.opts.zoomOpacity, "auto" == r && (r = Math.abs(h.width / h.height - l.width / l.height) > .1), r && (l.opacity = 0), n.fancybox.setTranslate(a, c), f(a), n.fancybox.animate(a, l, i, g), !0) : (o && i ? t === !0 ? setTimeout(g, i) : n.fancybox.animate(h.$slide.removeClass("fancybox-slide--current"), "fancybox-animated fancybox-slide--previous fancybox-fx-" + o, i, g) : g(), !0)))
},
cleanUp: function(t) {
var e, o = this,
i = n("body");
o.current.$slide.trigger("onReset"), o.$refs.container.empty().remove(), o.trigger("afterClose", t), o.$lastFocus && o.current.opts.backFocus && o.$lastFocus.trigger("focus"), o.current = null, e = n.fancybox.getInstance(), e ? e.activate() : (i.removeClass("fancybox-active compensate-for-scrollbar"), n("#fancybox-style-noscroll").remove())
},
trigger: function(t, e) {
var o, i = Array.prototype.slice.call(arguments, 1),
a = this,
s = e && e.opts ? e : a.current;
return s ? i.unshift(s) : s = a, i.unshift(a), n.isFunction(s.opts[t]) && (o = s.opts[t].apply(s, i)), o === !1 ? o : void("afterClose" !== t && a.$refs ? a.$refs.container.trigger(t + ".fb", i) : r.trigger(t + ".fb", i))
},
updateControls: function(t) {
var e = this,
n = e.current,
o = n.index,
i = n.opts.caption,
a = e.$refs.container,
s = e.$refs.caption;
n.$slide.trigger("refresh"), e.$caption = i && i.length ? s.html(i) : null, e.isHiddenControls || e.isIdle || e.showControls(), a.find("[data-fancybox-count]").html(e.group.length), a.find("[data-fancybox-index]").html(o + 1), a.find("[data-fancybox-prev]").toggleClass("disabled", !n.opts.loop && o <= 0), a.find("[data-fancybox-next]").toggleClass("disabled", !n.opts.loop && o >= e.group.length - 1), "image" === n.type ? a.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href", n.opts.image.src || n.src).show() : n.opts.toolbar && a.find("[data-fancybox-download],[data-fancybox-zoom]").hide()
},
hideControls: function() {
this.isHiddenControls = !0, this.$refs.container.removeClass("fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav")
},
showControls: function() {
var t = this,
e = t.current ? t.current.opts : t.opts,
n = t.$refs.container;
t.isHiddenControls = !1, t.idleSecondsCounter = 0, n.toggleClass("fancybox-show-toolbar", !(!e.toolbar || !e.buttons)).toggleClass("fancybox-show-infobar", !! (e.infobar && t.group.length > 1)).toggleClass("fancybox-show-nav", !! (e.arrows && t.group.length > 1)).toggleClass("fancybox-is-modal", !! e.modal), t.$caption ? n.addClass("fancybox-show-caption ") : n.removeClass("fancybox-show-caption")
},
toggleControls: function() {
this.isHiddenControls ? this.showControls() : this.hideControls()
}
}), n.fancybox = {
version: "3.3.5",
defaults: a,
getInstance: function(t) {
var e = n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),
o = Array.prototype.slice.call(arguments, 1);
return e instanceof h && ("string" === n.type(t) ? e[t].apply(e, o) : "function" === n.type(t) && t.apply(e, o), e)
},
open: function(t, e, n) {
return new h(t, e, n)
},
close: function(t) {
var e = this.getInstance();
e && (e.close(), t === !0 && this.close())
},
destroy: function() {
this.close(!0), r.add("body").off("click.fb-start", "**")
},
isMobile: e.createTouch !== o && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
use3d: function() {
var n = e.createElement("div");
return t.getComputedStyle && t.getComputedStyle(n) && t.getComputedStyle(n).getPropertyValue("transform") && !(e.documentMode && e.documentMode < 11)
}(),
getTranslate: function(t) {
var e;
return !(!t || !t.length) && (e = t[0].getBoundingClientRect(), {
top: e.top || 0,
left: e.left || 0,
width: e.width,
height: e.height,
opacity: parseFloat(t.css("opacity"))
})
},
setTranslate: function(t, e) {
var n = "",
i = {};
if (t && e) return e.left === o && e.top === o || (n = (e.left === o ? t.position().left : e.left) + "px, " + (e.top === o ? t.position().top : e.top) + "px", n = this.use3d ? "translate3d(" + n + ", 0px)" : "translate(" + n + ")"), e.scaleX !== o && e.scaleY !== o && (n = (n.length ? n + " " : "") + "scale(" + e.scaleX + ", " + e.scaleY + ")"), n.length && (i.transform = n), e.opacity !== o && (i.opacity = e.opacity), e.width !== o && (i.width = e.width), e.height !== o && (i.height = e.height), t.css(i)
},
animate: function(t, e, i, a, s) {
var r = !1;
n.isFunction(i) && (a = i, i = null), n.isPlainObject(e) || t.removeAttr("style"), n.fancybox.stop(t), t.on(u, function(o) {
(!o || !o.originalEvent || t.is(o.originalEvent.target) && "z-index" != o.originalEvent.propertyName) && (n.fancybox.stop(t), r && n.fancybox.setTranslate(t, r), n.isPlainObject(e) ? s === !1 && t.removeAttr("style") : s !== !0 && t.removeClass(e), n.isFunction(a) && a(o))
}), n.isNumeric(i) && t.css("transition-duration", i + "ms"), n.isPlainObject(e) ? (e.scaleX !== o && e.scaleY !== o && (r = n.extend({}, e, {
width: t.width() * e.scaleX,
height: t.height() * e.scaleY,
scaleX: 1,
scaleY: 1
}), delete e.width, delete e.height, t.parent().hasClass("fancybox-slide--image") && t.parent().addClass("fancybox-is-scaling")), n.fancybox.setTranslate(t, e)) : t.addClass(e), t.data("timer", setTimeout(function() {
t.trigger("transitionend")
}, i + 16))
},
stop: function(t) {
t && t.length && (clearTimeout(t.data("timer")), t.off("transitionend").css("transition-duration", ""), t.parent().removeClass("fancybox-is-scaling"))
}
}, n.fn.fancybox = function(t) {
var e;
return t = t || {}, e = t.selector || !1, e ? n("body").off("click.fb-start", e).on("click.fb-start", e, {
options: t
}, i) : this.off("click.fb-start").on("click.fb-start", {
items: this,
options: t
}, i), this
}, r.on("click.fb-start", "[data-fancybox]", i), r.on("click.fb-start", "[data-trigger]", function(t) {
i(t, {
$target: n('[data-fancybox="' + n(t.currentTarget).attr("data-trigger") + '"]').eq(n(t.currentTarget).attr("data-index") || 0),
$trigger: n(this)
})
})
}
}(window, document, window.jQuery || jQuery), function(t) {
"use strict";
var e = function(e, n, o) {
if (e) return o = o || "", "object" === t.type(o) && (o = t.param(o, !0)), t.each(n, function(t, n) {
e = e.replace("$" + t, n || "")
}), o.length && (e += (e.indexOf("?") > 0 ? "&" : "?") + o), e
},
n = {
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: "//www.youtube.com/embed/$4",
thumb: "//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,
api: 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(t) {
return "//maps.google." + t[2] + "/?ll=" + (t[9] ? t[9] + "&z=" + Math.floor(t[10]) + (t[12] ? t[12].replace(/^\//, "&") : "") : t[12] + "").replace(/\?/, "&") + "&output=" + (t[12] && t[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(t) {
return "//maps.google." + t[2] + "/maps?q=" + t[5].replace("query=", "q=").replace("api=1", "") + "&output=embed"
}
}
};
t(document).on("objectNeedsType.fb", function(o, i, a) {
var s, r, c, l, d, u, f, p = a.src || "",
h = !1;
s = t.extend(!0, {}, n, a.opts.media), t.each(s, function(n, o) {
if (c = p.match(o.matcher)) {
if (h = o.type, f = n, u = {}, o.paramPlace && c[o.paramPlace]) {
d = c[o.paramPlace], "?" == d[0] && (d = d.substring(1)), d = d.split("&");
for (var i = 0; i < d.length; ++i) {
var s = d[i].split("=", 2);
2 == s.length && (u[s[0]] = decodeURIComponent(s[1].replace(/\+/g, " ")))
}
}
return l = t.extend(!0, {}, o.params, a.opts[n], u), p = "function" === t.type(o.url) ? o.url.call(this, c, l, a) : e(o.url, c, l), r = "function" === t.type(o.thumb) ? o.thumb.call(this, c, l, a) : e(o.thumb, c), "youtube" === n ? p = p.replace(/&t=((\d+)m)?(\d+)s/, function(t, e, n, o) {
return "&start=" + ((n ? 60 * parseInt(n, 10) : 0) + parseInt(o, 10))
}) : "vimeo" === n && (p = p.replace("&%23", "#")), !1
}
}), h ? (a.opts.thumb || a.opts.$thumb && a.opts.$thumb.length || (a.opts.thumb = r), "iframe" === h && (a.opts = t.extend(!0, a.opts, {
iframe: {
preload: !1,
attr: {
scrolling: "no"
}
}
})), t.extend(a, {
type: h,
src: p,
origSrc: a.src,
contentSource: f,
contentType: "image" === h ? "image" : "gmap_place" == f || "gmap_search" == f ? "map" : "video"
})) : p && (a.type = a.opts.defaultType)
})
}(window.jQuery || jQuery), function(t, e, n) {
"use strict";
var o = function() {
return t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || t.oRequestAnimationFrame ||
function(e) {
return t.setTimeout(e, 1e3 / 60)
}
}(),
i = function() {
return t.cancelAnimationFrame || t.webkitCancelAnimationFrame || t.mozCancelAnimationFrame || t.oCancelAnimationFrame ||
function(e) {
t.clearTimeout(e)
}
}(),
a = function(e) {
var n = [];
e = e.originalEvent || e || t.e, e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e];
for (var o in e) e[o].pageX ? n.push({
x: e[o].pageX,
y: e[o].pageY
}) : e[o].clientX && n.push({
x: e[o].clientX,
y: e[o].clientY
});
return n
},
s = function(t, e, n) {
return e && t ? "x" === n ? t.x - e.x : "y" === n ? t.y - e.y : Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2)) : 0
},
r = function(t) {
if (t.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio') || n.isFunction(t.get(0).onclick) || t.data("selectable")) return !0;
for (var e = 0, o = t[0].attributes, i = o.length; e < i; e++) if ("data-fancybox-" === o[e].nodeName.substr(0, 14)) return !0;
return !1
},
c = function(e) {
var n = t.getComputedStyle(e)["overflow-y"],
o = t.getComputedStyle(e)["overflow-x"],
i = ("scroll" === n || "auto" === n) && e.scrollHeight > e.clientHeight,
a = ("scroll" === o || "auto" === o) && e.scrollWidth > e.clientWidth;
return i || a
},
l = function(t) {
for (var e = !1;;) {
if (e = c(t.get(0))) break;
if (t = t.parent(), !t.length || t.hasClass("fancybox-stage") || t.is("body")) break
}
return e
},
d = function(t) {
var e = this;
e.instance = t, e.$bg = t.$refs.bg, e.$stage = t.$refs.stage, e.$container = t.$refs.container, e.destroy(), e.$container.on("touchstart.fb.touch mousedown.fb.touch", n.proxy(e, "ontouchstart"))
};
d.prototype.destroy = function() {
this.$container.off(".fb.touch")
}, d.prototype.ontouchstart = function(o) {
var i = this,
c = n(o.target),
d = i.instance,
u = d.current,
f = u.$content,
p = "touchstart" == o.type;
if (p && i.$container.off("mousedown.fb.touch"), (!o.originalEvent || 2 != o.originalEvent.button) && c.length && !r(c) && !r(c.parent()) && (c.is("img") || !(o.originalEvent.clientX > c[0].clientWidth + c.offset().left))) {
if (!u || d.isAnimating || d.isClosing) return o.stopPropagation(), void o.preventDefault();
if (i.realPoints = i.startPoints = a(o), i.startPoints.length) {
if (o.stopPropagation(), i.startEvent = o, i.canTap = !0, i.$target = c, i.$content = f, i.opts = u.opts.touch, i.isPanning = !1, i.isSwiping = !1, i.isZooming = !1, i.isScrolling = !1, i.startTime = (new Date).getTime(), i.distanceX = i.distanceY = i.distance = 0, i.canvasWidth = Math.round(u.$slide[0].clientWidth), i.canvasHeight = Math.round(u.$slide[0].clientHeight), i.contentLastPos = null, i.contentStartPos = n.fancybox.getTranslate(i.$content) || {
top: 0,
left: 0
}, i.sliderStartPos = i.sliderLastPos || n.fancybox.getTranslate(u.$slide), i.stagePos = n.fancybox.getTranslate(d.$refs.stage), i.sliderStartPos.top -= i.stagePos.top, i.sliderStartPos.left -= i.stagePos.left, i.contentStartPos.top -= i.stagePos.top, i.contentStartPos.left -= i.stagePos.left, n(e).off(".fb.touch").on(p ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mouseleave.fb.touch", n.proxy(i, "ontouchend")).on(p ? "touchmove.fb.touch" : "mousemove.fb.touch", n.proxy(i, "ontouchmove")), n.fancybox.isMobile && e.addEventListener("scroll", i.onscroll, !0), !i.opts && !d.canPan() || !c.is(i.$stage) && !i.$stage.find(c).length) return void(c.is(".fancybox-image") && o.preventDefault());
n.fancybox.isMobile && (l(c) || l(c.parent())) || o.preventDefault(), (1 === i.startPoints.length || u.hasError) && (i.instance.canPan() ? (n.fancybox.stop(i.$content), i.$content.css("transition-duration", ""), i.isPanning = !0) : i.isSwiping = !0, i.$container.addClass("fancybox-controls--isGrabbing")), 2 === i.startPoints.length && "image" === u.type && (u.isLoaded || u.$ghost) && (i.canTap = !1, i.isSwiping = !1, i.isPanning = !1, i.isZooming = !0, n.fancybox.stop(i.$content), i.$content.css("transition-duration", ""), i.centerPointStartX = .5 * (i.startPoints[0].x + i.startPoints[1].x) - n(t).scrollLeft(), i.centerPointStartY = .5 * (i.startPoints[0].y + i.startPoints[1].y) - n(t).scrollTop(), i.percentageOfImageAtPinchPointX = (i.centerPointStartX - i.contentStartPos.left) / i.contentStartPos.width, i.percentageOfImageAtPinchPointY = (i.centerPointStartY - i.contentStartPos.top) / i.contentStartPos.height, i.startDistanceBetweenFingers = s(i.startPoints[0], i.startPoints[1]))
}
}
}, d.prototype.onscroll = function(t) {
var n = this;
n.isScrolling = !0, e.removeEventListener("scroll", n.onscroll, !0)
}, d.prototype.ontouchmove = function(t) {
var e = this,
o = n(t.target);
return void 0 !== t.originalEvent.buttons && 0 === t.originalEvent.buttons ? void e.ontouchend(t) : e.isScrolling || !o.is(e.$stage) && !e.$stage.find(o).length ? void(e.canTap = !1) : (e.newPoints = a(t), void((e.opts || e.instance.canPan()) && e.newPoints.length && e.newPoints.length && (e.isSwiping && e.isSwiping === !0 || t.preventDefault(), e.distanceX = s(e.newPoints[0], e.startPoints[0], "x"), e.distanceY = s(e.newPoints[0], e.startPoints[0], "y"), e.distance = s(e.newPoints[0], e.startPoints[0]), e.distance > 0 && (e.isSwiping ? e.onSwipe(t) : e.isPanning ? e.onPan() : e.isZooming && e.onZoom()))))
}, d.prototype.onSwipe = function(e) {
var a, s = this,
r = s.isSwiping,
c = s.sliderStartPos.left || 0;
if (r !== !0)"x" == r && (s.distanceX > 0 && (s.instance.group.length < 2 || 0 === s.instance.current.index && !s.instance.current.opts.loop) ? c += Math.pow(s.distanceX, .8) : s.distanceX < 0 && (s.instance.group.length < 2 || s.instance.current.index === s.instance.group.length - 1 && !s.instance.current.opts.loop) ? c -= Math.pow(-s.distanceX, .8) : c += s.distanceX), s.sliderLastPos = {
top: "x" == r ? 0 : s.sliderStartPos.top + s.distanceY,
left: c
}, s.requestId && (i(s.requestId), s.requestId = null), s.requestId = o(function() {
s.sliderLastPos && (n.each(s.instance.slides, function(t, e) {
var o = e.pos - s.instance.currPos;
n.fancybox.setTranslate(e.$slide, {
top: s.sliderLastPos.top,
left: s.sliderLastPos.left + o * s.canvasWidth + o * e.opts.gutter
})
}), s.$container.addClass("fancybox-is-sliding"))
});
else if (Math.abs(s.distance) > 10) {
if (s.canTap = !1, s.instance.group.length < 2 && s.opts.vertical ? s.isSwiping = "y" : s.instance.isDragging || s.opts.vertical === !1 || "auto" === s.opts.vertical && n(t).width() > 800 ? s.isSwiping = "x" : (a = Math.abs(180 * Math.atan2(s.distanceY, s.distanceX) / Math.PI), s.isSwiping = a > 45 && a < 135 ? "y" : "x"), s.canTap = !1, "y" === s.isSwiping && n.fancybox.isMobile && (l(s.$target) || l(s.$target.parent()))) return void(s.isScrolling = !0);
s.instance.isDragging = s.isSwiping, s.startPoints = s.newPoints, n.each(s.instance.slides, function(t, e) {
n.fancybox.stop(e.$slide), e.$slide.css("transition-duration", ""), e.inTransition = !1, e.pos === s.instance.current.pos && (s.sliderStartPos.left = n.fancybox.getTranslate(e.$slide).left - n.fancybox.getTranslate(s.instance.$refs.stage).left)
}), s.instance.SlideShow && s.instance.SlideShow.isActive && s.instance.SlideShow.stop()
}
}, d.prototype.onPan = function() {
var t = this;
return s(t.newPoints[0], t.realPoints[0]) < (n.fancybox.isMobile ? 10 : 5) ? void(t.startPoints = t.newPoints) : (t.canTap = !1, t.contentLastPos = t.limitMovement(), t.requestId && (i(t.requestId), t.requestId = null), void(t.requestId = o(function() {
n.fancybox.setTranslate(t.$content, t.contentLastPos)
})))
}, d.prototype.limitMovement = function() {
var t, e, n, o, i, a, s = this,
r = s.canvasWidth,
c = s.canvasHeight,
l = s.distanceX,
d = s.distanceY,
u = s.contentStartPos,
f = u.left,
p = u.top,
h = u.width,
g = u.height;
return i = h > r ? f + l : f, a = p + d, t = Math.max(0, .5 * r - .5 * h), e = Math.max(0, .5 * c - .5 * g), n = Math.min(r - h, .5 * r - .5 * h), o = Math.min(c - g, .5 * c - .5 * g), l > 0 && i > t && (i = t - 1 + Math.pow(-t + f + l, .8) || 0), l < 0 && i < n && (i = n + 1 - Math.pow(n - f - l, .8) || 0), d > 0 && a > e && (a = e - 1 + Math.pow(-e + p + d, .8) || 0), d < 0 && a < o && (a = o + 1 - Math.pow(o - p - d, .8) || 0), {
top: a,
left: i
}
}, d.prototype.limitPosition = function(t, e, n, o) {
var i = this,
a = i.canvasWidth,
s = i.canvasHeight;
return n > a ? (t = t > 0 ? 0 : t, t = t < a - n ? a - n : t) : t = Math.max(0, a / 2 - n / 2), o > s ? (e = e > 0 ? 0 : e, e = e < s - o ? s - o : e) : e = Math.max(0, s / 2 - o / 2), {
top: e,
left: t
}
}, d.prototype.onZoom = function() {
var e = this,
a = e.contentStartPos,
r = a.width,
c = a.height,
l = a.left,
d = a.top,
u = s(e.newPoints[0], e.newPoints[1]),
f = u / e.startDistanceBetweenFingers,
p = Math.floor(r * f),
h = Math.floor(c * f),
g = (r - p) * e.percentageOfImageAtPinchPointX,
b = (c - h) * e.percentageOfImageAtPinchPointY,
m = (e.newPoints[0].x + e.newPoints[1].x) / 2 - n(t).scrollLeft(),
y = (e.newPoints[0].y + e.newPoints[1].y) / 2 - n(t).scrollTop(),
v = m - e.centerPointStartX,
x = y - e.centerPointStartY,
w = l + (g + v),
$ = d + (b + x),
S = {
top: $,
left: w,
scaleX: f,
scaleY: f
};
e.canTap = !1, e.newWidth = p, e.newHeight = h, e.contentLastPos = S, e.requestId && (i(e.requestId), e.requestId = null), e.requestId = o(function() {
n.fancybox.setTranslate(e.$content, e.contentLastPos)
})
}, d.prototype.ontouchend = function(t) {
var o = this,
s = Math.max((new Date).getTime() - o.startTime, 1),
r = o.isSwiping,
c = o.isPanning,
l = o.isZooming,
d = o.isScrolling;
return o.endPoints = a(t), o.$container.removeClass("fancybox-controls--isGrabbing"), n(e).off(".fb.touch"), e.removeEventListener("scroll", o.onscroll, !0), o.requestId && (i(o.requestId), o.requestId = null), o.isSwiping = !1, o.isPanning = !1, o.isZooming = !1, o.isScrolling = !1, o.instance.isDragging = !1, o.canTap ? o.onTap(t) : (o.speed = 366, o.velocityX = o.distanceX / s * .5, o.velocityY = o.distanceY / s * .5, o.speedX = Math.max(.5 * o.speed, Math.min(1.5 * o.speed, 1 / Math.abs(o.velocityX) * o.speed)), void(c ? o.endPanning() : l ? o.endZooming() : o.endSwiping(r, d)))
}, d.prototype.endSwiping = function(t, e) {
var o = this,
i = !1,
a = o.instance.group.length;
o.sliderLastPos = null, "y" == t && !e && Math.abs(o.distanceY) > 50 ? (n.fancybox.animate(o.instance.current.$slide, {
top: o.sliderStartPos.top + o.distanceY + 150 * o.velocityY,
opacity: 0
}, 200), i = o.instance.close(!0, 200)) : "x" == t && o.distanceX > 50 && a > 1 ? i = o.instance.previous(o.speedX) : "x" == t && o.distanceX < -50 && a > 1 && (i = o.instance.next(o.speedX)), i !== !1 || "x" != t && "y" != t || (e || a < 2 ? o.instance.centerSlide(o.instance.current, 150) : o.instance.jumpTo(o.instance.current.index)), o.$container.removeClass("fancybox-is-sliding")
}, d.prototype.endPanning = function() {
var t, e, o, i = this;
i.contentLastPos && (i.opts.momentum === !1 ? (t = i.contentLastPos.left, e = i.contentLastPos.top) : (t = i.contentLastPos.left + i.velocityX * i.speed, e = i.contentLastPos.top + i.velocityY * i.speed), o = i.limitPosition(t, e, i.contentStartPos.width, i.contentStartPos.height), o.width = i.contentStartPos.width, o.height = i.contentStartPos.height, n.fancybox.animate(i.$content, o, 330))
}, d.prototype.endZooming = function() {
var t, e, o, i, a = this,
s = a.instance.current,
r = a.newWidth,
c = a.newHeight;
a.contentLastPos && (t = a.contentLastPos.left, e = a.contentLastPos.top, i = {
top: e,
left: t,
width: r,
height: c,
scaleX: 1,
scaleY: 1
}, n.fancybox.setTranslate(a.$content, i), r < a.canvasWidth && c < a.canvasHeight ? a.instance.scaleToFit(150) : r > s.width || c > s.height ? a.instance.scaleToActual(a.centerPointStartX, a.centerPointStartY, 150) : (o = a.limitPosition(t, e, r, c), n.fancybox.setTranslate(a.$content, n.fancybox.getTranslate(a.$content)), n.fancybox.animate(a.$content, o, 150)))
}, d.prototype.onTap = function(e) {
var o, i = this,
s = n(e.target),
r = i.instance,
c = r.current,
l = e && a(e) || i.startPoints,
d = l[0] ? l[0].x - n(t).scrollLeft() - i.stagePos.left : 0,
u = l[0] ? l[0].y - n(t).scrollTop() - i.stagePos.top : 0,
f = function(t) {
var o = c.opts[t];
if (n.isFunction(o) && (o = o.apply(r, [c, e])), o) switch (o) {
case "close":
r.close(i.startEvent);
break;
case "toggleControls":
r.toggleControls(!0);
break;
case "next":
r.next();
break;
case "nextOrClose":
r.group.length > 1 ? r.next() : r.close(i.startEvent);
break;
case "zoom":
"image" == c.type && (c.isLoaded || c.$ghost) && (r.canPan() ? r.scaleToFit() : r.isScaledDown() ? r.scaleToActual(d, u) : r.group.length < 2 && r.close(i.startEvent))
}
};
if ((!e.originalEvent || 2 != e.originalEvent.button) && (s.is("img") || !(d > s[0].clientWidth + s.offset().left))) {
if (s.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container")) o = "Outside";
else if (s.is(".fancybox-slide")) o = "Slide";
else {
if (!r.current.$content || !r.current.$content.find(s).addBack().filter(s).length) return;
o = "Content"
}
if (i.tapped) {
if (clearTimeout(i.tapped), i.tapped = null, Math.abs(d - i.tapX) > 50 || Math.abs(u - i.tapY) > 50) return this;
f("dblclick" + o)
} else i.tapX = d, i.tapY = u, c.opts["dblclick" + o] && c.opts["dblclick" + o] !== c.opts["click" + o] ? i.tapped = setTimeout(function() {
i.tapped = null, f("click" + o)
}, 500) : f("click" + o);
return this
}
}, n(e).on("onActivate.fb", function(t, e) {
e && !e.Guestures && (e.Guestures = new d(e))
})
}(window, document, window.jQuery || jQuery), function(t, e) {
"use strict";
e.extend(!0, e.fancybox.defaults, {
btnTpl: {
slideShow: '
'
},
slideShow: {
autoStart: !1,
speed: 3e3
}
});
var n = function(t) {
this.instance = t, this.init()
};
e.extend(n.prototype, {
timer: null,
isActive: !1,
$button: null,
init: function() {
var t = this;
t.$button = t.instance.$refs.toolbar.find("[data-fancybox-play]").on("click", function() {
t.toggle()
}), (t.instance.group.length < 2 || !t.instance.group[t.instance.currIndex].opts.slideShow) && t.$button.hide()
},
set: function(t) {
var e = this;
e.instance && e.instance.current && (t === !0 || e.instance.current.opts.loop || e.instance.currIndex < e.instance.group.length - 1) ? e.timer = setTimeout(function() {
e.isActive && e.instance.jumpTo((e.instance.currIndex + 1) % e.instance.group.length)
}, e.instance.current.opts.slideShow.speed) : (e.stop(), e.instance.idleSecondsCounter = 0, e.instance.showControls())
},
clear: function() {
var t = this;
clearTimeout(t.timer), t.timer = null
},
start: function() {
var t = this,
e = t.instance.current;
e && (t.isActive = !0, t.$button.attr("title", e.opts.i18n[e.opts.lang].PLAY_STOP).removeClass("fancybox-button--play").addClass("fancybox-button--pause"), t.set(!0))
},
stop: function() {
var t = this,
e = t.instance.current;
t.clear(), t.$button.attr("title", e.opts.i18n[e.opts.lang].PLAY_START).removeClass("fancybox-button--pause").addClass("fancybox-button--play"), t.isActive = !1
},
toggle: function() {
var t = this;
t.isActive ? t.stop() : t.start()
}
}), e(t).on({
"onInit.fb": function(t, e) {
e && !e.SlideShow && (e.SlideShow = new n(e))
},
"beforeShow.fb": function(t, e, n, o) {
var i = e && e.SlideShow;
o ? i && n.opts.slideShow.autoStart && i.start() : i && i.isActive && i.clear()
},
"afterShow.fb": function(t, e, n) {
var o = e && e.SlideShow;
o && o.isActive && o.set()
},
"afterKeydown.fb": function(n, o, i, a, s) {
var r = o && o.SlideShow;
!r || !i.opts.slideShow || 80 !== s && 32 !== s || e(t.activeElement).is("button,a,input") || (a.preventDefault(), r.toggle())
},
"beforeClose.fb onDeactivate.fb": function(t, e) {
var n = e && e.SlideShow;
n && n.stop()
}
}), e(t).on("visibilitychange", function() {
var n = e.fancybox.getInstance(),
o = n && n.SlideShow;
o && o.isActive && (t.hidden ? o.clear() : o.set())
})
}(document, window.jQuery || jQuery), function(t, e) {
"use strict";
var n = function() {
for (var e = [
["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"]
], n = {}, o = 0; o < e.length; o++) {
var i = e[o];
if (i && i[1] in t) {
for (var a = 0; a < i.length; a++) n[e[0][a]] = i[a];
return n
}
}
return !1
}();
if (!n) return void(e && e.fancybox && (e.fancybox.defaults.btnTpl.fullScreen = !1));
var o = {
request: function(e) {
e = e || t.documentElement, e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT)
},
exit: function() {
t[n.exitFullscreen]()
},
toggle: function(e) {
e = e || t.documentElement, this.isFullscreen() ? this.exit() : this.request(e)
},
isFullscreen: function() {
return Boolean(t[n.fullscreenElement])
},
enabled: function() {
return Boolean(t[n.fullscreenEnabled])
}
};
e.extend(!0, e.fancybox.defaults, {
btnTpl: {
fullScreen: '
'
},
fullScreen: {
autoStart: !1
}
}), e(t).on({
"onInit.fb": function(t, e) {
var n;
e && e.group[e.currIndex].opts.fullScreen ? (n = e.$refs.container, n.on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function(t) {
t.stopPropagation(), t.preventDefault(), o.toggle()
}), e.opts.fullScreen && e.opts.fullScreen.autoStart === !0 && o.request(), e.FullScreen = o) : e && e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide()
},
"afterKeydown.fb": function(t, e, n, o, i) {
e && e.FullScreen && 70 === i && (o.preventDefault(), e.FullScreen.toggle())
},
"beforeClose.fb": function(t, e) {
e && e.FullScreen && e.$refs.container.hasClass("fancybox-is-fullscreen") && o.exit()
}
}), e(t).on(n.fullscreenchange, function() {
var t = o.isFullscreen(),
n = e.fancybox.getInstance();
n && (n.current && "image" === n.current.type && n.isAnimating && (n.current.$content.css("transition", "none"), n.isAnimating = !1, n.update(!0, !0, 0)), n.trigger("onFullscreenChange", t), n.$refs.container.toggleClass("fancybox-is-fullscreen", t))
})
}(document, window.jQuery || jQuery), function(t, e) {
"use strict";
var n = "fancybox-thumbs",
o = n + "-active",
i = n + "-loading";
e.fancybox.defaults = e.extend(!0, {
btnTpl: {
thumbs: '
'
},
thumbs: {
autoStart: !1,
hideOnClose: !0,
parentEl: ".fancybox-container",
axis: "y"
}
}, e.fancybox.defaults);
var a = function(t) {
this.init(t)
};
e.extend(a.prototype, {
$button: null,
$grid: null,
$list: null,
isVisible: !1,
isActive: !1,
init: function(t) {
var e, n, o = this;
o.instance = t, t.Thumbs = o, o.opts = t.group[t.currIndex].opts.thumbs, e = t.group[0], e = e.opts.thumb || !(!e.opts.$thumb || !e.opts.$thumb.length) && e.opts.$thumb.attr("src"), t.group.length > 1 && (n = t.group[1], n = n.opts.thumb || !(!n.opts.$thumb || !n.opts.$thumb.length) && n.opts.$thumb.attr("src")), o.$button = t.$refs.toolbar.find("[data-fancybox-thumbs]"), o.opts && e && n && e && n ? (o.$button.show().on("click", function() {
o.toggle()
}), o.isActive = !0) : o.$button.hide()
},
create: function() {
var t, o = this,
a = o.instance,
s = o.opts.parentEl,
r = [];
o.$grid || (o.$grid = e('
').appendTo(a.$refs.container.find(s).addBack().filter(s)), o.$grid.on("click", "li", function() {
a.jumpTo(e(this).attr("data-index"))
})), o.$list || (o.$list = e("
").appendTo(o.$grid)), e.each(a.group, function(e, n) {
t = n.opts.thumb || (n.opts.$thumb ? n.opts.$thumb.attr("src") : null), t || "image" !== n.type || (t = n.src), r.push('' : "") + ">")
}), o.$list[0].innerHTML = r.join(""), "x" === o.opts.axis && o.$list.width(parseInt(o.$grid.css("padding-right"), 10) + a.group.length * o.$list.children().eq(0).outerWidth(!0))
},
focus: function(t) {
var e, n, i = this,
a = i.$list,
s = i.$grid;
i.instance.current && (e = a.children().removeClass(o).filter('[data-index="' + i.instance.current.index + '"]').addClass(o), n = e.position(), "y" === i.opts.axis && (n.top < 0 || n.top > a.height() - e.outerHeight()) ? a.stop().animate({
scrollTop: a.scrollTop() + n.top
}, t) : "x" === i.opts.axis && (n.left < s.scrollLeft() || n.left > s.scrollLeft() + (s.width() - e.outerWidth())) && a.parent().stop().animate({
scrollLeft: n.left
}, t))
},
update: function() {
var t = this;
t.instance.$refs.container.toggleClass("fancybox-show-thumbs", this.isVisible), t.isVisible ? (t.$grid || t.create(), t.instance.trigger("onThumbsShow"), t.focus(0)) : t.$grid && t.instance.trigger("onThumbsHide"), t.instance.update()
},
hide: function() {
this.isVisible = !1, this.update()
},
show: function() {
this.isVisible = !0, this.update()
},
toggle: function() {
this.isVisible = !this.isVisible, this.update()
}
}), e(t).on({
"onInit.fb": function(t, e) {
var n;
e && !e.Thumbs && (n = new a(e), n.isActive && n.opts.autoStart === !0 && n.show())
},
"beforeShow.fb": function(t, e, n, o) {
var i = e && e.Thumbs;
i && i.isVisible && i.focus(o ? 0 : 250)
},
"afterKeydown.fb": function(t, e, n, o, i) {
var a = e && e.Thumbs;
a && a.isActive && 71 === i && (o.preventDefault(), a.toggle())
},
"beforeClose.fb": function(t, e) {
var n = e && e.Thumbs;
n && n.isVisible && n.opts.hideOnClose !== !1 && n.$grid.hide()
}
})
}(document, window.jQuery || jQuery), function(t, e) {
"use strict";
function n(t) {
var e = {
"&": "&",
"<": "<",
">": ">",
'"': """,
"'": "'",
"/": "/",
"`": "`",
"=": "="
};
return String(t).replace(/[&<>"'`=\/]/g, function(t) {
return e[t]
})
}
e.extend(!0, e.fancybox.defaults, {
btnTpl: {
share: ''
},
share: {
url: function(t, e) {
return !t.currentHash && "inline" !== e.type && "html" !== e.type && (e.origSrc || e.src) || window.location
},
tpl: ''
}
}), e(t).on("click", "[data-fancybox-share]", function() {
var t, o, i = e.fancybox.getInstance(),
a = i.current || null;
a && ("function" === e.type(a.opts.share.url) && (t = a.opts.share.url.apply(a, [i, a])), o = a.opts.share.tpl.replace(/\{\{media\}\}/g, "image" === a.type ? encodeURIComponent(a.src) : "").replace(/\{\{url\}\}/g, encodeURIComponent(t)).replace(/\{\{url_raw\}\}/g, n(t)).replace(/\{\{descr\}\}/g, i.$caption ? encodeURIComponent(i.$caption.text()) : ""), e.fancybox.open({
src: i.translate(i, o),
type: "html",
opts: {
animationEffect: !1,
afterLoad: function(t, e) {
i.$refs.container.one("beforeClose.fb", function() {
t.close(null, 0)
}), e.$content.find(".fancybox-share__links a").click(function() {
return window.open(this.href, "Share", "width=550, height=450"), !1
})
}
}
}))
})
}(document, window.jQuery || jQuery), function(t, e, n) {
"use strict";
function o() {
var t = e.location.hash.substr(1),
n = t.split("-"),
o = n.length > 1 && /^\+?\d+$/.test(n[n.length - 1]) ? parseInt(n.pop(-1), 10) || 1 : 1,
i = n.join("-");
return {
hash: t,
index: o < 1 ? 1 : o,
gallery: i
}
}
function i(t) {
var e;
"" !== t.gallery && (e = n("[data-fancybox='" + n.escapeSelector(t.gallery) + "']").eq(t.index - 1).trigger("click.fb-start"))
}
function a(t) {
var e, n;
return !!t && (e = t.current ? t.current.opts : t.opts, n = e.hash || (e.$orig ? e.$orig.data("fancybox") : ""), "" !== n && n)
}
n.escapeSelector || (n.escapeSelector = function(t) {
var e = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
n = function(t, e) {
return e ? "\0" === t ? "锟? : t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " " : "\\" + t
};
return (t + "").replace(e, n)
}), n(function() {
n.fancybox.defaults.hash !== !1 && (n(t).on({
"onInit.fb": function(t, e) {
var n, i;
e.group[e.currIndex].opts.hash !== !1 && (n = o(), i = a(e), i && n.gallery && i == n.gallery && (e.currIndex = n.index - 1))
},
"beforeShow.fb": function(n, o, i, s) {
var r;
i && i.opts.hash !== !1 && (r = a(o), r && (o.currentHash = r + (o.group.length > 1 ? "-" + (i.index + 1) : ""), e.location.hash !== "#" + o.currentHash && (o.origHash || (o.origHash = e.location.hash), o.hashTimer && clearTimeout(o.hashTimer), o.hashTimer = setTimeout(function() {
"replaceState" in e.history ? (e.history[s ? "pushState" : "replaceState"]({}, t.title, e.location.pathname + e.location.search + "#" + o.currentHash), s && (o.hasCreatedHistory = !0)) : e.location.hash = o.currentHash, o.hashTimer = null
}, 300))))
},
"beforeClose.fb": function(n, o, i) {
var s;
i.opts.hash !== !1 && (s = a(o), o.currentHash && o.hasCreatedHistory ? e.history.back() : o.currentHash && ("replaceState" in e.history ? e.history.replaceState({}, t.title, e.location.pathname + e.location.search + (o.origHash || "")) : e.location.hash = o.origHash), o.currentHash = null, clearTimeout(o.hashTimer))
}
}), n(e).on("hashchange.fb", function() {
var t, e = o();
n.each(n(".fancybox-container").get().reverse(), function(e, o) {
var i = n(o).data("FancyBox");
if (i.currentHash) return t = i, !1
}), t ? !t.currentHash || t.currentHash === e.gallery + "-" + e.index || 1 === e.index && t.currentHash == e.gallery || (t.currentHash = null, t.close()) : "" !== e.gallery && i(e)
}), setTimeout(function() {
n.fancybox.getInstance() || i(o())
}, 50))
})
}(document, window, window.jQuery || jQuery), function(t, e) {
"use strict";
var n = (new Date).getTime();
e(t).on({
"onInit.fb": function(t, e, o) {
e.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll", function(t) {
var o = e.current,
i = (new Date).getTime();
e.group.length < 2 || o.opts.wheel === !1 || "auto" === o.opts.wheel && "image" !== o.type || (t.preventDefault(), t.stopPropagation(), o.$slide.hasClass("fancybox-animated") || (t = t.originalEvent || t, i - n < 250 || (n = i, e[(-t.deltaY || -t.deltaX || t.wheelDelta || -t.detail) < 0 ? "next" : "previous"]())))
})
}
})
}(document, window.jQuery || jQuery);