“version”:3,“sources”:[“../../node_modules/bootstrap/js/src/util.js”,“../../node_modules/bootstrap/js/src/alert.js”,“../../node_modules/bootstrap/js/src/button.js”,“../../node_modules/bootstrap/js/src/collapse.js”,“../../node_modules/bootstrap/js/src/dropdown.js”,“../../node_modules/bootstrap/js/src/modal.js”,“../../node_modules/bootstrap/js/src/tools/sanitizer.js”,“../../node_modules/bootstrap/js/src/tooltip.js”,“../../node_modules/bootstrap/js/src/popover.js”,“../../node_modules/bootstrap/js/src/scrollspy.js”,“../../node_modules/bootstrap/js/src/tab.js”,“../../js/src/dropdown.js”,“../../js/src/form.js”,“../../js/src/tooltip.js”],“names”:[“TRANSITION_END”,“transitionEndEmulator”,“duration”,“called”,“$”,“this”,“one”,“Util”,“setTimeout”,“triggerTransitionEnd”,“[object Object]”,“prefix”,“Math”,“random”,“document”,“getElementById”,“element”,“selector”,“getAttribute”,“hrefAttr”,“trim”,“querySelector”,“err”,“transitionDuration”,“css”,“transitionDelay”,“floatTransitionDuration”,“parseFloat”,“floatTransitionDelay”,“split”,“reflow”,“offsetHeight”,“trigger”,“supportsTransitionEnd”,“Boolean”,“isElement”,“obj”,“nodeType”,“componentName”,“config”,“configTypes”,“property”,“Object”,“prototype”,“hasOwnProperty”,“call”,“expectedTypes”,“value”,“valueType”,“toString”,“match”,“toLowerCase”,“RegExp”,“test”,“Error”,“toUpperCase”,“documentElement”,“attachShadow”,“getRootNode”,“root”,“ShadowRoot”,“parentNode”,“findShadowRoot”,“TypeError”,“version”,“fn”,“jquery”,“jQueryDetection”,“emulateTransitionEnd”,“event”,“special”,“bindType”,“delegateType”,“target”,“is”,“handleObj”,“handler”,“apply”,“arguments”,“VERSION”,“DATA_KEY”,“EVENT_KEY”,“JQUERY_NO_CONFLICT”,“EVENT_CLOSE”,“EVENT_CLOSED”,“EVENT_CLICK_DATA_API”,“CLASS_NAME_ALERT”,“CLASS_NAME_FADE”,“CLASS_NAME_SHOW”,“Alert”,“_element”,“rootElement”,“_getRootElement”,“_triggerCloseEvent”,“isDefaultPrevented”,“_removeElement”,“removeData”,“getSelectorFromElement”,“parent”,“closest”,“closeEvent”,“Event”,“removeClass”,“hasClass”,“_destroyElement”,“getTransitionDurationFromElement”,“detach”,“remove”,“each”,“$element”,“data”,“alertInstance”,“preventDefault”,“close”,“on”,“_handleDismiss”,“_jQueryInterface”,“Constructor”,“noConflict”,“CLASS_NAME_ACTIVE”,“SELECTOR_DATA_TOGGLES”,“SELECTOR_INPUT”,“SELECTOR_ACTIVE”,“EVENT_FOCUS_BLUR_DATA_API”,“EVENT_LOAD_DATA_API”,“Button”,“triggerChangeEvent”,“addAriaPressed”,“input”,“type”,“checked”,“classList”,“contains”,“activeElement”,“focus”,“hasAttribute”,“setAttribute”,“toggleClass”,“button”,“initialButton”,“inputBtn”,“tagName”,“window”,“buttons”,“slice”,“querySelectorAll”,“i”,“len”,“length”,“add”,“NAME”,“Default”,“toggle”,“DefaultType”,“EVENT_SHOW”,“EVENT_SHOWN”,“EVENT_HIDE”,“EVENT_HIDDEN”,“CLASS_NAME_COLLAPSE”,“CLASS_NAME_COLLAPSING”,“CLASS_NAME_COLLAPSED”,“DIMENSION_WIDTH”,“DIMENSION_HEIGHT”,“SELECTOR_ACTIVES”,“SELECTOR_DATA_TOGGLE”,“Collapse”,“_isTransitioning”,“_config”,“_getConfig”,“_triggerArray”,“id”,“toggleList”,“elem”,“filterElement”,“filter”,“foundElem”,“_selector”,“push”,“_parent”,“_getParent”,“_addAriaAndCollapsedClass”,“hide”,“show”,“actives”,“activesData”,“not”,“startEvent”,“dimension”,“_getDimension”,“addClass”,“style”,“attr”,“setTransitioning”,“scrollSize”,“getBoundingClientRect”,“triggerArrayLength”,“isTransitioning”,“typeCheckConfig”,“children”,“_getTargetFromElement”,“triggerArray”,“isOpen”,“$this”,“currentTarget”,“$trigger”,“selectors”,“$target”,“ESCAPE_KEYCODE”,“SPACE_KEYCODE”,“TAB_KEYCODE”,“ARROW_UP_KEYCODE”,“ARROW_DOWN_KEYCODE”,“RIGHT_MOUSE_BUTTON_WHICH”,“REGEXP_KEYDOWN”,“EVENT_CLICK”,“EVENT_KEYDOWN_DATA_API”,“EVENT_KEYUP_DATA_API”,“CLASS_NAME_DISABLED”,“CLASS_NAME_DROPUP”,“CLASS_NAME_DROPRIGHT”,“CLASS_NAME_DROPLEFT”,“CLASS_NAME_MENURIGHT”,“CLASS_NAME_POSITION_STATIC”,“SELECTOR_MENU”,“SELECTOR_NAVBAR_NAV”,“SELECTOR_VISIBLE_ITEMS”,“PLACEMENT_TOP”,“PLACEMENT_TOPEND”,“PLACEMENT_BOTTOM”,“PLACEMENT_BOTTOMEND”,“PLACEMENT_RIGHT”,“PLACEMENT_LEFT”,“offset”,“flip”,“boundary”,“reference”,“display”,“popperConfig”,“Dropdown”,“_popper”,“_menu”,“_getMenuElement”,“_inNavbar”,“_detectNavbar”,“_addEventListeners”,“disabled”,“isActive”,“_clearMenus”,“usePopper”,“relatedTarget”,“showEvent”,“_getParentFromElement”,“Popper”,“referenceElement”,“_getPopperConfig”,“body”,“noop”,“hideEvent”,“destroy”,“off”,“scheduleUpdate”,“stopPropagation”,“constructor”,“$parentDropdown”,“placement”,“offsets”,“_getPlacement”,“modifiers”,“_getOffset”,“enabled”,“preventOverflow”,“boundariesElement”,“applyStyle”,“which”,“toggles”,“context”,“clickEvent”,“dropdownMenu”,“items”,“item”,“index”,“indexOf”,“_dataApiKeydownHandler”,“e”,“backdrop”,“keyboard”,“EVENT_HIDE_PREVENTED”,“EVENT_FOCUSIN”,“EVENT_RESIZE”,“EVENT_CLICK_DISMISS”,“EVENT_KEYDOWN_DISMISS”,“EVENT_MOUSEUP_DISMISS”,“EVENT_MOUSEDOWN_DISMISS”,“CLASS_NAME_SCROLLABLE”,“CLASS_NAME_SCROLLBAR_MEASURER”,“CLASS_NAME_BACKDROP”,“CLASS_NAME_OPEN”,“CLASS_NAME_STATIC”,“SELECTOR_DIALOG”,“SELECTOR_MODAL_BODY”,“SELECTOR_DATA_DISMISS”,“SELECTOR_FIXED_CONTENT”,“SELECTOR_STICKY_CONTENT”,“Modal”,“_dialog”,“_backdrop”,“_isShown”,“_isBodyOverflowing”,“_ignoreBackdropClick”,“_scrollbarWidth”,“_checkScrollbar”,“_setScrollbar”,“_adjustDialog”,“_setEscapeEvent”,“_setResizeEvent”,“_showBackdrop”,“_showElement”,“transition”,“_hideModal”,“forEach”,“htmlElement”,“hideEventPrevented”,“defaultPrevented”,“isModalOverflowing”,“scrollHeight”,“clientHeight”,“overflowY”,“modalTransitionDuration”,“modalBody”,“Node”,“ELEMENT_NODE”,“appendChild”,“removeAttribute”,“scrollTop”,“_enforceFocus”,“shownEvent”,“transitionComplete”,“has”,“_triggerBackdropTransition”,“handleUpdate”,“_resetAdjustments”,“_resetScrollbar”,“callback”,“animate”,“createElement”,“className”,“appendTo”,“backdropTransitionDuration”,“callbackRemove”,“_removeBackdrop”,“paddingLeft”,“paddingRight”,“rect”,“round”,“left”,“right”,“innerWidth”,“_getScrollbarWidth”,“fixedContent”,“stickyContent”,“actualPadding”,“calculatedPadding”,“actualMargin”,“marginRight”,“calculatedMargin”,“padding”,“elements”,“margin”,“scrollDiv”,“scrollbarWidth”,“width”,“clientWidth”,“removeChild”,“uriAttrs”,“DefaultWhitelist”,“*”,“a”,“area”,“b”,“br”,“col”,“code”,“div”,“em”,“hr”,“h1”,“h2”,“h3”,“h4”,“h5”,“h6”,“img”,“li”,“ol”,“p”,“pre”,“s”,“small”,“span”,“sub”,“sup”,“strong”,“u”,“ul”,“SAFE_URL_PATTERN”,“DATA_URL_PATTERN”,“allowedAttribute”,“allowedAttributeList”,“attrName”,“nodeName”,“nodeValue”,“regExp”,“attrRegex”,“sanitizeHtml”,“unsafeHtml”,“whiteList”,“sanitizeFn”,“createdDocument”,“DOMParser”,“parseFromString”,“whitelistKeys”,“keys”,“el”,“elName”,“attributeList”,“attributes”,“whitelistedAttributes”,“concat”,“innerHTML”,“CLASS_PREFIX”,“BSCLS_PREFIX_REGEX”,“DISALLOWED_ATTRIBUTES”,“animation”,“template”,“title”,“delay”,“html”,“container”,“fallbackPlacement”,“sanitize”,“AttachmentMap”,“AUTO”,“TOP”,“RIGHT”,“BOTTOM”,“LEFT”,“HOVER_STATE_SHOW”,“HOVER_STATE_OUT”,“HIDE”,“HIDDEN”,“SHOW”,“SHOWN”,“INSERTED”,“CLICK”,“FOCUSIN”,“FOCUSOUT”,“MOUSEENTER”,“MOUSELEAVE”,“SELECTOR_TOOLTIP_INNER”,“SELECTOR_ARROW”,“TRIGGER_HOVER”,“TRIGGER_FOCUS”,“TRIGGER_CLICK”,“TRIGGER_MANUAL”,“Tooltip”,“_isEnabled”,“_timeout”,“_hoverState”,“_activeTrigger”,“tip”,“_setListeners”,“dataKey”,“_getDelegateConfig”,“click”,“_isWithActiveTrigger”,“_enter”,“_leave”,“getTipElement”,“clearTimeout”,“_hideModalHandler”,“isWithContent”,“shadowRoot”,“isInTheDom”,“ownerDocument”,“tipId”,“getUID”,“setContent”,“attachment”,“_getAttachment”,“addAttachmentClass”,“_getContainer”,“complete”,“_fixTransition”,“prevHoverState”,“_cleanTipClass”,“getTitle”,“setElementContent”,“content”,“text”,“empty”,“append”,“behavior”,“arrow”,“onCreate”,“originalPlacement”,“_handlePopperPlacementChange”,“onUpdate”,“find”,“eventIn”,“eventOut”,“_fixTitle”,“titleType”,“dataAttributes”,“dataAttr”,“key”,“$tip”,“tabClass”,“join”,“popperData”,“instance”,“popper”,“initConfigAnimation”,“SELECTOR_TITLE”,“SELECTOR_CONTENT”,“Popover”,“_getContent”,“method”,“EVENT_ACTIVATE”,“EVENT_SCROLL”,“CLASS_NAME_DROPDOWN_ITEM”,“SELECTOR_NAV_LIST_GROUP”,“SELECTOR_NAV_LINKS”,“SELECTOR_NAV_ITEMS”,“SELECTOR_LIST_ITEMS”,“SELECTOR_DROPDOWN”,“SELECTOR_DROPDOWN_ITEMS”,“SELECTOR_DROPDOWN_TOGGLE”,“METHOD_OFFSET”,“METHOD_POSITION”,“ScrollSpy”,“_scrollElement”,“_offsets”,“_targets”,“_activeTarget”,“_scrollHeight”,“_process”,“refresh”,“autoMethod”,“offsetMethod”,“offsetBase”,“_getScrollTop”,“_getScrollHeight”,“map”,“targetSelector”,“targetBCR”,“height”,“top”,“sort”,“pageYOffset”,“max”,“innerHeight”,“maxScroll”,“_getOffsetHeight”,“_activate”,“_clear”,“queries”,“$link”,“parents”,“prev”,“node”,“scrollSpys”,“$spy”,“CLASS_NAME_DROPDOWN_MENU”,“SELECTOR_ACTIVE_UL”,“SELECTOR_DROPDOWN_ACTIVE_CHILD”,“Tab”,“previous”,“listElement”,“itemSelector”,“makeArray”,“hiddenEvent”,“active”,“_transitionComplete”,“dropdownChild”,“dropdownElement”,“dropdownToggleList”,“dropdownInit”,“$wrapperDropdownPill”,“$wrapperDropdownSelect”,“$dropdownWithSearch”,“$selectedOptions”,“$menuList”,“$selectNameHidden”,“$arrayListSelected”,“get”,“_iterator”,“_isArray”,“Array”,“isArray”,“_i”,“Symbol”,“iterator”,“_ref”,“next”,“done”,“$itemId”,“$pillList”,“removePill”,“bind”,“addEventListener”,“activateThisItem”,“$optionSelected”,“$itemVal”,“$dropdownPillItems”,“$dropdownSelectItems”,“$inputSearch”,“$dropdownMenu”,“keyup”,“$arrayListOptions”,“$searchText”,“toLocaleLowerCase”,“includes”,“$hiddenOpt”,“$notFound”,“$badge”,“$val”,“$dropdownType”,“$wrapperDropdown”,“$pill”,“ready”,“MekariForm”,“checkAll”,“$datacheckall”,“$parentCheckbox”,“$arrayListCheckbox”,“updateCheckAll”,“activateParentCheckAll”,“activateChildCheckAll”,“$parentCb”,“$childCb”,“$totalChildCb”,“prop”,“change”,“MekariTooltip”,“tooltip”],“mappings”:“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”,“sourcesContent”:[“/**n * ————————————————————————–n * Bootstrap (v4.5.2): util.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)n * ————————————————————————–n */nnimport $ from ‘jquery’nn/**n * ————————————————————————n * Private TransitionEnd Helpersn * ————————————————————————n */nnconst TRANSITION_END = ‘transitionend’nconst MAX_UID = 1000000nconst MILLISECONDS_MULTIPLIER = 1000nn// Shoutout AngusCroll (https://goo.gl/pxwQGp)nfunction toType(obj) {n if (obj === null || typeof obj === ‘undefined’) {n return `${obj}`n }nn return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase()n}nnfunction getSpecialTransitionEndEvent() {n return {n bindType: TRANSITION_END,n delegateType: TRANSITION_END,n handle(event) {n if ($(event.target).is(this)) {n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-paramsn }n return undefinedn }n }n}nnfunction transitionEndEmulator(duration) {n let called = falsenn $(this).one(Util.TRANSITION_END, () => {n called = truen })nn setTimeout(() => {n if (!called) {n Util.triggerTransitionEnd(this)n }n }, duration)nn return thisn}nnfunction setTransitionEndSupport() {n $.fn.emulateTransitionEnd = transitionEndEmulatorn $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()n}nn/**n * ————————————————————————–n * Public Util Apin * ————————————————————————–n */nnconst Util = {n TRANSITION_END: ‘bsTransitionEnd’,nn getUID(prefix) {n do {n // eslint-disable-next-line no-bitwisen prefix += ~~(Math.random() * MAX_UID) // "~~" acts like a faster Math.floor() heren } while (document.getElementById(prefix))n return prefixn },nn getSelectorFromElement(element) {n let selector = element.getAttribute(‘data-target’)nn if (!selector || selector === ‘#’) {n const hrefAttr = element.getAttribute(‘href’)n selector = hrefAttr && hrefAttr !== ‘#’ ? hrefAttr.trim() : ”n }nn try {n return document.querySelector(selector) ? selector : nulln } catch (err) {n return nulln }n },nn getTransitionDurationFromElement(element) {n if (!element) {n return 0n }nn // Get transition-duration of the elementn let transitionDuration = $(element).css(‘transition-duration’)n let transitionDelay = $(element).css(‘transition-delay’)nn const floatTransitionDuration = parseFloat(transitionDuration)n const floatTransitionDelay = parseFloat(transitionDelay)nn // Return 0 if element or transition duration is not foundn if (!floatTransitionDuration && !floatTransitionDelay) {n return 0n }nn // If multiple durations are defined, take the firstn transitionDuration = transitionDuration.split(‘,’)[0]n transitionDelay = transitionDelay.split(‘,’)[0]nn return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIERn },nn reflow(element) {n return element.offsetHeightn },nn triggerTransitionEnd(element) {n $(element).trigger(TRANSITION_END)n },nn // TODO: Remove in v5n supportsTransitionEnd() {n return Boolean(TRANSITION_END)n },nn isElement(obj) {n return (obj[0] || obj).nodeTypen },nn typeCheckConfig(componentName, config, configTypes) {n for (const property in configTypes) {n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {n const expectedTypes = configTypes[property]n const value = config[property]n const valueType = value && Util.isElement(value)n ? ‘element’ : toType(value)nn if (!new RegExp(expectedTypes).test(valueType)) {n throw new Error(n `${componentName.toUpperCase()}: ` +n `Option "${property}" provided type "${valueType}" ` +n `but expected type "${expectedTypes}".`)n }n }n }n },nn findShadowRoot(element) {n if (!document.documentElement.attachShadow) {n return nulln }nn // Can find the shadow root otherwise it’ll return the documentn if (typeof element.getRootNode === ‘function’) {n const root = element.getRootNode()n return root instanceof ShadowRoot ? root : nulln }nn if (element instanceof ShadowRoot) {n return elementn }nn // when we don’t find a shadow rootn if (!element.parentNode) {n return nulln }nn return Util.findShadowRoot(element.parentNode)n },nn jQueryDetection() {n if (typeof $ === ‘undefined’) {n throw new TypeError(‘Bootstrap\’s JavaScript requires jQuery. jQuery must be included before Bootstrap\‘s JavaScript.’)n }nn const version = $.fn.jquery.split(‘ ’)[0].split(‘.’)n const minMajor = 1n const ltMajor = 2n const minMinor = 9n const minPatch = 1n const maxMajor = 4nn if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {n throw new Error(‘Bootstrap\’s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0’)n }n }n}nnUtil.jQueryDetection()nsetTransitionEndSupport()nnexport default Utiln”,“/**n * ————————————————————————–n * Bootstrap (v4.5.2): alert.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)n * ————————————————————————–n */nnimport $ from ‘jquery’nimport Util from ‘./util’nn/**n * ————————————————————————n * Constantsn * ————————————————————————n */nnconst NAME = ‘alert’nconst VERSION = ‘4.5.2’nconst DATA_KEY = ‘bs.alert’nconst EVENT_KEY = `.${DATA_KEY}`nconst DATA_API_KEY = ‘.data-api’nconst JQUERY_NO_CONFLICT = $.fn[NAME]nnconst SELECTOR_DISMISS = ‘[data-dismiss="alert"]’nnconst EVENT_CLOSE = `close${EVENT_KEY}`nconst EVENT_CLOSED = `closed${EVENT_KEY}`nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`nnconst CLASS_NAME_ALERT = ‘alert’nconst CLASS_NAME_FADE = ‘fade’nconst CLASS_NAME_SHOW = ‘show’nn/**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nnclass Alert {n constructor(element) {n this._element = elementn }nn // Gettersnn static get VERSION() {n return VERSIONn }nn // Publicnn close(element) {n let rootElement = this._elementn if (element) {n rootElement = this._getRootElement(element)n }nn const customEvent = this._triggerCloseEvent(rootElement)nn if (customEvent.isDefaultPrevented()) {n returnn }nn this._removeElement(rootElement)n }nn dispose() {n $.removeData(this._element, DATA_KEY)n this._element = nulln }nn // Privatenn _getRootElement(element) {n const selector = Util.getSelectorFromElement(element)n let parent = falsenn if (selector) {n parent = document.querySelector(selector)n }nn if (!parent) {n parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]n }nn return parentn }nn _triggerCloseEvent(element) {n const closeEvent = $.Event(EVENT_CLOSE)nn $(element).trigger(closeEvent)n return closeEventn }nn _removeElement(element) {n $(element).removeClass(CLASS_NAME_SHOW)nn if (!$(element).hasClass(CLASS_NAME_FADE)) {n this._destroyElement(element)n returnn }nn const transitionDuration = Util.getTransitionDurationFromElement(element)nn $(element)n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))n .emulateTransitionEnd(transitionDuration)n }nn _destroyElement(element) {n $(element)n .detach()n .trigger(EVENT_CLOSED)n .remove()n }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n const $element = $(this)n let data = $element.data(DATA_KEY)nn if (!data) {n data = new Alert(this)n $element.data(DATA_KEY, data)n }nn if (config === ‘close’) {n data[config](this)n }n })n }nn static _handleDismiss(alertInstance) {n return function (event) {n if (event) {n event.preventDefault()n }nn alertInstance.close(this)n }n }n}nn/**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn$(document).on(n EVENT_CLICK_DATA_API,n SELECTOR_DISMISS,n Alert._handleDismiss(new Alert())n)nn/**n * ————————————————————————n * jQueryn * ————————————————————————n */nn$.fn[NAME] = Alert._jQueryInterfacen$.fn[NAME].Constructor = Alertn$.fn[NAME].noConflict = () => {n $.fn[NAME] = JQUERY_NO_CONFLICTn return Alert._jQueryInterfacen}nnexport default Alertn”,“/**n * ————————————————————————–n * Bootstrap (v4.5.2): button.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)n * ————————————————————————–n */nnimport $ from ‘jquery’nn/**n * ————————————————————————n * Constantsn * ————————————————————————n */nnconst NAME = ‘button’nconst VERSION = ‘4.5.2’nconst DATA_KEY = ‘bs.button’nconst EVENT_KEY = `.${DATA_KEY}`nconst DATA_API_KEY = ‘.data-api’nconst JQUERY_NO_CONFLICT = $.fn[NAME]nnconst CLASS_NAME_ACTIVE = ‘active’nconst CLASS_NAME_BUTTON = ‘btn’nconst CLASS_NAME_FOCUS = ‘focus’nnconst SELECTOR_DATA_TOGGLE_CARROT = ‘[data-toggle^="button"]’nconst SELECTOR_DATA_TOGGLES = ‘[data-toggle="buttons"]’nconst SELECTOR_DATA_TOGGLE = ‘[data-toggle="button"]’nconst SELECTOR_DATA_TOGGLES_BUTTONS = ‘[data-toggle="buttons"] .btn’nconst SELECTOR_INPUT = ‘input:not([type="hidden"])’nconst SELECTOR_ACTIVE = ‘.active’nconst SELECTOR_BUTTON = ‘.btn’nnconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +n `blur${EVENT_KEY}${DATA_API_KEY}`nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`nn/**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nnclass Button {n constructor(element) {n this._element = elementn }nn // Gettersnn static get VERSION() {n return VERSIONn }nn // Publicnn toggle() {n let triggerChangeEvent = truen let addAriaPressed = truen const rootElement = $(this._element).closest(n SELECTOR_DATA_TOGGLESn )[0]nn if (rootElement) {n const input = this._element.querySelector(SELECTOR_INPUT)nn if (input) {n if (input.type === ‘radio’) {n if (input.checked &&n this._element.classList.contains(CLASS_NAME_ACTIVE)) {n triggerChangeEvent = falsen } else {n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)nn if (activeElement) {n $(activeElement).removeClass(CLASS_NAME_ACTIVE)n }n }n }nn if (triggerChangeEvent) {n // if it’s not a radio button or checkbox don’t add a pointless/invalid checked property to the inputn if (input.type === ‘checkbox’ || input.type === ‘radio’) {n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)n }n $(input).trigger(‘change’)n }nn input.focus()n addAriaPressed = falsen }n }nn if (!(this._element.hasAttribute(‘disabled’) || this._element.classList.contains(‘disabled’))) {n if (addAriaPressed) {n this._element.setAttribute(‘aria-pressed’,n !this._element.classList.contains(CLASS_NAME_ACTIVE))n }nn if (triggerChangeEvent) {n $(this._element).toggleClass(CLASS_NAME_ACTIVE)n }n }n }nn dispose() {n $.removeData(this._element, DATA_KEY)n this._element = nulln }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n let data = $(this).data(DATA_KEY)nn if (!data) {n data = new Button(this)n $(this).data(DATA_KEY, data)n }nn if (config === ‘toggle’) {n data[config]()n }n })n }n}nn/**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn$(document)n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {n let button = event.targetn const initialButton = buttonnn if (!$(button).hasClass(CLASS_NAME_BUTTON)) {n button = $(button).closest(SELECTOR_BUTTON)[0]n }nn if (!button || button.hasAttribute(‘disabled’) || button.classList.contains(‘disabled’)) {n event.preventDefault() // work around Firefox bug #1540995n } else {n const inputBtn = button.querySelector(SELECTOR_INPUT)nn if (inputBtn && (inputBtn.hasAttribute(‘disabled’) || inputBtn.classList.contains(‘disabled’))) {n event.preventDefault() // work around Firefox bug #1540995n returnn }nn if (initialButton.tagName !== ‘LABEL’ || inputBtn && inputBtn.type !== ‘checkbox’) {n Button._jQueryInterface.call($(button), ‘toggle’)n }n }n })n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {n const button = $(event.target).closest(SELECTOR_BUTTON)[0]n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))n })nn$(window).on(EVENT_LOAD_DATA_API, () => {n // ensure correct active class is set to match the controls’ actual values/statesnn // find all checkboxes/readio buttons inside data-toggle groupsn let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {n $.fn[NAME] = JQUERY_NO_CONFLICTn return Button._jQueryInterfacen}nnexport default Buttonn”,“/**n * ————————————————————————–n * Bootstrap (v4.5.2): collapse.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)n * ————————————————————————–n */nnimport $ from ‘jquery’nimport Util from ‘./util’nn/**n * ————————————————————————n * Constantsn * ————————————————————————n */nnconst NAME = ‘collapse’nconst VERSION = ‘4.5.2’nconst DATA_KEY = ‘bs.collapse’nconst EVENT_KEY = `.${DATA_KEY}`nconst DATA_API_KEY = ‘.data-api’nconst JQUERY_NO_CONFLICT = $.fn[NAME]nnconst Default = {n toggle : true,n parent : ”n}nnconst DefaultType = {n toggle : ‘boolean’,n parent : ‘(string|element)’n}nnconst EVENT_SHOW = `show${EVENT_KEY}`nconst EVENT_SHOWN = `shown${EVENT_KEY}`nconst EVENT_HIDE = `hide${EVENT_KEY}`nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`nnconst CLASS_NAME_SHOW = ‘show’nconst CLASS_NAME_COLLAPSE = ‘collapse’nconst CLASS_NAME_COLLAPSING = ‘collapsing’nconst CLASS_NAME_COLLAPSED = ‘collapsed’nnconst DIMENSION_WIDTH = ‘width’nconst DIMENSION_HEIGHT = ‘height’nnconst SELECTOR_ACTIVES = ‘.show, .collapsing’nconst SELECTOR_DATA_TOGGLE = ‘[data-toggle="collapse"]’nn/**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nnclass Collapse {n constructor(element, config) {n this._isTransitioning = falsen this._element = elementn this._config = this._getConfig(config)n this._triggerArray = [].slice.call(document.querySelectorAll(n `[data-toggle="collapse"][href="#${element.id}"],` +n `[data-toggle="collapse"][data-target="#${element.id}"]`n ))nn const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)nn if (selector !== null && filterElement.length > 0) {n this._selector = selectorn this._triggerArray.push(elem)n }n }nn this._parent = this._config.parent ? this._getParent() : nullnn if (!this._config.parent) {n this._addAriaAndCollapsedClass(this._element, this._triggerArray)n }nn if (this._config.toggle) {n this.toggle()n }n }nn // Gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn // Publicnn toggle() {n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {n this.hide()n } else {n this.show()n }n }nn show() {n if (this._isTransitioning ||n $(this._element).hasClass(CLASS_NAME_SHOW)) {n returnn }nn let activesn let activesDatann if (this._parent) {n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))n .filter((elem) => {n if (typeof this._config.parent === ‘string’) {n return elem.getAttribute(‘data-parent’) === this._config.parentn }nn return elem.classList.contains(CLASS_NAME_COLLAPSE)n })nn if (actives.length === 0) {n actives = nulln }n }nn if (actives) {n activesData = $(actives).not(this._selector).data(DATA_KEY)n if (activesData && activesData._isTransitioning) {n returnn }n }nn const startEvent = $.Event(EVENT_SHOW)n $(this._element).trigger(startEvent)n if (startEvent.isDefaultPrevented()) {n returnn }nn if (actives) {n Collapse._jQueryInterface.call($(actives).not(this._selector), ‘hide’)n if (!activesData) {n $(actives).data(DATA_KEY, null)n }n }nn const dimension = this._getDimension()nn $(this._element)n .removeClass(CLASS_NAME_COLLAPSE)n .addClass(CLASS_NAME_COLLAPSING)nn this._element.style[dimension] = 0nn if (this._triggerArray.length) {n $(this._triggerArray)n .removeClass(CLASS_NAME_COLLAPSED)n .attr(‘aria-expanded’, true)n }nn this.setTransitioning(true)nn const complete = () => {n $(this._element)n .removeClass(CLASS_NAME_COLLAPSING)n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)nn this._element.style[dimension] = ”nn this.setTransitioning(false)nn $(this._element).trigger(EVENT_SHOWN)n }nn const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)n const scrollSize = `scroll${capitalizedDimension}`n const transitionDuration = Util.getTransitionDurationFromElement(this._element)nn $(this._element)n .one(Util.TRANSITION_END, complete)n .emulateTransitionEnd(transitionDuration)nn this._element.style[dimension] = `${this._element[scrollSize]}px`n }nn hide() {n if (this._isTransitioning ||n !$(this._element).hasClass(CLASS_NAME_SHOW)) {n returnn }nn const startEvent = $.Event(EVENT_HIDE)n $(this._element).trigger(startEvent)n if (startEvent.isDefaultPrevented()) {n returnn }nn const dimension = this._getDimension()nn this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`nn Util.reflow(this._element)nn $(this._element)n .addClass(CLASS_NAME_COLLAPSING)n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)nn const triggerArrayLength = this._triggerArray.lengthn if (triggerArrayLength > 0) {n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {n this.setTransitioning(false)n $(this._element)n .removeClass(CLASS_NAME_COLLAPSING)n .addClass(CLASS_NAME_COLLAPSE)n .trigger(EVENT_HIDDEN)n }nn this._element.style[dimension] = ”n const transitionDuration = Util.getTransitionDurationFromElement(this._element)nn $(this._element)n .one(Util.TRANSITION_END, complete)n .emulateTransitionEnd(transitionDuration)n }nn setTransitioning(isTransitioning) {n this._isTransitioning = isTransitioningn }nn dispose() {n $.removeData(this._element, DATA_KEY)nn this._config = nulln this._parent = nulln this._element = nulln this._triggerArray = nulln this._isTransitioning = nulln }nn // Privatenn _getConfig(config) {n config = {n …Default,n …confign }n config.toggle = Boolean(config.toggle) // Coerce string valuesn Util.typeCheckConfig(NAME, config, DefaultType)n return confign }nn _getDimension() {n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHTn }nn _getParent() {n let parentnn if (Util.isElement(this._config.parent)) {n parent = this._config.parentnn // It’s a jQuery objectn if (typeof this._config.parent.jquery !== ‘undefined’) {n parent = this._config.parent[0]n }n } else {n parent = document.querySelector(this._config.parent)n }nn const selector = `[data-toggle="collapse"][data-parent="${this._config.parent}"]`n const children = [].slice.call(parent.querySelectorAll(selector))nn $(children).each((i, element) => {n this._addAriaAndCollapsedClass(n Collapse._getTargetFromElement(element),n [element]n )n })nn return parentn }nn _addAriaAndCollapsedClass(element, triggerArray) {n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)nn if (triggerArray.length) {n $(triggerArray)n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)n .attr(‘aria-expanded’, isOpen)n }n }nn // Staticnn static _getTargetFromElement(element) {n const selector = Util.getSelectorFromElement(element)n return selector ? document.querySelector(selector) : nulln }nn static _jQueryInterface(config) {n return this.each(function () {n const $this = $(this)n let data = $this.data(DATA_KEY)n const _config = {n …Default,n …$this.data(),n …typeof config === ‘object’ && config ? config : {}n }nn if (!data && _config.toggle && typeof config === ‘string’ && /show|hide/.test(config)) {n _config.toggle = falsen }nn if (!data) {n data = new Collapse(this, _config)n $this.data(DATA_KEY, data)n }nn if (typeof config === ‘string’) {n if (typeof data[config] === ‘undefined’) {n throw new TypeError(`No method named "${config}"`)n }n data[config]()n }n })n }n}nn/**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {n // preventDefault only for elements (which change the URL) not inside the collapsible elementn if (event.currentTarget.tagName === ‘A’) {n event.preventDefault()n }nn const $trigger = $(this)n const selector = Util.getSelectorFromElement(this)n const selectors = [].slice.call(document.querySelectorAll(selector))nn $(selectors).each(function () {n const $target = $(this)n const data = $target.data(DATA_KEY)n const config = data ? ‘toggle’ : $trigger.data()n Collapse._jQueryInterface.call($target, config)n })n})nn/**n * ————————————————————————n * jQueryn * ————————————————————————n */nn$.fn[NAME] = Collapse._jQueryInterfacen$.fn[NAME].Constructor = Collapsen$.fn[NAME].noConflict = () => {n $.fn[NAME] = JQUERY_NO_CONFLICTn return Collapse._jQueryInterfacen}nnexport default Collapsen”,“/**n * ————————————————————————–n * Bootstrap (v4.5.2): dropdown.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)n * ————————————————————————–n */nnimport $ from ‘jquery’nimport Popper from ‘popper.js’nimport Util from ‘./util’nn/**n * ————————————————————————n * Constantsn * ————————————————————————n */nnconst NAME = ‘dropdown’nconst VERSION = ‘4.5.2’nconst DATA_KEY = ‘bs.dropdown’nconst EVENT_KEY = `.${DATA_KEY}`nconst DATA_API_KEY = ‘.data-api’nconst JQUERY_NO_CONFLICT = $.fn[NAME]nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) keynconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space keynconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab keynconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow keynconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow keynconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)nnconst EVENT_HIDE = `hide${EVENT_KEY}`nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`nconst EVENT_SHOW = `show${EVENT_KEY}`nconst EVENT_SHOWN = `shown${EVENT_KEY}`nconst EVENT_CLICK = `click${EVENT_KEY}`nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`nnconst CLASS_NAME_DISABLED = ‘disabled’nconst CLASS_NAME_SHOW = ‘show’nconst CLASS_NAME_DROPUP = ‘dropup’nconst CLASS_NAME_DROPRIGHT = ‘dropright’nconst CLASS_NAME_DROPLEFT = ‘dropleft’nconst CLASS_NAME_MENURIGHT = ‘dropdown-menu-right’nconst CLASS_NAME_POSITION_STATIC = ‘position-static’nnconst SELECTOR_DATA_TOGGLE = ‘[data-toggle="dropdown"]’nconst SELECTOR_FORM_CHILD = ‘.dropdown form’nconst SELECTOR_MENU = ‘.dropdown-menu’nconst SELECTOR_NAVBAR_NAV = ‘.navbar-nav’nconst SELECTOR_VISIBLE_ITEMS = ‘.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)’nnconst PLACEMENT_TOP = ‘top-start’nconst PLACEMENT_TOPEND = ‘top-end’nconst PLACEMENT_BOTTOM = ‘bottom-start’nconst PLACEMENT_BOTTOMEND = ‘bottom-end’nconst PLACEMENT_RIGHT = ‘right-start’nconst PLACEMENT_LEFT = ‘left-start’nnconst Default = {n offset : 0,n flip : true,n boundary : ‘scrollParent’,n reference : ‘toggle’,n display : ‘dynamic’,n popperConfig : nulln}nnconst DefaultType = {n offset : ‘(number|string|function)’,n flip : ‘boolean’,n boundary : ‘(string|element)’,n reference : ‘(string|element)’,n display : ‘string’,n popperConfig : ‘(null|object)’n}nn/**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nnclass Dropdown {n constructor(element, config) {n this._element = elementn this._popper = nulln this._config = this._getConfig(config)n this._menu = this._getMenuElement()n this._inNavbar = this._detectNavbar()nn this._addEventListeners()n }nn // Gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn static get DefaultType() {n return DefaultTypen }nn // Publicnn toggle() {n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {n returnn }nn const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)nn Dropdown._clearMenus()nn if (isActive) {n returnn }nn this.show(true)n }nn show(usePopper = false) {n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {n returnn }nn const relatedTarget = {n relatedTarget: this._elementn }n const showEvent = $.Event(EVENT_SHOW, relatedTarget)n const parent = Dropdown._getParentFromElement(this._element)nn $(parent).trigger(showEvent)nn if (showEvent.isDefaultPrevented()) {n returnn }nn // Disable totally Popper.js for Dropdown in Navbarn if (!this._inNavbar && usePopper) {n /**n * Check for Popper dependencyn * Popper - https://popper.js.orgn */n if (typeof Popper === ‘undefined’) {n throw new TypeError(‘Bootstrap\’s dropdowns require Popper.js (https://popper.js.org/)‘)n }nn let referenceElement = this._elementnn if (this._config.reference === ’parent’) {n referenceElement = parentn } else if (Util.isElement(this._config.reference)) {n referenceElement = this._config.referencenn // Check if it’s jQuery elementn if (typeof this._config.reference.jquery !== ‘undefined’) {n referenceElement = this._config.reference[0]n }n }nn // If boundary is not `scrollParent`, then set position to `static`n // to allow the menu to "escape" the scroll parent’s boundariesn // https://github.com/twbs/bootstrap/issues/24251n if (this._config.boundary !== ‘scrollParent’) {n $(parent).addClass(CLASS_NAME_POSITION_STATIC)n }n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())n }nn // If this is a touch-enabled device we add extran // empty mouseover listeners to the body’s immediate children;n // only needed because of broken event delegation on iOSn // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.htmln if (‘ontouchstart’ in document.documentElement &&n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {n $(document.body).children().on(‘mouseover’, null, $.noop)n }nn this._element.focus()n this._element.setAttribute(‘aria-expanded’, true)nn $(this._menu).toggleClass(CLASS_NAME_SHOW)n $(parent)n .toggleClass(CLASS_NAME_SHOW)n .trigger($.Event(EVENT_SHOWN, relatedTarget))n }nn hide() {n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {n returnn }nn const relatedTarget = {n relatedTarget: this._elementn }n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)n const parent = Dropdown._getParentFromElement(this._element)nn $(parent).trigger(hideEvent)nn if (hideEvent.isDefaultPrevented()) {n returnn }nn if (this._popper) {n this._popper.destroy()n }nn $(this._menu).toggleClass(CLASS_NAME_SHOW)n $(parent)n .toggleClass(CLASS_NAME_SHOW)n .trigger($.Event(EVENT_HIDDEN, relatedTarget))n }nn dispose() {n $.removeData(this._element, DATA_KEY)n $(this._element).off(EVENT_KEY)n this._element = nulln this._menu = nulln if (this._popper !== null) {n this._popper.destroy()n this._popper = nulln }n }nn update() {n this._inNavbar = this._detectNavbar()n if (this._popper !== null) {n this._popper.scheduleUpdate()n }n }nn // Privatenn _addEventListeners() {n $(this._element).on(EVENT_CLICK, (event) => {n event.preventDefault()n event.stopPropagation()n this.toggle()n })n }nn _getConfig(config) {n config = {n …this.constructor.Default,n …$(this._element).data(),n …confign }nn Util.typeCheckConfig(n NAME,n config,n this.constructor.DefaultTypen )nn return confign }nn _getMenuElement() {n if (!this._menu) {n const parent = Dropdown._getParentFromElement(this._element)nn if (parent) {n this._menu = parent.querySelector(SELECTOR_MENU)n }n }n return this._menun }nn _getPlacement() {n const $parentDropdown = $(this._element.parentNode)n let placement = PLACEMENT_BOTTOMnn // Handle dropupn if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT)n ? PLACEMENT_TOPENDn : PLACEMENT_TOPn } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {n placement = PLACEMENT_RIGHTn } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {n placement = PLACEMENT_LEFTn } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {n placement = PLACEMENT_BOTTOMENDn }n return placementn }nn _detectNavbar() {n return $(this._element).closest(‘.navbar’).length > 0n }nn _getOffset() {n const offset = {}nn if (typeof this._config.offset === ‘function’) {n offset.fn = (data) => {n data.offsets = {n …data.offsets,n …this._config.offset(data.offsets, this._element) || {}n }nn return datan }n } else {n offset.offset = this._config.offsetn }nn return offsetn }nn _getPopperConfig() {n const popperConfig = {n placement: this._getPlacement(),n modifiers: {n offset: this._getOffset(),n flip: {n enabled: this._config.flipn },n preventOverflow: {n boundariesElement: this._config.boundaryn }n }n }nn // Disable Popper.js if we have a static displayn if (this._config.display === ‘static’) {n popperConfig.modifiers.applyStyle = {n enabled: falsen }n }nn return {n …popperConfig,n …this._config.popperConfign }n }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n let data = $(this).data(DATA_KEY)n const _config = typeof config === ‘object’ ? config : nullnn if (!data) {n data = new Dropdown(this, _config)n $(this).data(DATA_KEY, data)n }nn if (typeof config === ‘string’) {n if (typeof data[config] === ‘undefined’) {n throw new TypeError(`No method named "${config}"`)n }n data[config]()n }n })n }nn static _clearMenus(event) {n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||n event.type === ‘keyup’ && event.which !== TAB_KEYCODE)) {n returnn }nn const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))nn for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown commandn // If input/textarea:n // - If space key => not a dropdown commandn // - If key is other than escapen // - If key is not up or down => not a dropdown commandn // - If trigger inside the menu => not a dropdown commandn if (/input|textarea/i.test(event.target.tagName)n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||n $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {n returnn }nn if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {n returnn }nn const parent = Dropdown._getParentFromElement(this)n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)nn if (!isActive && event.which === ESCAPE_KEYCODE) {n returnn }nn event.preventDefault()n event.stopPropagation()nn if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {n if (event.which === ESCAPE_KEYCODE) {n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger(‘focus’)n }nn $(this).trigger(‘click’)n returnn }nn const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))n .filter((item) => $(item).is(‘:visible’))nn if (items.length === 0) {n returnn }nn let index = items.indexOf(event.target)nn if (event.which === ARROW_UP_KEYCODE && index > 0) { // Upn index–n }nn if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, (e) => {n e.stopPropagation()n })nn/**n * ————————————————————————n * jQueryn * ————————————————————————n */nn$.fn[NAME] = Dropdown._jQueryInterfacen$.fn[NAME].Constructor = Dropdownn$.fn[NAME].noConflict = () => {n $.fn[NAME] = JQUERY_NO_CONFLICTn return Dropdown._jQueryInterfacen}nnexport default Dropdownn”,“/**n * ————————————————————————–n * Bootstrap (v4.5.2): modal.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)n * ————————————————————————–n */nnimport $ from ‘jquery’nimport Util from ‘./util’nn/**n * ————————————————————————n * Constantsn * ————————————————————————n */nnconst NAME = ‘modal’nconst VERSION = ‘4.5.2’nconst DATA_KEY = ‘bs.modal’nconst EVENT_KEY = `.${DATA_KEY}`nconst DATA_API_KEY = ‘.data-api’nconst JQUERY_NO_CONFLICT = $.fn[NAME]nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) keynnconst Default = {n backdrop : true,n keyboard : true,n focus : true,n show : truen}nnconst DefaultType = {n backdrop : ‘(boolean|string)’,n keyboard : ‘boolean’,n focus : ‘boolean’,n show : ‘boolean’n}nnconst EVENT_HIDE = `hide${EVENT_KEY}`nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`nconst EVENT_SHOW = `show${EVENT_KEY}`nconst EVENT_SHOWN = `shown${EVENT_KEY}`nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`nconst EVENT_RESIZE = `resize${EVENT_KEY}`nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`nnconst CLASS_NAME_SCROLLABLE = ‘modal-dialog-scrollable’nconst CLASS_NAME_SCROLLBAR_MEASURER = ‘modal-scrollbar-measure’nconst CLASS_NAME_BACKDROP = ‘modal-backdrop’nconst CLASS_NAME_OPEN = ‘modal-open’nconst CLASS_NAME_FADE = ‘fade’nconst CLASS_NAME_SHOW = ‘show’nconst CLASS_NAME_STATIC = ‘modal-static’nnconst SELECTOR_DIALOG = ‘.modal-dialog’nconst SELECTOR_MODAL_BODY = ‘.modal-body’nconst SELECTOR_DATA_TOGGLE = ‘[data-toggle="modal"]’nconst SELECTOR_DATA_DISMISS = ‘[data-dismiss="modal"]’nconst SELECTOR_FIXED_CONTENT = ‘.fixed-top, .fixed-bottom, .is-fixed, .sticky-top’nconst SELECTOR_STICKY_CONTENT = ‘.sticky-top’nn/**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nnclass Modal {n constructor(element, config) {n this._config = this._getConfig(config)n this._element = elementn this._dialog = element.querySelector(SELECTOR_DIALOG)n this._backdrop = nulln this._isShown = falsen this._isBodyOverflowing = falsen this._ignoreBackdropClick = falsen this._isTransitioning = falsen this._scrollbarWidth = 0n }nn // Gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn // Publicnn toggle(relatedTarget) {n return this._isShown ? this.hide() : this.show(relatedTarget)n }nn show(relatedTarget) {n if (this._isShown || this._isTransitioning) {n returnn }nn if ($(this._element).hasClass(CLASS_NAME_FADE)) {n this._isTransitioning = truen }nn const showEvent = $.Event(EVENT_SHOW, {n relatedTargetn })nn $(this._element).trigger(showEvent)nn if (this._isShown || showEvent.isDefaultPrevented()) {n returnn }nn this._isShown = truenn this._checkScrollbar()n this._setScrollbar()nn this._adjustDialog()nn this._setEscapeEvent()n this._setResizeEvent()nn $(this._element).on(n EVENT_CLICK_DISMISS,n SELECTOR_DATA_DISMISS,n (event) => this.hide(event)n )nn $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {n $(this._element).one(EVENT_MOUSEUP_DISMISS, (event) => {n if ($(event.target).is(this._element)) {n this._ignoreBackdropClick = truen }n })n })nn this._showBackdrop(() => this._showElement(relatedTarget))n }nn hide(event) {n if (event) {n event.preventDefault()n }nn if (!this._isShown || this._isTransitioning) {n returnn }nn const hideEvent = $.Event(EVENT_HIDE)nn $(this._element).trigger(hideEvent)nn if (!this._isShown || hideEvent.isDefaultPrevented()) {n returnn }nn this._isShown = falsen const transition = $(this._element).hasClass(CLASS_NAME_FADE)nn if (transition) {n this._isTransitioning = truen }nn this._setEscapeEvent()n this._setResizeEvent()nn $(document).off(EVENT_FOCUSIN)nn $(this._element).removeClass(CLASS_NAME_SHOW)nn $(this._element).off(EVENT_CLICK_DISMISS)n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)nn if (transition) {n const transitionDuration = Util.getTransitionDurationFromElement(this._element)nn $(this._element)n .one(Util.TRANSITION_END, (event) => this._hideModal(event))n .emulateTransitionEnd(transitionDuration)n } else {n this._hideModal()n }n }nn dispose() {n [window, this._element, this._dialog]n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))nn /**n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`n * Do not move `document` in `htmlElements` arrayn * It will remove `EVENT_CLICK_DATA_API` event that should remainn */n $(document).off(EVENT_FOCUSIN)nn $.removeData(this._element, DATA_KEY)nn this._config = nulln this._element = nulln this._dialog = nulln this._backdrop = nulln this._isShown = nulln this._isBodyOverflowing = nulln this._ignoreBackdropClick = nulln this._isTransitioning = nulln this._scrollbarWidth = nulln }nn handleUpdate() {n this._adjustDialog()n }nn // Privatenn _getConfig(config) {n config = {n …Default,n …confign }n Util.typeCheckConfig(NAME, config, DefaultType)n return confign }nn _triggerBackdropTransition() {n if (this._config.backdrop === ‘static’) {n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)nn $(this._element).trigger(hideEventPrevented)n if (hideEventPrevented.defaultPrevented) {n returnn }nn const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeightnn if (!isModalOverflowing) {n this._element.style.overflowY = ‘hidden’n }nn this._element.classList.add(CLASS_NAME_STATIC)nn const modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog)n $(this._element).off(Util.TRANSITION_END)nn $(this._element).one(Util.TRANSITION_END, () => {n this._element.classList.remove(CLASS_NAME_STATIC)n if (!isModalOverflowing) {n $(this._element).one(Util.TRANSITION_END, () => {n this._element.style.overflowY = ”n })n .emulateTransitionEnd(this._element, modalTransitionDuration)n }n })n .emulateTransitionEnd(modalTransitionDuration)n this._element.focus()n } else {n this.hide()n }n }nn _showElement(relatedTarget) {n const transition = $(this._element).hasClass(CLASS_NAME_FADE)n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : nullnn if (!this._element.parentNode ||n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {n // Don’t move modal’s DOM positionn document.body.appendChild(this._element)n }nn this._element.style.display = ‘block’n this._element.removeAttribute(‘aria-hidden’)n this._element.setAttribute(‘aria-modal’, true)n this._element.setAttribute(‘role’, ‘dialog’)nn if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {n modalBody.scrollTop = 0n } else {n this._element.scrollTop = 0n }nn if (transition) {n Util.reflow(this._element)n }nn $(this._element).addClass(CLASS_NAME_SHOW)nn if (this._config.focus) {n this._enforceFocus()n }nn const shownEvent = $.Event(EVENT_SHOWN, {n relatedTargetn })nn const transitionComplete = () => {n if (this._config.focus) {n this._element.focus()n }n this._isTransitioning = falsen $(this._element).trigger(shownEvent)n }nn if (transition) {n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)nn $(this._dialog)n .one(Util.TRANSITION_END, transitionComplete)n .emulateTransitionEnd(transitionDuration)n } else {n transitionComplete()n }n }nn _enforceFocus() {n $(document)n .off(EVENT_FOCUSIN) // Guard against infinite focus loopn .on(EVENT_FOCUSIN, (event) => {n if (document !== event.target &&n this._element !== event.target &&n $(this._element).has(event.target).length === 0) {n this._element.focus()n }n })n }nn _setEscapeEvent() {n if (this._isShown) {n $(this._element).on(EVENT_KEYDOWN_DISMISS, (event) => {n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {n event.preventDefault()n this.hide()n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {n this._triggerBackdropTransition()n }n })n } else if (!this._isShown) {n $(this._element).off(EVENT_KEYDOWN_DISMISS)n }n }nn _setResizeEvent() {n if (this._isShown) {n $(window).on(EVENT_RESIZE, (event) => this.handleUpdate(event))n } else {n $(window).off(EVENT_RESIZE)n }n }nn _hideModal() {n this._element.style.display = ‘none’n this._element.setAttribute(‘aria-hidden’, true)n this._element.removeAttribute(‘aria-modal’)n this._element.removeAttribute(‘role’)n this._isTransitioning = falsen this._showBackdrop(() => {n $(document.body).removeClass(CLASS_NAME_OPEN)n this._resetAdjustments()n this._resetScrollbar()n $(this._element).trigger(EVENT_HIDDEN)n })n }nn _removeBackdrop() {n if (this._backdrop) {n $(this._backdrop).remove()n this._backdrop = nulln }n }nn _showBackdrop(callback) {n const animate = $(this._element).hasClass(CLASS_NAME_FADE)n ? CLASS_NAME_FADE : ”nn if (this._isShown && this._config.backdrop) {n this._backdrop = document.createElement(‘div’)n this._backdrop.className = CLASS_NAME_BACKDROPnn if (animate) {n this._backdrop.classList.add(animate)n }nn $(this._backdrop).appendTo(document.body)nn $(this._element).on(EVENT_CLICK_DISMISS, (event) => {n if (this._ignoreBackdropClick) {n this._ignoreBackdropClick = falsen returnn }n if (event.target !== event.currentTarget) {n returnn }nn this._triggerBackdropTransition()n })nn if (animate) {n Util.reflow(this._backdrop)n }nn $(this._backdrop).addClass(CLASS_NAME_SHOW)nn if (!callback) {n returnn }nn if (!animate) {n callback()n returnn }nn const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)nn $(this._backdrop)n .one(Util.TRANSITION_END, callback)n .emulateTransitionEnd(backdropTransitionDuration)n } else if (!this._isShown && this._backdrop) {n $(this._backdrop).removeClass(CLASS_NAME_SHOW)nn const callbackRemove = () => {n this._removeBackdrop()n if (callback) {n callback()n }n }nn if ($(this._element).hasClass(CLASS_NAME_FADE)) {n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)nn $(this._backdrop)n .one(Util.TRANSITION_END, callbackRemove)n .emulateTransitionEnd(backdropTransitionDuration)n } else {n callbackRemove()n }n } else if (callback) {n callback()n }n }nn // ———————————————————————-n // the following methods are used to handle overflowing modalsn // todo (fat): these should probably be refactored out of modal.jsn // ———————————————————————-nn _adjustDialog() {n const isModalOverflowing =n this._element.scrollHeight > document.documentElement.clientHeightnn if (!this._isBodyOverflowing && isModalOverflowing) {n this._element.style.paddingLeft = `${this._scrollbarWidth}px`n }nn if (this._isBodyOverflowing && !isModalOverflowing) {n this._element.style.paddingRight = `${this._scrollbarWidth}px`n }n }nn _resetAdjustments() {n this._element.style.paddingLeft = ”n this._element.style.paddingRight = ”n }nn _checkScrollbar() {n const rect = document.body.getBoundingClientRect()n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {n const actualPadding = element.style.paddingRightn const calculatedPadding = $(element).css(‘padding-right’)n $(element)n .data(‘padding-right’, actualPadding)n .css(‘padding-right’, `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)n })nn // Adjust sticky content marginn $(stickyContent).each((index, element) => {n const actualMargin = element.style.marginRightn const calculatedMargin = $(element).css(‘margin-right’)n $(element)n .data(‘margin-right’, actualMargin)n .css(‘margin-right’, `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)n })nn // Adjust body paddingn const actualPadding = document.body.style.paddingRightn const calculatedPadding = $(document.body).css(‘padding-right’)n $(document.body)n .data(‘padding-right’, actualPadding)n .css(‘padding-right’, `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)n }nn $(document.body).addClass(CLASS_NAME_OPEN)n }nn _resetScrollbar() {n // Restore fixed content paddingn const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))n $(fixedContent).each((index, element) => {n const padding = $(element).data(‘padding-right’)n $(element).removeData(‘padding-right’)n element.style.paddingRight = padding ? padding : ”n })nn // Restore sticky contentn const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))n $(elements).each((index, element) => {n const margin = $(element).data(‘margin-right’)n if (typeof margin !== ‘undefined’) {n $(element).css(‘margin-right’, margin).removeData(‘margin-right’)n }n })nn // Restore body paddingn const padding = $(document.body).data(‘padding-right’)n $(document.body).removeData(‘padding-right’)n document.body.style.paddingRight = padding ? padding : ”n }nn _getScrollbarWidth() { // thx d.walshn const scrollDiv = document.createElement(‘div’)n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURERn document.body.appendChild(scrollDiv)n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidthn document.body.removeChild(scrollDiv)n return scrollbarWidthn }nn // Staticnn static _jQueryInterface(config, relatedTarget) {n return this.each(function () {n let data = $(this).data(DATA_KEY)n const _config = {n …Default,n …$(this).data(),n …typeof config === ‘object’ && config ? config : {}n }nn if (!data) {n data = new Modal(this, _config)n $(this).data(DATA_KEY, data)n }nn if (typeof config === ‘string’) {n if (typeof data[config] === ‘undefined’) {n throw new TypeError(`No method named "${config}"`)n }n data[config](relatedTarget)n } else if (_config.show) {n data.show(relatedTarget)n }n })n }n}nn/**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {n let targetn const selector = Util.getSelectorFromElement(this)nn if (selector) {n target = document.querySelector(selector)n }nn const config = $(target).data(DATA_KEY)n ? ‘toggle’ : {n …$(target).data(),n …$(this).data()n }nn if (this.tagName === ‘A’ || this.tagName === ‘AREA’) {n event.preventDefault()n }nn const $target = $(target).one(EVENT_SHOW, (showEvent) => {n if (showEvent.isDefaultPrevented()) {n // Only register focus restorer if modal will actually get shownn returnn }nn $target.one(EVENT_HIDDEN, () => {n if ($(this).is(‘:visible’)) {n this.focus()n }n })n })nn Modal._jQueryInterface.call($(target), config, this)n})nn/**n * ————————————————————————n * jQueryn * ————————————————————————n */nn$.fn[NAME] = Modal._jQueryInterfacen$.fn[NAME].Constructor = Modaln$.fn[NAME].noConflict = () => {n $.fn[NAME] = JQUERY_NO_CONFLICTn return Modal._jQueryInterfacen}nnexport default Modaln”,“/**n * ————————————————————————–n * Bootstrap (v4.5.2): tools/sanitizer.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)n * ————————————————————————–n */nnconst uriAttrs = [n ‘background’,n ‘cite’,n ‘href’,n ‘itemtype’,n ‘longdesc’,n ‘poster’,n ‘src’,n ‘xlink:href’n]nnconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/innexport const DefaultWhitelist = {n // Global attributes allowed on any supplied element below.n ‘*’: [‘class’, ‘dir’, ‘id’, ‘lang’, ‘role’, ARIA_ATTRIBUTE_PATTERN],n a: [‘target’, ‘href’, ‘title’, ‘rel’],n area: [],n b: [],n br: [],n col: [],n code: [],n div: [],n em: [],n hr: [],n h1: [],n h2: [],n h3: [],n h4: [],n h5: [],n h6: [],n i: [],n img: [‘src’, ‘srcset’, ‘alt’, ‘title’, ‘width’, ‘height’],n li: [],n ol: [],n p: [],n pre: [],n s: [],n small: [],n span: [],n sub: [],n sup: [],n strong: [],n u: [],n ul: []n}nn/**n * A pattern that recognizes a commonly useful subset of URLs that are safe.n *n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.tsn */nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/ginn/**n * A pattern that matches safe data URLs. Only matches image, video and audio types.n *n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.tsn */nconst DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/innfunction allowedAttribute(attr, allowedAttributeList) {n const attrName = attr.nodeName.toLowerCase()nn if (allowedAttributeList.indexOf(attrName) !== -1) {n if (uriAttrs.indexOf(attrName) !== -1) {n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))n }nn return truen }nn const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)nn // Check if a regular expression validates the attribute.n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {n if (!allowedAttribute(attr, whitelistedAttributes)) {n el.removeAttribute(attr.nodeName)n }n })n }nn return createdDocument.body.innerHTMLn}n”,“/**n * ————————————————————————–n * Bootstrap (v4.5.2): tooltip.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)n * ————————————————————————–n */nnimport {n DefaultWhitelist,n sanitizeHtmln} from ‘./tools/sanitizer’nimport $ from ‘jquery’nimport Popper from ‘popper.js’nimport Util from ‘./util’nn/**n * ————————————————————————n * Constantsn * ————————————————————————n */nnconst NAME = ‘tooltip’nconst VERSION = ‘4.5.2’nconst DATA_KEY = ‘bs.tooltip’nconst EVENT_KEY = `.${DATA_KEY}`nconst JQUERY_NO_CONFLICT = $.fn[NAME]nconst CLASS_PREFIX = ‘bs-tooltip’nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, ‘g’)nconst DISALLOWED_ATTRIBUTES = [‘sanitize’, ‘whiteList’, ‘sanitizeFn’]nnconst DefaultType = {n animation : ‘boolean’,n template : ‘string’,n title : ‘(string|element|function)’,n trigger : ‘string’,n delay : ‘(number|object)’,n html : ‘boolean’,n selector : ‘(string|boolean)’,n placement : ‘(string|function)’,n offset : ‘(number|string|function)’,n container : ‘(string|element|boolean)’,n fallbackPlacement : ‘(string|array)’,n boundary : ‘(string|element)’,n sanitize : ‘boolean’,n sanitizeFn : ‘(null|function)’,n whiteList : ‘object’,n popperConfig : ‘(null|object)’n}nnconst AttachmentMap = {n AUTO : ‘auto’,n TOP : ‘top’,n RIGHT : ‘right’,n BOTTOM : ‘bottom’,n LEFT : ‘left’n}nnconst Default = {n animation : true,n template : ‘

’ +n ‘
’ +n ‘
’,n trigger : ‘hover focus’,n title : ”,n delay : 0,n html : false,n selector : false,n placement : ‘top’,n offset : 0,n container : false,n fallbackPlacement : ‘flip’,n boundary : ‘scrollParent’,n sanitize : true,n sanitizeFn : null,n whiteList : DefaultWhitelist,n popperConfig : nulln}nnconst HOVER_STATE_SHOW = ‘show’nconst HOVER_STATE_OUT = ‘out’nnconst Event = {n HIDE : `hide${EVENT_KEY}`,n HIDDEN : `hidden${EVENT_KEY}`,n SHOW : `show${EVENT_KEY}`,n SHOWN : `shown${EVENT_KEY}`,n INSERTED : `inserted${EVENT_KEY}`,n CLICK : `click${EVENT_KEY}`,n FOCUSIN : `focusin${EVENT_KEY}`,n FOCUSOUT : `focusout${EVENT_KEY}`,n MOUSEENTER : `mouseenter${EVENT_KEY}`,n MOUSELEAVE : `mouseleave${EVENT_KEY}`n}nnconst CLASS_NAME_FADE = ‘fade’nconst CLASS_NAME_SHOW = ‘show’nnconst SELECTOR_TOOLTIP_INNER = ‘.tooltip-inner’nconst SELECTOR_ARROW = ‘.arrow’nnconst TRIGGER_HOVER = ‘hover’nconst TRIGGER_FOCUS = ‘focus’nconst TRIGGER_CLICK = ‘click’nconst TRIGGER_MANUAL = ‘manual’nn/**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nnclass Tooltip {n constructor(element, config) {n if (typeof Popper === ‘undefined’) {n throw new TypeError(‘Bootstrap\’s tooltips require Popper.js (https://popper.js.org/)‘)n }nn // privaten this._isEnabled = truen this._timeout = 0n this._hoverState = ”n this._activeTrigger = {}n this._popper = nullnn // Protectedn this.element = elementn this.config = this._getConfig(config)n this.tip = nullnn this._setListeners()n }nn // Gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn static get NAME() {n return NAMEn }nn static get DATA_KEY() {n return DATA_KEYn }nn static get Event() {n return Eventn }nn static get EVENT_KEY() {n return EVENT_KEYn }nn static get DefaultType() {n return DefaultTypen }nn // Publicnn enable() {n this._isEnabled = truen }nn disable() {n this._isEnabled = falsen }nn toggleEnabled() {n this._isEnabled = !this._isEnabledn }nn toggle(event) {n if (!this._isEnabled) {n returnn }nn if (event) {n const dataKey = this.constructor.DATA_KEYn let context = $(event.currentTarget).data(dataKey)nn if (!context) {n context = new this.constructor(n event.currentTarget,n this._getDelegateConfig()n )n $(event.currentTarget).data(dataKey, context)n }nn context._activeTrigger.click = !context._activeTrigger.clicknn if (context._isWithActiveTrigger()) {n context._enter(null, context)n } else {n context._leave(null, context)n }n } else {n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {n this._leave(null, this)n returnn }nn this._enter(null, this)n }n }nn dispose() {n clearTimeout(this._timeout)nn $.removeData(this.element, this.constructor.DATA_KEY)nn $(this.element).off(this.constructor.EVENT_KEY)n $(this.element).closest(’.modal’).off(‘hide.bs.modal’, this._hideModalHandler)nn if (this.tip) {n $(this.tip).remove()n }nn this._isEnabled = nulln this._timeout = nulln this._hoverState = nulln this._activeTrigger = nulln if (this._popper) {n this._popper.destroy()n }nn this._popper = nulln this.element = nulln this.config = nulln this.tip = nulln }nn show() {n if ($(this.element).css(‘display’) === ‘none’) {n throw new Error(‘Please use show on visible elements’)n }nn const showEvent = $.Event(this.constructor.Event.SHOW)n if (this.isWithContent() && this._isEnabled) {n $(this.element).trigger(showEvent)nn const shadowRoot = Util.findShadowRoot(this.element)n const isInTheDom = $.contains(n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,n this.elementn )nn if (showEvent.isDefaultPrevented() || !isInTheDom) {n returnn }nn const tip = this.getTipElement()n const tipId = Util.getUID(this.constructor.NAME)nn tip.setAttribute(‘id’, tipId)n this.element.setAttribute(‘aria-describedby’, tipId)nn this.setContent()nn if (this.config.animation) {n $(tip).addClass(CLASS_NAME_FADE)n }nn const placement = typeof this.config.placement === ‘function’n ? this.config.placement.call(this, tip, this.element)n : this.config.placementnn const attachment = this._getAttachment(placement)n this.addAttachmentClass(attachment)nn const container = this._getContainer()n $(tip).data(this.constructor.DATA_KEY, this)nn if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {n $(tip).appendTo(container)n }nn $(this.element).trigger(this.constructor.Event.INSERTED)nn this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))nn $(tip).addClass(CLASS_NAME_SHOW)nn // If this is a touch-enabled device we add extran // empty mouseover listeners to the body’s immediate children;n // only needed because of broken event delegation on iOSn // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.htmln if (‘ontouchstart’ in document.documentElement) {n $(document.body).children().on(‘mouseover’, null, $.noop)n }nn const complete = () => {n if (this.config.animation) {n this._fixTransition()n }n const prevHoverState = this._hoverStaten this._hoverState = nullnn $(this.element).trigger(this.constructor.Event.SHOWN)nn if (prevHoverState === HOVER_STATE_OUT) {n this._leave(null, this)n }n }nn if ($(this.tip).hasClass(CLASS_NAME_FADE)) {n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)nn $(this.tip)n .one(Util.TRANSITION_END, complete)n .emulateTransitionEnd(transitionDuration)n } else {n complete()n }n }n }nn hide(callback) {n const tip = this.getTipElement()n const hideEvent = $.Event(this.constructor.Event.HIDE)n const complete = () => {n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {n tip.parentNode.removeChild(tip)n }nn this._cleanTipClass()n this.element.removeAttribute(‘aria-describedby’)n $(this.element).trigger(this.constructor.Event.HIDDEN)n if (this._popper !== null) {n this._popper.destroy()n }nn if (callback) {n callback()n }n }nn $(this.element).trigger(hideEvent)nn if (hideEvent.isDefaultPrevented()) {n returnn }nn $(tip).removeClass(CLASS_NAME_SHOW)nn // If this is a touch-enabled device we remove the extran // empty mouseover listeners we added for iOS supportn if (‘ontouchstart’ in document.documentElement) {n $(document.body).children().off(‘mouseover’, null, $.noop)n }nn this._activeTrigger[TRIGGER_CLICK] = falsen this._activeTrigger[TRIGGER_FOCUS] = falsen this._activeTrigger[TRIGGER_HOVER] = falsenn if ($(this.tip).hasClass(CLASS_NAME_FADE)) {n const transitionDuration = Util.getTransitionDurationFromElement(tip)nn $(tip)n .one(Util.TRANSITION_END, complete)n .emulateTransitionEnd(transitionDuration)n } else {n complete()n }nn this._hoverState = ”n }nn update() {n if (this._popper !== null) {n this._popper.scheduleUpdate()n }n }nn // Protectednn isWithContent() {n return Boolean(this.getTitle())n }nn addAttachmentClass(attachment) {n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)n }nn getTipElement() {n this.tip = this.tip || $(this.config.template)[0]n return this.tipn }nn setContent() {n const tip = this.getTipElement()n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)n }nn setElementContent($element, content) {n if (typeof content === ‘object’ && (content.nodeType || content.jquery)) {n // Content is a DOM node or a jQueryn if (this.config.html) {n if (!$(content).parent().is($element)) {n $element.empty().append(content)n }n } else {n $element.text($(content).text())n }nn returnn }nn if (this.config.html) {n if (this.config.sanitize) {n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)n }nn $element.html(content)n } else {n $element.text(content)n }n }nn getTitle() {n let title = this.element.getAttribute(‘data-original-title’)nn if (!title) {n title = typeof this.config.title === ‘function’n ? this.config.title.call(this.element)n : this.config.titlen }nn return titlen }nn // Privatenn _getPopperConfig(attachment) {n const defaultBsConfig = {n placement: attachment,n modifiers: {n offset: this._getOffset(),n flip: {n behavior: this.config.fallbackPlacementn },n arrow: {n element: SELECTOR_ARROWn },n preventOverflow: {n boundariesElement: this.config.boundaryn }n },n onCreate: (data) => {n if (data.originalPlacement !== data.placement) {n this._handlePopperPlacementChange(data)n }n },n onUpdate: (data) => this._handlePopperPlacementChange(data)n }nn return {n …defaultBsConfig,n …this.config.popperConfign }n }nn _getOffset() {n const offset = {}nn if (typeof this.config.offset === ‘function’) {n offset.fn = (data) => {n data.offsets = {n …data.offsets,n …this.config.offset(data.offsets, this.element) || {}n }nn return datan }n } else {n offset.offset = this.config.offsetn }nn return offsetn }nn _getContainer() {n if (this.config.container === false) {n return document.bodyn }nn if (Util.isElement(this.config.container)) {n return $(this.config.container)n }nn return $(document).find(this.config.container)n }nn _getAttachment(placement) {n return AttachmentMap[placement.toUpperCase()]n }nn _setListeners() {n const triggers = this.config.trigger.split(‘ ’)nn triggers.forEach((trigger) => {n if (trigger === ‘click’) {n $(this.element).on(n this.constructor.Event.CLICK,n this.config.selector,n (event) => this.toggle(event)n )n } else if (trigger !== TRIGGER_MANUAL) {n const eventIn = trigger === TRIGGER_HOVERn ? this.constructor.Event.MOUSEENTERn : this.constructor.Event.FOCUSINn const eventOut = trigger === TRIGGER_HOVERn ? this.constructor.Event.MOUSELEAVEn : this.constructor.Event.FOCUSOUTnn $(this.element)n .on(eventIn, this.config.selector, (event) => this._enter(event))n .on(eventOut, this.config.selector, (event) => this._leave(event))n }n })nn this._hideModalHandler = () => {n if (this.element) {n this.hide()n }n }nn $(this.element).closest(‘.modal’).on(‘hide.bs.modal’, this._hideModalHandler)nn if (this.config.selector) {n this.config = {n …this.config,n trigger: ‘manual’,n selector: ”n }n } else {n this._fixTitle()n }n }nn _fixTitle() {n const titleType = typeof this.element.getAttribute(‘data-original-title’)nn if (this.element.getAttribute(‘title’) || titleType !== ‘string’) {n this.element.setAttribute(n ‘data-original-title’,n this.element.getAttribute(‘title’) || ”n )nn this.element.setAttribute(‘title’, ”)n }n }nn _enter(event, context) {n const dataKey = this.constructor.DATA_KEYn context = context || $(event.currentTarget).data(dataKey)nn if (!context) {n context = new this.constructor(n event.currentTarget,n this._getDelegateConfig()n )n $(event.currentTarget).data(dataKey, context)n }nn if (event) {n context._activeTrigger[n event.type === ‘focusin’ ? TRIGGER_FOCUS : TRIGGER_HOVERn ] = truen }nn if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {n context._hoverState = HOVER_STATE_SHOWn returnn }nn clearTimeout(context._timeout)nn context._hoverState = HOVER_STATE_SHOWnn if (!context.config.delay || !context.config.delay.show) {n context.show()n returnn }nn context._timeout = setTimeout(() => {n if (context._hoverState === HOVER_STATE_SHOW) {n context.show()n }n }, context.config.delay.show)n }nn _leave(event, context) {n const dataKey = this.constructor.DATA_KEYn context = context || $(event.currentTarget).data(dataKey)nn if (!context) {n context = new this.constructor(n event.currentTarget,n this._getDelegateConfig()n )n $(event.currentTarget).data(dataKey, context)n }nn if (event) {n context._activeTrigger[n event.type === ‘focusout’ ? TRIGGER_FOCUS : TRIGGER_HOVERn ] = falsen }nn if (context._isWithActiveTrigger()) {n returnn }nn clearTimeout(context._timeout)nn context._hoverState = HOVER_STATE_OUTnn if (!context.config.delay || !context.config.delay.hide) {n context.hide()n returnn }nn context._timeout = setTimeout(() => {n if (context._hoverState === HOVER_STATE_OUT) {n context.hide()n }n }, context.config.delay.hide)n }nn _isWithActiveTrigger() {n for (const trigger in this._activeTrigger) {n if (this._activeTrigger[trigger]) {n return truen }n }nn return falsen }nn _getConfig(config) {n const dataAttributes = $(this.element).data()nn Object.keys(dataAttributes)n .forEach((dataAttr) => {n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {n delete dataAttributes[dataAttr]n }n })nn config = {n …this.constructor.Default,n …dataAttributes,n …typeof config === ‘object’ && config ? config : {}n }nn if (typeof config.delay === ‘number’) {n config.delay = {n show: config.delay,n hide: config.delayn }n }nn if (typeof config.title === ‘number’) {n config.title = config.title.toString()n }nn if (typeof config.content === ‘number’) {n config.content = config.content.toString()n }nn Util.typeCheckConfig(n NAME,n config,n this.constructor.DefaultTypen )nn if (config.sanitize) {n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)n }nn return confign }nn _getDelegateConfig() {n const config = {}nn if (this.config) {n for (const key in this.config) {n if (this.constructor.Default[key] !== this.config[key]) {n config[key] = this.config[key]n }n }n }nn return confign }nn _cleanTipClass() {n const $tip = $(this.getTipElement())n const tabClass = $tip.attr(‘class’).match(BSCLS_PREFIX_REGEX)n if (tabClass !== null && tabClass.length) {n $tip.removeClass(tabClass.join(”))n }n }nn _handlePopperPlacementChange(popperData) {n this.tip = popperData.instance.poppern this._cleanTipClass()n this.addAttachmentClass(this._getAttachment(popperData.placement))n }nn _fixTransition() {n const tip = this.getTipElement()n const initConfigAnimation = this.config.animationnn if (tip.getAttribute(‘x-placement’) !== null) {n returnn }nn $(tip).removeClass(CLASS_NAME_FADE)n this.config.animation = falsen this.hide()n this.show()n this.config.animation = initConfigAnimationn }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n let data = $(this).data(DATA_KEY)n const _config = typeof config === ‘object’ && confignn if (!data && /dispose|hide/.test(config)) {n returnn }nn if (!data) {n data = new Tooltip(this, _config)n $(this).data(DATA_KEY, data)n }nn if (typeof config === ‘string’) {n if (typeof data[config] === ‘undefined’) {n throw new TypeError(`No method named "${config}"`)n }n data[config]()n }n })n }n}nn/**n * ————————————————————————n * jQueryn * ————————————————————————n */nn$.fn[NAME] = Tooltip._jQueryInterfacen$.fn[NAME].Constructor = Tooltipn$.fn[NAME].noConflict = () => {n $.fn[NAME] = JQUERY_NO_CONFLICTn return Tooltip._jQueryInterfacen}nnexport default Tooltipn”,“/**n * ————————————————————————–n * Bootstrap (v4.5.2): popover.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)n * ————————————————————————–n */nnimport $ from ‘jquery’nimport Tooltip from ‘./tooltip’nn/**n * ————————————————————————n * Constantsn * ————————————————————————n */nnconst NAME = ‘popover’nconst VERSION = ‘4.5.2’nconst DATA_KEY = ‘bs.popover’nconst EVENT_KEY = `.${DATA_KEY}`nconst JQUERY_NO_CONFLICT = $.fn[NAME]nconst CLASS_PREFIX = ‘bs-popover’nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, ‘g’)nnconst Default = {n …Tooltip.Default,n placement : ‘right’,n trigger : ‘click’,n content : ”,n template : ‘
’ +n ‘
’ +n ‘

’ +n ‘
’n}nnconst DefaultType = {n …Tooltip.DefaultType,n content : ‘(string|element|function)’n}nnconst CLASS_NAME_FADE = ‘fade’nconst CLASS_NAME_SHOW = ‘show’nnconst SELECTOR_TITLE = ‘.popover-header’nconst SELECTOR_CONTENT = ‘.popover-body’nnconst Event = {n HIDE : `hide${EVENT_KEY}`,n HIDDEN : `hidden${EVENT_KEY}`,n SHOW : `show${EVENT_KEY}`,n SHOWN : `shown${EVENT_KEY}`,n INSERTED : `inserted${EVENT_KEY}`,n CLICK : `click${EVENT_KEY}`,n FOCUSIN : `focusin${EVENT_KEY}`,n FOCUSOUT : `focusout${EVENT_KEY}`,n MOUSEENTER : `mouseenter${EVENT_KEY}`,n MOUSELEAVE : `mouseleave${EVENT_KEY}`n}nn/**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nnclass Popover extends Tooltip {n // Gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn static get NAME() {n return NAMEn }nn static get DATA_KEY() {n return DATA_KEYn }nn static get Event() {n return Eventn }nn static get EVENT_KEY() {n return EVENT_KEYn }nn static get DefaultType() {n return DefaultTypen }nn // Overridesnn isWithContent() {n return this.getTitle() || this._getContent()n }nn addAttachmentClass(attachment) {n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)n }nn getTipElement() {n this.tip = this.tip || $(this.config.template)[0]n return this.tipn }nn setContent() {n const $tip = $(this.getTipElement())nn // We use append for html objects to maintain js eventsn this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())n let content = this._getContent()n if (typeof content === ‘function’) {n content = content.call(this.element)n }n this.setElementContent($tip.find(SELECTOR_CONTENT), content)nn $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)n }nn // Privatenn _getContent() {n return this.element.getAttribute(‘data-content’) ||n this.config.contentn }nn _cleanTipClass() {n const $tip = $(this.getTipElement())n const tabClass = $tip.attr(‘class’).match(BSCLS_PREFIX_REGEX)n if (tabClass !== null && tabClass.length > 0) {n $tip.removeClass(tabClass.join(”))n }n }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n let data = $(this).data(DATA_KEY)n const _config = typeof config === ‘object’ ? config : nullnn if (!data && /dispose|hide/.test(config)) {n returnn }nn if (!data) {n data = new Popover(this, _config)n $(this).data(DATA_KEY, data)n }nn if (typeof config === ‘string’) {n if (typeof data[config] === ‘undefined’) {n throw new TypeError(`No method named "${config}"`)n }n data[config]()n }n })n }n}nn/**n * ————————————————————————n * jQueryn * ————————————————————————n */nn$.fn[NAME] = Popover._jQueryInterfacen$.fn[NAME].Constructor = Popovern$.fn[NAME].noConflict = () => {n $.fn[NAME] = JQUERY_NO_CONFLICTn return Popover._jQueryInterfacen}nnexport default Popovern”,“/**n * ————————————————————————–n * Bootstrap (v4.5.2): scrollspy.jsn * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)n * ————————————————————————–n */nnimport $ from ‘jquery’nimport Util from ‘./util’nn/**n * ————————————————————————n * Constantsn * ————————————————————————n */nnconst NAME = ‘scrollspy’nconst VERSION = ‘4.5.2’nconst DATA_KEY = ‘bs.scrollspy’nconst EVENT_KEY = `.${DATA_KEY}`nconst DATA_API_KEY = ‘.data-api’nconst JQUERY_NO_CONFLICT = $.fn[NAME]nnconst Default = {n offset : 10,n method : ‘auto’,n target : ”n}nnconst DefaultType = {n offset : ‘number’,n method : ‘string’,n target : ‘(string|element)’n}nnconst EVENT_ACTIVATE = `activate${EVENT_KEY}`nconst EVENT_SCROLL = `scroll${EVENT_KEY}`nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`nnconst CLASS_NAME_DROPDOWN_ITEM = ‘dropdown-item’nconst CLASS_NAME_ACTIVE = ‘active’nnconst SELECTOR_DATA_SPY = ‘[data-spy="scroll"]’nconst SELECTOR_NAV_LIST_GROUP = ‘.nav, .list-group’nconst SELECTOR_NAV_LINKS = ‘.nav-link’nconst SELECTOR_NAV_ITEMS = ‘.nav-item’nconst SELECTOR_LIST_ITEMS = ‘.list-group-item’nconst SELECTOR_DROPDOWN = ‘.dropdown’nconst SELECTOR_DROPDOWN_ITEMS = ‘.dropdown-item’nconst SELECTOR_DROPDOWN_TOGGLE = ‘.dropdown-toggle’nnconst METHOD_OFFSET = ‘offset’nconst METHOD_POSITION = ‘position’nn/**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nnclass ScrollSpy {n constructor(element, config) {n this._element = elementn this._scrollElement = element.tagName === ‘BODY’ ? window : elementn this._config = this._getConfig(config)n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`n this._offsets = []n this._targets = []n this._activeTarget = nulln this._scrollHeight = 0nn $(this._scrollElement).on(EVENT_SCROLL, (event) => this._process(event))nn this.refresh()n this._process()n }nn // Gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn // Publicnn refresh() {n const autoMethod = this._scrollElement === this._scrollElement.windown ? METHOD_OFFSET : METHOD_POSITIONnn const offsetMethod = this._config.method === ‘auto’n ? autoMethod : this._config.methodnn const offsetBase = offsetMethod === METHOD_POSITIONn ? this._getScrollTop() : 0nn this._offsets = []n this._targets = []nn this._scrollHeight = this._getScrollHeight()nn const targets = [].slice.call(document.querySelectorAll(this._selector))nn targetsn .map((element) => {n let targetn const targetSelector = Util.getSelectorFromElement(element)nn if (targetSelector) {n target = document.querySelector(targetSelector)n }nn if (target) {n const targetBCR = target.getBoundingClientRect()n if (targetBCR.width || targetBCR.height) {n // TODO (fat): remove sketch reliance on jQuery position/offsetn return [n $(target)[offsetMethod]().top + offsetBase,n targetSelectorn ]n }n }n return nulln })n .filter((item) => item)n .sort((a, b) => a[0] - b[0])n .forEach((item) => {n this._offsets.push(item[0])n this._targets.push(item[1])n })n }nn dispose() {n $.removeData(this._element, DATA_KEY)n $(this._scrollElement).off(EVENT_KEY)nn this._element = nulln this._scrollElement = nulln this._config = nulln this._selector = nulln this._offsets = nulln this._targets = nulln this._activeTarget = nulln this._scrollHeight = nulln }nn // Privatenn _getConfig(config) {n config = {n …Default,n …typeof config === ‘object’ && config ? config : {}n }nn if (typeof config.target !== ‘string’ && Util.isElement(config.target)) {n let id = $(config.target).attr(‘id’)n if (!id) {n id = Util.getUID(NAME)n $(config.target).attr(‘id’, id)n }n config.target = `#${id}`n }nn Util.typeCheckConfig(NAME, config, DefaultType)nn return confign }nn _getScrollTop() {n return this._scrollElement === windown ? this._scrollElement.pageYOffset : this._scrollElement.scrollTopn }nn _getScrollHeight() {n return this._scrollElement.scrollHeight || Math.max(n document.body.scrollHeight,n document.documentElement.scrollHeightn )n }nn _getOffsetHeight() {n return this._scrollElement === windown ? window.innerHeight : this._scrollElement.getBoundingClientRect().heightn }nn _process() {n const scrollTop = this._getScrollTop() + this._config.offsetn const scrollHeight = this._getScrollHeight()n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()nn if (this._scrollHeight !== scrollHeight) {n this.refresh()n }nn if (scrollTop >= maxScroll) {n const target = this._targets[this._targets.length - 1]nn if (this._activeTarget !== target) {n this._activate(target)n }n returnn }nn if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {n this._activeTarget = nulln this._clear()n returnn }nn for (let i = this._offsets.length; i–;) {n const isActiveTarget = this._activeTarget !== this._targets[i] &&n scrollTop >= this._offsets[i] &&n (typeof this._offsets[i + 1] === ‘undefined’ ||n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector
,$selector`)nn const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))nn if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {n $link.closest(SELECTOR_DROPDOWN)n .find(SELECTOR_DROPDOWN_TOGGLE)n .addClass(CLASS_NAME_ACTIVE)n $link.addClass(CLASS_NAME_ACTIVE)n } else {n // Set triggered link as activen $link.addClass(CLASS_NAME_ACTIVE)n // Set triggered links parents as activen // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestorn $link.parents(SELECTOR_NAV_LIST_GROUP)n .prev(`${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)n .addClass(CLASS_NAME_ACTIVE)n // Handle special case when .nav-link is inside .nav-itemn $link.parents(SELECTOR_NAV_LIST_GROUP)n .prev(SELECTOR_NAV_ITEMS)n .children(SELECTOR_NAV_LINKS)n .addClass(CLASS_NAME_ACTIVE)n }nn $(this._scrollElement).trigger(EVENT_ACTIVATE, {n relatedTarget: targetn })n }nn _clear() {n [].slice.call(document.querySelectorAll(this._selector))n .filter((node) => node.classList.contains(CLASS_NAME_ACTIVE))n .forEach((node) => node.classList.remove(CLASS_NAME_ACTIVE))n }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n let data = $(this).data(DATA_KEY)n const _config = typeof config === 'object' && confignn if (!data) {n data = new ScrollSpy(this, _config)n $(this).data(DATA_KEY, data)n }nn if (typeof config === 'string') {n if (typeof data === 'undefined') {n throw new TypeError(`No method named "${config}"`)n }n data()n }n })n }n}nn/**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn$(window).on(EVENT_LOAD_DATA_API, () => {n const scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY))n const scrollSpysLength = scrollSpys.lengthnn for (let i = scrollSpysLength; i–;) {n const $spy = $(scrollSpys)n ScrollSpy._jQueryInterface.call($spy, $spy.data())n }n})nn/**n * ————————————————————————n * jQueryn * ————————————————————————n */nn$.fn = ScrollSpy._jQueryInterfacen$.fn.Constructor = ScrollSpyn$.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICTn return ScrollSpy._jQueryInterfacen}nnexport default ScrollSpyn”,“/**n * ————————————————————————–n * Bootstrap (v4.5.2): tab.jsn * Licensed under MIT (github.com/twbs/bootstrap/blob/main/LICENSE)n * ————————————————————————–n */nnimport $ from 'jquery'nimport Util from './util'nn/**n * ————————————————————————n * Constantsn * ————————————————————————n */nnconst NAME = 'tab'nconst VERSION = '4.5.2'nconst DATA_KEY = 'bs.tab'nconst EVENT_KEY = `.${DATA_KEY}`nconst DATA_API_KEY = '.data-api'nconst JQUERY_NO_CONFLICT = $.fnnnconst EVENT_HIDE = `hide${EVENT_KEY}`nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`nconst EVENT_SHOW = `show${EVENT_KEY}`nconst EVENT_SHOWN = `shown${EVENT_KEY}`nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`nnconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu'nconst CLASS_NAME_ACTIVE = 'active'nconst CLASS_NAME_DISABLED = 'disabled'nconst CLASS_NAME_FADE = 'fade'nconst CLASS_NAME_SHOW = 'show'nnconst SELECTOR_DROPDOWN = '.dropdown'nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'nconst SELECTOR_ACTIVE = '.active'nconst SELECTOR_ACTIVE_UL = '> li > .active'nconst SELECTOR_DATA_TOGGLE = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]'nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active'nn/**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nnclass Tab {n constructor(element) {n this._element = elementn }nn // Gettersnn static get VERSION() {n return VERSIONn }nn // Publicnn show() {n if (this._element.parentNode &&n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&n $(this._element).hasClass(CLASS_NAME_ACTIVE) ||n $(this._element).hasClass(CLASS_NAME_DISABLED)) {n returnn }nn let targetn let previousn const listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP)n const selector = Util.getSelectorFromElement(this._element)nn if (listElement) {n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVEn previous = $.makeArray($(listElement).find(itemSelector))n previous = previous[previous.length - 1]n }nn const hideEvent = $.Event(EVENT_HIDE, {n relatedTarget: this._elementn })nn const showEvent = $.Event(EVENT_SHOW, {n relatedTarget: previousn })nn if (previous) {n $(previous).trigger(hideEvent)n }nn $(this._element).trigger(showEvent)nn if (showEvent.isDefaultPrevented() ||n hideEvent.isDefaultPrevented()) {n returnn }nn if (selector) {n target = document.querySelector(selector)n }nn this._activate(n this._element,n listElementn )nn const complete = () => {n const hiddenEvent = $.Event(EVENT_HIDDEN, {n relatedTarget: this._elementn })nn const shownEvent = $.Event(EVENT_SHOWN, {n relatedTarget: previousn })nn $(previous).trigger(hiddenEvent)n $(this._element).trigger(shownEvent)n }nn if (target) {n this._activate(target, target.parentNode, complete)n } else {n complete()n }n }nn dispose() {n $.removeData(this._element, DATA_KEY)n this._element = nulln }nn // Privatenn _activate(element, container, callback) {n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')n ? $(container).find(SELECTOR_ACTIVE_UL)n : $(container).children(SELECTOR_ACTIVE)nn const active = activeElementsn const isTransitioning = callback && (active && $(active).hasClass(CLASS_NAME_FADE))n const complete = () => this._transitionComplete(n element,n active,n callbackn )nn if (active && isTransitioning) {n const transitionDuration = Util.getTransitionDurationFromElement(active)nn $(active)n .removeClass(CLASS_NAME_SHOW)n .one(Util.TRANSITION_END, complete)n .emulateTransitionEnd(transitionDuration)n } else {n complete()n }n }nn _transitionComplete(element, active, callback) {n if (active) {n $(active).removeClass(CLASS_NAME_ACTIVE)nn const dropdownChild = $(active.parentNode).find(n SELECTOR_DROPDOWN_ACTIVE_CHILDn )[0]nn if (dropdownChild) {n $(dropdownChild).removeClass(CLASS_NAME_ACTIVE)n }nn if (active.getAttribute('role') === 'tab') {n active.setAttribute('aria-selected', false)n }n }nn $(element).addClass(CLASS_NAME_ACTIVE)n if (element.getAttribute('role') === 'tab') {n element.setAttribute('aria-selected', true)n }nn Util.reflow(element)nn if (element.classList.contains(CLASS_NAME_FADE)) {n element.classList.add(CLASS_NAME_SHOW)n }nn if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {n const dropdownElement = $(element).closest(SELECTOR_DROPDOWN)nn if (dropdownElement) {n const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE))nn $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE)n }nn element.setAttribute('aria-expanded', true)n }nn if (callback) {n callback()n }n }nn // Staticnn static _jQueryInterface(config) {n return this.each(function () {n const $this = $(this)n let data = $this.data(DATA_KEY)nn if (!data) {n data = new Tab(this)n $this.data(DATA_KEY, data)n }nn if (typeof config === 'string') {n if (typeof data === 'undefined') {n throw new TypeError(`No method named "${config}"`)n }n data()n }n })n }n}nn/**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn$(document)n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {n event.preventDefault()n Tab._jQueryInterface.call($(this), 'show')n })nn/**n * ————————————————————————n * jQueryn * ————————————————————————n */nn$.fn = Tab._jQueryInterfacen$.fn.Constructor = Tabn$.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICTn return Tab._jQueryInterfacen}nnexport default Tabn”,“import $ from 'jquery'nn// Create js for init dropdownnconst dropdownInit = () => {n // find dropdown with pill classn const $wrapperDropdownPill = $('.dropdown-with-pill');nn // find dropdown with select classn const $wrapperDropdownSelect = $('.dropdown-with-select');nn // find dropdown with search classn const $dropdownWithSearch = $('.dropdown-action–search');nn // Init first load. If $wrapperDropdownPill exist, display all selected option in pilln $wrapperDropdownPill.each(function(){n let $selectedOptions = $(this).find('.dropdown-selected-list');n const $menuList = $(this).find('.dropdown-menu-list');n const $selectNameHidden = $menuList.attr('data-select-name');n const $arrayListSelected = $(this).find('.dropdown-menu .is-selected').map(function(){return $(this).attr("data-val");}).get();n if (!$selectedOptions.length) {n $(this).append(`<div class='dropdown-selected-list'></div>`);n $selectedOptions = $(this).find('.dropdown-selected-list');n }nn // insert all selected options to pilln for(let item of $arrayListSelected) {n const $itemId = $(this).find(".dropdown-item[data-val=‘"item"’]").attr('data-id');n $selectedOptions.append(`<span class='badge badge-smoke' data-id='${$itemId}' data-val='${item}'>${item} <i class='ic ic-reset'></i></span><input type='hidden' value='${$itemId}' name='${$selectNameHidden}'>`);n }nn // find all dropdown pill and set listener for deleten const $pillList = $('.dropdown-with-pill .badge .ic');n removePill($pillList);nn // listen to DomInserted in dropdown-menu-listn $menuList.bind("DOMNodeInserted",function(e){n if (e.target !== $menuList) {n e.target.addEventListener('click', activateThisItem);n }n }); n });nn // Init first load. If $wrapperDropdownSelect exist, display selected option & append input hiddenn $wrapperDropdownSelect.each(function(){n const $menuList = $(this).find('.dropdown-menu-list');n const $selectNameHidden = $menuList.attr('data-select-name');nn const $optionSelected = $(this).find('.dropdown-menu .is-selected');n const $itemId = $optionSelected.attr('data-id');n const $itemVal = $optionSelected.text();nn // display selected option & append input hiddenn if ($itemVal){n $(this).find('.dropdown-toggle').html($itemVal);n $(this).append(`<div class='dropdown-selected-list'><input type='hidden' value='${$itemId}' name='${$selectNameHidden}'></div>`);n } else {n $(this).append(`<div class='dropdown-selected-list'><input type='hidden' value='' name='${$selectNameHidden}'></div>`);n }n });nn // find all optionsn const $dropdownPillItems = $('.dropdown-with-pill .dropdown-item');n const $dropdownSelectItems = $('.dropdown-with-select .dropdown-item');nn // Add 'is-selected' in dropdown menu when option is selectedn $dropdownPillItems.click(activateThisItem);n $dropdownSelectItems.click(activateThisItem);nn // Init search dropdown. If $dropdownWithSearch exist, listen when keydownn $dropdownWithSearch.each(function(){n const $inputSearch = $(this).find("input");n const $dropdownMenu = $inputSearch.closest('.dropdown-menu');n n $inputSearch.keyup(function(e) {n const $arrayListOptions = $dropdownMenu.find('.dropdown-menu-list .dropdown-item').not('.text-link');n const $searchText = e.currentTarget.value.toLocaleLowerCase();n $arrayListOptions.each(function() {n if(!$(this).text().toLocaleLowerCase().includes($searchText)) {n $(this).addClass('d-none');n } else {n $(this).removeClass('d-none');n }n });nn // find all option with hiden ('d-none') classn const $hiddenOpt = $dropdownMenu.find('.dropdown-menu-list .dropdown-item.d-none').not('.text-link');n const $notFound = $dropdownMenu.find('span.dropdown-not-found');n if ($hiddenOpt.length === $arrayListOptions.length) {n if ($notFound.length) {n $notFound.removeClass('d-none');n } else {n $dropdownMenu.append(`<span class="dropdown-not-found">No data found</span>`);n }n } else {n $notFound.addClass('d-none');n }n });n });n}nnconst removePill = (item) => {n // remove pill and class is-selected in dropdown menu when button 'x' is clickedn item.click(function(){n const $badge = $(this).closest('.badge');n const $val = $badge.attr('data-val');n const $itemId = $badge.attr('data-id');n $badge.closest(‘.dropdown-selected-list’).find("input").remove();n $badge.closest('.dropdown-with-pill')n .find(".is-selected")n .removeClass('is-selected');n $badge.remove();n });n}nnconst activateThisItem = () => {n const $this = $(event.currentTarget);n let $dropdownType;n if ($this.closest('.dropdown').hasClass('dropdown-with-select')){n $dropdownType = '.dropdown-with-select';n } else if ($this.closest('.dropdown').hasClass('dropdown-with-pill')) {n $dropdownType = '.dropdown-with-pill';n }n if (!$this.hasClass('dropdown-action')){n const $wrapperDropdown = $this.closest($dropdownType);n let $selectedOptions = $wrapperDropdown.find('.dropdown-selected-list');nn // remove selected class in all optionsn if($dropdownType == '.dropdown-with-select'){n $wrapperDropdown.find('.dropdown-item').removeClass('is-selected');n }nn // add selected classn $this.addClass('is-selected');n const $itemId = $this.attr('data-id');n const $selectNameHidden = $wrapperDropdown.find('.dropdown-menu-list').attr('data-select-name');nn if($dropdownType == '.dropdown-with-pill'){n // adding pilln const $val = $this.attr('data-val');n $selectedOptions.append(`<span class='badge badge-smoke' data-id='${$itemId}' data-val='${$val}'>${$val}<i class='ic ic-reset'></i></span> <input type='hidden' value='${$itemId}' name='${$selectNameHidden}'>`);n n const $pill = $selectedOptions.find(`.badge .ic`);n removePill($pill);n } else if($dropdownType == '.dropdown-with-select'){n // adding selected value & input hiddenn $wrapperDropdown.find('.dropdown-toggle').addClass('selected').html($this.text());n $selectedOptions.html(`<input type='hidden' value='${$itemId}' name='${$selectNameHidden}'>`);n }n };n}nn$(document).ready(function () {n dropdownInit();n})nnexport default dropdownInit”,“import $ from 'jquery'nnconst MekariForm = () => {n checkAll();n}nnconst checkAll = () => {n // find all class name checkallboxn const $checkallWrapper = $('.checkallbox-wrapper');nn $checkallWrapper.each(function(){n const $datacheckall = $(this).attr('data-checkall');n const $parentCheckbox = $(this).find(`.checkallbox-parent[data-checkall = '${$datacheckall}']`);n const $arrayListCheckbox = $(this)n .find(`input[data-checkall = '${$datacheckall}']`)n .not('.checkallbox-parent');nn // update check all status (init)n updateCheckAll($parentCheckbox, $arrayListCheckbox);nn // call function for trigered when parent is changen activateParentCheckAll($parentCheckbox, $arrayListCheckbox);nn // call function for trigered when child is changen activateChildCheckAll($parentCheckbox, $arrayListCheckbox);n });n}nnconst updateCheckAll = ($parentCb, $childCb) => {n const $totalChildCb = $childCb.length;n const $totalChildChecked = $childCbn .filter(function(){return $(this)n .is(':checked') === true;}).length;n if( $totalChildChecked === $totalChildCb && $totalChildCb > 0 ) {n $parentCb.prop('checked', true);n } else {n $parentCb.prop('checked', false);n }n}nnconst activateParentCheckAll = ($parentCb, $childCb) => {n $parentCb.change(function(){n if($(this).is(':checked')){n $childCb.prop('checked', true);n } else {n $childCb.prop('checked', false);n }n })n}nnconst activateChildCheckAll = ($parentCb, $childCb) => {n $childCb.change(function(){n updateCheckAll($parentCb, $childCb);n });n}nn$(document).ready(function () {n MekariForm()n})nnexport default MekariFormn”,“import $ from 'jquery'nn// To enable tooltip in all pagesnconst MekariTooltip = () => {n $('[data-toggle="tooltip"]').tooltip({ trigger: 'hover' })n}nn$(document).ready(function () {n MekariTooltip()n})nnexport default MekariTooltipn”]}