PageSourceSearch

https://digitalopsdev.com/js/jquery.magnific-popup.min.js

js digitalopsdev.com collected 2026-10-02 01:27:27 UTC 33,747 bytes, 1,057 lines download raw bytes

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

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.