PageSourceSearch

https://bi-data.ru/blog/wp-content/themes/techup/assets/js/jquery.magnific-popup.js?ver=7.0

js bi-data.ru collected 2026-10-08 12:05:32 UTC 36,685 bytes, 767 lines download raw bytes

1/*! Magnific Popup - v1.1.0 - 2016-02-20
2 * http://dimsemenov.com/plugins/magnific-popup/
3 * Copyright (c) 2016 Dmitry Semenov; */
4!(function (a) {
5    "function" == typeof define && define.amd ? define(["jquery"], a) : a("object" == typeof exports ? require("jquery") : window.jQuery || window.Zepto);
6})(function (a) {
7    var b,
8        c,
9        d,
10        e,
11        f,
12        g,
13        h = "Close",
14        i = "BeforeClose",
15        j = "AfterClose",
16        k = "BeforeAppend",
17        l = "MarkupParse",
18        m = "Open",
19        n = "Change",
20        o = "mfp",
21        p = "." + o,
22        q = "mfp-ready",
23        r = "mfp-removing",
24        s = "mfp-prevent-close",
25        t = function () {},
26        u = !!window.jQuery,
27        v = a(window),
28        w = function (a, c) {
29            b.ev.on(o + a + p, c);
30        },
31        x = function (b, c, d, e) {
32            var f = document.createElement("div");
33            return (f.className = "mfp-" + b), d && (f.innerHTML = d), e ? c && c.appendChild(f) : ((f = a(f)), c && f.appendTo(c)), f;
34        },
35        y = function (c, d) {
36            b.ev.triggerHandler(o + c, d), b.st.callbacks && ((c = c.charAt(0).toLowerCase() + c.slice(1)), b.st.callbacks[c] && b.st.callbacks[c].apply(b, a.isArray(d) ? d : [d]));
37        },
38        z = function (c) {
39            return (c === g && b.currTemplate.closeBtn) || ((b.currTemplate.closeBtn = a(b.st.closeMarkup.replace("%title%", b.st.tClose))), (g = c)), b.currTemplate.closeBtn;
40        },
41        A = function () {
42            a.magnificPopup.instance || ((b = new t()), b.init(), (a.magnificPopup.instance = b));
43        },
44        B = function () {
45            var a = document.createElement("p").style,
46                b = ["ms", "O", "Moz", "Webkit"];
47            if (void 0 !== a.transition) return !0;
48            for (; b.length; ) if (b.pop() + "Transition" in a) return !0;
49            return !1;
50        };
51    (t.prototype = {
52        constructor: t,
53        init: function () {
54            var c = navigator.appVersion;
55            (b.isLowIE = b.isIE8 = document.all && !document.addEventListener),
56                (b.isAndroid = /android/gi.test(c)),
57                (b.isIOS = /iphone|ipad|ipod/gi.test(c)),
58                (b.supportsTransition = B()),
59                (b.probablyMobile = b.isAndroid || b.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent)),
60                (d = a(document)),
61                (b.popupsCache = {});
62        },
63        open: function (c) {
64            var e;
65            if (c.isObj === !1) {
66                (b.items = c.items.toArray()), (b.index = 0);
67                var g,
68                    h = c.items;
69                for (e = 0; e < h.length; e++)
70                    if (((g = h[e]), g.parsed && (g = g.el[0]), g === c.el[0])) {
71                        b.index = e;
72                        break;
73                    }
74            } else (b.items = a.isArray(c.items) ? c.items : [c.items]), (b.index = c.index || 0);
75            if (b.isOpen) return void b.updateItemHTML();
76            (b.types = []),
77                (f = ""),
78                c.mainEl && c.mainEl.length ? (b.ev = c.mainEl.eq(0)) : (b.ev = d),
79                c.key ? (b.popupsCache[c.key] || (b.popupsCache[c.key] = {}), (b.currTemplate = b.popupsCache[c.key])) : (b.currTemplate = {}),
80                (b.st = a.extend(!0, {}, a.magnificPopup.defaults, c)),
81                (b.fixedContentPos = "auto" === b.st.fixedContentPos ? !b.probablyMobile : b.st.fixedContentPos),
82                b.st.modal && ((b.st.closeOnContentClick = !1), (b.st.closeOnBgClick = !1), (b.st.showCloseBtn = !1), (b.st.enableEscapeKey = !1)),
83                b.bgOverlay ||
84                    ((b.bgOverlay = x("bg").on("click" + p, function () {
85                        b.close();
86                    })),
87                    (b.wrap = x("wrap")
88                        .attr("tabindex", -1)
89                        .on("click" + p, function (a) {
90                            b._checkIfClose(a.target) && b.close();
91                        })),
92                    (b.container = x("container", b.wrap))),
93                (b.contentContainer = x("content")),
94                b.st.preloader && (b.preloader = x("preloader", b.container, b.st.tLoading));
95            var i = a.magnificPopup.modules;
96            for (e = 0; e < i.length; e++) {
97                var j = i[e];
98                (j = j.charAt(0).toUpperCase() + j.slice(1)), b["init" + j].call(b);
99            }
100            y("BeforeOpen"),
101                b.st.showCloseBtn &&
102                    (b.st.closeBtnInside
103                        ? (w(l, function (a, b, c, d) {
104                              c.close_replaceWith = z(d.type);
105                          }),
106                          (f += " mfp-close-btn-in"))
107                        : b.wrap.append(z())),
108                b.st.alignTop && (f += " mfp-align-top"),
109                b.fixedContentPos ? b.wrap.css({ overflow: b.st.overflowY, overflowX: "hidden", overflowY: b.st.overflowY }) : b.wrap.css({ top: v.scrollTop(), position: "absolute" }),
110                (b.st.fixedBgPos === !1 || ("auto" === b.st.fixedBgPos && !b.fixedContentPos)) && b.bgOverlay.css({ height: d.height(), position: "absolute" }),
111                b.st.enableEscapeKey &&
112                    d.on("keyup" + p, function (a) {
113                        27 === a.keyCode && b.close();
114                    }),
115                v.on("resize" + p, function () {
116                    b.updateSize();
117                }),
118                b.st.closeOnContentClick || (f += " mfp-auto-cursor"),
119                f && b.wrap.addClass(f);
120            var k = (b.wH = v.height()),
121                n = {};
122            if (b.fixedContentPos && b._hasScrollBar(k)) {
123                var o = b._getScrollbarSize();
124                o && (n.marginRight = o);
125            }
126            b.fixedContentPos && (b.isIE7 ? a("body, html").css("overflow", "hidden") : (n.overflow = "hidden"));
127            var r = b.st.mainClass;
128            return (
129                b.isIE7 && (r += " mfp-ie7"),
130                r && b._addClassToMFP(r),
131                b.updateItemHTML(),
132                y("BuildControls"),
133                a("html").css(n),
134                b.bgOverlay.add(b.wrap).prependTo(b.st.prependTo || a(document.body)),
135                (b._lastFocusedEl = document.activeElement),
136                setTimeout(function () {
137                    b.content ? (b._addClassToMFP(q), b._setFocus()) : b.bgOverlay.addClass(q), d.on("focusin" + p, b._onFocusIn);
138                }, 16),
139                (b.isOpen = !0),
140                b.updateSize(k),
141                y(m),
142                c
143            );
144        },
145        close: function () {
146            b.isOpen &&
147                (y(i),
148                (b.isOpen = !1),
149                b.st.removalDelay && !b.isLowIE && b.supportsTransition
150                    ? (b._addClassToMFP(r),
151                      setTimeout(function () {
152                          b._close();
153                      }, b.st.removalDelay))
154                    : b._close());
155        },
156        _close: function () {
157            y(h);
158            var c = r + " " + q + " ";
159            if ((b.bgOverlay.detach(), b.wrap.detach(), b.container.empty(), b.st.mainClass && (c += b.st.mainClass + " "), b._removeClassFromMFP(c), b.fixedContentPos)) {
160                var e = { marginRight: "" };
161                b.isIE7 ? a("body, html").css("overflow", "") : (e.overflow = ""), a("html").css(e);
162            }
163            d.off("keyup" + p + " focusin" + p),
164                b.ev.off(p),
165                b.wrap.attr("class", "mfp-wrap").removeAttr("style"),
166                b.bgOverlay.attr("class", "mfp-bg"),
167                b.container.attr("class", "mfp-container"),
168                !b.st.showCloseBtn || (b.st.closeBtnInside && b.currTemplate[b.currItem.type] !== !0) || (b.currTemplate.closeBtn && b.currTemplate.closeBtn.detach()),
169                b.st.autoFocusLast && b._lastFocusedEl && a(b._lastFocusedEl).focus(),
170                (b.currItem = null),
171                (b.content = null),
172                (b.currTemplate = null),
173                (b.prevHeight = 0),
174                y(j);
175        },
176        updateSize: function (a) {
177            if (b.isIOS) {
178                var c = document.documentElement.clientWidth / window.innerWidth,
179                    d = window.innerHeight * c;
180                b.wrap.css("height", d), (b.wH = d);
181            } else b.wH = a || v.height();
182            b.fixedContentPos || b.wrap.css("height", b.wH), y("Resize");
183        },
184        updateItemHTML: function () {
185            var c = b.items[b.index];
186            b.contentContainer.detach(), b.content && b.content.detach(), c.parsed || (c = b.parseEl(b.index));
187            var d = c.type;
188            if ((y("BeforeChange", [b.currItem ? b.currItem.type : "", d]), (b.currItem = c), !b.currTemplate[d])) {
189                var f = b.st[d] ? b.st[d].markup : !1;
190                y("FirstMarkupParse", f), f ? (b.currTemplate[d] = a(f)) : (b.currTemplate[d] = !0);
191            }
192            e && e !== c.type && b.container.removeClass("mfp-" + e + "-holder");
193            var g = b["get" + d.charAt(0).toUpperCase() + d.slice(1)](c, b.currTemplate[d]);
194            b.appendContent(g, d), (c.preloaded = !0), y(n, c), (e = c.type), b.container.prepend(b.contentContainer), y("AfterChange");
195        },
196        appendContent: function (a, c) {
197            (b.content = a),
198                a ? (b.st.showCloseBtn && b.st.closeBtnInside && b.currTemplate[c] === !0 ? b.content.find(".mfp-close").length || b.content.append(z()) : (b.content = a)) : (b.content = ""),
199                y(k),
200                b.container.addClass("mfp-" + c + "-holder"),
201                b.contentContainer.append(b.content);
202        },
203        parseEl: function (c) {
204            var d,
205                e = b.items[c];
206            if ((e.tagName ? (e = { el: a(e) }) : ((d = e.type), (e = { data: e, src: e.src })), e.el)) {
207                for (var f = b.types, g = 0; g < f.length; g++)
208                    if (e.el.hasClass("mfp-" + f[g])) {
209                        d = f[g];
210                        break;
211                    }
212                (e.src = e.el.attr("data-mfp-src")), e.src || (e.src = e.el.attr("href"));
213            }
214            return (e.type = d || b.st.type || "inline"), (e.index = c), (e.parsed = !0), (b.items[c] = e), y("ElementParse", e), b.items[c];
215        },
216        addGroup: function (a, c) {
217            var d = function (d) {
218                (d.mfpEl = this), b._openClick(d, a, c);
219            };
220            c || (c = {});
221            var e = "click.magnificPopup";
222            (c.mainEl = a), c.items ? ((c.isObj = !0), a.off(e).on(e, d)) : ((c.isObj = !1), c.delegate ? a.off(e).on(e, c.delegate, d) : ((c.items = a), a.off(e).on(e, d)));
223        },
224        _openClick: function (c, d, e) {
225            var f = void 0 !== e.midClick ? e.midClick : a.magnificPopup.defaults.midClick;
226            if (f || !(2 === c.which || c.ctrlKey || c.metaKey || c.altKey || c.shift
226Key)) {
227                var g = void 0 !== e.disableOn ? e.disableOn : a.magnificPopup.defaults.disableOn;
228                if (g)
229                    if (a.isFunction(g)) {
230                        if (!g.call(b)) return !0;
231                    } else if (v.width() < g) return !0;
232                c.type && (c.preventDefault(), b.isOpen && c.stopPropagation()), (e.el = a(c.mfpEl)), e.delegate && (e.items = d.find(e.delegate)), b.open(e);
233            }
234        },
235        updateStatus: function (a, d) {
236            if (b.preloader) {
237                c !== a && b.container.removeClass("mfp-s-" + c), d || "loading" !== a || (d = b.st.tLoading);
238                var e = { status: a, text: d };
239                y("UpdateStatus", e),
240                    (a = e.status),
241                    (d = e.text),
242                    b.preloader.html(d),
243                    b.preloader.find("a").on("click", function (a) {
244                        a.stopImmediatePropagation();
245                    }),
246                    b.container.addClass("mfp-s-" + a),
247                    (c = a);
248            }
249        },
250        _checkIfClose: function (c) {
251            if (!a(c).hasClass(s)) {
252                var d = b.st.closeOnContentClick,
253                    e = b.st.closeOnBgClick;
254                if (d && e) return !0;
255                if (!b.content || a(c).hasClass("mfp-close") || (b.preloader && c === b.preloader[0])) return !0;
256                if (c === b.content[0] || a.contains(b.content[0], c)) {
257                    if (d) return !0;
258                } else if (e && a.contains(document, c)) return !0;
259                return !1;
260            }
261        },
262        _addClassToMFP: function (a) {
263            b.bgOverlay.addClass(a), b.wrap.addClass(a);
264        },
265        _removeClassFromMFP: function (a) {
266            this.bgOverlay.removeClass(a), b.wrap.removeClass(a);
267        },
268        _hasScrollBar: function (a) {
269            return (b.isIE7 ? d.height() : document.body.scrollHeight) > (a || v.height());
270        },
271        _setFocus: function () {
272            (b.st.focus ? b.content.find(b.st.focus).eq(0) : b.wrap).focus();
273        },
274        _onFocusIn: function (c) {
275            return c.target === b.wrap[0] || a.contains(b.wrap[0], c.target) ? void 0 : (b._setFocus(), !1);
276        },
277        _parseMarkup: function (b, c, d) {
278            var e;
279            d.data && (c = a.extend(d.data, c)),
280                y(l, [b, c, d]),
281                a.each(c, function (c, d) {
282                    if (void 0 === d || d === !1) return !0;
283                    if (((e = c.split("_")), e.length > 1)) {
284                        var f = b.find(p + "-" + e[0]);
285                        if (f.length > 0) {
286                            var g = e[1];
287                            "replaceWith" === g ? f[0] !== d[0] && f.replaceWith(d) : "img" === g ? (f.is("img") ? f.attr("src", d) : f.replaceWith(a("<img>").attr("src", d).attr("class", f.attr("class")))) : f.attr(e[1], d);
288                        }
289                    } else b.find(p + "-" + c).html(d);
290                });
291        },
292        _getScrollbarSize: function () {
293            if (void 0 === b.scrollbarSize) {
294                var a = document.createElement("div");
295                (a.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;"), document.body.appendChild(a), (b.scrollbarSize = a.offsetWidth - a.clientWidth), document.body.removeChild(a);
296            }
297            return b.scrollbarSize;
298        },
299    }),
300        (a.magnificPopup = {
301            instance: null,
302            proto: t.prototype,
303            modules: [],
304            open: function (b, c) {
305                return A(), (b = b ? a.extend(!0, {}, b) : {}), (b.isObj = !0), (b.index = c || 0), this.instance.open(b);
306            },
307            close: function () {
308                return a.magnificPopup.instance && a.magnificPopup.instance.close();
309            },
310            registerModule: function (b, c) {
311                c.options && (a.magnificPopup.defaults[b] = c.options), a.extend(this.proto, c.proto), this.modules.push(b);
312            },
313            defaults: {
314                disableOn: 0,
315                key: null,
316                midClick: !1,
317                mainClass: "",
318                preloader: !0,
319                focus: "",
320                closeOnContentClick: !1,
321                closeOnBgClick: !0,
322                closeBtnInside: !0,
323                showCloseBtn: !0,
324                enableEscapeKey: !0,
325                modal: !1,
326                alignTop: !1,
327                removalDelay: 0,
328                prependTo: null,
329                fixedContentPos: "auto",
330                fixedBgPos: "auto",
331                overflowY: "auto",
332                closeMarkup: '<button title="%title%" type="button" class="mfp-close">&#215;</button>',
333                tClose: "Close (Esc)",
334                tLoading: "Loading...",
335                autoFocusLast: !0,
336            },
337        }),
338        (a.fn.magnificPopup = function (c) {
339            A();
340            var d = a(this);
341            if ("string" == typeof c)
342                if ("open" === c) {
343                    var e,
344                        f = u ? d.data("magnificPopup") : d[0].magnificPopup,
345                        g = parseInt(arguments[1], 10) || 0;
346                    f.items ? (e = f.items[g]) : ((e = d), f.delegate && (e = e.find(f.delegate)), (e = e.eq
346(g))), b._openClick({ mfpEl: e }, d, f);
347                } else b.isOpen && b[c].apply(b, Array.prototype.slice.call(arguments, 1));
348            else (c = a.extend(!0, {}, c)), u ? d.data("magnificPopup", c) : (d[0].magnificPopup = c), b.addGroup(d, c);
349            return d;
350        });
351    var C,
352        D,
353        E,
354        F = "inline",
355        G = function () {
356            E && (D.after(E.addClass(C)).detach(), (E = null));
357        };
358    a.magnificPopup.registerModule(F, {
359        options: { hiddenClass: "hide", markup: "", tNotFound: "Content not found" },
360        proto: {
361            initInline: function () {
362                b.types.push(F),
363                    w(h + "." + F, function () {
364                        G();
365                    });
366            },
367            getInline: function (c, d) {
368                if ((G(), c.src)) {
369                    var e = b.st.inline,
370                        f = a(c.src);
371                    if (f.length) {
372                        var g = f[0].parentNode;
373                        g && g.tagName && (D || ((C = e.hiddenClass), (D = x(C)), (C = "mfp-" + C)), (E = f.after(D).detach().removeClass(C))), b.updateStatus("ready");
374                    } else b.updateStatus("error", e.tNotFound), (f = a("<div>"));
375                    return (c.inlineElement = f), f;
376                }
377                return b.updateStatus("ready"), b._parseMarkup(d, {}, c), d;
378            },
379        },
380    });
381    var H,
382        I = "ajax",
383        J = function () {
384            H && a(document.body).removeClass(H);
385        },
386        K = function () {
387            J(), b.req && b.req.abort();
388        };
389    a.magnificPopup.registerModule(I, {
390        options: { settings: null, cursor: "mfp-ajax-cur", tError: '<a href="%url%">The content</a> could not be loaded.' },
391        proto: {
392            initAjax: function () {
393                b.types.push(I), (H = b.st.ajax.cursor), w(h + "." + I, K), w("BeforeChange." + I, K);
394            },
395            getAjax: function (c) {
396                H && a(document.body).addClass(H), b.updateStatus("loading");
397                var d = a.extend(
398                    {
399                        url: c.src,
400                        success: function (d, e, f) {
401                            var g = { data: d, xhr: f };
402                            y("ParseAjax", g),
403                                b.appendContent(a(g.data), I),
404                                (c.finished = !0),
405                                J(),
406                                b._setFocus(),
407                                setTimeout(function () {
408                                    b.wrap.addClass(q);
409                                }, 16),
410                                b.updateStatus("ready"),
411                                y("AjaxContentAdded");
412                        },
413                        error: function () {
414                            J(), (c.finished = c.loadError = !0), b.updateStatus("error", b.st.ajax.tError.replace("%url%", c.src));
415                        },
416                    },
417                    b.st.ajax.settings
418                );
419                return (b.req = a.ajax(d)), "";
420            },
421        },
422    });
423    var L,
424        M = function (c) {
425            if (c.data && void 0 !== c.data.title) return c.data.title;
426            var d = b.st.image.titleSrc;
427            if (d) {
428                if (a.isFunction(d)) return d.call(b, c);
429                if (c.el) return c.el.attr(d) || "";
430            }
431            return "";
432        };
433    a.magnificPopup.registerModule("image", {
434        options: {
435            markup:
436                '<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',
437            cursor: "mfp-zoom-out-cur",
438            titleSrc: "title",
439            verticalFit: !0,
440            tError: '<a href="%url%">The image</a> could not be loaded.',
441        },
442        proto: {
443            initImage: function () {
444                var c = b.st.image,
445                    d = ".image";
446                b.types.push("image"),
447                    w(m + d, function () {
448                        "image" === b.currItem.type && c.cursor && a(document.body).addClass(c.cursor);
449                    }),
450                    w(h + d, function () {
451                        c.cursor && a(document.body).removeClass(c.cursor), v.off("resize" + p);
452                    }),
453                    w("Resize" + d, b.resizeImage),
454                    b.isLowIE && w("AfterChange", b.resizeImage);
455            },
456            resizeImage: function () {
457                var a = b.currItem;
458                if (a && a.img && b.st.image.verticalFit) {
459                    var c = 0;
460                    b.isLowIE && (c = parseInt(a.img.css("padding-top"), 10) + parseInt(a.img.css("padding-bottom"), 10)), a.img.css("max-height", b.wH - c);
461                }
462            },
463            _onImageHasSize: function (a) {
464                a.img && ((a.hasSize = !0), L && clearInterval(L), (a.isCheckingImgSize = !1), y("ImageHasSize", a), a.imgHidden && (b.content && b.content.removeClass("mfp-loading"), (a.imgHidden = !1)));
465            },
466            findImageSize: function (a) {
467                var c = 0,
468                    d = a.img[0],
469                    e = function (f) {
470                        L && clearInterval(L),
471                            (L = setInterval(function () {
472                                return d.naturalWidth > 0 ? void b._onImageHasSize(a) : (c > 200 && clearInterval(L), c++, void (3 === c ? e(10) : 40 === c ? e(50) : 100 === c && e(500)));
473                            }, f));
474                    };
475                e(1);
476            },
477            getImage: function (c, d) {
478                var e = 0,
479                    f = function () {
480                        c &&
481                            (c.img[0].complete
482                                ? (c.img.off(".mfploader"), c === b.currItem && (b._onImageHasSize(c), b.updateStatus("ready")), (c.hasSize = !0), (c.loaded = !0), y("ImageLoadComplete"))
483                                : (e++, 200 > e ? setTimeout(f, 100) : g()));
484                    },
485                    g = function () {
486                        c && (c.img.off(".mfploader"), c === b.currItem && (b._onImageHasSize(c), b.updateStatus("error", h.tError.replace("%url%", c.src))), (c.hasSize = !0), (c.loaded = !0), (c.loadError = !0));
487                    },
488                    h = b.st.image,
489                    i = d.find(".mfp-img");
490                if (i.length) {
491                    var j = document.createElement("img");
492                    (j.className = "mfp-img"),
493                        c.el && c.el.find("img").length && (j.alt = c.el.find("img").attr("alt")),
494                        (c.img = a(j).on("load.mfploader", f).on("error.mfploader", g)),
495                        (j.src = c.src),
496                        i.is("img") && (c.img = c.img.clone()),
497                        (j = c.img[0]),
498                        j.naturalWidth > 0 ? (c.hasSize = !0) : j.width || (c.hasSize = !1);
499                }
500                return (
501                    b._parseMarkup(d, { title: M(c), img_replaceWith: c.img }, c),
502                    b.resizeImage(),
503                    c.hasSize
504                        ? (L && clearInterval(L), c.loadError ? (d.addClass("mfp-loading"), b.updateStatus("error", h.tError.replace("%url%", c.src))) : (d.removeClass("mfp-loading"), b.updateStatus("ready")), d)
505                        : (b.updateStatus("loading"), (c.loading = !0), c.hasSize || ((c.imgHidden = !0), d.addClass("mfp-loading"), b.findImageSize(c)), d)
506                );
507            },
508        },
509    });
510    var N,
511        O = function () {
512            return void 0 === N && (N = void 0 !== document.createElement("p").style.MozTransform), N;
513        };
514    a.magnificPopup.registerModule("zoom", {
515        options: {
516            enabled: !1,
517            easing: "ease-in-out",
518            duration: 300,
519            opener: function (a) {
520                return a.is("img") ? a : a.find("img");
521            },
522        },
523        proto: {
524            initZoom: function () {
525                var a,
526                    c = b.st.zoom,
527                    d = ".zoom";
528                if (c.enabled && b.supportsTransition) {
529                    var e,
530                        f,
531                        g = c.duration,
532                        j = function (a) {
533                            var b = a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),
534                                d = "all " + c.duration / 1e3 + "s " + c.easing,
535                                e = { position: "fixed", zIndex: 9999, left: 0, top: 0, "-webkit-backface-visibility": "hidden" },
536                                f = "transition";
537                            return (e["-webkit-" + f] = e["-moz-" + f] = e["-o-" + f] = e[f] = d), b.css(e), b;
538                        },
539                        k = function () {
540                            b.content.css("visibility", "visible");
541                        };
542                    w("BuildControls" + d, function () {
543                        if (b._allowZoom()) {
544                            if ((clearTimeout(e), b.content.css("visibility", "hidden"), (a = b._getItemToZoom()), !a)) return void k();
545                            (f = j(a)),
546                                f.css(b._getOffset()),
547                                b.wrap.append(f),
548                                (e = setTimeout(function () {
549                                    f.css(b._getOffset(!0)),
550                                        (e = setTimeout(function () {
551                                            k(),
552                                                setTimeout(function () {
553                                                    f.remove(), (a = f = null), y("ZoomAnimationEnded");
554                                                }, 16);
555                                        }, g));
556                                }, 16));
557                        }
558                    }),
559                        w(i + d, function () {
560                            if (b._allowZoom()) {
561                                if ((clearTimeout(e), (b.st.removalDelay = g), !a)) {
562                                    if (((a = b._getItemToZoom()), !a)) return;
563                                    f = j(a);
564                                }
565                                f.css(b._getOffset(!0)),
566                                    b.wrap.append(f),
567                                    b.content.css("visibility", "hidden"),
568                                    setTimeout(function () {
569                                        f.css(b._getOffset());
570                                    }, 16);
571                            }
572                        }),
573                        w(h + d, function () {
574                            b._allowZoom() && (k(), f && f.remove(), (a = null));
575                        });
576                }
577            },
578            _allowZoom: function () {
579                return "image" === b.currItem.type;
580            },
581            _getItemToZoom: function () {
582                return b.currItem.hasSize ? b.currItem.img : !1;
583            },
584            _getOffset: function (c) {
585                var d;
586                d = c ? b.currItem.img : b.st.zoom.opener(b.currItem.el || b.currItem);
587                var e = d.offset(),
588                    f = parseInt(d.css("padding-top"), 10),
589                    g = parseInt(d.css("padding-bottom"), 10);
590                e.top -= a(window).scrollTop() - f;
591                var h = { width: d.width(), height: (u ? d.innerHeight() : d[0].offsetHeight) - g - f };
592                return O() ? (h["-moz-transform"] = h.transform = "translate(" + e.left + "px," + e.top + "px)") : ((h.left = e.left), (h.top = e.top)), h;
593            },
594        },
595    });
596    var P = "iframe",
597        Q = "//about:blank",
598        R = function (a) {
599            if (b.currTemplate[P]) {
600                var c = b.currTemplate[P].find("iframe");
601                c.length && (a || (c[0].src = Q), b.isIE8 && c.css("display", a ? "block" : "none"));
602            }
603        };
604    a.magnificPopup.registerModule(P, {
605        options: {
606            markup: '<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',
607            srcAction: "iframe_src",
608            patterns: {
609                youtube: { index: "youtube.com", id: "v=", src: "//www.youtube.com/embed/%id%?autoplay=1" },
610                vimeo: { index: "vimeo.com/", id: "/", src: "//player.vimeo.com/video/%id%?autoplay=1" },
611                gmaps: { index: "//maps.google.", src: "%id%&output=embed" },
612            },
613        },
614        proto: {
615            initIframe: function () {
616                b.types.push(P),
617                    w("BeforeChange", function (a, b, c) {
618                        b !== c && (b === P ? R() : c === P && R(!0));
619                    }),
620                    w(h + "." + P, function () {
621                        R();
622                    });
623            },
624            getIframe: function (c, d) {
625                var e = c.src,
626                    f = b.st.iframe;
627                a.each(f.patterns, function () {
628                    return e.indexOf(this.index) > -1 ? (this.id && (e = "string" == typeof this.id ? e.substr(e.lastIndexOf(this.id) + this.id.length, e.length) : this.id.call(this, e)), (e = this.src.replace("%id%", e)), !1) : void 0;
629                });
630                var g = {};
631                return f.srcAction && (g[f.srcAction] = e), b._parseMarkup(d, g, c), b.updateStatus("ready"), d;
632            },
633        },
634    });
635    var S = function (a) {
636            var c = b.items.length;
637            return a > c - 1 ? a - c : 0 > a ? c + a : a;
638        },
639        T = function (a, b, c) {
640            return a.replace(/%curr%/gi, b + 1).replace(/%total%/gi, c);
641        };
642    a.magnificPopup.registerModule("gallery", {
643        options: {
644            enabled: !1,
645            arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',
646            preload: [0, 2],
647            navigateByImgClick: !0,
648            arrows: !0,
649            tPrev: "Previous (Left arrow key)",
650            tNext: "Next (Right arrow key)",
651            tCounter: "%curr% of %total%",
652        },
653        proto: {
654            initGallery: function () {
655                var c = b.st.gallery,
656                    e = ".mfp-gallery";
657                return (
658                    (b.direction = !0),
659                    c && c.enabled
660                        ? ((f += " mfp-gallery"),
661                          w(m + e, function () {
662                              c.navigateByImgClick &&
663                                  b.wrap.on("click" + e, ".mfp-img", function () {
664                                      return b.items.length > 1 ? (b.next(), !1) : void 0;
665                                  }),
666                                  d.on("keydown" + e, function (a) {
667                                      37 === a.keyCode ? b.prev() : 39 === a.keyCode && b.next();
668                                  });
669                          }),
670                          w("UpdateStatus" + e, function (a, c) {
671                              c.text && (c.text = T(c.text, b.currItem.index, b.items.length));
672                          }),
673                          w(l + e, function (a, d, e, f) {
674                              var g = b.items.length;
675                              e.counter = g > 1 ? T(c.tCounter, f.index, g) : "";
676                          }),
677                          w("BuildControls" + e, function () {
678                              if (b.items.length > 1 && c.arrows && !b.arrowLeft) {
679                                  var d = c.arrowMarkup,
680                                      e = (b.arrowLeft = a(d.replace(/%title%/gi, c.tPrev).replace(/%dir%/gi, "left")).addClass(s)),
681                                      f = (b.arrowRight = a(d.replace(/%title%/gi, c.tNext).replace(/%dir%/gi, "right")).addClass(s));
682                                  e.click(function () {
683                                      b.prev();
684                                  }),
685                                      f.click(function () {
686                                          b.next();
687                                      }),
688                                      b.container.append(e.add(f));
689                              }
690                          }),
691                          w(n + e, function () {
692                              b._preloadTimeout && clearTimeout(b._preloadTimeout),
693                                  (b._preloadTimeout = setTimeout(function () {
694                                      b.preloadNearbyImages(), (b._preloadTimeout = null);
695                                  }, 16));
696                          }),
697                          void w(h + e, function () {
698                              d.off(e), b.wrap.off("click" + e), (b.arrowRight = b.arrowLeft = null);
699                          }))
700                        : !1
701                );
702            },
703            next: function () {
704                (b.direction = !0), (b.index = S(b.index + 1)), b.updateItemHTML();
705            },
706            prev: function () {
707                (b.direction = !1), (b.index = S(b.index - 1)), b.updateItemHTML();
708            },
709            goTo: function (a) {
710                (b.direction = a >= b.index), (b.index = a), b.updateItemHTML();
711            },
712            preloadNearbyImages: function () {
713                var a,
714                    c = b.st.gallery.preload,
715                    d = Math.min(c[0], b.items.length),
716                    e = Math.min(c[1], b.items.length);
717                for (a = 1; a <= (b.direction ? e : d); a++) b._preloadItem(b.index + a);
718                for (a = 1; a <= (b.direction ? d : e); a++) b._preloadItem(b.index - a);
719            },
720            _preloadItem: function (c) {
721                if (((c = S(c)), !b.items[c].preloaded)) {
722                    var d = b.items[c];
723                    d.parsed || (d = b.parseEl(c)),
724                        y("LazyLoad", d),
725                        "image" === d.type &&
726                            (d.img = a('<img class="mfp-img" />')
727                                .on("load.mfploader", function () {
728                                    d.hasSize = !0;
729                                })
730                                .on("error.mfploader", function () {
731                                    (d.hasSize = !0), (d.loadError = !0), y("LazyLoadError", d);
732                                })
733                                .attr("src", d.src)),
734                        (d.preloaded = !0);
735                }
736            },
737        },
738    });
739    var U = "retina";
740    a.magnificPopup.registerModule(U, {
741        options: {
742            replaceSrc: function (a) {
743                return a.src.replace(/\.\w+$/, function (a) {
744                    return "@2x" + a;
745                });
746            },
747            ratio: 1,
748        },
749        proto: {
750            initRetina: function () {
751                if (window.devicePixelRatio > 1) {
752                    var a = b.st.retina,
753                        c = a.ratio;
754                    (c = isNaN(c) ? c() : c),
755                        c > 1 &&
756                            (w("ImageHasSize." + U, function (a, b) {
757                                b.img.css({ "max-width": b.img[0].naturalWidth / c, width: "100%" });
758                            }),
759                            w("ElementParse." + U, function (b, d) {
760                                d.src = a.replaceSrc(d, c);
761                            }));
762                }
763            },
764        },
765    }),
766        A();
767});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.