PageSourceSearch

https://www.airtel.sc/assets/js/custom.min.js

js airtel.sc collected 2026-10-02 03:23:21 UTC 59,247 bytes, 1,699 lines download raw bytes

1if ("undefined" == typeof jQuery)
2  throw new Error("customJs JavaScript requires jQuery");
3+(function (t) {
4  "use strict";
5  var e = t.fn.jquery.split(" ")[0].split(".");
6  if (
7    (e[0] < 2 && e[1] < 9) ||
8    (1 == e[0] && 9 == e[1] && e[2] < 1) ||
9    e[0] > 3
10  )
11    throw new Error(
12      "customJs JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4"
13    );
14})(jQuery),
15  +(function (t) {
16    "use strict";
17    function e() {
18      var t = document.createElement("customJs"),
19        e = {
20          WebkitTransition: "webkitTransitionEnd",
21          MozTransition: "transitionend",
22          OTransition: "oTransitionEnd otransitionend",
23          transition: "transitionend",
24        };
25      for (var i in e) if (void 0 !== t.style[i]) return { end: e[i] };
26      return !1;
27    }
28    (t.fn.emulateTransitionEnd = function (e) {
29      var i = !1,
30        o = this;
31      t(this).one("bsTransitionEnd", function () {
32        i = !0;
33      });
34      var n = function () {
35        i || t(o).trigger(t.support.transition.end);
36      };
37      return setTimeout(n, e), this;
38    }),
39      t(function () {
40        (t.support.transition = e()),
41          t.support.transition &&
42            (t.event.special.bsTransitionEnd = {
43              bindType: t.support.transition.end,
44              delegateType: t.support.transition.end,
45              handle: function (e) {
46                if (t(e.target).is(this))
47                  return e.handleObj.handler.apply(this, arguments);
48              },
49            });
50      });
51  })(jQuery),
52  +(function (t) {
53    "use strict";
54    function e(e) {
55      return this.each(function () {
56        var i = t(this),
57          n = i.data("bs.alert");
58        n || i.data("bs.alert", (n = new o(this))),
59          "string" == typeof e && n[e].call(i);
60      });
61    }
62    var i = '[data-dismiss="alert"]',
63      o = function (e) {
64        t(e).on("click", i, this.close);
65      };
66    (o.VERSION = "3.3.7"),
67      (o.TRANSITION_DURATION = 150),
68      (o.prototype.close = function (e) {
69        function i() {
70          a.detach().trigger("closed.bs.alert").remove();
71        }
72        var n = t(this),
73          s = n.attr("data-target");
74        s || ((s = n.attr("href")), (s = s && s.replace(/.*(?=#[^\s]*$)/, "")));
75        var a = t("#" === s ? [] : s);
76        e && e.preventDefault(),
77          a.length || (a = n.closest(".alert")),
78          a.trigger((e = t.Event("close.bs.alert"))),
79          e.isDefaultPrevented() ||
80            (a.removeClass("in"),
81            t.support.transition && a.hasClass("fade")
82              ? a
83                  .one("bsTransitionEnd", i)
84                  .emulateTransitionEnd(o.TRANSITION_DURATION)
85              : i());
86      });
87    var n = t.fn.alert;
88    (t.fn.alert = e),
89      (t.fn.alert.Constructor = o),
90      (t.fn.alert.noConflict = function () {
91        return (t.fn.alert = n), this;
92      }),
93      t(document).on("click.bs.alert.data-api", i, o.prototype.close);
94  })(jQuery),
95  +(function (t) {
96    "use strict";
97    function e(e) {
98      return this.each(function () {
99        var o = t(this),
100          n = o.data("bs.button"),
101          s = "object" == typeof e && e;
102        n || o.data("bs.button", (n = new i(this, s))),
103          "toggle" == e ? n.toggle() : e && n.setState(e);
104      });
105    }
106    var i = function (e, o) {
107      (this.$element = t(e)),
108        (this.options = t.extend({}, i.DEFAULTS, o)),
109        (this.isLoading = !1);
110    };
111   
112      (i.DEFAULTS = { loadingText: "loading..." }),
113      (i.prototype.setState = function (e) {
114        var i = "disabled",
115          o = this.$element,
116          n = o.is("input") ? "val" : "html",
117          s = o.data();
118        (e += "Text"),
119          null == s.resetText && o.data("resetText", o[n]()),
120          setTimeout(
121            t.proxy(function () {
122              o[n](null == s[e] ? this.options[e] : s[e]),
123                "loadingText" == e
124                  ? ((this.isLoading = !0),
125                    o.addClass(i).attr(i, i).prop(i, !0))
126                  : this.isLoading &&
127                    ((this.isLoading = !1),
128                    o.removeClass(i).removeAttr(i).prop(i, !1));
129            }, this),
130            0
131          );
132      }),
133      (i.prototype.toggle = function () {
134        var t = !0,
135          e = this.$element.closest('[data-toggle="buttons"]');
136        if (e.length) {
137          var i = this.$element.find("input");
138          "radio" == i.prop("type")
139            ? (i.prop("checked") && (t = !1),
140              e.find(".active").removeClass("active"),
141              this.$element.addClass("active"))
142            : "checkbox" == i.prop("type") &&
143              (i.prop("checked") !== this.$element.hasClass("active") &&
144                (t = !1),
145              this.$element.toggleClass("active")),
146            i.prop("checked", this.$element.hasClass("active")),
147            t && i.trigger("change");
148        } else
149          this.$element.attr("aria-pressed", !this.$element.hasClass("active")),
150            this.$element.toggleClass("active");
151      });
152    var o = t.fn.button;
153    (t.fn.button = e),
154      (t.fn.button.Constructor = i),
155      (t.fn.button.noConflict = function () {
156        return (t.fn.button = o), this;
157      }),
158      t(document)
159        .on(
160          "click.bs.button.data-api",
161          '[data-toggle^="button"]',
162          function (i) {
163            var o = t(i.target).closest(".btn");
164            e.call(o, "toggle"),
165              t(i.target).is('input[type="radio"], input[type="checkbox"]') ||
166                (i.preventDefault(),
167                o.is("input,button")
168                  ? o.trigger("focus")
169                  : o
170                      .find("input:visible,button:visible")
171                      .first()
172                      .trigger("focus"));
173          }
174        )
175        .on(
176          "focus.bs.button.data-api blur.bs.button.data-api",
177          '[data-toggle^="button"]',
178          function (e) {
179            t(e.target)
180              .closest(".btn")
181              .toggleClass("focus", /^focus(in)?$/.test(e.type));
182          }
183        );
184  })(jQuery),
185  +(function (t) {
186    "use strict";
187    function e(e) {
188      return this.each(function () {
189        var o = t(this),
190          n = o.data("bs.carousel"),
191          s = t.extend({}, i.DEFAULTS, o.data(), "object" == typeof e && e),
192          a = "string" == typeof e ? e : s.slide;
193        n || o.data("bs.carousel", (n = new i(this, s))),
194          "number" == typeof e
195            ? n.to(e)
196            : a
197            ? n[a]()
198            : s.interval && n.pause().cycle();
199      });
200    }
201    var i = function (e, i) {
202      (this.$element = t(e)),
203        (this.$indicators = this.$element.find(".carousel-indicators")),
204        (this.options = i),
205        (this.paused = null),
206        (this.sliding = null),
207        (this.interval = null),
208        (this.$active = null),
209        (this.$items = null),
210        this.options.keyboard &&
211          this.$element.on("keydown.bs.carousel", t.proxy(this.keydown, this)),
212        "hover" == this.options.pause &&
213          !("ontouchstart" in document.documentElement) &&
214          this.$element
215            .on("mouseenter.bs.carousel", t.proxy(this.pause, this))
216            .on("mouseleave.bs.carousel", t.proxy(this.cycle, this));
217    };
218   
219      (i.TRANSITION_DURATION = 600),
220      (i.DEFAULTS = { interval: 5e3, pause: "hover", wrap: !0, keyboard: !0 }),
221      (i.prototype.keydown = function (t) {
222        if (!/input|textarea/i.test(t.target.tagName)) {
223          switch (t.which) {
224            case 37:
225              this.prev();
226              break;
227            case 39:
228              this.next();
229              break;
230            default:
231              return;
232          }
233          t.preventDefault();
234        }
235      }),
236      (i.prototype.cycle = function (e) {
237        return (
238          e || (this.paused = !1),
239          this.interval && clearInterval(this.interval),
240          this.options.interval &&
241            !this.paused &&
242            (this.interval = setInterval(
243              t.proxy(this.next, this),
244              this.options.interval
245            )),
246          this
247        );
248      }),
249      (i.prototype.getItemIndex = function (t) {
250        return (
251          (this.$items = t.parent().children(".item")),
252          this.$items.index(t || this.$active)
253        );
254      }),
255      (i.prototype.getItemForDirection = function (t, e) {
256        var i = this.getItemIndex(e),
257          o =
258            ("prev" == t && 0 === i) ||
259            ("next" == t && i == this.$items.length - 1);
260        if (o && !this.options.wrap) return e;
261        var n = "prev" == t ? -1 : 1,
262          s = (i + n) % this.$items.length;
263        return this.$items.eq(s);
264      }),
265      (i.prototype.to = function (t) {
266        var e = this,
267          i = this.getItemIndex(
268            (this.$active = this.$element.find(".item.active"))
269          );
270        if (!(t > this.$items.length - 1 || t < 0))
271          return this.sliding
272            ? this.$element.one("slid.bs.carousel", function () {
273                e.to(t);
274              })
275            : i == t
276            ? this.pause().cycle()
277            : this.slide(t > i ? "next" : "prev", this.$items.eq(t));
278      }),
279      (i.prototype.pause = function (e) {
280        return (
281          e || (this.paused = !0),
282          this.$element.find(".next, .prev").length &&
283            t.support.transition &&
284            (this.$element.trigger(t.support.transition.end), this.cycle(!0)),
285          (this.interval = clearInterval(this.interval)),
286          this
287        );
288      }),
289      (i.prototype.next = function () {
290        if (!this.sliding) return this.slide("next");
291      }),
292      (i.prototype.prev = function () {
293        if (!this.sliding) return this.slide("prev");
294      }),
295      (i.prototype.slide = function (e, o) {
296        var n = this.$element.find(".item.active"),
297          s = o || this.getItemForDirection(e, n),
298          a = this.interval,
299          r = "next" == e ? "left" : "right",
300          l = this;
301        if (s.hasClass("active")) return (this.sliding = !1);
302        var h = s[0],
303          d = t.Event("slide.bs.carousel", { relatedTarget: h, direction: r });
304        if ((this.$element.trigger(d), !d.isDefaultPrevented())) {
305          if (
306            ((this.sliding = !0), a && this.pause(), this.$indicators.length)
307          ) {
308            this.$indicators.find(".active").removeClass("active");
309            var p = t(this.$indicators.children()[this.getItemIndex(s)]);
310            p && p.addClass("active");
311          }
312          var c = t.Event("slid.bs.carousel", {
313            relatedTarget: h,
314            direction: r,
315          });
316          return (
317            t.support.transition && this.$element.hasClass("slide")
318              ? (s.addClass(e),
319                s[0].offsetWidth,
320                n.addClass(r),
321                s.addClass(r),
322                n
323                  .one("bsTransitionEnd", function () {
324                    s.removeClass([e, r].join(" ")).addClass("active"),
325                      n.removeClass(["active", r].join(" ")),
326                      (l.sliding = !1),
327                      setTimeout(function () {
328                        l.$element.trigger(c);
329                      }, 0);
330                  })
331                  .emulateTransitionEnd(i.TRANSITION_DURATION))
332              : (n.removeClass("active"),
333                s.addClass("active"),
334                (this.sliding = !1),
335                this.$element.trigger(c)),
336            a && this.cycle(),
337            this
338          );
339        }
340      });
341    var o = t.fn.carousel;
342    (t.fn.carousel = e),
343      (t.fn.carousel.Constructor = i),
344      (t.fn.carousel.noConflict = function () {
345        return (t.fn.carousel = o), this;
346      });
347    var n = function (i) {
348      var o,
349        n = t(this),
350        s = t(
351          n.attr("data-target") ||
352            ((o = n.attr("href")) && o.replace(/.*(?=#[^\s]+$)/, ""))
353        );
354      if (s.hasClass("carousel")) {
355        var a = t.extend({}, s.data(), n.data()),
356          r = n.attr("data-slide-to");
357        r && (a.interval = !1),
358          e.call(s, a),
359          r && s.data("bs.carousel").to(r),
360          i.preventDefault();
361      }
362    };
363    t(document)
364      .on("click.bs.carousel.data-api", "[data-slide]", n)
365      .on("click.bs.carousel.data-api", "[data-slide-to]", n),
366      t(window).on("load", function () {
367        t('[data-ride="carousel"]').each(function () {
368          var i = t(this);
369          e.call(i, i.data());
370        });
371      });
372  })(jQuery),
373  +(function (t) {
374    "use strict";
375    function e(e) {
376      var i,
377        o =
378          e.attr("data-target") ||
379          ((i = e.attr("href")) && i.replace(/.*(?=#[^\s]+$)/, ""));
380      return t(o);
381    }
382    function i(e) {
383      return this.each(function () {
384        var i = t(this),
385          n = i.data("bs.collapse"),
386          s = t.extend({}, o.DEFAULTS, i.data(), "object" == typeof e && e);
387        !n && s.toggle && /show|hide/.test(e) && (s.toggle = !1),
388          n || i.data("bs.collapse", (n = new o(this, s))),
389          "string" == typeof e && n[e]();
390      });
391    }
392    var o = function (e, i) {
393      (this.$element = t(e)),
394        (this.options = t.extend({}, o.DEFAULTS, i)),
395        (this.$trigger = t(
396          '[data-toggle="collapse"][href="#' +
397            e.id +
398            '"],[data-toggle="collapse"][data-target="#' +
399            e.id +
400            '"]'
401        )),
402        (this.transitioning = null),
403        this.options.parent
404          ? (this.$parent = this.getParent())
405          : this.addAriaAndCollapsedClass(this.$element, this.$trigger),
406        this.options.toggle && this.toggle();
407    };
408    (o.VERSION = "3.3.7"),
409      (o.TRANSITION_DURATION = 350),
410      (o.DEFAULTS = { toggle: !0 }),
411      (o.prototype.dimension = function () {
412        var t = this.$element.hasClass("width");
413        return t ? "width" : "height";
414      }),
415      (o.prototype.show = function () {
416        if (!this.transitioning && !this.$element.hasClass("in")) {
417          var e,
418            n =
419              this.$parent &&
420              this.$parent.children(".panel").children(".in, .collapsing");
421          if (
422            !(
423              n &&
424              n.length &&
425              ((e = n.data("bs.collapse")), e && e.transitioning)
426            )
427          ) {
428            var s = t.Event("show.bs.collapse");
429            if ((this.$element.trigger(s), !s.isDefaultPrevented())) {
430              n &&
431                n.length &&
432                (i.call(n, "hide"), e || n.data("bs.collapse", null));
433              var a = this.dimension();
434              this.$element
435                .removeClass("collapse")
436                .addClass("collapsing")
437                [a](0)
438                .attr("aria-expanded", !0),
439                this.$trigger
440                  .removeClass("collapsed")
441                  .attr("aria-expanded", !0),
442                (this.transitioning = 1);
443              var r = function () {
444                this.$element
445                  .removeClass("collapsing")
446                  .addClass("collapse in")
447                  [a](""),
448                  (this.transitioning = 0),
449                  this.$element.trigger("shown.bs.collapse");
450              };
451              if (!t.support.transition) return r.call(this);
452              var l = t.camelCase(["scroll", a].join("-"));
453              this.$element
454                .one("bsTransitionEnd", t.proxy(r, this))
455                .emulateTransitionEnd(o.TRANSITION_DURATION)
456                [a](this.$element[0][l]);
457            }
458          }
459        }
460      }),
461      (o.prototype.hide = function () {
462        if (!this.transitioning && this.$element.hasClass("in")) {
463          var e = t.Event("hide.bs.collapse");
464          if ((this.$element.trigger(e), !e.isDefaultPrevented())) {
465            var i = this.dimension();
466            this.$element[i](this.$element[i]())[0].offsetHeight,
467              this.$element
468                .addClass("collapsing")
469                .removeClass("collapse in")
470                .attr("aria-expanded", !1),
471              this.$trigger.addClass("collapsed").attr("aria-expanded", !1),
472              (this.transitioning = 1);
473            var n = function () {
474              (this.transitioning = 0),
475                this.$element
476                  .removeClass("collapsing")
477                  .addClass("collapse")
478                  .trigger("hidden.bs.collapse");
479            };
480            return t.support.transition
481              ? void this.$element[i](0)
482                  .one("bsTransitionEnd", t.proxy(n, this))
483                  .emulateTransitionEnd(o.TRANSITION_DURATION)
484              : n.call(this);
485          }
486        }
487      }),
488      (o.prototype.toggle = function () {
489        this[this.$element.hasClass("in") ? "hide" : "show"]();
490      }),
491      (o.prototype.getParent = function () {
492        return t(this.options.parent)
493          .find(
494            '[data-toggle="collapse"][data-parent="' +
495              this.options.parent +
496              '"]'
497          )
498          .each(
499            t.proxy(function (i, o) {
500              var n = t(o);
501              this.addAriaAndCollapsedClass(e(n), n);
502            }, this)
503          )
504          .end();
505      }),
506      (o.prototype.addAriaAndCollapsedClass = function (t, e) {
507        var i = t.hasClass("in");
508        t.attr("aria-expanded", i),
509          e.toggleClass("collapsed", !i).attr("aria-expanded", i);
510      });
511    var n = t.fn.collapse;
512    (t.fn.collapse = i),
513      (t.fn.collapse.Constructor = o),
514      (t.fn.collapse.noConflict = function () {
515        return (t.fn.collapse = n), this;
516      }),
517      t(document).on(
518        "click.bs.collapse.data-api",
519        '[data-toggle="collapse"]',
520        function (o) {
521          var n = t(this);
522          n.attr("data-target") || o.preventDefault();
523          var s = e(n),
524            a = s.data("bs.collapse"),
525            r = a ? "toggle" : n.data();
526          i.call(s, r);
527        }
528      );
529  })(jQuery),
530  +(function (t) {
531    "use strict";
532    function e(e) {
533      var i = e.attr("data-target");
534      i ||
535        ((i = e.attr("href")),
536        (i = i && /#[A-Za-z]/.test(i) && i.replace(/.*(?=#[^\s]*$)/, "")));
537      var o = i && t(i);
538      return o && o.length ? o : e.parent();
539    }
540    function i(i) {
541      (i && 3 === i.which) ||
542        (t(n).remove(),
543        t(s).each(function () {
544          var o = t(this),
545            n = e(o),
546            s = { relatedTarget: this };
547          n.hasClass("open") &&
548            ((i &&
549              "click" == i.type &&
550              /input|textarea/i.test(i.target.tagName) &&
551              t.contains(n[0], i.target)) ||
552              (n.trigger((i = t.Event("hide.bs.dropdown", s))),
553              i.isDefaultPrevented() ||
554                (o.attr("aria-expanded", "false"),
555                n
556                  .removeClass("open")
557                  .trigger(t.Event("hidden.bs.dropdown", s)))));
558        }));
559    }
560    function o(e) {
561      return this.each(function () {
562        var i = t(this),
563          o = i.data("bs.dropdown");
564        o || i.data("bs.dropdown", (o = new a(this))),
565          "string" == typeof e && o[e].call(i);
566      });
567    }
568    var n = ".dropdown-backdrop",
569      s = '[data-toggle="dropdown"]',
570      a = function (e) {
571        t(e).on("click.bs.dropdown", this.toggle);
572      };
573    (a.VERSION = "3.3.7"),
574      (a.prototype.toggle = function (o) {
575        var n = t(this);
576        if (!n.is(".disabled, :disabled")) {
577          var s = e(n),
578            a = s.hasClass("open");
579          if ((i(), !a)) {
580            "ontouchstart" in document.documentElement &&
581              !s.closest(".navbar-nav").length &&
582              t(document.createElement("div"))
583                .addClass("dropdown-backdrop")
584                .insertAfter(t(this))
585                .on("click", i);
586            var r = { relatedTarget: this };
587            if (
588              (s.trigger((o = t.Event("show.bs.dropdown", r))),
589              o.isDefaultPrevented())
590            )
591              return;
592            n.trigger("focus").attr("aria-expanded", "true"),
593              s.toggleClass("open").trigger(t.Event("shown.bs.dropdown", r));
594          }
595          return !1;
596        }
597      }),
598      (a.prototype.keydown = function (i) {
599        if (
600          /(38|40|27|32)/.test(i.which) &&
601          !/input|textarea/i.test(i.target.tagName)
602        ) {
603          var o = t(this);
604          if (
605            (i.preventDefault(),
606            i.stopPropagation(),
607            !o.is(".disabled, :disabled"))
608          ) {
609            var n = e(o),
610              a = n.hasClass("open");
611            if ((!a && 27 != i.which) || (a && 27 == i.which))
612              return (
613                27 == i.which && n.find(s).trigger("focus"), o.trigger("click")
614              );
615            var r = " li:not(.disabled):visible a",
616              l = n.find(".dropdown-menu" + r);
617            if (l.length) {
618              var h = l.index(i.target);
619              38 == i.which && h > 0 && h--,
620                40 == i.which && h < l.length - 1 && h++,
621                ~h || (h = 0),
622                l.eq(h).trigger("focus");
623            }
624          }
625        }
626      });
627    var r = t.fn.dropdown;
628    (t.fn.dropdown = o),
629      (t.fn.dropdown.Constructor = a),
630      (t.fn.dropdown.noConflict = function () {
631        return (t.fn.dropdown = r), this;
632      }),
633      t(document)
634        .on("click.bs.dropdown.data-api", i)
635        .on("click.bs.dropdown.data-api", ".dropdown form", function (t) {
636          t.stopPropagation();
637        })
638        .on("click.bs.dropdown.data-api", s, a.prototype.toggle)
639        .on("keydown.bs.dropdown.data-api", s, a.prototype.keydown)
640        .on(
641          "keydown.bs.dropdown.data-api",
642          ".dropdown-menu",
643          a.prototype.keydown
644        );
645  })(jQuery),
646  +(function (t) {
647    "use strict";
648    function e(e, o) {
649      return this.each(function () {
650        var n = t(this),
651          s = n.data("bs.modal"),
652          a = t.extend({}, i.DEFAULTS, n.data(), "object" == typeof e && e);
653        s || n.data("bs.modal", (s = new i(this, a))),
654          "string" == typeof e ? s[e](o) : a.show && s.show(o);
655      });
656    }
657    var i = function (e, i) {
658      (this.options = i),
659        (this.$body = t(document.body)),
660        (this.$element = t(e)),
661        (this.$dialog = this.$element.find(".modal-dialog")),
662        (this.$backdrop = null),
663        (this.isShown = null),
664        (this.originalBodyPad = null),
665        (this.scrollbarWidth = 0),
666        (this.ignoreBackdropClick = !1),
667        this.options.remote &&
668          this.$element.find(".modal-content").load(
669            this.options.remote,
670            t.proxy(function () {
671              this.$element.trigger("loaded.bs.modal");
672            }, this)
673          );
674    };
675   
676      (i.TRANSITION_DURATION = 300),
677      (i.BACKDROP_TRANSITION_DURATION = 150),
678      (i.DEFAULTS = { backdrop: !0, keyboard: !0, show: !0 }),
679      (i.prototype.toggle = function (t) {
680        return this.isShown ? this.hide() : this.show(t);
681      }),
682      (i.prototype.show = function (e) {
683        var o = this,
684          n = t.Event("show.bs.modal", { relatedTarget: e });
685        this.$element.trigger(n),
686          this.isShown ||
687            n.isDefaultPrevented() ||
688            ((this.isShown = !0),
689            this.checkScrollbar(),
690            this.setScrollbar(),
691            this.$body.addClass("modal-open"),
692            this.escape(),
693            this.resize(),
694            this.$element.on(
695              "click.dismiss.bs.modal",
696              '[data-dismiss="modal"]',
697              t.proxy(this.hide, this)
698            ),
699            this.$dialog.on("mousedown.dismiss.bs.modal", function () {
700              o.$element.one("mouseup.dismiss.bs.modal", function (e) {
701                t(e.target).is(o.$element) && (o.ignoreBackdropClick = !0);
702              });
703            }),
704            this.backdrop(function () {
705              var n = t.support.transition && o.$element.hasClass("fade");
706              o.$element.parent().length || o.$element.appendTo(o.$body),
707                o.$element.show().scrollTop(0),
708                o.adjustDialog(),
709                n && o.$element[0].offsetWidth,
710                o.$element.addClass("in"),
711                o.enforceFocus();
712              var s = t.Event("shown.bs.modal", { relatedTarget: e });
713              n
714                ? o.$dialog
715                    .one("bsTransitionEnd", function () {
716                      o.$element.trigger("focus").trigger(s);
717                    })
718                    .emulateTransitionEnd(i.TRANSITION_DURATION)
719                : o.$element.trigger("focus").trigger(s);
720            }));
721      }),
722      (i.prototype.hide = function (e) {
723        e && e.preventDefault(),
724          (e = t.Event("hide.bs.modal")),
725          this.$element.trigger(e),
726          this.isShown &&
727            !e.isDefaultPrevented() &&
728            ((this.isShown = !1),
729            this.escape(),
730            this.resize(),
731            t(document).off("focusin.bs.modal"),
732            this.$element
733              .removeClass("in")
734              .off("click.dismiss.bs.modal")
735              .off("mouseup.dismiss.bs.modal"),
736            this.$dialog.off("mousedown.dismiss.bs.modal"),
737            t.support.transition && this.$element.hasClass("fade")
738              ? this.$element
739                  .one("bsTransitionEnd", t.proxy(this.hideModal, this))
740                  .emulateTransitionEnd(i.TRANSITION_DURATION)
741              : this.hideModal());
742      }),
743      (i.prototype.enforceFocus = function () {
744        t(document)
745          .off("focusin.bs.modal")
746          .on(
747            "focusin.bs.modal",
748            t.proxy(function (t) {
749              document === t.target ||
750                this.$element[0] === t.target ||
751                this.$element.has(t.target).length ||
752                this.$element.trigger("focus");
753            }, this)
754          );
755      }),
756      (i.prototype.escape = function () {
757        this.isShown && this.options.keyboard
758          ? this.$element.on(
759              "keydown.dismiss.bs.modal",
760              t.proxy(function (t) {
761                27 == t.which && this.hide();
762              }, this)
763            )
764          : this.isShown || this.$element.off("keydown.dismiss.bs.modal");
765      }),
766      (i.prototype.resize = function () {
767        this.isShown
768          ? t(window).on("resize.bs.modal", t.proxy(this.handleUpdate, this))
769          : t(window).off("resize.bs.modal");
770      }),
771      (i.prototype.hideModal = function () {
772        var t = this;
773        this.$element.hide(),
774          this.backdrop(function () {
775            t.$body.removeClass("modal-open"),
776              t.resetAdjustments(),
777              t.resetScrollbar(),
778              t.$element.trigger("hidden.bs.modal");
779          });
780      }),
781      (i.prototype.removeBackdrop = function () {
782        this.$backdrop && this.$backdrop.remove(), (this.$backdrop = null);
783      }),
784      (i.prototype.backdrop = function (e) {
785        var o = this,
786          n = this.$element.hasClass("fade") ? "fade" : "";
787        if (this.isShown && this.options.backdrop) {
788          var s = t.support.transition && n;
789          if (
790            ((this.$backdrop = t(document.createElement("div"))
791              .addClass("modal-backdrop " + n)
792              .appendTo(this.$body)),
793            this.$element.on(
794              "click.dismiss.bs.modal",
795              t.proxy(function (t) {
796                return this.ignoreBackdropClick
797                  ? void (this.ignoreBackdropClick = !1)
798                  : void (
799                      t.target === t.currentTarget &&
800                      ("static" == this.options.backdrop
801                        ? this.$element[0].focus()
802                        : this.hide())
803                    );
804              }, this)
805            ),
806            s && this.$backdrop[0].offsetWidth,
807            this.$backdrop.addClass("in"),
808            !e)
809          )
810            return;
811          s
812            ? this.$backdrop
813                .one("bsTransitionEnd", e)
814                .emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION)
815            : e();
816        } else if (!this.isShown && this.$backdrop) {
817          this.$backdrop.removeClass("in");
818          var a = function () {
819            o.removeBackdrop(), e && e();
820          };
821          t.support.transition && this.$element.hasClass("fade")
822            ? this.$backdrop
823                .one("bsTransitionEnd", a)
824                .emulateTransitionEnd(i.BACKDROP_TRANSITION_DURATION)
825            : a();
826        } else e && e();
827      }),
828      (i.prototype.handleUpdate = function () {
829        this.adjustDialog();
830      }),
831      (i.prototype.adjustDialog = function () {
832        var t =
833          this.$element[0].scrollHeight > document.documentElement.clientHeight;
834        this.$element.css({
835          paddingLeft: !this.bodyIsOverflowing && t ? this.scrollbarWidth : "",
836          paddingRight: this.bodyIsOverflowing && !t ? this.scrollbarWidth : "",
837        });
838      }),
839      (i.prototype.resetAdjustments = function () {
840        this.$element.css({ paddingLeft: "", paddingRight: "" });
841      }),
842      (i.prototype.checkScrollbar = function () {
843        var t = window.innerWidth;
844        if (!t) {
845          var e = document.documentElement.getBoundingClientRect();
846          t = e.right - Math.abs(e.left);
847        }
848        (this.bodyIsOverflowing = document.body.clientWidth < t),
849          (this.scrollbarWidth = this.measureScrollbar());
850      }),
851      (i.prototype.setScrollbar = function () {
852        var t = parseInt(this.$body.css("padding-right") || 0, 10);
853        (this.originalBodyPad = document.body.style.paddingRight || ""),
854          this.bodyIsOverflowing &&
855            this.$body.css("padding-right", t + this.scrollbarWidth);
856      }),
857      (i.prototype.resetScrollbar = function () {
858        this.$body.css("padding-right", this.originalBodyPad);
859      }),
860      (i.prototype.measureScrollbar = function () {
861        var t = document.createElement("div");
862        (t.className = "modal-scrollbar-measure"), this.$body.append(t);
863        var e = t.offsetWidth - t.clientWidth;
864        return this.$body[0].removeChild(t), e;
865      });
866    var o = t.fn.modal;
867    (t.fn.modal = e),
868      (t.fn.modal.Constructor = i),
869      (t.fn.modal.noConflict = function () {
870        return (t.fn.modal = o), this;
871      }),
872      t(document).on(
873        "click.bs.modal.data-api",
874        '[data-toggle="modal"]',
875        function (i) {
876          var o = t(this),
877            n = o.attr("href"),
878            s = t(
879              o.attr("data-target") || (n && n.replace(/.*(?=#[^\s]+$)/, ""))
880            ),
881            a = s.data("bs.modal")
882              ? "toggle"
883              : t.extend({ remote: !/#/.test(n) && n }, s.data(), o.data());
884          o.is("a") && i.preventDefault(),
885            s.one("show.bs.modal", function (t) {
886              t.isDefaultPrevented() ||
887                s.one("hidden.bs.modal", function () {
888                  o.is(":visible") && o.trigger("focus");
889                });
890            }),
891            e.call(s, a, this);
892        }
893      );
894  })(jQuery),
895  +(function (t) {
896    "use strict";
897    function e(e) {
898      return this.each(function () {
899        var o = t(this),
900          n = o.data("bs.tooltip"),
901          s = "object" == typeof e && e;
902        (!n && /destroy|hide/.test(e)) ||
903          (n || o.data("bs.tooltip", (n = new i(this, s))),
904          "string" == typeof e && n[e]());
905      });
906    }
907    var i = function (t, e) {
908      (this.type = null),
909        (this.options = null),
910        (this.enabled = null),
911        (this.timeout = null),
912        (this.hoverState = null),
913        (this.$element = null),
914        (this.inState = null),
915        this.init("tooltip", t, e);
916    };
917   
918      (i.TRANSITION_DURATION = 150),
919      (i.DEFAULTS = {
920        animation: !0,
921        placement: "top",
922        selector: !1,
923        template:
924          '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
925        trigger: "hover focus",
926        title: "",
927        delay: 0,
928        html: !1,
929        container: !1,
930        viewport: { selector: "body", padding: 0 },
931      }),
932      (i.prototype.init = function (e, i, o) {
933        if (
934          ((this.enabled = !0),
935          (this.type = e),
936          (this.$element = t(i)),
937          (this.options = this.getOptions(o)),
938          (this.$viewport =
939            this.options.viewport &&
940            t(
941              t.isFunction(this.options.viewport)
942                ? this.options.viewport.call(this, this.$element)
943                : this.options.viewport.selector || this.options.viewport
944            )),
945          (this.inState = { click: !1, hover: !1, focus: !1 }),
946          this.$element[0] instanceof document.constructor &&
947            !this.options.selector)
948        )
949          throw new Error(
950            "`selector` option must be specified when initializing " +
951              this.type +
952              " on the window.document object!"
953          );
954        for (var n = this.options.trigger.split(" "), s = n.length; s--; ) {
955          var a = n[s];
956          if ("click" == a)
957            this.$element.on(
958              "click." + this.type,
959              this.options.selector,
960              t.proxy(this.toggle, this)
961            );
962          else if ("manual" != a) {
963            var r = "hover" == a ? "mouseenter" : "focusin",
964              l = "hover" == a ? "mouseleave" : "focusout";
965            this.$element.on(
966              r + "." + this.type,
967              this.options.selector,
968              t.proxy(this.enter, this)
969            ),
970              this.$element.on(
971                l + "." + this.type,
972                this.options.selector,
973                t.proxy(this.leave, this)
974              );
975          }
976        }
977        this.options.selector
978          ? (this._options = t.extend({}, this.options, {
979              trigger: "manual",
980              selector: "",
981            }))
982          : this.fixTitle();
983      }),
984      (i.prototype.getDefaults = function () {
985        return i.DEFAULTS;
986      }),
987      (i.prototype.getOptions = function (e) {
988        return (
989          (e = t.extend({}, this.getDefaults(), this.$element.data(), e)),
990          e.delay &&
991            "number" == typeof e.delay &&
992            (e.delay = { show: e.delay, hide: e.delay }),
993          e
994        );
995      }),
996      (i.prototype.getDelegateOptions = function () {
997        var e = {},
998          i = this.getDefaults();
999        return (
1000          this._options &&
1001            t.each(this._options, function (t, o) {
1002              i[t] != o && (e[t] = o);
1003            }),
1004          e
1005        );
1006      }),
1007      (i.prototype.enter = function (e) {
1008        var i =
1009          e instanceof this.constructor
1010            ? e
1011            : t(e.currentTarget).data("bs." + this.type);
1012        return (
1013          i ||
1014            ((i = new this.constructor(
1015              e.currentTarget,
1016              this.getDelegateOptions()
1017            )),
1018            t(e.currentTarget).data("bs." + this.type, i)),
1019          e instanceof t.Event &&
1020            (i.inState["focusin" == e.type ? "focus" : "hover"] = !0),
1021          i.tip().hasClass("in") || "in" == i.hoverState
1022            ? void (i.hoverState = "in")
1023            : (clearTimeout(i.timeout),
1024              (i.hoverState = "in"),
1025              i.options.delay && i.options.delay.show
1026                ? void (i.timeout = setTimeout(function () {
1027                    "in" == i.hoverState && i.show();
1028                  }, i.options.delay.show))
1029                : i.show())
1030        );
1031      }),
1032      (i.prototype.isInStateTrue = function () {
1033        for (var t in this.inState) if (this.inState[t]) return !0;
1034        return !1;
1035      }),
1036      (i.prototype.leave = function (e) {
1037        var i =
1038          e instanceof this.constructor
1039            ? e
1040            : t(e.currentTarget).data("bs." + this.type);
1041        if (
1042          (i ||
1043            ((i = new this.constructor(
1044              e.currentTarget,
1045              this.getDelegateOptions()
1046            )),
1047            t(e.currentTarget).data("bs." + this.type, i)),
1048          e instanceof t.Event &&
1049            (i.inState["focusout" == e.type ? "focus" : "hover"] = !1),
1050          !i.isInStateTrue())
1051        )
1052          return (
1053            clearTimeout(i.timeout),
1054            (i.hoverState = "out"),
1055            i.options.delay && i.options.delay.hide
1056              ? void (i.timeout = setTimeout(function () {
1057                  "out" == i.hoverState && i.hide();
1058                }, i.options.delay.hide))
1059              : i.hide()
1060          );
1061      }),
1062      (i.prototype.show = function () {
1063        var e = t.Event("show.bs." + this.type);
1064        if (this.hasContent() && this.enabled) {
1065          this.$element.trigger(e);
1066          var o = t.contains(
1067            this.$element[0].ownerDocument.documentElement,
1068            this.$element[0]
1069          );
1070          if (e.isDefaultPrevented() || !o) return;
1071          var n = this,
1072            s = this.tip(),
1073            a = this.getUID(this.type);
1074          this.setContent(),
1075            s.attr("id", a),
1076            this.$element.attr("aria-describedby", a),
1077            this.options.animation && s.addClass("fade");
1078          var r =
1079              "function" == typeof this.options.placement
1080                ? this.options.placement.call(this, s[0], this.$element[0])
1081                : this.options.placement,
1082            l = /\s?auto?\s?/i,
1083            h = l.test(r);
1084          h && (r = r.replace(l, "") || "top"),
1085            s
1086              .detach()
1087              .css({ top: 0, left: 0, display: "block" })
1088              .addClass(r)
1089              .data("bs." + this.type, this),
1090            this.options.container
1091              ? s.appendTo(this.options.container)
1092              : s.insertAfter(this.$element),
1093            this.$element.trigger("inserted.bs." + this.type);
1094          var d = this.getPosition(),
1095            p = s[0].offsetWidth,
1096            c = s[0].offsetHeight;
1097          if (h) {
1098            var f = r,
1099              u = this.getPosition(this.$viewport);
1100            (r =
1101              "bottom" == r && d.bottom + c > u.bottom
1102                ? "top"
1103                : "top" == r && d.top - c < u.top
1104                ? "bottom"
1105                : "right" == r && d.right + p > u.width
1106                ? "left"
1107                : "left" == r && d.left - p < u.left
1108                ? "right"
1109                : r),
1110              s.removeClass(f).addClass(r);
1111          }
1112          var g = this.getCalculatedOffset(r, d, p, c);
1113          this.applyPlacement(g, r);
1114          var m = function () {
1115            var t = n.hoverState;
1116            n.$element.trigger("shown.bs." + n.type),
1117              (n.hoverState = null),
1118              "out" == t && n.leave(n);
1119          };
1120          t.support.transition && this.$tip.hasClass("fade")
1121            ? s
1122                .one("bsTransitionEnd", m)
1123                .emulateTransitionEnd(i.TRANSITION_DURATION)
1124            : m();
1125        }
1126      }),
1127      (i.prototype.applyPlacement = function (e, i) {
1128        var o = this.tip(),
1129          n = o[0].offsetWidth,
1130          s = o[0].offsetHeight,
1131          a = parseInt(o.css("margin-top"), 10),
1132          r = parseInt(o.css("margin-left"), 10);
1133        isNaN(a) && (a = 0),
1134          isNaN(r) && (r = 0),
1135          (e.top += a),
1136          (e.left += r),
1137          t.offset.setOffset(
1138            o[0],
1139            t.extend(
1140              {
1141                using: function (t) {
1142                  o.css({ top: Math.round(t.top), left: Math.round(t.left) });
1143                },
1144              },
1145              e
1146            ),
1147            0
1148          ),
1149          o.addClass("in");
1150        var l = o[0].offsetWidth,
1151          h = o[0].offsetHeight;
1152        "top" == i && h != s && (e.top = e.top + s - h);
1153        var d = this.getViewportAdjustedDelta(i, e, l, h);
1154        d.left ? (e.left += d.left) : (e.top += d.top);
1155        var p = /top|bottom/.test(i),
1156          c = p ? 2 * d.left - n + l : 2 * d.top - s + h,
1157          f = p ? "offsetWidth" : "offsetHeight";
1158        o.offset(e), this.replaceArrow(c, o[0][f], p);
1159      }),
1160      (i.prototype.replaceArrow = function (t, e, i) {
1161        this.arrow()
1162          .css(i ? "left" : "top", 50 * (1 - t / e) + "%")
1163          .css(i ? "top" : "left", "");
1164      }),
1165      (i.prototype.setContent = function () {
1166        var t = this.tip(),
1167          e = this.getTitle();
1168        t.find(".tooltip-inner")[this.options.html ? "html" : "text"](e),
1169          t.removeClass("fade in top bottom left right");
1170      }),
1171      (i.prototype.hide = function (e) {
1172        function o() {
1173          "in" != n.hoverState && s.detach(),
1174            n.$element &&
1175              n.$element
1176                .removeAttr("aria-describedby")
1177                .trigger("hidden.bs." + n.type),
1178            e && e();
1179        }
1180        var n = this,
1181          s = t(this.$tip),
1182          a = t.Event("hide.bs." + this.type);
1183        if ((this.$element.trigger(a), !a.isDefaultPrevented()))
1184          return (
1185            s.removeClass("in"),
1186            t.support.transition && s.hasClass("fade")
1187              ? s
1188                  .one("bsTransitionEnd", o)
1189                  .emulateTransitionEnd(i.TRANSITION_DURATION)
1190              : o(),
1191            (this.hoverState = null),
1192            this
1193          );
1194      }),
1195      (i.prototype.fixTitle = function () {
1196        var t = this.$element;
1197        (t.attr("title") || "string" != typeof t.attr("data-original-title")) &&
1198          t
1199            .attr("data-original-title", t.attr("title") || "")
1200            .attr("title", "");
1201      }),
1202      (i.prototype.hasContent = function () {
1203        return this.getTitle();
1204      }),
1205      (i.prototype.getPosition = function (e) {
1206        e = e || this.$element;
1207        var i = e[0],
1208          o = "BODY" == i.tagName,
1209          n = i.getBoundingClientRect();
1210        null == n.width &&
1211          (n = t.extend({}, n, {
1212            width: n.right - n.left,
1213            height: n.bottom - n.top,
1214          }));
1215        var s = window.SVGElement && i instanceof window.SVGElement,
1216          a = o ? { top: 0, left: 0 } : s ? null : e.offset(),
1217          r = {
1218            scroll: o
1219              ? document.documentElement.scrollTop || document.body.scrollTop
1220              : e.scrollTop(),
1221          },
1222          l = o
1223            ? { width: t(window).width(), height: t(window).height() }
1224            : null;
1225        return t.extend({}, n, r, l, a);
1226      }),
1227      (i.prototype.getCalculatedOffset = function (t, e, i, o) {
1228        return "bottom" == t
1229          ? { top: e.top + e.height, left: e.left + e.width / 2 - i / 2 }
1230          : "top" == t
1231          ? { top: e.top - o, left: e.left + e.width / 2 - i / 2 }
1232          : "left" == t
1233          ? { top: e.top + e.height / 2 - o / 2, left: e.left - i }
1234          : { top: e.top + e.height / 2 - o / 2, left: e.left + e.width };
1235      }),
1236      (i.prototype.getViewportAdjustedDelta = function (t, e, i, o) {
1237        var n = { top: 0, left: 0 };
1238        if (!this.$viewport) return n;
1239        var s = (this.options.viewport && this.options.viewport.padding) || 0,
1240          a = this.getPosition(this.$viewport);
1241        if (/right|left/.test(t)) {
1242          var r = e.top - s - a.scroll,
1243            l = e.top + s - a.scroll + o;
1244          r < a.top
1245            ? (n.top = a.top - r)
1246            : l > a.top + a.height && (n.top = a.top + a.height - l);
1247        } else {
1248          var h = e.left - s,
1249            d = e.left + s + i;
1250          h < a.left
1251            ? (n.left = a.left - h)
1252            : d > a.right && (n.left = a.left + a.width - d);
1253        }
1254        return n;
1255      }),
1256      (i.prototype.getTitle = function () {
1257        var t,
1258          e = this.$element,
1259          i = this.options;
1260        return (t =
1261          e.attr("data-original-title") ||
1262          ("function" == typeof i.title ? i.title.call(e[0]) : i.title));
1263      }),
1264      (i.prototype.getUID = function (t) {
1265        do t += ~~(1e6 * Math.random());
1266        while (document.getElementById(t));
1267        return t;
1268      }),
1269      (i.prototype.tip = function () {
1270        if (
1271          !this.$tip &&
1272          ((this.$tip = t(this.options.template)), 1 != this.$tip.length)
1273        )
1274          throw new Error(
1275            this.type +
1276              " `template` option must consist of exactly 1 top-level element!"
1277          );
1278        return this.$tip;
1279      }),
1280      (i.prototype.arrow = function () {
1281        return (this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow"));
1282      }),
1283      (i.prototype.enable = function () {
1284        this.enabled = !0;
1285      }),
1286      (i.prototype.disable = function () {
1287        this.enabled = !1;
1288      }),
1289      (i.prototype.toggleEnabled = function () {
1290        this.enabled = !this.enabled;
1291      }),
1292      (i.prototype.toggle = function (e) {
1293        var i = this;
1294        e &&
1295          ((i = t(e.currentTarget).data("bs." + this.type)),
1296          i ||
1297            ((i = new this.constructor(
1298              e.currentTarget,
1299              this.getDelegateOptions()
1300            )),
1301            t(e.currentTarget).data("bs." + this.type, i))),
1302          e
1303            ? ((i.inState.click = !i.inState.click),
1304              i.isInStateTrue() ? i.enter(i) : i.leave(i))
1305            : i.tip().hasClass("in")
1306            ? i.leave(i)
1307            : i.enter(i);
1308      }),
1309      (i.prototype.destroy = function () {
1310        var t = this;
1311        clearTimeout(this.timeout),
1312          this.hide(function () {
1313            t.$element.off("." + t.type).removeData("bs." + t.type),
1314              t.$tip && t.$tip.detach(),
1315              (t.$tip = null),
1316              (t.$arrow = null),
1317              (t.$viewport = null),
1318              (t.$element = null);
1319          });
1320      });
1321    var o = t.fn.tooltip;
1322    (t.fn.tooltip = e),
1323      (t.fn.tooltip.Constructor = i),
1324      (t.fn.tooltip.noConflict = function () {
1325        return (t.fn.tooltip = o), this;
1326      });
1327  })(jQuery),
1328  +(function (t) {
1329    "use strict";
1330    function e(e) {
1331      return this.each(function () {
1332        var o = t(this),
1333          n = o.data("bs.popover"),
1334          s = "object" == typeof e && e;
1335        (!n && /destroy|hide/.test(e)) ||
1336          (n || o.data("bs.popover", (n = new i(this, s))),
1337          "string" == typeof e && n[e]());
1338      });
1339    }
1340    var i = function (t, e) {
1341      this.init("popover", t, e);
1342    };
1343    if (!t.fn.tooltip) throw new Error("Popover requires tooltip.js");
1344   
1345      (i.DEFAULTS = t.extend({}, t.fn.tooltip.Constructor.DEFAULTS, {
1346        placement: "right",
1347        trigger: "click",
1348        content: "",
1349        template:
1350          '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>',
1351      })),
1352      (i.prototype = t.extend({}, t.fn.tooltip.Constructor.prototype)),
1353      (i.prototype.constructor = i),
1354      (i.prototype.getDefaults = function () {
1355        return i.DEFAULTS;
1356      }),
1357      (i.prototype.setContent = function () {
1358        var t = this.tip(),
1359          e = this.getTitle(),
1360          i = this.getContent();
1361        t.find(".popover-title")[this.options.html ? "html" : "text"](e),
1362          t
1363            .find(".popover-content")
1364            .children()
1365            .detach()
1366            .end()
1367            [
1368              this.options.html
1369                ? "string" == typeof i
1370                  ? "html"
1371                  : "append"
1372                : "text"
1373            ](i),
1374          t.removeClass("fade top bottom left right in"),
1375          t.find(".popover-title").html() || t.find(".popover-title").hide();
1376      }),
1377      (i.prototype.hasContent = function () {
1378        return this.getTitle() || this.getContent();
1379      }),
1380      (i.prototype.getContent = function () {
1381        var t = this.$element,
1382          e = this.options;
1383        return (
1384          t.attr("data-content") ||
1385          ("function" == typeof e.content ? e.content.call(t[0]) : e.content)
1386        );
1387      }),
1388      (i.prototype.arrow = function () {
1389        return (this.$arrow = this.$arrow || this.tip().find(".arrow"));
1390      });
1391    var o = t.fn.popover;
1392    (t.fn.popover = e),
1393      (t.fn.popover.Constructor = i),
1394      (t.fn.popover.noConflict = function () {
1395        return (t.fn.popover = o), this;
1396      });
1397  })(jQuery),
1398  +(function (t) {
1399    "use strict";
1400    function e(i, o) {
1401      (this.$body = t(document.body)),
1402        (this.$scrollElement = t(t(i).is(document.body) ? window : i)),
1403        (this.options = t.extend({}, e.DEFAULTS, o)),
1404        (this.selector = (this.options.target || "") + " .nav li > a"),
1405        (this.offsets = []),
1406        (this.targets = []),
1407        (this.activeTarget = null),
1408        (this.scrollHeight = 0),
1409        this.$scrollElement.on(
1410          "scroll.bs.scrollspy",
1411          t.proxy(this.process, this)
1412        ),
1413        this.refresh(),
1414        this.process();
1415    }
1416    function i(i) {
1417      return this.each(function () {
1418        var o = t(this),
1419          n = o.data("bs.scrollspy"),
1420          s = "object" == typeof i && i;
1421        n || o.data("bs.scrollspy", (n = new e(this, s))),
1422          "string" == typeof i && n[i]();
1423      });
1424    }
1425    (e.VERSION = "3.3.7"),
1426      (e.DEFAULTS = { offset: 10 }),
1427      (e.prototype.getScrollHeight = function () {
1428        return (
1429          this.$scrollElement[0].scrollHeight ||
1430          Math.max(
1431            this.$body[0].scrollHeight,
1432            document.documentElement.scrollHeight
1433          )
1434        );
1435      }),
1436      (e.prototype.refresh = function () {
1437        var e = this,
1438          i = "offset",
1439          o = 0;
1440        (this.offsets = []),
1441          (this.targets = []),
1442          (this.scrollHeight = this.getScrollHeight()),
1443          t.isWindow(this.$scrollElement[0]) ||
1444            ((i = "position"), (o = this.$scrollElement.scrollTop())),
1445          this.$body
1446            .find(this.selector)
1447            .map(function () {
1448              var e = t(this),
1449                n = e.data("target") || e.attr("href"),
1450                s = /^#./.test(n) && t(n);
1451              return (
1452                (s && s.length && s.is(":visible") && [[s[i]().top + o, n]]) ||
1453                null
1454              );
1455            })
1456            .sort(function (t, e) {
1457              return t[0] - e[0];
1458            })
1459            .each(function () {
1460              e.offsets.push(this[0]), e.targets.push(this[1]);
1461            });
1462      }),
1463      (e.prototype.process = function () {
1464        var t,
1465          e = this.$scrollElement.scrollTop() + this.options.offset,
1466          i = this.getScrollHeight(),
1467          o = this.options.offset + i - this.$scrollElement.height(),
1468          n = this.offsets,
1469          s = this.targets,
1470          a = this.activeTarget;
1471        if ((this.scrollHeight != i && this.refresh(), e >= o))
1472          return a != (t = s[s.length - 1]) && this.activate(t);
1473        if (a && e < n[0]) return (this.activeTarget = null), this.clear();
1474        for (t = n.length; t--; )
1475          a != s[t] &&
1476            e >= n[t] &&
1477            (void 0 === n[t + 1] || e < n[t + 1]) &&
1478            this.activate(s[t]);
1479      }),
1480      (e.prototype.activate = function (e) {
1481        (this.activeTarget = e), this.clear();
1482        var i =
1483            this.selector +
1484            '[data-target="' +
1485            e +
1486            '"],' +
1487            this.selector +
1488            '[href="' +
1489            e +
1490            '"]',
1491          o = t(i).parents("li").addClass("active");
1492        o.parent(".dropdown-menu").length &&
1493          (o = o.closest("li.dropdown").addClass("active")),
1494          o.trigger("activate.bs.scrollspy");
1495      }),
1496      (e.prototype.clear = function () {
1497        t(this.selector)
1498          .parentsUntil(this.options.target, ".active")
1499          .removeClass("active");
1500      });
1501    var o = t.fn.scrollspy;
1502    (t.fn.scrollspy = i),
1503      (t.fn.scrollspy.Constructor = e),
1504      (t.fn.scrollspy.noConflict = function () {
1505        return (t.fn.scrollspy = o), this;
1506      }),
1507      t(window).on("load.bs.scrollspy.data-api", function () {
1508        t('[data-spy="scroll"]').each(function () {
1509          var e = t(this);
1510          i.call(e, e.data());
1511        });
1512      });
1513  })(jQuery),
1514  +(function (t) {
1515    "use strict";
1516    function e(e) {
1517      return this.each(function () {
1518        var o = t(this),
1519          n = o.data("bs.tab");
1520        n || o.data("bs.tab", (n = new i(this))),
1521          "string" == typeof e && n[e]();
1522      });
1523    }
1524    var i = function (e) {
1525      this.element = t(e);
1526    };
1527   
1528      (i.TRANSITION_DURATION = 150),
1529      (i.prototype.show = function () {
1530        var e = this.element,
1531          i = e.closest("ul:not(.dropdown-menu)"),
1532          o = e.data("target");
1533        if (
1534          (o ||
1535            ((o = e.attr("href")), (o = o && o.replace(/.*(?=#[^\s]*$)/, ""))),
1536          !e.parent("li").hasClass("active"))
1537        ) {
1538          var n = i.find(".active:last a"),
1539            s = t.Event("hide.bs.tab", { relatedTarget: e[0] }),
1540            a = t.Event("show.bs.tab", { relatedTarget: n[0] });
1541          if (
1542            (n.trigger(s),
1543            e.trigger(a),
1544            !a.isDefaultPrevented() && !s.isDefaultPrevented())
1545          ) {
1546            var r = t(o);
1547            this.activate(e.closest("li"), i),
1548              this.activate(r, r.parent(), function () {
1549                n.trigger({ type: "hidden.bs.tab", relatedTarget: e[0] }),
1550                  e.trigger({ type: "shown.bs.tab", relatedTarget: n[0] });
1551              });
1552          }
1553        }
1554      }),
1555      (i.prototype.activate = function (e, o, n) {
1556        function s() {
1557          a
1558            .removeClass("active")
1559            .find("> .dropdown-menu > .active")
1560            .removeClass("active")
1561            .end()
1562            .find('[data-toggle="tab"]')
1563            .attr("aria-expanded", !1),
1564            e
1565              .addClass("active")
1566              .find('[data-toggle="tab"]')
1567              .attr("aria-expanded", !0),
1568            r ? (e[0].offsetWidth, e.addClass("in")) : e.removeClass("fade"),
1569            e.parent(".dropdown-menu").length &&
1570              e
1571                .closest("li.dropdown")
1572                .addClass("active")
1573                .end()
1574                .find('[data-toggle="tab"]')
1575                .attr("aria-expanded", !0),
1576            n && n();
1577        }
1578        var a = o.find("> .active"),
1579          r =
1580            n &&
1581            t.support.transition &&
1582            ((a.length && a.hasClass("fade")) || !!o.find("> .fade").length);
1583        a.length && r
1584          ? a
1585              .one("bsTransitionEnd", s)
1586              .emulateTransitionEnd(i.TRANSITION_DURATION)
1587          : s(),
1588          a.removeClass("in");
1589      });
1590    var o = t.fn.tab;
1591    (t.fn.tab = e),
1592      (t.fn.tab.Constructor = i),
1593      (t.fn.tab.noConflict = function () {
1594        return (t.fn.tab = o), this;
1595      });
1596    var n = function (i) {
1597      i.preventDefault(), e.call(t(this), "show");
1598    };
1599    t(document)
1600      .on("click.bs.tab.data-api", '[data-toggle="tab"]', n)
1601      .on("click.bs.tab.data-api", '[data-toggle="pill"]', n);
1602  })(jQuery),
1603  +(function (t) {
1604    "use strict";
1605    function e(e) {
1606      return this.each(function () {
1607        var o = t(this),
1608          n = o.data("bs.affix"),
1609          s = "object" == typeof e && e;
1610        n || o.data("bs.affix", (n = new i(this, s))),
1611          "string" == typeof e && n[e]();
1612      });
1613    }
1614    var i = function (e, o) {
1615      (this.options = t.extend({}, i.DEFAULTS, o)),
1616        (this.$target = t(this.options.target)
1617          .on("scroll.bs.affix.data-api", t.proxy(this.checkPosition, this))
1618          .on(
1619            "click.bs.affix.data-api",
1620            t.proxy(this.checkPositionWithEventLoop, this)
1621          )),
1622        (this.$element = t(e)),
1623        (this.affixed = null),
1624        (this.unpin = null),
1625        (this.pinnedOffset = null),
1626        this.checkPosition();
1627    };
1628   
1629      (i.RESET = "affix affix-top affix-bottom"),
1630      (i.DEFAULTS = { offset: 0, target: window }),
1631      (i.prototype.getState = function (t, e, i, o) {
1632        var n = this.$target.scrollTop(),
1633          s = this.$element.offset(),
1634          a = this.$target.height();
1635        if (null != i && "top" == this.affixed) return n < i && "top";
1636        if ("bottom" == this.affixed)
1637          return null != i
1638            ? !(n + this.unpin <= s.top) && "bottom"
1639            : !(n + a <= t - o) && "bottom";
1640        var r = null == this.affixed,
1641          l = r ? n : s.top,
1642          h = r ? a : e;
1643        return null != i && n <= i
1644          ? "top"
1645          : null != o && l + h >= t - o && "bottom";
1646      }),
1647      (i.prototype.getPinnedOffset = function () {
1648        if (this.pinnedOffset) return this.pinnedOffset;
1649        this.$element.removeClass(i.RESET).addClass("affix");
1650        var t = this.$target.scrollTop(),
1651          e = this.$element.offset();
1652        return (this.pinnedOffset = e.top - t);
1653      }),
1654      (i.prototype.checkPositionWithEventLoop = function () {
1655        setTimeout(t.proxy(this.checkPosition, this), 1);
1656      }),
1657      (i.prototype.checkPosition = function () {
1658        if (this.$element.is(":visible")) {
1659          var e = this.$element.height(),
1660            o = this.options.offset,
1661            n = o.top,
1662            s = o.bottom,
1663            a = Math.max(t(document).height(), t(document.body).height());
1664          "object" != typeof o && (s = n = o),
1665            "function" == typeof n && (n = o.top(this.$element)),
1666            "function" == typeof s && (s = o.bottom(this.$element));
1667          var r = this.getState(a, e, n, s);
1668          if (this.affixed != r) {
1669            null != this.unpin && this.$element.css("top", "");
1670            var l = "affix" + (r ? "-" + r : ""),
1671              h = t.Event(l + ".bs.affix");
1672            if ((this.$element.trigger(h), h.isDefaultPrevented())) return;
1673            (this.affixed = r),
1674              (this.unpin = "bottom" == r ? this.getPinnedOffset() : null),
1675              this.$element
1676                .removeClass(i.RESET)
1677                .addClass(l)
1678                .trigger(l.replace("affix", "affixed") + ".bs.affix");
1679          }
1680          "bottom" == r && this.$element.offset({ top: a - e - s });
1681        }
1682      });
1683    var o = t.fn.affix;
1684    (t.fn.affix = e),
1685      (t.fn.affix.Constructor = i),
1686      (t.fn.affix.noConflict = function () {
1687        return (t.fn.affix = o), this;
1688      }),
1689      t(window).on("load", function () {
1690        t('[data-spy="affix"]').each(function () {
1691          var i = t(this),
1692            o = i.data();
1693          (o.offset = o.offset || {}),
1694            null != o.offsetBottom && (o.offset.bottom = o.offsetBottom),
1695            null != o.offsetTop && (o.offset.top = o.offsetTop),
1696            e.call(i, o);
1697        });
1698      });
1699  })(jQuery);

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.