PageSourceSearch

https://www.consob.it/o/consob-internet-theme//js/vendor/bootstrap…=js&languageId=it_IT&t=1781073294000

js consob.it collected 2026-09-24 08:52:10 UTC 92,365 bytes, 2,211 lines download raw bytes

vendor: 4,395 bytes, lines 1-99
1/*1781071734000*/
2/*!
3 * Bootstrap v5.3.3 (https://getbootstrap.com/)
4 * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
5 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6 */
7! function(t, e) {
8    "object" == typeof exports && "undefined" != typeof module ? module.exports = e(require("@popperjs/core")) : "function" == typeof define && define.amd ? define(["@popperjs/core"], e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).bootstrap = e(t.Popper)
9}(this, (function(t) {
10    "use strict";
11
12    function e(t) {
13        const e = Object.create(null, {
14            [Symbol.toStringTag]: {
15                value: "Module"
16            }
17        });
18        if (t)
19            for (const i in t)
20                if ("default" !== i) {
21                    const s = Object.getOwnPropertyDescriptor(t, i);
22                    Object.defineProperty(e, i, s.get ? s : {
23                        enumerable: !0,
24                        get: () => t[i]
25                    })
26                }
27        return e.default = t, Object.freeze(e)
28    }
29    const i = e(t),
30        s = new Map,
31        n = {set(t, e, i) {
32                s.has(t) || s.set(t, new Map);
33                const n = s.get(t);
34                n.has(e) || 0 === n.size ? n.set(e, i) : console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)
35            },
36            get: (t, e) => s.has(t) && s.get(t).get(e) || null,
37            remove(t, e) {
38                if (!s.has(t)) return;
39                const i = s.get(t);
40                i.delete(e), 0 === i.size && s.delete(t)
41            }
42        },
43        o = "transitionend",
44        r = t => (t && window.CSS && window.CSS.escape && (t = t.replace(/#([^\s"#']+)/g, ((t, e) => `#${CSS.escape(e)}`))), t),
45        a = t => {
46            t.dispatchEvent(new Event(o))
47        },
48        l = t => !(!t || "object" != typeof t) && (void 0 !== t.jquery && (t = t[0]), void 0 !== t.nodeType),
49        c = t => l(t) ? t.jquery ? t[0] : t : "string" == typeof t && t.length > 0 ? document.querySelector(r(t)) : null,
50        h = t => {
51            if (!l(t) || 0 === t.getClientRects().length) return !1;
52            const e = "visible" === getComputedStyle(t).getPropertyValue("visibility"),
53                i = t.closest("details:not([open])");
54            if (!i) return e;
55            if (i !== t) {
56                const e = t.closest("summary");
57                if (e && e.parentNode !== i) return !1;
58                if (null === e) return !1
59            }
60            return e
61        },
62        d = t => !t || t.nodeType !== Node.ELEMENT_NODE || !!t.classList.contains("disabled") || (void 0 !== t.disabled ? t.disabled : t.hasAttribute("disabled") && "false" !== t.getAttribute("disabled")),
63        u = t => {
64            if (!document.documentElement.attachShadow) return null;
65            if ("function" == typeof t.getRootNode) {
66                const e = t.getRootNode();
67                return e instanceof ShadowRoot ? e : null
68            }
69            return t instanceof ShadowRoot ? t : t.parentNode ? u(t.parentNode) : null
70        },
71        _ = () => {},
72        g = t => {
73            t.offsetHeight
74        },
75        f = () => window.jQuery && !document.body.hasAttribute("data-bs-no-jquery") ? window.jQuery : null,
76        m = [],
77        p = () => "rtl" === document.documentElement.dir,
78        b = t => {
79            var e;
80            e = () => {
81                const e = f();
82                if (e) {
83                    const i = t.NAME,
84                        s = e.fn[i];
85                    e.fn[i] = t.jQueryInterface, e.fn[i].Constructor = t, e.fn[i].noConflict = () => (e.fn[i] = s, t.jQueryInterface)
86                }
87            }, "loading" === document.readyState ? (m.length || document.addEventListener("DOMContentLoaded", (() => {
88                for (const t of m) t()
89            })), m.push(e)) : e()
90        },
91        v = (t, e = [], i = t) => "function" == typeof t ? t(...e) : i,
92        y = (t, e, i = !0) => {
93            if (!i) return void v(t);
94            const s = (t => {
95                if (!t) return 0;
96                let {
97                    transitionDuration: e,
98                    transitionDelay: i
99                } = window.getComputedStyle(t);
vendor: 12,979 bytes, lines 100-432
100                const s = Number.parseFloat(e),
101                    n = Number.parseFloat(i);
102                return s || n ? (e = e.split(",")[0], i = i.split(",")[0], 1e3 * (Number.parseFloat(e) + Number.parseFloat(i))) : 0
103            })(e) + 5;
104            let n = !1;
105            const r = ({
106                target: i
107            }) => {
108                i === e && (n = !0, e.removeEventListener(o, r), v(t))
109            };
110            e.addEventListener(o, r), setTimeout((() => {
111                n || a(e)
112            }), s)
113        },
114        w = (t, e, i, s) => {
115            const n = t.length;
116            let o = t.indexOf(e);
117            return -1 === o ? !i && s ? t[n - 1] : t[0] : (o += i ? 1 : -1, s && (o = (o + n) % n), t[Math.max(0, Math.min(o, n - 1))])
118        },
119        A = /[^.]*(?=\..*)\.|.*/,
120        E = /\..*/,
121        C = /::\d+$/,
122        T = {};
123    let k = 1;
124    const $ = {
125            mouseenter: "mouseover",
126            mouseleave: "mouseout"
127        },
128        S = new Set(["click", "dblclick", "mouseup", "mousedown", "contextmenu", "mousewheel", "DOMMouseScroll", "mouseover", "mouseout", "mousemove", "selectstart", "selectend", "keydown", "keypress", "keyup", "orientationchange", "touchstart", "touchmove", "touchend", "touchcancel", "pointerdown", "pointermove", "pointerup", "pointerleave", "pointercancel", "gesturestart", "gesturechange", "gestureend", "focus", "blur", "change", "reset", "select", "submit", "focusin", "focusout", "load", "unload", "beforeunload", "resize", "move", "DOMContentLoaded", "readystatechange", "error", "abort", "scroll"]);
129
130    function L(t, e) {
131        return e && `${e}::${k++}` || t.uidEvent || k++
132    }
133
134    function O(t) {
135        const e = L(t);
136        return t.uidEvent = e, T[e] = T[e] || {}, T[e]
137    }
138
139    function I(t, e, i = null) {
140        return Object.values(t).find((t => t.callable === e && t.delegationSelector === i))
141    }
142
143    function D(t, e, i) {
144        const s = "string" == typeof e,
145            n = s ? i : e || i;
146        let o = M(t);
147        return S.has(o) || (o = t), [s, n, o]
148    }
149
150    function N(t, e, i, s, n) {
151        if ("string" != typeof e || !t) return;
152        let [o, r, a] = D(e, i, s);
153        if (e in $) {
154            const t = t => function(e) {
155                if (!e.relatedTarget || e.relatedTarget !== e.delegateTarget && !e.delegateTarget.contains(e.relatedTarget)) return t.call(this, e)
156            };
157            r = t(r)
158        }
159        const l = O(t),
160            c = l[a] || (l[a] = {}),
161            h = I(c, r, o ? i : null);
162        if (h) return void(h.oneOff = h.oneOff && n);
163        const d = L(r, e.replace(A, "")),
164            u = o ? function(t, e, i) {
165                return function s(n) {
166                    const o = t.querySelectorAll(e);
167                    for (let {
168                            target: r
169                        } = n; r && r !== this; r = r.parentNode)
170                        for (const a of o)
171                            if (a === r) return F(n, {
172                                delegateTarget: r
173                            }), s.oneOff && j.off(t, n.type, e, i), i.apply(r, [n])
174                }
175            }(t, i, r) : function(t, e) {
176                return function i(s) {
177                    return F(s, {
178                        delegateTarget: t
179                    }), i.oneOff && j.off(t, s.type, e), e.apply(t, [s])
180                }
181            }(t, r);
182        u.delegationSelector = o ? i : null, u.callable = r, u.oneOff = n, u.uidEvent = d, c[d] = u, t.addEventListener(a, u, o)
183    }
184
185    function P(t, e, i, s, n) {
186        const o = I(e[i], s, n);
187        o && (t.removeEventListener(i, o, Boolean(n)), delete e[i][o.uidEvent])
188    }
189
190    function x(t, e, i, s) {
191        const n = e[i] || {};
192        for (const [o, r] of Object.entries(n)) o.includes(s) && P(t, e, i, r.callable, r.delegationSelector)
193    }
194
195    function M(t) {
196        return t = t.replace(E, ""), $[t] || t
197    }
198    const j = {
199        on(t, e, i, s) {
200            N(t, e, i, s, !1)
201        },
202        one(t, e, i, s) {
203            N(t, e, i, s, !0)
204        },
205        off(t, e, i, s) {
206            if ("string" != typeof e || !t) return;
207            const [n, o, r] = D(e, i, s), a = r !== e, l = O(t), c = l[r] || {}, h = e.startsWith(".");
208            if (void 0 === o) {
209                if (h)
210                    for (const i of Object.keys(l)) x(t, l, i, e.slice(1));
211                for (const [i, s] of Object.entries(c)) {
212                    const n = i.replace(C, "");
213                    a && !e.includes(n) || P(t, l, r, s.callable, s.delegationSelector)
214                }
215            } else {
216                if (!Object.keys(c).length) return;
217                P(t, l, r, o, n ? i : null)
218            }
219        },
220        trigger(t, e, i) {
221            if ("string" != typeof e || !t) return null;
222            const s = f();
223            let n = null,
224                o = !0,
225                r = !0,
226                a = !1;
227            e !== M(e) && s && (n = s.Event(e, i), s(t).trigger(n), o = !n.isPropagationStopped(), r = !n.isImmediatePropagationStopped(), a = n.isDefaultPrevented());
228            const l = F(new Event(e, {
229                bubbles: o,
230                cancelable: !0
231            }), i);
232            return a && l.preventDefault(), r && t.dispatchEvent(l), l.defaultPrevented && n && n.preventDefault(), l
233        }
234    };
235
236    function F(t, e = {}) {
237        for (const [i, s] of Object.entries(e)) try {
238            t[i] = s
239        } catch (e) {
240            Object.defineProperty(t, i, {
241                configurable: !0,
242                get: () => s
243            })
244        }
245        return t
246    }
247
248    function z(t) {
249        if ("true" === t) return !0;
250        if ("false" === t) return !1;
251        if (t === Number(t).toString()) return Number(t);
252        if ("" === t || "null" === t) return null;
253        if ("string" != typeof t) return t;
254        try {
255            return JSON.parse(decodeURIComponent(t))
256        } catch (e) {
257            return t
258        }
259    }
260
261    function H(t) {
262        return t.replace(/[A-Z]/g, (t => `-${t.toLowerCase()}`))
263    }
264    const B = {
265        setDataAttribute(t, e, i) {
266            t.setAttribute(`data-bs-${H(e)}`, i)
267        },
268        removeDataAttribute(t, e) {
269            t.removeAttribute(`data-bs-${H(e)}`)
270        },
271        getDataAttributes(t) {
272            if (!t) return {};
273            const e = {},
274                i = Object.keys(t.dataset).filter((t => t.startsWith("bs") && !t.startsWith("bsConfig")));
275            for (const s of i) {
276                let i = s.replace(/^bs/, "");
277                i = i.charAt(0).toLowerCase() + i.slice(1, i.length), e[i] = z(t.dataset[s])
278            }
279            return e
280        },
281        getDataAttribute: (t, e) => z(t.getAttribute(`data-bs-${H(e)}`))
282    };
283    class q {
284        static get Default() {
285            return {}
286        }
287        static get DefaultType() {
288            return {}
289        }
290        static get NAME() {
291            throw new Error('You have to implement the static method "NAME", for each component!')
292        }
293        _getConfig(t) {
294            return t = this._mergeConfigObj(t), t = this._configAfterMerge(t), this._typeCheckConfig(t), t
295        }
296        _configAfterMerge(t) {
297            return t
298        }
299        _mergeConfigObj(t, e) {
300            const i = l(e) ? B.getDataAttribute(e, "config") : {};
301            return {...this.constructor.Default,
302                ...
303                "object" == typeof i ? i : {},
304                ...l(e) ? B.getDataAttributes(e) : {},
305                ...
306                "object" == typeof t ? t : {}
307            }
308        }
309        _typeCheckConfig(t, e = this.constructor.DefaultType) {
310            for (const [s, n] of Object.entries(e)) {
311                const e = t[s],
312                    o = l(e) ? "element" : null == (i = e) ? `${i}` : Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();
313                if (!new RegExp(n).test(o)) throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${o}" but expected type "${n}".`)
314            }
315            var i
316        }
317    }
318    class W extends q {
319        constructor(t, e) {
320            super(), (t = c(t)) && (this._element = t, this._config = this._getConfig(e), n.set(this._element, this.constructor.DATA_KEY, this))
321        }
322        dispose() {
323            n.remove(this._element, this.constructor.DATA_KEY), j.off(this._element, this.constructor.EVENT_KEY);
324            for (const t of Object.getOwnPropertyNames(this)) this[t] = null
325        }
326        _queueCallback(t, e, i = !0) {
327            y(t, e, i)
328        }
329        _getConfig(t) {
330            return t = this._mergeConfigObj(t, this._element), t = this._configAfterMerge(t), this._typeCheckConfig(t), t
331        }
332        static getInstance(t) {
333            return n.get(c(t), this.DATA_KEY)
334        }
335        static getOrCreateInstance(t, e = {}) {
336            return this.getInstance(t) || new this(t, "object" == typeof e ? e : null)
337        }
338        static get VERSION() {
339            return "5.3.3"
340        }
341        static get DATA_KEY() {
342            return `bs.${this.NAME}`
343        }
344        static get EVENT_KEY() {
345            return `.${this.DATA_KEY}`
346        }
347        static eventName(t) {
348            return `${t}${this.EVENT_KEY}`
349        }
350    }
351    const R = t => {
352            let e = t.getAttribute("data-bs-target");
353            if (!e || "#" === e) {
354                let i = t.getAttribute("href");
355                if (!i || !i.includes("#") && !i.startsWith(".")) return null;
356                i.includes("#") && !i.startsWith("#") && (i = `#${i.split("#")[1]}`), e = i && "#" !== i ? i.trim() : null
357            }
358            return e ? e.split(",").map((t => r(t))).join(",") : null
359        },
360        K = {
361            find: (t, e = document.documentElement) => [].concat(...Element.prototype.querySelectorAll.call(e, t)),
362            findOne: (t, e = document.documentElement) => Element.prototype.querySelector.call(e, t),
363            children: (t, e) => [].concat(...t.children).filter((t => t.matches(e))),
364            parents(t, e) {
365                const i = [];
366                let s = t.parentNode.closest(e);
367                for (; s;) i.push(s), s = s.parentNode.closest(e);
368                return i
369            },
370            prev(t, e) {
371                let i = t.previousElementSibling;
372                for (; i;) {
373                    if (i.matches(e)) return [i];
374                    i = i.previousElementSibling
375                }
376                return []
377            },
378            next(t, e) {
379                let i = t.nextElementSibling;
380                for (; i;) {
381                    if (i.matches(e)) return [i];
382                    i = i.nextElementSibling
383                }
384                return []
385            },
386            focusableChildren(t) {
387                const e = ["a", "button", "input", "textarea", "select", "details", "[tabindex]", '[contenteditable="true"]'].map((t => `${t}:not([tabindex^="-"])`)).join(",");
388                return this.find(e, t).filter((t => !d(t) && h(t)))
389            },
390            getSelectorFromElement(t) {
391                const e = R(t);
392                return e && K.findOne(e) ? e : null
393            },
394            getElementFromSelector(t) {
395                const e = R(t);
396                return e ? K.findOne(e) : null
397            },
398            getMultipleElementsFromSelector(t) {
399                const e = R(t);
400                return e ? K.find(e) : []
401            }
402        },
403        V = (t, e = "hide") => {
404            const i = `click.dismiss${t.EVENT_KEY}`,
405                s = t.NAME;
406            j.on(document, i, `[data-bs-dismiss="${s}"]`, (function(i) {
407                if (["A", "AREA"].includes(this.tagName) && i.preventDefault(), d(this)) return;
408                const n = K.getElementFromSelector(this) || this.closest(`.${s}`);
409                t.getOrCreateInstance(n)[e]()
410            }))
411        },
412        Q = ".bs.alert",
413        X = `close${Q}`,
414        Y = `closed${Q}`;
415    class U extends W {
416        static get NAME() {
417            return "alert"
418        }
419        close() {
420            if (j.trigger(this._element, X).defaultPrevented) return;
421            this._element.classList.remove("show");
422            const t = this._element.classList.contains("fade");
423            this._queueCallback((() => this._destroyElement()), this._element, t)
424        }
425        _destroyElement() {
426            this._element.remove(), j.trigger(this._element, Y), this.dispose()
427        }
428        static jQueryInterface(t) {
429            return this.each((function() {
430                const e = U.getOrCreateInstance(this);
431                if ("string" == typeof t) {
432                    if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
432amed "${t}"`);
433                    e[t](this)
434                }
435            }))
436        }
437    }
438    V(U, "close"), b(U);
439    const G = '[data-bs-toggle="button"]';
440    class J extends W {
441        static get NAME() {
442            return "button"
443        }
444        toggle() {
445            this._element.setAttribute("aria-pressed", this._element.classList.toggle("active"))
446        }
447        static jQueryInterface(t) {
448            return this.each((function() {
449                const e = J.getOrCreateInstance(this);
450                "toggle" === t && e[t]()
451            }))
452        }
453    }
454    j.on(document, "click.bs.button.data-api", G, (t => {
455        t.preventDefault();
456        const e = t.target.closest(G);
457        J.getOrCreateInstance(e).toggle()
458    })), b(J);
459    const Z = ".bs.swipe",
460        tt = `touchstart${Z}`,
461        et = `touchmove${Z}`,
462        it = `touchend${Z}`,
463        st = `pointerdown${Z}`,
464        nt = `pointerup${Z}`,
465        ot = {
466            endCallback: null,
467            leftCallback: null,
468            rightCallback: null
469        },
470        rt = {
471            endCallback: "(function|null)",
472            leftCallback: "(function|null)",
473            rightCallback: "(function|null)"
474        };
475    class at extends q {
476        constructor(t, e) {
477            super(), this._element = t, t && at.isSupported() && (this._config = this._getConfig(e), this._deltaX = 0, this._supportPointerEvents = Boolean(window.PointerEvent), this._initEvents())
478        }
479        static get Default() {
480            return ot
481        }
482        static get DefaultType() {
483            return rt
484        }
485        static get NAME() {
486            return "swipe"
487        }
488        dispose() {
489            j.off(this._element, Z)
490        }
491        _start(t) {
492            this._supportPointerEvents ? this._eventIsPointerPenTouch(t) && (this._deltaX = t.clientX) : this._deltaX = t.touches[0].clientX
493        }
494        _end(t) {
495            this._eventIsPointerPenTouch(t) && (this._deltaX = t.clientX - this._deltaX), this._handleSwipe(), v(this._config.endCallback)
496        }
497        _move(t) {
498            this._deltaX = t.touches && t.touches.length > 1 ? 0 : t.touches[0].clientX - this._deltaX
499        }
500        _handleSwipe() {
501            const t = Math.abs(this._deltaX);
502            if (t <= 40) return;
503            const e = t / this._deltaX;
504            this._deltaX = 0, e && v(e > 0 ? this._config.rightCallback : this._config.leftCallback)
505        }
506        _initEvents() {
507            this._supportPointerEvents ? (j.on(this._element, st, (t => this._start(t))), j.on(this._element, nt, (t => this._end(t))), this._element.classList.add("pointer-event")) : (j.on(this._element, tt, (t => this._start(t))), j.on(this._element, et, (t => this._move(t))), j.on(this._element, it, (t => this._end(t))))
508        }
509        _eventIsPointerPenTouch(t) {
510            return this._supportPointerEvents && ("pen" === t.pointerType || "touch" === t.pointerType)
511        }
512        static isSupported() {
513            return "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0
514        }
515    }
516    const lt = ".bs.carousel",
517        ct = ".data-api",
518        ht = "next",
519        dt = "prev",
520        ut = "left",
521        _t = "right",
522        gt = `slide${lt}`,
523        ft = `slid${lt}`,
524        mt = `keydown${lt}`,
525        pt = `mouseenter${lt}`,
526        bt = `mouseleave${lt}`,
527        vt = `dragstart${lt}`,
528        yt = `load${lt}${ct}`,
529        wt = `click${lt}${ct}`,
530        At = "carousel",
531        Et = "active",
532        Ct = ".active",
533        Tt = ".carousel-item",
534        kt = Ct + Tt,
535        $t = {
536            ArrowLeft: _t,
537            ArrowRight: ut
538        },
539        St = {
540            interval: 5e3,
541            keyboard: !0,
542            pause: "hover",
543            ride: !1,
544            touch: !0,
545            wrap: !0
546        },
547        Lt = {
548            interval: "(number|boolean)",
549            keyboard: "boolean",
550            pause: "(string|boolean)",
551            ride: "(boolean|string)",
552            touch: "boolean",
553            wrap: "boolean"
554        };
555    class Ot extends W {
556        constructor(t, e) {
557            super(t, e), this._interval = null, this._activeElement = null, this._isSliding = !1, this.touchTimeout = null, this._swipeHelper = null, this._indicatorsElement = K.findOne(".carousel-indicators", this._element), this._addEventListeners(), this._config.ride === At && this.cycle()
558        }
559        static get Default() {
560            return St
561        }
562        static get DefaultType() {
563            return Lt
564        }
565        static get NAME() {
566            return "carousel"
567        }
568        next() {
569            this._slide(ht)
570        }
571        nextWhenVisible() {
572            !document.hidden && h(this._element) && this.next()
573        }
574        prev() {
575            this._slide(dt)
576        }
577        pause() {
578            this._isSliding && a(this._element), this._clearInterval()
579        }
580        cycle() {
581            this._clearInterval(), this._updateInterval(), this._interval = setInterval((() => this.nextWhenVisible()), this._config.interval)
582        }
583        _maybeEnableCycle() {
584            this._config.ride && (this._isSliding ? j.one(this._element, ft, (() => this.cycle())) : this.cycle())
585        }
586        to(t) {
587            const e = this._getItems();
588            if (t > e.length - 1 || t < 0) return;
589            if (this._isSliding) return void j.one(this._element, ft, (() => this.to(t)));
590            const i = this._getItemIndex(this._getActive());
591            if (i === t) return;
592            const s = t > i ? ht : dt;
593            this._slide(s, e[t])
594        }
595        dispose() {
vendor: 4,328 bytes, lines 596-682
596            this._swipeHelper && this._swipeHelper.dispose(), super.dispose()
597        }
598        _configAfterMerge(t) {
599            return t.defaultInterval = t.interval, t
600        }
601        _addEventListeners() {
602            this._config.keyboard && j.on(this._element, mt, (t => this._keydown(t))), "hover" === this._config.pause && (j.on(this._element, pt, (() => this.pause())), j.on(this._element, bt, (() => this._maybeEnableCycle()))), this._config.touch && at.isSupported() && this._addTouchEventListeners()
603        }
604        _addTouchEventListeners() {
605            for (const t of K.find(".carousel-item img", this._element)) j.on(t, vt, (t => t.preventDefault()));
606            const t = {
607                leftCallback: () => this._slide(this._directionToOrder(ut)),
608                rightCallback: () => this._slide(this._directionToOrder(_t)),
609                endCallback: () => {
610                    "hover" === this._config.pause && (this.pause(), this.touchTimeout && clearTimeout(this.touchTimeout), this.touchTimeout = setTimeout((() => this._maybeEnableCycle()), 500 + this._config.interval))
611                }
612            };
613            this._swipeHelper = new at(this._element, t)
614        }
615        _keydown(t) {
616            if (/input|textarea/i.test(t.target.tagName)) return;
617            const e = $t[t.key];
618            e && (t.preventDefault(), this._slide(this._directionToOrder(e)))
619        }
620        _getItemIndex(t) {
621            return this._getItems().indexOf(t)
622        }
623        _setActiveIndicatorElement(t) {
624            if (!this._indicatorsElement) return;
625            const e = K.findOne(Ct, this._indicatorsElement);
626            e.classList.remove(Et), e.removeAttribute("aria-current");
627            const i = K.findOne(`[data-bs-slide-to="${t}"]`, this._indicatorsElement);
628            i && (i.classList.add(Et), i.setAttribute("aria-current", "true"))
629        }
630        _updateInterval() {
631            const t = this._activeElement || this._getActive();
632            if (!t) return;
633            const e = Number.parseInt(t.getAttribute("data-bs-interval"), 10);
634            this._config.interval = e || this._config.defaultInterval
635        }
636        _slide(t, e = null) {
637            if (this._isSliding) return;
638            const i = this._getActive(),
639                s = t === ht,
640                n = e || w(this._getItems(), i, s, this._config.wrap);
641            if (n === i) return;
642            const o = this._getItemIndex(n),
643                r = e => j.trigger(this._element, e, {
644                    relatedTarget: n,
645                    direction: this._orderToDirection(t),
646                    from: this._getItemIndex(i),
647                    to: o
648                });
649            if (r(gt).defaultPrevented) return;
650            if (!i || !n) return;
651            const a = Boolean(this._interval);
652            this.pause(), this._isSliding = !0, this._setActiveIndicatorElement(o), this._activeElement = n;
653            const l = s ? "carousel-item-start" : "carousel-item-end",
654                c = s ? "carousel-item-next" : "carousel-item-prev";
655            n.classList.add(c), g(n), i.classList.add(l), n.classList.add(l), this._queueCallback((() => {
656                n.classList.remove(l, c), n.classList.add(Et), i.classList.remove(Et, c, l), this._isSliding = !1, r(ft)
657            }), i, this._isAnimated()), a && this.cycle()
658        }
659        _isAnimated() {
660            return this._element.classList.contains("slide")
661        }
662        _getActive() {
663            return K.findOne(kt, this._element)
664        }
665        _getItems() {
666            return K.find(Tt, this._element)
667        }
668        _clearInterval() {
669            this._interval && (clearInterval(this._interval), this._interval = null)
670        }
671        _directionToOrder(t) {
672            return p() ? t === ut ? dt : ht : t === ut ? ht : dt
673        }
674        _orderToDirection(t) {
675            return p() ? t === dt ? ut : _t : t === dt ? _t : ut
676        }
677        static jQueryInterface(t) {
678            return this.each((function() {
679                const e = Ot.getOrCreateInstance(this, t);
680                if ("number" != typeof t) {
681                    if ("string" == typeof t) {
682                        if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
682amed "${t}"`);
683                        e[t]()
684                    }
685                } else e.to(t)
686            }))
687        }
688    }
689    j.on(document, wt, "[data-bs-slide], [data-bs-slide-to]", (function(t) {
690        const e = K.getElementFromSelector(this);
691        if (!e || !e.classList.contains(At)) return;
692        t.preventDefault();
693        const i = Ot.getOrCreateInstance(e),
694            s = this.getAttribute("data-bs-slide-to");
695        return s ? (i.to(s), void i._maybeEnableCycle()) : "next" === B.getDataAttribute(this, "slide") ? (i.next(), void i._maybeEnableCycle()) : (i.prev(), void i._maybeEnableCycle())
696    })), j.on(window, yt, (() => {
697        const t = K.find('[data-bs-ride="carousel"]');
698        for (const e of t) Ot.getOrCreateInstance(e)
699    })), b(Ot);
700    const It = ".bs.collapse",
701        Dt = `show${It}`,
702        Nt = `shown${It}`,
703        Pt = `hide${It}`,
704        xt = `hidden${It}`,
705        Mt = `click${It}.data-api`,
706        jt = "show",
707        Ft = "collapse",
708        zt = "collapsing",
709        Ht = `:scope .${Ft} .${Ft}`,
710        Bt = '[data-bs-toggle="collapse"]',
711        qt = {
712            parent: null,
713            toggle: !0
714        },
715        Wt = {
716            parent: "(null|element)",
717            toggle: "boolean"
718        };
719    class Rt extends W {
720        constructor(t, e) {
721            super(t, e), this._isTransitioning = !1, this._triggerArray = [];
722            const i = K.find(Bt);
723            for (const t of i) {
724                const e = K.getSelectorFromElement(t),
725                    i = K.find(e).filter((t => t === this._element));
726                null !== e && i.length && this._triggerArray.push(t)
727            }
728            this._initializeChildren(), this._config.parent || this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()), this._config.toggle && this.toggle()
729        }
730        static get Default() {
731            return qt
732        }
733        static get DefaultType() {
734            return Wt
735        }
736        static get NAME() {
737            return "collapse"
738        }
739        toggle() {
740            this._isShown() ? this.hide() : this.show()
741        }
742        show() {
743            if (this._isTransitioning || this._isShown()) return;
744            let t = [];
745            if (this._config.parent && (t = this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t => t !== this._element)).map((t => Rt.getOrCreateInstance(t, {
746                    toggle: !1
747                })))), t.length && t[0]._isTransitioning) return;
748            if (j.trigger(this._element, Dt).defaultPrevented) return;
749            for (const e of t) e.hide();
750            const e = this._getDimension();
751            this._element.classList.remove(Ft), this._element.classList.add(zt), this._element.style[e] = 0, this._addAriaAndCollapsedClass(this._triggerArray, !0), this._isTransitioning = !0;
752            const i = `scroll${e[0].toUpperCase()+e.slice(1)}`;
753            this._queueCallback((() => {
754                this._isTransitioning = !1, this._element.classList.remove(zt), this._element.classList.add(Ft, jt), this._element.style[e] = "", j.trigger(this._element, Nt)
755            }), this._element, !0), this._element.style[e] = `${this._element[i]}px`
756        }
757        hide() {
758            if (this._isTransitioning || !this._isShown()) return;
759            if (j.trigger(this._element, Pt).defaultPrevented) return;
760            const t = this._getDimension();
761            this._element.style[t] = `${this._element.getBoundingClientRect()[t]}px`, g(this._element), this._element.classList.add(zt), this._element.classList.remove(Ft, jt);
762            for (const t of this._triggerArray) {
763                const e = K.getElementFromSelector(t);
764                e && !this._isShown(e) && this._addAriaAndCollapsedClass([t], !1)
765            }
766            this._isTransitioning = !0, this._element.style[t] = "", this._queueCallback((() => {
767                this._isTransitioning = !1, this._element.classList.remove(zt), this._element.classList.add(Ft), j.trigger(this._element, xt)
768            }), this._element, !0)
769        }
770        _isShown(t = this._element) {
771            return t.classList.contains(jt)
772        }
773        _configAfterMerge(t) {
774            return t.toggle = Boolean(t.toggle), t.parent = c(t.parent), t
775        }
776        _getDimension() {
777            return this._element.classList.contains("collapse-horizontal") ? "width" : "height"
778        }
779        _initializeChildren() {
780            if (!this._config.parent) return;
781            const t = this._getFirstLevelChildren(Bt);
782            for (const e of t) {
783                const t = K.getElementFromSelector(e);
784                t && this._addAriaAndCollapsedClass([e], this._isShown(t))
785            }
786        }
787        _getFirstLevelChildren(t) {
788            const e = K.find(Ht, this._config.parent);
789            return K.find(t, this._config.parent).filter((t => !e.includes(t)))
790        }
791        _addAriaAndCollapsedClass(t, e) {
792            if (t.length)
793                for (const i of t) i.classList.toggle("collapsed", !e), i.setAttribute("aria-expanded", e)
794        }
795        static jQueryInterface(t) {
796            const e = {};
797            return "string" == typeof t && /show|hide/.test(t) && (e.toggle = !1), this.each((function() {
798                const i = Rt.getOrCreateInstance(this, e);
799                if ("string" == typeof t) {
800                    if (void 0 === i[t]) throw new TypeError(`No method n
800amed "${t}"`);
801                    i[t]()
802                }
803            }))
804        }
805    }
806    j.on(document, Mt, Bt, (function(t) {
807        ("A" === t.target.tagName || t.delegateTarget && "A" === t.delegateTarget.tagName) && t.preventDefault();
808        for (const t of K.getMultipleElementsFromSelector(this)) Rt.getOrCreateInstance(t, {
809            toggle: !1
810        }).toggle()
811    })), b(Rt);
812    const Kt = "dropdown",
813        Vt = ".bs.dropdown",
814        Qt = ".data-api",
815        Xt = "ArrowUp",
816        Yt = "ArrowDown",
817        Ut = `hide${Vt}`,
818        Gt = `hidden${Vt}`,
819        Jt = `show${Vt}`,
820        Zt = `shown${Vt}`,
821        te = `click${Vt}${Qt}`,
822        ee = `keydown${Vt}${Qt}`,
823        ie = `keyup${Vt}${Qt}`,
824        se = "show",
825        ne = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',
826        oe = `${ne}.${se}`,
827        re = ".dropdown-menu",
828        ae = p() ? "top-end" : "top-start",
829        le = p() ? "top-start" : "top-end",
830        ce = p() ? "bottom-end" : "bottom-start",
831        he = p() ? "bottom-start" : "bottom-end",
832        de = p() ? "left-start" : "right-start",
833        ue = p() ? "right-start" : "left-start",
834        _e = {
835            autoClose: !0,
836            boundary: "clippingParents",
837            display: "dynamic",
838            offset: [0, 2],
839            popperConfig: null,
840            reference: "toggle"
841        },
842        ge = {
843            autoClose: "(boolean|string)",
844            boundary: "(string|element)",
845            display: "string",
846            offset: "(array|string|function)",
847            popperConfig: "(null|object|function)",
848            reference: "(string|element|object)"
849        };
850    class fe extends W {
851        constructor(t, e) {
852            super(t, e), this._popper = null, this._parent = this._element.parentNode, this._menu = K.next(this._element, re)[0] || K.prev(this._element, re)[0] || K.findOne(re, this._parent), this._inNavbar = this._detectNavbar()
853        }
854        static get Default() {
855            return _e
856        }
857        static get DefaultType() {
858            return ge
859        }
860        static get NAME() {
861            return Kt
862        }
863        toggle() {
864            return this._isShown() ? this.hide() : this.show()
865        }
866        show() {
867            if (d(this._element) || this._isShown()) return;
868            const t = {
869                relatedTarget: this._element
870            };
871            if (!j.trigger(this._element, Jt, t).defaultPrevented) {
872                if (this._createPopper(), "ontouchstart" in document.documentElement && !this._parent.closest(".
vendor: 2,747 bytes, lines 872-920
872navbar-nav"))
873                    for (const t of[].concat(...document.body.children)) j.on(t, "mouseover", _);
874                this._element.focus(), this._element.setAttribute("aria-expanded", !0), this._menu.classList.add(se), this._element.classList.add(se), j.trigger(this._element, Zt, t)
875            }
876        }
877        hide() {
878            if (d(this._element) || !this._isShown()) return;
879            const t = {
880                relatedTarget: this._element
881            };
882            this._completeHide(t)
883        }
884        dispose() {
885            this._popper && this._popper.destroy(), super.dispose()
886        }
887        update() {
888            this._inNavbar = this._detectNavbar(), this._popper && this._popper.update()
889        }
890        _completeHide(t) {
891            if (!j.trigger(this._element, Ut, t).defaultPrevented) {
892                if ("ontouchstart" in document.documentElement)
893                    for (const t of[].concat(...document.body.children)) j.off(t, "mouseover", _);
894                this._popper && this._popper.destroy(), this._menu.classList.remove(se), this._element.classList.remove(se), this._element.setAttribute("aria-expanded", "false"), B.removeDataAttribute(this._menu, "popper"), j.trigger(this._element, Gt, t)
895            }
896        }
897        _getConfig(t) {
898            if ("object" == typeof(t = super._getConfig(t)).reference && !l(t.reference) && "function" != typeof t.reference.getBoundingClientRect) throw new TypeError(`${Kt.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
899            return t
900        }
901        _createPopper() {
902            if (void 0 === i) throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");
903            let t = this._element;
904            "parent" === this._config.reference ? t = this._parent : l(this._config.reference) ? t = c(this._config.reference) : "object" == typeof this._config.reference && (t = this._config.reference);
905            const e = this._getPopperConfig();
906            this._popper = i.createPopper(t, this._menu, e)
907        }
908        _isShown() {
909            return this._menu.classList.contains(se)
910        }
911        _getPlacement() {
912            const t = this._parent;
913            if (t.classList.contains("dropend")) return de;
914            if (t.classList.contains("dropstart")) return ue;
915            if (t.classList.contains("dropup-center")) return "top";
916            if (t.classList.contains("dropdown-center")) return "bottom";
917            const e = "end" === getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();
918            return t.classList.contains("dropup") ? e ? le : ae : e ? he : ce
919        }
920        _detectNavbar() {
vendor: 8,503 bytes, lines 921-1135
921            return null !== this._element.closest(".navbar")
922        }
923        _getOffset() {
924            const {
925                offset: t
926            } = this._config;
927            return "string" == typeof t ? t.split(",").map((t => Number.parseInt(t, 10))) : "function" == typeof t ? e => t(e, this._element) : t
928        }
929        _getPopperConfig() {
930            const t = {
931                placement: this._getPlacement(),
932                modifiers: [{
933                    name: "preventOverflow",
934                    options: {
935                        boundary: this._config.boundary
936                    }
937                }, {
938                    name: "offset",
939                    options: {
940                        offset: this._getOffset()
941                    }
942                }]
943            };
944            return (this._inNavbar || "static" === this._config.display) && (B.setDataAttribute(this._menu, "popper", "static"), t.modifiers = [{
945                name: "applyStyles",
946                enabled: !1
947            }]), {...t,
948                ...v(this._config.popperConfig, [t])
949            }
950        }
951        _selectMenuItem({
952            key: t,
953            target: e
954        }) {
955            const i = K.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", this._menu).filter((t => h(t)));
956            i.length && w(i, e, t === Yt, !i.includes(e)).focus()
957        }
958        static jQueryInterface(t) {
959            return this.each((function() {
960                const e = fe.getOrCreateInstance(this, t);
961                if ("string" == typeof t) {
962                    if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
963                    e[t]()
964                }
965            }))
966        }
967        static clearMenus(t) {
968            if (2 === t.button || "keyup" === t.type && "Tab" !== t.key) return;
969            const e = K.find(oe);
970            for (const i of e) {
971                const e = fe.getInstance(i);
972                if (!e || !1 === e._config.autoClose) continue;
973                const s = t.composedPath(),
974                    n = s.includes(e._menu);
975                if (s.includes(e._element) || "inside" === e._config.autoClose && !n || "outside" === e._config.autoClose && n) continue;
976                if (e._menu.contains(t.target) && ("keyup" === t.type && "Tab" === t.key || /input|select|option|textarea|form/i.test(t.target.tagName))) continue;
977                const o = {
978                    relatedTarget: e._element
979                };
980                "click" === t.type && (o.clickEvent = t), e._completeHide(o)
981            }
982        }
983        static dataApiKeydownHandler(t) {
984            const e = /input|textarea/i.test(t.target.tagName),
985                i = "Escape" === t.key,
986                s = [Xt, Yt].includes(t.key);
987            if (!s && !i) return;
988            if (e && !i) return;
989            t.preventDefault();
990            const n = this.matches(ne) ? this : K.prev(this, ne)[0] || K.next(this, ne)[0] || K.findOne(ne, t.delegateTarget.parentNode),
991                o = fe.getOrCreateInstance(n);
992            if (s) return t.stopPropagation(), o.show(), void o._selectMenuItem(t);
993            o._isShown() && (t.stopPropagation(), o.hide(), n.focus())
994        }
995    }
996    j.on(document, ee, ne, fe.dataApiKeydownHandler), j.on(document, ee, re, fe.dataApiKeydownHandler), j.on(document, te, fe.clearMenus), j.on(document, ie, fe.clearMenus), j.on(document, te, ne, (function(t) {
997        t.preventDefault(), fe.getOrCreateInstance(this).toggle()
998    })), b(fe);
999    const me = "backdrop",
1000        pe = "show",
1001        be = `mousedown.bs.${me}`,
1002        ve = {
1003            className: "modal-backdrop",
1004            clickCallback: null,
1005            isAnimated: !1,
1006            isVisible: !0,
1007            rootElement: "body"
1008        },
1009        ye = {
1010            className: "string",
1011            clickCallback: "(function|null)",
1012            isAnimated: "boolean",
1013            isVisible: "boolean",
1014            rootElement: "(element|string)"
1015        };
1016    class we extends q {
1017        constructor(t) {
1018            super(), this._config = this._getConfig(t), this._isAppended = !1, this._element = null
1019        }
1020        static get Default() {
1021            return ve
1022        }
1023        static get DefaultType() {
1024            return ye
1025        }
1026        static get NAME() {
1027            return me
1028        }
1029        show(t) {
1030            if (!this._config.isVisible) return void v(t);
1031            this._append();
1032            const e = this._getElement();
1033            this._config.isAnimated && g(e), e.classList.add(pe), this._emulateAnimation((() => {
1034                v(t)
1035            }))
1036        }
1037        hide(t) {
1038            this._config.isVisible ? (this._getElement().classList.remove(pe), this._emulateAnimation((() => {
1039                this.dispose(), v(t)
1040            }))) : v(t)
1041        }
1042        dispose() {
1043            this._isAppended && (j.off(this._element, be), this._element.remove(), this._isAppended = !1)
1044        }
1045        _getElement() {
1046            if (!this._element) {
1047                const t = document.createElement("div");
1048                t.className = this._config.className, this._config.isAnimated && t.classList.add("fade"), this._element = t
1049            }
1050            return this._element
1051        }
1052        _configAfterMerge(t) {
1053            return t.rootElement = c(t.rootElement), t
1054        }
1055        _append() {
1056            if (this._isAppended) return;
1057            const t = this._getElement();
1058            this._config.rootElement.append(t), j.on(t, be, (() => {
1059                v(this._config.clickCallback)
1060            })), this._isAppended = !0
1061        }
1062        _emulateAnimation(t) {
1063            y(t, this._getElement(), this._config.isAnimated)
1064        }
1065    }
1066    const Ae = ".bs.focustrap",
1067        Ee = `focusin${Ae}`,
1068        Ce = `keydown.tab${Ae}`,
1069        Te = "backward",
1070        ke = {
1071            autofocus: !0,
1072            trapElement: null
1073        },
1074        $e = {
1075            autofocus: "boolean",
1076            trapElement: "element"
1077        };
1078    class Se extends q {
1079        constructor(t) {
1080            super(), this._config = this._getConfig(t), this._isActive = !1, this._lastTabNavDirection = null
1081        }
1082        static get Default() {
1083            return ke
1084        }
1085        static get DefaultType() {
1086            return $e
1087        }
1088        static get NAME() {
1089            return "focustrap"
1090        }
1091        activate() {
1092            this._isActive || (this._config.autofocus && this._config.trapElement.focus(), j.off(document, Ae), j.on(document, Ee, (t => this._handleFocusin(t))), j.on(document, Ce, (t => this._handleKeydown(t))), this._isActive = !0)
1093        }
1094        deactivate() {
1095            this._isActive && (this._isActive = !1, j.off(document, Ae))
1096        }
1097        _handleFocusin(t) {
1098            const {
1099                trapElement: e
1100            } = this._config;
1101            if (t.target === document || t.target === e || e.contains(t.target)) return;
1102            const i = K.focusableChildren(e);
1103            0 === i.length ? e.focus() : this._lastTabNavDirection === Te ? i[i.length - 1].focus() : i[0].focus()
1104        }
1105        _handleKeydown(t) {
1106            "Tab" === t.key && (this._lastTabNavDirection = t.shiftKey ? Te : "forward")
1107        }
1108    }
1109    const Le = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",
1110        Oe = ".sticky-top",
1111        Ie = "padding-right",
1112        De = "margin-right";
1113    class Ne {
1114        constructor() {
1115            this._element = document.body
1116        }
1117        getWidth() {
1118            const t = document.documentElement.clientWidth;
1119            return Math.abs(window.innerWidth - t)
1120        }
1121        hide() {
1122            const t = this.getWidth();
1123            this._disableOverFlow(), this._setElementAttributes(this._element, Ie, (e => e + t)), this._setElementAttributes(Le, Ie, (e => e + t)), this._setElementAttributes(Oe, De, (e => e - t))
1124        }
1125        reset() {
1126            this._resetElementAttributes(this._element, "overflow"), this._resetElementAttributes(this._element, Ie), this._resetElementAttributes(Le, Ie), this._resetElementAttributes(Oe, De)
1127        }
1128        isOverflowing() {
1129            return this.getWidth() > 0
1130        }
1131        _disableOverFlow() {
1132            this._saveInitialAttribute(this._element, "overflow"), this._element.style.overflow = "hidden"
1133        }
1134        _setElementAttributes(t, e, i) {
1135            const s = this.getWidth();
1136            this._applyManipulationCallback(t, (t => {
1137                if (t !== this._element && window.innerWidth > t.clientWidth + s) return;
1138                this._saveInitialAttribute(t, e);
1139                const n = window.getComputedStyle(t).getPropertyValue(e);
1140                t.style.setProperty(e, `${i(Number.parseFloat(n))}px`)
1141            }))
1142        }
1143        _saveInitialAttribute(t, e) {
1144            const i = t.style.getPropertyValue(e);
1145            i && B.setDataAttribute(t, e, i)
1146        }
1147        _resetElementAttributes(t, e) {
1148            this._applyManipulationCallback(t, (t => {
1149                const i = B.getDataAttribute(t, e);
1150                null !== i ? (B.removeDataAttribute(t, e), t.style.setProperty(e, i)) : t.style.removeProperty(e)
1151            }))
1152        }
1153        _applyManipulationCallback(t, e) {
1154            if (l(t)) e(t);
1155            else
1156                for (const i of K.find(t, this._element)) e(i)
1157        }
1158    }
1159    const Pe = ".bs.modal",
1160        xe = `hide${Pe}`,
1161        Me = `hidePrevented${Pe}`,
1162        je = `hidden${Pe}`,
1163        Fe = `show${Pe}`,
1164        ze = `shown${Pe}`,
1165        He = `resize${Pe}`,
1166        Be = `click.dismiss${Pe}`,
1167        qe = `mousedown.dismiss${Pe}`,
1168        We = `keydown.dismiss${Pe}`,
1169        Re = `click${Pe}.data-api`,
1170        Ke = "modal-open",
1171        Ve = "show",
vendor: 5,584 bytes, lines 1172-1282
1172        Qe = "modal-static",
1173        Xe = {
1174            backdrop: !0,
1175            focus: !0,
1176            keyboard: !0
1177        },
1178        Ye = {
1179            backdrop: "(boolean|string)",
1180            focus: "boolean",
1181            keyboard: "boolean"
1182        };
1183    class Ue extends W {
1184        constructor(t, e) {
1185            super(t, e), this._dialog = K.findOne(".modal-dialog", this._element), this._backdrop = this._initializeBackDrop(), this._focustrap = this._initializeFocusTrap(), this._isShown = !1, this._isTransitioning = !1, this._scrollBar = new Ne, this._addEventListeners()
1186        }
1187        static get Default() {
1188            return Xe
1189        }
1190        static get DefaultType() {
1191            return Ye
1192        }
1193        static get NAME() {
1194            return "modal"
1195        }
1196        toggle(t) {
1197            return this._isShown ? this.hide() : this.show(t)
1198        }
1199        show(t) {
1200            this._isShown || this._isTransitioning || j.trigger(this._element, Fe, {
1201                relatedTarget: t
1202            }).defaultPrevented || (this._isShown = !0, this._isTransitioning = !0, this._scrollBar.hide(), document.body.classList.add(Ke), this._adjustDialog(), this._backdrop.show((() => this._showElement(t))))
1203        }
1204        hide() {
1205            this._isShown && !this._isTransitioning && (j.trigger(this._element, xe).defaultPrevented || (this._isShown = !1, this._isTransitioning = !0, this._focustrap.deactivate(), this._element.classList.remove(Ve), this._queueCallback((() => this._hideModal()), this._element, this._isAnimated())))
1206        }
1207        dispose() {
1208            j.off(window, Pe), j.off(this._dialog, Pe), this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose()
1209        }
1210        handleUpdate() {
1211            this._adjustDialog()
1212        }
1213        _initializeBackDrop() {
1214            return new we({
1215                isVisible: Boolean(this._config.backdrop),
1216                isAnimated: this._isAnimated()
1217            })
1218        }
1219        _initializeFocusTrap() {
1220            return new Se({
1221                trapElement: this._element
1222            })
1223        }
1224        _showElement(t) {
1225            document.body.contains(this._element) || document.body.append(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.scrollTop = 0;
1226            const e = K.findOne(".modal-body", this._dialog);
1227            e && (e.scrollTop = 0), g(this._element), this._element.classList.add(Ve), this._queueCallback((() => {
1228                this._config.focus && this._focustrap.activate(), this._isTransitioning = !1, j.trigger(this._element, ze, {
1229                    relatedTarget: t
1230                })
1231            }), this._dialog, this._isAnimated())
1232        }
1233        _addEventListeners() {
1234            j.on(this._element, We, (t => {
1235                "Escape" === t.key && (this._config.keyboard ? this.hide() : this._triggerBackdropTransition())
1236            })), j.on(window, He, (() => {
1237                this._isShown && !this._isTransitioning && this._adjustDialog()
1238            })), j.on(this._element, qe, (t => {
1239                j.one(this._element, Be, (e => {
1240                    this._element === t.target && this._element === e.target && ("static" !== this._config.backdrop ? this._config.backdrop && this.hide() : this._triggerBackdropTransition())
1241                }))
1242            }))
1243        }
1244        _hideModal() {
1245            this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._isTransitioning = !1, this._backdrop.hide((() => {
1246                document.body.classList.remove(Ke), this._resetAdjustments(), this._scrollBar.reset(), j.trigger(this._element, je)
1247            }))
1248        }
1249        _isAnimated() {
1250            return this._element.classList.contains("fade")
1251        }
1252        _triggerBackdropTransition() {
1253            if (j.trigger(this._element, Me).defaultPrevented) return;
1254            const t = this._element.scrollHeight > document.documentElement.clientHeight,
1255                e = this._element.style.overflowY;
1256            "hidden" === e || this._element.classList.contains(Qe) || (t || (this._element.style.overflowY = "hidden"), this._element.classList.add(Qe), this._queueCallback((() => {
1257                this._element.classList.remove(Qe), this._queueCallback((() => {
1258                    this._element.style.overflowY = e
1259                }), this._dialog)
1260            }), this._dialog), this._element.focus())
1261        }
1262        _adjustDialog() {
1263            const t = this._element.scrollHeight > document.documentElement.clientHeight,
1264                e = this._scrollBar.getWidth(),
1265                i = e > 0;
1266            if (i && !t) {
1267                const t = p() ? "paddingLeft" : "paddingRight";
1268                this._element.style[t] = `${e}px`
1269            }
1270            if (!i && t) {
1271                const t = p() ? "paddingRight" : "paddingLeft";
1272                this._element.style[t] = `${e}px`
1273            }
1274        }
1275        _resetAdjustments() {
1276            this._element.style.paddingLeft = "", this._element.style.paddingRight = ""
1277        }
1278        static jQueryInterface(t, e) {
1279            return this.each((function() {
1280                const i = Ue.getOrCreateInstance(this, t);
1281                if ("string" == typeof t) {
1282                    if (void 0 === i[t]) throw new TypeError(`No method n
1282amed "${t}"`);
1283                    i[t](e)
1284                }
1285            }))
1286        }
1287    }
1288    j.on(document, Re, '[data-bs-toggle="modal"]', (function(t) {
1289        const e = K.getElementFromSelector(this);
1290        ["A", "AREA"].includes(this.tagName) && t.preventDefault(), j.one(e, Fe, (t => {
1291            t.defaultPrevented || j.one(e, je, (() => {
1292                h(this) && this.focus()
1293            }))
1294        }));
1295        const i = K.findOne(".modal.show");
1296        i && Ue.getInstance(i).hide(), Ue.getOrCreateInstance(e).toggle(this)
1297    })), V(Ue), b(Ue);
1298    const Ge = ".bs.offcanvas",
1299        Je = ".data-api",
1300        Ze = `load${Ge}${Je}`,
1301        ti = "show",
1302        ei = "showing",
1303        ii = "hiding",
1304        si = ".offcanvas.show",
1305        ni = `show${Ge}`,
1306        oi = `shown${Ge}`,
1307        ri = `hide${Ge}`,
1308        ai = `hidePrevented${Ge}`,
1309        li = `hidden${Ge}`,
1310        ci = `resize${Ge}`,
1311        hi = `click${Ge}${Je}`,
1312        di = `keydown.dismiss${Ge}`,
1313        ui = {
1314            backdrop: !0,
1315            keyboard: !0,
1316            scroll: !1
1317        },
1318        _i = {
1319            backdrop: "(boolean|string)",
1320            keyboard: "boolean",
1321            scroll: "boolean"
1322        };
1323    class gi extends W {
1324        constructor(t, e) {
1325            super(t, e), this._isShown = !1, this._backdrop = this._initializeBackDrop(), this._focustrap = this._initializeFocusTrap(), this._addEventListeners()
1326        }
1327        static get Default() {
1328            return ui
1329        }
1330        static get DefaultType() {
1331            return _i
1332        }
1333        static get NAME() {
1334            return "offcanvas"
1335        }
1336        toggle(t) {
1337            return this._isShown ? this.hide() : this.show(t)
1338        }
1339        show(t) {
1340            this._isShown || j.trigger(this._element, ni, {
1341                relatedTarget: t
1342            }).defaultPrevented || (this._isShown = !0, this._backdrop.show(), this._config.scroll || (new Ne).hide(), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.classList.add(ei), this._queueCallback((() => {
1343                this._config.scroll && !this._config.backdrop || this._focustrap.activate(), this._element.classList.add(ti), this._element.classList.remove(ei), j.trigger(this._element, oi, {
1344                    relatedTarget: t
1345                })
1346            }), this._element, !0))
1347        }
1348        hide() {
1349            this._isShown && (j.trigger(this._element, ri).defaultPrevented || (this._focustrap.deactivate(), this._element.blur(), this._isShown = !1, this._element.classList.add(ii), this._backdrop.hide(), this._queueCallback((() => {
1350                this._element.classList.remove(ti, ii), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._config.scroll || (new Ne).reset(), j.trigger(this._element, li)
1351            }), this._element, !0)))
1352        }
1353        dispose() {
1354            this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose()
1355        }
1356        _initializeBackDrop() {
1357            const t = Boolean(this._config.backdrop);
1358            return new we({
1359                className: "offcanvas-backdrop",
1360                isVisible: t,
1361                isAnimated: !0,
1362                rootElement: this._element.parentNode,
1363                clickCallback: t ? () => {
1364                    "static" !== this._config.backdrop ? this.hide() : j.trigger(this._element, ai)
1365                } : null
1366            })
1367        }
1368        _initializeFocusTrap() {
1369            return new Se({
1370                trapElement: this._element
1371            })
1372        }
1373        _addEventListeners() {
1374            j.on(this._element, di, (t => {
1375                "Escape" === t.key && (this._config.keyboard ? this.hide() : j.trigger(this._element, ai))
1376            }))
1377        }
1378        static jQueryInterface(t) {
1379            return this.each((function() {
1380                const e = gi.getOrCreateInstance(this, t);
1381                if ("string" == typeof t) {
1382                    if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
1382amed "${t}"`);
1383                    e[t](this)
1384                }
1385            }))
1386        }
1387    }
1388    j.on(document, hi, '[data-bs-toggle="offcanvas"]', (function(t) {
1389        const e = K.getElementFromSelector(this);
1390        if (["A", "AREA"].includes(this.tagName) && t.preventDefault(), d(this)) return;
1391        j.one(e, li, (() => {
1392            h(this) && this.focus()
1393        }));
1394        const i = K.findOne(si);
1395        i && i !== e && gi.getInstance(i).hide(), gi.getOrCreateInstance(e).toggle(this)
1396    })), j.on(window, Ze, (() => {
1397        for (const t of K.find(si)) gi.getOrCreateInstance(t).show()
1398    })), j.on(window, ci, (() => {
1399        for (const t of K.find("[aria-modal][class*=show][class*=offcanvas-]")) "fixed" !== getComputedStyle(t).position && gi.getOrCreateInstance(t).hide()
1400    })), V(gi), b(gi);
1401    const fi = {
1402            "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
1403            a: ["target", "href", "title", "rel"],
1404            area: [],
1405            b: [],
1406            br: [],
1407            col: [],
1408            code: [],
1409            dd: [],
1410            div: [],
1411            dl: [],
1412            dt: [],
1413            em: [],
1414            hr: [],
1415            h1: [],
1416            h2: [],
1417            h3: [],
1418            h4: [],
1419            h5: [],
1420            h6: [],
1421            i: [],
1422            img: ["src", "srcset", "alt", "title", "width", "height"],
1423            li: [],
1424            ol: [],
1425            p: [],
1426            pre: [],
1427            s: [],
1428            small: [],
1429            span: [],
1430            sub: [],
1431            sup: [],
1432            strong: [],
1433            u: [],
1434            ul: []
1435        },
1436        mi = new Set(["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"]),
1437        pi = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,
1438        bi = (t, e) => {
1439            const i = t.nodeName.toLowerCase();
1440            return e.includes(i) ? !mi.has(i) || Boolean(pi.test(t.nodeValue)) : e.filter((t => t instanceof RegExp)).some((t => t.test(i)))
1441        },
1442        vi = {
1443            allowList: fi,
1444            content: {},
1445            extraClass: "",
1446            html: !1,
1447            sanitize: !0,
1448            sanitizeFn: null,
1449            template: "<div></div>"
1450        },
1451        yi = {
1452            allowList: "object",
1453            content: "object",
1454            extraClass: "(string|function)",
1455            html: "boolean",
1456            sanitize: "boolean",
1457            sanitizeFn: "(null|function)",
1458            template: "string"
1459        },
1460        wi = {
1461            entry: "(string|element|function|null)",
1462            selector: "(string|element)"
1463        };
1464    class Ai extends q {
1465        constructor(t) {
1466            super(), this._config = this._getConfig(t)
1467        }
1468        static get Default() {
1469            return vi
1470        }
1471        static get DefaultType() {
1472            return yi
1473        }
1474        static get NAME() {
1475            return "TemplateFactory"
1476        }
1477        getContent() {
1478            return Object.values(this._config.content).map((t => this._resolvePossibleFunction(t))).filter(Boolean)
1479        }
1480        hasContent() {
1481            return this.getContent().length > 0
1482        }
1483        changeContent(t) {
1484            return this._checkContent(t), this._config.content = {...this._config.content,
1485                ...t
1486            }, this
1487        }
1488        toHtml() {
1489            const t = document.createElement("div");
1490            t.innerHTML = this._maybeSanitize(this._config.template);
1491            for (const [e, i] of Object.entries(this._config.content)) this._setContent(t, i, e);
1492            const e = t.children[0],
1493                i = this._resolvePossibleFunction(this._config.extraClass);
1494            return i && e.classList.add(...i.split(" ")), e
1495        }
1496        _typeCheckConfig(t) {
1497            super._typeCheckConfig(t), this._checkContent(t.content)
1498        }
1499        _checkContent(t) {
1500            for (const [e, i] of Object.entries(t)) super._typeCheckConfig({
1501                selector: e,
1502                entry: i
1503            }, wi)
1504        }
1505        _setContent(t, e, i) {
1506            const s = K.findOne(i, t);
1507            s && ((e = this._resolvePossibleFunction(e)) ? l(e) ? this._putElementInTemplate(c(e), s) : this._config.html ? s.innerHTML = this._maybeSanitize(e) : s.textContent = e : s.remove())
1508        }
1509        _maybeSanitize(t) {
1510            return this._config.sanitize ? function(t, e, i) {
1511                if (!t.length) return t;
1512                if (i && "function" == typeof i) return i(t);
1513                const s = (new window.DOMParser).parseFromString(t, "text/html"),
1514                    n = [].concat(...s.body.querySelectorAll("*"));
1515                for (const t of n) {
1516                    const i = t.nodeName.toLowerCase();
1517                    if (!Object.keys(e).includes(i)) {
1518                        t.remove();
1519                        continue
1520                    }
1521                    const s = [].concat(...t.attributes),
1522                        n = [].concat(e["*"] || [], e[i] || []);
1523                    for (const e of s) bi(e, n) || t.removeAttribute(e.nodeName)
1524                }
1525                return s.body.innerHTML
1526            }(t, this._config.allowList, this._config.sanitizeFn) : t
1527        }
1528        _resolvePossibleFunction(t) {
1529            return v(t, [this])
1530        }
1531        _putElementInTemplate(t, e) {
1532            if (this._config.html) return e.innerHTML = "", void e.append(t);
1533            e.textContent = t.textContent
1534        }
1535    }
1536    const Ei = new Set(["sanitize", "allowList", "sanitizeFn"]),
1537        Ci = "fade",
1538        Ti = "show",
1539        ki = ".modal",
1540        $i = "hide.bs.modal",
1541        Si = "hover",
1542        Li = "focus",
1543        Oi = {
1544            AUTO: "auto",
1545            TOP: "top",
1546            RIGHT: p() ? "left" : "right",
1547            BOTTOM: "bottom",
1548            LEFT: p() ? "right" : "left"
1549        },
1550        Ii = {
1551            allowList: fi,
1552            animation: !0,
1553            boundary: "clippingParents",
1554            container: !1,
1555            customClass: "",
1556            delay: 0,
1557            fallbackPlacements: ["top", "right", "bottom", "left"],
1558            html: !1,
1559            offset: [0, 6],
1560            placement: "top",
1561            popperConfig: null,
1562            sanitize: !0,
1563            sanitizeFn: null,
1564            selector: !1,
1565            template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
1566            title: "",
1567            trigger: "hover focus"
1568        },
1569        Di = {
1570            allowList: "object",
1571            animation: "boolean",
1572            boundary: "(string|element)",
1573            container: "(string|element|boolean)",
1574            customClass: "(string|function)",
1575            delay: "(number|object)",
1576            fallbackPlacements: "array",
1577            html: "boolean",
1578            offset: "(array|string|function)",
1579            placement: "(string|function)",
1580            popperConfig: "(null|object|function)",
1581            sanitize: "boolean",
1582            sanitizeFn: "(null|function)",
1583            selector: "(string|boolean)",
1584            template: "string",
1585            title: "(string|element|function)",
1586            trigger: "string"
1587        };
1588    class Ni extends W {
1589        constructor(t, e) {
1590            if (void 0 === i) throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");
1591            super(t, e), this._isEnabled = !0, this._timeout = 0, this._isHovered = null, this._activeTrigger = {}, this._popper = null, this._templateFactory = null, this._newContent = null, this.tip = null, this._setListeners(), this._config.selector || this._fixTitle()
1592        }
1593        static get Default() {
1594            return Ii
1595        }
1596        static get DefaultType() {
1597            return Di
1598        }
1599        static get NAME() {
1600            return "tooltip"
1601        }
1602        enable() {
1603            this._isEnabled = !0
1604        }
1605        disable() {
1606            this._isEnabled = !1
1607        }
1608        toggleEnabled() {
1609            this._isEnabled = !this._isEnabled
1610        }
1611        toggle() {
1612            this._isEnabled && (this._activeTrigger.click = !this._activeTrigger.click, this._isShown() ? this._leave() : this._enter())
1613        }
1614        dispose() {
1615            clearTimeout(this._timeout), j.off(this._element.closest(ki), $i, this._hideModalHandler), this._element.getAttribute("data-bs-original-title") && this._element.setAttribute("title", this._element.getAttribute("data-bs-original-title")), this._disposePopper(), super.dispose()
1616        }
1617        show() {
1618            if ("none" === this._element.style.display) throw new Error("Please use show on visible elements");
1619            if (!this._isWithContent() || !this._isEnabled) return;
1620            const t = j.trigger(this._element, this.constructor.eventName("show")),
1621                e = (u(this._element) || this._element.ownerDocument.documentElement).contains(this._element);
1622            if (t.defaultPrevented || !e) return;
1623            this._disposePopper();
1624            const i = this._getTipElement();
1625            this._element.setAttribute("aria-describedby", i.getAttribute("id"));
1626            const {
1627                container: s
1628            } = this._config;
1629            if (this._element.ownerDocument.documentElement.contains(this.tip) || (s.append(i), j.trigger(this._element, this.constructor.eventName("inserted"))), this._popper = this._createPopper(i), i.classList.add(Ti), "ontouchstart" in document.documentElement)
1630                for (const t of[].concat(...document.body.children)) j.on(t, "mouseover", _);
1631            this._queueCallback((() => {
1632                j.trigger(this._element, this.constructor.eventName("shown")), !1 === this._isHovered && this._leave(), this._isHovered = !1
1633            }), this.tip, this._isAnimated())
1634        }
1635        hide() {
1636            if (this._isShown() && !j.trigger(this._element, this.constructor.eventName("hide")).defaultPrevented) {
1637                if (this._getTipElement().classList.remove(Ti), "ontouchstart" in document.documentElement)
1638                    for (const t of[].concat(...document.body.children)) j.off(t, "mouseover", _);
1639                this._activeTrigger.click = !1, this._activeTrigger[Li] = !1, this._activeTrigger[Si] = !1, this._isHovered = null, this._queueCallback((() => {
1640                    this._isWithActiveTrigger() || (this._isHovered || this._disposePopper(), this._element.removeAttribute("aria-describedby"), j.trigger(this._element, this.constructor.eventName("hidden")))
1641                }), this.tip, this._isAnimated())
1642            }
1643        }
1644        update() {
vendor: 7,465 bytes, lines 1645-1808
1645            this._popper && this._popper.update()
1646        }
1647        _isWithContent() {
1648            return Boolean(this._getTitle())
1649        }
1650        _getTipElement() {
1651            return this.tip || (this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())), this.tip
1652        }
1653        _createTipElement(t) {
1654            const e = this._getTemplateFactory(t).toHtml();
1655            if (!e) return null;
1656            e.classList.remove(Ci, Ti), e.classList.add(`bs-${this.constructor.NAME}-auto`);
1657            const i = (t => {
1658                do {
1659                    t += Math.floor(1e6 * Math.random())
1660                } while (document.getElementById(t));
1661                return t
1662            })(this.constructor.NAME).toString();
1663            return e.setAttribute("id", i), this._isAnimated() && e.classList.add(Ci), e
1664        }
1665        setContent(t) {
1666            this._newContent = t, this._isShown() && (this._disposePopper(), this.show())
1667        }
1668        _getTemplateFactory(t) {
1669            return this._templateFactory ? this._templateFactory.changeContent(t) : this._templateFactory = new Ai({...this._config,
1670                content: t,
1671                extraClass: this._resolvePossibleFunction(this._config.customClass)
1672            }), this._templateFactory
1673        }
1674        _getContentForTemplate() {
1675            return {
1676                ".tooltip-inner": this._getTitle()
1677            }
1678        }
1679        _getTitle() {
1680            return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute("data-bs-original-title")
1681        }
1682        _initializeOnDelegatedTarget(t) {
1683            return this.constructor.getOrCreateInstance(t.delegateTarget, this._getDelegateConfig())
1684        }
1685        _isAnimated() {
1686            return this._config.animation || this.tip && this.tip.classList.contains(Ci)
1687        }
1688        _isShown() {
1689            return this.tip && this.tip.classList.contains(Ti)
1690        }
1691        _createPopper(t) {
1692            const e = v(this._config.placement, [this, t, this._element]),
1693                s = Oi[e.toUpperCase()];
1694            return i.createPopper(this._element, t, this._getPopperConfig(s))
1695        }
1696        _getOffset() {
1697            const {
1698                offset: t
1699            } = this._config;
1700            return "string" == typeof t ? t.split(",").map((t => Number.parseInt(t, 10))) : "function" == typeof t ? e => t(e, this._element) : t
1701        }
1702        _resolvePossibleFunction(t) {
1703            return v(t, [this._element])
1704        }
1705        _getPopperConfig(t) {
1706            const e = {
1707                placement: t,
1708                modifiers: [{
1709                    name: "flip",
1710                    options: {
1711                        fallbackPlacements: this._config.fallbackPlacements
1712                    }
1713                }, {
1714                    name: "offset",
1715                    options: {
1716                        offset: this._getOffset()
1717                    }
1718                }, {
1719                    name: "preventOverflow",
1720                    options: {
1721                        boundary: this._config.boundary
1722                    }
1723                }, {
1724                    name: "arrow",
1725                    options: {
1726                        element: `.${this.constructor.NAME}-arrow`
1727                    }
1728                }, {
1729                    name: "preSetPlacement",
1730                    enabled: !0,
1731                    phase: "beforeMain",
1732                    fn: t => {
1733                        this._getTipElement().setAttribute("data-popper-placement", t.state.placement)
1734                    }
1735                }]
1736            };
1737            return {...e,
1738                ...v(this._config.popperConfig, [e])
1739            }
1740        }
1741        _setListeners() {
1742            const t = this._config.trigger.split(" ");
1743            for (const e of t)
1744                if ("click" === e) j.on(this._element, this.constructor.eventName("click"), this._config.selector, (t => {
1745                    this._initializeOnDelegatedTarget(t).toggle()
1746                }));
1747                else if ("manual" !== e) {
1748                const t = e === Si ? this.constructor.eventName("mouseenter") : this.constructor.eventName("focusin"),
1749                    i = e === Si ? this.constructor.eventName("mouseleave") : this.constructor.eventName("focusout");
1750                j.on(this._element, t, this._config.selector, (t => {
1751                    const e = this._initializeOnDelegatedTarget(t);
1752                    e._activeTrigger["focusin" === t.type ? Li : Si] = !0, e._enter()
1753                })), j.on(this._element, i, this._config.selector, (t => {
1754                    const e = this._initializeOnDelegatedTarget(t);
1755                    e._activeTrigger["focusout" === t.type ? Li : Si] = e._element.contains(t.relatedTarget), e._leave()
1756                }))
1757            }
1758            this._hideModalHandler = () => {
1759                this._element && this.hide()
1760            }, j.on(this._element.closest(ki), $i, this._hideModalHandler)
1761        }
1762        _fixTitle() {
1763            const t = this._element.getAttribute("title");
1764            t && (this._element.getAttribute("aria-label") || this._element.textContent.trim() || this._element.setAttribute("aria-label", t), this._element.setAttribute("data-bs-original-title", t), this._element.removeAttribute("title"))
1765        }
1766        _enter() {
1767            this._isShown() || this._isHovered ? this._isHovered = !0 : (this._isHovered = !0, this._setTimeout((() => {
1768                this._isHovered && this.show()
1769            }), this._config.delay.show))
1770        }
1771        _leave() {
1772            this._isWithActiveTrigger() || (this._isHovered = !1, this._setTimeout((() => {
1773                this._isHovered || this.hide()
1774            }), this._config.delay.hide))
1775        }
1776        _setTimeout(t, e) {
1777            clearTimeout(this._timeout), this._timeout = setTimeout(t, e)
1778        }
1779        _isWithActiveTrigger() {
1780            return Object.values(this._activeTrigger).includes(!0)
1781        }
1782        _getConfig(t) {
1783            const e = B.getDataAttributes(this._element);
1784            for (const t of Object.keys(e)) Ei.has(t) && delete e[t];
1785            return t = {...e,
1786                ...
1787                "object" == typeof t && t ? t : {}
1788            }, t = this._mergeConfigObj(t), t = this._configAfterMerge(t), this._typeCheckConfig(t), t
1789        }
1790        _configAfterMerge(t) {
1791            return t.container = !1 === t.container ? document.body : c(t.container), "number" == typeof t.delay && (t.delay = {
1792                show: t.delay,
1793                hide: t.delay
1794            }), "number" == typeof t.title && (t.title = t.title.toString()), "number" == typeof t.content && (t.content = t.content.toString()), t
1795        }
1796        _getDelegateConfig() {
1797            const t = {};
1798            for (const [e, i] of Object.entries(this._config)) this.constructor.Default[e] !== i && (t[e] = i);
1799            return t.selector = !1, t.trigger = "manual", t
1800        }
1801        _disposePopper() {
1802            this._popper && (this._popper.destroy(), this._popper = null), this.tip && (this.tip.remove(), this.tip = null)
1803        }
1804        static jQueryInterface(t) {
1805            return this.each((function() {
1806                const e = Ni.getOrCreateInstance(this, t);
1807                if ("string" == typeof t) {
1808                    if (void 0 === e[t]) throw new TypeError(`No method n
1808amed "${t}"`);
1809                    e[t]()
1810                }
1811            }))
1812        }
1813    }
1814    b(Ni);
1815    const Pi = {...Ni.Default,
1816            content: "",
1817            offset: [0, 8],
1818            placement: "right",
1819            template: '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',
1820            trigger: "click"
1821        },
1822        xi = {...Ni.DefaultType,
1823            content: "(null|string|element|function)"
1824        };
1825    class Mi extends Ni {
1826        static get Default() {
1827            return Pi
1828        }
1829        static get DefaultType() {
1830            return xi
1831        }
1832        static get NAME() {
1833            return "popover"
1834        }
1835        _isWithContent() {
1836            return this._getTitle() || this._getContent()
1837        }
1838        _getContentForTemplate() {
1839            return {
1840                ".popover-header": this._getTitle(),
1841                ".popover-body": this._getContent()
1842            }
1843        }
1844        _getContent() {
1845            return this._resolvePossibleFunction(this._config.content)
1846        }
1847        static jQueryInterface(t) {
1848            return this.each((function() {
1849                const e = Mi.getOrCreateInstance(this, t);
1850                if ("string" == typeof t) {
1851                    if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
1852                    e[t]()
1853                }
1854            }))
1855        }
1856    }
1857    b(Mi);
1858    const ji = ".bs.scrollspy",
1859        Fi = `activate${ji}`,
1860        zi = `click${ji}`,
1861        Hi = `load${ji}.data-api`,
1862        Bi = "active",
1863        qi = "[href]",
1864        Wi = ".nav-link",
1865        Ri = `${Wi}, .nav-item > ${Wi}, .list-group-item`,
1866        Ki = {
1867            offset: null,
1868            rootMargin: "0px 0px -25%",
1869            smoothScroll: !1,
1870            target: null,
1871            threshold: [.1, .5, 1]
1872        },
1873        Vi = {
1874            offset: "(number|null)",
1875            rootMargin: "string",
1876            smoothScroll: "boolean",
1877            target: "element",
1878            threshold: "array"
1879        };
1880    class Qi extends W {
1881        constructor(t, e) {
1882            super(t, e), this._targetLinks = new Map, this._observableSections = new Map, this._rootElement = "visible" === getComputedStyle(this._element).overflowY ? null : this._element, this._activeTarget = null, this._observer = null, this._previousScrollData = {
1883                visibleEntryTop: 0,
1884                parentScrollTop: 0
1885            }, this.refresh()
1886        }
1887        static get Default() {
1888            return Ki
1889        }
1890        static get DefaultType() {
1891            return Vi
1892        }
1893        static get NAME() {
1894            return "scrollspy"
1895        }
1896        refresh() {
1897            this._initializeTargetsAndObservables(), this._maybeEnableSmoothScroll(), this._observer ? this._observer.disconnect() : this._observer = this._getNewObserver();
1898            for (const t of this._observableSections.values()) this._observer.observe(t)
1899        }
1900        dispose() {
1901            this._observer.disconnect(), super.dispose()
1902        }
1903        _configAfterMerge(t) {
1904            return t.target = c(t.target) || document.body, t.rootMargin = t.offset ? `${t.offset}px 0px -30%` : t.rootMargin, "string" == typeof t.threshold && (t.threshold = t.threshold.split(",").map((t => Number.parseFloat(t)))), t
1905        }
1906        _maybeEnableSmoothScroll() {
1907            this._config.smoothScroll && (j.off(this._config.target, zi), j.on(this._config.target, zi, qi, (t => {
1908                const e = this._observableSections.get(t.target.hash);
1909                if (e) {
1910                    t.preventDefault();
1911                    const i = this._rootElement || window,
1912                        s = e.offsetTop - this._element.offsetTop;
1913                    if (i.scrollTo) return void i.scrollTo({
1914                        top: s,
1915                        behavior: "smooth"
1916                    });
1917                    i.scrollTop = s
1918                }
1919            })))
1920        }
1921        _getNewObserver() {
1922            const t = {
1923                root: this._rootElement,
1924                threshold: this._config.threshold,
1925                rootMargin: this._config.rootMargin
1926            };
1927            return new IntersectionObserver((t => this._observerCallback(t)), t)
1928        }
1929        _observerCallback(t) {
1930            const e = t => this._targetLinks.get(`#${t.target.id}`),
1931                i = t => {
1932                    this._previousScrollData.visibleEntryTop = t.target.offsetTop, this._process(e(t))
1933                },
1934                s = (this._rootElement || document.documentElement).scrollTop,
1935                n = s >= this._previousScrollData.parentScrollTop;
1936            this._previousScrollData.parentScrollTop = s;
1937            for (const o of t) {
1938                if (!o.isIntersecting) {
1939                    this._activeTarget = null, this._clearActiveClass(e(o));
1940                    continue
1941                }
1942                const t = o.target.offsetTop >= this._previousScrollData.visibleEntryTop;
1943                if (n && t) {
1944                    if (i(o), !s) return
1945                } else n || t || i(o)
1946            }
1947        }
1948        _initializeTargetsAndObservables() {
1949            this._targetLinks = new Map, this._observableSections = new Map;
1950            const t = K.find(qi, this._config.target);
1951            for (const e of t) {
1952                if (!e.hash || d(e)) continue;
1953                const t = K.findOne(decodeURI(e.hash), this._element);
1954                h(t) && (this._targetLinks.set(decodeURI(e.hash), e), this._observableSections.set(e.hash, t))
1955            }
1956        }
1957        _process(t) {
1958            this._activeTarget !== t && (this._clearActiveClass(this._config.target), this._activeTarget = t, t.classList.add(Bi), this._activateParents(t), j.trigger(this._element, Fi, {
1959                relatedTarget: t
1960            }))
1961        }
1962        _activateParents(t) {
1963            if (t.classList.contains("dropdown-item")) K.findOne(".dropdown-toggle", t.closest(".dropdown")).classList.add(Bi);
1964            else
1965                for (const e of K.parents(t, ".nav, .list-group"))
1966                    for (const t of K.prev(e, Ri)) t.classList.add(Bi)
1967        }
1968        _clearActiveClass(t) {
1969            t.classList.remove(Bi);
1970            const e = K.find(`${qi}.${Bi}`, t);
1971            for (const t of e) t.classList.remove(Bi)
1972        }
1973        static jQueryInterface(t) {
1974            return this.each((function() {
1975                const e = Qi.getOrCreateInstance(this, t);
1976                if ("string" == typeof t) {
1977                    if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
1977amed "${t}"`);
1978                    e[t]()
1979                }
1980            }))
1981        }
1982    }
1983    j.on(window, Hi, (() => {
1984        for (const t of K.find('[data-bs-spy="scroll"]')) Qi.getOrCreateInstance(t)
1985    })), b(Qi);
1986    const Xi = ".bs.tab",
1987        Yi = `hide${Xi}`,
1988        Ui = `hidden${Xi}`,
1989        Gi = `show${Xi}`,
1990        Ji = `shown${Xi}`,
1991        Zi = `click${Xi}`,
1992        ts = `keydown${Xi}`,
1993        es = `load${Xi}`,
1994        is = "ArrowLeft",
1995        ss = "ArrowRight",
1996        ns = "ArrowUp",
1997        os = "ArrowDown",
1998        rs = "Home",
1999        as = "End",
2000        ls = "active",
2001        cs = "fade",
2002        hs = "show",
2003        ds = ".dropdown-toggle",
2004        us = `:not(${ds})`,
2005        _s = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',
2006        gs = `.nav-link${us}, .list-group-item${us}, [role="tab"]${us}, ${_s}`,
2007        fs = `.${ls}[data-bs-toggle="tab"], .${ls}[data-bs-toggle="pill"], .${ls}[data-bs-toggle="list"]`;
2008    class ms extends W {
2009        constructor(t) {
2010            super(t), this._parent = this._element.closest('.list-group, .nav, [role="tablist"]'), this._parent && (this._setInitialAttributes(this._parent, this._getChildren()), j.on(this._element, ts, (t => this._keydown(t))))
2011        }
2012        static get NAME() {
2013            return "tab"
2014        }
2015        show() {
2016            const t = this._element;
2017            if (this._elemIsActive(t)) return;
2018            const e = this._getActiveElem(),
2019                i = e ? j.trigger(e, Yi, {
2020                    relatedTarget: t
2021                }) : null;
2022            j.trigger(t, Gi, {
2023                relatedTarget: e
2024            }).defaultPrevented || i && i.defaultPrevented || (this._deactivate(e, t), this._activate(t, e))
2025        }
2026        _activate(t, e) {
2027            t && (t.classList.add(ls), this._activate(K.getElementFromSelector(t)), this._queueCallback((() => {
2028                "tab" === t.getAttribute("role") ? (t.removeAttribute("tabindex"), t.setAttribute("aria-selected", !0), this._toggleDropDown(t, !0), j.trigger(t, Ji, {
2029                    relatedTarget: e
2030                })) : t.classList.add(hs)
2031            }), t, t.classList.contains(cs)))
2032        }
2033        _deactivate(t, e) {
2034            t && (t.classList.remove(ls), t.blur(), this._deactivate(K.getElementFromSelector(t)), this._queueCallback((() => {
2035                "tab" === t.getAttribute("role") ? (t.setAttribute("aria-selected", !1), t.setAttribute("tabindex", "-1"), this._toggleDropDown(t, !1), j.trigger(t, Ui, {
2036                    relatedTarget: e
2037                })) : t.classList.remove(hs)
2038            }), t, t.classList.contains(cs)))
2039        }
2040        _keydown(t) {
2041            if (![is, ss, ns, os, rs, as].includes(t.key)) return;
2042            t.stopPropagation(), t.preventDefault();
2043            const e = this._getChildren().filter((t => !d(t)));
2044            let i;
2045            if ([rs, as].includes(t.key)) i = e[t.key === rs ? 0 : e.length - 1];
2046            else {
2047                const s = [ss, os].includes(t.key);
2048                i = w(e, t.target, s, !0)
2049            }
2050            i && (i.focus({
2051                preventScroll: !0
2052            }), ms.getOrCreateInstance(i).show())
2053        }
2054        _getChildren() {
2055            return K.find(gs, this._parent)
2056        }
2057        _getActiveElem() {
2058            return this._getChildren().find((t => this._elemIsActive(t))) || null
2059        }
2060        _setInitialAttributes(t, e) {
2061            this._setAttributeIfNotExists(t, "role", "tablist");
2062            for (const t of e) this._setInitialAttributesOnChild(t)
2063        }
2064        _setInitialAttributesOnChild(t) {
2065            t = this._getInnerElement(t);
2066            const e = this._elemIsActive(t),
2067                i = this._getOuterElement(t);
2068            t.setAttribute("aria-selected", e), i !== t && this._setAttributeIfNotExists(i, "role", "presentation"), e || t.setAttribute("tabindex", "-1"), this._setAttributeIfNotExists(t, "role", "tab"), this._setInitialAttributesOnTargetPanel(t)
2069        }
2070        _setInitialAttributesOnTargetPanel(t) {
2071            const e = K.getElementFromSelector(t);
2072            e && (this._setAttributeIfNotExists(e, "role", "tabpanel"), t.id && this._setAttributeIfNotExists(e, "aria-labelledby", `${t.id}`))
2073        }
2074        _toggleDropDown(t, e) {
2075            const i = this._getOuterElement(t);
2076            if (!i.classList.contains("dropdown")) return;
2077            const s = (t, s) => {
2078                const n = K.findOne(t, i);
2079                n && n.classList.toggle(s, e)
2080            };
2081            s(ds, ls), s(".dropdown-menu", hs), i.setAttribute("aria-expanded", e)
2082        }
2083        _setAttributeIfNotExists(t, e, i) {
2084            t.hasAttribute(e) || t.setAttribute(e, i)
2085        }
2086        _elemIsActive(t) {
2087            return t.classList.contains(ls)
2088        }
2089        _getInnerElement(t) {
2090            return t.matches(gs) ? t : K.findOne(gs, t)
2091        }
2092        _getOuterElement(t) {
vendor: 4,106 bytes, lines 2093-2190
2093            return t.closest(".nav-item, .list-group-item") || t
2094        }
2095        static jQueryInterface(t) {
2096            return this.each((function() {
2097                const e = ms.getOrCreateInstance(this);
2098                if ("string" == typeof t) {
2099                    if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method named "${t}"`);
2100                    e[t]()
2101                }
2102            }))
2103        }
2104    }
2105    j.on(document, Zi, _s, (function(t) {
2106        ["A", "AREA"].includes(this.tagName) && t.preventDefault(), d(this) || ms.getOrCreateInstance(this).show()
2107    })), j.on(window, es, (() => {
2108        for (const t of K.find(fs)) ms.getOrCreateInstance(t)
2109    })), b(ms);
2110    const ps = ".bs.toast",
2111        bs = `mouseover${ps}`,
2112        vs = `mouseout${ps}`,
2113        ys = `focusin${ps}`,
2114        ws = `focusout${ps}`,
2115        As = `hide${ps}`,
2116        Es = `hidden${ps}`,
2117        Cs = `show${ps}`,
2118        Ts = `shown${ps}`,
2119        ks = "hide",
2120        $s = "show",
2121        Ss = "showing",
2122        Ls = {
2123            animation: "boolean",
2124            autohide: "boolean",
2125            delay: "number"
2126        },
2127        Os = {
2128            animation: !0,
2129            autohide: !0,
2130            delay: 5e3
2131        };
2132    class Is extends W {
2133        constructor(t, e) {
2134            super(t, e), this._timeout = null, this._hasMouseInteraction = !1, this._hasKeyboardInteraction = !1, this._setListeners()
2135        }
2136        static get Default() {
2137            return Os
2138        }
2139        static get DefaultType() {
2140            return Ls
2141        }
2142        static get NAME() {
2143            return "toast"
2144        }
2145        show() {
2146            j.trigger(this._element, Cs).defaultPrevented || (this._clearTimeout(), this._config.animation && this._element.classList.add("fade"), this._element.classList.remove(ks), g(this._element), this._element.classList.add($s, Ss), this._queueCallback((() => {
2147                this._element.classList.remove(Ss), j.trigger(this._element, Ts), this._maybeScheduleHide()
2148            }), this._element, this._config.animation))
2149        }
2150        hide() {
2151            this.isShown() && (j.trigger(this._element, As).defaultPrevented || (this._element.classList.add(Ss), this._queueCallback((() => {
2152                this._element.classList.add(ks), this._element.classList.remove(Ss, $s), j.trigger(this._element, Es)
2153            }), this._element, this._config.animation)))
2154        }
2155        dispose() {
2156            this._clearTimeout(), this.isShown() && this._element.classList.remove($s), super.dispose()
2157        }
2158        isShown() {
2159            return this._element.classList.contains($s)
2160        }
2161        _maybeScheduleHide() {
2162            this._config.autohide && (this._hasMouseInteraction || this._hasKeyboardInteraction || (this._timeout = setTimeout((() => {
2163                this.hide()
2164            }), this._config.delay)))
2165        }
2166        _onInteraction(t, e) {
2167            switch (t.type) {
2168                case "mouseover":
2169                case "mouseout":
2170                    this._hasMouseInteraction = e;
2171                    break;
2172                case "focusin":
2173                case "focusout":
2174                    this._hasKeyboardInteraction = e
2175            }
2176            if (e) return void this._clearTimeout();
2177            const i = t.relatedTarget;
2178            this._element === i || this._element.contains(i) || this._maybeScheduleHide()
2179        }
2180        _setListeners() {
2181            j.on(this._element, bs, (t => this._onInteraction(t, !0))), j.on(this._element, vs, (t => this._onInteraction(t, !1))), j.on(this._element, ys, (t => this._onInteraction(t, !0))), j.on(this._element, ws, (t => this._onInteraction(t, !1)))
2182        }
2183        _clearTimeout() {
2184            clearTimeout(this._timeout), this._timeout = null
2185        }
2186        static jQueryInterface(t) {
2187            return this.each((function() {
2188                const e = Is.getOrCreateInstance(this, t);
2189                if ("string" == typeof t) {
2190                    if (void 0 === e[t]) throw new TypeError(`No method n
2190amed "${t}"`);
2191                    e[t](this)
2192                }
2193            }))
2194        }
2195    }
2196    return V(Is), b(Is), {
2197        Alert: U,
2198        Button: J,
2199        Carousel: Ot,
2200        Collapse: Rt,
2201        Dropdown: fe,
2202        Modal: Ue,
2203        Offcanvas: gi,
2204        Popover: Mi,
2205        ScrollSpy: Qi,
2206        Tab: ms,
2207        Toast: Is,
2208        Tooltip: Ni
2209    }
2210}));
2211//# sourceMappingURL=bootstrap.min.js.map

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.