PageSourceSearch

https://www.thepoultrysite.com/assets/js/app.js?0011000010am2026-10-01T11:00:14+01:00

js thepoultrysite.com collected 2026-10-01 11:35:22 UTC 295,531 bytes, 7,747 lines download raw bytes

vendor: 110 bytes, lines 1-5
1/******/ (() => { // webpackBootstrap
2/******/ 	"use strict";
3/******/ 	var __webpack_modules__ = ({
4
5/***/ ".
5./beef/app.scss":
6/*!************************!*\
7  !*** ../beef/app.scss ***!
8  \************************/
9/***/ (() => {
10
11// extracted by mini-css-extract-plugin
12
13
14/***/ }),
15
16/***/ "../cattle/app.scss":
17/*!**************************!*\
18  !*** ../cattle/app.scss ***!
19  \**************************/
20/***/ (() => {
21
22// extracted by mini-css-extract-plugin
23
24
25/***/ }),
26
27/***/ "../dairy/app.scss":
28/*!*************************!*\
29  !*** ../dairy/app.scss ***!
30  \*************************/
31/***/ (() => {
32
33// extracted by mini-css-extract-plugin
34
35
36/***/ }),
37
38/***/ "../pig/app.scss":
39/*!***********************!*\
40  !*** ../pig/app.scss ***!
41  \***********************/
42/***/ (() => {
43
44// extracted by mini-css-extract-plugin
45
46
47/***/ }),
48
49/***/ "../poultry/app.scss":
50/*!***************************!*\
51  !*** ../poultry/app.scss ***!
52  \***************************/
53/***/ (() => {
54
55// extracted by mini-css-extract-plugin
56
57
58/***/ }),
59
60/***/ "./js/app.js":
61/*!*******************!*\
62  !*** ./js/app.js ***!
63  \*******************/
64/***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => {
65
66/* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.esm.js");
67
68var myCarousel = document.querySelector('#hero-slideshow');
69if (myCarousel) {
70  var carousel = new bootstrap__WEBPACK_IMPORTED_MODULE_0__.Carousel(myCarousel);
71}
72var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
73var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
74  return new bootstrap__WEBPACK_IMPORTED_MODULE_0__.Tooltip(tooltipTriggerEl);
75});
76
77//loop through full width ads
78var fullWidthAds = document.getElementsByClassName("fullWidthAdImg");
79var position = fullWidthAds.length - 1;
80function fullWidthSwitch() {
81  if (fullWidthAds && fullWidthAds.length > 0) {
82    if (!fullWidthAds[position].classList.contains("d-none")) {
83      fullWidthAds[position].classList.add("d-none");
84    }
85    if (position == fullWidthAds.length - 1) position = -1;
86    position++;
87    fullWidthAds[position].classList.remove("d-none");
88    setTimeout(fullWidthSwitch, 9000);
89  }
90}
91document.addEventListener('DOMContentLoaded', function () {
92  // START - COLLAPSE HEADER onScroll
93
94  document.getElementById('content').style.paddingTop = document.getElementsByTagName('header')[0].offsetHeight + 'px';
95
96  // set variables mainly for scroll, but using for mobile-related stuff too 
97  var latestKnownScrollY = 0,
98    rpos = false,
99    topNavAndHeaderHeight = document.getElementById('nav-row').scrollHeight,
100    navSearchHeight = document.getElementById('nav-search').scrollHeight,
101    mobileHeaderHeight = document.getElementById('mobile-banner-outer').scrollHeight,
102    navSearch = document.getElementById('nav-search'),
103    viewableHeight = document.body.clientHeight,
104    viewableWidth = document.body.clientWidth,
105    viewableHeightPc = 100 / viewableHeight,
106    navScrollDiff = 0,
107    screenWidth = 768;
108  var doResize = function doResize() {
109    window.addEventListener('scroll', onScroll, false);
110    viewableWidth = document.body.clientWidth;
111  };
112  function updateScroll() {
113    var percentScroll = viewableHeightPc * window.scrollY;
114    var pixelsScrolled = viewableHeight * (percentScroll / 100);
115    if (viewableWidth > screenWidth) {
116      navScrollDiff = topNavAndHeaderHeight - Math.round(pixelsScrolled);
117    } else {
118      navScrollDiff = mobileHeaderHeight - Math.round(pixelsScrolled);
119    }
120    if (navScrollDiff > 0) {
121      // only collapse top nav and logo when on larger screens 
122      if (viewableWidth > screenWidth) {
123        document.getElementById('nav-outer').style.height = topNavAndHeaderHeight - Math.round(pixelsScrolled) + 'px';
124        navSearch.style.display = 'block'; // Show search when header is expanded
125      } else {
126        document.getElementById('nav-outer').style.height = mobileHeaderHeight - Math.round(pixelsScrolled) + 'px';
127      }
128      document.getElementById('nav-search-outer').style.height = navSearchHeight - Math.round(pixelsScrolled) + 'px';
129      document.getElementById('search-icon-header-ads').style.display = 'none';
130    } else {
131      if (viewableWidth > screenWidth) {
132        document.getElementById('nav-outer').style.height = '0px';
133        navSearch.style.display = 'none';
134      } else {
135        document.getElementById('nav-outer').style.height = '0px';
136      }
137      document.getElementById('nav-search-outer').style.height = '0px';
138      document.getElementById('search-icon-header-ads').style.display = 'block';
139    }
140    document.getElementById('content').style.paddingTop = document.getElementsByTagName('header')[0].scrollHeight + 'px';
141    rpos = false;
142  }
143  function onScroll() {
144    latestKnownScrollY = window.scrollY;
145    requestPos();
146  }
147  function requestPos() {
148    if (!rpos) {
149      requestAnimationFrame(updateScroll);
150    }
151    rpos = true;
152  }
153
154  // only for desktop
155  window.addEventListener('resize', doResize, false);
156  doResize();
157
158  // MOBILE MENU - 
159
160  var mobileMenu = document.querySelector('#menu-row'),
161    mobileMenuBtn = document.querySelector('#mobile-show-menu');
162  if (mobileMenu && viewableWidth <= screenWidth) {
163    mobileMenuBtn.addEventListener('click', function () {
164      var menuStyle = mobileMenu.style.display;
165      var overlay = document.getElementById("overlay");
166      overlay.addEventListener('click', function () {
167        overlay.style.display = 'none';
168      });
169      if (menuStyle == 'block') {
170        mobileMenu.style.display = 'none';
171        overlay.style.display = "none";
172      } else {
173        mobileMenu.setAttribute('style', 'display:block !important');
174        overlay.style.display = "block";
175      }
176    });
177  }
178
179  // MOBILE SEARCH - Wrapped in IIFE to avoid conflicts
180  (function () {
181    var mobileSearchContainer = document.querySelector('#mobile-search-container');
182    var mobileSearchBtn = document.querySelector('#mobile-show-search');
183    var searchVisible = false;
184    if (mobileSearchContainer && mobileSearchBtn) {
185      // Hide search container initially
186      mobileSearchContainer.style.display = 'none';
187      mobileSearchBtn.addEventListener('click', function (e) {
188        e.preventDefault();
189        if (searchVisible) {
190          mobileSearchContainer.style.display = 'none';
191          searchVisible = false;
192        } else {
193          mobileSearchContainer.style.display = 'block';
194          searchVisible = true;
195
196          // Focus on search input after display
197          setTimeout(function () {
198            var searchInput = mobileSearchContainer.querySelector('.gagm-search-input');
199            if (searchInput) {
200              searchInput.focus();
201            }
202          }, 100);
203        }
204      });
205
206      // Close search when clicking outside
207      document.addEventListener('click', function (e) {
208        if (searchVisible && !mobileSearchContainer.contains(e.target) && !mobileSearchBtn.contains(e.target)) {
209          mobileSearchContainer.style.display = 'none';
210          searchVisible = false;
211        }
212      });
213    }
214  })();
215
216  // HEADER ADS SEARCH ICON - scroll to top and focus on search
217  var headerAdsSearchIcon = document.querySelector('#search-icon-header-ads');
218  if (headerAdsSearchIcon) {
219    headerAdsSearchIcon.addEventListener('click', function (e) {
220      e.preventDefault();
221
222      // Scroll to top of page
223      window.scrollTo({
224        top: 0,
225        behavior: 'smooth'
226      });
227
228      // Wait for scroll to complete, then focus on search input
229      setTimeout(function () {
230        var searchInput = document.querySelector('.gagm-search-input');
231        if (searchInput) {
232          searchInput.focus();
233          searchInput.select(); // Also select any existing text
234        }
235      }, 800); // Wait for smooth scroll to complete
236    });
237  }
238});
239fullWidthSwitch();
240
241/***/ }),
242
vendor: 9,557 bytes, lines 243-462
243/***/ "./node_modules/@popperjs/core/lib/createPopper.js":
244/*!*********************************************************!*\
245  !*** ./node_modules/@popperjs/core/lib/createPopper.js ***!
246  \*********************************************************/
247/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
248
249/* harmony export */ __webpack_require__.d(__webpack_exports__, {
250/* harmony export */   createPopper: () => (/* binding */ createPopper),
251/* harmony export */   popperGenerator: () => (/* binding */ popperGenerator)
252/* harmony export */ });
253/* harmony import */ var _dom_utils_getCompositeRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom-utils/getCompositeRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js");
254/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dom-utils/getLayoutRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js");
255/* harmony import */ var _dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dom-utils/listScrollParents.js */ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js");
256/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dom-utils/getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js");
257/* harmony import */ var _utils_orderModifiers_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/orderModifiers.js */ "./node_modules/@popperjs/core/lib/utils/orderModifiers.js");
258/* harmony import */ var _utils_debounce_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/debounce.js */ "./node_modules/@popperjs/core/lib/utils/debounce.js");
259/* harmony import */ var _utils_mergeByName_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/mergeByName.js */ "./node_modules/@popperjs/core/lib/utils/mergeByName.js");
260/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./dom-utils/instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js");
261
262
263
264
265
266
267
268
269
270var DEFAULT_OPTIONS = {
271  placement: 'bottom',
272  modifiers: [],
273  strategy: 'absolute'
274};
275
276function areValidElements() {
277  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
278    args[_key] = arguments[_key];
279  }
280
281  return !args.some(function (element) {
282    return !(element && typeof element.getBoundingClientRect === 'function');
283  });
284}
285
286function popperGenerator(generatorOptions) {
287  if (generatorOptions === void 0) {
288    generatorOptions = {};
289  }
290
291  var _generatorOptions = generatorOptions,
292      _generatorOptions$def = _generatorOptions.defaultModifiers,
293      defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,
294      _generatorOptions$def2 = _generatorOptions.defaultOptions,
295      defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
296  return function createPopper(reference, popper, options) {
297    if (options === void 0) {
298      options = defaultOptions;
299    }
300
301    var state = {
302      placement: 'bottom',
303      orderedModifiers: [],
304      options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),
305      modifiersData: {},
306      elements: {
307        reference: reference,
308        popper: popper
309      },
310      attributes: {},
311      styles: {}
312    };
313    var effectCleanupFns = [];
314    var isDestroyed = false;
315    var instance = {
316      state: state,
317      setOptions: function setOptions(setOptionsAction) {
318        var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;
319        cleanupModifierEffects();
320        state.options = Object.assign({}, defaultOptions, state.options, options);
321        state.scrollParents = {
322          reference: (0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_7__.isElement)(reference) ? (0,_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_2__["default"])(reference) : reference.contextElement ? (0,_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_2__["default"])(reference.contextElement) : [],
323          popper: (0,_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_2__["default"])(popper)
324        }; // Orders the modifiers based on their dependencies and `phase`
325        // properties
326
327        var orderedModifiers = (0,_utils_orderModifiers_js__WEBPACK_IMPORTED_MODULE_4__["default"])((0,_utils_mergeByName_js__WEBPACK_IMPORTED_MODULE_6__["default"])([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers
328
329        state.orderedModifiers = orderedModifiers.filter(function (m) {
330          return m.enabled;
331        });
332        runModifierEffects();
333        return instance.update();
334      },
335      // Sync update – it will always be executed, even if not necessary. This
336      // is useful for low frequency updates where sync behavior simplifies the
337      // logic.
338      // For high frequency updates (e.g. `resize` and `scroll` events), always
339      // prefer the async Popper#update method
340      forceUpdate: function forceUpdate() {
341        if (isDestroyed) {
342          return;
343        }
344
345        var _state$elements = state.elements,
346            reference = _state$elements.reference,
347            popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements
348        // anymore
349
350        if (!areValidElements(reference, popper)) {
351          return;
352        } // Store the reference and popper rects to be read by modifiers
353
354
355        state.rects = {
356          reference: (0,_dom_utils_getCompositeRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])(reference, (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_3__["default"])(popper), state.options.strategy === 'fixed'),
357          popper: (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_1__["default"])(popper)
358        }; // Modifiers have the ability to reset the current update cycle. The
359        // most common use case for this is the `flip` modifier changing the
360        // placement, which then needs to re-run all the modifiers, because the
361        // logic was previously ran for the previous placement and is therefore
362        // stale/incorrect
363
364        state.reset = false;
365        state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier
366        // is filled with the initial data specified by the modifier. This means
367        // it doesn't persist and is fresh on each update.
368        // To ensure persistent data, use `${name}#persistent`
369
370        state.orderedModifiers.forEach(function (modifier) {
371          return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
372        });
373
374        for (var index = 0; index < state.orderedModifiers.length; index++) {
375          if (state.reset === true) {
376            state.reset = false;
377            index = -1;
378            continue;
379          }
380
381          var _state$orderedModifie = state.orderedModifiers[index],
382              fn = _state$orderedModifie.fn,
383              _state$orderedModifie2 = _state$orderedModifie.options,
384              _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,
385              name = _state$orderedModifie.name;
386
387          if (typeof fn === 'function') {
388            state = fn({
389              state: state,
390              options: _options,
391              name: name,
392              instance: instance
393            }) || state;
394          }
395        }
396      },
397      // Async and optimistically optimized update – it will not be executed if
398      // not necessary (debounced to run at most once-per-tick)
399      update: (0,_utils_debounce_js__WEBPACK_IMPORTED_MODULE_5__["default"])(function () {
400        return new Promise(function (resolve) {
401          instance.forceUpdate();
402          resolve(state);
403        });
404      }),
405      destroy: function destroy() {
406        cleanupModifierEffects();
407        isDestroyed = true;
408      }
409    };
410
411    if (!areValidElements(reference, popper)) {
412      return instance;
413    }
414
415    instance.setOptions(options).then(function (state) {
416      if (!isDestroyed && options.onFirstUpdate) {
417        options.onFirstUpdate(state);
418      }
419    }); // Modifiers have the ability to execute arbitrary code before the first
420    // update cycle runs. They will be executed in the same order as the update
421    // cycle. This is useful when a modifier adds some persistent data that
422    // other modifiers need to use, but the modifier is run after the dependent
423    // one.
424
425    function runModifierEffects() {
426      state.orderedModifiers.forEach(function (_ref) {
427        var name = _ref.name,
428            _ref$options = _ref.options,
429            options = _ref$options === void 0 ? {} : _ref$options,
430            effect = _ref.effect;
431
432        if (typeof effect === 'function') {
433          var cleanupFn = effect({
434            state: state,
435            name: name,
436            instance: instance,
437            options: options
438          });
439
440          var noopFn = function noopFn() {};
441
442          effectCleanupFns.push(cleanupFn || noopFn);
443        }
444      });
445    }
446
447    function cleanupModifierEffects() {
448      effectCleanupFns.forEach(function (fn) {
449        return fn();
450      });
451      effectCleanupFns = [];
452    }
453
454    return instance;
455  };
456}
457var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules
458
459
460
461/***/ }),
462
vendor: 1,360 bytes, lines 463-498
463/***/ "./node_modules/@popperjs/core/lib/dom-utils/contains.js":
464/*!***************************************************************!*\
465  !*** ./node_modules/@popperjs/core/lib/dom-utils/contains.js ***!
466  \***************************************************************/
467/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
468
469/* harmony export */ __webpack_require__.d(__webpack_exports__, {
470/* harmony export */   "default": () => (/* binding */ contains)
471/* harmony export */ });
472/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js");
473
474function contains(parent, child) {
475  var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method
476
477  if (parent.contains(child)) {
478    return true;
479  } // then fallback to custom implementation with Shadow DOM support
480  else if (rootNode && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isShadowRoot)(rootNode)) {
481      var next = child;
482
483      do {
484        if (next && parent.isSameNode(next)) {
485          return true;
486        } // $FlowFixMe[prop-missing]: need a better way to handle this...
487
488
489        next = next.parentNode || next.host;
490      } while (next);
491    } // Give up, the result is false
492
493
494  return false;
495}
496
497/***/ }),
498
vendor: 2,748 bytes, lines 499-555
499/***/ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js":
500/*!****************************************************************************!*\
501  !*** ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js ***!
502  \****************************************************************************/
503/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
504
505/* harmony export */ __webpack_require__.d(__webpack_exports__, {
506/* harmony export */   "default": () => (/* binding */ getBoundingClientRect)
507/* harmony export */ });
508/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js");
509/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js");
510/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js");
511/* harmony import */ var _isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isLayoutViewport.js */ "./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js");
512
513
514
515
516function getBoundingClientRect(element, includeScale, isFixedStrategy) {
517  if (includeScale === void 0) {
518    includeScale = false;
519  }
520
521  if (isFixedStrategy === void 0) {
522    isFixedStrategy = false;
523  }
524
525  var clientRect = element.getBoundingClientRect();
526  var scaleX = 1;
527  var scaleY = 1;
528
529  if (includeScale && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element)) {
530    scaleX = element.offsetWidth > 0 ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_1__.round)(clientRect.width) / element.offsetWidth || 1 : 1;
531    scaleY = element.offsetHeight > 0 ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_1__.round)(clientRect.height) / element.offsetHeight || 1 : 1;
532  }
533
534  var _ref = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element) : window,
535      visualViewport = _ref.visualViewport;
536
537  var addVisualOffsets = !(0,_isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_3__["default"])() && isFixedStrategy;
538  var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
539  var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
540  var width = clientRect.width / scaleX;
541  var height = clientRect.height / scaleY;
542  return {
543    width: width,
544    height: height,
545    top: y,
546    right: x + width,
547    bottom: y + height,
548    left: x,
549    x: x,
550    y: y
551  };
552}
553
554/***/ }),
555
vendor: 6,859 bytes, lines 556-651
556/***/ "./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js":
557/*!**********************************************************************!*\
558  !*** ./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js ***!
559  \**********************************************************************/
560/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
561
562/* harmony export */ __webpack_require__.d(__webpack_exports__, {
563/* harmony export */   "default": () => (/* binding */ getClippingRect)
564/* harmony export */ });
565/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js");
566/* harmony import */ var _getViewportRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getViewportRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js");
567/* harmony import */ var _getDocumentRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getDocumentRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js");
568/* harmony import */ var _listScrollParents_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./listScrollParents.js */ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js");
569/* harmony import */ var _getOffsetParent_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js");
570/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js");
571/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js");
572/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js");
573/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js");
574/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js");
575/* harmony import */ var _contains_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./contains.js */ "./node_modules/@popperjs/core/lib/dom-utils/contains.js");
576/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js");
577/* harmony import */ var _utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/rectToClientRect.js */ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js");
578/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js");
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594function getInnerBoundingClientRect(element, strategy) {
595  var rect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_8__["default"])(element, false, strategy === 'fixed');
596  rect.top = rect.top + element.clientTop;
597  rect.left = rect.left + element.clientLeft;
598  rect.bottom = rect.top + element.clientHeight;
599  rect.right = rect.left + element.clientWidth;
600  rect.width = element.clientWidth;
601  rect.height = element.clientHeight;
602  rect.x = rect.left;
603  rect.y = rect.top;
604  return rect;
605}
606
607function getClientRectFromMixedType(element, clippingParent, strategy) {
608  return clippingParent === _enums_js__WEBPACK_IMPORTED_MODULE_0__.viewport ? (0,_utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_12__["default"])((0,_getViewportRect_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element, strategy)) : (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_7__.isElement)(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : (0,_utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_12__["default"])((0,_getDocumentRect_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_5__["default"])(element)));
609} // A "clipping parent" is an overflowable container with the characteristic of
610// clipping (or hiding) overflowing elements with a position different from
611// `initial`
612
613
614function getClippingParents(element) {
615  var clippingParents = (0,_listScrollParents_js__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_9__["default"])(element));
616  var canEscapeClipping = ['absolute', 'fixed'].indexOf((0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_6__["default"])(element).position) >= 0;
617  var clipperElement = canEscapeClipping && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_7__.isHTMLElement)(element) ? (0,_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_4__["default"])(element) : element;
618
619  if (!(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_7__.isElement)(clipperElement)) {
620    return [];
621  } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414
622
623
624  return clippingParents.filter(function (clippingParent) {
625    return (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_7__.isElement)(clippingParent) && (0,_contains_js__WEBPACK_IMPORTED_MODULE_10__["default"])(clippingParent, clipperElement) && (0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_11__["default"])(clippingParent) !== 'body';
626  });
627} // Gets the maximum area that the element is visible in due to any number of
628// clipping parents
629
630
631function getClippingRect(element, boundary, rootBoundary, strategy) {
632  var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);
633  var clippingParents = [].concat(mainClippingParents, [rootBoundary]);
634  var firstClippingParent = clippingParents[0];
635  var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {
636    var rect = getClientRectFromMixedType(element, clippingParent, strategy);
637    accRect.top = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.max)(rect.top, accRect.top);
638    accRect.right = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.min)(rect.right, accRect.right);
639    accRect.bottom = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.min)(rect.bottom, accRect.bottom);
640    accRect.left = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.max)(rect.left, accRect.left);
641    return accRect;
642  }, getClientRectFromMixedType(element, firstClippingParent, strategy));
643  clippingRect.width = clippingRect.right - clippingRect.left;
644  clippingRect.height = clippingRect.bottom - clippingRect.top;
645  clippingRect.x = clippingRect.left;
646  clippingRect.y = clippingRect.top;
647  return clippingRect;
648}
649
650/***/ }),
651
vendor: 4,294 bytes, lines 652-729
652/***/ "./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js":
653/*!***********************************************************************!*\
654  !*** ./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js ***!
655  \***********************************************************************/
656/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
657
658/* harmony export */ __webpack_require__.d(__webpack_exports__, {
659/* harmony export */   "default": () => (/* binding */ getCompositeRect)
660/* harmony export */ });
661/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js");
662/* harmony import */ var _getNodeScroll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getNodeScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js");
663/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js");
664/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js");
665/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js");
666/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js");
667/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js");
668/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js");
669
670
671
672
673
674
675
676
677
678function isElementScaled(element) {
679  var rect = element.getBoundingClientRect();
680  var scaleX = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_7__.round)(rect.width) / element.offsetWidth || 1;
681  var scaleY = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_7__.round)(rect.height) / element.offsetHeight || 1;
682  return scaleX !== 1 || scaleY !== 1;
683} // Returns the composite rect of an element relative to its offsetParent.
684// Composite means it takes into account transforms as well as layout.
685
686
687function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
688  if (isFixed === void 0) {
689    isFixed = false;
690  }
691
692  var isOffsetParentAnElement = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__.isHTMLElement)(offsetParent);
693  var offsetParentIsScaled = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__.isHTMLElement)(offsetParent) && isElementScaled(offsetParent);
694  var documentElement = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_5__["default"])(offsetParent);
695  var rect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])(elementOrVirtualElement, offsetParentIsScaled, isFixed);
696  var scroll = {
697    scrollLeft: 0,
698    scrollTop: 0
699  };
700  var offsets = {
701    x: 0,
702    y: 0
703  };
704
705  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
706    if ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_2__["default"])(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078
707    (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_6__["default"])(documentElement)) {
708      scroll = (0,_getNodeScroll_js__WEBPACK_IMPORTED_MODULE_1__["default"])(offsetParent);
709    }
710
711    if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__.isHTMLElement)(offsetParent)) {
712      offsets = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])(offsetParent, true);
713      offsets.x += offsetParent.clientLeft;
714      offsets.y += offsetParent.clientTop;
715    } else if (documentElement) {
716      offsets.x = (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_4__["default"])(documentElement);
717    }
718  }
719
720  return {
721    x: rect.left + scroll.scrollLeft - offsets.x,
722    y: rect.top + scroll.scrollTop - offsets.y,
723    width: rect.width,
724    height: rect.height
725  };
726}
727
728/***/ }),
729
vendor: 876 bytes, lines 730-746
730/***/ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js":
731/*!***********************************************************************!*\
732  !*** ./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js ***!
733  \***********************************************************************/
734/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
735
736/* harmony export */ __webpack_require__.d(__webpack_exports__, {
737/* harmony export */   "default": () => (/* binding */ getComputedStyle)
738/* harmony export */ });
739/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js");
740
741function getComputedStyle(element) {
742  return (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element).getComputedStyle(element);
743}
744
745/***/ }),
746
vendor: 1,047 bytes, lines 747-765
747/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js":
748/*!*************************************************************************!*\
749  !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js ***!
750  \*************************************************************************/
751/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
752
753/* harmony export */ __webpack_require__.d(__webpack_exports__, {
754/* harmony export */   "default": () => (/* binding */ getDocumentElement)
755/* harmony export */ });
756/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js");
757
758function getDocumentElement(element) {
759  // $FlowFixMe[incompatible-return]: assume body is always available
760  return (((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]
761  element.document) || window.document).documentElement;
762}
763
764/***/ }),
765
vendor: 2,800 bytes, lines 766-811
766/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js":
767/*!**********************************************************************!*\
768  !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js ***!
769  \**********************************************************************/
770/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
771
772/* harmony export */ __webpack_require__.d(__webpack_exports__, {
773/* harmony export */   "default": () => (/* binding */ getDocumentRect)
774/* harmony export */ });
775/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js");
776/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js");
777/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js");
778/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js");
779/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js");
780
781
782
783
784 // Gets the entire size of the scrollable document area, even extending outside
785// of the `<html>` and `<body>` rect bounds if horizontally scrollable
786
787function getDocumentRect(element) {
788  var _element$ownerDocumen;
789
790  var html = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element);
791  var winScroll = (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_3__["default"])(element);
792  var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
793  var width = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_4__.max)(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
794  var height = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_4__.max)(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
795  var x = -winScroll.scrollLeft + (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element);
796  var y = -winScroll.scrollTop;
797
798  if ((0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(body || html).direction === 'rtl') {
799    x += (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_4__.max)(html.clientWidth, body ? body.clientWidth : 0) - width;
800  }
801
802  return {
803    width: width,
804    height: height,
805    x: x,
806    y: y
807  };
808}
809
810/***/ }),
811
vendor: 708 bytes, lines 812-829
812/***/ "./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js":
813/*!***************************************************************************!*\
814  !*** ./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js ***!
815  \***************************************************************************/
816/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
817
818/* harmony export */ __webpack_require__.d(__webpack_exports__, {
819/* harmony export */   "default": () => (/* binding */ getHTMLElementScroll)
820/* harmony export */ });
821function getHTMLElementScroll(element) {
822  return {
823    scrollLeft: element.scrollLeft,
824    scrollTop: element.scrollTop
825  };
826}
827
828/***/ }),
829
vendor: 1,492 bytes, lines 830-867
830/***/ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js":
831/*!********************************************************************!*\
832  !*** ./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js ***!
833  \********************************************************************/
834/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
835
836/* harmony export */ __webpack_require__.d(__webpack_exports__, {
837/* harmony export */   "default": () => (/* binding */ getLayoutRect)
838/* harmony export */ });
839/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js");
840 // Returns the layout rect of an element relative to its offsetParent. Layout
841// means it doesn't take into account transforms.
842
843function getLayoutRect(element) {
844  var clientRect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); // Use the clientRect sizes if it's not been transformed.
845  // Fixes https://github.com/popperjs/popper-core/issues/1223
846
847  var width = element.offsetWidth;
848  var height = element.offsetHeight;
849
850  if (Math.abs(clientRect.width - width) <= 1) {
851    width = clientRect.width;
852  }
853
854  if (Math.abs(clientRect.height - height) <= 1) {
855    height = clientRect.height;
856  }
857
858  return {
859    x: element.offsetLeft,
860    y: element.offsetTop,
861    width: width,
862    height: height
863  };
864}
865
866/***/ }),
867
vendor: 635 bytes, lines 868-882
868/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js":
869/*!******************************************************************!*\
870  !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js ***!
871  \******************************************************************/
872/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
873
874/* harmony export */ __webpack_require__.d(__webpack_exports__, {
875/* harmony export */   "default": () => (/* binding */ getNodeName)
876/* harmony export */ });
877function getNodeName(element) {
878  return element ? (element.nodeName || '').toLowerCase() : null;
879}
880
881/***/ }),
882
vendor: 1,666 bytes, lines 883-909
883/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js":
884/*!********************************************************************!*\
885  !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js ***!
886  \********************************************************************/
887/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
888
889/* harmony export */ __webpack_require__.d(__webpack_exports__, {
890/* harmony export */   "default": () => (/* binding */ getNodeScroll)
891/* harmony export */ });
892/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js");
893/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js");
894/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js");
895/* harmony import */ var _getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getHTMLElementScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js");
896
897
898
899
900function getNodeScroll(node) {
901  if (node === (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(node) || !(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_2__.isHTMLElement)(node)) {
902    return (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node);
903  } else {
904    return (0,_getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__["default"])(node);
905  }
906}
907
908/***/ }),
909
vendor: 4,914 bytes, lines 910-997
910/***/ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js":
911/*!**********************************************************************!*\
912  !*** ./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js ***!
913  \**********************************************************************/
914/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
915
916/* harmony export */ __webpack_require__.d(__webpack_exports__, {
917/* harmony export */   "default": () => (/* binding */ getOffsetParent)
918/* harmony export */ });
919/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js");
920/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js");
921/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js");
922/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js");
923/* harmony import */ var _isTableElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isTableElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js");
924/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js");
925/* harmony import */ var _utils_userAgent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/userAgent.js */ "./node_modules/@popperjs/core/lib/utils/userAgent.js");
926
927
928
929
930
931
932
933
934function getTrueOffsetParent(element) {
935  if (!(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__.isHTMLElement)(element) || // https://github.com/popperjs/popper-core/issues/837
936  (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element).position === 'fixed') {
937    return null;
938  }
939
940  return element.offsetParent;
941} // `.offsetParent` reports `null` for fixed elements, while absolute elements
942// return the containing block
943
944
945function getContainingBlock(element) {
946  var isFirefox = /firefox/i.test((0,_utils_userAgent_js__WEBPACK_IMPORTED_MODULE_6__["default"])());
947  var isIE = /Trident/i.test((0,_utils_userAgent_js__WEBPACK_IMPORTED_MODULE_6__["default"])());
948
949  if (isIE && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__.isHTMLElement)(element)) {
950    // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport
951    var elementCss = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element);
952
953    if (elementCss.position === 'fixed') {
954      return null;
955    }
956  }
957
958  var currentNode = (0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_5__["default"])(element);
959
960  if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__.isShadowRoot)(currentNode)) {
961    currentNode = currentNode.host;
962  }
963
964  while ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__.isHTMLElement)(currentNode) && ['html', 'body'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(currentNode)) < 0) {
965    var css = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_2__["default"])(currentNode); // This is non-exhaustive but covers the most common CSS properties that
966    // create a containing block.
967    // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
968
969    if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {
970      return currentNode;
971    } else {
972      currentNode = currentNode.parentNode;
973    }
974  }
975
976  return null;
977} // Gets the closest ancestor positioned element. Handles some edge cases,
978// such as table ancestors and cross browser bugs.
979
980
981function getOffsetParent(element) {
982  var window = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element);
983  var offsetParent = getTrueOffsetParent(element);
984
985  while (offsetParent && (0,_isTableElement_js__WEBPACK_IMPORTED_MODULE_4__["default"])(offsetParent) && (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_2__["default"])(offsetParent).position === 'static') {
986    offsetParent = getTrueOffsetParent(offsetParent);
987  }
988
989  if (offsetParent && ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(offsetParent) === 'html' || (0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(offsetParent) === 'body' && (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_2__["default"])(offsetParent).position === 'static')) {
990    return window;
991  }
992
993  return offsetParent || getContainingBlock(element) || window;
994}
995
996/***/ }),
997
vendor: 1,842 bytes, lines 998-1031
998/***/ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js":
999/*!********************************************************************!*\
1000  !*** ./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js ***!
1001  \********************************************************************/
1002/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1003
1004/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1005/* harmony export */   "default": () => (/* binding */ getParentNode)
1006/* harmony export */ });
1007/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js");
1008/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js");
1009/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js");
1010
1011
1012
1013function getParentNode(element) {
1014  if ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element) === 'html') {
1015    return element;
1016  }
1017
1018  return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle
1019    // $FlowFixMe[incompatible-return]
1020    // $FlowFixMe[prop-missing]
1021    element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
1022    element.parentNode || ( // DOM Element detected
1023    (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_2__.isShadowRoot)(element) ? element.host : null) || // ShadowRoot detected
1024    // $FlowFixMe[incompatible-call]: HTMLElement is a Node
1025    (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element) // fallback
1026
1027  );
1028}
1029
1030/***/ }),
1031
vendor: 1,820 bytes, lines 1032-1063
1032/***/ "./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js":
1033/*!**********************************************************************!*\
1034  !*** ./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js ***!
1035  \**********************************************************************/
1036/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1037
1038/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1039/* harmony export */   "default": () => (/* binding */ getScrollParent)
1040/* harmony export */ });
1041/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js");
1042/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js");
1043/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js");
1044/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js");
1045
1046
1047
1048
1049function getScrollParent(node) {
1050  if (['html', 'body', '#document'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_2__["default"])(node)) >= 0) {
1051    // $FlowFixMe[incompatible-return]: assume body is always available
1052    return node.ownerDocument.body;
1053  }
1054
1055  if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_3__.isHTMLElement)(node) && (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_1__["default"])(node)) {
1056    return node;
1057  }
1058
1059  return getScrollParent((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node));
1060}
1061
1062/***/ }),
1063
vendor: 2,176 bytes, lines 1064-1110
1064/***/ "./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js":
1065/*!**********************************************************************!*\
1066  !*** ./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js ***!
1067  \**********************************************************************/
1068/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1069
1070/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1071/* harmony export */   "default": () => (/* binding */ getViewportRect)
1072/* harmony export */ });
1073/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js");
1074/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js");
1075/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js");
1076/* harmony import */ var _isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isLayoutViewport.js */ "./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js");
1077
1078
1079
1080
1081function getViewportRect(element, strategy) {
1082  var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element);
1083  var html = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element);
1084  var visualViewport = win.visualViewport;
1085  var width = html.clientWidth;
1086  var height = html.clientHeight;
1087  var x = 0;
1088  var y = 0;
1089
1090  if (visualViewport) {
1091    width = visualViewport.width;
1092    height = visualViewport.height;
1093    var layoutViewport = (0,_isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_3__["default"])();
1094
1095    if (layoutViewport || !layoutViewport && strategy === 'fixed') {
1096      x = visualViewport.offsetLeft;
1097      y = visualViewport.offsetTop;
1098    }
1099  }
1100
1101  return {
1102    width: width,
1103    height: height,
1104    x: x + (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element),
1105    y: y
1106  };
1107}
1108
1109/***/ }),
1110
vendor: 784 bytes, lines 1111-1134
1111/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js":
1112/*!****************************************************************!*\
1113  !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js ***!
1114  \****************************************************************/
1115/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1116
1117/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1118/* harmony export */   "default": () => (/* binding */ getWindow)
1119/* harmony export */ });
1120function getWindow(node) {
1121  if (node == null) {
1122    return window;
1123  }
1124
1125  if (node.toString() !== '[object Window]') {
1126    var ownerDocument = node.ownerDocument;
1127    return ownerDocument ? ownerDocument.defaultView || window : window;
1128  }
1129
1130  return node;
1131}
1132
1133/***/ }),
1134
vendor: 981 bytes, lines 1135-1157
1135/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js":
1136/*!**********************************************************************!*\
1137  !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js ***!
1138  \**********************************************************************/
1139/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1140
1141/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1142/* harmony export */   "default": () => (/* binding */ getWindowScroll)
1143/* harmony export */ });
1144/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js");
1145
1146function getWindowScroll(node) {
1147  var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node);
1148  var scrollLeft = win.pageXOffset;
1149  var scrollTop = win.pageYOffset;
1150  return {
1151    scrollLeft: scrollLeft,
1152    scrollTop: scrollTop
1153  };
1154}
1155
1156/***/ }),
1157
vendor: 1,855 bytes, lines 1158-1185
1158/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js":
1159/*!**************************************************************************!*\
1160  !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js ***!
1161  \**************************************************************************/
1162/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1163
1164/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1165/* harmony export */   "default": () => (/* binding */ getWindowScrollBarX)
1166/* harmony export */ });
1167/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js");
1168/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js");
1169/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js");
1170
1171
1172
1173function getWindowScrollBarX(element) {
1174  // If <html> has a CSS width greater than the viewport, then this will be
1175  // incorrect for RTL.
1176  // Popper 1 is broken in this case and never had a bug report so let's assume
1177  // it's not an issue. I don't think anyone ever specifies width on <html>
1178  // anyway.
1179  // Browsers where the left scrollbar doesn't cause an issue report `0` for
1180  // this (e.g. Edge 2019, IE11, Safari)
1181  return (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element)).left + (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element).scrollLeft;
1182}
1183
1184/***/ }),
1185
vendor: 1,527 bytes, lines 1186-1223
1186/***/ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js":
1187/*!*****************************************************************!*\
1188  !*** ./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js ***!
1189  \*****************************************************************/
1190/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1191
1192/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1193/* harmony export */   isElement: () => (/* binding */ isElement),
1194/* harmony export */   isHTMLElement: () => (/* binding */ isHTMLElement),
1195/* harmony export */   isShadowRoot: () => (/* binding */ isShadowRoot)
1196/* harmony export */ });
1197/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js");
1198
1199
1200function isElement(node) {
1201  var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).Element;
1202  return node instanceof OwnElement || node instanceof Element;
1203}
1204
1205function isHTMLElement(node) {
1206  var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).HTMLElement;
1207  return node instanceof OwnElement || node instanceof HTMLElement;
1208}
1209
1210function isShadowRoot(node) {
1211  // IE 11 has no ShadowRoot
1212  if (typeof ShadowRoot === 'undefined') {
1213    return false;
1214  }
1215
1216  var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).ShadowRoot;
1217  return node instanceof OwnElement || node instanceof ShadowRoot;
1218}
1219
1220
1221
1222/***/ }),
1223
vendor: 891 bytes, lines 1224-1240
1224/***/ "./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js":
1225/*!***********************************************************************!*\
1226  !*** ./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js ***!
1227  \***********************************************************************/
1228/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1229
1230/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1231/* harmony export */   "default": () => (/* binding */ isLayoutViewport)
1232/* harmony export */ });
1233/* harmony import */ var _utils_userAgent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/userAgent.js */ "./node_modules/@popperjs/core/lib/utils/userAgent.js");
1234
1235function isLayoutViewport() {
1236  return !/^((?!chrome|android).)*safari/i.test((0,_utils_userAgent_js__WEBPACK_IMPORTED_MODULE_0__["default"])());
1237}
1238
1239/***/ }),
1240
vendor: 1,165 bytes, lines 1241-1263
1241/***/ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js":
1242/*!*********************************************************************!*\
1243  !*** ./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js ***!
1244  \*********************************************************************/
1245/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1246
1247/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1248/* harmony export */   "default": () => (/* binding */ isScrollParent)
1249/* harmony export */ });
1250/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js");
1251
1252function isScrollParent(element) {
1253  // Firefox wants us to check `-x` and `-y` variations as well
1254  var _getComputedStyle = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element),
1255      overflow = _getComputedStyle.overflow,
1256      overflowX = _getComputedStyle.overflowX,
1257      overflowY = _getComputedStyle.overflowY;
1258
1259  return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
1260}
1261
1262/***/ }),
1263
vendor: 882 bytes, lines 1264-1280
1264/***/ "./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js":
1265/*!*********************************************************************!*\
1266  !*** ./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js ***!
1267  \*********************************************************************/
1268/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1269
1270/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1271/* harmony export */   "default": () => (/* binding */ isTableElement)
1272/* harmony export */ });
1273/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js");
1274
1275function isTableElement(element) {
1276  return ['table', 'td', 'th'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element)) >= 0;
1277}
1278
1279/***/ }),
1280
vendor: 2,471 bytes, lines 1281-1322
1281/***/ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js":
1282/*!************************************************************************!*\
1283  !*** ./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js ***!
1284  \************************************************************************/
1285/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1286
1287/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1288/* harmony export */   "default": () => (/* binding */ listScrollParents)
1289/* harmony export */ });
1290/* harmony import */ var _getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js");
1291/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js");
1292/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js");
1293/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js");
1294
1295
1296
1297
1298/*
1299given a DOM element, return the list of all scroll parents, up the list of ancesors
1300until we get to the top window object. This list is what we attach scroll listeners
1301to, because if any of these parent elements scroll, we'll need to re-calculate the
1302reference element's position.
1303*/
1304
1305function listScrollParents(element, list) {
1306  var _element$ownerDocumen;
1307
1308  if (list === void 0) {
1309    list = [];
1310  }
1311
1312  var scrollParent = (0,_getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element);
1313  var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
1314  var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_2__["default"])(scrollParent);
1315  var target = isBody ? [win].concat(win.visualViewport || [], (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_3__["default"])(scrollParent) ? scrollParent : []) : scrollParent;
1316  var updatedList = list.concat(target);
1317  return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
1318  updatedList.concat(listScrollParents((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_1__["default"])(target)));
1319}
1320
1321/***/ }),
1322
vendor: 3,140 bytes, lines 1323-1388
1323/***/ "./node_modules/@popperjs/core/lib/enums.js":
1324/*!**************************************************!*\
1325  !*** ./node_modules/@popperjs/core/lib/enums.js ***!
1326  \**************************************************/
1327/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1328
1329/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1330/* harmony export */   afterMain: () => (/* binding */ afterMain),
1331/* harmony export */   afterRead: () => (/* binding */ afterRead),
1332/* harmony export */   afterWrite: () => (/* binding */ afterWrite),
1333/* harmony export */   auto: () => (/* binding */ auto),
1334/* harmony export */   basePlacements: () => (/* binding */ basePlacements),
1335/* harmony export */   beforeMain: () => (/* binding */ beforeMain),
1336/* harmony export */   beforeRead: () => (/* binding */ beforeRead),
1337/* harmony export */   beforeWrite: () => (/* binding */ beforeWrite),
1338/* harmony export */   bottom: () => (/* binding */ bottom),
1339/* harmony export */   clippingParents: () => (/* binding */ clippingParents),
1340/* harmony export */   end: () => (/* binding */ end),
1341/* harmony export */   left: () => (/* binding */ left),
1342/* harmony export */   main: () => (/* binding */ main),
1343/* harmony export */   modifierPhases: () => (/* binding */ modifierPhases),
1344/* harmony export */   placements: () => (/* binding */ placements),
1345/* harmony export */   popper: () => (/* binding */ popper),
1346/* harmony export */   read: () => (/* binding */ read),
1347/* harmony export */   reference: () => (/* binding */ reference),
1348/* harmony export */   right: () => (/* binding */ right),
1349/* harmony export */   start: () => (/* binding */ start),
1350/* harmony export */   top: () => (/* binding */ top),
1351/* harmony export */   variationPlacements: () => (/* binding */ variationPlacements),
1352/* harmony export */   viewport: () => (/* binding */ viewport),
1353/* harmony export */   write: () => (/* binding */ write)
1354/* harmony export */ });
1355var top = 'top';
1356var bottom = 'bottom';
1357var right = 'right';
1358var left = 'left';
1359var auto = 'auto';
1360var basePlacements = [top, bottom, right, left];
1361var start = 'start';
1362var end = 'end';
1363var clippingParents = 'clippingParents';
1364var viewport = 'viewport';
1365var popper = 'popper';
1366var reference = 'reference';
1367var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {
1368  return acc.concat([placement + "-" + start, placement + "-" + end]);
1369}, []);
1370var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {
1371  return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
1372}, []); // modifiers that need to read the DOM
1373
1374var beforeRead = 'beforeRead';
1375var read = 'read';
1376var afterRead = 'afterRead'; // pure-logic modifiers
1377
1378var beforeMain = 'beforeMain';
1379var main = 'main';
1380var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)
1381
1382var beforeWrite = 'beforeWrite';
1383var write = 'write';
1384var afterWrite = 'afterWrite';
1385var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
1386
1387/***/ }),
1388
vendor: 6,008 bytes, lines 1389-1452
1389/***/ "./node_modules/@popperjs/core/lib/index.js":
1390/*!**************************************************!*\
1391  !*** ./node_modules/@popperjs/core/lib/index.js ***!
1392  \**************************************************/
1393/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1394
1395__webpack_require__.r(__webpack_exports__);
1396/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1397/* harmony export */   afterMain: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterMain),
1398/* harmony export */   afterRead: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterRead),
1399/* harmony export */   afterWrite: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterWrite),
1400/* harmony export */   applyStyles: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.applyStyles),
1401/* harmony export */   arrow: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.arrow),
1402/* harmony export */   auto: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.auto),
1403/* harmony export */   basePlacements: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.basePlacements),
1404/* harmony export */   beforeMain: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeMain),
1405/* harmony export */   beforeRead: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeRead),
1406/* harmony export */   beforeWrite: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeWrite),
1407/* harmony export */   bottom: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom),
1408/* harmony export */   clippingParents: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.clippingParents),
1409/* harmony export */   computeStyles: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.computeStyles),
1410/* harmony export */   createPopper: () => (/* reexport safe */ _popper_js__WEBPACK_IMPORTED_MODULE_4__.createPopper),
1411/* harmony export */   createPopperBase: () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_2__.createPopper),
1412/* harmony export */   createPopperLite: () => (/* reexport safe */ _popper_lite_js__WEBPACK_IMPORTED_MODULE_5__.createPopper),
1413/* harmony export */   detectOverflow: () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_3__["default"]),
1414/* harmony export */   end: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.end),
1415/* harmony export */   eventListeners: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.eventListeners),
1416/* harmony export */   flip: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.flip),
1417/* harmony export */   hide: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.hide),
1418/* harmony export */   left: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.left),
1419/* harmony export */   main: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.main),
1420/* harmony export */   modifierPhases: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.modifierPhases),
1421/* harmony export */   offset: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.offset),
1422/* harmony export */   placements: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.placements),
1423/* harmony export */   popper: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper),
1424/* harmony export */   popperGenerator: () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_2__.popperGenerator),
1425/* harmony export */   popperOffsets: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.popperOffsets),
1426/* harmony export */   preventOverflow: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.preventOverflow),
1427/* harmony export */   read: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.read),
1428/* harmony export */   reference: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.reference),
1429/* harmony export */   right: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.right),
1430/* harmony export */   start: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.start),
1431/* harmony export */   top: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.top),
1432/* harmony export */   variationPlacements: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements),
1433/* harmony export */   viewport: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.viewport),
1434/* harmony export */   write: () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.write)
1435/* harmony export */ });
1436/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enums.js */ "./node_modules/@popperjs/core/lib/enums.js");
1437/* harmony import */ var _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/index.js */ "./node_modules/@popperjs/core/lib/modifiers/index.js");
1438/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js");
1439/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js");
1440/* harmony import */ var _popper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./popper.js */ "./node_modules/@popperjs/core/lib/popper.js");
1441/* harmony import */ var _popper_lite_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./popper-lite.js */ "./node_modules/@popperjs/core/lib/popper-lite.js");
1442
1443 // eslint-disable-next-line import/no-unused-modules
1444
1445 // eslint-disable-next-line import/no-unused-modules
1446
1447 // eslint-disable-next-line import/no-unused-modules
1448
1449
1450
1451/***/ }),
1452
vendor: 3,631 bytes, lines 1453-1550
1453/***/ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js":
1454/*!******************************************************************!*\
1455  !*** ./node_modules/@popperjs/core/lib/modifiers/applyStyles.js ***!
1456  \******************************************************************/
1457/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1458
1459/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1460/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1461/* harmony export */ });
1462/* harmony import */ var _dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-utils/getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js");
1463/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom-utils/instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js");
1464
1465 // This modifier takes the styles prepared by the `computeStyles` modifier
1466// and applies them to the HTMLElements such as popper and arrow
1467
1468function applyStyles(_ref) {
1469  var state = _ref.state;
1470  Object.keys(state.elements).forEach(function (name) {
1471    var style = state.styles[name] || {};
1472    var attributes = state.attributes[name] || {};
1473    var element = state.elements[name]; // arrow is optional + virtual elements
1474
1475    if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(element) || !(0,_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element)) {
1476      return;
1477    } // Flow doesn't support to extend this property, but it's the most
1478    // effective way to apply styles to an HTMLElement
1479    // $FlowFixMe[cannot-write]
1480
1481
1482    Object.assign(element.style, style);
1483    Object.keys(attributes).forEach(function (name) {
1484      var value = attributes[name];
1485
1486      if (value === false) {
1487        element.removeAttribute(name);
1488      } else {
1489        element.setAttribute(name, value === true ? '' : value);
1490      }
1491    });
1492  });
1493}
1494
1495function effect(_ref2) {
1496  var state = _ref2.state;
1497  var initialStyles = {
1498    popper: {
1499      position: state.options.strategy,
1500      left: '0',
1501      top: '0',
1502      margin: '0'
1503    },
1504    arrow: {
1505      position: 'absolute'
1506    },
1507    reference: {}
1508  };
1509  Object.assign(state.elements.popper.style, initialStyles.popper);
1510  state.styles = initialStyles;
1511
1512  if (state.elements.arrow) {
1513    Object.assign(state.elements.arrow.style, initialStyles.arrow);
1514  }
1515
1516  return function () {
1517    Object.keys(state.elements).forEach(function (name) {
1518      var element = state.elements[name];
1519      var attributes = state.attributes[name] || {};
1520      var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them
1521
1522      var style = styleProperties.reduce(function (style, property) {
1523        style[property] = '';
1524        return style;
1525      }, {}); // arrow is optional + virtual elements
1526
1527      if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(element) || !(0,_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element)) {
1528        return;
1529      }
1530
1531      Object.assign(element.style, style);
1532      Object.keys(attributes).forEach(function (attribute) {
1533        element.removeAttribute(attribute);
1534      });
1535    });
1536  };
1537} // eslint-disable-next-line import/no-unused-modules
1538
1539
1540/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
1541  name: 'applyStyles',
1542  enabled: true,
1543  phase: 'write',
1544  fn: applyStyles,
1545  effect: effect,
1546  requires: ['computeStyles']
1547});
1548
1549/***/ }),
1550
vendor: 5,932 bytes, lines 1551-1661
1551/***/ "./node_modules/@popperjs/core/lib/modifiers/arrow.js":
1552/*!************************************************************!*\
1553  !*** ./node_modules/@popperjs/core/lib/modifiers/arrow.js ***!
1554  \************************************************************/
1555/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1556
1557/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1558/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1559/* harmony export */ });
1560/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js");
1561/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom-utils/getLayoutRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js");
1562/* harmony import */ var _dom_utils_contains_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dom-utils/contains.js */ "./node_modules/@popperjs/core/lib/dom-utils/contains.js");
1563/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js");
1564/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js");
1565/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/within.js */ "./node_modules/@popperjs/core/lib/utils/within.js");
1566/* harmony import */ var _utils_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/mergePaddingObject.js */ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js");
1567/* harmony import */ var _utils_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/expandToHashMap.js */ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js");
1568/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js");
1569
1570
1571
1572
1573
1574
1575
1576
1577 // eslint-disable-next-line import/no-unused-modules
1578
1579var toPaddingObject = function toPaddingObject(padding, state) {
1580  padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {
1581    placement: state.placement
1582  })) : padding;
1583  return (0,_utils_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_6__["default"])(typeof padding !== 'number' ? padding : (0,_utils_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_7__["default"])(padding, _enums_js__WEBPACK_IMPORTED_MODULE_8__.basePlacements));
1584};
1585
1586function arrow(_ref) {
1587  var _state$modifiersData$;
1588
1589  var state = _ref.state,
1590      name = _ref.name,
1591      options = _ref.options;
1592  var arrowElement = state.elements.arrow;
1593  var popperOffsets = state.modifiersData.popperOffsets;
1594  var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(state.placement);
1595  var axis = (0,_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__["default"])(basePlacement);
1596  var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_8__.left, _enums_js__WEBPACK_IMPORTED_MODULE_8__.right].indexOf(basePlacement) >= 0;
1597  var len = isVertical ? 'height' : 'width';
1598
1599  if (!arrowElement || !popperOffsets) {
1600    return;
1601  }
1602
1603  var paddingObject = toPaddingObject(options.padding, state);
1604  var arrowRect = (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arrowElement);
1605  var minProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_8__.top : _enums_js__WEBPACK_IMPORTED_MODULE_8__.left;
1606  var maxProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_8__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_8__.right;
1607  var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];
1608  var startDiff = popperOffsets[axis] - state.rects.reference[axis];
1609  var arrowOffsetParent = (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_3__["default"])(arrowElement);
1610  var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;
1611  var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is
1612  // outside of the popper bounds
1613
1614  var min = paddingObject[minProp];
1615  var max = clientSize - arrowRect[len] - paddingObject[maxProp];
1616  var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;
1617  var offset = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_5__.within)(min, center, max); // Prevents breaking syntax highlighting...
1618
1619  var axisProp = axis;
1620  state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);
1621}
1622
1623function effect(_ref2) {
1624  var state = _ref2.state,
1625      options = _ref2.options;
1626  var _options$element = options.element,
1627      arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;
1628
1629  if (arrowElement == null) {
1630    return;
1631  } // CSS selector
1632
1633
1634  if (typeof arrowElement === 'string') {
1635    arrowElement = state.elements.popper.querySelector(arrowElement);
1636
1637    if (!arrowElement) {
1638      return;
1639    }
1640  }
1641
1642  if (!(0,_dom_utils_contains_js__WEBPACK_IMPORTED_MODULE_2__["default"])(state.elements.popper, arrowElement)) {
1643    return;
1644  }
1645
1646  state.elements.arrow = arrowElement;
1647} // eslint-disable-next-line import/no-unused-modules
1648
1649
1650/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
1651  name: 'arrow',
1652  enabled: true,
1653  phase: 'main',
1654  fn: arrow,
1655  effect: effect,
1656  requires: ['popperOffsets'],
1657  requiresIfExists: ['preventOverflow']
1658});
1659
1660/***/ }),
1661
vendor: 8,400 bytes, lines 1662-1851
1662/***/ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js":
1663/*!********************************************************************!*\
1664  !*** ./node_modules/@popperjs/core/lib/modifiers/computeStyles.js ***!
1665  \********************************************************************/
1666/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1667
1668/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1669/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1670/* harmony export */ });
1671/* unused harmony export mapToStyles */
1672/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js");
1673/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js");
1674/* harmony import */ var _dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dom-utils/getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js");
1675/* harmony import */ var _dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dom-utils/getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js");
1676/* harmony import */ var _dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../dom-utils/getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js");
1677/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js");
1678/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js");
1679/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js");
1680
1681
1682
1683
1684
1685
1686
1687 // eslint-disable-next-line import/no-unused-modules
1688
1689var unsetSides = {
1690  top: 'auto',
1691  right: 'auto',
1692  bottom: 'auto',
1693  left: 'auto'
1694}; // Round the offsets to the nearest suitable subpixel based on the DPR.
1695// Zooming can change the DPR, but it seems to report a value that will
1696// cleanly divide the values into the appropriate subpixels.
1697
1698function roundOffsetsByDPR(_ref, win) {
1699  var x = _ref.x,
1700      y = _ref.y;
1701  var dpr = win.devicePixelRatio || 1;
1702  return {
1703    x: (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_7__.round)(x * dpr) / dpr || 0,
1704    y: (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_7__.round)(y * dpr) / dpr || 0
1705  };
1706}
1707
1708function mapToStyles(_ref2) {
1709  var _Object$assign2;
1710
1711  var popper = _ref2.popper,
1712      popperRect = _ref2.popperRect,
1713      placement = _ref2.placement,
1714      variation = _ref2.variation,
1715      offsets = _ref2.offsets,
1716      position = _ref2.position,
1717      gpuAcceleration = _ref2.gpuAcceleration,
1718      adaptive = _ref2.adaptive,
1719      roundOffsets = _ref2.roundOffsets,
1720      isFixed = _ref2.isFixed;
1721  var _offsets$x = offsets.x,
1722      x = _offsets$x === void 0 ? 0 : _offsets$x,
1723      _offsets$y = offsets.y,
1724      y = _offsets$y === void 0 ? 0 : _offsets$y;
1725
1726  var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({
1727    x: x,
1728    y: y
1729  }) : {
1730    x: x,
1731    y: y
1732  };
1733
1734  x = _ref3.x;
1735  y = _ref3.y;
1736  var hasX = offsets.hasOwnProperty('x');
1737  var hasY = offsets.hasOwnProperty('y');
1738  var sideX = _enums_js__WEBPACK_IMPORTED_MODULE_0__.left;
1739  var sideY = _enums_js__WEBPACK_IMPORTED_MODULE_0__.top;
1740  var win = window;
1741
1742  if (adaptive) {
1743    var offsetParent = (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_1__["default"])(popper);
1744    var heightProp = 'clientHeight';
1745    var widthProp = 'clientWidth';
1746
1747    if (offsetParent === (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_2__["default"])(popper)) {
1748      offsetParent = (0,_dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(popper);
1749
1750      if ((0,_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__["default"])(offsetParent).position !== 'static' && position === 'absolute') {
1751        heightProp = 'scrollHeight';
1752        widthProp = 'scrollWidth';
1753      }
1754    } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it
1755
1756
1757    offsetParent = offsetParent;
1758
1759    if (placement === _enums_js__WEBPACK_IMPORTED_MODULE_0__.top || (placement === _enums_js__WEBPACK_IMPORTED_MODULE_0__.left || placement === _enums_js__WEBPACK_IMPORTED_MODULE_0__.right) && variation === _enums_js__WEBPACK_IMPORTED_MODULE_0__.end) {
1760      sideY = _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom;
1761      var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
1762      offsetParent[heightProp];
1763      y -= offsetY - popperRect.height;
1764      y *= gpuAcceleration ? 1 : -1;
1765    }
1766
1767    if (placement === _enums_js__WEBPACK_IMPORTED_MODULE_0__.left || (placement === _enums_js__WEBPACK_IMPORTED_MODULE_0__.top || placement === _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom) && variation === _enums_js__WEBPACK_IMPORTED_MODULE_0__.end) {
1768      sideX = _enums_js__WEBPACK_IMPORTED_MODULE_0__.right;
1769      var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
1770      offsetParent[widthProp];
1771      x -= offsetX - popperRect.width;
1772      x *= gpuAcceleration ? 1 : -1;
1773    }
1774  }
1775
1776  var commonStyles = Object.assign({
1777    position: position
1778  }, adaptive && unsetSides);
1779
1780  var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
1781    x: x,
1782    y: y
1783  }, (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_2__["default"])(popper)) : {
1784    x: x,
1785    y: y
1786  };
1787
1788  x = _ref4.x;
1789  y = _ref4.y;
1790
1791  if (gpuAcceleration) {
1792    var _Object$assign;
1793
1794    return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
1795  }
1796
1797  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
1798}
1799
1800function computeStyles(_ref5) {
1801  var state = _ref5.state,
1802      options = _ref5.options;
1803  var _options$gpuAccelerat = options.gpuAcceleration,
1804      gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
1805      _options$adaptive = options.adaptive,
1806      adaptive = _options$adaptive === void 0 ? true : _options$adaptive,
1807      _options$roundOffsets = options.roundOffsets,
1808      roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
1809  var commonStyles = {
1810    placement: (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_5__["default"])(state.placement),
1811    variation: (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state.placement),
1812    popper: state.elements.popper,
1813    popperRect: state.rects.popper,
1814    gpuAcceleration: gpuAcceleration,
1815    isFixed: state.options.strategy === 'fixed'
1816  };
1817
1818  if (state.modifiersData.popperOffsets != null) {
1819    state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
1820      offsets: state.modifiersData.popperOffsets,
1821      position: state.options.strategy,
1822      adaptive: adaptive,
1823      roundOffsets: roundOffsets
1824    })));
1825  }
1826
1827  if (state.modifiersData.arrow != null) {
1828    state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
1829      offsets: state.modifiersData.arrow,
1830      position: 'absolute',
1831      adaptive: false,
1832      roundOffsets: roundOffsets
1833    })));
1834  }
1835
1836  state.attributes.popper = Object.assign({}, state.attributes.popper, {
1837    'data-popper-placement': state.placement
1838  });
1839} // eslint-disable-next-line import/no-unused-modules
1840
1841
1842/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
1843  name: 'computeStyles',
1844  enabled: true,
1845  phase: 'beforeWrite',
1846  fn: computeStyles,
1847  data: {}
1848});
1849
1850/***/ }),
1851
vendor: 2,132 bytes, lines 1852-1913
1852/***/ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js":
1853/*!*********************************************************************!*\
1854  !*** ./node_modules/@popperjs/core/lib/modifiers/eventListeners.js ***!
1855  \*********************************************************************/
1856/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1857
1858/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1859/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1860/* harmony export */ });
1861/* harmony import */ var _dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-utils/getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js");
1862 // eslint-disable-next-line import/no-unused-modules
1863
1864var passive = {
1865  passive: true
1866};
1867
1868function effect(_ref) {
1869  var state = _ref.state,
1870      instance = _ref.instance,
1871      options = _ref.options;
1872  var _options$scroll = options.scroll,
1873      scroll = _options$scroll === void 0 ? true : _options$scroll,
1874      _options$resize = options.resize,
1875      resize = _options$resize === void 0 ? true : _options$resize;
1876  var window = (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(state.elements.popper);
1877  var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
1878
1879  if (scroll) {
1880    scrollParents.forEach(function (scrollParent) {
1881      scrollParent.addEventListener('scroll', instance.update, passive);
1882    });
1883  }
1884
1885  if (resize) {
1886    window.addEventListener('resize', instance.update, passive);
1887  }
1888
1889  return function () {
1890    if (scroll) {
1891      scrollParents.forEach(function (scrollParent) {
1892        scrollParent.removeEventListener('scroll', instance.update, passive);
1893      });
1894    }
1895
1896    if (resize) {
1897      window.removeEventListener('resize', instance.update, passive);
1898    }
1899  };
1900} // eslint-disable-next-line import/no-unused-modules
1901
1902
1903/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
1904  name: 'eventListeners',
1905  enabled: true,
1906  phase: 'write',
1907  fn: function fn() {},
1908  effect: effect,
1909  data: {}
1910});
1911
1912/***/ }),
1913
vendor: 7,480 bytes, lines 1914-2079
1914/***/ "./node_modules/@popperjs/core/lib/modifiers/flip.js":
1915/*!***********************************************************!*\
1916  !*** ./node_modules/@popperjs/core/lib/modifiers/flip.js ***!
1917  \***********************************************************/
1918/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1919
1920/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1921/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1922/* harmony export */ });
1923/* harmony import */ var _utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getOppositePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js");
1924/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js");
1925/* harmony import */ var _utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getOppositeVariationPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js");
1926/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js");
1927/* harmony import */ var _utils_computeAutoPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/computeAutoPlacement.js */ "./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js");
1928/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js");
1929/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js");
1930
1931
1932
1933
1934
1935
1936 // eslint-disable-next-line import/no-unused-modules
1937
1938function getExpandedFallbackPlacements(placement) {
1939  if ((0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_5__.auto) {
1940    return [];
1941  }
1942
1943  var oppositePlacement = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement);
1944  return [(0,_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(placement), oppositePlacement, (0,_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(oppositePlacement)];
1945}
1946
1947function flip(_ref) {
1948  var state = _ref.state,
1949      options = _ref.options,
1950      name = _ref.name;
1951
1952  if (state.modifiersData[name]._skip) {
1953    return;
1954  }
1955
1956  var _options$mainAxis = options.mainAxis,
1957      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,
1958      _options$altAxis = options.altAxis,
1959      checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,
1960      specifiedFallbackPlacements = options.fallbackPlacements,
1961      padding = options.padding,
1962      boundary = options.boundary,
1963      rootBoundary = options.rootBoundary,
1964      altBoundary = options.altBoundary,
1965      _options$flipVariatio = options.flipVariations,
1966      flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,
1967      allowedAutoPlacements = options.allowedAutoPlacements;
1968  var preferredPlacement = state.options.placement;
1969  var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(preferredPlacement);
1970  var isBasePlacement = basePlacement === preferredPlacement;
1971  var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [(0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
1972  var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {
1973    return acc.concat((0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_5__.auto ? (0,_utils_computeAutoPlacement_js__WEBPACK_IMPORTED_MODULE_4__["default"])(state, {
1974      placement: placement,
1975      boundary: boundary,
1976      rootBoundary: rootBoundary,
1977      padding: padding,
1978      flipVariations: flipVariations,
1979      allowedAutoPlacements: allowedAutoPlacements
1980    }) : placement);
1981  }, []);
1982  var referenceRect = state.rects.reference;
1983  var popperRect = state.rects.popper;
1984  var checksMap = new Map();
1985  var makeFallbackChecks = true;
1986  var firstFittingPlacement = placements[0];
1987
1988  for (var i = 0; i < placements.length; i++) {
1989    var placement = placements[i];
1990
1991    var _basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement);
1992
1993    var isStartVariation = (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_6__["default"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_5__.start;
1994    var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_5__.top, _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom].indexOf(_basePlacement) >= 0;
1995    var len = isVertical ? 'width' : 'height';
1996    var overflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_3__["default"])(state, {
1997      placement: placement,
1998      boundary: boundary,
1999      rootBoundary: rootBoundary,
2000      altBoundary: altBoundary,
2001      padding: padding
2002    });
2003    var mainVariationSide = isVertical ? isStartVariation ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.right : _enums_js__WEBPACK_IMPORTED_MODULE_5__.left : isStartVariation ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_5__.top;
2004
2005    if (referenceRect[len] > popperRect[len]) {
2006      mainVariationSide = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(mainVariationSide);
2007    }
2008
2009    var altVariationSide = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(mainVariationSide);
2010    var checks = [];
2011
2012    if (checkMainAxis) {
2013      checks.push(overflow[_basePlacement] <= 0);
2014    }
2015
2016    if (checkAltAxis) {
2017      checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);
2018    }
2019
2020    if (checks.every(function (check) {
2021      return check;
2022    })) {
2023      firstFittingPlacement = placement;
2024      makeFallbackChecks = false;
2025      break;
2026    }
2027
2028    checksMap.set(placement, checks);
2029  }
2030
2031  if (makeFallbackChecks) {
2032    // `2` may be desired in some cases – research later
2033    var numberOfChecks = flipVariations ? 3 : 1;
2034
2035    var _loop = function _loop(_i) {
2036      var fittingPlacement = placements.find(function (placement) {
2037        var checks = checksMap.get(placement);
2038
2039        if (checks) {
2040          return checks.slice(0, _i).every(function (check) {
2041            return check;
2042          });
2043        }
2044      });
2045
2046      if (fittingPlacement) {
2047        firstFittingPlacement = fittingPlacement;
2048        return "break";
2049      }
2050    };
2051
2052    for (var _i = numberOfChecks; _i > 0; _i--) {
2053      var _ret = _loop(_i);
2054
2055      if (_ret === "break") break;
2056    }
2057  }
2058
2059  if (state.placement !== firstFittingPlacement) {
2060    state.modifiersData[name]._skip = true;
2061    state.placement = firstFittingPlacement;
2062    state.reset = true;
2063  }
2064} // eslint-disable-next-line import/no-unused-modules
2065
2066
2067/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
2068  name: 'flip',
2069  enabled: true,
2070  phase: 'main',
2071  fn: flip,
2072  requiresIfExists: ['offset'],
2073  data: {
2074    _skip: false
2075  }
2076});
2077
2078/***/ }),
2079
vendor: 3,016 bytes, lines 2080-2154
2080/***/ "./node_modules/@popperjs/core/lib/modifiers/hide.js":
2081/*!***********************************************************!*\
2082  !*** ./node_modules/@popperjs/core/lib/modifiers/hide.js ***!
2083  \***********************************************************/
2084/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2085
2086/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2087/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2088/* harmony export */ });
2089/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js");
2090/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js");
2091
2092
2093
2094function getSideOffsets(overflow, rect, preventedOffsets) {
2095  if (preventedOffsets === void 0) {
2096    preventedOffsets = {
2097      x: 0,
2098      y: 0
2099    };
2100  }
2101
2102  return {
2103    top: overflow.top - rect.height - preventedOffsets.y,
2104    right: overflow.right - rect.width + preventedOffsets.x,
2105    bottom: overflow.bottom - rect.height + preventedOffsets.y,
2106    left: overflow.left - rect.width - preventedOffsets.x
2107  };
2108}
2109
2110function isAnySideFullyClipped(overflow) {
2111  return [_enums_js__WEBPACK_IMPORTED_MODULE_0__.top, _enums_js__WEBPACK_IMPORTED_MODULE_0__.right, _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom, _enums_js__WEBPACK_IMPORTED_MODULE_0__.left].some(function (side) {
2112    return overflow[side] >= 0;
2113  });
2114}
2115
2116function hide(_ref) {
2117  var state = _ref.state,
2118      name = _ref.name;
2119  var referenceRect = state.rects.reference;
2120  var popperRect = state.rects.popper;
2121  var preventedOffsets = state.modifiersData.preventOverflow;
2122  var referenceOverflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state, {
2123    elementContext: 'reference'
2124  });
2125  var popperAltOverflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state, {
2126    altBoundary: true
2127  });
2128  var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);
2129  var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
2130  var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);
2131  var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);
2132  state.modifiersData[name] = {
2133    referenceClippingOffsets: referenceClippingOffsets,
2134    popperEscapeOffsets: popperEscapeOffsets,
2135    isReferenceHidden: isReferenceHidden,
2136    hasPopperEscaped: hasPopperEscaped
2137  };
2138  state.attributes.popper = Object.assign({}, state.attributes.popper, {
2139    'data-popper-reference-hidden': isReferenceHidden,
2140    'data-popper-escaped': hasPopperEscaped
2141  });
2142} // eslint-disable-next-line import/no-unused-modules
2143
2144
2145/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
2146  name: 'hide',
2147  enabled: true,
2148  phase: 'main',
2149  requiresIfExists: ['preventOverflow'],
2150  fn: hide
2151});
2152
2153/***/ }),
2154
vendor: 3,081 bytes, lines 2155-2192
2155/***/ "./node_modules/@popperjs/core/lib/modifiers/index.js":
2156/*!************************************************************!*\
2157  !*** ./node_modules/@popperjs/core/lib/modifiers/index.js ***!
2158  \************************************************************/
2159/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2160
2161/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2162/* harmony export */   applyStyles: () => (/* reexport safe */ _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__["default"]),
2163/* harmony export */   arrow: () => (/* reexport safe */ _arrow_js__WEBPACK_IMPORTED_MODULE_1__["default"]),
2164/* harmony export */   computeStyles: () => (/* reexport safe */ _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__["default"]),
2165/* harmony export */   eventListeners: () => (/* reexport safe */ _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__["default"]),
2166/* harmony export */   flip: () => (/* reexport safe */ _flip_js__WEBPACK_IMPORTED_MODULE_4__["default"]),
2167/* harmony export */   hide: () => (/* reexport safe */ _hide_js__WEBPACK_IMPORTED_MODULE_5__["default"]),
2168/* harmony export */   offset: () => (/* reexport safe */ _offset_js__WEBPACK_IMPORTED_MODULE_6__["default"]),
2169/* harmony export */   popperOffsets: () => (/* reexport safe */ _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__["default"]),
2170/* harmony export */   preventOverflow: () => (/* reexport safe */ _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__["default"])
2171/* harmony export */ });
2172/* harmony import */ var _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js");
2173/* harmony import */ var _arrow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arrow.js */ "./node_modules/@popperjs/core/lib/modifiers/arrow.js");
2174/* harmony import */ var _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js");
2175/* harmony import */ var _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js");
2176/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./flip.js */ "./node_modules/@popperjs/core/lib/modifiers/flip.js");
2177/* harmony import */ var _hide_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hide.js */ "./node_modules/@popperjs/core/lib/modifiers/hide.js");
2178/* harmony import */ var _offset_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./offset.js */ "./node_modules/@popperjs/core/lib/modifiers/offset.js");
2179/* harmony import */ var _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js");
2180/* harmony import */ var _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./preventOverflow.js */ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js");
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191/***/ }),
2192
vendor: 2,711 bytes, lines 2193-2261
2193/***/ "./node_modules/@popperjs/core/lib/modifiers/offset.js":
2194/*!*************************************************************!*\
2195  !*** ./node_modules/@popperjs/core/lib/modifiers/offset.js ***!
2196  \*************************************************************/
2197/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2198
2199/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2200/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2201/* harmony export */ });
2202/* unused harmony export distanceAndSkiddingToXY */
2203/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js");
2204/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js");
2205
2206 // eslint-disable-next-line import/no-unused-modules
2207
2208function distanceAndSkiddingToXY(placement, rects, offset) {
2209  var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement);
2210  var invertDistance = [_enums_js__WEBPACK_IMPORTED_MODULE_1__.left, _enums_js__WEBPACK_IMPORTED_MODULE_1__.top].indexOf(basePlacement) >= 0 ? -1 : 1;
2211
2212  var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {
2213    placement: placement
2214  })) : offset,
2215      skidding = _ref[0],
2216      distance = _ref[1];
2217
2218  skidding = skidding || 0;
2219  distance = (distance || 0) * invertDistance;
2220  return [_enums_js__WEBPACK_IMPORTED_MODULE_1__.left, _enums_js__WEBPACK_IMPORTED_MODULE_1__.right].indexOf(basePlacement) >= 0 ? {
2221    x: distance,
2222    y: skidding
2223  } : {
2224    x: skidding,
2225    y: distance
2226  };
2227}
2228
2229function offset(_ref2) {
2230  var state = _ref2.state,
2231      options = _ref2.options,
2232      name = _ref2.name;
2233  var _options$offset = options.offset,
2234      offset = _options$offset === void 0 ? [0, 0] : _options$offset;
2235  var data = _enums_js__WEBPACK_IMPORTED_MODULE_1__.placements.reduce(function (acc, placement) {
2236    acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);
2237    return acc;
2238  }, {});
2239  var _data$state$placement = data[state.placement],
2240      x = _data$state$placement.x,
2241      y = _data$state$placement.y;
2242
2243  if (state.modifiersData.popperOffsets != null) {
2244    state.modifiersData.popperOffsets.x += x;
2245    state.modifiersData.popperOffsets.y += y;
2246  }
2247
2248  state.modifiersData[name] = data;
2249} // eslint-disable-next-line import/no-unused-modules
2250
2251
2252/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
2253  name: 'offset',
2254  enabled: true,
2255  phase: 'main',
2256  requires: ['popperOffsets'],
2257  fn: offset
2258});
2259
2260/***/ }),
2261
vendor: 1,497 bytes, lines 2262-2299
2262/***/ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js":
2263/*!********************************************************************!*\
2264  !*** ./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js ***!
2265  \********************************************************************/
2266/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2267
2268/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2269/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2270/* harmony export */ });
2271/* harmony import */ var _utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/computeOffsets.js */ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js");
2272
2273
2274function popperOffsets(_ref) {
2275  var state = _ref.state,
2276      name = _ref.name;
2277  // Offsets are the actual position the popper needs to have to be
2278  // properly positioned near its reference element
2279  // This is the most basic placement, and will be adjusted by
2280  // the modifiers in the next step
2281  state.modifiersData[name] = (0,_utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
2282    reference: state.rects.reference,
2283    element: state.rects.popper,
2284    strategy: 'absolute',
2285    placement: state.placement
2286  });
2287} // eslint-disable-next-line import/no-unused-modules
2288
2289
2290/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
2291  name: 'popperOffsets',
2292  enabled: true,
2293  phase: 'read',
2294  fn: popperOffsets,
2295  data: {}
2296});
2297
2298/***/ }),
2299
vendor: 9,846 bytes, lines 2300-2464
2300/***/ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js":
2301/*!**********************************************************************!*\
2302  !*** ./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js ***!
2303  \**********************************************************************/
2304/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2305
2306/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2307/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2308/* harmony export */ });
2309/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js");
2310/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js");
2311/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js");
2312/* harmony import */ var _utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getAltAxis.js */ "./node_modules/@popperjs/core/lib/utils/getAltAxis.js");
2313/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/within.js */ "./node_modules/@popperjs/core/lib/utils/within.js");
2314/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dom-utils/getLayoutRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js");
2315/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js");
2316/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js");
2317/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js");
2318/* harmony import */ var _utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/getFreshSideObject.js */ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js");
2319/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js");
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332function preventOverflow(_ref) {
2333  var state = _ref.state,
2334      options = _ref.options,
2335      name = _ref.name;
2336  var _options$mainAxis = options.mainAxis,
2337      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,
2338      _options$altAxis = options.altAxis,
2339      checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,
2340      boundary = options.boundary,
2341      rootBoundary = options.rootBoundary,
2342      altBoundary = options.altBoundary,
2343      padding = options.padding,
2344      _options$tether = options.tether,
2345      tether = _options$tether === void 0 ? true : _options$tether,
2346      _options$tetherOffset = options.tetherOffset,
2347      tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;
2348  var overflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_7__["default"])(state, {
2349    boundary: boundary,
2350    rootBoundary: rootBoundary,
2351    padding: padding,
2352    altBoundary: altBoundary
2353  });
2354  var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state.placement);
2355  var variation = (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_8__["default"])(state.placement);
2356  var isBasePlacement = !variation;
2357  var mainAxis = (0,_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(basePlacement);
2358  var altAxis = (0,_utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_3__["default"])(mainAxis);
2359  var popperOffsets = state.modifiersData.popperOffsets;
2360  var referenceRect = state.rects.reference;
2361  var popperRect = state.rects.popper;
2362  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
2363    placement: state.placement
2364  })) : tetherOffset;
2365  var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
2366    mainAxis: tetherOffsetValue,
2367    altAxis: tetherOffsetValue
2368  } : Object.assign({
2369    mainAxis: 0,
2370    altAxis: 0
2371  }, tetherOffsetValue);
2372  var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
2373  var data = {
2374    x: 0,
2375    y: 0
2376  };
2377
2378  if (!popperOffsets) {
2379    return;
2380  }
2381
2382  if (checkMainAxis) {
2383    var _offsetModifierState$;
2384
2385    var mainSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.top : _enums_js__WEBPACK_IMPORTED_MODULE_0__.left;
2386    var altSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_0__.right;
2387    var len = mainAxis === 'y' ? 'height' : 'width';
2388    var offset = popperOffsets[mainAxis];
2389    var min = offset + overflow[mainSide];
2390    var max = offset - overflow[altSide];
2391    var additive = tether ? -popperRect[len] / 2 : 0;
2392    var minLen = variation === _enums_js__WEBPACK_IMPORTED_MODULE_0__.start ? referenceRect[len] : popperRect[len];
2393    var maxLen = variation === _enums_js__WEBPACK_IMPORTED_MODULE_0__.start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
2394    // outside the reference bounds
2395
2396    var arrowElement = state.elements.arrow;
2397    var arrowRect = tether && arrowElement ? (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_5__["default"])(arrowElement) : {
2398      width: 0,
2399      height: 0
2400    };
2401    var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : (0,_utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_9__["default"])();
2402    var arrowPaddingMin = arrowPaddingObject[mainSide];
2403    var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want
2404    // to include its full size in the calculation. If the reference is small
2405    // and near the edge of a boundary, the popper can overflow even if the
2406    // reference is not overflowing as well (e.g. virtual elements with no
2407    // width or height)
2408
2409    var arrowLen = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_4__.within)(0, referenceRect[len], arrowRect[len]);
2410    var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
2411    var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
2412    var arrowOffsetParent = state.elements.arrow && (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state.elements.arrow);
2413    var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
2414    var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
2415    var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
2416    var tetherMax = offset + maxOffset - offsetModifierValue;
2417    var preventedOffset = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_4__.within)(tether ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_10__.min)(min, tetherMin) : min, offset, tether ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_10__.max)(max, tetherMax) : max);
2418    popperOffsets[mainAxis] = preventedOffset;
2419    data[mainAxis] = preventedOffset - offset;
2420  }
2421
2422  if (checkAltAxis) {
2423    var _offsetModifierState$2;
2424
2425    var _mainSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.top : _enums_js__WEBPACK_IMPORTED_MODULE_0__.left;
2426
2427    var _altSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_0__.right;
2428
2429    var _offset = popperOffsets[altAxis];
2430
2431    var _len = altAxis === 'y' ? 'height' : 'width';
2432
2433    var _min = _offset + overflow[_mainSide];
2434
2435    var _max = _offset - overflow[_altSide];
2436
2437    var isOriginSide = [_enums_js__WEBPACK_IMPORTED_MODULE_0__.top, _enums_js__WEBPACK_IMPORTED_MODULE_0__.left].indexOf(basePlacement) !== -1;
2438
2439    var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
2440
2441    var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
2442
2443    var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
2444
2445    var _preventedOffset = tether && isOriginSide ? (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_4__.withinMaxClamp)(_tetherMin, _offset, _tetherMax) : (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_4__.within)(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
2446
2447    popperOffsets[altAxis] = _preventedOffset;
2448    data[altAxis] = _preventedOffset - _offset;
2449  }
2450
2451  state.modifiersData[name] = data;
2452} // eslint-disable-next-line import/no-unused-modules
2453
2454
2455/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
2456  name: 'preventOverflow',
2457  enabled: true,
2458  phase: 'main',
2459  fn: preventOverflow,
2460  requiresIfExists: ['offset']
2461});
2462
2463/***/ }),
2464
vendor: 2,034 bytes, lines 2465-2493
2465/***/ "./node_modules/@popperjs/core/lib/popper-lite.js":
2466/*!********************************************************!*\
2467  !*** ./node_modules/@popperjs/core/lib/popper-lite.js ***!
2468  \********************************************************/
2469/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2470
2471/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2472/* harmony export */   createPopper: () => (/* binding */ createPopper)
2473/* harmony export */ });
2474/* unused harmony export defaultModifiers */
2475/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js");
2476/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js");
2477/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js");
2478/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js");
2479/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js");
2480
2481
2482
2483
2484
2485var defaultModifiers = [_modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_1__["default"], _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_2__["default"], _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_3__["default"], _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_4__["default"]];
2486var createPopper = /*#__PURE__*/(0,_createPopper_js__WEBPACK_IMPORTED_MODULE_0__.popperGenerator)({
2487  defaultModifiers: defaultModifiers
2488}); // eslint-disable-next-line import/no-unused-modules
2489
2490
2491
2492/***/ }),
2493
vendor: 3,375 bytes, lines 2494-2536
2494/***/ "./node_modules/@popperjs/core/lib/popper.js":
2495/*!***************************************************!*\
2496  !*** ./node_modules/@popperjs/core/lib/popper.js ***!
2497  \***************************************************/
2498/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2499
2500/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2501/* harmony export */   createPopper: () => (/* binding */ createPopper)
2502/* harmony export */ });
2503/* unused harmony export defaultModifiers */
2504/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js");
2505/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js");
2506/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js");
2507/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js");
2508/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js");
2509/* harmony import */ var _modifiers_offset_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modifiers/offset.js */ "./node_modules/@popperjs/core/lib/modifiers/offset.js");
2510/* harmony import */ var _modifiers_flip_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modifiers/flip.js */ "./node_modules/@popperjs/core/lib/modifiers/flip.js");
2511/* harmony import */ var _modifiers_preventOverflow_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modifiers/preventOverflow.js */ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js");
2512/* harmony import */ var _modifiers_arrow_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modifiers/arrow.js */ "./node_modules/@popperjs/core/lib/modifiers/arrow.js");
2513/* harmony import */ var _modifiers_hide_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modifiers/hide.js */ "./node_modules/@popperjs/core/lib/modifiers/hide.js");
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524var defaultModifiers = [_modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_1__["default"], _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_2__["default"], _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_3__["default"], _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_4__["default"], _modifiers_offset_js__WEBPACK_IMPORTED_MODULE_5__["default"], _modifiers_flip_js__WEBPACK_IMPORTED_MODULE_6__["default"], _modifiers_preventOverflow_js__WEBPACK_IMPORTED_MODULE_7__["default"], _modifiers_arrow_js__WEBPACK_IMPORTED_MODULE_8__["default"], _modifiers_hide_js__WEBPACK_IMPORTED_MODULE_9__["default"]];
2525var createPopper = /*#__PURE__*/(0,_createPopper_js__WEBPACK_IMPORTED_MODULE_0__.popperGenerator)({
2526  defaultModifiers: defaultModifiers
2527}); // eslint-disable-next-line import/no-unused-modules
2528
2529 // eslint-disable-next-line import/no-unused-modules
2530
2531 // eslint-disable-next-line import/no-unused-modules
2532
2533
2534
2535/***/ }),
2536
vendor: 3,038 bytes, lines 2537-2595
2537/***/ "./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js":
2538/*!***********************************************************************!*\
2539  !*** ./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js ***!
2540  \***********************************************************************/
2541/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2542
2543/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2544/* harmony export */   "default": () => (/* binding */ computeAutoPlacement)
2545/* harmony export */ });
2546/* harmony import */ var _getVariation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js");
2547/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js");
2548/* harmony import */ var _detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js");
2549/* harmony import */ var _getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js");
2550
2551
2552
2553
2554function computeAutoPlacement(state, options) {
2555  if (options === void 0) {
2556    options = {};
2557  }
2558
2559  var _options = options,
2560      placement = _options.placement,
2561      boundary = _options.boundary,
2562      rootBoundary = _options.rootBoundary,
2563      padding = _options.padding,
2564      flipVariations = _options.flipVariations,
2565      _options$allowedAutoP = _options.allowedAutoPlacements,
2566      allowedAutoPlacements = _options$allowedAutoP === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_1__.placements : _options$allowedAutoP;
2567  var variation = (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement);
2568  var placements = variation ? flipVariations ? _enums_js__WEBPACK_IMPORTED_MODULE_1__.variationPlacements : _enums_js__WEBPACK_IMPORTED_MODULE_1__.variationPlacements.filter(function (placement) {
2569    return (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement) === variation;
2570  }) : _enums_js__WEBPACK_IMPORTED_MODULE_1__.basePlacements;
2571  var allowedPlacements = placements.filter(function (placement) {
2572    return allowedAutoPlacements.indexOf(placement) >= 0;
2573  });
2574
2575  if (allowedPlacements.length === 0) {
2576    allowedPlacements = placements;
2577  } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...
2578
2579
2580  var overflows = allowedPlacements.reduce(function (acc, placement) {
2581    acc[placement] = (0,_detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__["default"])(state, {
2582      placement: placement,
2583      boundary: boundary,
2584      rootBoundary: rootBoundary,
2585      padding: padding
2586    })[(0,_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(placement)];
2587    return acc;
2588  }, {});
2589  return Object.keys(overflows).sort(function (a, b) {
2590    return overflows[a] - overflows[b];
2591  });
2592}
2593
2594/***/ }),
2595
vendor: 3,136 bytes, lines 2596-2681
2596/***/ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js":
2597/*!*****************************************************************!*\
2598  !*** ./node_modules/@popperjs/core/lib/utils/computeOffsets.js ***!
2599  \*****************************************************************/
2600/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2601
2602/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2603/* harmony export */   "default": () => (/* binding */ computeOffsets)
2604/* harmony export */ });
2605/* harmony import */ var _getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js");
2606/* harmony import */ var _getVariation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js");
2607/* harmony import */ var _getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js");
2608/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js");
2609
2610
2611
2612
2613function computeOffsets(_ref) {
2614  var reference = _ref.reference,
2615      element = _ref.element,
2616      placement = _ref.placement;
2617  var basePlacement = placement ? (0,_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement) : null;
2618  var variation = placement ? (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement) : null;
2619  var commonX = reference.x + reference.width / 2 - element.width / 2;
2620  var commonY = reference.y + reference.height / 2 - element.height / 2;
2621  var offsets;
2622
2623  switch (basePlacement) {
2624    case _enums_js__WEBPACK_IMPORTED_MODULE_3__.top:
2625      offsets = {
2626        x: commonX,
2627        y: reference.y - element.height
2628      };
2629      break;
2630
2631    case _enums_js__WEBPACK_IMPORTED_MODULE_3__.bottom:
2632      offsets = {
2633        x: commonX,
2634        y: reference.y + reference.height
2635      };
2636      break;
2637
2638    case _enums_js__WEBPACK_IMPORTED_MODULE_3__.right:
2639      offsets = {
2640        x: reference.x + reference.width,
2641        y: commonY
2642      };
2643      break;
2644
2645    case _enums_js__WEBPACK_IMPORTED_MODULE_3__.left:
2646      offsets = {
2647        x: reference.x - element.width,
2648        y: commonY
2649      };
2650      break;
2651
2652    default:
2653      offsets = {
2654        x: reference.x,
2655        y: reference.y
2656      };
2657  }
2658
2659  var mainAxis = basePlacement ? (0,_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(basePlacement) : null;
2660
2661  if (mainAxis != null) {
2662    var len = mainAxis === 'y' ? 'height' : 'width';
2663
2664    switch (variation) {
2665      case _enums_js__WEBPACK_IMPORTED_MODULE_3__.start:
2666        offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);
2667        break;
2668
2669      case _enums_js__WEBPACK_IMPORTED_MODULE_3__.end:
2670        offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);
2671        break;
2672
2673      default:
2674    }
2675  }
2676
2677  return offsets;
2678}
2679
2680/***/ }),
2681
vendor: 792 bytes, lines 2682-2708
2682/***/ "./node_modules/@popperjs/core/lib/utils/debounce.js":
2683/*!***********************************************************!*\
2684  !*** ./node_modules/@popperjs/core/lib/utils/debounce.js ***!
2685  \***********************************************************/
2686/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2687
2688/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2689/* harmony export */   "default": () => (/* binding */ debounce)
2690/* harmony export */ });
2691function debounce(fn) {
2692  var pending;
2693  return function () {
2694    if (!pending) {
2695      pending = new Promise(function (resolve) {
2696        Promise.resolve().then(function () {
2697          pending = undefined;
2698          resolve(fn());
2699        });
2700      });
2701    }
2702
2703    return pending;
2704  };
2705}
2706
2707/***/ }),
2708
vendor: 6,168 bytes, lines 2709-2794
2709/***/ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js":
2710/*!*****************************************************************!*\
2711  !*** ./node_modules/@popperjs/core/lib/utils/detectOverflow.js ***!
2712  \*****************************************************************/
2713/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2714
2715/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2716/* harmony export */   "default": () => (/* binding */ detectOverflow)
2717/* harmony export */ });
2718/* harmony import */ var _dom_utils_getClippingRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-utils/getClippingRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js");
2719/* harmony import */ var _dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom-utils/getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js");
2720/* harmony import */ var _dom_utils_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dom-utils/getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js");
2721/* harmony import */ var _computeOffsets_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./computeOffsets.js */ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js");
2722/* harmony import */ var _rectToClientRect_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./rectToClientRect.js */ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js");
2723/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js");
2724/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dom-utils/instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js");
2725/* harmony import */ var _mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./mergePaddingObject.js */ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js");
2726/* harmony import */ var _expandToHashMap_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./expandToHashMap.js */ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js");
2727
2728
2729
2730
2731
2732
2733
2734
2735 // eslint-disable-next-line import/no-unused-modules
2736
2737function detectOverflow(state, options) {
2738  if (options === void 0) {
2739    options = {};
2740  }
2741
2742  var _options = options,
2743      _options$placement = _options.placement,
2744      placement = _options$placement === void 0 ? state.placement : _options$placement,
2745      _options$strategy = _options.strategy,
2746      strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,
2747      _options$boundary = _options.boundary,
2748      boundary = _options$boundary === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.clippingParents : _options$boundary,
2749      _options$rootBoundary = _options.rootBoundary,
2750      rootBoundary = _options$rootBoundary === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.viewport : _options$rootBoundary,
2751      _options$elementConte = _options.elementContext,
2752      elementContext = _options$elementConte === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.popper : _options$elementConte,
2753      _options$altBoundary = _options.altBoundary,
2754      altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,
2755      _options$padding = _options.padding,
2756      padding = _options$padding === void 0 ? 0 : _options$padding;
2757  var paddingObject = (0,_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_7__["default"])(typeof padding !== 'number' ? padding : (0,_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_8__["default"])(padding, _enums_js__WEBPACK_IMPORTED_MODULE_5__.basePlacements));
2758  var altContext = elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_5__.popper ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.reference : _enums_js__WEBPACK_IMPORTED_MODULE_5__.popper;
2759  var popperRect = state.rects.popper;
2760  var element = state.elements[altBoundary ? altContext : elementContext];
2761  var clippingClientRect = (0,_dom_utils_getClippingRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_6__.isElement)(element) ? element : element.contextElement || (0,_dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state.elements.popper), boundary, rootBoundary, strategy);
2762  var referenceClientRect = (0,_dom_utils_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_2__["default"])(state.elements.reference);
2763  var popperOffsets = (0,_computeOffsets_js__WEBPACK_IMPORTED_MODULE_3__["default"])({
2764    reference: referenceClientRect,
2765    element: popperRect,
2766    strategy: 'absolute',
2767    placement: placement
2768  });
2769  var popperClientRect = (0,_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_4__["default"])(Object.assign({}, popperRect, popperOffsets));
2770  var elementClientRect = elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_5__.popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect
2771  // 0 or negative = within the clipping rect
2772
2773  var overflowOffsets = {
2774    top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
2775    bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
2776    left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
2777    right: elementClientRect.right - clippingClientRect.right + paddingObject.right
2778  };
2779  var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element
2780
2781  if (elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_5__.popper && offsetData) {
2782    var offset = offsetData[placement];
2783    Object.keys(overflowOffsets).forEach(function (key) {
2784      var multiply = [_enums_js__WEBPACK_IMPORTED_MODULE_5__.right, _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom].indexOf(key) >= 0 ? 1 : -1;
2785      var axis = [_enums_js__WEBPACK_IMPORTED_MODULE_5__.top, _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom].indexOf(key) >= 0 ? 'y' : 'x';
2786      overflowOffsets[key] += offset[axis] * multiply;
2787    });
2788  }
2789
2790  return overflowOffsets;
2791}
2792
2793/***/ }),
2794
vendor: 684 bytes, lines 2795-2812
2795/***/ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js":
2796/*!******************************************************************!*\
2797  !*** ./node_modules/@popperjs/core/lib/utils/expandToHashMap.js ***!
2798  \******************************************************************/
2799/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2800
2801/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2802/* harmony export */   "default": () => (/* binding */ expandToHashMap)
2803/* harmony export */ });
2804function expandToHashMap(value, keys) {
2805  return keys.reduce(function (hashMap, key) {
2806    hashMap[key] = value;
2807    return hashMap;
2808  }, {});
2809}
2810
2811/***/ }),
2812
vendor: 579 bytes, lines 2813-2827
2813/***/ "./node_modules/@popperjs/core/lib/utils/getAltAxis.js":
2814/*!*************************************************************!*\
2815  !*** ./node_modules/@popperjs/core/lib/utils/getAltAxis.js ***!
2816  \*************************************************************/
2817/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2818
2819/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2820/* harmony export */   "default": () => (/* binding */ getAltAxis)
2821/* harmony export */ });
2822function getAltAxis(axis) {
2823  return axis === 'x' ? 'y' : 'x';
2824}
2825
2826/***/ }),
2827
vendor: 620 bytes, lines 2828-2843
2828/***/ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js":
2829/*!*******************************************************************!*\
2830  !*** ./node_modules/@popperjs/core/lib/utils/getBasePlacement.js ***!
2831  \*******************************************************************/
2832/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2833
2834/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2835/* harmony export */   "default": () => (/* binding */ getBasePlacement)
2836/* harmony export */ });
2837
2838function getBasePlacement(placement) {
2839  return placement.split('-')[0];
2840}
2841
2842/***/ }),
2843
vendor: 657 bytes, lines 2844-2863
2844/***/ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js":
2845/*!*********************************************************************!*\
2846  !*** ./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js ***!
2847  \*********************************************************************/
2848/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2849
2850/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2851/* harmony export */   "default": () => (/* binding */ getFreshSideObject)
2852/* harmony export */ });
2853function getFreshSideObject() {
2854  return {
2855    top: 0,
2856    right: 0,
2857    bottom: 0,
2858    left: 0
2859  };
2860}
2861
2862/***/ }),
2863
vendor: 697 bytes, lines 2864-2878
2864/***/ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js":
2865/*!***************************************************************************!*\
2866  !*** ./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js ***!
2867  \***************************************************************************/
2868/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2869
2870/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2871/* harmony export */   "default": () => (/* binding */ getMainAxisFromPlacement)
2872/* harmony export */ });
2873function getMainAxisFromPlacement(placement) {
2874  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
2875}
2876
2877/***/ }),
2878
vendor: 798 bytes, lines 2879-2901
2879/***/ "./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js":
2880/*!***********************************************************************!*\
2881  !*** ./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js ***!
2882  \***********************************************************************/
2883/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2884
2885/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2886/* harmony export */   "default": () => (/* binding */ getOppositePlacement)
2887/* harmony export */ });
2888var hash = {
2889  left: 'right',
2890  right: 'left',
2891  bottom: 'top',
2892  top: 'bottom'
2893};
2894function getOppositePlacement(placement) {
2895  return placement.replace(/left|right|bottom|top/g, function (matched) {
2896    return hash[matched];
2897  });
2898}
2899
2900/***/ }),
2901
vendor: 804 bytes, lines 2902-2922
2902/***/ "./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js":
2903/*!********************************************************************************!*\
2904  !*** ./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js ***!
2905  \********************************************************************************/
2906/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2907
2908/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2909/* harmony export */   "default": () => (/* binding */ getOppositeVariationPlacement)
2910/* harmony export */ });
2911var hash = {
2912  start: 'end',
2913  end: 'start'
2914};
2915function getOppositeVariationPlacement(placement) {
2916  return placement.replace(/start|end/g, function (matched) {
2917    return hash[matched];
2918  });
2919}
2920
2921/***/ }),
2922
vendor: 595 bytes, lines 2923-2937
2923/***/ "./node_modules/@popperjs/core/lib/utils/getVariation.js":
2924/*!***************************************************************!*\
2925  !*** ./node_modules/@popperjs/core/lib/utils/getVariation.js ***!
2926  \***************************************************************/
2927/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2928
2929/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2930/* harmony export */   "default": () => (/* binding */ getVariation)
2931/* harmony export */ });
2932function getVariation(placement) {
2933  return placement.split('-')[1];
2934}
2935
2936/***/ }),
2937
vendor: 655 bytes, lines 2938-2954
2938/***/ "./node_modules/@popperjs/core/lib/utils/math.js":
2939/*!*******************************************************!*\
2940  !*** ./node_modules/@popperjs/core/lib/utils/math.js ***!
2941  \*******************************************************/
2942/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2943
2944/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2945/* harmony export */   max: () => (/* binding */ max),
2946/* harmony export */   min: () => (/* binding */ min),
2947/* harmony export */   round: () => (/* binding */ round)
2948/* harmony export */ });
2949var max = Math.max;
2950var min = Math.min;
2951var round = Math.round;
2952
2953/***/ }),
2954
vendor: 1,029 bytes, lines 2955-2980
2955/***/ "./node_modules/@popperjs/core/lib/utils/mergeByName.js":
2956/*!**************************************************************!*\
2957  !*** ./node_modules/@popperjs/core/lib/utils/mergeByName.js ***!
2958  \**************************************************************/
2959/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2960
2961/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2962/* harmony export */   "default": () => (/* binding */ mergeByName)
2963/* harmony export */ });
2964function mergeByName(modifiers) {
2965  var merged = modifiers.reduce(function (merged, current) {
2966    var existing = merged[current.name];
2967    merged[current.name] = existing ? Object.assign({}, existing, current, {
2968      options: Object.assign({}, existing.options, current.options),
2969      data: Object.assign({}, existing.data, current.data)
2970    }) : current;
2971    return merged;
2972  }, {}); // IE11 does not support Object.values
2973
2974  return Object.keys(merged).map(function (key) {
2975    return merged[key];
2976  });
2977}
2978
2979/***/ }),
2980
vendor: 911 bytes, lines 2981-2997
2981/***/ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js":
2982/*!*********************************************************************!*\
2983  !*** ./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js ***!
2984  \*********************************************************************/
2985/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2986
2987/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2988/* harmony export */   "default": () => (/* binding */ mergePaddingObject)
2989/* harmony export */ });
2990/* harmony import */ var _getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getFreshSideObject.js */ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js");
2991
2992function mergePaddingObject(paddingObject) {
2993  return Object.assign({}, (0,_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(), paddingObject);
2994}
2995
2996/***/ }),
2997
vendor: 1,906 bytes, lines 2998-3054
2998/***/ "./node_modules/@popperjs/core/lib/utils/orderModifiers.js":
2999/*!*****************************************************************!*\
3000  !*** ./node_modules/@popperjs/core/lib/utils/orderModifiers.js ***!
3001  \*****************************************************************/
3002/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3003
3004/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3005/* harmony export */   "default": () => (/* binding */ orderModifiers)
3006/* harmony export */ });
3007/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js");
3008 // source: https://stackoverflow.com/questions/49875255
3009
3010function order(modifiers) {
3011  var map = new Map();
3012  var visited = new Set();
3013  var result = [];
3014  modifiers.forEach(function (modifier) {
3015    map.set(modifier.name, modifier);
3016  }); // On visiting object, check for its dependencies and visit them recursively
3017
3018  function sort(modifier) {
3019    visited.add(modifier.name);
3020    var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
3021    requires.forEach(function (dep) {
3022      if (!visited.has(dep)) {
3023        var depModifier = map.get(dep);
3024
3025        if (depModifier) {
3026          sort(depModifier);
3027        }
3028      }
3029    });
3030    result.push(modifier);
3031  }
3032
3033  modifiers.forEach(function (modifier) {
3034    if (!visited.has(modifier.name)) {
3035      // check for visited object
3036      sort(modifier);
3037    }
3038  });
3039  return result;
3040}
3041
3042function orderModifiers(modifiers) {
3043  // order based on dependencies
3044  var orderedModifiers = order(modifiers); // order based on phase
3045
3046  return _enums_js__WEBPACK_IMPORTED_MODULE_0__.modifierPhases.reduce(function (acc, phase) {
3047    return acc.concat(orderedModifiers.filter(function (modifier) {
3048      return modifier.phase === phase;
3049    }));
3050  }, []);
3051}
3052
3053/***/ }),
3054
vendor: 721 bytes, lines 3055-3074
3055/***/ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js":
3056/*!*******************************************************************!*\
3057  !*** ./node_modules/@popperjs/core/lib/utils/rectToClientRect.js ***!
3058  \*******************************************************************/
3059/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3060
3061/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3062/* harmony export */   "default": () => (/* binding */ rectToClientRect)
3063/* harmony export */ });
3064function rectToClientRect(rect) {
3065  return Object.assign({}, rect, {
3066    left: rect.x,
3067    top: rect.y,
3068    right: rect.x + rect.width,
3069    bottom: rect.y + rect.height
3070  });
3071}
3072
3073/***/ }),
3074
vendor: 798 bytes, lines 3075-3097
3075/***/ "./node_modules/@popperjs/core/lib/utils/userAgent.js":
3076/*!************************************************************!*\
3077  !*** ./node_modules/@popperjs/core/lib/utils/userAgent.js ***!
3078  \************************************************************/
3079/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3080
3081/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3082/* harmony export */   "default": () => (/* binding */ getUAString)
3083/* harmony export */ });
3084function getUAString() {
3085  var uaData = navigator.userAgentData;
3086
3087  if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
3088    return uaData.brands.map(function (item) {
3089      return item.brand + "/" + item.version;
3090    }).join(' ');
3091  }
3092
3093  return navigator.userAgent;
3094}
3095
3096/***/ }),
3097
vendor: 988 bytes, lines 3098-3119
3098/***/ "./node_modules/@popperjs/core/lib/utils/within.js":
3099/*!*********************************************************!*\
3100  !*** ./node_modules/@popperjs/core/lib/utils/within.js ***!
3101  \*********************************************************/
3102/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3103
3104/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3105/* harmony export */   within: () => (/* binding */ within),
3106/* harmony export */   withinMaxClamp: () => (/* binding */ withinMaxClamp)
3107/* harmony export */ });
3108/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./math.js */ "./node_modules/@popperjs/core/lib/utils/math.js");
3109
3110function within(min, value, max) {
3111  return (0,_math_js__WEBPACK_IMPORTED_MODULE_0__.max)(min, (0,_math_js__WEBPACK_IMPORTED_MODULE_0__.min)(value, max));
3112}
3113function withinMaxClamp(min, value, max) {
3114  var v = within(min, value, max);
3115  return v > max ? max : v;
3116}
3117
3118/***/ }),
3119
vendor: 136,885 bytes, lines 3120-7582
3120/***/ "./node_modules/bootstrap/dist/js/bootstrap.esm.js":
3121/*!*********************************************************!*\
3122  !*** ./node_modules/bootstrap/dist/js/bootstrap.esm.js ***!
3123  \*********************************************************/
3124/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3125
3126/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3127/* harmony export */   Carousel: () => (/* binding */ Carousel),
3128/* harmony export */   Tooltip: () => (/* binding */ Tooltip)
3129/* harmony export */ });
3130/* unused harmony exports Alert, Button, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast */
3131/* harmony import */ var _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @popperjs/core */ "./node_modules/@popperjs/core/lib/index.js");
3132/* harmony import */ var _popperjs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @popperjs/core */ "./node_modules/@popperjs/core/lib/popper.js");
3133/*!
3134  * Bootstrap v5.3.8 (https://getbootstrap.com/)
3135  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
3136  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3137  */
3138
3139
3140/**
3141 * --------------------------------------------------------------------------
3142 * Bootstrap dom/data.js
3143 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3144 * --------------------------------------------------------------------------
3145 */
3146
3147/**
3148 * Constants
3149 */
3150
3151const elementMap = new Map();
3152const Data = {
3153  set(element, key, instance) {
3154    if (!elementMap.has(element)) {
3155      elementMap.set(element, new Map());
3156    }
3157    const instanceMap = elementMap.get(element);
3158
3159    // make it clear we only want one instance per element
3160    // can be removed later when multiple key/instances are fine to be used
3161    if (!instanceMap.has(key) && instanceMap.size !== 0) {
3162      // eslint-disable-next-line no-console
3163      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
3164      return;
3165    }
3166    instanceMap.set(key, instance);
3167  },
3168  get(element, key) {
3169    if (elementMap.has(element)) {
3170      return elementMap.get(element).get(key) || null;
3171    }
3172    return null;
3173  },
3174  remove(element, key) {
3175    if (!elementMap.has(element)) {
3176      return;
3177    }
3178    const instanceMap = elementMap.get(element);
3179    instanceMap.delete(key);
3180
3181    // free up element references if there are no instances left for an element
3182    if (instanceMap.size === 0) {
3183      elementMap.delete(element);
3184    }
3185  }
3186};
3187
3188/**
3189 * --------------------------------------------------------------------------
3190 * Bootstrap util/index.js
3191 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3192 * --------------------------------------------------------------------------
3193 */
3194
3195const MAX_UID = 1000000;
3196const MILLISECONDS_MULTIPLIER = 1000;
3197const TRANSITION_END = 'transitionend';
3198
3199/**
3200 * Properly escape IDs selectors to handle weird IDs
3201 * @param {string} selector
3202 * @returns {string}
3203 */
3204const parseSelector = selector => {
3205  if (selector && window.CSS && window.CSS.escape) {
3206    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /
3207    selector = selector.replace(/#([^\s"#']+)/g, (match, id) => `#${CSS.escape(id)}`);
3208  }
3209  return selector;
3210};
3211
3212// Shout-out Angus Croll (https://goo.gl/pxwQGp)
3213const toType = object => {
3214  if (object === null || object === undefined) {
3215    return `${object}`;
3216  }
3217  return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase();
3218};
3219
3220/**
3221 * Public Util API
3222 */
3223
3224const getUID = prefix => {
3225  do {
3226    prefix += Math.floor(Math.random() * MAX_UID);
3227  } while (document.getElementById(prefix));
3228  return prefix;
3229};
3230const getTransitionDurationFromElement = element => {
3231  if (!element) {
3232    return 0;
3233  }
3234
3235  // Get transition-duration of the element
3236  let {
3237    transitionDuration,
3238    transitionDelay
3239  } = window.getComputedStyle(element);
3240  const floatTransitionDuration = Number.parseFloat(transitionDuration);
3241  const floatTransitionDelay = Number.parseFloat(transitionDelay);
3242
3243  // Return 0 if element or transition duration is not found
3244  if (!floatTransitionDuration && !floatTransitionDelay) {
3245    return 0;
3246  }
3247
3248  // If multiple durations are defined, take the first
3249  transitionDuration = transitionDuration.split(',')[0];
3250  transitionDelay = transitionDelay.split(',')[0];
3251  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
3252};
3253const triggerTransitionEnd = element => {
3254  element.dispatchEvent(new Event(TRANSITION_END));
3255};
3256const isElement = object => {
3257  if (!object || typeof object !== 'object') {
3258    return false;
3259  }
3260  if (typeof object.jquery !== 'undefined') {
3261    object = object[0];
3262  }
3263  return typeof object.nodeType !== 'undefined';
3264};
3265const getElement = object => {
3266  // it's a jQuery object or a node element
3267  if (isElement(object)) {
3268    return object.jquery ? object[0] : object;
3269  }
3270  if (typeof object === 'string' && object.length > 0) {
3271    return document.querySelector(parseSelector(object));
3272  }
3273  return null;
3274};
3275const isVisible = element => {
3276  if (!isElement(element) || element.getClientRects().length === 0) {
3277    return false;
3278  }
3279  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible';
3280  // Handle `details` element as its content may falsie appear visible when it is closed
3281  const closedDetails = element.closest('details:not([open])');
3282  if (!closedDetails) {
3283    return elementIsVisible;
3284  }
3285  if (closedDetails !== element) {
3286    const summary = element.closest('summary');
3287    if (summary && summary.parentNode !== closedDetails) {
3288      return false;
3289    }
3290    if (summary === null) {
3291      return false;
3292    }
3293  }
3294  return elementIsVisible;
3295};
3296const isDisabled = element => {
3297  if (!element || element.nodeType !== Node.ELEMENT_NODE) {
3298    return true;
3299  }
3300  if (element.classList.contains('disabled')) {
3301    return true;
3302  }
3303  if (typeof element.disabled !== 'undefined') {
3304    return element.disabled;
3305  }
3306  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';
3307};
3308const findShadowRoot = element => {
3309  if (!document.documentElement.attachShadow) {
3310    return null;
3311  }
3312
3313  // Can find the shadow root otherwise it'll return the document
3314  if (typeof element.getRootNode === 'function') {
3315    const root = element.getRootNode();
3316    return root instanceof ShadowRoot ? root : null;
3317  }
3318  if (element instanceof ShadowRoot) {
3319    return element;
3320  }
3321
3322  // when we don't find a shadow root
3323  if (!element.parentNode) {
3324    return null;
3325  }
3326  return findShadowRoot(element.parentNode);
3327};
3328const noop = () => {};
3329
3330/**
3331 * Trick to restart an element's animation
3332 *
3333 * @param {HTMLElement} element
3334 * @return void
3335 *
3336 * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
3337 */
3338const reflow = element => {
3339  element.offsetHeight; // eslint-disable-line no-unused-expressions
3340};
3341const getjQuery = () => {
3342  if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
3343    return window.jQuery;
3344  }
3345  return null;
3346};
3347const DOMContentLoadedCallbacks = [];
3348const onDOMContentLoaded = callback => {
3349  if (document.readyState === 'loading') {
3350    // add listener on the first call when the document is in loading state
3351    if (!DOMContentLoadedCallbacks.length) {
3352      document.addEventListener('DOMContentLoaded', () => {
3353        for (const callback of DOMContentLoadedCallbacks) {
3354          callback();
3355        }
3356      });
3357    }
3358    DOMContentLoadedCallbacks.push(callback);
3359  } else {
3360    callback();
3361  }
3362};
3363const isRTL = () => document.documentElement.dir === 'rtl';
3364const defineJQueryPlugin = plugin => {
3365  onDOMContentLoaded(() => {
3366    const $ = getjQuery();
3367    /* istanbul ignore if */
3368    if ($) {
3369      const name = plugin.NAME;
3370      const JQUERY_NO_CONFLICT = $.fn[name];
3371      $.fn[name] = plugin.jQueryInterface;
3372      $.fn[name].Constructor = plugin;
3373      $.fn[name].noConflict = () => {
3374        $.fn[name] = JQUERY_NO_CONFLICT;
3375        return plugin.jQueryInterface;
3376      };
3377    }
3378  });
3379};
3380const execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {
3381  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue;
3382};
3383const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
3384  if (!waitForTransition) {
3385    execute(callback);
3386    return;
3387  }
3388  const durationPadding = 5;
3389  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;
3390  let called = false;
3391  const handler = ({
3392    target
3393  }) => {
3394    if (target !== transitionElement) {
3395      return;
3396    }
3397    called = true;
3398    transitionElement.removeEventListener(TRANSITION_END, handler);
3399    execute(callback);
3400  };
3401  transitionElement.addEventListener(TRANSITION_END, handler);
3402  setTimeout(() => {
3403    if (!called) {
3404      triggerTransitionEnd(transitionElement);
3405    }
3406  }, emulatedDuration);
3407};
3408
3409/**
3410 * Return the previous/next element of a list.
3411 *
3412 * @param {array} list    The list of elements
3413 * @param activeElement   The active element
3414 * @param shouldGetNext   Choose to get next or previous element
3415 * @param isCycleAllowed
3416 * @return {Element|elem} The proper element
3417 */
3418const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {
3419  const listLength = list.length;
3420  let index = list.indexOf(activeElement);
3421
3422  // if the element does not exist in the list return an element
3423  // depending on the direction and if cycle is allowed
3424  if (index === -1) {
3425    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0];
3426  }
3427  index += shouldGetNext ? 1 : -1;
3428  if (isCycleAllowed) {
3429    index = (index + listLength) % listLength;
3430  }
3431  return list[Math.max(0, Math.min(index, listLength - 1))];
3432};
3433
3434/**
3435 * --------------------------------------------------------------------------
3436 * Bootstrap dom/event-handler.js
3437 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3438 * --------------------------------------------------------------------------
3439 */
3440
3441
3442/**
3443 * Constants
3444 */
3445
3446const namespaceRegex = /[^.]*(?=\..*)\.|.*/;
3447const stripNameRegex = /\..*/;
3448const stripUidRegex = /::\d+$/;
3449const eventRegistry = {}; // Events storage
3450let uidEvent = 1;
3451const customEvents = {
3452  mouseenter: 'mouseover',
3453  mouseleave: 'mouseout'
3454};
3455const nativeEvents = 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']);
3456
3457/**
3458 * Private methods
3459 */
3460
3461function makeEventUid(element, uid) {
3462  return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;
3463}
3464function getElementEvents(element) {
3465  const uid = makeEventUid(element);
3466  element.uidEvent = uid;
3467  eventRegistry[uid] = eventRegistry[uid] || {};
3468  return eventRegistry[uid];
3469}
3470function bootstrapHandler(element, fn) {
3471  return function handler(event) {
3472    hydrateObj(event, {
3473      delegateTarget: element
3474    });
3475    if (handler.oneOff) {
3476      EventHandler.off(element, event.type, fn);
3477    }
3478    return fn.apply(element, [event]);
3479  };
3480}
3481function bootstrapDelegationHandler(element, selector, fn) {
3482  return function handler(event) {
3483    const domElements = element.querySelectorAll(selector);
3484    for (let {
3485      target
3486    } = event; target && target !== this; target = target.parentNode) {
3487      for (const domElement of domElements) {
3488        if (domElement !== target) {
3489          continue;
3490        }
3491        hydrateObj(event, {
3492          delegateTarget: target
3493        });
3494        if (handler.oneOff) {
3495          EventHandler.off(element, event.type, selector, fn);
3496        }
3497        return fn.apply(target, [event]);
3498      }
3499    }
3500  };
3501}
3502function findHandler(events, callable, delegationSelector = null) {
3503  return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);
3504}
3505function normalizeParameters(originalTypeEvent, handler, delegationFunction) {
3506  const isDelegated = typeof handler === 'string';
3507  // TODO: tooltip passes `false` instead of selector, so we need to check
3508  const callable = isDelegated ? delegationFunction : handler || delegationFunction;
3509  let typeEvent = getTypeEvent(originalTypeEvent);
3510  if (!nativeEvents.has(typeEvent)) {
3511    typeEvent = originalTypeEvent;
3512  }
3513  return [isDelegated, callable, typeEvent];
3514}
3515function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {
3516  if (typeof originalTypeEvent !== 'string' || !element) {
3517    return;
3518  }
3519  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
3520
3521  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
3522  // this prevents the handler from being dispatched the same way as mouseover or mouseout does
3523  if (originalTypeEvent in customEvents) {
3524    const wrapFunction = fn => {
3525      return function (event) {
3526        if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {
3527          return fn.call(this, event);
3528        }
3529      };
3530    };
3531    callable = wrapFunction(callable);
3532  }
3533  const events = getElementEvents(element);
3534  const handlers = events[typeEvent] || (events[typeEvent] = {});
3535  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);
3536  if (previousFunction) {
3537    previousFunction.oneOff = previousFunction.oneOff && oneOff;
3538    return;
3539  }
3540  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));
3541  const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);
3542  fn.delegationSelector = isDelegated ? handler : null;
3543  fn.callable = callable;
3544  fn.oneOff = oneOff;
3545  fn.uidEvent = uid;
3546  handlers[uid] = fn;
3547  element.addEventListener(typeEvent, fn, isDelegated);
3548}
3549function removeHandler(element, events, typeEvent, handler, delegationSelector) {
3550  const fn = findHandler(events[typeEvent], handler, delegationSelector);
3551  if (!fn) {
3552    return;
3553  }
3554  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));
3555  delete events[typeEvent][fn.uidEvent];
3556}
3557function removeNamespacedHandlers(element, events, typeEvent, namespace) {
3558  const storeElementEvent = events[typeEvent] || {};
3559  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {
3560    if (handlerKey.includes(namespace)) {
3561      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
3562    }
3563  }
3564}
3565function getTypeEvent(event) {
3566  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')
3567  event = event.replace(stripNameRegex, '');
3568  return customEvents[event] || event;
3569}
3570const EventHandler = {
3571  on(element, event, handler, delegationFunction) {
3572    addHandler(element, event, handler, delegationFunction, false);
3573  },
3574  one(element, event, handler, delegationFunction) {
3575    addHandler(element, event, handler, delegationFunction, true);
3576  },
3577  off(element, originalTypeEvent, handler, delegationFunction) {
3578    if (typeof originalTypeEvent !== 'string' || !element) {
3579      return;
3580    }
3581    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
3582    const inNamespace = typeEvent !== originalTypeEvent;
3583    const events = getElementEvents(element);
3584    const storeElementEvent = events[typeEvent] || {};
3585    const isNamespace = originalTypeEvent.startsWith('.');
3586    if (typeof callable !== 'undefined') {
3587      // Simplest case: handler is passed, remove that listener ONLY.
3588      if (!Object.keys(storeElementEvent).length) {
3589        return;
3590      }
3591      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);
3592      return;
3593    }
3594    if (isNamespace) {
3595      for (const elementEvent of Object.keys(events)) {
3596        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
3597      }
3598    }
3599    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {
3600      const handlerKey = keyHandlers.replace(stripUidRegex, '');
3601      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
3602        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
3603      }
3604    }
3605  },
3606  trigger(element, event, args) {
3607    if (typeof event !== 'string' || !element) {
3608      return null;
3609    }
3610    const $ = getjQuery();
3611    const typeEvent = getTypeEvent(event);
3612    const inNamespace = event !== typeEvent;
3613    let jQueryEvent = null;
3614    let bubbles = true;
3615    let nativeDispatch = true;
3616    let defaultPrevented = false;
3617    if (inNamespace && $) {
3618      jQueryEvent = $.Event(event, args);
3619      $(element).trigger(jQueryEvent);
3620      bubbles = !jQueryEvent.isPropagationStopped();
3621      nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
3622      defaultPrevented = jQueryEvent.isDefaultPrevented();
3623    }
3624    const evt = hydrateObj(new Event(event, {
3625      bubbles,
3626      cancelable: true
3627    }), args);
3628    if (defaultPrevented) {
3629      evt.preventDefault();
3630    }
3631    if (nativeDispatch) {
3632      element.dispatchEvent(evt);
3633    }
3634    if (evt.defaultPrevented && jQueryEvent) {
3635      jQueryEvent.preventDefault();
3636    }
3637    return evt;
3638  }
3639};
3640function hydrateObj(obj, meta = {}) {
3641  for (const [key, value] of Object.entries(meta)) {
3642    try {
3643      obj[key] = value;
3644    } catch (_unused) {
3645      Object.defineProperty(obj, key, {
3646        configurable: true,
3647        get() {
3648          return value;
3649        }
3650      });
3651    }
3652  }
3653  return obj;
3654}
3655
3656/**
3657 * --------------------------------------------------------------------------
3658 * Bootstrap dom/manipulator.js
3659 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3660 * --------------------------------------------------------------------------
3661 */
3662
3663function normalizeData(value) {
3664  if (value === 'true') {
3665    return true;
3666  }
3667  if (value === 'false') {
3668    return false;
3669  }
3670  if (value === Number(value).toString()) {
3671    return Number(value);
3672  }
3673  if (value === '' || value === 'null') {
3674    return null;
3675  }
3676  if (typeof value !== 'string') {
3677    return value;
3678  }
3679  try {
3680    return JSON.parse(decodeURIComponent(value));
3681  } catch (_unused) {
3682    return value;
3683  }
3684}
3685function normalizeDataKey(key) {
3686  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);
3687}
3688const Manipulator = {
3689  setDataAttribute(element, key, value) {
3690    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);
3691  },
3692  removeDataAttribute(element, key) {
3693    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);
3694  },
3695  getDataAttributes(element) {
3696    if (!element) {
3697      return {};
3698    }
3699    const attributes = {};
3700    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));
3701    for (const key of bsKeys) {
3702      let pureKey = key.replace(/^bs/, '');
3703      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1);
3704      attributes[pureKey] = normalizeData(element.dataset[key]);
3705    }
3706    return attributes;
3707  },
3708  getDataAttribute(element, key) {
3709    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));
3710  }
3711};
3712
3713/**
3714 * --------------------------------------------------------------------------
3715 * Bootstrap util/config.js
3716 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3717 * --------------------------------------------------------------------------
3718 */
3719
3720
3721/**
3722 * Class definition
3723 */
3724
3725class Config {
3726  // Getters
3727  static get Default() {
3728    return {};
3729  }
3730  static get DefaultType() {
3731    return {};
3732  }
3733  static get NAME() {
3734    throw new Error('You have to implement the static method "NAME", for each component!');
3735  }
3736  _getConfig(config) {
3737    config = this._mergeConfigObj(config);
3738    config = this._configAfterMerge(config);
3739    this._typeCheckConfig(config);
3740    return config;
3741  }
3742  _configAfterMerge(config) {
3743    return config;
3744  }
3745  _mergeConfigObj(config, element) {
3746    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse
3747
3748    return {
3749      ...this.constructor.Default,
3750      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),
3751      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),
3752      ...(typeof config === 'object' ? config : {})
3753    };
3754  }
3755  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {
3756    for (const [property, expectedTypes] of Object.entries(configTypes)) {
3757      const value = config[property];
3758      const valueType = isElement(value) ? 'element' : toType(value);
3759      if (!new RegExp(expectedTypes).test(valueType)) {
3760        throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`);
3761      }
3762    }
3763  }
3764}
3765
3766/**
3767 * --------------------------------------------------------------------------
3768 * Bootstrap base-component.js
3769 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3770 * --------------------------------------------------------------------------
3771 */
3772
3773
3774/**
3775 * Constants
3776 */
3777
3778const VERSION = '5.3.8';
3779
3780/**
3781 * Class definition
3782 */
3783
3784class BaseComponent extends Config {
3785  constructor(element, config) {
3786    super();
3787    element = getElement(element);
3788    if (!element) {
3789      return;
3790    }
3791    this._element = element;
3792    this._config = this._getConfig(config);
3793    Data.set(this._element, this.constructor.DATA_KEY, this);
3794  }
3795
3796  // Public
3797  dispose() {
3798    Data.remove(this._element, this.constructor.DATA_KEY);
3799    EventHandler.off(this._element, this.constructor.EVENT_KEY);
3800    for (const propertyName of Object.getOwnPropertyNames(this)) {
3801      this[propertyName] = null;
3802    }
3803  }
3804
3805  // Private
3806  _queueCallback(callback, element, isAnimated = true) {
3807    executeAfterTransition(callback, element, isAnimated);
3808  }
3809  _getConfig(config) {
3810    config = this._mergeConfigObj(config, this._element);
3811    config = this._configAfterMerge(config);
3812    this._typeCheckConfig(config);
3813    return config;
3814  }
3815
3816  // Static
3817  static getInstance(element) {
3818    return Data.get(getElement(element), this.DATA_KEY);
3819  }
3820  static getOrCreateInstance(element, config = {}) {
3821    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);
3822  }
3823  static get VERSION() {
3824    return VERSION;
3825  }
3826  static get DATA_KEY() {
3827    return `bs.${this.NAME}`;
3828  }
3829  static get EVENT_KEY() {
3830    return `.${this.DATA_KEY}`;
3831  }
3832  static eventName(name) {
3833    return `${name}${this.EVENT_KEY}`;
3834  }
3835}
3836
3837/**
3838 * --------------------------------------------------------------------------
3839 * Bootstrap dom/selector-engine.js
3840 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3841 * --------------------------------------------------------------------------
3842 */
3843
3844const getSelector = element => {
3845  let selector = element.getAttribute('data-bs-target');
3846  if (!selector || selector === '#') {
3847    let hrefAttribute = element.getAttribute('href');
3848
3849    // The only valid content that could double as a selector are IDs or classes,
3850    // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
3851    // `document.querySelector` will rightfully complain it is invalid.
3852    // See https://github.com/twbs/bootstrap/issues/32273
3853    if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {
3854      return null;
3855    }
3856
3857    // Just in case some CMS puts out a full URL with the anchor appended
3858    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {
3859      hrefAttribute = `#${hrefAttribute.split('#')[1]}`;
3860    }
3861    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;
3862  }
3863  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null;
3864};
3865const SelectorEngine = {
3866  find(selector, element = document.documentElement) {
3867    return [].concat(...Element.prototype.querySelectorAll.call(element, selector));
3868  },
3869  findOne(selector, element = document.documentElement) {
3870    return Element.prototype.querySelector.call(element, selector);
3871  },
3872  children(element, selector) {
3873    return [].concat(...element.children).filter(child => child.matches(selector));
3874  },
3875  parents(element, selector) {
3876    const parents = [];
3877    let ancestor = element.parentNode.closest(selector);
3878    while (ancestor) {
3879      parents.push(ancestor);
3880      ancestor = ancestor.parentNode.closest(selector);
3881    }
3882    return parents;
3883  },
3884  prev(element, selector) {
3885    let previous = element.previousElementSibling;
3886    while (previous) {
3887      if (previous.matches(selector)) {
3888        return [previous];
3889      }
3890      previous = previous.previousElementSibling;
3891    }
3892    return [];
3893  },
3894  // TODO: this is now unused; remove later along with prev()
3895  next(element, selector) {
3896    let next = element.nextElementSibling;
3897    while (next) {
3898      if (next.matches(selector)) {
3899        return [next];
3900      }
3901      next = next.nextElementSibling;
3902    }
3903    return [];
3904  },
3905  focusableChildren(element) {
3906    const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(',');
3907    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));
3908  },
3909  getSelectorFromElement(element) {
3910    const selector = getSelector(element);
3911    if (selector) {
3912      return SelectorEngine.findOne(selector) ? selector : null;
3913    }
3914    return null;
3915  },
3916  getElementFromSelector(element) {
3917    const selector = getSelector(element);
3918    return selector ? SelectorEngine.findOne(selector) : null;
3919  },
3920  getMultipleElementsFromSelector(element) {
3921    const selector = getSelector(element);
3922    return selector ? SelectorEngine.find(selector) : [];
3923  }
3924};
3925
3926/**
3927 * --------------------------------------------------------------------------
3928 * Bootstrap util/component-functions.js
3929 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3930 * --------------------------------------------------------------------------
3931 */
3932
3933const enableDismissTrigger = (component, method = 'hide') => {
3934  const clickEvent = `click.dismiss${component.EVENT_KEY}`;
3935  const name = component.NAME;
3936  EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) {
3937    if (['A', 'AREA'].includes(this.tagName)) {
3938      event.preventDefault();
3939    }
3940    if (isDisabled(this)) {
3941      return;
3942    }
3943    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`);
3944    const instance = component.getOrCreateInstance(target);
3945
3946    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method
3947    instance[method]();
3948  });
3949};
3950
3951/**
3952 * --------------------------------------------------------------------------
3953 * Bootstrap alert.js
3954 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
3955 * --------------------------------------------------------------------------
3956 */
3957
3958
3959/**
3960 * Constants
3961 */
3962
3963const NAME$f = 'alert';
3964const DATA_KEY$a = 'bs.alert';
3965const EVENT_KEY$b = `.${DATA_KEY$a}`;
3966const EVENT_CLOSE = `close${EVENT_KEY$b}`;
3967const EVENT_CLOSED = `closed${EVENT_KEY$b}`;
3968const CLASS_NAME_FADE$5 = 'fade';
3969const CLASS_NAME_SHOW$8 = 'show';
3970
3971/**
3972 * Class definition
3973 */
3974
3975class Alert extends BaseComponent {
3976  // Getters
3977  static get NAME() {
3978    return NAME$f;
3979  }
3980
3981  // Public
3982  close() {
3983    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);
3984    if (closeEvent.defaultPrevented) {
3985      return;
3986    }
3987    this._element.classList.remove(CLASS_NAME_SHOW$8);
3988    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);
3989    this._queueCallback(() => this._destroyElement(), this._element, isAnimated);
3990  }
3991
3992  // Private
3993  _destroyElement() {
3994    this._element.remove();
3995    EventHandler.trigger(this._element, EVENT_CLOSED);
3996    this.dispose();
3997  }
3998
3999  // Static
4000  static jQueryInterface(config) {
4001    return this.each(function () {
4002      const data = Alert.getOrCreateInstance(this);
4003      if (typeof config !== 'string') {
4004        return;
4005      }
4006      if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
4007        throw new TypeError(`No method named "${config}"`);
4008      }
4009      data[config](this);
4010    });
4011  }
4012}
4013
4014/**
4015 * Data API implementation
4016 */
4017
4018enableDismissTrigger(Alert, 'close');
4019
4020/**
4021 * jQuery
4022 */
4023
4024defineJQueryPlugin(Alert);
4025
4026/**
4027 * --------------------------------------------------------------------------
4028 * Bootstrap button.js
4029 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4030 * --------------------------------------------------------------------------
4031 */
4032
4033
4034/**
4035 * Constants
4036 */
4037
4038const NAME$e = 'button';
4039const DATA_KEY$9 = 'bs.button';
4040const EVENT_KEY$a = `.${DATA_KEY$9}`;
4041const DATA_API_KEY$6 = '.data-api';
4042const CLASS_NAME_ACTIVE$3 = 'active';
4043const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]';
4044const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
4045
4046/**
4047 * Class definition
4048 */
4049
4050class Button extends BaseComponent {
4051  // Getters
4052  static get NAME() {
4053    return NAME$e;
4054  }
4055
4056  // Public
4057  toggle() {
4058    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
4059    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));
4060  }
4061
4062  // Static
4063  static jQueryInterface(config) {
4064    return this.each(function () {
4065      const data = Button.getOrCreateInstance(this);
4066      if (config === 'toggle') {
4067        data[config]();
4068      }
4069    });
4070  }
4071}
4072
4073/**
4074 * Data API implementation
4075 */
4076
4077EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {
4078  event.preventDefault();
4079  const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);
4080  const data = Button.getOrCreateInstance(button);
4081  data.toggle();
4082});
4083
4084/**
4085 * jQuery
4086 */
4087
4088defineJQueryPlugin(Button);
4089
4090/**
4091 * --------------------------------------------------------------------------
4092 * Bootstrap util/swipe.js
4093 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4094 * --------------------------------------------------------------------------
4095 */
4096
4097
4098/**
4099 * Constants
4100 */
4101
4102const NAME$d = 'swipe';
4103const EVENT_KEY$9 = '.bs.swipe';
4104const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;
4105const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;
4106const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;
4107const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;
4108const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;
4109const POINTER_TYPE_TOUCH = 'touch';
4110const POINTER_TYPE_PEN = 'pen';
4111const CLASS_NAME_POINTER_EVENT = 'pointer-event';
4112const SWIPE_THRESHOLD = 40;
4113const Default$c = {
4114  endCallback: null,
4115  leftCallback: null,
4116  rightCallback: null
4117};
4118const DefaultType$c = {
4119  endCallback: '(function|null)',
4120  leftCallback: '(function|null)',
4121  rightCallback: '(function|null)'
4122};
4123
4124/**
4125 * Class definition
4126 */
4127
4128class Swipe extends Config {
4129  constructor(element, config) {
4130    super();
4131    this._element = element;
4132    if (!element || !Swipe.isSupported()) {
4133      return;
4134    }
4135    this._config = this._getConfig(config);
4136    this._deltaX = 0;
4137    this._supportPointerEvents = Boolean(window.PointerEvent);
4138    this._initEvents();
4139  }
4140
4141  // Getters
4142  static get Default() {
4143    return Default$c;
4144  }
4145  static get DefaultType() {
4146    return DefaultType$c;
4147  }
4148  static get NAME() {
4149    return NAME$d;
4150  }
4151
4152  // Public
4153  dispose() {
4154    EventHandler.off(this._element, EVENT_KEY$9);
4155  }
4156
4157  // Private
4158  _start(event) {
4159    if (!this._supportPointerEvents) {
4160      this._deltaX = event.touches[0].clientX;
4161      return;
4162    }
4163    if (this._eventIsPointerPenTouch(event)) {
4164      this._deltaX = event.clientX;
4165    }
4166  }
4167  _end(event) {
4168    if (this._eventIsPointerPenTouch(event)) {
4169      this._deltaX = event.clientX - this._deltaX;
4170    }
4171    this._handleSwipe();
4172    execute(this._config.endCallback);
4173  }
4174  _move(event) {
4175    this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;
4176  }
4177  _handleSwipe() {
4178    const absDeltaX = Math.abs(this._deltaX);
4179    if (absDeltaX <= SWIPE_THRESHOLD) {
4180      return;
4181    }
4182    const direction = absDeltaX / this._deltaX;
4183    this._deltaX = 0;
4184    if (!direction) {
4185      return;
4186    }
4187    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);
4188  }
4189  _initEvents() {
4190    if (this._supportPointerEvents) {
4191      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event));
4192      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event));
4193      this._element.classList.add(CLASS_NAME_POINTER_EVENT);
4194    } else {
4195      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event));
4196      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event));
4197      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event));
4198    }
4199  }
4200  _eventIsPointerPenTouch(event) {
4201    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);
4202  }
4203
4204  // Static
4205  static isSupported() {
4206    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
4207  }
4208}
4209
4210/**
4211 * --------------------------------------------------------------------------
4212 * Bootstrap carousel.js
4213 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4214 * --------------------------------------------------------------------------
4215 */
4216
4217
4218/**
4219 * Constants
4220 */
4221
4222const NAME$c = 'carousel';
4223const DATA_KEY$8 = 'bs.carousel';
4224const EVENT_KEY$8 = `.${DATA_KEY$8}`;
4225const DATA_API_KEY$5 = '.data-api';
4226const ARROW_LEFT_KEY$1 = 'ArrowLeft';
4227const ARROW_RIGHT_KEY$1 = 'ArrowRight';
4228const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
4229
4230const ORDER_NEXT = 'next';
4231const ORDER_PREV = 'prev';
4232const DIRECTION_LEFT = 'left';
4233const DIRECTION_RIGHT = 'right';
4234const EVENT_SLIDE = `slide${EVENT_KEY$8}`;
4235const EVENT_SLID = `slid${EVENT_KEY$8}`;
4236const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;
4237const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;
4238const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;
4239const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;
4240const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;
4241const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
4242const CLASS_NAME_CAROUSEL = 'carousel';
4243const CLASS_NAME_ACTIVE$2 = 'active';
4244const CLASS_NAME_SLIDE = 'slide';
4245const CLASS_NAME_END = 'carousel-item-end';
4246const CLASS_NAME_START = 'carousel-item-start';
4247const CLASS_NAME_NEXT = 'carousel-item-next';
4248const CLASS_NAME_PREV = 'carousel-item-prev';
4249const SELECTOR_ACTIVE = '.active';
4250const SELECTOR_ITEM = '.carousel-item';
4251const SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM;
4252const SELECTOR_ITEM_IMG = '.carousel-item img';
4253const SELECTOR_INDICATORS = '.carousel-indicators';
4254const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';
4255const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]';
4256const KEY_TO_DIRECTION = {
4257  [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,
4258  [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT
4259};
4260const Default$b = {
4261  interval: 5000,
4262  keyboard: true,
4263  pause: 'hover',
4264  ride: false,
4265  touch: true,
4266  wrap: true
4267};
4268const DefaultType$b = {
4269  interval: '(number|boolean)',
4270  // TODO:v6 remove boolean support
4271  keyboard: 'boolean',
4272  pause: '(string|boolean)',
4273  ride: '(boolean|string)',
4274  touch: 'boolean',
4275  wrap: 'boolean'
4276};
4277
4278/**
4279 * Class definition
4280 */
4281
4282class Carousel extends BaseComponent {
4283  constructor(element, config) {
4284    super(element, config);
4285    this._interval = null;
4286    this._activeElement = null;
4287    this._isSliding = false;
4288    this.touchTimeout = null;
4289    this._swipeHelper = null;
4290    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);
4291    this._addEventListeners();
4292    if (this._config.ride === CLASS_NAME_CAROUSEL) {
4293      this.cycle();
4294    }
4295  }
4296
4297  // Getters
4298  static get Default() {
4299    return Default$b;
4300  }
4301  static get DefaultType() {
4302    return DefaultType$b;
4303  }
4304  static get NAME() {
4305    return NAME$c;
4306  }
4307
4308  // Public
4309  next() {
4310    this._slide(ORDER_NEXT);
4311  }
4312  nextWhenVisible() {
4313    // FIXME TODO use `document.visibilityState`
4314    // Don't call next when the page isn't visible
4315    // or the carousel or its parent isn't visible
4316    if (!document.hidden && isVisible(this._element)) {
4317      this.next();
4318    }
4319  }
4320  prev() {
4321    this._slide(ORDER_PREV);
4322  }
4323  pause() {
4324    if (this._isSliding) {
4325      triggerTransitionEnd(this._element);
4326    }
4327    this._clearInterval();
4328  }
4329  cycle() {
4330    this._clearInterval();
4331    this._updateInterval();
4332    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval);
4333  }
4334  _maybeEnableCycle() {
4335    if (!this._config.ride) {
4336      return;
4337    }
4338    if (this._isSliding) {
4339      EventHandler.one(this._element, EVENT_SLID, () => this.cycle());
4340      return;
4341    }
4342    this.cycle();
4343  }
4344  to(index) {
4345    const items = this._getItems();
4346    if (index > items.length - 1 || index < 0) {
4347      return;
4348    }
4349    if (this._isSliding) {
4350      EventHandler.one(this._element, EVENT_SLID, () => this.to(index));
4351      return;
4352    }
4353    const activeIndex = this._getItemIndex(this._getActive());
4354    if (activeIndex === index) {
4355      return;
4356    }
4357    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;
4358    this._slide(order, items[index]);
4359  }
4360  dispose() {
4361    if (this._swipeHelper) {
4362      this._swipeHelper.dispose();
4363    }
4364    super.dispose();
4365  }
4366
4367  // Private
4368  _configAfterMerge(config) {
4369    config.defaultInterval = config.interval;
4370    return config;
4371  }
4372  _addEventListeners() {
4373    if (this._config.keyboard) {
4374      EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event));
4375    }
4376    if (this._config.pause === 'hover') {
4377      EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause());
4378      EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle());
4379    }
4380    if (this._config.touch && Swipe.isSupported()) {
4381      this._addTouchEventListeners();
4382    }
4383  }
4384  _addTouchEventListeners() {
4385    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {
4386      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault());
4387    }
4388    const endCallBack = () => {
4389      if (this._config.pause !== 'hover') {
4390        return;
4391      }
4392
4393      // If it's a touch-enabled device, mouseenter/leave are fired as
4394      // part of the mouse compatibility events on first tap - the carousel
4395      // would stop cycling until user tapped out of it;
4396      // here, we listen for touchend, explicitly pause the carousel
4397      // (as if it's the second time we tap on it, mouseenter compat event
4398      // is NOT fired) and after a timeout (to allow for mouse compatibility
4399      // events to fire) we explicitly restart cycling
4400
4401      this.pause();
4402      if (this.touchTimeout) {
4403        clearTimeout(this.touchTimeout);
4404      }
4405      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval);
4406    };
4407    const swipeConfig = {
4408      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),
4409      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),
4410      endCallback: endCallBack
4411    };
4412    this._swipeHelper = new Swipe(this._element, swipeConfig);
4413  }
4414  _keydown(event) {
4415    if (/input|textarea/i.test(event.target.tagName)) {
4416      return;
4417    }
4418    const direction = KEY_TO_DIRECTION[event.key];
4419    if (direction) {
4420      event.preventDefault();
4421      this._slide(this._directionToOrder(direction));
4422    }
4423  }
4424  _getItemIndex(element) {
4425    return this._getItems().indexOf(element);
4426  }
4427  _setActiveIndicatorElement(index) {
4428    if (!this._indicatorsElement) {
4429      return;
4430    }
4431    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);
4432    activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);
4433    activeIndicator.removeAttribute('aria-current');
4434    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement);
4435    if (newActiveIndicator) {
4436      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2);
4437      newActiveIndicator.setAttribute('aria-current', 'true');
4438    }
4439  }
4440  _updateInterval() {
4441    const element = this._activeElement || this._getActive();
4442    if (!element) {
4443      return;
4444    }
4445    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);
4446    this._config.interval = elementInterval || this._config.defaultInterval;
4447  }
4448  _slide(order, element = null) {
4449    if (this._isSliding) {
4450      return;
4451    }
4452    const activeElement = this._getActive();
4453    const isNext = order === ORDER_NEXT;
4454    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap);
4455    if (nextElement === activeElement) {
4456      return;
4457    }
4458    const nextElementIndex = this._getItemIndex(nextElement);
4459    const triggerEvent = eventName => {
4460      return EventHandler.trigger(this._element, eventName, {
4461        relatedTarget: nextElement,
4462        direction: this._orderToDirection(order),
4463        from: this._getItemIndex(activeElement),
4464        to: nextElementIndex
4465      });
4466    };
4467    const slideEvent = triggerEvent(EVENT_SLIDE);
4468    if (slideEvent.defaultPrevented) {
4469      return;
4470    }
4471    if (!activeElement || !nextElement) {
4472      // Some weirdness is happening, so we bail
4473      // TODO: change tests that use empty divs to avoid this check
4474      return;
4475    }
4476    const isCycling = Boolean(this._interval);
4477    this.pause();
4478    this._isSliding = true;
4479    this._setActiveIndicatorElement(nextElementIndex);
4480    this._activeElement = nextElement;
4481    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;
4482    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;
4483    nextElement.classList.add(orderClassName);
4484    reflow(nextElement);
4485    activeElement.classList.add(directionalClassName);
4486    nextElement.classList.add(directionalClassName);
4487    const completeCallBack = () => {
4488      nextElement.classList.remove(directionalClassName, orderClassName);
4489      nextElement.classList.add(CLASS_NAME_ACTIVE$2);
4490      activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);
4491      this._isSliding = false;
4492      triggerEvent(EVENT_SLID);
4493    };
4494    this._queueCallback(completeCallBack, activeElement, this._isAnimated());
4495    if (isCycling) {
4496      this.cycle();
4497    }
4498  }
4499  _isAnimated() {
4500    return this._element.classList.contains(CLASS_NAME_SLIDE);
4501  }
4502  _getActive() {
4503    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
4504  }
4505  _getItems() {
4506    return SelectorEngine.find(SELECTOR_ITEM, this._element);
4507  }
4508  _clearInterval() {
4509    if (this._interval) {
4510      clearInterval(this._interval);
4511      this._interval = null;
4512    }
4513  }
4514  _directionToOrder(direction) {
4515    if (isRTL()) {
4516      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;
4517    }
4518    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;
4519  }
4520  _orderToDirection(order) {
4521    if (isRTL()) {
4522      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;
4523    }
4524    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;
4525  }
4526
4527  // Static
4528  static jQueryInterface(config) {
4529    return this.each(function () {
4530      const data = Carousel.getOrCreateInstance(this, config);
4531      if (typeof config === 'number') {
4532        data.to(config);
4533        return;
4534      }
4535      if (typeof config === 'string') {
4536        if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
4537          throw new TypeError(`No method named "${config}"`);
4538        }
4539        data[config]();
4540      }
4541    });
4542  }
4543}
4544
4545/**
4546 * Data API implementation
4547 */
4548
4549EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {
4550  const target = SelectorEngine.getElementFromSelector(this);
4551  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
4552    return;
4553  }
4554  event.preventDefault();
4555  const carousel = Carousel.getOrCreateInstance(target);
4556  const slideIndex = this.getAttribute('data-bs-slide-to');
4557  if (slideIndex) {
4558    carousel.to(slideIndex);
4559    carousel._maybeEnableCycle();
4560    return;
4561  }
4562  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {
4563    carousel.next();
4564    carousel._maybeEnableCycle();
4565    return;
4566  }
4567  carousel.prev();
4568  carousel._maybeEnableCycle();
4569});
4570EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {
4571  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
4572  for (const carousel of carousels) {
4573    Carousel.getOrCreateInstance(carousel);
4574  }
4575});
4576
4577/**
4578 * jQuery
4579 */
4580
4581defineJQueryPlugin(Carousel);
4582
4583/**
4584 * --------------------------------------------------------------------------
4585 * Bootstrap collapse.js
4586 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4587 * --------------------------------------------------------------------------
4588 */
4589
4590
4591/**
4592 * Constants
4593 */
4594
4595const NAME$b = 'collapse';
4596const DATA_KEY$7 = 'bs.collapse';
4597const EVENT_KEY$7 = `.${DATA_KEY$7}`;
4598const DATA_API_KEY$4 = '.data-api';
4599const EVENT_SHOW$6 = `show${EVENT_KEY$7}`;
4600const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;
4601const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;
4602const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;
4603const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
4604const CLASS_NAME_SHOW$7 = 'show';
4605const CLASS_NAME_COLLAPSE = 'collapse';
4606const CLASS_NAME_COLLAPSING = 'collapsing';
4607const CLASS_NAME_COLLAPSED = 'collapsed';
4608const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`;
4609const CLASS_NAME_HORIZONTAL = 'collapse-horizontal';
4610const WIDTH = 'width';
4611const HEIGHT = 'height';
4612const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
4613const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]';
4614const Default$a = {
4615  parent: null,
4616  toggle: true
4617};
4618const DefaultType$a = {
4619  parent: '(null|element)',
4620  toggle: 'boolean'
4621};
4622
4623/**
4624 * Class definition
4625 */
4626
4627class Collapse extends BaseComponent {
4628  constructor(element, config) {
4629    super(element, config);
4630    this._isTransitioning = false;
4631    this._triggerArray = [];
4632    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);
4633    for (const elem of toggleList) {
4634      const selector = SelectorEngine.getSelectorFromElement(elem);
4635      const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
4636      if (selector !== null && filterElement.length) {
4637        this._triggerArray.push(elem);
4638      }
4639    }
4640    this._initializeChildren();
4641    if (!this._config.parent) {
4642      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());
4643    }
4644    if (this._config.toggle) {
4645      this.toggle();
4646    }
4647  }
4648
4649  // Getters
4650  static get Default() {
4651    return Default$a;
4652  }
4653  static get DefaultType() {
4654    return DefaultType$a;
4655  }
4656  static get NAME() {
4657    return NAME$b;
4658  }
4659
4660  // Public
4661  toggle() {
4662    if (this._isShown()) {
4663      this.hide();
4664    } else {
4665      this.show();
4666    }
4667  }
4668  show() {
4669    if (this._isTransitioning || this._isShown()) {
4670      return;
4671    }
4672    let activeChildren = [];
4673
4674    // find active children
4675    if (this._config.parent) {
4676      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {
4677        toggle: false
4678      }));
4679    }
4680    if (activeChildren.length && activeChildren[0]._isTransitioning) {
4681      return;
4682    }
4683    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);
4684    if (startEvent.defaultPrevented) {
4685      return;
4686    }
4687    for (const activeInstance of activeChildren) {
4688      activeInstance.hide();
4689    }
4690    const dimension = this._getDimension();
4691    this._element.classList.remove(CLASS_NAME_COLLAPSE);
4692    this._element.classList.add(CLASS_NAME_COLLAPSING);
4693    this._element.style[dimension] = 0;
4694    this._addAriaAndCollapsedClass(this._triggerArray, true);
4695    this._isTransitioning = true;
4696    const complete = () => {
4697      this._isTransitioning = false;
4698      this._element.classList.remove(CLASS_NAME_COLLAPSING);
4699      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);
4700      this._element.style[dimension] = '';
4701      EventHandler.trigger(this._element, EVENT_SHOWN$6);
4702    };
4703    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
4704    const scrollSize = `scroll${capitalizedDimension}`;
4705    this._queueCallback(complete, this._element, true);
4706    this._element.style[dimension] = `${this._element[scrollSize]}px`;
4707  }
4708  hide() {
4709    if (this._isTransitioning || !this._isShown()) {
4710      return;
4711    }
4712    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
4713    if (startEvent.defaultPrevented) {
4714      return;
4715    }
4716    const dimension = this._getDimension();
4717    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;
4718    reflow(this._element);
4719    this._element.classList.add(CLASS_NAME_COLLAPSING);
4720    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);
4721    for (const trigger of this._triggerArray) {
4722      const element = SelectorEngine.getElementFromSelector(trigger);
4723      if (element && !this._isShown(element)) {
4724        this._addAriaAndCollapsedClass([trigger], false);
4725      }
4726    }
4727    this._isTransitioning = true;
4728    const complete = () => {
4729      this._isTransitioning = false;
4730      this._element.classList.remove(CLASS_NAME_COLLAPSING);
4731      this._element.classList.add(CLASS_NAME_COLLAPSE);
4732      EventHandler.trigger(this._element, EVENT_HIDDEN$6);
4733    };
4734    this._element.style[dimension] = '';
4735    this._queueCallback(complete, this._element, true);
4736  }
4737
4738  // Private
4739  _isShown(element = this._element) {
4740    return element.classList.contains(CLASS_NAME_SHOW$7);
4741  }
4742  _configAfterMerge(config) {
4743    config.toggle = Boolean(config.toggle); // Coerce string values
4744    config.parent = getElement(config.parent);
4745    return config;
4746  }
4747  _getDimension() {
4748    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;
4749  }
4750  _initializeChildren() {
4751    if (!this._config.parent) {
4752      return;
4753    }
4754    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);
4755    for (const element of children) {
4756      const selected = SelectorEngine.getElementFromSelector(element);
4757      if (selected) {
4758        this._addAriaAndCollapsedClass([element], this._isShown(selected));
4759      }
4760    }
4761  }
4762  _getFirstLevelChildren(selector) {
4763    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);
4764    // remove children if greater depth
4765    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element));
4766  }
4767  _addAriaAndCollapsedClass(triggerArray, isOpen) {
4768    if (!triggerArray.length) {
4769      return;
4770    }
4771    for (const element of triggerArray) {
4772      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);
4773      element.setAttribute('aria-expanded', isOpen);
4774    }
4775  }
4776
4777  // Static
4778  static jQueryInterface(config) {
4779    const _config = {};
4780    if (typeof config === 'string' && /show|hide/.test(config)) {
4781      _config.toggle = false;
4782    }
4783    return this.each(function () {
4784      const data = Collapse.getOrCreateInstance(this, _config);
4785      if (typeof config === 'string') {
4786        if (typeof data[config] === 'undefined') {
4787          throw new TypeError(`No method named "${config}"`);
4788        }
4789        data[config]();
4790      }
4791    });
4792  }
4793}
4794
4795/**
4796 * Data API implementation
4797 */
4798
4799EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {
4800  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
4801  if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
4802    event.preventDefault();
4803  }
4804  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {
4805    Collapse.getOrCreateInstance(element, {
4806      toggle: false
4807    }).toggle();
4808  }
4809});
4810
4811/**
4812 * jQuery
4813 */
4814
4815defineJQueryPlugin(Collapse);
4816
4817/**
4818 * --------------------------------------------------------------------------
4819 * Bootstrap dropdown.js
4820 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4821 * --------------------------------------------------------------------------
4822 */
4823
4824
4825/**
4826 * Constants
4827 */
4828
4829const NAME$a = 'dropdown';
4830const DATA_KEY$6 = 'bs.dropdown';
4831const EVENT_KEY$6 = `.${DATA_KEY$6}`;
4832const DATA_API_KEY$3 = '.data-api';
4833const ESCAPE_KEY$2 = 'Escape';
4834const TAB_KEY$1 = 'Tab';
4835const ARROW_UP_KEY$1 = 'ArrowUp';
4836const ARROW_DOWN_KEY$1 = 'ArrowDown';
4837const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
4838
4839const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;
4840const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;
4841const EVENT_SHOW$5 = `show${EVENT_KEY$6}`;
4842const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;
4843const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
4844const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;
4845const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;
4846const CLASS_NAME_SHOW$6 = 'show';
4847const CLASS_NAME_DROPUP = 'dropup';
4848const CLASS_NAME_DROPEND = 'dropend';
4849const CLASS_NAME_DROPSTART = 'dropstart';
4850const CLASS_NAME_DROPUP_CENTER = 'dropup-center';
4851const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';
4852const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
4853const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;
4854const SELECTOR_MENU = '.dropdown-menu';
4855const SELECTOR_NAVBAR = '.navbar';
4856const SELECTOR_NAVBAR_NAV = '.navbar-nav';
4857const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
4858const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';
4859const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';
4860const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';
4861const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';
4862const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
4863const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
4864const PLACEMENT_TOPCENTER = 'top';
4865const PLACEMENT_BOTTOMCENTER = 'bottom';
4866const Default$9 = {
4867  autoClose: true,
4868  boundary: 'clippingParents',
4869  display: 'dynamic',
4870  offset: [0, 2],
4871  popperConfig: null,
4872  reference: 'toggle'
4873};
4874const DefaultType$9 = {
4875  autoClose: '(boolean|string)',
4876  boundary: '(string|element)',
4877  display: 'string',
4878  offset: '(array|string|function)',
4879  popperConfig: '(null|object|function)',
4880  reference: '(string|element|object)'
4881};
4882
4883/**
4884 * Class definition
4885 */
4886
4887class Dropdown extends BaseComponent {
4888  constructor(element, config) {
4889    super(element, config);
4890    this._popper = null;
4891    this._parent = this._element.parentNode; // dropdown wrapper
4892    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
4893    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
4894    this._inNavbar = this._detectNavbar();
4895  }
4896
4897  // Getters
4898  static get Default() {
4899    return Default$9;
4900  }
4901  static get DefaultType() {
4902    return DefaultType$9;
4903  }
4904  static get NAME() {
4905    return NAME$a;
4906  }
4907
4908  // Public
4909  toggle() {
4910    return this._isShown() ? this.hide() : this.show();
4911  }
4912  show() {
4913    if (isDisabled(this._element) || this._isShown()) {
4914      return;
4915    }
4916    const relatedTarget = {
4917      relatedTarget: this._element
4918    };
4919    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);
4920    if (showEvent.defaultPrevented) {
4921      return;
4922    }
4923    this._createPopper();
4924
4925    // If this is a touch-enabled device we add extra
4926    // empty mouseover listeners to the body's immediate children;
4927    // only needed because of broken event delegation on iOS
4928    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
4929    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {
4930      for (const element of [].concat(...document.body.children)) {
4931        EventHandler.on(element, 'mouseover', noop);
4932      }
4933    }
4934    this._element.focus();
4935    this._element.setAttribute('aria-expanded', true);
4936    this._menu.classList.add(CLASS_NAME_SHOW$6);
4937    this._element.classList.add(CLASS_NAME_SHOW$6);
4938    EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);
4939  }
4940  hide() {
4941    if (isDisabled(this._element) || !this._isShown()) {
4942      return;
4943    }
4944    const relatedTarget = {
4945      relatedTarget: this._element
4946    };
4947    this._completeHide(relatedTarget);
4948  }
4949  dispose() {
4950    if (this._popper) {
4951      this._popper.destroy();
4952    }
4953    super.dispose();
4954  }
4955  update() {
4956    this._inNavbar = this._detectNavbar();
4957    if (this._popper) {
4958      this._popper.update();
4959    }
4960  }
4961
4962  // Private
4963  _completeHide(relatedTarget) {
4964    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);
4965    if (hideEvent.defaultPrevented) {
4966      return;
4967    }
4968
4969    // If this is a touch-enabled device we remove the extra
4970    // empty mouseover listeners we added for iOS support
4971    if ('ontouchstart' in document.documentElement) {
4972      for (const element of [].concat(...document.body.children)) {
4973        EventHandler.off(element, 'mouseover', noop);
4974      }
4975    }
4976    if (this._popper) {
4977      this._popper.destroy();
4978    }
4979    this._menu.classList.remove(CLASS_NAME_SHOW$6);
4980    this._element.classList.remove(CLASS_NAME_SHOW$6);
4981    this._element.setAttribute('aria-expanded', 'false');
4982    Manipulator.removeDataAttribute(this._menu, 'popper');
4983    EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);
4984  }
4985  _getConfig(config) {
4986    config = super._getConfig(config);
4987    if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
4988      // Popper virtual elements require a getBoundingClientRect method
4989      throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
4990    }
4991    return config;
4992  }
4993  _createPopper() {
4994    if (typeof _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ === 'undefined') {
4995      throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org/docs/v2/)');
4996    }
4997    let referenceElement = this._element;
4998    if (this._config.reference === 'parent') {
4999      referenceElement = this._parent;
5000    } else if (isElement(this._config.reference)) {
5001      referenceElement = getElement(this._config.reference);
5002    } else if (typeof this._config.reference === 'object') {
5003      referenceElement = this._config.reference;
5004    }
5005    const popperConfig = this._getPopperConfig();
5006    this._popper = _popperjs_core__WEBPACK_IMPORTED_MODULE_1__.createPopper(referenceElement, this._menu, popperConfig);
5007  }
5008  _isShown() {
5009    return this._menu.classList.contains(CLASS_NAME_SHOW$6);
5010  }
5011  _getPlacement() {
5012    const parentDropdown = this._parent;
5013    if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {
5014      return PLACEMENT_RIGHT;
5015    }
5016    if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {
5017      return PLACEMENT_LEFT;
5018    }
5019    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {
5020      return PLACEMENT_TOPCENTER;
5021    }
5022    if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {
5023      return PLACEMENT_BOTTOMCENTER;
5024    }
5025
5026    // We need to trim the value because custom properties can also include spaces
5027    const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';
5028    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
5029      return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;
5030    }
5031    return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;
5032  }
5033  _detectNavbar() {
5034    return this._element.closest(SELECTOR_NAVBAR) !== null;
5035  }
5036  _getOffset() {
5037    const {
5038      offset
5039    } = this._config;
5040    if (typeof offset === 'string') {
5041      return offset.split(',').map(value => Number.parseInt(value, 10));
5042    }
5043    if (typeof offset === 'function') {
5044      return popperData => offset(popperData, this._element);
5045    }
5046    return offset;
5047  }
5048  _getPopperConfig() {
5049    const defaultBsPopperConfig = {
5050      placement: this._getPlacement(),
5051      modifiers: [{
5052        name: 'preventOverflow',
5053        options: {
5054          boundary: this._config.boundary
5055        }
5056      }, {
5057        name: 'offset',
5058        options: {
5059          offset: this._getOffset()
5060        }
5061      }]
5062    };
5063
5064    // Disable Popper if we have a static display or Dropdown is in Navbar
5065    if (this._inNavbar || this._config.display === 'static') {
5066      Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // TODO: v6 remove
5067      defaultBsPopperConfig.modifiers = [{
5068        name: 'applyStyles',
5069        enabled: false
5070      }];
5071    }
5072    return {
5073      ...defaultBsPopperConfig,
5074      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])
5075    };
5076  }
5077  _selectMenuItem({
5078    key,
5079    target
5080  }) {
5081    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));
5082    if (!items.length) {
5083      return;
5084    }
5085
5086    // if target isn't included in items (e.g. when expanding the dropdown)
5087    // allow cycling to get the last item in case key equals ARROW_UP_KEY
5088    getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();
5089  }
5090
5091  // Static
5092  static jQueryInterface(config) {
5093    return this.each(function () {
5094      const data = Dropdown.getOrCreateInstance(this, config);
5095      if (typeof config !== 'string') {
5096        return;
5097      }
5098      if (typeof data[config] === 'undefined') {
5099        throw new TypeError(`No method named "${config}"`);
5100      }
5101      data[config]();
5102    });
5103  }
5104  static clearMenus(event) {
5105    if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {
5106      return;
5107    }
5108    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);
5109    for (const toggle of openToggles) {
5110      const context = Dropdown.getInstance(toggle);
5111      if (!context || context._config.autoClose === false) {
5112        continue;
5113      }
5114      const composedPath = event.composedPath();
5115      const isMenuTarget = composedPath.includes(context._menu);
5116      if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {
5117        continue;
5118      }
5119
5120      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu
5121      if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {
5122        continue;
5123      }
5124      const relatedTarget = {
5125        relatedTarget: context._element
5126      };
5127      if (event.type === 'click') {
5128        relatedTarget.clickEvent = event;
5129      }
5130      context._completeHide(relatedTarget);
5131    }
5132  }
5133  static dataApiKeydownHandler(event) {
5134    // If not an UP | DOWN | ESCAPE key => not a dropdown command
5135    // If input/textarea && if key is other than ESCAPE => not a dropdown command
5136
5137    const isInput = /input|textarea/i.test(event.target.tagName);
5138    const isEscapeEvent = event.key === ESCAPE_KEY$2;
5139    const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);
5140    if (!isUpOrDownEvent && !isEscapeEvent) {
5141      return;
5142    }
5143    if (isInput && !isEscapeEvent) {
5144      return;
5145    }
5146    event.preventDefault();
5147
5148    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
5149    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
5150    const instance = Dropdown.getOrCreateInstance(getToggleButton);
5151    if (isUpOrDownEvent) {
5152      event.stopPropagation();
5153      instance.show();
5154      instance._selectMenuItem(event);
5155      return;
5156    }
5157    if (instance._isShown()) {
5158      // else is escape and we check if it is shown
5159      event.stopPropagation();
5160      instance.hide();
5161      getToggleButton.focus();
5162    }
5163  }
5164}
5165
5166/**
5167 * Data API implementation
5168 */
5169
5170EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);
5171EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
5172EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);
5173EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
5174EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {
5175  event.preventDefault();
5176  Dropdown.getOrCreateInstance(this).toggle();
5177});
5178
5179/**
5180 * jQuery
5181 */
5182
5183defineJQueryPlugin(Dropdown);
5184
5185/**
5186 * --------------------------------------------------------------------------
5187 * Bootstrap util/backdrop.js
5188 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5189 * --------------------------------------------------------------------------
5190 */
5191
5192
5193/**
5194 * Constants
5195 */
5196
5197const NAME$9 = 'backdrop';
5198const CLASS_NAME_FADE$4 = 'fade';
5199const CLASS_NAME_SHOW$5 = 'show';
5200const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;
5201const Default$8 = {
5202  className: 'modal-backdrop',
5203  clickCallback: null,
5204  isAnimated: false,
5205  isVisible: true,
5206  // if false, we use the backdrop helper without adding any element to the dom
5207  rootElement: 'body' // give the choice to place backdrop under different elements
5208};
5209const DefaultType$8 = {
5210  className: 'string',
5211  clickCallback: '(function|null)',
5212  isAnimated: 'boolean',
5213  isVisible: 'boolean',
5214  rootElement: '(element|string)'
5215};
5216
5217/**
5218 * Class definition
5219 */
5220
5221class Backdrop extends Config {
5222  constructor(config) {
5223    super();
5224    this._config = this._getConfig(config);
5225    this._isAppended = false;
5226    this._element = null;
5227  }
5228
5229  // Getters
5230  static get Default() {
5231    return Default$8;
5232  }
5233  static get DefaultType() {
5234    return DefaultType$8;
5235  }
5236  static get NAME() {
5237    return NAME$9;
5238  }
5239
5240  // Public
5241  show(callback) {
5242    if (!this._config.isVisible) {
5243      execute(callback);
5244      return;
5245    }
5246    this._append();
5247    const element = this._getElement();
5248    if (this._config.isAnimated) {
5249      reflow(element);
5250    }
5251    element.classList.add(CLASS_NAME_SHOW$5);
5252    this._emulateAnimation(() => {
5253      execute(callback);
5254    });
5255  }
5256  hide(callback) {
5257    if (!this._config.isVisible) {
5258      execute(callback);
5259      return;
5260    }
5261    this._getElement().classList.remove(CLASS_NAME_SHOW$5);
5262    this._emulateAnimation(() => {
5263      this.dispose();
5264      execute(callback);
5265    });
5266  }
5267  dispose() {
5268    if (!this._isAppended) {
5269      return;
5270    }
5271    EventHandler.off(this._element, EVENT_MOUSEDOWN);
5272    this._element.remove();
5273    this._isAppended = false;
5274  }
5275
5276  // Private
5277  _getElement() {
5278    if (!this._element) {
5279      const backdrop = document.createElement('div');
5280      backdrop.className = this._config.className;
5281      if (this._config.isAnimated) {
5282        backdrop.classList.add(CLASS_NAME_FADE$4);
5283      }
5284      this._element = backdrop;
5285    }
5286    return this._element;
5287  }
5288  _configAfterMerge(config) {
5289    // use getElement() with the default "body" to get a fresh Element on each instantiation
5290    config.rootElement = getElement(config.rootElement);
5291    return config;
5292  }
5293  _append() {
5294    if (this._isAppended) {
5295      return;
5296    }
5297    const element = this._getElement();
5298    this._config.rootElement.append(element);
5299    EventHandler.on(element, EVENT_MOUSEDOWN, () => {
5300      execute(this._config.clickCallback);
5301    });
5302    this._isAppended = true;
5303  }
5304  _emulateAnimation(callback) {
5305    executeAfterTransition(callback, this._getElement(), this._config.isAnimated);
5306  }
5307}
5308
5309/**
5310 * --------------------------------------------------------------------------
5311 * Bootstrap util/focustrap.js
5312 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5313 * --------------------------------------------------------------------------
5314 */
5315
5316
5317/**
5318 * Constants
5319 */
5320
5321const NAME$8 = 'focustrap';
5322const DATA_KEY$5 = 'bs.focustrap';
5323const EVENT_KEY$5 = `.${DATA_KEY$5}`;
5324const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;
5325const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;
5326const TAB_KEY = 'Tab';
5327const TAB_NAV_FORWARD = 'forward';
5328const TAB_NAV_BACKWARD = 'backward';
5329const Default$7 = {
5330  autofocus: true,
5331  trapElement: null // The element to trap focus inside of
5332};
5333const DefaultType$7 = {
5334  autofocus: 'boolean',
5335  trapElement: 'element'
5336};
5337
5338/**
5339 * Class definition
5340 */
5341
5342class FocusTrap extends Config {
5343  constructor(config) {
5344    super();
5345    this._config = this._getConfig(config);
5346    this._isActive = false;
5347    this._lastTabNavDirection = null;
5348  }
5349
5350  // Getters
5351  static get Default() {
5352    return Default$7;
5353  }
5354  static get DefaultType() {
5355    return DefaultType$7;
5356  }
5357  static get NAME() {
5358    return NAME$8;
5359  }
5360
5361  // Public
5362  activate() {
5363    if (this._isActive) {
5364      return;
5365    }
5366    if (this._config.autofocus) {
5367      this._config.trapElement.focus();
5368    }
5369    EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop
5370    EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
5371    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
5372    this._isActive = true;
5373  }
5374  deactivate() {
5375    if (!this._isActive) {
5376      return;
5377    }
5378    this._isActive = false;
5379    EventHandler.off(document, EVENT_KEY$5);
5380  }
5381
5382  // Private
5383  _handleFocusin(event) {
5384    const {
5385      trapElement
5386    } = this._config;
5387    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {
5388      return;
5389    }
5390    const elements = SelectorEngine.focusableChildren(trapElement);
5391    if (elements.length === 0) {
5392      trapElement.focus();
5393    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {
5394      elements[elements.length - 1].focus();
5395    } else {
5396      elements[0].focus();
5397    }
5398  }
5399  _handleKeydown(event) {
5400    if (event.key !== TAB_KEY) {
5401      return;
5402    }
5403    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;
5404  }
5405}
5406
5407/**
5408 * --------------------------------------------------------------------------
5409 * Bootstrap util/scrollBar.js
5410 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5411 * --------------------------------------------------------------------------
5412 */
5413
5414
5415/**
5416 * Constants
5417 */
5418
5419const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
5420const SELECTOR_STICKY_CONTENT = '.sticky-top';
5421const PROPERTY_PADDING = 'padding-right';
5422const PROPERTY_MARGIN = 'margin-right';
5423
5424/**
5425 * Class definition
5426 */
5427
5428class ScrollBarHelper {
5429  constructor() {
5430    this._element = document.body;
5431  }
5432
5433  // Public
5434  getWidth() {
5435    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
5436    const documentWidth = document.documentElement.clientWidth;
5437    return Math.abs(window.innerWidth - documentWidth);
5438  }
5439  hide() {
5440    const width = this.getWidth();
5441    this._disableOverFlow();
5442    // give padding to element to balance the hidden scrollbar width
5443    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
5444    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
5445    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
5446    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);
5447  }
5448  reset() {
5449    this._resetElementAttributes(this._element, 'overflow');
5450    this._resetElementAttributes(this._element, PROPERTY_PADDING);
5451    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);
5452    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);
5453  }
5454  isOverflowing() {
5455    return this.getWidth() > 0;
5456  }
5457
5458  // Private
5459  _disableOverFlow() {
5460    this._saveInitialAttribute(this._element, 'overflow');
5461    this._element.style.overflow = 'hidden';
5462  }
5463  _setElementAttributes(selector, styleProperty, callback) {
5464    const scrollbarWidth = this.getWidth();
5465    const manipulationCallBack = element => {
5466      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
5467        return;
5468      }
5469      this._saveInitialAttribute(element, styleProperty);
5470      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);
5471      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);
5472    };
5473    this._applyManipulationCallback(selector, manipulationCallBack);
5474  }
5475  _saveInitialAttribute(element, styleProperty) {
5476    const actualValue = element.style.getPropertyValue(styleProperty);
5477    if (actualValue) {
5478      Manipulator.setDataAttribute(element, styleProperty, actualValue);
5479    }
5480  }
5481  _resetElementAttributes(selector, styleProperty) {
5482    const manipulationCallBack = element => {
5483      const value = Manipulator.getDataAttribute(element, styleProperty);
5484      // We only want to remove the property if the value is `null`; the value can also be zero
5485      if (value === null) {
5486        element.style.removeProperty(styleProperty);
5487        return;
5488      }
5489      Manipulator.removeDataAttribute(element, styleProperty);
5490      element.style.setProperty(styleProperty, value);
5491    };
5492    this._applyManipulationCallback(selector, manipulationCallBack);
5493  }
5494  _applyManipulationCallback(selector, callBack) {
5495    if (isElement(selector)) {
5496      callBack(selector);
5497      return;
5498    }
5499    for (const sel of SelectorEngine.find(selector, this._element)) {
5500      callBack(sel);
5501    }
5502  }
5503}
5504
5505/**
5506 * --------------------------------------------------------------------------
5507 * Bootstrap modal.js
5508 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5509 * --------------------------------------------------------------------------
5510 */
5511
5512
5513/**
5514 * Constants
5515 */
5516
5517const NAME$7 = 'modal';
5518const DATA_KEY$4 = 'bs.modal';
5519const EVENT_KEY$4 = `.${DATA_KEY$4}`;
5520const DATA_API_KEY$2 = '.data-api';
5521const ESCAPE_KEY$1 = 'Escape';
5522const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;
5523const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;
5524const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;
5525const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
5526const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
5527const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
5528const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
5529const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
5530const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
5531const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
5532const CLASS_NAME_OPEN = 'modal-open';
5533const CLASS_NAME_FADE$3 = 'fade';
5534const CLASS_NAME_SHOW$4 = 'show';
5535const CLASS_NAME_STATIC = 'modal-static';
5536const OPEN_SELECTOR$1 = '.modal.show';
5537const SELECTOR_DIALOG = '.modal-dialog';
5538const SELECTOR_MODAL_BODY = '.modal-body';
5539const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]';
5540const Default$6 = {
5541  backdrop: true,
5542  focus: true,
5543  keyboard: true
5544};
5545const DefaultType$6 = {
5546  backdrop: '(boolean|string)',
5547  focus: 'boolean',
5548  keyboard: 'boolean'
5549};
5550
5551/**
5552 * Class definition
5553 */
5554
5555class Modal extends BaseComponent {
5556  constructor(element, config) {
5557    super(element, config);
5558    this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);
5559    this._backdrop = this._initializeBackDrop();
5560    this._focustrap = this._initializeFocusTrap();
5561    this._isShown = false;
5562    this._isTransitioning = false;
5563    this._scrollBar = new ScrollBarHelper();
5564    this._addEventListeners();
5565  }
5566
5567  // Getters
5568  static get Default() {
5569    return Default$6;
5570  }
5571  static get DefaultType() {
5572    return DefaultType$6;
5573  }
5574  static get NAME() {
5575    return NAME$7;
5576  }
5577
5578  // Public
5579  toggle(relatedTarget) {
5580    return this._isShown ? this.hide() : this.show(relatedTarget);
5581  }
5582  show(relatedTarget) {
5583    if (this._isShown || this._isTransitioning) {
5584      return;
5585    }
5586    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, {
5587      relatedTarget
5588    });
5589    if (showEvent.defaultPrevented) {
5590      return;
5591    }
5592    this._isShown = true;
5593    this._isTransitioning = true;
5594    this._scrollBar.hide();
5595    document.body.classList.add(CLASS_NAME_OPEN);
5596    this._adjustDialog();
5597    this._backdrop.show(() => this._showElement(relatedTarget));
5598  }
5599  hide() {
5600    if (!this._isShown || this._isTransitioning) {
5601      return;
5602    }
5603    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);
5604    if (hideEvent.defaultPrevented) {
5605      return;
5606    }
5607    this._isShown = false;
5608    this._isTransitioning = true;
5609    this._focustrap.deactivate();
5610    this._element.classList.remove(CLASS_NAME_SHOW$4);
5611    this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());
5612  }
5613  dispose() {
5614    EventHandler.off(window, EVENT_KEY$4);
5615    EventHandler.off(this._dialog, EVENT_KEY$4);
5616    this._backdrop.dispose();
5617    this._focustrap.deactivate();
5618    super.dispose();
5619  }
5620  handleUpdate() {
5621    this._adjustDialog();
5622  }
5623
5624  // Private
5625  _initializeBackDrop() {
5626    return new Backdrop({
5627      isVisible: Boolean(this._config.backdrop),
5628      // 'static' option will be translated to true, and booleans will keep their value,
5629      isAnimated: this._isAnimated()
5630    });
5631  }
5632  _initializeFocusTrap() {
5633    return new FocusTrap({
5634      trapElement: this._element
5635    });
5636  }
5637  _showElement(relatedTarget) {
5638    // try to append dynamic modal
5639    if (!document.body.contains(this._element)) {
5640      document.body.append(this._element);
5641    }
5642    this._element.style.display = 'block';
5643    this._element.removeAttribute('aria-hidden');
5644    this._element.setAttribute('aria-modal', true);
5645    this._element.setAttribute('role', 'dialog');
5646    this._element.scrollTop = 0;
5647    const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);
5648    if (modalBody) {
5649      modalBody.scrollTop = 0;
5650    }
5651    reflow(this._element);
5652    this._element.classList.add(CLASS_NAME_SHOW$4);
5653    const transitionComplete = () => {
5654      if (this._config.focus) {
5655        this._focustrap.activate();
5656      }
5657      this._isTransitioning = false;
5658      EventHandler.trigger(this._element, EVENT_SHOWN$4, {
5659        relatedTarget
5660      });
5661    };
5662    this._queueCallback(transitionComplete, this._dialog, this._isAnimated());
5663  }
5664  _addEventListeners() {
5665    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => {
5666      if (event.key !== ESCAPE_KEY$1) {
5667        return;
5668      }
5669      if (this._config.keyboard) {
5670        this.hide();
5671        return;
5672      }
5673      this._triggerBackdropTransition();
5674    });
5675    EventHandler.on(window, EVENT_RESIZE$1, () => {
5676      if (this._isShown && !this._isTransitioning) {
5677        this._adjustDialog();
5678      }
5679    });
5680    EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
5681      // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks
5682      EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {
5683        if (this._element !== event.target || this._element !== event2.target) {
5684          return;
5685        }
5686        if (this._config.backdrop === 'static') {
5687          this._triggerBackdropTransition();
5688          return;
5689        }
5690        if (this._config.backdrop) {
5691          this.hide();
5692        }
5693      });
5694    });
5695  }
5696  _hideModal() {
5697    this._element.style.display = 'none';
5698    this._element.setAttribute('aria-hidden', true);
5699    this._element.removeAttribute('aria-modal');
5700    this._element.removeAttribute('role');
5701    this._isTransitioning = false;
5702    this._backdrop.hide(() => {
5703      document.body.classList.remove(CLASS_NAME_OPEN);
5704      this._resetAdjustments();
5705      this._scrollBar.reset();
5706      EventHandler.trigger(this._element, EVENT_HIDDEN$4);
5707    });
5708  }
5709  _isAnimated() {
5710    return this._element.classList.contains(CLASS_NAME_FADE$3);
5711  }
5712  _triggerBackdropTransition() {
5713    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1);
5714    if (hideEvent.defaultPrevented) {
5715      return;
5716    }
5717    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
5718    const initialOverflowY = this._element.style.overflowY;
5719    // return if the following background transition hasn't yet completed
5720    if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {
5721      return;
5722    }
5723    if (!isModalOverflowing) {
5724      this._element.style.overflowY = 'hidden';
5725    }
5726    this._element.classList.add(CLASS_NAME_STATIC);
5727    this._queueCallback(() => {
5728      this._element.classList.remove(CLASS_NAME_STATIC);
5729      this._queueCallback(() => {
5730        this._element.style.overflowY = initialOverflowY;
5731      }, this._dialog);
5732    }, this._dialog);
5733    this._element.focus();
5734  }
5735
5736  /**
5737   * The following methods are used to handle overflowing modals
5738   */
5739
5740  _adjustDialog() {
5741    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
5742    const scrollbarWidth = this._scrollBar.getWidth();
5743    const isBodyOverflowing = scrollbarWidth > 0;
5744    if (isBodyOverflowing && !isModalOverflowing) {
5745      const property = isRTL() ? 'paddingLeft' : 'paddingRight';
5746      this._element.style[property] = `${scrollbarWidth}px`;
5747    }
5748    if (!isBodyOverflowing && isModalOverflowing) {
5749      const property = isRTL() ? 'paddingRight' : 'paddingLeft';
5750      this._element.style[property] = `${scrollbarWidth}px`;
5751    }
5752  }
5753  _resetAdjustments() {
5754    this._element.style.paddingLeft = '';
5755    this._element.style.paddingRight = '';
5756  }
5757
5758  // Static
5759  static jQueryInterface(config, relatedTarget) {
5760    return this.each(function () {
5761      const data = Modal.getOrCreateInstance(this, config);
5762      if (typeof config !== 'string') {
5763        return;
5764      }
5765      if (typeof data[config] === 'undefined') {
5766        throw new TypeError(`No method named "${config}"`);
5767      }
5768      data[config](relatedTarget);
5769    });
5770  }
5771}
5772
5773/**
5774 * Data API implementation
5775 */
5776
5777EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {
5778  const target = SelectorEngine.getElementFromSelector(this);
5779  if (['A', 'AREA'].includes(this.tagName)) {
5780    event.preventDefault();
5781  }
5782  EventHandler.one(target, EVENT_SHOW$4, showEvent => {
5783    if (showEvent.defaultPrevented) {
5784      // only register focus restorer if modal will actually get shown
5785      return;
5786    }
5787    EventHandler.one(target, EVENT_HIDDEN$4, () => {
5788      if (isVisible(this)) {
5789        this.focus();
5790      }
5791    });
5792  });
5793
5794  // avoid conflict when clicking modal toggler while another one is open
5795  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1);
5796  if (alreadyOpen) {
5797    Modal.getInstance(alreadyOpen).hide();
5798  }
5799  const data = Modal.getOrCreateInstance(target);
5800  data.toggle(this);
5801});
5802enableDismissTrigger(Modal);
5803
5804/**
5805 * jQuery
5806 */
5807
5808defineJQueryPlugin(Modal);
5809
5810/**
5811 * --------------------------------------------------------------------------
5812 * Bootstrap offcanvas.js
5813 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5814 * --------------------------------------------------------------------------
5815 */
5816
5817
5818/**
5819 * Constants
5820 */
5821
5822const NAME$6 = 'offcanvas';
5823const DATA_KEY$3 = 'bs.offcanvas';
5824const EVENT_KEY$3 = `.${DATA_KEY$3}`;
5825const DATA_API_KEY$1 = '.data-api';
5826const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
5827const ESCAPE_KEY = 'Escape';
5828const CLASS_NAME_SHOW$3 = 'show';
5829const CLASS_NAME_SHOWING$1 = 'showing';
5830const CLASS_NAME_HIDING = 'hiding';
5831const CLASS_NAME_BACKDROP = 'offcanvas-backdrop';
5832const OPEN_SELECTOR = '.offcanvas.show';
5833const EVENT_SHOW$3 = `show${EVENT_KEY$3}`;
5834const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;
5835const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;
5836const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;
5837const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;
5838const EVENT_RESIZE = `resize${EVENT_KEY$3}`;
5839const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;
5840const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;
5841const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]';
5842const Default$5 = {
5843  backdrop: true,
5844  keyboard: true,
5845  scroll: false
5846};
5847const DefaultType$5 = {
5848  backdrop: '(boolean|string)',
5849  keyboard: 'boolean',
5850  scroll: 'boolean'
5851};
5852
5853/**
5854 * Class definition
5855 */
5856
5857class Offcanvas extends BaseComponent {
5858  constructor(element, config) {
5859    super(element, config);
5860    this._isShown = false;
5861    this._backdrop = this._initializeBackDrop();
5862    this._focustrap = this._initializeFocusTrap();
5863    this._addEventListeners();
5864  }
5865
5866  // Getters
5867  static get Default() {
5868    return Default$5;
5869  }
5870  static get DefaultType() {
5871    return DefaultType$5;
5872  }
5873  static get NAME() {
5874    return NAME$6;
5875  }
5876
5877  // Public
5878  toggle(relatedTarget) {
5879    return this._isShown ? this.hide() : this.show(relatedTarget);
5880  }
5881  show(relatedTarget) {
5882    if (this._isShown) {
5883      return;
5884    }
5885    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {
5886      relatedTarget
5887    });
5888    if (showEvent.defaultPrevented) {
5889      return;
5890    }
5891    this._isShown = true;
5892    this._backdrop.show();
5893    if (!this._config.scroll) {
5894      new ScrollBarHelper().hide();
5895    }
5896    this._element.setAttribute('aria-modal', true);
5897    this._element.setAttribute('role', 'dialog');
5898    this._element.classList.add(CLASS_NAME_SHOWING$1);
5899    const completeCallBack = () => {
5900      if (!this._config.scroll || this._config.backdrop) {
5901        this._focustrap.activate();
5902      }
5903      this._element.classList.add(CLASS_NAME_SHOW$3);
5904      this._element.classList.remove(CLASS_NAME_SHOWING$1);
5905      EventHandler.trigger(this._element, EVENT_SHOWN$3, {
5906        relatedTarget
5907      });
5908    };
5909    this._queueCallback(completeCallBack, this._element, true);
5910  }
5911  hide() {
5912    if (!this._isShown) {
5913      return;
5914    }
5915    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);
5916    if (hideEvent.defaultPrevented) {
5917      return;
5918    }
5919    this._focustrap.deactivate();
5920    this._element.blur();
5921    this._isShown = false;
5922    this._element.classList.add(CLASS_NAME_HIDING);
5923    this._backdrop.hide();
5924    const completeCallback = () => {
5925      this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);
5926      this._element.removeAttribute('aria-modal');
5927      this._element.removeAttribute('role');
5928      if (!this._config.scroll) {
5929        new ScrollBarHelper().reset();
5930      }
5931      EventHandler.trigger(this._element, EVENT_HIDDEN$3);
5932    };
5933    this._queueCallback(completeCallback, this._element, true);
5934  }
5935  dispose() {
5936    this._backdrop.dispose();
5937    this._focustrap.deactivate();
5938    super.dispose();
5939  }
5940
5941  // Private
5942  _initializeBackDrop() {
5943    const clickCallback = () => {
5944      if (this._config.backdrop === 'static') {
5945        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
5946        return;
5947      }
5948      this.hide();
5949    };
5950
5951    // 'static' option will be translated to true, and booleans will keep their value
5952    const isVisible = Boolean(this._config.backdrop);
5953    return new Backdrop({
5954      className: CLASS_NAME_BACKDROP,
5955      isVisible,
5956      isAnimated: true,
5957      rootElement: this._element.parentNode,
5958      clickCallback: isVisible ? clickCallback : null
5959    });
5960  }
5961  _initializeFocusTrap() {
5962    return new FocusTrap({
5963      trapElement: this._element
5964    });
5965  }
5966  _addEventListeners() {
5967    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
5968      if (event.key !== ESCAPE_KEY) {
5969        return;
5970      }
5971      if (this._config.keyboard) {
5972        this.hide();
5973        return;
5974      }
5975      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
5976    });
5977  }
5978
5979  // Static
5980  static jQueryInterface(config) {
5981    return this.each(function () {
5982      const data = Offcanvas.getOrCreateInstance(this, config);
5983      if (typeof config !== 'string') {
5984        return;
5985      }
5986      if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
5987        throw new TypeError(`No method named "${config}"`);
5988      }
5989      data[config](this);
5990    });
5991  }
5992}
5993
5994/**
5995 * Data API implementation
5996 */
5997
5998EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {
5999  const target = SelectorEngine.getElementFromSelector(this);
6000  if (['A', 'AREA'].includes(this.tagName)) {
6001    event.preventDefault();
6002  }
6003  if (isDisabled(this)) {
6004    return;
6005  }
6006  EventHandler.one(target, EVENT_HIDDEN$3, () => {
6007    // focus on trigger when it is closed
6008    if (isVisible(this)) {
6009      this.focus();
6010    }
6011  });
6012
6013  // avoid conflict when clicking a toggler of an offcanvas, while another is open
6014  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);
6015  if (alreadyOpen && alreadyOpen !== target) {
6016    Offcanvas.getInstance(alreadyOpen).hide();
6017  }
6018  const data = Offcanvas.getOrCreateInstance(target);
6019  data.toggle(this);
6020});
6021EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
6022  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
6023    Offcanvas.getOrCreateInstance(selector).show();
6024  }
6025});
6026EventHandler.on(window, EVENT_RESIZE, () => {
6027  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {
6028    if (getComputedStyle(element).position !== 'fixed') {
6029      Offcanvas.getOrCreateInstance(element).hide();
6030    }
6031  }
6032});
6033enableDismissTrigger(Offcanvas);
6034
6035/**
6036 * jQuery
6037 */
6038
6039defineJQueryPlugin(Offcanvas);
6040
6041/**
6042 * --------------------------------------------------------------------------
6043 * Bootstrap util/sanitizer.js
6044 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6045 * --------------------------------------------------------------------------
6046 */
6047
6048// js-docs-start allow-list
6049const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
6050const DefaultAllowlist = {
6051  // Global attributes allowed on any supplied element below.
6052  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
6053  a: ['target', 'href', 'title', 'rel'],
6054  area: [],
6055  b: [],
6056  br: [],
6057  col: [],
6058  code: [],
6059  dd: [],
6060  div: [],
6061  dl: [],
6062  dt: [],
6063  em: [],
6064  hr: [],
6065  h1: [],
6066  h2: [],
6067  h3: [],
6068  h4: [],
6069  h5: [],
6070  h6: [],
6071  i: [],
6072  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
6073  li: [],
6074  ol: [],
6075  p: [],
6076  pre: [],
6077  s: [],
6078  small: [],
6079  span: [],
6080  sub: [],
6081  sup: [],
6082  strong: [],
6083  u: [],
6084  ul: []
6085};
6086// js-docs-end allow-list
6087
6088const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);
6089
6090/**
6091 * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation
6092 * contexts.
6093 *
6094 * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38
6095 */
6096const SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i;
6097const allowedAttribute = (attribute, allowedAttributeList) => {
6098  const attributeName = attribute.nodeName.toLowerCase();
6099  if (allowedAttributeList.includes(attributeName)) {
6100    if (uriAttributes.has(attributeName)) {
6101      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue));
6102    }
6103    return true;
6104  }
6105
6106  // Check if a regular expression validates the attribute.
6107  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));
6108};
6109function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
6110  if (!unsafeHtml.length) {
6111    return unsafeHtml;
6112  }
6113  if (sanitizeFunction && typeof sanitizeFunction === 'function') {
6114    return sanitizeFunction(unsafeHtml);
6115  }
6116  const domParser = new window.DOMParser();
6117  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
6118  const elements = [].concat(...createdDocument.body.querySelectorAll('*'));
6119  for (const element of elements) {
6120    const elementName = element.nodeName.toLowerCase();
6121    if (!Object.keys(allowList).includes(elementName)) {
6122      element.remove();
6123      continue;
6124    }
6125    const attributeList = [].concat(...element.attributes);
6126    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);
6127    for (const attribute of attributeList) {
6128      if (!allowedAttribute(attribute, allowedAttributes)) {
6129        element.removeAttribute(attribute.nodeName);
6130      }
6131    }
6132  }
6133  return createdDocument.body.innerHTML;
6134}
6135
6136/**
6137 * --------------------------------------------------------------------------
6138 * Bootstrap util/template-factory.js
6139 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6140 * --------------------------------------------------------------------------
6141 */
6142
6143
6144/**
6145 * Constants
6146 */
6147
6148const NAME$5 = 'TemplateFactory';
6149const Default$4 = {
6150  allowList: DefaultAllowlist,
6151  content: {},
6152  // { selector : text ,  selector2 : text2 , }
6153  extraClass: '',
6154  html: false,
6155  sanitize: true,
6156  sanitizeFn: null,
6157  template: '<div></div>'
6158};
6159const DefaultType$4 = {
6160  allowList: 'object',
6161  content: 'object',
6162  extraClass: '(string|function)',
6163  html: 'boolean',
6164  sanitize: 'boolean',
6165  sanitizeFn: '(null|function)',
6166  template: 'string'
6167};
6168const DefaultContentType = {
6169  entry: '(string|element|function|null)',
6170  selector: '(string|element)'
6171};
6172
6173/**
6174 * Class definition
6175 */
6176
6177class TemplateFactory extends Config {
6178  constructor(config) {
6179    super();
6180    this._config = this._getConfig(config);
6181  }
6182
6183  // Getters
6184  static get Default() {
6185    return Default$4;
6186  }
6187  static get DefaultType() {
6188    return DefaultType$4;
6189  }
6190  static get NAME() {
6191    return NAME$5;
6192  }
6193
6194  // Public
6195  getContent() {
6196    return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);
6197  }
6198  hasContent() {
6199    return this.getContent().length > 0;
6200  }
6201  changeContent(content) {
6202    this._checkContent(content);
6203    this._config.content = {
6204      ...this._config.content,
6205      ...content
6206    };
6207    return this;
6208  }
6209  toHtml() {
6210    const templateWrapper = document.createElement('div');
6211    templateWrapper.innerHTML = this._maybeSanitize(this._config.template);
6212    for (const [selector, text] of Object.entries(this._config.content)) {
6213      this._setContent(templateWrapper, text, selector);
6214    }
6215    const template = templateWrapper.children[0];
6216    const extraClass = this._resolvePossibleFunction(this._config.extraClass);
6217    if (extraClass) {
6218      template.classList.add(...extraClass.split(' '));
6219    }
6220    return template;
6221  }
6222
6223  // Private
6224  _typeCheckConfig(config) {
6225    super._typeCheckConfig(config);
6226    this._checkContent(config.content);
6227  }
6228  _checkContent(arg) {
6229    for (const [selector, content] of Object.entries(arg)) {
6230      super._typeCheckConfig({
6231        selector,
6232        entry: content
6233      }, DefaultContentType);
6234    }
6235  }
6236  _setContent(template, content, selector) {
6237    const templateElement = SelectorEngine.findOne(selector, template);
6238    if (!templateElement) {
6239      return;
6240    }
6241    content = this._resolvePossibleFunction(content);
6242    if (!content) {
6243      templateElement.remove();
6244      return;
6245    }
6246    if (isElement(content)) {
6247      this._putElementInTemplate(getElement(content), templateElement);
6248      return;
6249    }
6250    if (this._config.html) {
6251      templateElement.innerHTML = this._maybeSanitize(content);
6252      return;
6253    }
6254    templateElement.textContent = content;
6255  }
6256  _maybeSanitize(arg) {
6257    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;
6258  }
6259  _resolvePossibleFunction(arg) {
6260    return execute(arg, [undefined, this]);
6261  }
6262  _putElementInTemplate(element, templateElement) {
6263    if (this._config.html) {
6264      templateElement.innerHTML = '';
6265      templateElement.append(element);
6266      return;
6267    }
6268    templateElement.textContent = element.textContent;
6269  }
6270}
6271
6272/**
6273 * --------------------------------------------------------------------------
6274 * Bootstrap tooltip.js
6275 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6276 * --------------------------------------------------------------------------
6277 */
6278
6279
6280/**
6281 * Constants
6282 */
6283
6284const NAME$4 = 'tooltip';
6285const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
6286const CLASS_NAME_FADE$2 = 'fade';
6287const CLASS_NAME_MODAL = 'modal';
6288const CLASS_NAME_SHOW$2 = 'show';
6289const SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
6290const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;
6291const EVENT_MODAL_HIDE = 'hide.bs.modal';
6292const TRIGGER_HOVER = 'hover';
6293const TRIGGER_FOCUS = 'focus';
6294const TRIGGER_CLICK = 'click';
6295const TRIGGER_MANUAL = 'manual';
6296const EVENT_HIDE$2 = 'hide';
6297const EVENT_HIDDEN$2 = 'hidden';
6298const EVENT_SHOW$2 = 'show';
6299const EVENT_SHOWN$2 = 'shown';
6300const EVENT_INSERTED = 'inserted';
6301const EVENT_CLICK$1 = 'click';
6302const EVENT_FOCUSIN$1 = 'focusin';
6303const EVENT_FOCUSOUT$1 = 'focusout';
6304const EVENT_MOUSEENTER = 'mouseenter';
6305const EVENT_MOUSELEAVE = 'mouseleave';
6306const AttachmentMap = {
6307  AUTO: 'auto',
6308  TOP: 'top',
6309  RIGHT: isRTL() ? 'left' : 'right',
6310  BOTTOM: 'bottom',
6311  LEFT: isRTL() ? 'right' : 'left'
6312};
6313const Default$3 = {
6314  allowList: DefaultAllowlist,
6315  animation: true,
6316  boundary: 'clippingParents',
6317  container: false,
6318  customClass: '',
6319  delay: 0,
6320  fallbackPlacements: ['top', 'right', 'bottom', 'left'],
6321  html: false,
6322  offset: [0, 6],
6323  placement: 'top',
6324  popperConfig: null,
6325  sanitize: true,
6326  sanitizeFn: null,
6327  selector: false,
6328  template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
6329  title: '',
6330  trigger: 'hover focus'
6331};
6332const DefaultType$3 = {
6333  allowList: 'object',
6334  animation: 'boolean',
6335  boundary: '(string|element)',
6336  container: '(string|element|boolean)',
6337  customClass: '(string|function)',
6338  delay: '(number|object)',
6339  fallbackPlacements: 'array',
6340  html: 'boolean',
6341  offset: '(array|string|function)',
6342  placement: '(string|function)',
6343  popperConfig: '(null|object|function)',
6344  sanitize: 'boolean',
6345  sanitizeFn: '(null|function)',
6346  selector: '(string|boolean)',
6347  template: 'string',
6348  title: '(string|element|function)',
6349  trigger: 'string'
6350};
6351
6352/**
6353 * Class definition
6354 */
6355
6356class Tooltip extends BaseComponent {
6357  constructor(element, config) {
6358    if (typeof _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ === 'undefined') {
6359      throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org/docs/v2/)');
6360    }
6361    super(element, config);
6362
6363    // Private
6364    this._isEnabled = true;
6365    this._timeout = 0;
6366    this._isHovered = null;
6367    this._activeTrigger = {};
6368    this._popper = null;
6369    this._templateFactory = null;
6370    this._newContent = null;
6371
6372    // Protected
6373    this.tip = null;
6374    this._setListeners();
6375    if (!this._config.selector) {
6376      this._fixTitle();
6377    }
6378  }
6379
6380  // Getters
6381  static get Default() {
6382    return Default$3;
6383  }
6384  static get DefaultType() {
6385    return DefaultType$3;
6386  }
6387  static get NAME() {
6388    return NAME$4;
6389  }
6390
6391  // Public
6392  enable() {
6393    this._isEnabled = true;
6394  }
6395  disable() {
6396    this._isEnabled = false;
6397  }
6398  toggleEnabled() {
6399    this._isEnabled = !this._isEnabled;
6400  }
6401  toggle() {
6402    if (!this._isEnabled) {
6403      return;
6404    }
6405    if (this._isShown()) {
6406      this._leave();
6407      return;
6408    }
6409    this._enter();
6410  }
6411  dispose() {
6412    clearTimeout(this._timeout);
6413    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
6414    if (this._element.getAttribute('data-bs-original-title')) {
6415      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));
6416    }
6417    this._disposePopper();
6418    super.dispose();
6419  }
6420  show() {
6421    if (this._element.style.display === 'none') {
6422      throw new Error('Please use show on visible elements');
6423    }
6424    if (!(this._isWithContent() && this._isEnabled)) {
6425      return;
6426    }
6427    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2));
6428    const shadowRoot = findShadowRoot(this._element);
6429    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element);
6430    if (showEvent.defaultPrevented || !isInTheDom) {
6431      return;
6432    }
6433
6434    // TODO: v6 remove this or make it optional
6435    this._disposePopper();
6436    const tip = this._getTipElement();
6437    this._element.setAttribute('aria-describedby', tip.getAttribute('id'));
6438    const {
6439      container
6440    } = this._config;
6441    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {
6442      container.append(tip);
6443      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));
6444    }
6445    this._popper = this._createPopper(tip);
6446    tip.classList.add(CLASS_NAME_SHOW$2);
6447
6448    // If this is a touch-enabled device we add extra
6449    // empty mouseover listeners to the body's immediate children;
6450    // only needed because of broken event delegation on iOS
6451    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
6452    if ('ontouchstart' in document.documentElement) {
6453      for (const element of [].concat(...document.body.children)) {
6454        EventHandler.on(element, 'mouseover', noop);
6455      }
6456    }
6457    const complete = () => {
6458      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));
6459      if (this._isHovered === false) {
6460        this._leave();
6461      }
6462      this._isHovered = false;
6463    };
6464    this._queueCallback(complete, this.tip, this._isAnimated());
6465  }
6466  hide() {
6467    if (!this._isShown()) {
6468      return;
6469    }
6470    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2));
6471    if (hideEvent.defaultPrevented) {
6472      return;
6473    }
6474    const tip = this._getTipElement();
6475    tip.classList.remove(CLASS_NAME_SHOW$2);
6476
6477    // If this is a touch-enabled device we remove the extra
6478    // empty mouseover listeners we added for iOS support
6479    if ('ontouchstart' in document.documentElement) {
6480      for (const element of [].concat(...document.body.children)) {
6481        EventHandler.off(element, 'mouseover', noop);
6482      }
6483    }
6484    this._activeTrigger[TRIGGER_CLICK] = false;
6485    this._activeTrigger[TRIGGER_FOCUS] = false;
6486    this._activeTrigger[TRIGGER_HOVER] = false;
6487    this._isHovered = null; // it is a trick to support manual triggering
6488
6489    const complete = () => {
6490      if (this._isWithActiveTrigger()) {
6491        return;
6492      }
6493      if (!this._isHovered) {
6494        this._disposePopper();
6495      }
6496      this._element.removeAttribute('aria-describedby');
6497      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));
6498    };
6499    this._queueCallback(complete, this.tip, this._isAnimated());
6500  }
6501  update() {
6502    if (this._popper) {
6503      this._popper.update();
6504    }
6505  }
6506
6507  // Protected
6508  _isWithContent() {
6509    return Boolean(this._getTitle());
6510  }
6511  _getTipElement() {
6512    if (!this.tip) {
6513      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());
6514    }
6515    return this.tip;
6516  }
6517  _createTipElement(content) {
6518    const tip = this._getTemplateFactory(content).toHtml();
6519
6520    // TODO: remove this check in v6
6521    if (!tip) {
6522      return null;
6523    }
6524    tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2);
6525    // TODO: v6 the following can be achieved with CSS only
6526    tip.classList.add(`bs-${this.constructor.NAME}-auto`);
6527    const tipId = getUID(this.constructor.NAME).toString();
6528    tip.setAttribute('id', tipId);
6529    if (this._isAnimated()) {
6530      tip.classList.add(CLASS_NAME_FADE$2);
6531    }
6532    return tip;
6533  }
6534  setContent(content) {
6535    this._newContent = content;
6536    if (this._isShown()) {
6537      this._disposePopper();
6538      this.show();
6539    }
6540  }
6541  _getTemplateFactory(content) {
6542    if (this._templateFactory) {
6543      this._templateFactory.changeContent(content);
6544    } else {
6545      this._templateFactory = new TemplateFactory({
6546        ...this._config,
6547        // the `content` var has to be after `this._config`
6548        // to override config.content in case of popover
6549        content,
6550        extraClass: this._resolvePossibleFunction(this._config.customClass)
6551      });
6552    }
6553    return this._templateFactory;
6554  }
6555  _getContentForTemplate() {
6556    return {
6557      [SELECTOR_TOOLTIP_INNER]: this._getTitle()
6558    };
6559  }
6560  _getTitle() {
6561    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');
6562  }
6563
6564  // Private
6565  _initializeOnDelegatedTarget(event) {
6566    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());
6567  }
6568  _isAnimated() {
6569    return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2);
6570  }
6571  _isShown() {
6572    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2);
6573  }
6574  _createPopper(tip) {
6575    const placement = execute(this._config.placement, [this, tip, this._element]);
6576    const attachment = AttachmentMap[placement.toUpperCase()];
6577    return _popperjs_core__WEBPACK_IMPORTED_MODULE_1__.createPopper(this._element, tip, this._getPopperConfig(attachment));
6578  }
6579  _getOffset() {
6580    const {
6581      offset
6582    } = this._config;
6583    if (typeof offset === 'string') {
6584      return offset.split(',').map(value => Number.parseInt(value, 10));
6585    }
6586    if (typeof offset === 'function') {
6587      return popperData => offset(popperData, this._element);
6588    }
6589    return offset;
6590  }
6591  _resolvePossibleFunction(arg) {
6592    return execute(arg, [this._element, this._element]);
6593  }
6594  _getPopperConfig(attachment) {
6595    const defaultBsPopperConfig = {
6596      placement: attachment,
6597      modifiers: [{
6598        name: 'flip',
6599        options: {
6600          fallbackPlacements: this._config.fallbackPlacements
6601        }
6602      }, {
6603        name: 'offset',
6604        options: {
6605          offset: this._getOffset()
6606        }
6607      }, {
6608        name: 'preventOverflow',
6609        options: {
6610          boundary: this._config.boundary
6611        }
6612      }, {
6613        name: 'arrow',
6614        options: {
6615          element: `.${this.constructor.NAME}-arrow`
6616        }
6617      }, {
6618        name: 'preSetPlacement',
6619        enabled: true,
6620        phase: 'beforeMain',
6621        fn: data => {
6622          // Pre-set Popper's placement attribute in order to read the arrow sizes properly.
6623          // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement
6624          this._getTipElement().setAttribute('data-popper-placement', data.state.placement);
6625        }
6626      }]
6627    };
6628    return {
6629      ...defaultBsPopperConfig,
6630      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])
6631    };
6632  }
6633  _setListeners() {
6634    const triggers = this._config.trigger.split(' ');
6635    for (const trigger of triggers) {
6636      if (trigger === 'click') {
6637        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {
6638          const context = this._initializeOnDelegatedTarget(event);
6639          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK]);
6640          context.toggle();
6641        });
6642      } else if (trigger !== TRIGGER_MANUAL) {
6643        const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);
6644        const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);
6645        EventHandler.on(this._element, eventIn, this._config.selector, event => {
6646          const context = this._initializeOnDelegatedTarget(event);
6647          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
6648          context._enter();
6649        });
6650        EventHandler.on(this._element, eventOut, this._config.selector, event => {
6651          const context = this._initializeOnDelegatedTarget(event);
6652          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);
6653          context._leave();
6654        });
6655      }
6656    }
6657    this._hideModalHandler = () => {
6658      if (this._element) {
6659        this.hide();
6660      }
6661    };
6662    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
6663  }
6664  _fixTitle() {
6665    const title = this._element.getAttribute('title');
6666    if (!title) {
6667      return;
6668    }
6669    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {
6670      this._element.setAttribute('aria-label', title);
6671    }
6672    this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility
6673    this._element.removeAttribute('title');
6674  }
6675  _enter() {
6676    if (this._isShown() || this._isHovered) {
6677      this._isHovered = true;
6678      return;
6679    }
6680    this._isHovered = true;
6681    this._setTimeout(() => {
6682      if (this._isHovered) {
6683        this.show();
6684      }
6685    }, this._config.delay.show);
6686  }
6687  _leave() {
6688    if (this._isWithActiveTrigger()) {
6689      return;
6690    }
6691    this._isHovered = false;
6692    this._setTimeout(() => {
6693      if (!this._isHovered) {
6694        this.hide();
6695      }
6696    }, this._config.delay.hide);
6697  }
6698  _setTimeout(handler, timeout) {
6699    clearTimeout(this._timeout);
6700    this._timeout = setTimeout(handler, timeout);
6701  }
6702  _isWithActiveTrigger() {
6703    return Object.values(this._activeTrigger).includes(true);
6704  }
6705  _getConfig(config) {
6706    const dataAttributes = Manipulator.getDataAttributes(this._element);
6707    for (const dataAttribute of Object.keys(dataAttributes)) {
6708      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {
6709        delete dataAttributes[dataAttribute];
6710      }
6711    }
6712    config = {
6713      ...dataAttributes,
6714      ...(typeof config === 'object' && config ? config : {})
6715    };
6716    config = this._mergeConfigObj(config);
6717    config = this._configAfterMerge(config);
6718    this._typeCheckConfig(config);
6719    return config;
6720  }
6721  _configAfterMerge(config) {
6722    config.container = config.container === false ? document.body : getElement(config.container);
6723    if (typeof config.delay === 'number') {
6724      config.delay = {
6725        show: config.delay,
6726        hide: config.delay
6727      };
6728    }
6729    if (typeof config.title === 'number') {
6730      config.title = config.title.toString();
6731    }
6732    if (typeof config.content === 'number') {
6733      config.content = config.content.toString();
6734    }
6735    return config;
6736  }
6737  _getDelegateConfig() {
6738    const config = {};
6739    for (const [key, value] of Object.entries(this._config)) {
6740      if (this.constructor.Default[key] !== value) {
6741        config[key] = value;
6742      }
6743    }
6744    config.selector = false;
6745    config.trigger = 'manual';
6746
6747    // In the future can be replaced with:
6748    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])
6749    // `Object.fromEntries(keysWithDifferentValues)`
6750    return config;
6751  }
6752  _disposePopper() {
6753    if (this._popper) {
6754      this._popper.destroy();
6755      this._popper = null;
6756    }
6757    if (this.tip) {
6758      this.tip.remove();
6759      this.tip = null;
6760    }
6761  }
6762
6763  // Static
6764  static jQueryInterface(config) {
6765    return this.each(function () {
6766      const data = Tooltip.getOrCreateInstance(this, config);
6767      if (typeof config !== 'string') {
6768        return;
6769      }
6770      if (typeof data[config] === 'undefined') {
6771        throw new TypeError(`No method named "${config}"`);
6772      }
6773      data[config]();
6774    });
6775  }
6776}
6777
6778/**
6779 * jQuery
6780 */
6781
6782defineJQueryPlugin(Tooltip);
6783
6784/**
6785 * --------------------------------------------------------------------------
6786 * Bootstrap popover.js
6787 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6788 * --------------------------------------------------------------------------
6789 */
6790
6791
6792/**
6793 * Constants
6794 */
6795
6796const NAME$3 = 'popover';
6797const SELECTOR_TITLE = '.popover-header';
6798const SELECTOR_CONTENT = '.popover-body';
6799const Default$2 = {
6800  ...Tooltip.Default,
6801  content: '',
6802  offset: [0, 8],
6803  placement: 'right',
6804  template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
6805  trigger: 'click'
6806};
6807const DefaultType$2 = {
6808  ...Tooltip.DefaultType,
6809  content: '(null|string|element|function)'
6810};
6811
6812/**
6813 * Class definition
6814 */
6815
6816class Popover extends Tooltip {
6817  // Getters
6818  static get Default() {
6819    return Default$2;
6820  }
6821  static get DefaultType() {
6822    return DefaultType$2;
6823  }
6824  static get NAME() {
6825    return NAME$3;
6826  }
6827
6828  // Overrides
6829  _isWithContent() {
6830    return this._getTitle() || this._getContent();
6831  }
6832
6833  // Private
6834  _getContentForTemplate() {
6835    return {
6836      [SELECTOR_TITLE]: this._getTitle(),
6837      [SELECTOR_CONTENT]: this._getContent()
6838    };
6839  }
6840  _getContent() {
6841    return this._resolvePossibleFunction(this._config.content);
6842  }
6843
6844  // Static
6845  static jQueryInterface(config) {
6846    return this.each(function () {
6847      const data = Popover.getOrCreateInstance(this, config);
6848      if (typeof config !== 'string') {
6849        return;
6850      }
6851      if (typeof data[config] === 'undefined') {
6852        throw new TypeError(`No method named "${config}"`);
6853      }
6854      data[config]();
6855    });
6856  }
6857}
6858
6859/**
6860 * jQuery
6861 */
6862
6863defineJQueryPlugin(Popover);
6864
6865/**
6866 * --------------------------------------------------------------------------
6867 * Bootstrap scrollspy.js
6868 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6869 * --------------------------------------------------------------------------
6870 */
6871
6872
6873/**
6874 * Constants
6875 */
6876
6877const NAME$2 = 'scrollspy';
6878const DATA_KEY$2 = 'bs.scrollspy';
6879const EVENT_KEY$2 = `.${DATA_KEY$2}`;
6880const DATA_API_KEY = '.data-api';
6881const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;
6882const EVENT_CLICK = `click${EVENT_KEY$2}`;
6883const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;
6884const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
6885const CLASS_NAME_ACTIVE$1 = 'active';
6886const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
6887const SELECTOR_TARGET_LINKS = '[href]';
6888const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
6889const SELECTOR_NAV_LINKS = '.nav-link';
6890const SELECTOR_NAV_ITEMS = '.nav-item';
6891const SELECTOR_LIST_ITEMS = '.list-group-item';
6892const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;
6893const SELECTOR_DROPDOWN = '.dropdown';
6894const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
6895const Default$1 = {
6896  offset: null,
6897  // TODO: v6 @deprecated, keep it for backwards compatibility reasons
6898  rootMargin: '0px 0px -25%',
6899  smoothScroll: false,
6900  target: null,
6901  threshold: [0.1, 0.5, 1]
6902};
6903const DefaultType$1 = {
6904  offset: '(number|null)',
6905  // TODO v6 @deprecated, keep it for backwards compatibility reasons
6906  rootMargin: 'string',
6907  smoothScroll: 'boolean',
6908  target: 'element',
6909  threshold: 'array'
6910};
6911
6912/**
6913 * Class definition
6914 */
6915
6916class ScrollSpy extends BaseComponent {
6917  constructor(element, config) {
6918    super(element, config);
6919
6920    // this._element is the observablesContainer and config.target the menu links wrapper
6921    this._targetLinks = new Map();
6922    this._observableSections = new Map();
6923    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element;
6924    this._activeTarget = null;
6925    this._observer = null;
6926    this._previousScrollData = {
6927      visibleEntryTop: 0,
6928      parentScrollTop: 0
6929    };
6930    this.refresh(); // initialize
6931  }
6932
6933  // Getters
6934  static get Default() {
6935    return Default$1;
6936  }
6937  static get DefaultType() {
6938    return DefaultType$1;
6939  }
6940  static get NAME() {
6941    return NAME$2;
6942  }
6943
6944  // Public
6945  refresh() {
6946    this._initializeTargetsAndObservables();
6947    this._maybeEnableSmoothScroll();
6948    if (this._observer) {
6949      this._observer.disconnect();
6950    } else {
6951      this._observer = this._getNewObserver();
6952    }
6953    for (const section of this._observableSections.values()) {
6954      this._observer.observe(section);
6955    }
6956  }
6957  dispose() {
6958    this._observer.disconnect();
6959    super.dispose();
6960  }
6961
6962  // Private
6963  _configAfterMerge(config) {
6964    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case
6965    config.target = getElement(config.target) || document.body;
6966
6967    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
6968    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;
6969    if (typeof config.threshold === 'string') {
6970      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));
6971    }
6972    return config;
6973  }
6974  _maybeEnableSmoothScroll() {
6975    if (!this._config.smoothScroll) {
6976      return;
6977    }
6978
6979    // unregister any previous listeners
6980    EventHandler.off(this._config.target, EVENT_CLICK);
6981    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {
6982      const observableSection = this._observableSections.get(event.target.hash);
6983      if (observableSection) {
6984        event.preventDefault();
6985        const root = this._rootElement || window;
6986        const height = observableSection.offsetTop - this._element.offsetTop;
6987        if (root.scrollTo) {
6988          root.scrollTo({
6989            top: height,
6990            behavior: 'smooth'
6991          });
6992          return;
6993        }
6994
6995        // Chrome 60 doesn't support `scrollTo`
6996        root.scrollTop = height;
6997      }
6998    });
6999  }
7000  _getNewObserver() {
7001    const options = {
7002      root: this._rootElement,
7003      threshold: this._config.threshold,
7004      rootMargin: this._config.rootMargin
7005    };
7006    return new IntersectionObserver(entries => this._observerCallback(entries), options);
7007  }
7008
7009  // The logic of selection
7010  _observerCallback(entries) {
7011    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`);
7012    const activate = entry => {
7013      this._previousScrollData.visibleEntryTop = entry.target.offsetTop;
7014      this._process(targetElement(entry));
7015    };
7016    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop;
7017    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop;
7018    this._previousScrollData.parentScrollTop = parentScrollTop;
7019    for (const entry of entries) {
7020      if (!entry.isIntersecting) {
7021        this._activeTarget = null;
7022        this._clearActiveClass(targetElement(entry));
7023        continue;
7024      }
7025      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop;
7026      // if we are scrolling down, pick the bigger offsetTop
7027      if (userScrollsDown && entryIsLowerThanPrevious) {
7028        activate(entry);
7029        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration
7030        if (!parentScrollTop) {
7031          return;
7032        }
7033        continue;
7034      }
7035
7036      // if we are scrolling up, pick the smallest offsetTop
7037      if (!userScrollsDown && !entryIsLowerThanPrevious) {
7038        activate(entry);
7039      }
7040    }
7041  }
7042  _initializeTargetsAndObservables() {
7043    this._targetLinks = new Map();
7044    this._observableSections = new Map();
7045    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target);
7046    for (const anchor of targetLinks) {
7047      // ensure that the anchor has an id and is not disabled
7048      if (!anchor.hash || isDisabled(anchor)) {
7049        continue;
7050      }
7051      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element);
7052
7053      // ensure that the observableSection exists & is visible
7054      if (isVisible(observableSection)) {
7055        this._targetLinks.set(decodeURI(anchor.hash), anchor);
7056        this._observableSections.set(anchor.hash, observableSection);
7057      }
7058    }
7059  }
7060  _process(target) {
7061    if (this._activeTarget === target) {
7062      return;
7063    }
7064    this._clearActiveClass(this._config.target);
7065    this._activeTarget = target;
7066    target.classList.add(CLASS_NAME_ACTIVE$1);
7067    this._activateParents(target);
7068    EventHandler.trigger(this._element, EVENT_ACTIVATE, {
7069      relatedTarget: target
7070    });
7071  }
7072  _activateParents(target) {
7073    // Activate dropdown parents
7074    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
7075      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);
7076      return;
7077    }
7078    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {
7079      // Set triggered links parents as active
7080      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
7081      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {
7082        item.classList.add(CLASS_NAME_ACTIVE$1);
7083      }
7084    }
7085  }
7086  _clearActiveClass(parent) {
7087    parent.classList.remove(CLASS_NAME_ACTIVE$1);
7088    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent);
7089    for (const node of activeNodes) {
7090      node.classList.remove(CLASS_NAME_ACTIVE$1);
7091    }
7092  }
7093
7094  // Static
7095  static jQueryInterface(config) {
7096    return this.each(function () {
7097      const data = ScrollSpy.getOrCreateInstance(this, config);
7098      if (typeof config !== 'string') {
7099        return;
7100      }
7101      if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
7102        throw new TypeError(`No method named "${config}"`);
7103      }
7104      data[config]();
7105    });
7106  }
7107}
7108
7109/**
7110 * Data API implementation
7111 */
7112
7113EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {
7114  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {
7115    ScrollSpy.getOrCreateInstance(spy);
7116  }
7117});
7118
7119/**
7120 * jQuery
7121 */
7122
7123defineJQueryPlugin(ScrollSpy);
7124
7125/**
7126 * --------------------------------------------------------------------------
7127 * Bootstrap tab.js
7128 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
7129 * --------------------------------------------------------------------------
7130 */
7131
7132
7133/**
7134 * Constants
7135 */
7136
7137const NAME$1 = 'tab';
7138const DATA_KEY$1 = 'bs.tab';
7139const EVENT_KEY$1 = `.${DATA_KEY$1}`;
7140const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`;
7141const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`;
7142const EVENT_SHOW$1 = `show${EVENT_KEY$1}`;
7143const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`;
7144const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`;
7145const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`;
7146const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`;
7147const ARROW_LEFT_KEY = 'ArrowLeft';
7148const ARROW_RIGHT_KEY = 'ArrowRight';
7149const ARROW_UP_KEY = 'ArrowUp';
7150const ARROW_DOWN_KEY = 'ArrowDown';
7151const HOME_KEY = 'Home';
7152const END_KEY = 'End';
7153const CLASS_NAME_ACTIVE = 'active';
7154const CLASS_NAME_FADE$1 = 'fade';
7155const CLASS_NAME_SHOW$1 = 'show';
7156const CLASS_DROPDOWN = 'dropdown';
7157const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
7158const SELECTOR_DROPDOWN_MENU = '.dropdown-menu';
7159const NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`;
7160const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
7161const SELECTOR_OUTER = '.nav-item, .list-group-item';
7162const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`;
7163const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // TODO: could only be `tab` in v6
7164const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`;
7165const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`;
7166
7167/**
7168 * Class definition
7169 */
7170
7171class Tab extends BaseComponent {
7172  constructor(element) {
7173    super(element);
7174    this._parent = this._element.closest(SELECTOR_TAB_PANEL);
7175    if (!this._parent) {
7176      return;
7177      // TODO: should throw exception in v6
7178      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)
7179    }
7180
7181    // Set up initial aria attributes
7182    this._setInitialAttributes(this._parent, this._getChildren());
7183    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event));
7184  }
7185
7186  // Getters
7187  static get NAME() {
7188    return NAME$1;
7189  }
7190
7191  // Public
7192  show() {
7193    // Shows this elem and deactivate the active sibling if exists
7194    const innerElem = this._element;
7195    if (this._elemIsActive(innerElem)) {
7196      return;
7197    }
7198
7199    // Search for active tab on same parent to deactivate it
7200    const active = this._getActiveElem();
7201    const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, {
7202      relatedTarget: innerElem
7203    }) : null;
7204    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, {
7205      relatedTarget: active
7206    });
7207    if (showEvent.defaultPrevented || hideEvent && hideEvent.defaultPrevented) {
7208      return;
7209    }
7210    this._deactivate(active, innerElem);
7211    this._activate(innerElem, active);
7212  }
7213
7214  // Private
7215  _activate(element, relatedElem) {
7216    if (!element) {
7217      return;
7218    }
7219    element.classList.add(CLASS_NAME_ACTIVE);
7220    this._activate(SelectorEngine.getElementFromSelector(element)); // Search and activate/show the proper section
7221
7222    const complete = () => {
7223      if (element.getAttribute('role') !== 'tab') {
7224        element.classList.add(CLASS_NAME_SHOW$1);
7225        return;
7226      }
7227      element.removeAttribute('tabindex');
7228      element.setAttribute('aria-selected', true);
7229      this._toggleDropDown(element, true);
7230      EventHandler.trigger(element, EVENT_SHOWN$1, {
7231        relatedTarget: relatedElem
7232      });
7233    };
7234    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
7235  }
7236  _deactivate(element, relatedElem) {
7237    if (!element) {
7238      return;
7239    }
7240    element.classList.remove(CLASS_NAME_ACTIVE);
7241    element.blur();
7242    this._deactivate(SelectorEngine.getElementFromSelector(element)); // Search and deactivate the shown section too
7243
7244    const complete = () => {
7245      if (element.getAttribute('role') !== 'tab') {
7246        element.classList.remove(CLASS_NAME_SHOW$1);
7247        return;
7248      }
7249      element.setAttribute('aria-selected', false);
7250      element.setAttribute('tabindex', '-1');
7251      this._toggleDropDown(element, false);
7252      EventHandler.trigger(element, EVENT_HIDDEN$1, {
7253        relatedTarget: relatedElem
7254      });
7255    };
7256    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
7257  }
7258  _keydown(event) {
7259    if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key)) {
7260      return;
7261    }
7262    event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page
7263    event.preventDefault();
7264    const children = this._getChildren().filter(element => !isDisabled(element));
7265    let nextActiveElement;
7266    if ([HOME_KEY, END_KEY].includes(event.key)) {
7267      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1];
7268    } else {
7269      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key);
7270      nextActiveElement = getNextActiveElement(children, event.target, isNext, true);
7271    }
7272    if (nextActiveElement) {
7273      nextActiveElement.focus({
7274        preventScroll: true
7275      });
7276      Tab.getOrCreateInstance(nextActiveElement).show();
7277    }
7278  }
7279  _getChildren() {
7280    // collection of inner elements
7281    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent);
7282  }
7283  _getActiveElem() {
7284    return this._getChildren().find(child => this._elemIsActive(child)) || null;
7285  }
7286  _setInitialAttributes(parent, children) {
7287    this._setAttributeIfNotExists(parent, 'role', 'tablist');
7288    for (const child of children) {
7289      this._setInitialAttributesOnChild(child);
7290    }
7291  }
7292  _setInitialAttributesOnChild(child) {
7293    child = this._getInnerElement(child);
7294    const isActive = this._elemIsActive(child);
7295    const outerElem = this._getOuterElement(child);
7296    child.setAttribute('aria-selected', isActive);
7297    if (outerElem !== child) {
7298      this._setAttributeIfNotExists(outerElem, 'role', 'presentation');
7299    }
7300    if (!isActive) {
7301      child.setAttribute('tabindex', '-1');
7302    }
7303    this._setAttributeIfNotExists(child, 'role', 'tab');
7304
7305    // set attributes to the related panel too
7306    this._setInitialAttributesOnTargetPanel(child);
7307  }
7308  _setInitialAttributesOnTargetPanel(child) {
7309    const target = SelectorEngine.getElementFromSelector(child);
7310    if (!target) {
7311      return;
7312    }
7313    this._setAttributeIfNotExists(target, 'role', 'tabpanel');
7314    if (child.id) {
7315      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`);
7316    }
7317  }
7318  _toggleDropDown(element, open) {
7319    const outerElem = this._getOuterElement(element);
7320    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {
7321      return;
7322    }
7323    const toggle = (selector, className) => {
7324      const element = SelectorEngine.findOne(selector, outerElem);
7325      if (element) {
7326        element.classList.toggle(className, open);
7327      }
7328    };
7329    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE);
7330    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1);
7331    outerElem.setAttribute('aria-expanded', open);
7332  }
7333  _setAttributeIfNotExists(element, attribute, value) {
7334    if (!element.hasAttribute(attribute)) {
7335      element.setAttribute(attribute, value);
7336    }
7337  }
7338  _elemIsActive(elem) {
7339    return elem.classList.contains(CLASS_NAME_ACTIVE);
7340  }
7341
7342  // Try to get the inner element (usually the .nav-link)
7343  _getInnerElement(elem) {
7344    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem);
7345  }
7346
7347  // Try to get the outer element (usually the .nav-item)
7348  _getOuterElement(elem) {
7349    return elem.closest(SELECTOR_OUTER) || elem;
7350  }
7351
7352  // Static
7353  static jQueryInterface(config) {
7354    return this.each(function () {
7355      const data = Tab.getOrCreateInstance(this);
7356      if (typeof config !== 'string') {
7357        return;
7358      }
7359      if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
7360        throw new TypeError(`No method named "${config}"`);
7361      }
7362      data[config]();
7363    });
7364  }
7365}
7366
7367/**
7368 * Data API implementation
7369 */
7370
7371EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
7372  if (['A', 'AREA'].includes(this.tagName)) {
7373    event.preventDefault();
7374  }
7375  if (isDisabled(this)) {
7376    return;
7377  }
7378  Tab.getOrCreateInstance(this).show();
7379});
7380
7381/**
7382 * Initialize on focus
7383 */
7384EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
7385  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {
7386    Tab.getOrCreateInstance(element);
7387  }
7388});
7389/**
7390 * jQuery
7391 */
7392
7393defineJQueryPlugin(Tab);
7394
7395/**
7396 * --------------------------------------------------------------------------
7397 * Bootstrap toast.js
7398 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
7399 * --------------------------------------------------------------------------
7400 */
7401
7402
7403/**
7404 * Constants
7405 */
7406
7407const NAME = 'toast';
7408const DATA_KEY = 'bs.toast';
7409const EVENT_KEY = `.${DATA_KEY}`;
7410const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`;
7411const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`;
7412const EVENT_FOCUSIN = `focusin${EVENT_KEY}`;
7413const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`;
7414const EVENT_HIDE = `hide${EVENT_KEY}`;
7415const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
7416const EVENT_SHOW = `show${EVENT_KEY}`;
7417const EVENT_SHOWN = `shown${EVENT_KEY}`;
7418const CLASS_NAME_FADE = 'fade';
7419const CLASS_NAME_HIDE = 'hide'; // @deprecated - kept here only for backwards compatibility
7420const CLASS_NAME_SHOW = 'show';
7421const CLASS_NAME_SHOWING = 'showing';
7422const DefaultType = {
7423  animation: 'boolean',
7424  autohide: 'boolean',
7425  delay: 'number'
7426};
7427const Default = {
7428  animation: true,
7429  autohide: true,
7430  delay: 5000
7431};
7432
7433/**
7434 * Class definition
7435 */
7436
7437class Toast extends BaseComponent {
7438  constructor(element, config) {
7439    super(element, config);
7440    this._timeout = null;
7441    this._hasMouseInteraction = false;
7442    this._hasKeyboardInteraction = false;
7443    this._setListeners();
7444  }
7445
7446  // Getters
7447  static get Default() {
7448    return Default;
7449  }
7450  static get DefaultType() {
7451    return DefaultType;
7452  }
7453  static get NAME() {
7454    return NAME;
7455  }
7456
7457  // Public
7458  show() {
7459    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW);
7460    if (showEvent.defaultPrevented) {
7461      return;
7462    }
7463    this._clearTimeout();
7464    if (this._config.animation) {
7465      this._element.classList.add(CLASS_NAME_FADE);
7466    }
7467    const complete = () => {
7468      this._element.classList.remove(CLASS_NAME_SHOWING);
7469      EventHandler.trigger(this._element, EVENT_SHOWN);
7470      this._maybeScheduleHide();
7471    };
7472    this._element.classList.remove(CLASS_NAME_HIDE); // @deprecated
7473    reflow(this._element);
7474    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING);
7475    this._queueCallback(complete, this._element, this._config.animation);
7476  }
7477  hide() {
7478    if (!this.isShown()) {
7479      return;
7480    }
7481    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);
7482    if (hideEvent.defaultPrevented) {
7483      return;
7484    }
7485    const complete = () => {
7486      this._element.classList.add(CLASS_NAME_HIDE); // @deprecated
7487      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW);
7488      EventHandler.trigger(this._element, EVENT_HIDDEN);
7489    };
7490    this._element.classList.add(CLASS_NAME_SHOWING);
7491    this._queueCallback(complete, this._element, this._config.animation);
7492  }
7493  dispose() {
7494    this._clearTimeout();
7495    if (this.isShown()) {
7496      this._element.classList.remove(CLASS_NAME_SHOW);
7497    }
7498    super.dispose();
7499  }
7500  isShown() {
7501    return this._element.classList.contains(CLASS_NAME_SHOW);
7502  }
7503
7504  // Private
7505  _maybeScheduleHide() {
7506    if (!this._config.autohide) {
7507      return;
7508    }
7509    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {
7510      return;
7511    }
7512    this._timeout = setTimeout(() => {
7513      this.hide();
7514    }, this._config.delay);
7515  }
7516  _onInteraction(event, isInteracting) {
7517    switch (event.type) {
7518      case 'mouseover':
7519      case 'mouseout':
7520        {
7521          this._hasMouseInteraction = isInteracting;
7522          break;
7523        }
7524      case 'focusin':
7525      case 'focusout':
7526        {
7527          this._hasKeyboardInteraction = isInteracting;
7528          break;
7529        }
7530    }
7531    if (isInteracting) {
7532      this._clearTimeout();
7533      return;
7534    }
7535    const nextElement = event.relatedTarget;
7536    if (this._element === nextElement || this._element.contains(nextElement)) {
7537      return;
7538    }
7539    this._maybeScheduleHide();
7540  }
7541  _setListeners() {
7542    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true));
7543    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false));
7544    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true));
7545    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false));
7546  }
7547  _clearTimeout() {
7548    clearTimeout(this._timeout);
7549    this._timeout = null;
7550  }
7551
7552  // Static
7553  static jQueryInterface(config) {
7554    return this.each(function () {
7555      const data = Toast.getOrCreateInstance(this, config);
7556      if (typeof config === 'string') {
7557        if (typeof data[config] === 'undefined') {
7558          throw new TypeError(`No method named "${config}"`);
7559        }
7560        data[config](this);
7561      }
7562    });
7563  }
7564}
7565
7566/**
7567 * Data API implementation
7568 */
7569
7570enableDismissTrigger(Toast);
7571
7572/**
7573 * jQuery
7574 */
7575
7576defineJQueryPlugin(Toast);
7577
7578
7579//# sourceMappingURL=bootstrap.esm.js.map
7580
7581
7582/***/ })
vendor: 7,415 bytes, lines 7582-7747
7582
7583
7584/******/ 	});
7585/************************************************************************/
7586/******/ 	// The module cache
7587/******/ 	var __webpack_module_cache__ = {};
7588/******/ 	
7589/******/ 	// The require function
7590/******/ 	function __webpack_require__(moduleId) {
7591/******/ 		// Check if module is in cache
7592/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
7593/******/ 		if (cachedModule !== undefined) {
7594/******/ 			return cachedModule.exports;
7595/******/ 		}
7596/******/ 		// Create a new module (and put it into the cache)
7597/******/ 		var module = __webpack_module_cache__[moduleId] = {
7598/******/ 			// no module.id needed
7599/******/ 			// no module.loaded needed
7600/******/ 			exports: {}
7601/******/ 		};
7602/******/ 	
7603/******/ 		// Execute the module function
7604/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
7605/******/ 	
7606/******/ 		// Return the exports of the module
7607/******/ 		return module.exports;
7608/******/ 	}
7609/******/ 	
7610/******/ 	// expose the modules object (__webpack_modules__)
7611/******/ 	__webpack_require__.m = __webpack_modules__;
7612/******/ 	
7613/************************************************************************/
7614/******/ 	/* webpack/runtime/chunk loaded */
7615/******/ 	(() => {
7616/******/ 		var deferred = [];
7617/******/ 		__webpack_require__.O = (result, chunkIds, fn, priority) => {
7618/******/ 			if(chunkIds) {
7619/******/ 				priority = priority || 0;
7620/******/ 				for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
7621/******/ 				deferred[i] = [chunkIds, fn, priority];
7622/******/ 				return;
7623/******/ 			}
7624/******/ 			var notFulfilled = Infinity;
7625/******/ 			for (var i = 0; i < deferred.length; i++) {
7626/******/ 				var [chunkIds, fn, priority] = deferred[i];
7627/******/ 				var fulfilled = true;
7628/******/ 				for (var j = 0; j < chunkIds.length; j++) {
7629/******/ 					if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
7630/******/ 						chunkIds.splice(j--, 1);
7631/******/ 					} else {
7632/******/ 						fulfilled = false;
7633/******/ 						if(priority < notFulfilled) notFulfilled = priority;
7634/******/ 					}
7635/******/ 				}
7636/******/ 				if(fulfilled) {
7637/******/ 					deferred.splice(i--, 1)
7638/******/ 					var r = fn();
7639/******/ 					if (r !== undefined) result = r;
7640/******/ 				}
7641/******/ 			}
7642/******/ 			return result;
7643/******/ 		};
7644/******/ 	})();
7645/******/ 	
7646/******/ 	/* webpack/runtime/define property getters */
7647/******/ 	(() => {
7648/******/ 		// define getter functions for harmony exports
7649/******/ 		__webpack_require__.d = (exports, definition) => {
7650/******/ 			for(var key in definition) {
7651/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
7652/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
7653/******/ 				}
7654/******/ 			}
7655/******/ 		};
7656/******/ 	})();
7657/******/ 	
7658/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
7659/******/ 	(() => {
7660/******/ 		__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
7661/******/ 	})();
7662/******/ 	
7663/******/ 	/* webpack/runtime/make namespace object */
7664/******/ 	(() => {
7665/******/ 		// define __esModule on exports
7666/******/ 		__webpack_require__.r = (exports) => {
7667/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
7668/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
7669/******/ 			}
7670/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
7671/******/ 		};
7672/******/ 	})();
7673/******/ 	
7674/******/ 	/* webpack/runtime/jsonp chunk loading */
7675/******/ 	(() => {
7676/******/ 		// no baseURI
7677/******/ 		
7678/******/ 		// object to store loaded and loading chunks
7679/******/ 		// undefined = chunk not loaded, null = chunk preloaded/prefetched
7680/******/ 		// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
7681/******/ 		var installedChunks = {
7682/******/ 			"/js/app": 0,
7683/******/ 			"css/cattle/app": 0,
7684/******/ 			"css/beef/app": 0,
7685/******/ 			"css/dairy/app": 0,
7686/******/ 			"css/pig/app": 0,
7687/******/ 			"css/poultry/app": 0
7688/******/ 		};
7689/******/ 		
7690/******/ 		// no chunk on demand loading
7691/******/ 		
7692/******/ 		// no prefetching
7693/******/ 		
7694/******/ 		// no preloaded
7695/******/ 		
7696/******/ 		// no HMR
7697/******/ 		
7698/******/ 		// no HMR manifest
7699/******/ 		
7700/******/ 		__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
7701/******/ 		
7702/******/ 		// install a JSONP callback for chunk loading
7703/******/ 		var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
7704/******/ 			var [chunkIds, moreModules, runtime] = data;
7705/******/ 			// add "moreModules" to the modules object,
7706/******/ 			// then flag all "chunkIds" as loaded and fire callback
7707/******/ 			var moduleId, chunkId, i = 0;
7708/******/ 			if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
7709/******/ 				for(moduleId in moreModules) {
7710/******/ 					if(__webpack_require__.o(moreModules, moduleId)) {
7711/******/ 						__webpack_require__.m[moduleId] = moreModules[moduleId];
7712/******/ 					}
7713/******/ 				}
7714/******/ 				if(runtime) var result = runtime(__webpack_require__);
7715/******/ 			}
7716/******/ 			if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
7717/******/ 			for(;i < chunkIds.length; i++) {
7718/******/ 				chunkId = chunkIds[i];
7719/******/ 				if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
7720/******/ 					installedChunks[chunkId][0]();
7721/******/ 				}
7722/******/ 				installedChunks[chunkId] = 0;
7723/******/ 			}
7724/******/ 			return __webpack_require__.O(result);
7725/******/ 		}
7726/******/ 		
7727/******/ 		var chunkLoadingGlobal = self["webpackChunkgagm"] = self["webpackChunkgagm"] || [];
7728/******/ 		chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
7729/******/ 		chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
7730/******/ 	})();
7731/******/ 	
7732/************************************************************************/
7733/******/ 	
7734/******/ 	// startup
7735/******/ 	// Load entry module and return exports
7736/******/ 	// This entry module depends on other loaded chunks and execution need to be delayed
7737/******/ 	__webpack_require__.O(undefined, ["css/cattle/app","css/beef/app","css/dairy/app","css/pig/app","css/poultry/app"], () => (__webpack_require__("./js/app.js")))
7738/******/ 	__webpack_require__.O(undefined, ["css/cattle/app","css/beef/app","css/dairy/app","css/pig/app","css/poultry/app"], () => (__webpack_require__("../poultry/app.scss")))
7739/******/ 	__webpack_require__.O(undefined, ["css/cattle/app","css/beef/app","css/dairy/app","css/pig/app","css/poultry/app"], () => (__webpack_require__("../pig/app.scss")))
7740/******/ 	__webpack_require__.O(undefined, ["css/cattle/app","css/beef/app","css/dairy/app","css/pig/app","css/poultry/app"], () => (__webpack_require__("../dairy/app.scss")))
7741/******/ 	__webpack_require__.O(undefined, ["css/cattle/app","css/beef/app","css/dairy/app","css/pig/app","css/poultry/app"], () => (__webpack_require__("../beef/app.scss")))
7742/******/ 	var __webpack_exports__ = __webpack_require__.O(undefined, ["css/cattle/app","css/beef/app","css/dairy/app","css/pig/app","css/poultry/app"], () => (__webpack_require__("../cattle/app.scss")))
7743/******/ 	__webpack_exports__ = __webpack_require__.O(__webpack_exports__);
7744/******/ 	
7745/******/ })()
7746;
7747//# sourceMappingURL=app.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.