")) { return t.substring(1, t.length - 2) } else { return t } } function p(e, t, n) { e = y(e); if (t.indexOf("closest ") === 0) { return [g(ue(e), ge(t.substr(8)))] } else if (t.indexOf("find ") === 0) { return [r(f(e), ge(t.substr(5)))] } else if (t === "next") { return [ue(e).nextElementSibling] } else if (t.indexOf("next ") === 0) { return [pe(e, ge(t.substr(5)), !!n)] } else if (t === "previous") { return [ue(e).previousElementSibling] } else if (t.indexOf("previous ") === 0) { return [me(e, ge(t.substr(9)), !!n)] } else if (t === "document") { return [document] } else if (t === "window") { return [window] } else if (t === "body") { return [document.body] } else if (t === "root") { return [m(e, !!n)] } else if (t === "host") { return [e.getRootNode().host] } else if (t.indexOf("global ") === 0) { return p(e, t.slice(7), true) } else { return M(f(m(e, !!n)).querySelectorAll(ge(t))) } } var pe = function (t, e, n) { const r = f(m(t, n)).querySelectorAll(e); for (let e = 0; e < r.length; e++) { const o = r[e]; if (o.compareDocumentPosition(t) === Node.DOCUMENT_POSITION_PRECEDING) { return o } } }; var me = function (t, e, n) { const r = f(m(t, n)).querySelectorAll(e); for (let e = r.length - 1; e >= 0; e--) { const o = r[e]; if (o.compareDocumentPosition(t) === Node.DOCUMENT_POSITION_FOLLOWING) { return o } } }; function ae(e, t) { if (typeof e !== "string") { return p(e, t)[0] } else { return p(ne().body, e)[0] } } function y(e, t) { if (typeof e === "string") { return r(f(t) || document, e) } else { return e } } function xe(e, t, n, r) { if (k(t)) { return { target: ne().body, event: J(e), listener: t, options: n } } else { return { target: y(e), event: J(t), listener: n, options: r } } } function ye(t, n, r, o) { Vn(function () { const e = xe(t, n, r, o); e.target.addEventListener(e.event, e.listener, e.options) }); const e = k(n); return e ? n : r } function be(t, n, r) { Vn(function () { const e = xe(t, n, r); e.target.removeEventListener(e.event, e.listener) }); return k(n) ? n : r } const ve = ne().createElement("output"); function we(e, t) { const n = re(e, t); if (n) { if (n === "this") { return [Se(e, t)] } else { const r = p(e, n); if (r.length === 0) { C('The selector "' + n + '" on ' + t + " returned no matches!"); return [ve] } else { return r } } } } function Se(e, t) { return ue(i(e, function (e) { return te(ue(e), t) != null })) } function Ee(e) { const t = re(e, "hx-target"); if (t) { if (t === "this") { return Se(e, "hx-target") } else { return ae(e, t) } } else { const n = ie(e); if (n.boosted) { return ne().body } else { return e } } } function Ce(t) { const n = Q.config.attributesToSettle; for (let e = 0; e < n.length; e++) { if (t === n[e]) { return true } } return false } function Oe(t, n) { se(t.attributes, function (e) { if (!n.hasAttribute(e.name) && Ce(e.name)) { t.removeAttribute(e.name) } }); se(n.attributes, function (e) { if (Ce(e.name)) { t.setAttribute(e.name, e.value) } }) } function Re(t, e) { const n = Un(e); for (let e = 0; e < n.length; e++) { const r = n[e]; try { if (r.isInlineSwap(t)) { return true } } catch (e) { C(e) } } return t === "outerHTML" } function He(e, o, i, t) { t = t || ne(); let n = "#" + ee(o, "id"); let s = "outerHTML"; if (e === "true") { } else if (e.indexOf(":") > 0) { s = e.substr(0, e.indexOf(":")); n = e.substr(e.indexOf(":") + 1, e.length) } else { s = e } o.removeAttribute("hx-swap-oob"); o.removeAttribute("data-hx-swap-oob"); const r = p(t, n, false); if (r) { se(r, function (e) { let t; const n = o.cloneNode(true); t = ne().createDocumentFragment(); t.appendChild(n); if (!Re(s, e)) { t = f(n) } const r = { shouldSwap: true, target: e, fragment: t }; if (!de(e, "htmx:oobBeforeSwap", r)) return; e = r.target; if (r.shouldSwap) { qe(t); _e(s, e, e, t, i); Te() } se(i.elts, function (e) { de(e, "htmx:oobAfterSwap", r) }) }); o.parentNode.removeChild(o) } else { o.parentNode.removeChild(o); fe(ne().body, "htmx:oobErrorNoTarget", { content: o }) } return e } function Te() { const e = r("#--htmx-preserve-pantry--"); if (e) { for (const t of [...e.children]) { const n = r("#" + t.id); n.parentNode.moveBefore(t, n); n.remove() } e.remove() } } function qe(e) { se(x(e, "[hx-preserve], [data-hx-preserve]"), function (e) { const t = te(e, "id"); const n = ne().getElementById(t); if (n != null) { if (e.moveBefore) { let e = r("#--htmx-preserve-pantry--"); if (e == null) { ne().body.insertAdjacentHTML("afterend", "
"); e = r("#--htmx-preserve-pantry--") } e.moveBefore(n, null) } else { e.parentNode.replaceChild(n, e) } } }) } function Le(l, e, c) { se(e.querySelectorAll("[id]"), function (t) { const n = ee(t, "id"); if (n && n.length > 0) { const r = n.replace("'", "\\'"); const o = t.tagName.replace(":", "\\:"); const e = f(l); const i = e && e.querySelector(o + "[id='" + r + "']"); if (i && i !== e) { const s = t.cloneNode(); Oe(t, i); c.tasks.push(function () { Oe(t, s) }) } } }) } function Ne(e) { return function () { G(e, Q.config.addedClass); kt(ue(e)); Ae(f(e)); de(e, "htmx:load") } } function Ae(e) { const t = "[autofocus]"; const n = $(d(e, t) ? e : e.querySelector(t)); if (n != null) { n.focus() } } function u(e, t, n, r) { Le(e, n, r); while (n.childNodes.length > 0) { const o = n.firstChild; K(ue(o), Q.config.addedClass); e.insertBefore(o, t); if (o.nodeType !== Node.TEXT_NODE && o.nodeType !== Node.COMMENT_NODE) { r.tasks.push(Ne(o)) } } } function Ie(e, t) { let n = 0; while (n < e.length) { t = (t << 5) - t + e.charCodeAt(n++) | 0 } return t } function Pe(t) { let n = 0; if (t.attributes) { for (let e = 0; e < t.attributes.length; e++) { const r = t.attributes[e]; if (r.value) { n = Ie(r.name, n); n = Ie(r.value, n) } } } return n } function ke(t) { const n = ie(t); if (n.onHandlers) { for (let e = 0; e < n.onHandlers.length; e++) { const r = n.onHandlers[e]; be(t, r.event, r.listener) } delete n.onHandlers } } function De(e) { const t = ie(e); if (t.timeout) { clearTimeout(t.timeout) } if (t.listenerInfos) { se(t.listenerInfos, function (e) { if (e.on) { be(e.on, e.trigger, e.listener) } }) } ke(e); se(Object.keys(t), function (e) { delete t[e] }) } function a(e) { de(e, "htmx:beforeCleanupElement"); De(e); if (e.children) { se(e.children, function (e) { a(e) }) } } function Me(t, e, n) { if (t instanceof Element && t.tagName === "BODY") { return Ve(t, e, n) } let r; const o = t.previousSibling; const i = c(t); if (!i) { return } u(i, t, e, n); if (o == null) { r = i.firstChild } else { r = o.nextSibling } n.elts = n.elts.filter(function (e) { return e !== t }); while (r && r !== t) { if (r instanceof Element) { n.elts.push(r) } r = r.nextSibling } a(t); if (t instanceof Element) { t.remove() } else { t.parentNode.removeChild(t) } } function Xe(e, t, n) { return u(e, e.firstChild, t, n) } function Fe(e, t, n) { return u(c(e), e, t, n) } function Be(e, t, n) { return u(e, null, t, n) } function Ue(e, t, n) { return u(c(e), e.nextSibling, t, n) } function je(e) { a(e); const t = c(e); if (t) { return t.removeChild(e) } } function Ve(e, t, n) { const r = e.firstChild; u(e, r, t, n); if (r) { while (r.nextSibling) { a(r.nextSibling); e.removeChild(r.nextSibling) } a(r); e.removeChild(r) } } function _e(t, e, n, r, o) { switch (t) { case "none": return; case "outerHTML": Me(n, r, o); return; case "afterbegin": Xe(n, r, o); return; case "beforebegin": Fe(n, r, o); return; case "beforeend": Be(n, r, o); return; case "afterend": Ue(n, r, o); return; case "delete": je(n); return; default: var i = Un(e); for (let e = 0; e < i.length; e++) { const s = i[e]; try { const l = s.handleSwap(t, n, r, o); if (l) { if (Array.isArray(l)) { for (let e = 0; e < l.length; e++) { const c = l[e]; if (c.nodeType !== Node.TEXT_NODE && c.nodeType !== Node.COMMENT_NODE) { o.tasks.push(Ne(c)) } } } return } } catch (e) { C(e) } } if (t === "innerHTML") { Ve(n, r, o) } else { _e(Q.config.defaultSwapStyle, e, n, r, o) } } } function ze(e, n, r) { var t = x(e, "[hx-swap-oob], [data-hx-swap-oob]"); se(t, function (e) { if (Q.config.allowNestedOobSwaps || e.parentElement === null) { const t = te(e, "hx-swap-oob"); if (t != null) { He(t, e, n, r) } } else { e.removeAttribute("hx-swap-oob"); e.removeAttribute("data-hx-swap-oob") } }); return t.length > 0 } function $e(e, t, r, o) { if (!o) { o = {} } e = y(e); const i = o.contextElement ? m(o.contextElement, false) : ne(); const n = document.activeElement; let s = {}; try { s = { elt: n, start: n ? n.selectionStart : null, end: n ? n.selectionEnd : null } } catch (e) { } const l = xn(e); if (r.swapStyle === "textContent") { e.textContent = t } else { let n = P(t); l.title = n.title; if (o.selectOOB) { const u = o.selectOOB.split(","); for (let t = 0; t < u.length; t++) { const a = u[t].split(":", 2); let e = a[0].trim(); if (e.indexOf("#") === 0) { e = e.substring(1) } const f = a[1] || "true"; const d = n.querySelector("#" + e); if (d) { He(f, d, l, i) } } } ze(n, l, i); se(x(n, "template"), function (e) { if (ze(e.content, l, i)) { e.remove() } }); if (o.select) { const h = ne().createDocumentFragment(); se(n.querySelectorAll(o.select), function (e) { h.appendChild(e) }); n = h } qe(n); _e(r.swapStyle, o.contextElement, e, n, l); Te() } if (s.elt && !le(s.elt) && ee(s.elt, "id")) { const g = document.getElementById(ee(s.elt, "id")); const p = { preventScroll: r.focusScroll !== undefined ? !r.focusScroll : !Q.config.defaultFocusScroll }; if (g) { if (s.start && g.setSelectionRange) { try { g.setSelectionRange(s.start, s.end) } catch (e) { } } g.focus(p) } } e.classList.remove(Q.config.swappingClass); se(l.elts, function (e) { if (e.classList) { e.classList.add(Q.config.settlingClass) } de(e, "htmx:afterSwap", o.eventInfo) }); if (o.afterSwapCallback) { o.afterSwapCallback() } if (!r.ignoreTitle) { kn(l.title) } const c = function () { se(l.tasks, function (e) { e.call() }); se(l.elts, function (e) { if (e.classList) { e.classList.remove(Q.config.settlingClass) } de(e, "htmx:afterSettle", o.eventInfo) }); if (o.anchor) { const e = ue(y("#" + o.anchor)); if (e) { e.scrollIntoView({ block: "start", behavior: "auto" }) } } yn(l.elts, r); if (o.afterSettleCallback) { o.afterSettleCallback() } }; if (r.settleDelay > 0) { E().setTimeout(c, r.settleDelay) } else { c() } } function Je(e, t, n) { const r = e.getResponseHeader(t); if (r.indexOf("{") === 0) { const o = S(r); for (const i in o) { if (o.hasOwnProperty(i)) { let e = o[i]; if (D(e)) { n = e.target !== undefined ? e.target : n } else { e = { value: e } } de(n, i, e) } } } else { const s = r.split(","); for (let e = 0; e < s.length; e++) { de(n, s[e].trim(), []) } } } const Ke = /\s/; const b = /[\s,]/; const Ge = /[_$a-zA-Z]/; const We = /[_$a-zA-Z0-9]/; const Ze = ['"', "'", "/"]; const v = /[^\s]/; const Ye = /[{(]/; const Qe = /[})]/; function et(e) { const t = []; let n = 0; while (n < e.length) { if (Ge.exec(e.charAt(n))) { var r = n; while (We.exec(e.charAt(n + 1))) { n++ } t.push(e.substr(r, n - r + 1)) } else if (Ze.indexOf(e.charAt(n)) !== -1) { const o = e.charAt(n); var r = n; n++; while (n < e.length && e.charAt(n) !== o) { if (e.charAt(n) === "\\") { n++ } n++ } t.push(e.substr(r, n - r + 1)) } else { const i = e.charAt(n); t.push(i) } n++ } return t } function tt(e, t, n) { return Ge.exec(e.charAt(0)) && e !== "true" && e !== "false" && e !== "this" && e !== n && t !== "." } function nt(r, o, i) { if (o[0] === "[") { o.shift(); let e = 1; let t = " return (function(" + i + "){ return ("; let n = null; while (o.length > 0) { const s = o[0]; if (s === "]") { e--; if (e === 0) { if (n === null) { t = t + "true" } o.shift(); t += ")})"; try { const l = vn(r, function () { return Function(t)() }, function () { return true }); l.source = t; return l } catch (e) { fe(ne().body, "htmx:syntax:error", { error: e, source: t }); return null } } } else if (s === "[") { e++ } if (tt(s, n, i)) { t += "((" + i + "." + s + ") ? (" + i + "." + s + ") : (window." + s + "))" } else { t = t + s } n = o.shift() } } } function w(e, t) { let n = ""; while (e.length > 0 && !t.test(e[0])) { n += e.shift() } return n } function rt(e) { let t; if (e.length > 0 && Ye.test(e[0])) { e.shift(); t = w(e, Qe).trim(); e.shift() } else { t = w(e, b) } return t } const ot = "input, textarea, select"; function it(e, t, n) { const r = []; const o = et(t); do { w(o, v); const l = o.length; const c = w(o, /[,\[\s]/); if (c !== "") { if (c === "every") { const u = { trigger: "every" }; w(o, v); u.pollInterval = h(w(o, /[,\[\s]/)); w(o, v); var i = nt(e, o, "event"); if (i) { u.eventFilter = i } r.push(u) } else { const a = { trigger: c }; var i = nt(e, o, "event"); if (i) { a.eventFilter = i } w(o, v); while (o.length > 0 && o[0] !== ",") { const f = o.shift(); if (f === "changed") { a.changed = true } else if (f === "once") { a.once = true } else if (f === "consume") { a.consume = true } else if (f === "delay" && o[0] === ":") { o.shift(); a.delay = h(w(o, b)) } else if (f === "from" && o[0] === ":") { o.shift(); if (Ye.test(o[0])) { var s = rt(o) } else { var s = w(o, b); if (s === "closest" || s === "find" || s === "next" || s === "previous") { o.shift(); const d = rt(o); if (d.length > 0) { s += " " + d } } } a.from = s } else if (f === "target" && o[0] === ":") { o.shift(); a.target = rt(o) } else if (f === "throttle" && o[0] === ":") { o.shift(); a.throttle = h(w(o, b)) } else if (f === "queue" && o[0] === ":") { o.shift(); a.queue = w(o, b) } else if (f === "root" && o[0] === ":") { o.shift(); a[f] = rt(o) } else if (f === "threshold" && o[0] === ":") { o.shift(); a[f] = w(o, b) } else { fe(e, "htmx:syntax:error", { token: o.shift() }) } w(o, v) } r.push(a) } } if (o.length === l) { fe(e, "htmx:syntax:error", { token: o.shift() }) } w(o, v) } while (o[0] === "," && o.shift()); if (n) { n[t] = r } return r } function st(e) { const t = te(e, "hx-trigger"); let n = []; if (t) { const r = Q.config.triggerSpecsCache; n = r && r[t] || it(e, t, r) } if (n.length > 0) { return n } else if (d(e, "form")) { return [{ trigger: "submit" }] } else if (d(e, 'input[type="button"], input[type="submit"]')) { return [{ trigger: "click" }] } else if (d(e, ot)) { return [{ trigger: "change" }] } else { return [{ trigger: "click" }] } } function lt(e) { ie(e).cancelled = true } function ct(e, t, n) { const r = ie(e); r.timeout = E().setTimeout(function () { if (le(e) && r.cancelled !== true) { if (!gt(n, e, Mt("hx:poll:trigger", { triggerSpec: n, target: e }))) { t(e) } ct(e, t, n) } }, n.pollInterval) } function ut(e) { return location.hostname === e.hostname && ee(e, "href") && ee(e, "href").indexOf("#") !== 0 } function at(e) { return g(e, Q.config.disableSelector) } function ft(t, n, e) { if (t instanceof HTMLAnchorElement && ut(t) && (t.target === "" || t.target === "_self") || t.tagName === "FORM" && String(ee(t, "method")).toLowerCase() !== "dialog") { n.boosted = true; let r, o; if (t.tagName === "A") { r = "get"; o = ee(t, "href") } else { const i = ee(t, "method"); r = i ? i.toLowerCase() : "get"; o = ee(t, "action"); if (r === "get" && o.includes("?")) { o = o.replace(/\?[^#]+/, "") } } e.forEach(function (e) { pt(t, function (e, t) { const n = ue(e); if (at(n)) { a(n); return } he(r, o, n, t) }, n, e, true) }) } } function dt(e, t) { const n = ue(t); if (!n) { return false } if (e.type === "submit" || e.type === "click") { if (n.tagName === "FORM") { return true } if (d(n, 'input[type="submit"], button') && g(n, "form") !== null) { return true } if (n instanceof HTMLAnchorElement && n.href && (n.getAttribute("href") === "#" || n.getAttribute("href").indexOf("#") !== 0)) { return true } } return false } function ht(e, t) { return ie(e).boosted && e instanceof HTMLAnchorElement && t.type === "click" && (t.ctrlKey || t.metaKey) } function gt(e, t, n) { const r = e.eventFilter; if (r) { try { return r.call(t, n) !== true } catch (e) { const o = r.source; fe(ne().body, "htmx:eventFilter:error", { error: e, source: o }); return true } } return false } function pt(l, c, e, u, a) { const f = ie(l); let t; if (u.from) { t = p(l, u.from) } else { t = [l] } if (u.changed) { if (!("lastValue" in f)) { f.lastValue = new WeakMap } t.forEach(function (e) { if (!f.lastValue.has(u)) { f.lastValue.set(u, new WeakMap) } f.lastValue.get(u).set(e, e.value) }) } se(t, function (i) { const s = function (e) { if (!le(l)) { i.removeEventListener(u.trigger, s); return } if (ht(l, e)) { return } if (a || dt(e, l)) { e.preventDefault() } if (gt(u, l, e)) { return } const t = ie(e); t.triggerSpec = u; if (t.handledFor == null) { t.handledFor = [] } if (t.handledFor.indexOf(l) < 0) { t.handledFor.push(l); if (u.consume) { e.stopPropagation() } if (u.target && e.target) { if (!d(ue(e.target), u.target)) { return } } if (u.once) { if (f.triggeredOnce) { return } else { f.triggeredOnce = true } } if (u.changed) { const n = event.target; const r = n.value; const o = f.lastValue.get(u); if (o.has(n) && o.get(n) === r) { return } o.set(n, r) } if (f.delayed) { clearTimeout(f.delayed) } if (f.throttle) { return } if (u.throttle > 0) { if (!f.throttle) { de(l, "htmx:trigger"); c(l, e); f.throttle = E().setTimeout(function () { f.throttle = null }, u.throttle) } } else if (u.delay > 0) { f.delayed = E().setTimeout(function () { de(l, "htmx:trigger"); c(l, e) }, u.delay) } else { de(l, "htmx:trigger"); c(l, e) } } }; if (e.listenerInfos == null) { e.listenerInfos = [] } e.listenerInfos.push({ trigger: u.trigger, listener: s, on: i }); i.addEventListener(u.trigger, s) }) } let mt = false; let xt = null; function yt() { if (!xt) { xt = function () { mt = true }; window.addEventListener("scroll", xt); window.addEventListener("resize", xt); setInterval(function () { if (mt) { mt = false; se(ne().querySelectorAll("[hx-trigger*='revealed'],[data-hx-trigger*='revealed']"), function (e) { bt(e) }) } }, 200) } } function bt(e) { if (!s(e, "data-hx-revealed") && X(e)) { e.setAttribute("data-hx-revealed", "true"); const t = ie(e); if (t.initHash) { de(e, "revealed") } else { e.addEventListener("htmx:afterProcessNode", function () { de(e, "revealed") }, { once: true }) } } } function vt(e, t, n, r) { const o = function () { if (!n.loaded) { n.loaded = true; t(e) } }; if (r > 0) { E().setTimeout(o, r) } else { o() } } function wt(t, n, e) { let i = false; se(o, function (r) { if (s(t, "hx-" + r)) { const o = te(t, "hx-" + r); i = true; n.path = o; n.verb = r; e.forEach(function (e) { St(t, e, n, function (e, t) { const n = ue(e); if (g(n, Q.config.disableSelector)) { a(n); return } he(r, o, n, t) }) }) } }); return i } function St(r, e, t, n) { if (e.trigger === "revealed") { yt(); pt(r, n, t, e); bt(ue(r)) } else if (e.trigger === "intersect") { const o = {}; if (e.root) { o.root = ae(r, e.root) } if (e.threshold) { o.threshold = parseFloat(e.threshold) } const i = new IntersectionObserver(function (t) { for (let e = 0; e < t.length; e++) { const n = t[e]; if (n.isIntersecting) { de(r, "intersect"); break } } }, o); i.observe(ue(r)); pt(ue(r), n, t, e) } else if (e.trigger === "load") { if (!gt(e, r, Mt("load", { elt: r }))) { vt(ue(r), n, t, e.delay) } } else if (e.pollInterval > 0) { t.polling = true; ct(ue(r), n, e) } else { pt(r, n, t, e) } } function Et(e) { const t = ue(e); if (!t) { return false } const n = t.attributes; for (let e = 0; e < n.length; e++) { const r = n[e].name; if (l(r, "hx-on:") || l(r, "data-hx-on:") || l(r, "hx-on-") || l(r, "data-hx-on-")) { return true } } return false } const Ct = (new XPathEvaluator).createExpression('.//*[@*[ starts-with(name(), "hx-on:") or starts-with(name(), "data-hx-on:") or' + ' starts-with(name(), "hx-on-") or starts-with(name(), "data-hx-on-") ]]'); function Ot(e, t) { if (Et(e)) { t.push(ue(e)) } const n = Ct.evaluate(e); let r = null; while (r = n.iterateNext()) t.push(ue(r)) } function Rt(e) { const t = []; if (e instanceof DocumentFragment) { for (const n of e.childNodes) { Ot(n, t) } } else { Ot(e, t) } return t } function Ht(e) { if (e.querySelectorAll) { const n = ", [hx-boost] a, [data-hx-boost] a, a[hx-boost], a[data-hx-boost]"; const r = []; for (const i in Mn) { const s = Mn[i]; if (s.getSelectors) { var t = s.getSelectors(); if (t) { r.push(t) } } } const o = e.querySelectorAll(R + n + ", form, [type='submit']," + " [hx-ext], [data-hx-ext], [hx-trigger], [data-hx-trigger]" + r.flat().map(e => ", " + e).join("")); return o } else { return [] } } function Tt(e) { const t = g(ue(e.target), "button, input[type='submit']"); const n = Lt(e); if (n) { n.lastButtonClicked = t } } function qt(e) { const t = Lt(e); if (t) { t.lastButtonClicked = null } } function Lt(e) { const t = g(ue(e.target), "button, input[type='submit']"); if (!t) { return } const n = y("#" + ee(t, "form"), t.getRootNode()) || g(t, "form"); if (!n) { return } return ie(n) } function Nt(e) { e.addEventListener("click", Tt); e.addEventListener("focusin", Tt); e.addEventListener("focusout", qt) } function At(t, e, n) { const r = ie(t); if (!Array.isArray(r.onHandlers)) { r.onHandlers = [] } let o; const i = function (e) { vn(t, function () { if (at(t)) { return } if (!o) { o = new Function("event", n) } o.call(t, e) }) }; t.addEventListener(e, i); r.onHandlers.push({ event: e, listener: i }) } function It(t) { ke(t); for (let e = 0; e < t.attributes.length; e++) { const n = t.attributes[e].name; const r = t.attributes[e].value; if (l(n, "hx-on") || l(n, "data-hx-on")) { const o = n.indexOf("-on") + 3; const i = n.slice(o, o + 1); if (i === "-" || i === ":") { let e = n.slice(o + 1); if (l(e, ":")) { e = "htmx" + e } else if (l(e, "-")) { e = "htmx:" + e.slice(1) } else if (l(e, "htmx-")) { e = "htmx:" + e.slice(5) } At(t, e, r) } } } } function Pt(t) { if (g(t, Q.config.disableSelector)) { a(t); return } const n = ie(t); if (n.initHash !== Pe(t)) { De(t); n.initHash = Pe(t); de(t, "htmx:beforeProcessNode"); const e = st(t); const r = wt(t, n, e); if (!r) { if (re(t, "hx-boost") === "true") { ft(t, n, e) } else if (s(t, "hx-trigger")) { e.forEach(function (e) { St(t, e, n, function () { }) }) } } if (t.tagName === "FORM" || ee(t, "type") === "submit" && s(t, "form")) { Nt(t) } de(t, "htmx:afterProcessNode") } } function kt(e) { e = y(e); if (g(e, Q.config.disableSelector)) { a(e); return } Pt(e); se(Ht(e), function (e) { Pt(e) }); se(Rt(e), It) } function Dt(e) { return e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase() } function Mt(e, t) { let n; if (window.CustomEvent && typeof window.CustomEvent === "function") { n = new CustomEvent(e, { bubbles: true, cancelable: true, composed: true, detail: t }) } else { n = ne().createEvent("CustomEvent"); n.initCustomEvent(e, true, true, t) } return n } function fe(e, t, n) { de(e, t, ce({ error: t }, n)) } function Xt(e) { return e === "htmx:afterProcessNode" } function Ft(e, t) { se(Un(e), function (e) { try { t(e) } catch (e) { C(e) } }) } function C(e) { if (console.error) { console.error(e) } else if (console.log) { console.log("ERROR: ", e) } } function de(e, t, n) { e = y(e); if (n == null) { n = {} } n.elt = e; const r = Mt(t, n); if (Q.logger && !Xt(t)) { Q.logger(e, t, n) } if (n.error) { C(n.error); de(e, "htmx:error", { errorInfo: n }) } let o = e.dispatchEvent(r); const i = Dt(t); if (o && i !== t) { const s = Mt(i, r.detail); o = o && e.dispatchEvent(s) } Ft(ue(e), function (e) { o = o && (e.onEvent(t, r) !== false && !r.defaultPrevented) }); return o } let Bt = location.pathname + location.search; function Ut() { const e = ne().querySelector("[hx-history-elt],[data-hx-history-elt]"); return e || ne().body } function jt(t, e) { if (!B()) { return } const n = _t(e); const r = ne().title; const o = window.scrollY; if (Q.config.historyCacheSize <= 0) { localStorage.removeItem("htmx-history-cache"); return } t = U(t); const i = S(localStorage.getItem("htmx-history-cache")) || []; for (let e = 0; e < i.length; e++) { if (i[e].url === t) { i.splice(e, 1); break } } const s = { url: t, content: n, title: r, scroll: o }; de(ne().body, "htmx:historyItemCreated", { item: s, cache: i }); i.push(s); while (i.length > Q.config.historyCacheSize) { i.shift() } while (i.length > 0) { try { localStorage.setItem("htmx-history-cache", JSON.stringify(i)); break } catch (e) { fe(ne().body, "htmx:historyCacheError", { cause: e, cache: i }); i.shift() } } } function Vt(t) { if (!B()) { return null } t = U(t); const n = S(localStorage.getItem("htmx-history-cache")) || []; for (let e = 0; e < n.length; e++) { if (n[e].url === t) { return n[e] } } return null } function _t(e) { const t = Q.config.requestClass; const n = e.cloneNode(true); se(x(n, "." + t), function (e) { G(e, t) }); se(x(n, "[data-disabled-by-htmx]"), function (e) { e.removeAttribute("disabled") }); return n.innerHTML } function zt() { const e = Ut(); const t = Bt || location.pathname + location.search; let n; try { n = ne().querySelector('[hx-history="false" i],[data-hx-history="false" i]') } catch (e) { n = ne().querySelector('[hx-history="false"],[data-hx-history="false"]') } if (!n) { de(ne().body, "htmx:beforeHistorySave", { path: t, historyElt: e }); jt(t, e) } if (Q.config.historyEnabled) history.replaceState({ htmx: true }, ne().title, window.location.href) } function $t(e) { if (Q.config.getCacheBusterParam) { e = e.replace(/org\.htmx\.cache-buster=[^&]*&?/, ""); if (Y(e, "&") || Y(e, "?")) { e = e.slice(0, -1) } } if (Q.config.historyEnabled) { history.pushState({ htmx: true }, "", e) } Bt = e } function Jt(e) { if (Q.config.historyEnabled) history.replaceState({ htmx: true }, "", e); Bt = e } function Kt(e) { se(e, function (e) { e.call(undefined) }) } function Gt(o) { const e = new XMLHttpRequest; const i = { path: o, xhr: e }; de(ne().body, "htmx:historyCacheMiss", i); e.open("GET", o, true); e.setRequestHeader("HX-Request", "true"); e.setRequestHeader("HX-History-Restore-Request", "true"); e.setRequestHeader("HX-Current-URL", ne().location.href); e.onload = function () { if (this.status >= 200 && this.status < 400) { de(ne().body, "htmx:historyCacheMissLoad", i); const e = P(this.response); const t = e.querySelector("[hx-history-elt],[data-hx-history-elt]") || e; const n = Ut(); const r = xn(n); kn(e.title); qe(e); Ve(n, t, r); Te(); Kt(r.tasks); Bt = o; de(ne().body, "htmx:historyRestore", { path: o, cacheMiss: true, serverResponse: this.response }) } else { fe(ne().body, "htmx:historyCacheMissLoadError", i) } }; e.send() } function Wt(e) { zt(); e = e || location.pathname + location.search; const t = Vt(e); if (t) { const n = P(t.content); const r = Ut(); const o = xn(r); kn(t.title); qe(n); Ve(r, n, o); Te(); Kt(o.tasks); E().setTimeout(function () { window.scrollTo(0, t.scroll) }, 0); Bt = e; de(ne().body, "htmx:historyRestore", { path: e, item: t }) } else { if (Q.config.refreshOnHistoryMiss) { window.location.reload(true) } else { Gt(e) } } } function Zt(e) { let t = we(e, "hx-indicator"); if (t == null) { t = [e] } se(t, function (e) { const t = ie(e); t.requestCount = (t.requestCount || 0) + 1; e.classList.add.call(e.classList, Q.config.requestClass) }); return t } function Yt(e) { let t = we(e, "hx-disabled-elt"); if (t == null) { t = [] } se(t, function (e) { const t = ie(e); t.requestCount = (t.requestCount || 0) + 1; e.setAttribute("disabled", ""); e.setAttribute("data-disabled-by-htmx", "") }); return t } function Qt(e, t) { se(e.concat(t), function (e) { const t = ie(e); t.requestCount = (t.requestCount || 1) - 1 }); se(e, function (e) { const t = ie(e); if (t.requestCount === 0) { e.classList.remove.call(e.classList, Q.config.requestClass) } }); se(t, function (e) { const t = ie(e); if (t.requestCount === 0) { e.removeAttribute("disabled"); e.removeAttribute("data-disabled-by-htmx") } }) } function en(t, n) { for (let e = 0; e < t.length; e++) { const r = t[e]; if (r.isSameNode(n)) { return true } } return false } function tn(e) { const t = e; if (t.name === "" || t.name == null || t.disabled || g(t, "fieldset[disabled]")) { return false } if (t.type === "button" || t.type === "submit" || t.tagName === "image" || t.tagName === "reset" || t.tagName === "file") { return false } if (t.type === "checkbox" || t.type === "radio") { return t.checked } return true } function nn(t, e, n) { if (t != null && e != null) { if (Array.isArray(e)) { e.forEach(function (e) { n.append(t, e) }) } else { n.append(t, e) } } } function rn(t, n, r) { if (t != null && n != null) { let e = r.getAll(t); if (Array.isArray(n)) { e = e.filter(e => n.indexOf(e) < 0) } else { e = e.filter(e => e !== n) } r.delete(t); se(e, e => r.append(t, e)) } } function on(t, n, r, o, i) { if (o == null || en(t, o)) { return } else { t.push(o) } if (tn(o)) { const s = ee(o, "name"); let e = o.value; if (o instanceof HTMLSelectElement && o.multiple) { e = M(o.querySelectorAll("option:checked")).map(function (e) { return e.value }) } if (o instanceof HTMLInputElement && o.files) { e = M(o.files) } nn(s, e, n); if (i) { sn(o, r) } } if (o instanceof HTMLFormElement) { se(o.elements, function (e) { if (t.indexOf(e) >= 0) { rn(e.name, e.value, n) } else { t.push(e) } if (i) { sn(e, r) } }); new FormData(o).forEach(function (e, t) { if (e instanceof File && e.name === "") { return } nn(t, e, n) }) } } function sn(e, t) { const n = e; if (n.willValidate) { de(n, "htmx:validation:validate"); if (!n.checkValidity()) { t.push({ elt: n, message: n.validationMessage, validity: n.validity }); de(n, "htmx:validation:failed", { message: n.validationMessage, validity: n.validity }) } } } function ln(n, e) { for (const t of e.keys()) { n.delete(t) } e.forEach(function (e, t) { n.append(t, e) }); return n } function cn(e, t) { const n = []; const r = new FormData; const o = new FormData; const i = []; const s = ie(e); if (s.lastButtonClicked && !le(s.lastButtonClicked)) { s.lastButtonClicked = null } let l = e instanceof HTMLFormElement && e.noValidate !== true || te(e, "hx-validate") === "true"; if (s.lastButtonClicked) { l = l && s.lastButtonClicked.formNoValidate !== true } if (t !== "get") { on(n, o, i, g(e, "form"), l) } on(n, r, i, e, l); if (s.lastButtonClicked || e.tagName === "BUTTON" || e.tagName === "INPUT" && ee(e, "type") === "submit") { const u = s.lastButtonClicked || e; const a = ee(u, "name"); nn(a, u.value, o) } const c = we(e, "hx-include"); se(c, function (e) { on(n, r, i, ue(e), l); if (!d(e, "form")) { se(f(e).querySelectorAll(ot), function (e) { on(n, r, i, e, l) }) } }); ln(r, o); return { errors: i, formData: r, values: Nn(r) } } function un(e, t, n) { if (e !== "") { e += "&" } if (String(n) === "[object Object]") { n = JSON.stringify(n) } const r = encodeURIComponent(n); e += encodeURIComponent(t) + "=" + r; return e } function an(e) { e = qn(e); let n = ""; e.forEach(function (e, t) { n = un(n, t, e) }); return n } function fn(e, t, n) { const r = { "HX-Request": "true", "HX-Trigger": ee(e, "id"), "HX-Trigger-Name": ee(e, "name"), "HX-Target": te(t, "id"), "HX-Current-URL": ne().location.href }; bn(e, "hx-headers", false, r); if (n !== undefined) { r["HX-Prompt"] = n } if (ie(e).boosted) { r["HX-Boosted"] = "true" } return r } function dn(n, e) { const t = re(e, "hx-params"); if (t) { if (t === "none") { return new FormData } else if (t === "*") { return n } else if (t.indexOf("not ") === 0) { se(t.substr(4).split(","), function (e) { e = e.trim(); n.delete(e) }); return n } else { const r = new FormData; se(t.split(","), function (t) { t = t.trim(); if (n.has(t)) { n.getAll(t).forEach(function (e) { r.append(t, e) }) } }); return r } } else { return n } } function hn(e) { return !!ee(e, "href") && ee(e, "href").indexOf("#") >= 0 } function gn(e, t) { const n = t || re(e, "hx-swap"); const r = { swapStyle: ie(e).boosted ? "innerHTML" : Q.config.defaultSwapStyle, swapDelay: Q.config.defaultSwapDelay, settleDelay: Q.config.defaultSettleDelay }; if (Q.config.scrollIntoViewOnBoost && ie(e).boosted && !hn(e)) { r.show = "top" } if (n) { const s = F(n); if (s.length > 0) { for (let e = 0; e < s.length; e++) { const l = s[e]; if (l.indexOf("swap:") === 0) { r.swapDelay = h(l.substr(5)) } else if (l.indexOf("settle:") === 0) { r.settleDelay = h(l.substr(7)) } else if (l.indexOf("transition:") === 0) { r.transition = l.substr(11) === "true" } else if (l.indexOf("ignoreTitle:") === 0) { r.ignoreTitle = l.substr(12) === "true" } else if (l.indexOf("scroll:") === 0) { const c = l.substr(7); var o = c.split(":"); const u = o.pop(); var i = o.length > 0 ? o.join(":") : null; r.scroll = u; r.scrollTarget = i } else if (l.indexOf("show:") === 0) { const a = l.substr(5); var o = a.split(":"); const f = o.pop(); var i = o.length > 0 ? o.join(":") : null; r.show = f; r.showTarget = i } else if (l.indexOf("focus-scroll:") === 0) { const d = l.substr("focus-scroll:".length); r.focusScroll = d == "true" } else if (e == 0) { r.swapStyle = l } else { C("Unknown modifier in hx-swap: " + l) } } } } return r } function pn(e) { return re(e, "hx-encoding") === "multipart/form-data" || d(e, "form") && ee(e, "enctype") === "multipart/form-data" } function mn(t, n, r) { let o = null; Ft(n, function (e) { if (o == null) { o = e.encodeParameters(t, r, n) } }); if (o != null) { return o } else { if (pn(n)) { return ln(new FormData, qn(r)) } else { return an(r) } } } function xn(e) { return { tasks: [], elts: [e] } } function yn(e, t) { const n = e[0]; const r = e[e.length - 1]; if (t.scroll) { var o = null; if (t.scrollTarget) { o = ue(ae(n, t.scrollTarget)) } if (t.scroll === "top" && (n || o)) { o = o || n; o.scrollTop = 0 } if (t.scroll === "bottom" && (r || o)) { o = o || r; o.scrollTop = o.scrollHeight } } if (t.show) { var o = null; if (t.showTarget) { let e = t.showTarget; if (t.showTarget === "window") { e = "body" } o = ue(ae(n, e)) } if (t.show === "top" && (n || o)) { o = o || n; o.scrollIntoView({ block: "start", behavior: Q.config.scrollBehavior }) } if (t.show === "bottom" && (r || o)) { o = o || r; o.scrollIntoView({ block: "end", behavior: Q.config.scrollBehavior }) } } } function bn(r, e, o, i) { if (i == null) { i = {} } if (r == null) { return i } const s = te(r, e); if (s) { let e = s.trim(); let t = o; if (e === "unset") { return null } if (e.indexOf("javascript:") === 0) { e = e.substr(11); t = true } else if (e.indexOf("js:") === 0) { e = e.substr(3); t = true } if (e.indexOf("{") !== 0) { e = "{" + e + "}" } let n; if (t) { n = vn(r, function () { return Function("return (" + e + ")")() }, {}) } else { n = S(e) } for (const l in n) { if (n.hasOwnProperty(l)) { if (i[l] == null) { i[l] = n[l] } } } } return bn(ue(c(r)), e, o, i) } function vn(e, t, n) { if (Q.config.allowEval) { return t() } else { fe(e, "htmx:evalDisallowedError"); return n } } function wn(e, t) { return bn(e, "hx-vars", true, t) } function Sn(e, t) { return bn(e, "hx-vals", false, t) } function En(e) { return ce(wn(e), Sn(e)) } function Cn(t, n, r) { if (r !== null) { try { t.setRequestHeader(n, r) } catch (e) { t.setRequestHeader(n, encodeURIComponent(r)); t.setRequestHeader(n + "-URI-AutoEncoded", "true") } } } function On(t) { if (t.responseURL && typeof URL !== "undefined") { try { const e = new URL(t.responseURL); return e.pathname + e.search } catch (e) { fe(ne().body, "htmx:badResponseUrl", { url: t.responseURL }) } } } function O(e, t) { return t.test(e.getAllResponseHeaders()) } function Rn(t, n, r) { t = t.toLowerCase(); if (r) { if (r instanceof Element || typeof r === "string") { return he(t, n, null, null, { targetOverride: y(r) || ve, returnPromise: true }) } else { let e = y(r.target); if (r.target && !e || !e && !y(r.source)) { e = ve } return he(t, n, y(r.source), r.event, { handler: r.handler, headers: r.headers, values: r.values, targetOverride: e, swapOverride: r.swap, select: r.select, returnPromise: true }) } } else { return he(t, n, null, null, { returnPromise: true }) } } function Hn(e) { const t = []; while (e) { t.push(e); e = e.parentElement } return t } function Tn(e, t, n) { let r; let o; if (typeof URL === "function") { o = new URL(t, document.location.href); const i = document.location.origin; r = i === o.origin } else { o = t; r = l(t, document.location.origin) } if (Q.config.selfRequestsOnly) { if (!r) { return false } } return de(e, "htmx:validateUrl", ce({ url: o, sameHost: r }, n)) } function qn(e) { if (e instanceof FormData) return e; const t = new FormData; for (const n in e) { if (e.hasOwnProperty(n)) { if (e[n] && typeof e[n].forEach === "function") { e[n].forEach(function (e) { t.append(n, e) }) } else if (typeof e[n] === "object" && !(e[n] instanceof Blob)) { t.append(n, JSON.stringify(e[n])) } else { t.append(n, e[n]) } } } return t } function Ln(r, o, e) { return new Proxy(e, { get: function (t, e) { if (typeof e === "number") return t[e]; if (e === "length") return t.length; if (e === "push") { return function (e) { t.push(e); r.append(o, e) } } if (typeof t[e] === "function") { return function () { t[e].apply(t, arguments); r.delete(o); t.forEach(function (e) { r.append(o, e) }) } } if (t[e] && t[e].length === 1) { return t[e][0] } else { return t[e] } }, set: function (e, t, n) { e[t] = n; r.delete(o); e.forEach(function (e) { r.append(o, e) }); return true } }) } function Nn(r) { return new Proxy(r, { get: function (e, t) { if (typeof t === "symbol") { return Reflect.get(e, t) } if (t === "toJSON") { return () => Object.fromEntries(r) } if (t in e) { if (typeof e[t] === "function") { return function () { return r[t].apply(r, arguments) } } else { return e[t] } } const n = r.getAll(t); if (n.length === 0) { return undefined } else if (n.length === 1) { return n[0] } else { return Ln(e, t, n) } }, set: function (t, n, e) { if (typeof n !== "string") { return false } t.delete(n); if (e && typeof e.forEach === "function") { e.forEach(function (e) { t.append(n, e) }) } else if (typeof e === "object" && !(e instanceof Blob)) { t.append(n, JSON.stringify(e)) } else { t.append(n, e) } return true }, deleteProperty: function (e, t) { if (typeof t === "string") { e.delete(t) } return true }, ownKeys: function (e) { return Reflect.ownKeys(Object.fromEntries(e)) }, getOwnPropertyDescriptor: function (e, t) { return Reflect.getOwnPropertyDescriptor(Object.fromEntries(e), t) } }) } function he(t, n, r, o, i, D) { let s = null; let l = null; i = i != null ? i : {}; if (i.returnPromise && typeof Promise !== "undefined") { var e = new Promise(function (e, t) { s = e; l = t }) } if (r == null) { r = ne().body } const M = i.handler || Dn; const X = i.select || null; if (!le(r)) { oe(s); return e } const c = i.targetOverride || ue(Ee(r)); if (c == null || c == ve) { fe(r, "htmx:targetError", { target: te(r, "hx-target") }); oe(l); return e } let u = ie(r); const a = u.lastButtonClicked; if (a) { const L = ee(a, "formaction"); if (L != null) { n = L } const N = ee(a, "formmethod"); if (N != null) { if (N.toLowerCase() !== "dialog") { t = N } } } const f = re(r, "hx-confirm"); if (D === undefined) { const K = function (e) { return he(t, n, r, o, i, !!e) }; const G = { target: c, elt: r, path: n, verb: t, triggeringEvent: o, etc: i, issueRequest: K, question: f }; if (de(r, "htmx:confirm", G) === false) { oe(s); return e } } let d = r; let h = re(r, "hx-sync"); let g = null; let F = false; if (h) { const A = h.split(":"); const I = A[0].trim(); if (I === "this") { d = Se(r, "hx-sync") } else { d = ue(ae(r, I)) } h = (A[1] || "drop").trim(); u = ie(d); if (h === "drop" && u.xhr && u.abortable !== true) { oe(s); return e } else if (h === "abort") { if (u.xhr) { oe(s); return e } else { F = true } } else if (h === "replace") { de(d, "htmx:abort") } else if (h.indexOf("queue") === 0) { const W = h.split(" "); g = (W[1] || "last").trim() } } if (u.xhr) { if (u.abortable) { de(d, "htmx:abort") } else { if (g == null) { if (o) { const P = ie(o); if (P && P.triggerSpec && P.triggerSpec.queue) { g = P.triggerSpec.queue } } if (g == null) { g = "last" } } if (u.queuedRequests == null) { u.queuedRequests = [] } if (g === "first" && u.queuedRequests.length === 0) { u.queuedRequests.push(function () { he(t, n, r, o, i) }) } else if (g === "all") { u.queuedRequests.push(function () { he(t, n, r, o, i) }) } else if (g === "last") { u.queuedRequests = []; u.queuedRequests.push(function () { he(t, n, r, o, i) }) } oe(s); return e } } const p = new XMLHttpRequest; u.xhr = p; u.abortable = F; const m = function () { u.xhr = null; u.abortable = false; if (u.queuedRequests != null && u.queuedRequests.length > 0) { const e = u.queuedRequests.shift(); e() } }; const B = re(r, "hx-prompt"); if (B) { var x = prompt(B); if (x === null || !de(r, "htmx:prompt", { prompt: x, target: c })) { oe(s); m(); return e } } if (f && !D) { if (!confirm(f)) { oe(s); m(); return e } } let y = fn(r, c, x); if (t !== "get" && !pn(r)) { y["Content-Type"] = "application/x-www-form-urlencoded" } if (i.headers) { y = ce(y, i.headers) } const U = cn(r, t); let b = U.errors; const j = U.formData; if (i.values) { ln(j, qn(i.values)) } const V = qn(En(r)); const v = ln(j, V); let w = dn(v, r); if (Q.config.getCacheBusterParam && t === "get") { w.set("org.htmx.cache-buster", ee(c, "id") || "true") } if (n == null || n === "") { n = ne().location.href } const S = bn(r, "hx-request"); const _ = ie(r).boosted; let E = Q.config.methodsThatUseUrlParams.indexOf(t) >= 0; const C = { boosted: _, useUrlParams: E, formData: w, parameters: Nn(w), unfilteredFormData: v, unfilteredParameters: Nn(v), headers: y, target: c, verb: t, errors: b, withCredentials: i.credentials || S.credentials || Q.config.withCredentials, timeout: i.timeout || S.timeout || Q.config.timeout, path: n, triggeringEvent: o }; if (!de(r, "htmx:configRequest", C)) { oe(s); m(); return e } n = C.path; t = C.verb; y = C.headers; w = qn(C.parameters); b = C.errors; E = C.useUrlParams; if (b && b.length > 0) { de(r, "htmx:validation:halted", C); oe(s); m(); return e } const z = n.split("#"); const $ = z[0]; const O = z[1]; let R = n; if (E) { R = $; const Z = !w.keys().next().done; if (Z) { if (R.indexOf("?") < 0) { R += "?" } else { R += "&" } R += an(w); if (O) { R += "#" + O } } } if (!Tn(r, R, C)) { fe(r, "htmx:invalidPath", C); oe(l); return e } p.open(t.toUpperCase(), R, true); p.overrideMimeType("text/html"); p.withCredentials = C.withCredentials; p.timeout = C.timeout; if (S.noHeaders) { } else { for (const k in y) { if (y.hasOwnProperty(k)) { const Y = y[k]; Cn(p, k, Y) } } } const H = { xhr: p, target: c, requestConfig: C, etc: i, boosted: _, select: X, pathInfo: { requestPath: n, finalRequestPath: R, responsePath: null, anchor: O } }; p.onload = function () { try { const t = Hn(r); H.pathInfo.responsePath = On(p); M(r, H); if (H.keepIndicators !== true) { Qt(T, q) } de(r, "htmx:afterRequest", H); de(r, "htmx:afterOnLoad", H); if (!le(r)) { let e = null; while (t.length > 0 && e == null) { const n = t.shift(); if (le(n)) { e = n } } if (e) { de(e, "htmx:afterRequest", H); de(e, "htmx:afterOnLoad", H) } } oe(s); m() } catch (e) { fe(r, "htmx:onLoadError", ce({ error: e }, H)); throw e } }; p.onerror = function () { Qt(T, q); fe(r, "htmx:afterRequest", H); fe(r, "htmx:sendError", H); oe(l); m() }; p.onabort = function () { Qt(T, q); fe(r, "htmx:afterRequest", H); fe(r, "htmx:sendAbort", H); oe(l); m() }; p.ontimeout = function () { Qt(T, q); fe(r, "htmx:afterRequest", H); fe(r, "htmx:timeout", H); oe(l); m() }; if (!de(r, "htmx:beforeRequest", H)) { oe(s); m(); return e } var T = Zt(r); var q = Yt(r); se(["loadstart", "loadend", "progress", "abort"], function (t) { se([p, p.upload], function (e) { e.addEventListener(t, function (e) { de(r, "htmx:xhr:" + t, { lengthComputable: e.lengthComputable, loaded: e.loaded, total: e.total }) }) }) }); de(r, "htmx:beforeSend", H); const J = E ? null : mn(p, r, w); p.send(J); return e } function An(e, t) { const n = t.xhr; let r = null; let o = null; if (O(n, /HX-Push:/i)) { r = n.getResponseHeader("HX-Push"); o = "push" } else if (O(n, /HX-Push-Url:/i)) { r = n.getResponseHeader("HX-Push-Url"); o = "push" } else if (O(n, /HX-Replace-Url:/i)) { r = n.getResponseHeader("HX-Replace-Url"); o = "replace" } if (r) { if (r === "false") { return {} } else { return { type: o, path: r } } } const i = t.pathInfo.finalRequestPath; const s = t.pathInfo.responsePath; const l = re(e, "hx-push-url"); const c = re(e, "hx-replace-url"); const u = ie(e).boosted; let a = null; let f = null; if (l) { a = "push"; f = l } else if (c) { a = "replace"; f = c } else if (u) { a = "push"; f = s || i } if (f) { if (f === "false") { return {} } if (f === "true") { f = s || i } if (t.pathInfo.anchor && f.indexOf("#") === -1) { f = f + "#" + t.pathInfo.anchor } return { type: a, path: f } } else { return {} } } function In(e, t) { var n = new RegExp(e.code); return n.test(t.toString(10)) } function Pn(e) { for (var t = 0; t < Q.config.responseHandling.length; t++) { var n = Q.config.responseHandling[t]; if (In(n, e.status)) { return n } } return { swap: false } } function kn(e) { if (e) { const t = r("title"); if (t) { t.innerHTML = e } else { window.document.title = e } } } function Dn(o, i) { const s = i.xhr; let l = i.target; const e = i.etc; const c = i.select; if (!de(o, "htmx:beforeOnLoad", i)) return; if (O(s, /HX-Trigger:/i)) { Je(s, "HX-Trigger", o) } if (O(s, /HX-Location:/i)) { zt(); let e = s.getResponseHeader("HX-Location"); var t; if (e.indexOf("{") === 0) { t = S(e); e = t.path; delete t.path } Rn("get", e, t).then(function () { $t(e) }); return } const n = O(s, /HX-Refresh:/i) && s.getResponseHeader("HX-Refresh") === "true"; if (O(s, /HX-Redirect:/i)) { i.keepIndicators = true; location.href = s.getResponseHeader("HX-Redirect"); n && location.reload(); return } if (n) { i.keepIndicators = true; location.reload(); return } if (O(s, /HX-Retarget:/i)) { if (s.getResponseHeader("HX-Retarget") === "this") { i.target = o } else { i.target = ue(ae(o, s.getResponseHeader("HX-Retarget"))) } } const u = An(o, i); const r = Pn(s); const a = r.swap; let f = !!r.error; let d = Q.config.ignoreTitle || r.ignoreTitle; let h = r.select; if (r.target) { i.target = ue(ae(o, r.target)) } var g = e.swapOverride; if (g == null && r.swapOverride) { g = r.swapOverride } if (O(s, /HX-Retarget:/i)) { if (s.getResponseHeader("HX-Retarget") === "this") { i.target = o } else { i.target = ue(ae(o, s.getResponseHeader("HX-Retarget"))) } } if (O(s, /HX-Reswap:/i)) { g = s.getResponseHeader("HX-Reswap") } var p = s.response; var m = ce({ shouldSwap: a, serverResponse: p, isError: f, ignoreTitle: d, selectOverride: h, swapOverride: g }, i); if (r.event && !de(l, r.event, m)) return; if (!de(l, "htmx:beforeSwap", m)) return; l = m.target; p = m.serverResponse; f = m.isError; d = m.ignoreTitle; h = m.selectOverride; g = m.swapOverride; i.target = l; i.failed = f; i.successful = !f; if (m.shouldSwap) { if (s.status === 286) { lt(o) } Ft(o, function (e) { p = e.transformResponse(p, s, o) }); if (u.type) { zt() } var x = gn(o, g); if (!x.hasOwnProperty("ignoreTitle")) { x.ignoreTitle = d } l.classList.add(Q.config.swappingClass); let n = null; let r = null; if (c) { h = c } if (O(s, /HX-Reselect:/i)) { h = s.getResponseHeader("HX-Reselect") } const y = re(o, "hx-select-oob"); const b = re(o, "hx-select"); let e = function () { try { if (u.type) { de(ne().body, "htmx:beforeHistoryUpdate", ce({ history: u }, i)); if (u.type === "push") { $t(u.path); de(ne().body, "htmx:pushedIntoHistory", { path: u.path }) } else { Jt(u.path); de(ne().body, "htmx:replacedInHistory", { path: u.path }) } } $e(l, p, x, { select: h || b, selectOOB: y, eventInfo: i, anchor: i.pathInfo.anchor, contextElement: o, afterSwapCallback: function () { if (O(s, /HX-Trigger-After-Swap:/i)) { let e = o; if (!le(o)) { e = ne().body } Je(s, "HX-Trigger-After-Swap", e) } }, afterSettleCallback: function () { if (O(s, /HX-Trigger-After-Settle:/i)) { let e = o; if (!le(o)) { e = ne().body } Je(s, "HX-Trigger-After-Settle", e) } oe(n) } }) } catch (e) { fe(o, "htmx:swapError", i); oe(r); throw e } }; let t = Q.config.globalViewTransitions; if (x.hasOwnProperty("transition")) { t = x.transition } if (t && de(o, "htmx:beforeTransition", i) && typeof Promise !== "undefined" && document.startViewTransition) { const v = new Promise(function (e, t) { n = e; r = t }); const w = e; e = function () { document.startViewTransition(function () { w(); return v }) } } if (x.swapDelay > 0) { E().setTimeout(e, x.swapDelay) } else { e() } } if (f) { fe(o, "htmx:responseError", ce({ error: "Response Status Error Code " + s.status + " from " + i.pathInfo.requestPath }, i)) } } const Mn = {}; function Xn() { return { init: function (e) { return null }, getSelectors: function () { return null }, onEvent: function (e, t) { return true }, transformResponse: function (e, t, n) { return e }, isInlineSwap: function (e) { return false }, handleSwap: function (e, t, n, r) { return false }, encodeParameters: function (e, t, n) { return null } } } function Fn(e, t) { if (t.init) { t.init(n) } Mn[e] = ce(Xn(), t) } function Bn(e) { delete Mn[e] } function Un(e, n, r) { if (n == undefined) { n = [] } if (e == undefined) { return n } if (r == undefined) { r = [] } const t = te(e, "hx-ext"); if (t) { se(t.split(","), function (e) { e = e.replace(/ /g, ""); if (e.slice(0, 7) == "ignore:") { r.push(e.slice(7)); return } if (r.indexOf(e) < 0) { const t = Mn[e]; if (t && n.indexOf(t) < 0) { n.push(t) } } }) } return Un(ue(c(e)), n, r) } var jn = false; ne().addEventListener("DOMContentLoaded", function () { jn = true }); function Vn(e) { if (jn || ne().readyState === "complete") { e() } else { ne().addEventListener("DOMContentLoaded", e) } } function _n() { if (Q.config.includeIndicatorStyles !== false) { const e = Q.config.inlineStyleNonce ? ` nonce="${Q.config.inlineStyleNonce}"` : ""; ne().head.insertAdjacentHTML("beforeend", "") } } function zn() { const e = ne().querySelector('meta[name="htmx-config"]'); if (e) { return S(e.content) } else { return null } } function $n() { const e = zn(); if (e) { Q.config = ce(Q.config, e) } } Vn(function () { $n(); _n(); let e = ne().body; kt(e); const t = ne().querySelectorAll("[hx-trigger='restored'],[data-hx-trigger='restored']"); e.addEventListener("htmx:abort", function (e) { const t = e.target; const n = ie(t); if (n && n.xhr) { n.xhr.abort() } }); const n = window.onpopstate ? window.onpopstate.bind(window) : null; window.onpopstate = function (e) { if (e.state && e.state.htmx) { Wt(); se(t, function (e) { de(e, "htmx:restored", { document: ne(), triggerEvent: de }) }) } else { if (n) { n(e) } } }; E().setTimeout(function () { de(e, "htmx:load", {}); e = null }, 0) }); return Q }();1;(function () { function splitOnWhitespace(trigger) { return trigger.split(/\s+/); } function parseClassOperation(trimmedValue) { var split = splitOnWhitespace(trimmedValue); if (split.length > 1) { var operation = split[0]; var classDef = split[1].trim(); var cssClass; var delay; if (classDef.indexOf(":") > 0) { var splitCssClass = classDef.split(':'); cssClass = splitCssClass[0]; delay = htmx.parseInterval(splitCssClass[1]); } else { cssClass = classDef; delay = 100; } return { operation: operation, cssClass: cssClass, delay: delay } } else { return null; } } function performOperation(elt, classOperation, classList, currentRunTime) { setTimeout(function () { elt.classList[classOperation.operation].call(elt.classList, classOperation.cssClass); }, currentRunTime) } function toggleOperation(elt, classOperation, classList, currentRunTime) { setTimeout(function () { setInterval(function () { elt.classList[classOperation.operation].call(elt.classList, classOperation.cssClass); }, classOperation.delay); }, currentRunTime) } function processClassList(elt, classList) { var runs = classList.split("&"); for (var i = 0; i < runs.length; i++) { var run = runs[i]; var currentRunTime = 0; var classOperations = run.split(","); for (var j = 0; j < classOperations.length; j++) { var value = classOperations[j]; var trimmedValue = value.trim(); var classOperation = parseClassOperation(trimmedValue); if (classOperation) { if (classOperation.operation === "toggle") { toggleOperation(elt, classOperation, classList, currentRunTime); currentRunTime = currentRunTime + classOperation.delay; } else { currentRunTime = currentRunTime + classOperation.delay; performOperation(elt, classOperation, classList, currentRunTime); } } } } } function maybeProcessClasses(elt) { if (elt.getAttribute) { var classList = elt.getAttribute("classes") || elt.getAttribute("data-classes"); if (classList) { processClassList(elt, classList); } } } htmx.defineExtension('class-tools', { onEvent: function (name, evt) { if (name === "htmx:afterProcessNode") { var elt = evt.detail.elt; maybeProcessClasses(elt); if (elt.querySelectorAll) { var children = elt.querySelectorAll("[classes], [data-classes]"); for (var i = 0; i < children.length; i++) { maybeProcessClasses(children[i]); } } } } }); })();;htmx.defineExtension("preload", { onEvent: function (e, t) { if ("htmx:afterProcessNode" === e) { var r = function (e, t) { if (null != e) return e.getAttribute(t) || e.getAttribute("data-" + t) || r(e.parentElement, t) }, a = function (e) { var t = function (t) { e.preloadAlways || (e.preloadState = "DONE"), "true" == r(e, "preload-images") && (document.createElement("div").innerHTML = t) }; return function () { if ("READY" === e.preloadState) { var r = e.getAttribute("hx-get") || e.getAttribute("data-hx-get"); if (r) htmx.ajax("GET", r, { source: e, handler: function (e, r) { t(r.xhr.responseText) } }); else if (e.getAttribute("href")) { var a = new XMLHttpRequest; return a.open("GET", e.getAttribute("href")), a.onload = function () { t(a.responseText) }, void a.send() } } } }, n = function (e) { if (e.getAttribute("href") + e.getAttribute("hx-get") + e.getAttribute("data-hx-get") == "") return; if (void 0 !== e.preloadState) return; var t = r(e, "preload") || "mousedown"; const n = -1 !== t.indexOf("always"); switch (n && (t = t.replace("always", "").trim()), e.addEventListener(t, (function (r) { "PAUSE" === e.preloadState && (e.preloadState = "READY", "mouseover" === t ? window.setTimeout(a(e), 100) : a(e)()) })), t) { case "mouseover": e.addEventListener("touchstart", a(e)), e.addEventListener("mouseout", (function (t) { t.target === e && "READY" === e.preloadState && (e.preloadState = "PAUSE") })); break; case "mousedown": e.addEventListener("touchstart", a(e)) }e.preloadState = "PAUSE", e.preloadAlways = n, htmx.trigger(e, "preload:init") }; t.target.querySelectorAll("[preload]").forEach((function (e) { n(e), e.querySelectorAll("a,[hx-get],[data-hx-get]").forEach(n) })) } } });My Story with Antonio Neri
Do you know Antonio Neri’s story of starting at the ground level at HP/HPE? Antonio’s story may inspire young people just starting their careers and dreaming of their own possibilities.
Hewlett Packard Enterprise CEO Antonio Neri discusses the company's reduced earnings forecast, supply issues and networking business. HPE reduced its outlook for sales growth and profit in the current fiscal year, citing lower demand for networking products and a crunch in computer chip availability.
When business needs fast, flexible innovation customers turn to HPE GreenLake to unlock value and drive transformation.
The cloud operating experience you have always wanted. Create hybrid cloud solutions that give you the public cloud experience – simplicity, flexibility and scalability - in a platform that combines security, pay-per-use predictability, ease of management, and unrivalled visibility. See flexibility in action with HPE GreenLake.
HPE Leading Innovation in Networking Solutions
Hewlett Packard Enterprise (HPE) leads the charge in networking innovation, offering state-of-the-art technology tailored to modern infrastructure needs. With a keen focus on agility, scalability, and security, HPE provides an extensive array of networking products and services designed to meet the diverse requirements of businesses across the spectrum.
“HPE continues its strong history of AI innovation with HPE Aruba Networking Central’s new approach to embrace the capabilities of GenAI LLMs.”
David Hughes, chief product officer, HPE Aruba Networking
HPE Aruba Networking Central
Aruba, a cornerstone of HPE's networking arsenal, revolutionizes networking with solutions spanning wired, wireless, and software-defined networking (SDN). The Aruba CX series switches exemplify this innovation, boasting high-performance, programmable infrastructure embedded with intelligence to streamline network management and optimize performance, ensuring seamless operations for businesses of any size.
“With this HPE Aruba Networking Central announcement, HPE is launching compelling generative AI functionality that doesn't sacrifice performance for the sake of hardened security.”
David Hughes, chief product officer, HPE Aruba Networking
Welcome to the quick yet comprehensive guide on HPE Aruba Networking SSE! In just 10 minutes, how HPE Aruba Networking SSE can transform secure connectivity for all business applications within a single platform.
Easily deploy and manage your networking infrastructure
Harness the power of cloud-based as-a-service software to quickly set up and manage your storage environment. Automate configuration deployments via templates to get you up and running in minutes. Simplify network management, seamlessly configure lossless redundant fabrics, and increase fabric resiliency. Reduce deployment time and eliminate configuration errors.
Build cloud-managed datacenters with high-performance, end-to-end HPE storage fabrics orchestrated by HPE GreenLake for Storage Fabric Management.
A wide range of storage area network products and solutions that meet any customer requirements for performance, cost, scalability, manageability and investment protection.
Reach out to us now to embark on your networking journey!
We can't wait to talk to you about how
ServerDirect can empower your teams and organization to achieve their maximum potential.
At ServerDirect, we specialize in providing top-notch hardware server solutions and services
tailored to meet your unique needs. Our seasoned and professional experts are dedicated to guiding you every
step of the way, ensuring you find the perfect solution for your requirements. With our experienced tech team
and 24/7 support, you can trust that you're in good hands. As the market leader in Europe, we're committed to
delivering excellence in everything we do. Get in touch with us today to experience the ServerDirect
difference.