### 

 and 
 markup a parent is the previous sibling of any nav ancestor        for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {          item.classList.add(CLASS_NAME_ACTIVE$1);        }      }    }    _clearActiveClass(parent) {      parent.classList.remove(CLASS_NAME_ACTIVE$1);      const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent);      for (const node of activeNodes) {        node.classList.remove(CLASS_NAME_ACTIVE$1);      }    }    // Static    static jQueryInterface(config) {      return this.each(function () {        const data = ScrollSpy.getOrCreateInstance(this, config);        if (typeof config !== 'string') {          return;        }        if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {          throw new TypeError(`No method named "${config}"`);        }        data[config]();      });    }  }  /**   * Data API implementation   */  EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {    for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {      ScrollSpy.getOrCreateInstance(spy);    }  });  /**   * jQuery   */  defineJQueryPlugin(ScrollSpy);  /**   * --------------------------------------------------------------------------   * Bootstrap tab.js   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)   * --------------------------------------------------------------------------   */  /**   * Constants   */  const NAME$1 = 'tab';  const DATA_KEY$1 = 'bs.tab';  const EVENT_KEY$1 = `.${DATA_KEY$1}`;  const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`;  const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`;  const EVENT_SHOW$1 = `show${EVENT_KEY$1}`;  const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`;  const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`;  const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`;  const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`;  const ARROW_LEFT_KEY = 'ArrowLeft';  const ARROW_RIGHT_KEY = 'ArrowRight';  const ARROW_UP_KEY = 'ArrowUp';  const ARROW_DOWN_KEY = 'ArrowDown';  const HOME_KEY = 'Home';  const END_KEY = 'End';  const CLASS_NAME_ACTIVE = 'active';  const CLASS_NAME_FADE$1 = 'fade';  const CLASS_NAME_SHOW$1 = 'show';  const CLASS_DROPDOWN = 'dropdown';  const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';  const SELECTOR_DROPDOWN_MENU = '.dropdown-menu';  const NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`;  const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';  const SELECTOR_OUTER = '.nav-item, .list-group-item';  const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`;  const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // TODO: could only be `tab` in v6  const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`;  const 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"]`;  /**   * Class definition   */  class Tab extends BaseComponent {    constructor(element) {      super(element);      this._parent = this._element.closest(SELECTOR_TAB_PANEL);      if (!this._parent) {        return;        // TODO: should throw exception in v6        // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)      }      // Set up initial aria attributes      this._setInitialAttributes(this._parent, this._getChildren());      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event));    }    // Getters    static get NAME() {      return NAME$1;    }    // Public    show() {      // Shows this elem and deactivate the active sibling if exists      const innerElem = this._element;      if (this._elemIsActive(innerElem)) {        return;      }      // Search for active tab on same parent to deactivate it      const active = this._getActiveElem();      const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, {        relatedTarget: innerElem      }) : null;      const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, {        relatedTarget: active      });      if (showEvent.defaultPrevented || hideEvent && hideEvent.defaultPrevented) {        return;      }      this._deactivate(active, innerElem);      this._activate(innerElem, active);    }    // Private    _activate(element, relatedElem) {      if (!element) {        return;      }      element.classList.add(CLASS_NAME_ACTIVE);      this._activate(SelectorEngine.getElementFromSelector(element)); // Search and activate/show the proper section      const complete = () => {        if (element.getAttribute('role') !== 'tab') {          element.classList.add(CLASS_NAME_SHOW$1);          return;        }        element.removeAttribute('tabindex');        element.setAttribute('aria-selected', true);        this._toggleDropDown(element, true);        EventHandler.trigger(element, EVENT_SHOWN$1, {          relatedTarget: relatedElem        });      };      this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));    }    _deactivate(element, relatedElem) {      if (!element) {        return;      }      element.classList.remove(CLASS_NAME_ACTIVE);      element.blur();      this._deactivate(SelectorEngine.getElementFromSelector(element)); // Search and deactivate the shown section too      const complete = () => {        if (element.getAttribute('role') !== 'tab') {          element.classList.remove(CLASS_NAME_SHOW$1);          return;        }        element.setAttribute('aria-selected', false);        element.setAttribute('tabindex', '-1');        this._toggleDropDown(element, false);        EventHandler.trigger(element, EVENT_HIDDEN$1, {          relatedTarget: relatedElem        });      };      this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));    }    _keydown(event) {      if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key)) {        return;      }      event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page      event.preventDefault();      const children = this._getChildren().filter(element => !isDisabled(element));      let nextActiveElement;      if ([HOME_KEY, END_KEY].includes(event.key)) {        nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1];      } else {        const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key);        nextActiveElement = getNextActiveElement(children, event.target, isNext, true);      }      if (nextActiveElement) {        nextActiveElement.focus({          preventScroll: true        });        Tab.getOrCreateInstance(nextActiveElement).show();      }    }    _getChildren() {      // collection of inner elements      return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent);    }    _getActiveElem() {      return this._getChildren().find(child => this._elemIsActive(child)) || null;    }    _setInitialAttributes(parent, children) {      this._setAttributeIfNotExists(parent, 'role', 'tablist');      for (const child of children) {        this._setInitialAttributesOnChild(child);      }    }    _setInitialAttributesOnChild(child) {      child = this._getInnerElement(child);      const isActive = this._elemIsActive(child);      const outerElem = this._getOuterElement(child);      child.setAttribute('aria-selected', isActive);      if (outerElem !== child) {        this._setAttributeIfNotExists(outerElem, 'role', 'presentation');      }      if (!isActive) {        child.setAttribute('tabindex', '-1');      }      this._setAttributeIfNotExists(child, 'role', 'tab');      // set attributes to the related panel too      this._setInitialAttributesOnTargetPanel(child);    }    _setInitialAttributesOnTargetPanel(child) {      const target = SelectorEngine.getElementFromSelector(child);      if (!target) {        return;      }      this._setAttributeIfNotExists(target, 'role', 'tabpanel');      if (child.id) {        this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`);      }    }    _toggleDropDown(element, open) {      const outerElem = this._getOuterElement(element);      if (!outerElem.classList.contains(CLASS_DROPDOWN)) {        return;      }      const toggle = (selector, className) => {        const element = SelectorEngine.findOne(selector, outerElem);        if (element) {          element.classList.toggle(className, open);        }      };      toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE);      toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1);      outerElem.setAttribute('aria-expanded', open);    }    _setAttributeIfNotExists(element, attribute, value) {      if (!element.hasAttribute(attribute)) {        element.setAttribute(attribute, value);      }    }    _elemIsActive(elem) {      return elem.classList.contains(CLASS_NAME_ACTIVE);    }    // Try to get the inner element (usually the .nav-link)    _getInnerElement(elem) {      return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem);    }    // Try to get the outer element (usually the .nav-item)    _getOuterElement(elem) {      return elem.closest(SELECTOR_OUTER) || elem;    }    // Static    static jQueryInterface(config) {      return this.each(function () {        const data = Tab.getOrCreateInstance(this);        if (typeof config !== 'string') {          return;        }        if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {          throw new TypeError(`No method named "${config}"`);        }        data[config]();      });    }  }  /**   * Data API implementation   */  EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {    if (['A', 'AREA'].includes(this.tagName)) {      event.preventDefault();    }    if (isDisabled(this)) {      return;    }    Tab.getOrCreateInstance(this).show();  });  /**   * Initialize on focus   */  EventHandler.on(window, EVENT_LOAD_DATA_API, () => {    for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {      Tab.getOrCreateInstance(element);    }  });  /**   * jQuery   */  defineJQueryPlugin(Tab);  /**   * --------------------------------------------------------------------------   * Bootstrap toast.js   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)   * --------------------------------------------------------------------------   */  /**   * Constants   */  const NAME = 'toast';  const DATA_KEY = 'bs.toast';  const EVENT_KEY = `.${DATA_KEY}`;  const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`;  const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`;  const EVENT_FOCUSIN = `focusin${EVENT_KEY}`;  const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`;  const EVENT_HIDE = `hide${EVENT_KEY}`;  const EVENT_HIDDEN = `hidden${EVENT_KEY}`;  const EVENT_SHOW = `show${EVENT_KEY}`;  const EVENT_SHOWN = `shown${EVENT_KEY}`;  const CLASS_NAME_FADE = 'fade';  const CLASS_NAME_HIDE = 'hide'; // @deprecated - kept here only for backwards compatibility  const CLASS_NAME_SHOW = 'show';  const CLASS_NAME_SHOWING = 'showing';  const DefaultType = {    animation: 'boolean',    autohide: 'boolean',    delay: 'number'  };  const Default = {    animation: true,    autohide: true,    delay: 5000  };  /**   * Class definition   */  class Toast extends BaseComponent {    constructor(element, config) {      super(element, config);      this._timeout = null;      this._hasMouseInteraction = false;      this._hasKeyboardInteraction = false;      this._setListeners();    }    // Getters    static get Default() {      return Default;    }    static get DefaultType() {      return DefaultType;    }    static get NAME() {      return NAME;    }    // Public    show() {      const showEvent = EventHandler.trigger(this._element, EVENT_SHOW);      if (showEvent.defaultPrevented) {        return;      }      this._clearTimeout();      if (this._config.animation) {        this._element.classList.add(CLASS_NAME_FADE);      }      const complete = () => {        this._element.classList.remove(CLASS_NAME_SHOWING);        EventHandler.trigger(this._element, EVENT_SHOWN);        this._maybeScheduleHide();      };      this._element.classList.remove(CLASS_NAME_HIDE); // @deprecated      reflow(this._element);      this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING);      this._queueCallback(complete, this._element, this._config.animation);    }    hide() {      if (!this.isShown()) {        return;      }      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);      if (hideEvent.defaultPrevented) {        return;      }      const complete = () => {        this._element.classList.add(CLASS_NAME_HIDE); // @deprecated        this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW);        EventHandler.trigger(this._element, EVENT_HIDDEN);      };      this._element.classList.add(CLASS_NAME_SHOWING);      this._queueCallback(complete, this._element, this._config.animation);    }    dispose() {      this._clearTimeout();      if (this.isShown()) {        this._element.classList.remove(CLASS_NAME_SHOW);      }      super.dispose();    }    isShown() {      return this._element.classList.contains(CLASS_NAME_SHOW);    }    // Private    _maybeScheduleHide() {      if (!this._config.autohide) {        return;      }      if (this._hasMouseInteraction || this._hasKeyboardInteraction) {        return;      }      this._timeout = setTimeout(() => {        this.hide();      }, this._config.delay);    }    _onInteraction(event, isInteracting) {      switch (event.type) {        case 'mouseover':        case 'mouseout':          {            this._hasMouseInteraction = isInteracting;            break;          }        case 'focusin':        case 'focusout':          {            this._hasKeyboardInteraction = isInteracting;            break;          }      }      if (isInteracting) {        this._clearTimeout();        return;      }      const nextElement = event.relatedTarget;      if (this._element === nextElement || this._element.contains(nextElement)) {        return;      }      this._maybeScheduleHide();    }    _setListeners() {      EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true));      EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false));      EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true));      EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false));    }    _clearTimeout() {      clearTimeout(this._timeout);      this._timeout = null;    }    // Static    static jQueryInterface(config) {      return this.each(function () {        const data = Toast.getOrCreateInstance(this, config);        if (typeof config === 'string') {          if (typeof data[config] === 'undefined') {            throw new TypeError(`No method named "${config}"`);          }          data[config](this);        }      });    }  }  /**   * Data API implementation   */  enableDismissTrigger(Toast);  /**   * jQuery   */  defineJQueryPlugin(Toast);  /**   * --------------------------------------------------------------------------   * Bootstrap index.umd.js   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)   * --------------------------------------------------------------------------   */  const index_umd = {    Alert,    Button,    Carousel,    Collapse,    Dropdown,    Modal,    Offcanvas,    Popover,    ScrollSpy,    Tab,    Toast,    Tooltip  };  return index_umd;}));//# sourceMappingURL=bootstrap.bundle.js.map