diff --git a/dist/chunks/FloatingViewer--x61GAzy.js b/dist/chunks/FloatingViewer-C567UXNF.js
similarity index 96%
rename from dist/chunks/FloatingViewer--x61GAzy.js
rename to dist/chunks/FloatingViewer-C567UXNF.js
index d2f4ab0d..c55ac405 100644
--- a/dist/chunks/FloatingViewer--x61GAzy.js
+++ b/dist/chunks/FloatingViewer-C567UXNF.js
@@ -1,14 +1,14 @@
-import { En as e, Mn as t, Sn as n, Wt as r, Yn as i, cn as a, dn as o, in as s, jn as c, kn as l, mn as u, pn as d, s as f, t as p, u as m, vn as h, wn as g, xn as _ } from "./config-C9a-wT5M.js";
+import { Cn as e, En as t, Kt as n, Nn as r, On as i, Pn as a, Zn as o, bn as s, gn as c, hn as l, jn as u, on as d, pn as f, s as p, t as m, u as h, un as g, wn as _ } from "./config-D56TZeFo.js";
import { a as v, i as y, o as b, s as x } from "./graphTraversal-DTdQWkn5.js";
-import { c as S, l as C, m as w, p as ee, s as T, t as E, u as D, v as O } from "./generationSectionState-DuXxSw-j.js";
+import { c as S, l as C, m as w, p as ee, s as T, t as E, u as D, v as O } from "./generationSectionState-BR-TS47u.js";
import { r as k } from "./events-1iwo5blr.js";
-import { C as A, D as j, E as M, T as N, _ as P, a as F, b as I, d as L, f as R, g as z, h as B, m as te, n as V, o as ne, p as H, r as re, s as ie, t as U, v as ae, w as oe, y as se } from "./tooltipShortcuts-Ury2eTek.js";
-import { I as ce } from "./mjr-primevue-C07IsEdU.js";
-import { C as le, S as ue, n as de, t as fe, w as pe } from "./genInfo-Dk8cerKp.js";
+import { C as A, D as j, E as M, T as N, _ as P, a as F, b as I, d as L, f as R, g as z, h as B, m as te, n as V, o as ne, p as H, r as re, s as ie, t as U, v as ae, w as oe, y as se } from "./tooltipShortcuts-BoJmznCQ.js";
+import { I as ce } from "./mjr-primevue-QrNPJaqR.js";
+import { C as le, S as ue, n as de, t as fe, w as pe } from "./genInfo-z8Muj1-U.js";
// ui/features/viewer/videoSync.ts
var me = () => {
try {
- return !!p?.DEBUG_VIEWER;
+ return !!m?.DEBUG_VIEWER;
} catch {
return !1;
}
@@ -592,7 +592,7 @@ function G(e) {
return a === ".gif" ? "gif" : Me.has(a) ? "video" : Ne.has(a) ? "audio" : ue.has(a) ? "model3d" : "image";
}
function Fe(e) {
- return e ? e.url ? String(e.url) : e.filename && i(e) || "" : "";
+ return e ? e.url ? String(e.url) : e.filename && o(e) || "" : "";
}
function K(e = "No media - select assets in the grid") {
let t = document.createElement("div");
@@ -743,7 +743,7 @@ function J(e, { fill: t = !1, controls: n = !0, initialMuted: r = !1, initialPla
canvasClassName: `mjr-mfv-media mjr-model3d-render-canvas${t ? " mjr-mfv-media--fill" : ""}`,
hintText: "Rotate: left drag Pan: right drag Zoom: wheel or middle drag",
disableViewerTransform: !0,
- pauseDuringExecution: !!p.FLOATING_VIEWER_PAUSE_DURING_EXECUTION
+ pauseDuringExecution: !!m.FLOATING_VIEWER_PAUSE_DURING_EXECUTION
});
let l = document.createElement("img");
return l.className = s, l.src = a, l.alt = String(e?.filename || ""), l.draggable = !1, (o === "gif" || c) && Ae(l, e, { kind: o === "gif" ? "gif" : "animated-image" }) || l;
@@ -905,12 +905,12 @@ var nt = class {
let t = e?.widgets?.[0], i = t?.inputEl ?? t?.element ?? t?.el ?? null;
i != null && "value" in i && i.value !== n.value && (i.value = n.value), r();
try {
- l(e);
+ u(e);
} catch {}
}), n._mjrAutoFit = r, this._noteTextarea = n, this._autoFits.push(r), c.appendChild(n), this._body = c, t.appendChild(c), this._el = t, this._applyExpandedState(), requestAnimationFrame(r), t;
}
- let u = e.widgets ?? [], d = !1;
- for (let t of u) {
+ let l = e.widgets ?? [], d = !1;
+ for (let t of l) {
let n = String(t.type || "").toLowerCase();
if (We.has(n) || t.hidden || t.options?.hidden) continue;
d = !0;
@@ -952,7 +952,7 @@ var nt = class {
}
let e = this._node;
if (e) try {
- d(e, {
+ l(e, {
select: !1,
focusCanvas: !1
});
@@ -1085,7 +1085,7 @@ var it = class {
};
function at() {
try {
- return h();
+ return s();
} catch {
return null;
}
@@ -1135,14 +1135,14 @@ function ut(e, t, n) {
}
function dt(e) {
try {
- d(e);
+ l(e);
} catch (e) {
console.debug?.("[MFV] _focusNode", e);
}
}
function ft() {
try {
- return n();
+ return _();
} catch (e) {
console.debug?.("[MFV] _getSelectedNodeIds", e);
}
@@ -1168,66 +1168,66 @@ function ht(e) {
}
}
function gt(e) {
- return g(e);
+ return t(e);
}
function _t(e) {
- let t = h();
+ let t = s();
if (!e || !t || typeof t.add != "function") return !1;
let n = String(e?.type || e?.class_type || e?.comfyClass || "").trim(), r = null;
try {
- r = o(n);
+ r = f(n);
} catch (e) {
console.debug?.("[MFV Graph Map] createNode failed", e);
}
if (!r) return !1;
try {
let t = typeof structuredClone == "function" ? structuredClone(e) : JSON.parse(JSON.stringify(e));
- return St(t, e), delete t.id, Array.isArray(t.pos) && (t.pos = [Number(t.pos[0] || 0) + 32, Number(t.pos[1] || 0) + 32]), typeof r.configure == "function" ? r.configure(t) : Object.assign(r, t), a(r);
+ return St(t, e), delete t.id, Array.isArray(t.pos) && (t.pos = [Number(t.pos[0] || 0) + 32, Number(t.pos[1] || 0) + 32]), typeof r.configure == "function" ? r.configure(t) : Object.assign(r, t), g(r);
} catch (e) {
return console.debug?.("[MFV Graph Map] import node failed", e), !1;
}
}
function vt(e) {
- let n = yt();
- if (!e || !n) return {
+ let t = yt();
+ if (!e || !t) return {
ok: !1,
count: 0,
reason: "no-target"
};
- let r = bt(e), i = Array.isArray(n.widgets) ? n.widgets : [];
- if (!r.length || !i.length) return {
+ let n = bt(e), r = Array.isArray(t.widgets) ? t.widgets : [];
+ if (!n.length || !r.length) return {
ok: !1,
count: 0,
reason: "no-widgets"
};
- let a = /* @__PURE__ */ new Map();
- i.forEach((e, t) => {
- for (let n of wt(e)) a.has(n) || a.set(n, {
+ let i = /* @__PURE__ */ new Map();
+ r.forEach((e, t) => {
+ for (let n of wt(e)) i.has(n) || i.set(n, {
widget: e,
index: t
});
});
- let o = Et(B(e)), s = Et(n?.type || n?.comfyClass || n?.class_type), c = !!(o && s && o === s), l = /* @__PURE__ */ new Set(), u = 0;
- for (let e of r) {
- let t = Tt(e.label), r = t ? a.get(t) : null, o = e.index;
- if ((!r || l.has(r.index)) && c && typeof o == "number" && Number.isInteger(o)) {
- let e = i[o];
- e && (r = {
+ let o = Et(B(e)), s = Et(t?.type || t?.comfyClass || t?.class_type), c = !!(o && s && o === s), l = /* @__PURE__ */ new Set(), u = 0;
+ for (let e of n) {
+ let n = Tt(e.label), a = n ? i.get(n) : null, o = e.index;
+ if ((!a || l.has(a.index)) && c && typeof o == "number" && Number.isInteger(o)) {
+ let e = r[o];
+ e && (a = {
widget: e,
index: o
});
}
- r && !l.has(r.index) && ne(r.widget, X(e.value), n) && (l.add(r.index), u += 1);
+ a && !l.has(a.index) && ne(a.widget, X(e.value), t) && (l.add(a.index), u += 1);
}
- return t(), {
+ return a(), {
ok: u > 0,
count: u,
reason: u > 0 ? "ok" : "no-match",
- targetNode: n
+ targetNode: t
};
}
function yt() {
- return u() || null;
+ return c() || null;
}
function bt(e) {
let t = te(e);
@@ -1735,14 +1735,14 @@ var Ht = 16, Ut = 250, Wt = class {
let t = document.createElement("div");
t.className = "mjr-ws-sidebar-header";
let n = document.createElement("span");
- n.className = "mjr-ws-sidebar-title", n.textContent = s("workflowSidebar.nodes", "Nodes"), t.appendChild(n);
+ n.className = "mjr-ws-sidebar-title", n.textContent = d("workflowSidebar.nodes", "Nodes"), t.appendChild(n);
let r = document.createElement("button");
- r.type = "button", r.className = "mjr-icon-btn", r.title = s("workflowSidebar.close", "Close sidebar"), r.innerHTML = "", r.addEventListener("click", () => {
+ r.type = "button", r.className = "mjr-icon-btn", r.title = d("workflowSidebar.close", "Close sidebar"), r.innerHTML = "", r.addEventListener("click", () => {
let e = this._activeMode === "graph";
this.hide(), e && this._onCloseGraphMap?.(), this._onClose?.();
}), t.appendChild(r), e.appendChild(t);
let i = document.createElement("div");
- i.className = "mjr-ws-tab-bar", this._nodesModeBtn = this._makeModeButton(s("workflowSidebar.nodes", "Nodes"), "pi pi-sliders-h", "nodes"), this._graphModeBtn = this._makeModeButton(s("workflowSidebar.graphMap", "Graph Map"), "pi pi-sitemap", "graph"), i.appendChild(this._nodesModeBtn), i.appendChild(this._graphModeBtn), e.appendChild(i);
+ i.className = "mjr-ws-tab-bar", this._nodesModeBtn = this._makeModeButton(d("workflowSidebar.nodes", "Nodes"), "pi pi-sliders-h", "nodes"), this._graphModeBtn = this._makeModeButton(d("workflowSidebar.graphMap", "Graph Map"), "pi pi-sitemap", "graph"), i.appendChild(this._nodesModeBtn), i.appendChild(this._graphModeBtn), e.appendChild(i);
let a = document.createElement("div");
return a.className = "mjr-ws-sidebar-resizer", a.setAttribute("role", "separator"), a.setAttribute("aria-orientation", "vertical"), a.setAttribute("aria-hidden", "true"), e.appendChild(a), this._bindResize(a), this._body = document.createElement("div"), this._body.className = "mjr-ws-sidebar-body", e.appendChild(this._body), this._renderActiveMode(), e;
}
@@ -1834,7 +1834,7 @@ var Q = Object.freeze({
"latent2rgb",
"taesd",
"none"
-]), Jt = "progress-update", Yt = (e, t = "") => s(e, t, void 0);
+]), Jt = "progress-update", Yt = (e, t = "") => d(e, t, void 0);
function Xt() {
let t = document.createElement("div");
t.className = "mjr-mfv-run-controls";
@@ -1842,82 +1842,82 @@ function Xt() {
n.type = "button", n.className = "mjr-icon-btn mjr-mfv-run-btn";
let r = Yt("tooltip.queuePrompt", "Queue Prompt (Run)");
n.title = r, n.setAttribute("aria-label", r);
- let i = document.createElement("i");
- i.className = "pi pi-play", i.setAttribute("aria-hidden", "true"), n.appendChild(i);
- let a = document.createElement("button");
- a.type = "button", a.className = "mjr-icon-btn mjr-mfv-stop-btn";
- let o = document.createElement("i");
- o.className = "pi pi-stop", o.setAttribute("aria-hidden", "true"), a.appendChild(o), t.appendChild(n), t.appendChild(a);
- let s = Q.IDLE, c = !1, l = !1, u = null;
- function d() {
- u != null && (clearTimeout(u), u = null);
+ let a = document.createElement("i");
+ a.className = "pi pi-play", a.setAttribute("aria-hidden", "true"), n.appendChild(a);
+ let o = document.createElement("button");
+ o.type = "button", o.className = "mjr-icon-btn mjr-mfv-stop-btn";
+ let s = document.createElement("i");
+ s.className = "pi pi-stop", s.setAttribute("aria-hidden", "true"), o.appendChild(s), t.appendChild(n), t.appendChild(o);
+ let c = Q.IDLE, l = !1, u = !1, d = null;
+ function f() {
+ d != null && (clearTimeout(d), d = null);
}
- function f(e, { canStop: t = !1 } = {}) {
- s = e, n.classList.toggle("running", s === Q.RUNNING), n.classList.toggle("stopping", s === Q.STOPPING), n.classList.toggle("error", s === Q.ERROR), n.disabled = s === Q.RUNNING || s === Q.STOPPING, a.disabled = !t || s === Q.STOPPING, a.classList.toggle("active", t && s !== Q.STOPPING), a.classList.toggle("stopping", s === Q.STOPPING), s === Q.RUNNING || s === Q.STOPPING ? i.className = "pi pi-spin pi-spinner" : i.className = "pi pi-play";
+ function p(e, { canStop: t = !1 } = {}) {
+ c = e, n.classList.toggle("running", c === Q.RUNNING), n.classList.toggle("stopping", c === Q.STOPPING), n.classList.toggle("error", c === Q.ERROR), n.disabled = c === Q.RUNNING || c === Q.STOPPING, o.disabled = !t || c === Q.STOPPING, o.classList.toggle("active", t && c !== Q.STOPPING), o.classList.toggle("stopping", c === Q.STOPPING), c === Q.RUNNING || c === Q.STOPPING ? a.className = "pi pi-spin pi-spinner" : a.className = "pi pi-play";
}
- function p() {
+ function m() {
let e = Yt("tooltip.queueStop", "Stop Generation");
- a.title = e, a.setAttribute("aria-label", e);
+ o.title = e, o.setAttribute("aria-label", e);
}
- function m(e = j.getSnapshot(), { authoritative: t = !1 } = {}) {
+ function h(e = j.getSnapshot(), { authoritative: t = !1 } = {}) {
let n = Math.max(0, Number(e?.queue) || 0), r = e?.prompt || null, i = !!r?.currentlyExecuting, a = !!(r && (r.currentlyExecuting || r.errorDetails)), o = n > 0 || a, s = !!r?.errorDetails;
- t && n === 0 && !r && (c = !1, l = !1);
- let u = c || l || i || n > 0;
- if ((i || o || n > 0) && (c = !1), s) l = !1, d(), f(Q.ERROR, { canStop: !1 });
- else if (l) {
- if (!u) {
- l = !1, m(e);
+ t && n === 0 && !r && (l = !1, u = !1);
+ let c = l || u || i || n > 0;
+ if ((i || o || n > 0) && (l = !1), s) u = !1, f(), p(Q.ERROR, { canStop: !1 });
+ else if (u) {
+ if (!c) {
+ u = !1, h(e);
return;
}
- f(Q.STOPPING, { canStop: !1 });
- } else c || i || o || n > 0 ? (d(), f(Q.RUNNING, { canStop: !0 })) : (d(), f(Q.IDLE, { canStop: !1 }));
+ p(Q.STOPPING, { canStop: !1 });
+ } else l || i || o || n > 0 ? (f(), p(Q.RUNNING, { canStop: !0 })) : (f(), p(Q.IDLE, { canStop: !1 }));
}
- function h() {
- c = !1, l = !1, d(), f(Q.ERROR, { canStop: !1 }), u = setTimeout(() => {
- u = null, m();
+ function g() {
+ l = !1, u = !1, f(), p(Q.ERROR, { canStop: !1 }), d = setTimeout(() => {
+ d = null, h();
}, 1500);
}
- async function g() {
- return { tracked: await e(_()) };
+ async function _() {
+ return { tracked: await i(e()) };
}
async function v() {
- if (s !== Q.RUNNING && s !== Q.STOPPING) {
- c = !0, l = !1, m();
+ if (c !== Q.RUNNING && c !== Q.STOPPING) {
+ l = !0, u = !1, h();
try {
- (await nn())?.tracked || (c = !1), m();
+ (await nn())?.tracked || (l = !1), h();
} catch (e) {
- console.error?.("[MFV Run]", e), h();
+ console.error?.("[MFV Run]", e), g();
}
}
}
async function y() {
- if (s === Q.RUNNING) {
- l = !0, m();
+ if (c === Q.RUNNING) {
+ u = !0, h();
try {
- (await g())?.tracked || (l = !1, c = !1), m();
+ (await _())?.tracked || (u = !1, l = !1), h();
} catch (e) {
- console.error?.("[MFV Stop]", e), l = !1, m();
+ console.error?.("[MFV Stop]", e), u = !1, h();
}
}
}
- p(), a.disabled = !0, n.addEventListener("click", v), a.addEventListener("click", y);
+ m(), o.disabled = !0, n.addEventListener("click", v), o.addEventListener("click", y);
let b = (e) => {
- m(e?.detail || j.getSnapshot(), { authoritative: !0 });
+ h(e?.detail || j.getSnapshot(), { authoritative: !0 });
};
return j.addEventListener(Jt, b), M({ timeoutMs: 4e3 }).catch((e) => {
console.debug?.(e);
- }), m(), {
+ }), h(), {
el: t,
dispose() {
- d(), n.removeEventListener("click", v), a.removeEventListener("click", y), j.removeEventListener(Jt, b);
+ f(), n.removeEventListener("click", v), o.removeEventListener("click", y), j.removeEventListener(Jt, b);
}
};
}
-function Zt(e = p.MFV_PREVIEW_METHOD) {
+function Zt(e = m.MFV_PREVIEW_METHOD) {
let t = String(e || "").trim().toLowerCase();
- return qt.has(t) ? t : p.MFV_PREVIEW_METHOD || "auto";
+ return qt.has(t) ? t : m.MFV_PREVIEW_METHOD || "auto";
}
-function Qt(e, t = p.MFV_PREVIEW_METHOD) {
+function Qt(e, t = m.MFV_PREVIEW_METHOD) {
let n = Zt(t), r = {
...e?.extra_data || {},
extra_pnginfo: { ...e?.extra_data?.extra_pnginfo || {} }
@@ -1927,7 +1927,7 @@ function Qt(e, t = p.MFV_PREVIEW_METHOD) {
extra_data: r
};
}
-function $t(e, { previewMethod: t = p.MFV_PREVIEW_METHOD, clientId: n = null } = {}) {
+function $t(e, { previewMethod: t = m.MFV_PREVIEW_METHOD, clientId: n = null } = {}) {
let r = Qt(e, t), i = {
prompt: r?.output,
extra_data: r?.extra_data || {}
@@ -1950,12 +1950,12 @@ function tn(e) {
}), t;
}
async function nn() {
- let e = _();
- if (!e) throw Error("ComfyUI app not available");
- let t = tn(v(e));
- return { tracked: await c({
- app: e,
- forceNativeQueue: t,
+ let t = e();
+ if (!t) throw Error("ComfyUI app not available");
+ let n = tn(v(t));
+ return { tracked: await r({
+ app: t,
+ forceNativeQueue: n,
resolvePromptData(e) {
return typeof e?.graphToPrompt == "function" ? e.graphToPrompt() : null;
},
@@ -2083,7 +2083,7 @@ function dn(e) {
let i = document.createElement("span");
i.textContent = "Majoor Floating Viewer", n.append(r, i);
let a = document.createElement("button");
- e._closeBtn = a, a.type = "button", a.className = "mjr-icon-btn mjr-mfv-close-btn", V(a, s("tooltip.closeViewer", "Close viewer"), "Esc");
+ e._closeBtn = a, a.type = "button", a.className = "mjr-icon-btn mjr-mfv-close-btn", V(a, d("tooltip.closeViewer", "Close viewer"), "Esc");
let o = document.createElement("i");
return o.className = "pi pi-times", o.setAttribute("aria-hidden", "true"), a.appendChild(o), t.appendChild(n), t.appendChild(a), t;
}
@@ -2101,31 +2101,31 @@ function fn(e) {
};
}, n = document.createElement("div");
n.className = "mjr-mfv-toolbar";
- let r = on("", s("viewer.mode", "Viewer mode"), [
+ let r = on("", d("viewer.mode", "Viewer mode"), [
{
value: W.SIMPLE,
- html: `${s("viewer.mode.simple", "Simple")}`
+ html: `${d("viewer.mode.simple", "Simple")}`
},
{
value: W.AB,
- html: `${s("viewer.mode.abCompare", "A/B Compare")}`
+ html: `${d("viewer.mode.abCompare", "A/B Compare")}`
},
{
value: W.SIDE,
- html: `${s("viewer.mode.sideBySide", "Side-by-side")}`
+ html: `${d("viewer.mode.sideBySide", "Side-by-side")}`
},
{
value: W.GRID,
- html: `${s("viewer.mode.grid", "Grid")}`
+ html: `${d("viewer.mode.grid", "Grid")}`
},
{
value: W.GRAPH,
- html: `${s("workflowSidebar.graphMap", "Graph Map")}`
+ html: `${d("workflowSidebar.graphMap", "Graph Map")}`
}
], e);
e._modeDrop = r, e._modeBtn = r.trigger, e._modeSelect = r.select, e._updateModeBtnUI(), n.appendChild(r.wrap);
let i = document.createElement("button");
- i.type = "button", i.className = "mjr-icon-btn mjr-mfv-pin-trigger", i.title = s("viewer.pinSlots", "Pin slots A/B/C/D"), i.setAttribute("aria-haspopup", "dialog"), i.setAttribute("aria-expanded", "false"), i.innerHTML = "", n.appendChild(i);
+ i.type = "button", i.className = "mjr-icon-btn mjr-mfv-pin-trigger", i.title = d("viewer.pinSlots", "Pin slots A/B/C/D"), i.setAttribute("aria-haspopup", "dialog"), i.setAttribute("aria-expanded", "false"), i.innerHTML = "", n.appendChild(i);
let a = document.createElement("div");
a.className = "mjr-mfv-pin-popover", e.element.appendChild(a);
let o = document.createElement("div");
@@ -2144,25 +2144,25 @@ function fn(e) {
i.className = "pi pi-map-marker mjr-menu-item-check", i.style.opacity = "0", n.appendChild(r), n.appendChild(i), o.appendChild(n), e._pinBtns[t] = n;
}
e._updatePinUI(), e._pinBtn = i, e._pinPopover = a;
- let c = () => {
+ let s = () => {
let t = i.getBoundingClientRect(), n = e.element.getBoundingClientRect();
a.style.left = `${t.left - n.left}px`, a.style.top = `${t.bottom - n.top + 4}px`, a.classList.add("is-open"), i.setAttribute("aria-expanded", "true");
};
e._closePinPopover = () => {
a.classList.remove("is-open"), i.setAttribute("aria-expanded", "false");
}, i.addEventListener("click", (t) => {
- t.stopPropagation(), a.classList.contains("is-open") ? e._closePinPopover() : (e._closeAllToolbarPopovers?.(), c());
+ t.stopPropagation(), a.classList.contains("is-open") ? e._closePinPopover() : (e._closeAllToolbarPopovers?.(), s());
});
- let l = document.createElement("button");
- l.type = "button", l.className = "mjr-icon-btn mjr-mfv-guides-trigger", l.title = "Guides", l.setAttribute("aria-haspopup", "listbox"), l.setAttribute("aria-expanded", "false");
- let u = document.createElement("img");
- u.src = new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKi0lEQVR4nO2d+28dxRXH58dSQIW2gIoqpP7YX4qqUtLS2A4xNIQCMQTHTlOgCZDEia/vtR3b+O3r2PEjNnbiujFuo6oFU6DQl1rRpqjlEWiiUlQU+Hu+1Vjfg45Wd2d87fXYjPZIR7u5dnbn7mfPzHnt2phccskll1xyySWXXHLJJZfIBcBXAbQAWADwCwBlALXbYFzfBHAQwAkARwDsBnC9iVn4Zf8L4BMA1wB8DOB/AD4CsALg9i0Y01cA9AG4COCXAJYBvADgAoBZADUmRgHQA+BTwrgC4C8A/gjg7wA+pP4NwK0Bx3QTL/pFWus8gLPUc7Riu603MQmA79AiPiEIe/f9HMAi1d6Z7wG4CuB8wHG1E8YSgNMARgAMAxiiTgCYAzAD4GsmFuEUYGH8qwKMn1EvAvg3gA8A3BFgTLfxRrCWMVYBxiCAAQCTBNJsYhEAl2khKykw7NRwHsAlAO/bxTXAmO4jkAUHjAF+bqewXhOLcPH+mBcgDcZ5rikWXluAMT3GBXzOAaOf/7ZWMmZiEeVNLTtgnAPwewDv2rk9wJj2cyqddcAQPQNg3MQiyrVddsCYB/AGgHcAlAIBucDpKA1GH3XcLvomFiGMj3hHpsGYB/A6gLcBFANNWdZapx0werm1HtioiUUI40MCSYMxB+B3AP4JoBBgTA0cy5QDhuioXWdMLEIY/6G/nwZjDsBrAN4KBGQfxzDhgPEct3bRHzSxCGFcpcubBuN5AK8C+AeAkwHG9AjPe8YBQ9ROaf0mFiGMKwSSBmMWwCuMRU4EGNNDPO+4A0YPtT+2OOQKo/BFB4xZAL9lbqslEJAZRulpMLq5Xf3cxCKE8T49rDQYMwBeBvAmgGMBxvQgXd5RBwxR+1m3iUUI4zKBpMGYAfASgL8GArKXEXjZAaOLavc7zXYTAN+m63pZpUMk6BPXVhZwmaYExrt0M9NgnAXwIrPBfwbwJwB/YPT+Ol3iVzmtrRDebwD8GsCvUuoZiyqFLueVc01yQR/xwDhlYSS2yf2kdtibitBv2SwYPSqFfm0dMN7hxUmDMc0LHBLGOKP0LGGI6mPcvRmVvk9VCn2FaesXqEtUuRCSr1pQet4DY5oqn01RJ6kTvIhyIce5IJ+mlpWOqAzuYIVIXFIisna4YHTyju9g/aSU0KJNhlILAFqVdqjj3ZkVjFtV2bVSccmVm3It4EkYUwrARAUAYwkAoykAXIlClzdVDYyiAlFQIE5ST1Bb+Hvd/N0vZAGkRZVdcxioCsZxaifPsXEr4QW/Ru8nh4GqYRxTVrInCyDLXMBt8SiHgaphHOPv2nM9nAWQMr0pG0HnMFA1jKM8hj1vXRZAapVba13LHAaqgnFMnfPrGwZCKCsE8h59/q2EMfw5gnGc57DnbMoEBoHczia2qwz4LiWCtzdUAPcag7hXEoHciyq+SIMxn4hlxBJ1cCeg5VhyHIE5quAJtAEFSeB0rRFGkZ/Lz9tT4hH5P7LfoW4CC+aGzIAQyi28OB9UiMDfZqXvLdYzLnHNeZPemaRDZjyWccERgS9VGYGLdUlwuJpCl0RhIgJ3WUZbSgSuVaxOJyQFui2EXZcpjASYO9iULAuVDCr5xbSZSzrkrGeaWiQMexEPAfgxz9UM4ACARjYn2Hr4oyzD7mOx6UdUm8V9wLqYAO5n/1U9gHsB7KLW8LhiIa5pSgPZxePcmzie/mw3j/8tAF8y21HU9DbtWTMWaRlNAcZ0j7IQ15pREMswsYhaa6Y9C/gCp6nGAGP6gcrMuhbwVpkFTCyisrZTHm/qHNeM/YGAyDTr8qaiBCIe2JTHtZ3nAr4/4JTV4XFtT8YIROoZk544Y47p/McCT1muOCNKIFJcmvAEfc/TtW0ICKTdE/SdEJfWxCIqQJzwpENm6WntCzCmnQkgaRF4i8QZJhZR0fq4Jx1ylp7WIwGBdHjSIS0xWojUwMc9ualpeloPBbYQV27quETfJhZR6ZAxT6Jwigt7SCAlT6IwSiCSmzrtydpOcGF/MLCFuLK2kj7vMbGIShSe9qTQzzBRuDcQkC5aiCuFflSytiYWUVnbUU89Y5wL+wMBxlSjgKTBeJbb6CxEUuhlT3FpjMHjnsAWkgZDdLUL3sQiqp5R9lT6Rjlt3R/YQtJgPKOmrKiASHFpxFN2LXPaui8wkDQYzygLiepxBKn0jXhq4CNc+OsDAelmYjENxtPcrpZ9TSyiyq7DnoaEIU5buwOMqVZZSBqMI9yPzkKkBj7k6Q4ZJLRdgYCIhaTBOML91c4VE4uohoQhT6vOAKHUbQGQSjAOxwpEukMGPX1Tffx5beA1JA3GYe6vPh5tYhHVqjPgaWLrpdYEspAeFqfSYPyU29VxmVhE9U31ezoKn6PuDDCmOmUhaTCeihWINLH1edo7e7h/T0ALKTpgPMX97QuEb2KrVw1qD/OZb2lS28smtR+qRjXpKOzz9Np2sRPENsTdTd2R2Bf9XgXVn3+fjQyyTepBNWWlwXhSWwjXnZ3c1hBqndqK2ua5uwDcvNkvjGxnXmq97Z29m/yAZdca2jtl26OApMF4UllIX0L7Ey68xFeDSofYdZl5X++XE2/vXFhn4/NaHrDsrNAErXU9jc+6cVo/qFlkpjcNxhNU/VCnaPLfSe1UcZU9541ZApH32i7xQn+eHgl41hNnuGD8hCp9xtJrLP3GTdQDqvf4cep+/j95m9DhLN/4LJZh80w5DKwJhjSFN/N62VniG1kAOcg1w3YV5jBQFYxHqW2cujdeeOMXXmZHSA4DVcNo4JjKmXT180ssqZdF5jBQFYwGjrWcSYssfeoLKlubw0BVMBp4PazHuSMLINfTvV1Q7yfMYWBNMPZxnKO8Vl/cMBBCqVFB32Tiub3ki1z0q/G61wGjrcKLXDSUlgpQjlaA8nQCShKMwHliDTCqBdTI47UThtXvZgJDQalPPOa8ngcsfTDaM4zA5cbQL7PsraCFNcCoFIEPKa9T3NqRxFuJJDDenHKC/ZMNHGgvA8Qsn3Yt8OchYfTxvK5p6uA6YAzzO1hLuc1sN1FQfGtGO38vRD1kN4G0eqakz4CYWETd9b4FvEQL2BkQSMGzPjSLZZhYRE1Z7R5vqp1AarYASNpi3STTlIlF1JRV8ri2pcBA+jkGl+ckQIZjnbJccUYpMJABjsHlxh6QxdtECKToCfpKBBKi66SeFtLqiSmiBtLmicBLdGFrA09Zrgi8UVxbEykQVzqkFNhCBhSQtHRIo8QZJkIgBU9uqkgLqQkMxJWbEiBlEyGQVk+isBRwyqpnfNHqSRQ+LhG4iUVUSqTVk7UtEUiIwHAXgRQ8WdtGSYeYWIQXu0sBSUuhdzAHdWeAMd1FIJ2eFPohAjllYhE2z3XxgrteGNlDC7kpwJhuVgW3Q456hqTQN/0dXsGE72uUDG4x5VWqpwijIeC4pCOkl/vJSp8Ul8rbMmu7EWEr6Gd/HEUFibJudPMCXBdwTDfw/JJGL/IGaVFl19EQTsaWiF0bGItUqmc0Zd5yubYx3cgqYqXiUn/mlb7tJvZPNhDMHs7RdZm98XkDYpvY+DbTZq4nOzKrgeeSSy655JJLLrnkkksuuZjtK/8HkUQ57PG6Io0AAAAASUVORK5CYII=", "" + import.meta.url).href, u.className = "mjr-mfv-guides-icon", u.alt = "", u.setAttribute("aria-hidden", "true"), l.appendChild(u), n.appendChild(l);
- let d = document.createElement("div");
- d.className = "mjr-mfv-guides-popover", e.element.appendChild(d);
+ let c = document.createElement("button");
+ c.type = "button", c.className = "mjr-icon-btn mjr-mfv-guides-trigger", c.title = "Guides", c.setAttribute("aria-haspopup", "listbox"), c.setAttribute("aria-expanded", "false");
+ let l = document.createElement("img");
+ l.src = new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKi0lEQVR4nO2d+28dxRXH58dSQIW2gIoqpP7YX4qqUtLS2A4xNIQCMQTHTlOgCZDEia/vtR3b+O3r2PEjNnbiujFuo6oFU6DQl1rRpqjlEWiiUlQU+Hu+1Vjfg45Wd2d87fXYjPZIR7u5dnbn7mfPzHnt2phccskll1xyySWXXHLJJZfIBcBXAbQAWADwCwBlALXbYFzfBHAQwAkARwDsBnC9iVn4Zf8L4BMA1wB8DOB/AD4CsALg9i0Y01cA9AG4COCXAJYBvADgAoBZADUmRgHQA+BTwrgC4C8A/gjg7wA+pP4NwK0Bx3QTL/pFWus8gLPUc7Riu603MQmA79AiPiEIe/f9HMAi1d6Z7wG4CuB8wHG1E8YSgNMARgAMAxiiTgCYAzAD4GsmFuEUYGH8qwKMn1EvAvg3gA8A3BFgTLfxRrCWMVYBxiCAAQCTBNJsYhEAl2khKykw7NRwHsAlAO/bxTXAmO4jkAUHjAF+bqewXhOLcPH+mBcgDcZ5rikWXluAMT3GBXzOAaOf/7ZWMmZiEeVNLTtgnAPwewDv2rk9wJj2cyqddcAQPQNg3MQiyrVddsCYB/AGgHcAlAIBucDpKA1GH3XcLvomFiGMj3hHpsGYB/A6gLcBFANNWdZapx0werm1HtioiUUI40MCSYMxB+B3AP4JoBBgTA0cy5QDhuioXWdMLEIY/6G/nwZjDsBrAN4KBGQfxzDhgPEct3bRHzSxCGFcpcubBuN5AK8C+AeAkwHG9AjPe8YBQ9ROaf0mFiGMKwSSBmMWwCuMRU4EGNNDPO+4A0YPtT+2OOQKo/BFB4xZAL9lbqslEJAZRulpMLq5Xf3cxCKE8T49rDQYMwBeBvAmgGMBxvQgXd5RBwxR+1m3iUUI4zKBpMGYAfASgL8GArKXEXjZAaOLavc7zXYTAN+m63pZpUMk6BPXVhZwmaYExrt0M9NgnAXwIrPBfwbwJwB/YPT+Ol3iVzmtrRDebwD8GsCvUuoZiyqFLueVc01yQR/xwDhlYSS2yf2kdtibitBv2SwYPSqFfm0dMN7hxUmDMc0LHBLGOKP0LGGI6mPcvRmVvk9VCn2FaesXqEtUuRCSr1pQet4DY5oqn01RJ6kTvIhyIce5IJ+mlpWOqAzuYIVIXFIisna4YHTyju9g/aSU0KJNhlILAFqVdqjj3ZkVjFtV2bVSccmVm3It4EkYUwrARAUAYwkAoykAXIlClzdVDYyiAlFQIE5ST1Bb+Hvd/N0vZAGkRZVdcxioCsZxaifPsXEr4QW/Ru8nh4GqYRxTVrInCyDLXMBt8SiHgaphHOPv2nM9nAWQMr0pG0HnMFA1jKM8hj1vXRZAapVba13LHAaqgnFMnfPrGwZCKCsE8h59/q2EMfw5gnGc57DnbMoEBoHczia2qwz4LiWCtzdUAPcag7hXEoHciyq+SIMxn4hlxBJ1cCeg5VhyHIE5quAJtAEFSeB0rRFGkZ/Lz9tT4hH5P7LfoW4CC+aGzIAQyi28OB9UiMDfZqXvLdYzLnHNeZPemaRDZjyWccERgS9VGYGLdUlwuJpCl0RhIgJ3WUZbSgSuVaxOJyQFui2EXZcpjASYO9iULAuVDCr5xbSZSzrkrGeaWiQMexEPAfgxz9UM4ACARjYn2Hr4oyzD7mOx6UdUm8V9wLqYAO5n/1U9gHsB7KLW8LhiIa5pSgPZxePcmzie/mw3j/8tAF8y21HU9DbtWTMWaRlNAcZ0j7IQ15pREMswsYhaa6Y9C/gCp6nGAGP6gcrMuhbwVpkFTCyisrZTHm/qHNeM/YGAyDTr8qaiBCIe2JTHtZ3nAr4/4JTV4XFtT8YIROoZk544Y47p/McCT1muOCNKIFJcmvAEfc/TtW0ICKTdE/SdEJfWxCIqQJzwpENm6WntCzCmnQkgaRF4i8QZJhZR0fq4Jx1ylp7WIwGBdHjSIS0xWojUwMc9ualpeloPBbYQV27quETfJhZR6ZAxT6Jwigt7SCAlT6IwSiCSmzrtydpOcGF/MLCFuLK2kj7vMbGIShSe9qTQzzBRuDcQkC5aiCuFflSytiYWUVnbUU89Y5wL+wMBxlSjgKTBeJbb6CxEUuhlT3FpjMHjnsAWkgZDdLUL3sQiqp5R9lT6Rjlt3R/YQtJgPKOmrKiASHFpxFN2LXPaui8wkDQYzygLiepxBKn0jXhq4CNc+OsDAelmYjENxtPcrpZ9TSyiyq7DnoaEIU5buwOMqVZZSBqMI9yPzkKkBj7k6Q4ZJLRdgYCIhaTBOML91c4VE4uohoQhT6vOAKHUbQGQSjAOxwpEukMGPX1Tffx5beA1JA3GYe6vPh5tYhHVqjPgaWLrpdYEspAeFqfSYPyU29VxmVhE9U31ezoKn6PuDDCmOmUhaTCeihWINLH1edo7e7h/T0ALKTpgPMX97QuEb2KrVw1qD/OZb2lS28smtR+qRjXpKOzz9Np2sRPENsTdTd2R2Bf9XgXVn3+fjQyyTepBNWWlwXhSWwjXnZ3c1hBqndqK2ua5uwDcvNkvjGxnXmq97Z29m/yAZdca2jtl26OApMF4UllIX0L7Ey68xFeDSofYdZl5X++XE2/vXFhn4/NaHrDsrNAErXU9jc+6cVo/qFlkpjcNxhNU/VCnaPLfSe1UcZU9541ZApH32i7xQn+eHgl41hNnuGD8hCp9xtJrLP3GTdQDqvf4cep+/j95m9DhLN/4LJZh80w5DKwJhjSFN/N62VniG1kAOcg1w3YV5jBQFYxHqW2cujdeeOMXXmZHSA4DVcNo4JjKmXT180ssqZdF5jBQFYwGjrWcSYssfeoLKlubw0BVMBp4PazHuSMLINfTvV1Q7yfMYWBNMPZxnKO8Vl/cMBBCqVFB32Tiub3ki1z0q/G61wGjrcKLXDSUlgpQjlaA8nQCShKMwHliDTCqBdTI47UThtXvZgJDQalPPOa8ngcsfTDaM4zA5cbQL7PsraCFNcCoFIEPKa9T3NqRxFuJJDDenHKC/ZMNHGgvA8Qsn3Yt8OchYfTxvK5p6uA6YAzzO1hLuc1sN1FQfGtGO38vRD1kN4G0eqakz4CYWETd9b4FvEQL2BkQSMGzPjSLZZhYRE1Z7R5vqp1AarYASNpi3STTlIlF1JRV8ri2pcBA+jkGl+ckQIZjnbJccUYpMJABjsHlxh6QxdtECKToCfpKBBKi66SeFtLqiSmiBtLmicBLdGFrA09Zrgi8UVxbEykQVzqkFNhCBhSQtHRIo8QZJkIgBU9uqkgLqQkMxJWbEiBlEyGQVk+isBRwyqpnfNHqSRQ+LhG4iUVUSqTVk7UtEUiIwHAXgRQ8WdtGSYeYWIQXu0sBSUuhdzAHdWeAMd1FIJ2eFPohAjllYhE2z3XxgrteGNlDC7kpwJhuVgW3Q456hqTQN/0dXsGE72uUDG4x5VWqpwijIeC4pCOkl/vJSp8Ul8rbMmu7EWEr6Gd/HEUFibJudPMCXBdwTDfw/JJGL/IGaVFl19EQTsaWiF0bGItUqmc0Zd5yubYx3cgqYqXiUn/mlb7tJvZPNhDMHs7RdZm98XkDYpvY+DbTZq4nOzKrgeeSSy655JJLLrnkkksuuZjtK/8HkUQ57PG6Io0AAAAASUVORK5CYII=", "" + import.meta.url).href, l.className = "mjr-mfv-guides-icon", l.alt = "", l.setAttribute("aria-hidden", "true"), c.appendChild(l), n.appendChild(c);
+ let u = document.createElement("div");
+ u.className = "mjr-mfv-guides-popover", e.element.appendChild(u);
let f = document.createElement("div");
- f.className = "mjr-menu", f.style.cssText = "display:grid;gap:4px;", d.appendChild(f);
+ f.className = "mjr-menu", f.style.cssText = "display:grid;gap:4px;", u.appendChild(f);
let p = document.createElement("select");
- p.style.cssText = "position:absolute;opacity:0;pointer-events:none;width:0;height:0;overflow:hidden;", d.appendChild(p);
+ p.style.cssText = "position:absolute;opacity:0;pointer-events:none;width:0;height:0;overflow:hidden;", u.appendChild(p);
let m = [
{
value: "0",
@@ -2191,15 +2191,15 @@ function fn(e) {
let i = document.createElement("i");
i.className = "pi pi-check mjr-menu-item-check", i.style.opacity = e.value === h ? "1" : "0", n.appendChild(r), n.appendChild(i), f.appendChild(n), g.push(n), e.value === h && n.classList.add("is-active");
}
- p.value = h, l.classList.toggle("is-on", h !== "0"), e._guidesSelect = p, e._guideBtn = l, e._guidePopover = d;
+ p.value = h, c.classList.toggle("is-on", h !== "0"), e._guidesSelect = p, e._guideBtn = c, e._guidePopover = u;
let _ = () => {
- let t = l.getBoundingClientRect(), n = e.element.getBoundingClientRect();
- d.style.left = `${t.left - n.left}px`, d.style.top = `${t.bottom - n.top + 4}px`, d.classList.add("is-open"), l.setAttribute("aria-expanded", "true");
+ let t = c.getBoundingClientRect(), n = e.element.getBoundingClientRect();
+ u.style.left = `${t.left - n.left}px`, u.style.top = `${t.bottom - n.top + 4}px`, u.classList.add("is-open"), c.setAttribute("aria-expanded", "true");
};
e._closeGuidePopover = () => {
- d.classList.remove("is-open"), l.setAttribute("aria-expanded", "false");
- }, l.addEventListener("click", (t) => {
- t.stopPropagation(), d.classList.contains("is-open") ? e._closeGuidePopover() : (e._closeAllToolbarPopovers?.(), _());
+ u.classList.remove("is-open"), c.setAttribute("aria-expanded", "false");
+ }, c.addEventListener("click", (t) => {
+ t.stopPropagation(), u.classList.contains("is-open") ? e._closeGuidePopover() : (e._closeAllToolbarPopovers?.(), _());
}), f.addEventListener("click", (t) => {
let n = t.target.closest(".mjr-menu-item");
if (!n) return;
@@ -2207,7 +2207,7 @@ function fn(e) {
p.value = r ?? "", p.dispatchEvent(new Event("change", { bubbles: !0 })), g.forEach((e) => {
let t = e.dataset.value === r;
e.classList.toggle("is-active", t), e.querySelector(".mjr-menu-item-check").style.opacity = t ? "1" : "0";
- }), l.classList.toggle("is-on", r !== "0"), e._closeGuidePopover();
+ }), c.classList.toggle("is-on", r !== "0"), e._closeGuidePopover();
});
let v = String(e._channel || "rgb"), y = document.createElement("button");
y.type = "button", y.className = "mjr-icon-btn mjr-mfv-ch-trigger", y.title = "Channel", y.setAttribute("aria-haspopup", "listbox"), y.setAttribute("aria-expanded", "false");
@@ -2376,24 +2376,24 @@ function fn(e) {
}), e._closeFormatPopover();
});
let L = document.createElement("div");
- L.className = "mjr-mfv-toolbar-sep", L.setAttribute("aria-hidden", "true"), n.appendChild(L), e._liveBtn = document.createElement("button"), e._liveBtn.type = "button", e._liveBtn.className = "mjr-icon-btn", e._liveBtn.innerHTML = "", e._liveBtn.setAttribute("aria-pressed", "false"), V(e._liveBtn, s("tooltip.liveStreamOff", "Live Stream: OFF - click to follow final generation outputs"), "L"), n.appendChild(e._liveBtn), e._previewBtn = document.createElement("button"), e._previewBtn.type = "button", e._previewBtn.className = "mjr-icon-btn", e._previewBtn.innerHTML = "", e._previewBtn.setAttribute("aria-pressed", "false"), V(e._previewBtn, s("tooltip.previewStreamOff", "KSampler Preview: OFF - click to stream sampler denoising frames"), "K"), n.appendChild(e._previewBtn), e._nodeStreamBtn = document.createElement("button"), e._nodeStreamBtn.type = "button", e._nodeStreamBtn.className = "mjr-icon-btn", e._nodeStreamBtn.innerHTML = "", e._nodeStreamBtn.setAttribute("aria-pressed", "false"), V(e._nodeStreamBtn, s("tooltip.nodeStreamOff", "Node Stream: OFF - click to follow selected node previews, including ImageOps live canvases"), "N"), n.appendChild(e._nodeStreamBtn), e._genBtn = document.createElement("button"), e._genBtn.type = "button", e._genBtn.className = "mjr-icon-btn", e._genBtn.setAttribute("aria-pressed", String(!!e._genSidebarEnabled));
+ L.className = "mjr-mfv-toolbar-sep", L.setAttribute("aria-hidden", "true"), n.appendChild(L), e._liveBtn = document.createElement("button"), e._liveBtn.type = "button", e._liveBtn.className = "mjr-icon-btn", e._liveBtn.innerHTML = "", e._liveBtn.setAttribute("aria-pressed", "false"), V(e._liveBtn, d("tooltip.liveStreamOff", "Live Stream: OFF - click to follow final generation outputs"), "L"), n.appendChild(e._liveBtn), e._previewBtn = document.createElement("button"), e._previewBtn.type = "button", e._previewBtn.className = "mjr-icon-btn", e._previewBtn.innerHTML = "", e._previewBtn.setAttribute("aria-pressed", "false"), V(e._previewBtn, d("tooltip.previewStreamOff", "KSampler Preview: OFF - click to stream sampler denoising frames"), "K"), n.appendChild(e._previewBtn), e._nodeStreamBtn = document.createElement("button"), e._nodeStreamBtn.type = "button", e._nodeStreamBtn.className = "mjr-icon-btn", e._nodeStreamBtn.innerHTML = "", e._nodeStreamBtn.setAttribute("aria-pressed", "false"), V(e._nodeStreamBtn, d("tooltip.nodeStreamOff", "Node Stream: OFF - click to follow selected node previews, including ImageOps live canvases"), "N"), n.appendChild(e._nodeStreamBtn), e._genBtn = document.createElement("button"), e._genBtn.type = "button", e._genBtn.className = "mjr-icon-btn", e._genBtn.setAttribute("aria-pressed", String(!!e._genSidebarEnabled));
let R = document.createElement("i");
R.className = "pi pi-info-circle", R.setAttribute("aria-hidden", "true"), e._genBtn.appendChild(R), n.appendChild(e._genBtn), e._updateGenBtnUI(), e._popoutBtn = document.createElement("button"), e._popoutBtn.type = "button", e._popoutBtn.className = "mjr-icon-btn";
- let z = s("tooltip.popOutViewer", "Pop out viewer to separate window");
+ let z = d("tooltip.popOutViewer", "Pop out viewer to separate window");
e._popoutBtn.title = z, e._popoutBtn.setAttribute("aria-label", z), e._popoutBtn.setAttribute("aria-pressed", "false");
let B = document.createElement("i");
B.className = "pi pi-external-link", B.setAttribute("aria-hidden", "true"), e._popoutBtn.appendChild(B), n.appendChild(e._popoutBtn), e._captureBtn = document.createElement("button"), e._captureBtn.type = "button", e._captureBtn.className = "mjr-icon-btn";
- let te = s("tooltip.captureView", "Save view as image");
+ let te = d("tooltip.captureView", "Save view as image");
e._captureBtn.title = te, e._captureBtn.setAttribute("aria-label", te);
let ne = document.createElement("i");
ne.className = "pi pi-download", ne.setAttribute("aria-hidden", "true"), e._captureBtn.appendChild(ne), n.appendChild(e._captureBtn);
let H = document.createElement("div");
H.className = "mjr-mfv-toolbar-sep", H.style.marginLeft = "auto", H.setAttribute("aria-hidden", "true"), n.appendChild(H), e._settingsBtn = document.createElement("button"), e._settingsBtn.type = "button", e._settingsBtn.className = "mjr-icon-btn mjr-mfv-settings-btn";
- let re = s("tooltip.nodeParams", "Node Parameters");
+ let re = d("tooltip.nodeParams", "Node Parameters");
e._settingsBtn.title = re, e._settingsBtn.setAttribute("aria-label", re), e._settingsBtn.setAttribute("aria-pressed", "false");
let ie = document.createElement("i");
ie.className = "pi pi-sliders-h", ie.setAttribute("aria-hidden", "true"), e._settingsBtn.appendChild(ie), n.appendChild(e._settingsBtn), e._runHandle = Xt(), n.appendChild(e._runHandle.el), e._majoorSettingsBtn = document.createElement("button"), e._majoorSettingsBtn.type = "button", e._majoorSettingsBtn.className = "mjr-icon-btn mjr-mfv-majoor-settings-btn";
- let U = s("tooltip.openMajoorSettings", "Open Majoor Assets Manager settings");
+ let U = d("tooltip.openMajoorSettings", "Open Majoor Assets Manager settings");
e._majoorSettingsBtn.title = U, e._majoorSettingsBtn.setAttribute("aria-label", U);
let ae = document.createElement("i");
return ae.className = "pi pi-cog", ae.setAttribute("aria-hidden", "true"), e._majoorSettingsBtn.appendChild(ae), n.appendChild(e._majoorSettingsBtn), e._handleDocClick = (t) => {
@@ -2455,7 +2455,7 @@ function mn(e, t) {
}
function hn(e) {
if (!e._contentWrapper) return;
- let t = p.MFV_SIDEBAR_POSITION || "right";
+ let t = m.MFV_SIDEBAR_POSITION || "right";
e._contentWrapper.setAttribute("data-sidebar-pos", t), e._sidebar?.el && e._contentEl && (t === "left" ? e._contentWrapper.insertBefore(e._sidebar.el, e._contentEl) : e._contentWrapper.appendChild(e._sidebar.el));
}
function gn(e) {
@@ -2645,7 +2645,7 @@ function kn(e, t) {
if (!e._liveBtn) return;
let n = !!t;
e._liveBtn.classList.toggle("mjr-live-active", n);
- let r = n ? s("tooltip.liveStreamOn", "Live Stream: ON - follows final generation outputs after execution") : s("tooltip.liveStreamOff", "Live Stream: OFF - click to follow final generation outputs"), i = U(r, "L");
+ let r = n ? d("tooltip.liveStreamOn", "Live Stream: ON - follows final generation outputs after execution") : d("tooltip.liveStreamOff", "Live Stream: OFF - click to follow final generation outputs"), i = U(r, "L");
e._liveBtn.setAttribute("aria-pressed", String(n)), e._liveBtn.setAttribute("aria-label", i);
let a = document.createElement("i");
a.className = n ? "pi pi-circle-fill" : "pi pi-circle", a.setAttribute("aria-hidden", "true"), e._liveBtn.replaceChildren(a), e._liveBtn.title = i;
@@ -2653,7 +2653,7 @@ function kn(e, t) {
function An(e, t) {
if (e._previewActive = !!t, !e._previewBtn) return;
e._previewBtn.classList.toggle("mjr-preview-active", e._previewActive);
- let n = e._previewActive ? s("tooltip.previewStreamOn", "KSampler Preview: ON - streams sampler denoising frames during execution") : s("tooltip.previewStreamOff", "KSampler Preview: OFF - click to stream sampler denoising frames"), r = U(n, "K");
+ let n = e._previewActive ? d("tooltip.previewStreamOn", "KSampler Preview: ON - streams sampler denoising frames during execution") : d("tooltip.previewStreamOff", "KSampler Preview: OFF - click to stream sampler denoising frames"), r = U(n, "K");
e._previewBtn.setAttribute("aria-pressed", String(e._previewActive)), e._previewBtn.setAttribute("aria-label", r);
let i = document.createElement("i");
i.className = e._previewActive ? "pi pi-eye" : "pi pi-eye-slash", i.setAttribute("aria-hidden", "true"), e._previewBtn.replaceChildren(i), e._previewBtn.title = r;
@@ -2730,7 +2730,7 @@ function Pn(e) {
function Fn(e, t) {
if (e._nodeStreamActive = !!t, e._nodeStreamActive || e.setNodeStreamSelection?.(null), !e._nodeStreamBtn) return;
e._nodeStreamBtn.classList.toggle("mjr-nodestream-active", e._nodeStreamActive);
- let n = e._nodeStreamActive ? s("tooltip.nodeStreamOn", "Node Stream: ON - follows the selected node preview when frontend media exists") : s("tooltip.nodeStreamOff", "Node Stream: OFF - click to follow selected node previews, including ImageOps live canvases"), r = U(n, "N");
+ let n = e._nodeStreamActive ? d("tooltip.nodeStreamOn", "Node Stream: ON - follows the selected node preview when frontend media exists") : d("tooltip.nodeStreamOff", "Node Stream: OFF - click to follow selected node previews, including ImageOps live canvases"), r = U(n, "N");
e._nodeStreamBtn.setAttribute("aria-pressed", String(e._nodeStreamActive)), e._nodeStreamBtn.setAttribute("aria-label", r);
let i = document.createElement("i");
i.className = "pi pi-sitemap", i.setAttribute("aria-hidden", "true"), e._nodeStreamBtn.replaceChildren(i), e._nodeStreamBtn.title = r;
@@ -2841,7 +2841,7 @@ function Wn(e, t) {
function Gn(e, t) {
e._desktopPopoutUnsupported = !0, $("electron-in-app-fallback", { message: t?.message || String(t || "unknown error") }, "warn"), e._setDesktopExpanded(!0);
try {
- r(s("toast.popoutElectronInAppFallback", "Desktop PiP is unavailable here. Viewer expanded inside the app instead."), "warning", 4500);
+ n(d("toast.popoutElectronInAppFallback", "Desktop PiP is unavailable here. Viewer expanded inside the app instead."), "warning", 4500);
} catch (e) {
console.debug?.(e);
}
@@ -3055,7 +3055,7 @@ function er(e) {
if (!e._popoutBtn) return;
let t = e._isPopped || e._desktopExpanded;
e.element && e.element.classList.toggle("mjr-mfv--popped", t), e._popoutBtn.classList.toggle("mjr-popin-active", t);
- let n = e._popoutBtn.querySelector("i") || document.createElement("i"), r = t ? s("tooltip.popInViewer", "Return to floating panel") : s("tooltip.popOutViewer", "Pop out viewer to separate window");
+ let n = e._popoutBtn.querySelector("i") || document.createElement("i"), r = t ? d("tooltip.popInViewer", "Return to floating panel") : d("tooltip.popOutViewer", "Pop out viewer to separate window");
n.className = t ? "pi pi-sign-in" : "pi pi-external-link", e._popoutBtn.title = r, e._popoutBtn.setAttribute("aria-label", r), e._popoutBtn.setAttribute("aria-pressed", String(t)), e._popoutBtn.contains(n) || e._popoutBtn.replaceChildren(n);
}
// ui/features/viewer/floatingViewerPanel.ts
@@ -3315,7 +3315,7 @@ function lr(e, t, n, r, i, a, o) {
}
async function ur(e) {
if (!e._contentEl) return;
- e._captureBtn && (e._captureBtn.disabled = !0, e._captureBtn.setAttribute("aria-label", s("tooltip.capturingView", "Capturing...")));
+ e._captureBtn && (e._captureBtn.disabled = !0, e._captureBtn.setAttribute("aria-label", d("tooltip.capturingView", "Capturing...")));
let t = e._contentEl.clientWidth || 480, n = e._contentEl.clientHeight || 360, r = n;
if (e._mode === W.SIMPLE && e._mediaA && e._genInfoSelections.size) {
let i = document.createElement("canvas");
@@ -3393,7 +3393,7 @@ async function ur(e) {
} catch (e) {
console.warn("[MFV] download failed:", e);
} finally {
- e._captureBtn && (e._captureBtn.disabled = !1, e._captureBtn.setAttribute("aria-label", s("tooltip.captureView", "Save view as image")));
+ e._captureBtn && (e._captureBtn.disabled = !1, e._captureBtn.setAttribute("aria-label", d("tooltip.captureView", "Save view as image")));
}
}
// ui/features/viewer/floatingViewerLoader.ts
@@ -3408,8 +3408,8 @@ function pr(e, t, { autoMode: n = !1 } = {}) {
(async () => {
try {
let n = await fe(e._mediaA, {
- getAssetMetadata: f,
- getFileMetadataScoped: m
+ getAssetMetadata: p,
+ getFileMetadataScoped: h
});
if (e._refreshGen !== t) return;
n && typeof n == "object" && (e._mediaA = n, e._refresh());
@@ -3426,8 +3426,8 @@ function mr(e, t, n) {
if (!e) return e;
try {
return await fe(e, {
- getAssetMetadata: f,
- getFileMetadataScoped: m
+ getAssetMetadata: p,
+ getFileMetadataScoped: h
}) || e;
} catch {
return e;
@@ -3450,8 +3450,8 @@ function hr(e, t, n, r, i) {
if (!e) return e;
try {
return await fe(e, {
- getAssetMetadata: f,
- getFileMetadataScoped: m
+ getAssetMetadata: p,
+ getFileMetadataScoped: h
}) || e;
} catch {
return e;
diff --git a/dist/chunks/LiveStreamTracker-C_DbXPzd.js b/dist/chunks/LiveStreamTracker-BAuKfk0M.js
similarity index 98%
rename from dist/chunks/LiveStreamTracker-C_DbXPzd.js
rename to dist/chunks/LiveStreamTracker-BAuKfk0M.js
index 1fb365bc..6c587f5e 100644
--- a/dist/chunks/LiveStreamTracker-C_DbXPzd.js
+++ b/dist/chunks/LiveStreamTracker-BAuKfk0M.js
@@ -1,5 +1,5 @@
-import { Vn as e, t } from "./config-C9a-wT5M.js";
-import { t as n } from "./floatingViewerManager-B_I-SRbd.js";
+import { Un as e, t } from "./config-D56TZeFo.js";
+import { t as n } from "./floatingViewerManager-D_aLLeau.js";
import { r } from "./events-1iwo5blr.js";
// ui/features/viewer/LiveStreamTracker.ts
var i = !1, a = null, o = null, s = null, c = null, l = null, u = null, d = null, f = null, p = 0, m = 0, h = !1, g = 400, _ = "kj_preview_override", v = /* @__PURE__ */ new Set([
diff --git a/dist/chunks/TagsEditor-MUk741GH.js b/dist/chunks/TagsEditor-NiAR71Jm.js
similarity index 83%
rename from dist/chunks/TagsEditor-MUk741GH.js
rename to dist/chunks/TagsEditor-NiAR71Jm.js
index f76cbf88..249d87eb 100644
--- a/dist/chunks/TagsEditor-MUk741GH.js
+++ b/dist/chunks/TagsEditor-NiAR71Jm.js
@@ -1,9 +1,9 @@
-import { D as e, E as t, It as n, Jn as r, Lt as i, T as a, Wt as o, b as s, dn as c, dr as l, fr as u, g as d, h as f, i as p, in as m, l as h, ln as g, p as _, st as v, ur as y, w as b, xn as x, y as ee } from "./config-C9a-wT5M.js";
-import { t as S } from "./floatingViewerManager-B_I-SRbd.js";
-import { A as te, N as ne, a as C, d as w, i as T, k as E, m as D, n as O, o as re, p as k, r as A, t as j, v as ie, y as M } from "./generationSectionState-DuXxSw-j.js";
+import { Cn as e, D as t, E as n, Kt as r, Rt as i, T as a, Xn as o, b as s, dn as c, fr as l, g as u, h as d, i as f, l as p, lt as m, mr as h, on as g, p as _, pn as v, pr as y, w as b, y as x, zt as S } from "./config-D56TZeFo.js";
+import { t as C } from "./floatingViewerManager-D_aLLeau.js";
+import { A as ee, N as te, a as w, d as T, i as ne, k as E, m as D, n as O, o as re, p as k, r as A, t as j, v as ie, y as M } from "./generationSectionState-BR-TS47u.js";
import { n as N, t as P } from "./events-1iwo5blr.js";
-import { $ as ae, B as oe, C as F, D as se, E as I, H as ce, J as le, K as L, M as R, O as z, P as B, Q as V, S as ue, T as H, V as de, W as U, X as W, b as fe, gt as G, ht as K, j as pe, k as q, mt as me, ot as he, pt as J, st as Y, y as ge } from "./mjr-primevue-C07IsEdU.js";
-import { n as _e, r as ve } from "./mjr-vue-vendor-CEDOnn2t.js";
+import { $ as ae, B as oe, C as F, D as se, E as I, H as ce, J as le, K as L, M as R, O as z, P as B, Q as V, S as ue, T as H, V as de, W as U, X as W, b as fe, gt as G, ht as K, j as pe, k as q, mt as me, ot as he, pt as J, st as Y, y as ge } from "./mjr-primevue-QrNPJaqR.js";
+import { n as _e, r as ve } from "./mjr-vue-vendor-Dn5oe7QV.js";
import { t as ye } from "./viewerOpenRequest-WOJE90Gn.js";
// ui/features/status/AssetStatusDotTheme.ts
function X(e) {
@@ -910,14 +910,14 @@ var it = "application/x-mjr-asset", at = "application/x-mjr-assets", ot = "appli
if (!o || typeof o.add != "function") return !1;
let s = null;
for (let n of Zt(t)) try {
- if (s = c(n, e), s) break;
+ if (s = v(n, e), s) break;
} catch (e) {
console.debug?.(e);
}
if (!s) return !1;
s.pos = Array.isArray(a) ? [Number(a[0]) || 0, Number(a[1]) || 0] : tn(e, r), o.add(s);
- let l = Gt(s, t, i);
- return l && Qt(l, n), Yt(e), !0;
+ let c = Gt(s, t, i);
+ return c && Qt(c, n), Yt(e), !0;
}, rn = ({ app: e, items: t = [], event: n = null, gap: r = 90 }) => {
let i = Array.isArray(t) ? t.filter(Boolean) : [];
if (!i.length) return 0;
@@ -936,15 +936,15 @@ var it = "application/x-mjr-asset", at = "application/x-mjr-assets", ot = "appli
if (!o || typeof o.add != "function" || !r) return !1;
let s = null;
for (let n of Zt(t)) try {
- if (s = c(n, e), s) break;
+ if (s = v(n, e), s) break;
} catch (e) {
console.debug?.(e);
}
if (!s) return !1;
- let l = Number(r.pos[0]) || 0, u = Number(r.pos[1]) || 0, d = Array.isArray(s.size) && Number(s.size[0]) || 220;
- s.pos = [l - d - 60, u + Number(i) * 20], o.add(s);
- let f = Xt(t), p = Gt(s, t, f);
- p && Qt(p, n);
+ let c = Number(r.pos[0]) || 0, l = Number(r.pos[1]) || 0, u = Array.isArray(s.size) && Number(s.size[0]) || 220;
+ s.pos = [c - u - 60, l + Number(i) * 20], o.add(s);
+ let d = Xt(t), f = Gt(s, t, d);
+ f && Qt(f, n);
try {
s.connect(0, r, i);
} catch (e) {
@@ -959,7 +959,7 @@ var it = "application/x-mjr-asset", at = "application/x-mjr-assets", ot = "appli
subfolder: n.subfolder || "",
dest_subfolder: "",
type: n.type || "output",
- root_id: l(n) || void 0
+ root_id: y(n) || void 0
}]
};
return i && (a.purpose = i), e(t, a);
@@ -1213,7 +1213,7 @@ var xn = {
let p = k(e);
p != null && f.push({
label: "FPS",
- value: w(p),
+ value: T(p),
tooltip: "Native frame rate"
});
let m = D(e, p);
@@ -1382,56 +1382,56 @@ var xn = {
}, Nn = /* @__PURE__ */ B({
__name: "GenerationInputThumb",
props: { inputFile: {} },
- setup(e) {
- let t = e, n = Y(0), i = Y(!1), a = null;
- function c() {
- return a ||= import("./floatingViewerManager-B_I-SRbd.js").then((e) => e.n), a;
- }
+ setup(t) {
+ let n = t, i = Y(0), a = Y(!1), c = null;
function l() {
- return (Array.isArray(t.inputFile?.previewCandidates) ? t.inputFile.previewCandidates : [])[n.value] || "";
+ return c ||= import("./floatingViewerManager-D_aLLeau.js").then((e) => e.n), c;
}
function u() {
- let e = Array.isArray(t.inputFile?.previewCandidates) ? t.inputFile.previewCandidates : [];
- n.value < e.length - 1 && (n.value += 1);
+ return (Array.isArray(n.inputFile?.previewCandidates) ? n.inputFile.previewCandidates : [])[i.value] || "";
}
- async function d(e) {
+ function d() {
+ let e = Array.isArray(n.inputFile?.previewCandidates) ? n.inputFile.previewCandidates : [];
+ i.value < e.length - 1 && (i.value += 1);
+ }
+ async function f(e) {
e?.stopPropagation?.();
- let n = String(t.inputFile?.filepath || t.inputFile?.filename || "").trim();
- if (n) try {
- await navigator.clipboard.writeText(n), i.value = !0, setTimeout(() => {
- i.value = !1;
+ let t = String(n.inputFile?.filepath || n.inputFile?.filename || "").trim();
+ if (t) try {
+ await navigator.clipboard.writeText(t), a.value = !0, setTimeout(() => {
+ a.value = !1;
}, 350);
} catch (e) {
console.debug?.(e);
}
}
- function f(e) {
- e?.stopPropagation?.(), b();
+ function p(e) {
+ e?.stopPropagation?.(), x();
}
- function p() {
- let e = t.inputFile || {}, n = String(e.filepath || "").trim();
+ function h() {
+ let e = n.inputFile || {}, t = String(e.filepath || "").trim();
return {
filename: e.filename || "",
name: e.filename || "",
- filepath: n,
- path: n,
+ filepath: t,
+ path: t,
subfolder: e.subfolder || "",
type: e.type || "input",
source: e.type || "input",
- kind: h(e),
+ kind: _(e),
root_id: e.root_id || "",
- preview_url: l()
+ preview_url: u()
};
}
- function h(e = t.inputFile || {}) {
- let n = String(e.kind || "").trim().toLowerCase();
- if (n === "image" || n === "video" || n === "audio" || n === "model3d") return n;
+ function _(e = n.inputFile || {}) {
+ let t = String(e.kind || "").trim().toLowerCase();
+ if (t === "image" || t === "video" || t === "audio" || t === "model3d") return t;
if (e.isVideo) return "video";
if (e.isAudio) return "audio";
let r = String(e.filename || "").toLowerCase();
return /\.(mp4|mov|webm|mkv|avi|m4v)$/i.test(r) ? "video" : /\.(wav|mp3|flac|ogg|m4a|aac|opus)$/i.test(r) ? "audio" : /\.(glb|gltf|obj|stl|ply|fbx)$/i.test(r) ? "model3d" : "image";
}
- function g(e, t, n, { disabled: r = !1 } = {}) {
+ function v(e, t, n, { disabled: r = !1 } = {}) {
return {
id: `mjr-generation-source-${String(e).toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
type: "item",
@@ -1443,91 +1443,91 @@ var xn = {
action: n
};
}
- function _() {
+ function y() {
return {
id: "mjr-generation-source-separator",
type: "separator"
};
}
- function y() {
- return C(l()) || !!t.inputFile?.filename || !!t.inputFile?.filepath;
- }
function b() {
- let e = p();
+ return w(u()) || !!n.inputFile?.filename || !!n.inputFile?.filepath;
+ }
+ function x() {
+ let e = h();
if (ye({
asset: e,
index: 0
})) return;
- let t = l();
- if (C(t)) try {
+ let t = u();
+ if (w(t)) try {
window.open(t, "_blank", "noopener,noreferrer");
} catch (e) {
console.debug?.(e);
}
}
- async function ee() {
+ async function S() {
try {
- let { floatingViewerManager: e } = await c();
+ let { floatingViewerManager: e } = await l();
await e.openAssets({
- assets: [p()],
+ assets: [h()],
index: 0
});
} catch (e) {
- console.debug?.(e), o(m("toast.viewerOpenFailed", "Failed to open viewer."), "error");
+ console.debug?.(e), r(g("toast.viewerOpenFailed", "Failed to open viewer."), "error");
}
}
- async function S() {
- let e = await v(p());
- e?.ok ? o(m("toast.openedInFolder", "Opened in folder"), "info", 1600) : o(e?.error || m("toast.openFolderFailed", "Failed to open folder."), "error");
+ async function C() {
+ let e = await m(h());
+ e?.ok ? r(g("toast.openedInFolder", "Opened in folder"), "info", 1600) : r(e?.error || g("toast.openFolderFailed", "Failed to open folder."), "error");
}
- async function te() {
- let e = p(), t = {
- filename: e.filename,
- subfolder: e.subfolder,
- type: e.type || "input",
- root_id: e.root_id || void 0,
- kind: e.kind
- }, n = await cn({
+ async function ee() {
+ let t = h(), n = {
+ filename: t.filename,
+ subfolder: t.subfolder,
+ type: t.type || "input",
+ root_id: t.root_id || void 0,
+ kind: t.kind
+ }, i = await cn({
post: s,
- endpoint: r.STAGE_TO_INPUT,
- payload: t,
+ endpoint: o.STAGE_TO_INPUT,
+ payload: n,
index: !1
});
- if (!n?.relativePath || !rn({
- app: x(),
+ if (!i?.relativePath || !rn({
+ app: e(),
items: [{
- payload: t,
- relativePath: n.relativePath,
- droppedExt: String(t.filename || "").split(".").pop() || ""
+ payload: n,
+ relativePath: i.relativePath,
+ droppedExt: String(n.filename || "").split(".").pop() || ""
}],
event: null
})) {
- o(m("toast.loadAssetFailed", "Failed to load asset."), "error");
+ r(g("toast.loadAssetFailed", "Failed to load asset."), "error");
return;
}
- let i = e.kind ? e.kind.charAt(0).toUpperCase() + e.kind.slice(1) : "Asset";
- o(m("toast.assetLoadedToCanvas", "{kind} loader added to canvas.", { kind: i }), "success", 1800);
+ let a = t.kind ? t.kind.charAt(0).toUpperCase() + t.kind.slice(1) : "Asset";
+ r(g("toast.assetLoadedToCanvas", "{kind} loader added to canvas.", { kind: a }), "success", 1800);
}
- function ne(e) {
+ function te(e) {
e?.preventDefault?.(), e?.stopPropagation?.();
- let n = h(), r = n === "video" ? m("ctx.loadVideo", "Load video") : n === "audio" ? m("ctx.loadAudio", "Load audio") : n === "model3d" ? m("ctx.loadModel3d", "Load 3D model") : m("ctx.loadImage", "Load image");
+ let t = _(), r = t === "video" ? g("ctx.loadVideo", "Load video") : t === "audio" ? g("ctx.loadAudio", "Load audio") : t === "model3d" ? g("ctx.loadModel3d", "Load 3D model") : g("ctx.loadImage", "Load image");
Ze({
x: e?.clientX || 0,
y: e?.clientY || 0,
items: [
- g(m("ctx.openInViewer", "Open in viewer"), "pi pi-eye", b, { disabled: !y() }),
- g(m("ctx.openInFloatingViewer", "Open in Floating Viewer"), "pi pi-window-maximize", ee, { disabled: !y() }),
- g(m("ctx.openInFolder", "Open in folder"), "pi pi-folder-open", S, { disabled: !t.inputFile?.filepath }),
- _(),
- g(r, "pi pi-plus-circle", te, { disabled: !t.inputFile?.filename }),
- g(m("ctx.copyPath", "Copy path"), "pi pi-copy", d, { disabled: !(t.inputFile?.filepath || t.inputFile?.filename) })
+ v(g("ctx.openInViewer", "Open in viewer"), "pi pi-eye", x, { disabled: !b() }),
+ v(g("ctx.openInFloatingViewer", "Open in Floating Viewer"), "pi pi-window-maximize", S, { disabled: !b() }),
+ v(g("ctx.openInFolder", "Open in folder"), "pi pi-folder-open", C, { disabled: !n.inputFile?.filepath }),
+ y(),
+ v(r, "pi pi-plus-circle", ee, { disabled: !n.inputFile?.filename }),
+ v(g("ctx.copyPath", "Copy path"), "pi pi-copy", f, { disabled: !(n.inputFile?.filepath || n.inputFile?.filename) })
]
});
}
- function w(e) {
+ function T(e) {
e.target?.play?.().catch?.(() => {});
}
- function T(e) {
+ function ne(e) {
try {
e.target?.pause?.();
} catch (e) {
@@ -1535,10 +1535,10 @@ var xn = {
}
}
function E() {
- return !!t.inputFile?.isAudio;
+ return !!n.inputFile?.isAudio;
}
- return (t, n) => (U(), q("div", {
- title: `${e.inputFile.filename} (click to copy, double-click to open in new tab)`,
+ return (e, n) => (U(), q("div", {
+ title: `${t.inputFile.filename} (click to copy, double-click to open in new tab)`,
style: K({
width: "64px",
height: "64px",
@@ -1550,15 +1550,15 @@ var xn = {
display: "flex",
alignItems: "center",
justifyContent: "center",
- outline: i.value ? "2px solid rgba(76, 175, 80, 0.9)" : "",
- outlineOffset: i.value ? "1px" : ""
+ outline: a.value ? "2px solid rgba(76, 175, 80, 0.9)" : "",
+ outlineOffset: a.value ? "1px" : ""
}),
- onClick: d,
- onDblclick: f,
- onContextmenu: ne
- }, [e.inputFile.isVideo ? (U(), q("video", {
+ onClick: f,
+ onDblclick: p,
+ onContextmenu: te
+ }, [t.inputFile.isVideo ? (U(), q("video", {
key: 0,
- src: l(),
+ src: u(),
muted: "",
loop: "",
playsinline: "",
@@ -1568,22 +1568,22 @@ var xn = {
height: "100%",
"object-fit": "cover"
},
- onError: u,
- onMouseover: w,
- onMouseout: T
+ onError: d,
+ onMouseover: T,
+ onMouseout: ne
}, null, 40, Dn)) : E() ? (U(), q("div", On, [n[0] ||= I("div", { style: {
"font-size": "18px",
"line-height": "1"
- } }, "♪", -1), I("div", kn, G(e.inputFile.filename), 1)])) : (U(), q("img", {
+ } }, "♪", -1), I("div", kn, G(t.inputFile.filename), 1)])) : (U(), q("img", {
key: 2,
- src: l(),
+ src: u(),
style: {
width: "100%",
height: "100%",
"object-fit": "cover"
},
- onError: u
- }, null, 40, An)), e.inputFile.role && e.inputFile.role !== "secondary" ? (U(), q("div", jn, G(e.inputFile.roleLabel), 1)) : e.inputFile.isVideo ? (U(), q("div", Mn, " Play ")) : z("", !0)], 44, En));
+ onError: d
+ }, null, 40, An)), t.inputFile.role && t.inputFile.role !== "secondary" ? (U(), q("div", jn, G(t.inputFile.roleLabel), 1)) : t.inputFile.isVideo ? (U(), q("div", Mn, " Play ")) : z("", !0)], 44, En));
}
}), Pn = {
key: 0,
@@ -2080,35 +2080,35 @@ var xn = {
__name: "SidebarGenerationSection",
props: { asset: {} },
setup(e) {
- let t = e, r = Y(0), a = Y(0), o = Y(""), s = Y(m("action.copy", "Copy")), c = Y(m("action.generate", "Generate")), l = Y(!1), u = Y(f()), d = 0;
- function f() {
+ let t = e, n = Y(0), r = Y(0), a = Y(""), o = Y(g("action.copy", "Copy")), s = Y(g("action.generate", "Generate")), c = Y(!1), l = Y(d()), u = 0;
+ function d() {
return {
scoreText: "...",
scoreColor: "#888",
- qualityText: m("status.loading", "Loading"),
+ qualityText: g("status.loading", "Loading"),
qualityColor: "#888",
qualityBackground: "rgba(127,127,127,0.3)",
fillWidth: "0%",
fillColor: "#666",
aiStatusVisible: !1,
- aiStatusText: m("sidebar.generation.aiDisabledEnv", "AI features are disabled (enable vector search env var).")
+ aiStatusText: g("sidebar.generation.aiDisabledEnv", "AI features are disabled (enable vector search env var).")
};
}
- function p(e, t) {
+ function f(e, t) {
let n = String(e || "").trim().replace(/^#/, "");
return /^[0-9a-fA-F]{6}$/.test(n) ? `rgba(${Number.parseInt(n.slice(0, 2), 16)}, ${Number.parseInt(n.slice(2, 4), 16)}, ${Number.parseInt(n.slice(4, 6), 16)}, ${t})` : `rgba(255,255,255,${t})`;
}
- function h(e, { emphasis: t = !1, startAlpha: n = .16, endAlpha: r = .08 } = {}) {
+ function p(e, { emphasis: t = !1, startAlpha: n = .16, endAlpha: r = .08 } = {}) {
return {
- background: t ? `linear-gradient(135deg, ${p(e, n)} 0%, ${p(e, r)} 100%)` : "var(--comfy-menu-bg, rgba(0,0,0,0.3))",
+ background: t ? `linear-gradient(135deg, ${f(e, n)} 0%, ${f(e, r)} 100%)` : "var(--comfy-menu-bg, rgba(0,0,0,0.3))",
borderLeft: `3px solid ${e}`,
- border: t ? `1px solid ${p(e, .45)}` : "1px solid var(--border-color, rgba(255,255,255,0.12))",
- boxShadow: t ? `0 0 0 1px ${p(e, .15)} inset` : "none",
+ border: t ? `1px solid ${f(e, .45)}` : "1px solid var(--border-color, rgba(255,255,255,0.12))",
+ boxShadow: t ? `0 0 0 1px ${f(e, .15)} inset` : "none",
borderRadius: "6px",
padding: "12px"
};
}
- function g() {
+ function m() {
return {
background: "linear-gradient(135deg, rgba(233, 30, 99, 0.15) 0%, rgba(156, 39, 176, 0.15) 100%)",
border: "2px solid #E91E63",
@@ -2120,7 +2120,7 @@ var xn = {
gap: "12px"
};
}
- function _() {
+ function h() {
return {
display: "inline-flex",
alignItems: "center",
@@ -2137,55 +2137,55 @@ var xn = {
whiteSpace: "nowrap"
};
}
- let v = H(() => j(t.asset)), y = H(() => T()), b = H(() => v.value.kind === "full" || v.value.kind === "caption-only"), x = H(() => re(o.value) || v.value.emptyCaptionText), ee = H(() => y.value && v.value.isImageAsset && !!t.asset?.id), S = H(() => y.value && !!re(x.value) && x.value !== v.value.emptyCaptionText), te = H(() => v.value.branchCards.filter((e) => e.modelFields.length || e.loras.length)), ne = H(() => v.value.branchCards.filter((e) => e.samplingFields.length));
- H(() => v.value.branchCards.filter((e) => e.loras.length));
- let C = H(() => {
+ let _ = H(() => j(t.asset)), v = H(() => ne()), y = H(() => _.value.kind === "full" || _.value.kind === "caption-only"), b = H(() => re(a.value) || _.value.emptyCaptionText), x = H(() => v.value && _.value.isImageAsset && !!t.asset?.id), C = H(() => v.value && !!re(b.value) && b.value !== _.value.emptyCaptionText), ee = H(() => _.value.branchCards.filter((e) => e.modelFields.length || e.loras.length)), te = H(() => _.value.branchCards.filter((e) => e.samplingFields.length));
+ H(() => _.value.branchCards.filter((e) => e.loras.length));
+ let w = H(() => {
let e = [], t = (e, t) => bn(e)?.title || t;
- return !te.value.length && v.value.modelFields.length && e.push({
+ return !ee.value.length && _.value.modelFields.length && e.push({
key: "model",
- title: t("model", m("sidebar.generation.modelLora", "Model & LoRA")),
+ title: t("model", g("sidebar.generation.modelLora", "Model & LoRA")),
accent: "#9C27B0",
emphasis: !0,
- fields: v.value.modelFields
- }), !ne.value.length && v.value.samplingFields.length && e.push({
+ fields: _.value.modelFields
+ }), !te.value.length && _.value.samplingFields.length && e.push({
key: "sampling",
- title: t("sampler", m("sidebar.generation.sampling", "Sampling")),
+ title: t("sampler", g("sidebar.generation.sampling", "Sampling")),
accent: "#FF9800",
emphasis: !0,
- fields: v.value.samplingFields
- }), (v.value.ttsFields.length || v.value.workflowType.toLowerCase() === "tts") && e.push({
+ fields: _.value.samplingFields
+ }), (_.value.ttsFields.length || _.value.workflowType.toLowerCase() === "tts") && e.push({
key: "tts",
title: "TTS",
accent: "#26A69A",
emphasis: !0,
- fields: v.value.ttsFields
- }), v.value.ttsEngineFields.length && e.push({
+ fields: _.value.ttsFields
+ }), _.value.ttsEngineFields.length && e.push({
key: "tts-engine",
title: "TTS Engine",
accent: "#00897B",
emphasis: !1,
- fields: v.value.ttsEngineFields
- }), v.value.ttsRuntimeFields.length && e.push({
+ fields: _.value.ttsEngineFields
+ }), _.value.ttsRuntimeFields.length && e.push({
key: "tts-runtime",
title: "TTS Runtime",
accent: "#00796B",
emphasis: !1,
- fields: v.value.ttsRuntimeFields
- }), v.value.audioFields.length && e.push({
+ fields: _.value.ttsRuntimeFields
+ }), _.value.audioFields.length && e.push({
key: "audio",
- title: m("sidebar.generation.audio", "Audio"),
+ title: g("sidebar.generation.audio", "Audio"),
accent: "#00BCD4",
emphasis: !1,
- fields: v.value.audioFields
- }), v.value.imageFields.length && e.push({
+ fields: _.value.audioFields
+ }), _.value.imageFields.length && e.push({
key: "image",
- title: m("sidebar.generation.image", "Image"),
+ title: g("sidebar.generation.image", "Image"),
accent: "#2196F3",
emphasis: !1,
- fields: v.value.imageFields
+ fields: _.value.imageFields
}), e;
});
- function w(e, t, n = 450) {
+ function T(e, t, n = 450) {
if (!e) return;
let r = e.style.background;
e.style.background = t, setTimeout(() => {
@@ -2194,9 +2194,9 @@ var xn = {
}
function E(e, t = !0) {
return {
- background: t ? `linear-gradient(135deg, ${p(e, .16)} 0%, ${p(e, .08)} 100%)` : "var(--comfy-menu-bg, rgba(0,0,0,0.3))",
- border: `1px solid ${p(e, .42)}`,
- boxShadow: `0 0 0 1px ${p(e, .14)} inset`,
+ background: t ? `linear-gradient(135deg, ${f(e, .16)} 0%, ${f(e, .08)} 100%)` : "var(--comfy-menu-bg, rgba(0,0,0,0.3))",
+ border: `1px solid ${f(e, .42)}`,
+ boxShadow: `0 0 0 1px ${f(e, .14)} inset`,
borderRadius: "8px",
padding: "12px",
display: "flex",
@@ -2217,47 +2217,47 @@ var xn = {
async function M(e, t = null, n = "rgba(76, 175, 80, 0.35)") {
let r = String(e ?? "").trim();
if (r && r !== "-") try {
- await navigator.clipboard.writeText(r), w(t, n);
+ await navigator.clipboard.writeText(r), T(t, n);
} catch (e) {
console.debug?.(e);
}
}
function N() {
- u.value = {
+ l.value = {
scoreText: "AI OFF",
scoreColor: "#9E9E9E",
- qualityText: m("status.disabled", "Disabled"),
+ qualityText: g("status.disabled", "Disabled"),
qualityColor: "#BDBDBD",
qualityBackground: "rgba(158,158,158,0.25)",
fillWidth: "0%",
fillColor: "#777",
aiStatusVisible: !0,
- aiStatusText: m("sidebar.generation.aiDisabledSettings", "AI features are disabled in settings.")
+ aiStatusText: g("sidebar.generation.aiDisabledSettings", "AI features are disabled in settings.")
};
}
function P() {
- u.value = f();
+ l.value = d();
}
async function oe() {
- d += 1;
- let e = d;
- if (!v.value.showAlignment || !t.asset?.id) P();
- else if (!y.value) N();
+ u += 1;
+ let e = u;
+ if (!_.value.showAlignment || !t.asset?.id) P();
+ else if (!v.value) N();
else {
P();
try {
- let n = await i(t.asset.id);
- if (e !== d) return;
+ let n = await S(t.asset.id);
+ if (e !== u) return;
if (!n?.ok && (String(n?.code || "").toUpperCase() === "SERVICE_UNAVAILABLE" || /vector search is not enabled/i.test(String(n?.error || "")))) {
N();
return;
}
let r = n?.ok && n.data != null ? Number(n.data) : null;
if (!Number.isFinite(r)) {
- u.value = {
+ l.value = {
scoreText: "N/A",
scoreColor: "#888",
- qualityText: m("status.na", "N/A"),
+ qualityText: g("status.na", "N/A"),
qualityColor: "#888",
qualityBackground: "rgba(127,127,127,0.3)",
fillWidth: "0%",
@@ -2267,24 +2267,24 @@ var xn = {
};
return;
}
- let a = Math.round(r * 100), o = O(r);
- u.value = {
- scoreText: `${a}%`,
- scoreColor: o,
+ let i = Math.round(r * 100), a = O(r);
+ l.value = {
+ scoreText: `${i}%`,
+ scoreColor: a,
qualityText: A(r),
- qualityColor: o,
- qualityBackground: `${o}33`,
- fillWidth: `${a}%`,
- fillColor: o,
+ qualityColor: a,
+ qualityBackground: `${a}33`,
+ fillWidth: `${i}%`,
+ fillColor: a,
aiStatusVisible: !1,
aiStatusText: ""
};
} catch (t) {
- if (console.debug?.(t), e !== d) return;
- u.value = {
+ if (console.debug?.(t), e !== u) return;
+ l.value = {
scoreText: "-",
scoreColor: "#888",
- qualityText: m("status.unavailable", "Unavailable"),
+ qualityText: g("status.unavailable", "Unavailable"),
qualityColor: "#888",
qualityBackground: "rgba(127,127,127,0.3)",
fillWidth: "0%",
@@ -2296,41 +2296,41 @@ var xn = {
}
}
async function ce() {
- if (ee.value && !l.value) {
- l.value = !0, c.value = m("status.generating", "Generating...");
+ if (x.value && !c.value) {
+ c.value = !0, s.value = g("status.generating", "Generating...");
try {
- let e = await n(t.asset.id);
- e?.ok && (o.value = String(e?.data || "").trim());
+ let e = await i(t.asset.id);
+ e?.ok && (a.value = String(e?.data || "").trim());
} catch (e) {
console.debug?.(e);
} finally {
- l.value = !1, c.value = m("action.generate", "Generate");
+ c.value = !1, s.value = g("action.generate", "Generate");
}
}
}
async function B() {
- if (S.value) try {
- await navigator.clipboard.writeText(x.value), s.value = m("viewer.copySuccessShort", "Copied!"), setTimeout(() => {
- s.value = m("action.copy", "Copy");
+ if (C.value) try {
+ await navigator.clipboard.writeText(b.value), o.value = g("viewer.copySuccessShort", "Copied!"), setTimeout(() => {
+ o.value = g("action.copy", "Copy");
}, 900);
} catch (e) {
console.debug?.(e);
}
}
return W(() => t.asset, () => {
- r.value = 0, a.value = 0, o.value = String(t.asset?.enhanced_caption || "").trim(), s.value = m("action.copy", "Copy"), c.value = m("action.generate", "Generate");
+ n.value = 0, r.value = 0, a.value = String(t.asset?.enhanced_caption || "").trim(), o.value = g("action.copy", "Copy"), s.value = g("action.generate", "Generate");
}, { immediate: !0 }), W(() => [
t.asset?.id,
- v.value.kind,
- v.value.showAlignment,
- y.value
+ _.value.kind,
+ _.value.showAlignment,
+ v.value
], () => {
oe();
}, { immediate: !0 }), (e, t) => {
- let n = le("MButton");
- return v.value.kind === "empty" ? z("", !0) : (U(), q("div", Pn, [
- v.value.workflowType ? (U(), q("div", Fn, [I("span", In, G(J(m)("viewer.workflow", "Workflow")), 1), I("div", Ln, [I("span", {
- title: J(m)("sidebar.generation.workflowEngine", "Workflow engine: {value}", { value: v.value.workflowType }),
+ let r = le("MButton");
+ return _.value.kind === "empty" ? z("", !0) : (U(), q("div", Pn, [
+ _.value.workflowType ? (U(), q("div", Fn, [I("span", In, G(J(g)("viewer.workflow", "Workflow")), 1), I("div", Ln, [I("span", {
+ title: J(g)("sidebar.generation.workflowEngine", "Workflow engine: {value}", { value: _.value.workflowType }),
style: {
background: "#2196F3",
color: "white",
@@ -2340,9 +2340,9 @@ var xn = {
"font-size": "10px",
"letter-spacing": "0.2px"
}
- }, G(v.value.workflowLabel || v.value.workflowType), 9, Rn), v.value.workflowBadge ? (U(), q("span", {
+ }, G(_.value.workflowLabel || _.value.workflowType), 9, Rn), _.value.workflowBadge ? (U(), q("span", {
key: 0,
- title: J(m)("sidebar.generation.apiProvider", "API provider: {value}", { value: v.value.workflowBadge }),
+ title: J(g)("sidebar.generation.apiProvider", "API provider: {value}", { value: _.value.workflowBadge }),
style: {
background: "rgba(255,255,255,0.08)",
color: "var(--fg-color, #eee)",
@@ -2353,41 +2353,41 @@ var xn = {
"font-size": "10px",
"letter-spacing": "0.2px"
}
- }, G(v.value.workflowBadge), 9, zn)) : z("", !0)])])) : z("", !0),
- v.value.isOverride ? (U(), q("div", {
+ }, G(_.value.workflowBadge), 9, zn)) : z("", !0)])])) : z("", !0),
+ _.value.isOverride ? (U(), q("div", {
key: 1,
- style: K(h("#00BCD4", {
+ style: K(p("#00BCD4", {
emphasis: !0,
startAlpha: .14,
endAlpha: .08
}))
- }, [I("div", Bn, [I("span", Vn, G(J(m)("sidebar.generation.override", "Override")), 1), I("span", Hn, G(v.value.overrideLabel), 1)])], 4)) : z("", !0),
- v.value.isTruncated ? (U(), q("div", {
+ }, [I("div", Bn, [I("span", Vn, G(J(g)("sidebar.generation.override", "Override")), 1), I("span", Hn, G(_.value.overrideLabel), 1)])], 4)) : z("", !0),
+ _.value.isTruncated ? (U(), q("div", {
key: 2,
- style: K(h("#FF9800", {
+ style: K(p("#FF9800", {
emphasis: !0,
startAlpha: .12,
endAlpha: .08
}))
- }, [I("div", Un, G(J(m)("sidebar.generation.metadataTruncated", "Metadata Truncated")), 1), I("div", Wn, G(J(m)("sidebar.generation.metadataTruncatedBody", "Generation data is incomplete because it exceeded the size limit.")), 1)], 4)) : z("", !0),
- v.value.kind === "media-only" ? (U(), q("div", {
+ }, [I("div", Un, G(J(g)("sidebar.generation.metadataTruncated", "Metadata Truncated")), 1), I("div", Wn, G(J(g)("sidebar.generation.metadataTruncatedBody", "Generation data is incomplete because it exceeded the size limit.")), 1)], 4)) : z("", !0),
+ _.value.kind === "media-only" ? (U(), q("div", {
key: 3,
- style: K(h("#9E9E9E", {
+ style: K(p("#9E9E9E", {
emphasis: !0,
startAlpha: .1,
endAlpha: .06
}))
- }, [I("div", Gn, G(J(m)("sidebar.generation.generationData", "Generation Data")), 1), I("div", Kn, G(v.value.mediaOnlyMessage), 1)], 4)) : z("", !0),
- v.value.kind === "full" ? (U(), q(F, { key: 4 }, [
- v.value.ltxDirector ? (U(), q("div", {
+ }, [I("div", Gn, G(J(g)("sidebar.generation.generationData", "Generation Data")), 1), I("div", Kn, G(_.value.mediaOnlyMessage), 1)], 4)) : z("", !0),
+ _.value.kind === "full" ? (U(), q(F, { key: 4 }, [
+ _.value.ltxDirector ? (U(), q("div", {
key: 0,
- style: K(h("#26C6DA", {
+ style: K(p("#26C6DA", {
emphasis: !0,
startAlpha: .15,
endAlpha: .08
}))
}, [
- I("div", qn, [I("div", Jn, G(v.value.ltxDirector.title || "LTX Director"), 1), t[8] ||= I("span", { style: {
+ I("div", qn, [I("div", Jn, G(_.value.ltxDirector.title || "LTX Director"), 1), t[8] ||= I("span", { style: {
"font-size": "10px",
"font-weight": "700",
color: "#26C6DA",
@@ -2396,7 +2396,7 @@ var xn = {
"border-radius": "999px",
padding: "2px 8px"
} }, " Director ", -1)]),
- v.value.ltxDirector.fields.length ? (U(), q("div", Yn, [(U(!0), q(F, null, L(v.value.ltxDirector.fields, (e) => (U(), q("div", {
+ _.value.ltxDirector.fields.length ? (U(), q("div", Yn, [(U(!0), q(F, null, L(_.value.ltxDirector.fields, (e) => (U(), q("div", {
key: `ltx-field-${e.label}`,
style: {
border: "1px solid rgba(255,255,255,0.10)",
@@ -2406,7 +2406,7 @@ var xn = {
"min-width": "0"
}
}, [I("div", Xn, G(e.label), 1), I("div", Zn, G(e.value), 1)]))), 128))])) : z("", !0),
- v.value.ltxDirector.globalPrompt ? (U(), q("div", Qn, [t[9] ||= I("div", { style: {
+ _.value.ltxDirector.globalPrompt ? (U(), q("div", Qn, [t[9] ||= I("div", { style: {
"font-size": "10px",
"font-weight": "800",
color: "#66BB6A",
@@ -2414,7 +2414,7 @@ var xn = {
"letter-spacing": "0.45px",
"margin-bottom": "6px"
} }, " Global Prompt ", -1), I("div", {
- title: J(m)("action.clickToCopy", "Click to copy"),
+ title: J(g)("action.clickToCopy", "Click to copy"),
style: {
"font-size": "12px",
color: "var(--fg-color,#eee)",
@@ -2423,9 +2423,9 @@ var xn = {
"word-break": "break-word",
cursor: "pointer"
},
- onClick: t[0] ||= (e) => M(v.value.ltxDirector.globalPrompt, e.currentTarget)
- }, G(v.value.ltxDirector.globalPrompt), 9, $n)])) : z("", !0),
- v.value.ltxDirector.segments.length ? (U(), q("div", er, [(U(!0), q(F, null, L(v.value.ltxDirector.segments, (e) => (U(), q("div", {
+ onClick: t[0] ||= (e) => M(_.value.ltxDirector.globalPrompt, e.currentTarget)
+ }, G(_.value.ltxDirector.globalPrompt), 9, $n)])) : z("", !0),
+ _.value.ltxDirector.segments.length ? (U(), q("div", er, [(U(!0), q(F, null, L(_.value.ltxDirector.segments, (e) => (U(), q("div", {
key: e.key,
style: {
border: "1px solid rgba(38,198,218,0.30)",
@@ -2446,7 +2446,7 @@ var xn = {
}
}, null, 8, ["input-file"])) : z("", !0), I("div", sr, [e.prompt ? (U(), q("div", {
key: 0,
- title: J(m)("action.clickToCopy", "Click to copy"),
+ title: J(g)("action.clickToCopy", "Click to copy"),
style: {
"font-size": "12px",
color: "var(--fg-color,#eee)",
@@ -2458,15 +2458,15 @@ var xn = {
onClick: (t) => M(e.prompt, t.currentTarget)
}, G(e.prompt), 9, cr)) : z("", !0), e.filename || e.type ? (U(), q("div", lr, [e.type ? (U(), q("span", ur, G(e.type), 1)) : z("", !0), e.filename ? (U(), q("span", dr, G(e.filename), 1)) : z("", !0)])) : z("", !0)])])]))), 128))])) : z("", !0)
], 4)) : z("", !0),
- v.value.ideogram ? (U(), q("div", {
+ _.value.ideogram ? (U(), q("div", {
key: 1,
- style: K(h("#FFB300", {
+ style: K(p("#FFB300", {
emphasis: !0,
startAlpha: .15,
endAlpha: .08
}))
}, [
- I("div", fr, [I("div", pr, G(v.value.ideogram.title || "Ideogram 4"), 1), t[10] ||= I("span", { style: {
+ I("div", fr, [I("div", pr, G(_.value.ideogram.title || "Ideogram 4"), 1), t[10] ||= I("span", { style: {
"font-size": "10px",
"font-weight": "700",
color: "#FFCA28",
@@ -2475,7 +2475,7 @@ var xn = {
"border-radius": "999px",
padding: "2px 8px"
} }, " Prompt JSON ", -1)]),
- v.value.ideogram.fields.length ? (U(), q("div", mr, [(U(!0), q(F, null, L(v.value.ideogram.fields, (e) => (U(), q("div", {
+ _.value.ideogram.fields.length ? (U(), q("div", mr, [(U(!0), q(F, null, L(_.value.ideogram.fields, (e) => (U(), q("div", {
key: `ideogram-field-${e.label}`,
style: {
border: "1px solid rgba(255,255,255,0.10)",
@@ -2485,7 +2485,7 @@ var xn = {
"min-width": "0"
}
}, [I("div", hr, G(e.label), 1), I("div", gr, G(e.value), 1)]))), 128))])) : z("", !0),
- v.value.ideogram.highLevelDescription ? (U(), q("div", _r, [t[11] ||= I("div", { style: {
+ _.value.ideogram.highLevelDescription ? (U(), q("div", _r, [t[11] ||= I("div", { style: {
"font-size": "10px",
"font-weight": "800",
color: "#81C784",
@@ -2493,7 +2493,7 @@ var xn = {
"letter-spacing": "0.45px",
"margin-bottom": "6px"
} }, " High Level Description ", -1), I("div", {
- title: J(m)("action.clickToCopy", "Click to copy"),
+ title: J(g)("action.clickToCopy", "Click to copy"),
style: {
"font-size": "12px",
color: "var(--fg-color,#eee)",
@@ -2502,9 +2502,9 @@ var xn = {
"word-break": "break-word",
cursor: "pointer"
},
- onClick: t[1] ||= (e) => M(v.value.ideogram.highLevelDescription, e.currentTarget)
- }, G(v.value.ideogram.highLevelDescription), 9, vr)])) : z("", !0),
- v.value.ideogram.background ? (U(), q("div", yr, [t[12] ||= I("div", { style: {
+ onClick: t[1] ||= (e) => M(_.value.ideogram.highLevelDescription, e.currentTarget)
+ }, G(_.value.ideogram.highLevelDescription), 9, vr)])) : z("", !0),
+ _.value.ideogram.background ? (U(), q("div", yr, [t[12] ||= I("div", { style: {
"font-size": "10px",
"font-weight": "800",
color: "#64B5F6",
@@ -2512,7 +2512,7 @@ var xn = {
"letter-spacing": "0.45px",
"margin-bottom": "6px"
} }, " Background ", -1), I("div", {
- title: J(m)("action.clickToCopy", "Click to copy"),
+ title: J(g)("action.clickToCopy", "Click to copy"),
style: {
"font-size": "12px",
color: "var(--fg-color,#eee)",
@@ -2521,9 +2521,9 @@ var xn = {
"word-break": "break-word",
cursor: "pointer"
},
- onClick: t[2] ||= (e) => M(v.value.ideogram.background, e.currentTarget)
- }, G(v.value.ideogram.background), 9, br)])) : z("", !0),
- v.value.ideogram.elements.length ? (U(), q("div", xr, [(U(!0), q(F, null, L(v.value.ideogram.elements, (e) => (U(), q("div", {
+ onClick: t[2] ||= (e) => M(_.value.ideogram.background, e.currentTarget)
+ }, G(_.value.ideogram.background), 9, br)])) : z("", !0),
+ _.value.ideogram.elements.length ? (U(), q("div", xr, [(U(!0), q(F, null, L(_.value.ideogram.elements, (e) => (U(), q("div", {
key: e.key,
style: {
border: "1px solid rgba(255,179,0,0.30)",
@@ -2535,7 +2535,7 @@ var xn = {
I("div", Sr, [I("div", Cr, G(e.label), 1), e.bbox ? (U(), q("span", wr, " bbox " + G(e.bbox), 1)) : z("", !0)]),
e.description ? (U(), q("div", {
key: 0,
- title: J(m)("action.clickToCopy", "Click to copy"),
+ title: J(g)("action.clickToCopy", "Click to copy"),
style: {
"font-size": "12px",
color: "var(--fg-color,#eee)",
@@ -2568,7 +2568,7 @@ var xn = {
"text-transform": "uppercase",
"letter-spacing": "0.45px"
} }, " JSON sent to text encoder ", -1), I("pre", {
- title: J(m)("action.clickToCopy", "Click to copy"),
+ title: J(g)("action.clickToCopy", "Click to copy"),
style: {
margin: "0",
padding: "10px",
@@ -2581,19 +2581,19 @@ var xn = {
"word-break": "break-word",
cursor: "pointer"
},
- onClick: t[3] ||= (e) => M(v.value.ideogram.json, e.currentTarget)
- }, G(v.value.ideogram.json), 9, kr)])
+ onClick: t[3] ||= (e) => M(_.value.ideogram.json, e.currentTarget)
+ }, G(_.value.ideogram.json), 9, kr)])
], 4)) : z("", !0),
- !v.value.ltxDirector && !v.value.ideogram && v.value.promptTabs.length ? (U(), q("div", {
+ !_.value.ltxDirector && !_.value.ideogram && _.value.promptTabs.length ? (U(), q("div", {
key: 2,
- style: K(h("#4CAF50", {
+ style: K(p("#4CAF50", {
emphasis: !0,
startAlpha: .16,
endAlpha: .1
}))
}, [
- I("div", Ar, G(J(m)("sidebar.generation.promptPipeline", "Prompt Pipeline ({count} variants)", { count: v.value.promptTabs.length })), 1),
- I("div", jr, [(U(!0), q(F, null, L(v.value.promptTabs, (e, t) => (U(), se(n, {
+ I("div", Ar, G(J(g)("sidebar.generation.promptPipeline", "Prompt Pipeline ({count} variants)", { count: _.value.promptTabs.length })), 1),
+ I("div", jr, [(U(!0), q(F, null, L(_.value.promptTabs, (e, t) => (U(), se(r, {
key: e.label,
type: "button",
severity: "secondary",
@@ -2601,22 +2601,22 @@ var xn = {
rounded: "",
style: K({
appearance: "none",
- border: r.value === t ? "1px solid #4CAF50" : "1px solid var(--border-color, rgba(255,255,255,0.12))",
+ border: n.value === t ? "1px solid #4CAF50" : "1px solid var(--border-color, rgba(255,255,255,0.12))",
borderRadius: "999px",
- background: r.value === t ? "#4CAF5033" : "rgba(127,127,127,0.12)",
- color: r.value === t ? "#4CAF50" : "var(--fg-color, #ddd)",
+ background: n.value === t ? "#4CAF5033" : "rgba(127,127,127,0.12)",
+ color: n.value === t ? "#4CAF50" : "var(--fg-color, #ddd)",
fontSize: "11px",
padding: "4px 10px",
cursor: "pointer",
- fontWeight: r.value === t ? "700" : "500",
- boxShadow: r.value === t ? "0 0 0 1px #4CAF5055 inset" : "none"
+ fontWeight: n.value === t ? "700" : "500",
+ boxShadow: n.value === t ? "0 0 0 1px #4CAF5055 inset" : "none"
}),
- onClick: (e) => r.value = t
+ onClick: (e) => n.value = t
}, {
default: V(() => [pe(G(e.label), 1)]),
_: 2
}, 1032, ["style", "onClick"]))), 128))]),
- (U(!0), q(F, null, L(v.value.promptTabs, (e, t) => ae((U(), q("div", {
+ (U(!0), q(F, null, L(_.value.promptTabs, (e, t) => ae((U(), q("div", {
key: `${e.label}-panel`,
style: {
display: "flex",
@@ -2629,7 +2629,7 @@ var xn = {
padding: "10px"
}
}, [
- I("div", Mr, G(J(m)("sidebar.generation.positive", "POSITIVE")), 1),
+ I("div", Mr, G(J(g)("sidebar.generation.positive", "POSITIVE")), 1),
I("div", {
style: {
"font-size": "12px",
@@ -2640,7 +2640,7 @@ var xn = {
},
onClick: (t) => M(e.positive, t.currentTarget)
}, G(e.positive), 9, Nr),
- e.negative ? (U(), q(F, { key: 0 }, [I("div", Pr, G(J(m)("sidebar.generation.negative", "NEGATIVE")), 1), I("div", {
+ e.negative ? (U(), q(F, { key: 0 }, [I("div", Pr, G(J(g)("sidebar.generation.negative", "NEGATIVE")), 1), I("div", {
style: {
"font-size": "12px",
color: "var(--fg-color, #ddd)",
@@ -2650,20 +2650,20 @@ var xn = {
},
onClick: (t) => M(e.negative, t.currentTarget)
}, G(e.negative), 9, Fr)], 64)) : z("", !0)
- ])), [[fe, r.value === t]])), 128))
- ], 4)) : !v.value.ltxDirector && !v.value.ideogram && v.value.positivePrompt ? (U(), q("div", {
+ ])), [[fe, n.value === t]])), 128))
+ ], 4)) : !_.value.ltxDirector && !_.value.ideogram && _.value.positivePrompt ? (U(), q("div", {
key: 3,
- style: K(h("#4CAF50", {
+ style: K(p("#4CAF50", {
emphasis: !0,
startAlpha: .16,
endAlpha: .1
}))
- }, [I("div", Ir, [I("span", null, G(J(m)("sidebar.generation.positivePrompt", "Positive Prompt")), 1), v.value.positivePromptOverride ? (U(), q("span", {
+ }, [I("div", Ir, [I("span", null, G(J(g)("sidebar.generation.positivePrompt", "Positive Prompt")), 1), _.value.positivePromptOverride ? (U(), q("span", {
key: 0,
- style: K(_()),
- title: J(m)("sidebar.generation.overrideTooltip", "This field was forced by Majoor Gen Info Override")
- }, G(J(m)("sidebar.generation.override", "override")), 13, Lr)) : z("", !0)]), I("div", {
- title: J(m)("action.clickToCopy", "Click to copy"),
+ style: K(h()),
+ title: J(g)("sidebar.generation.overrideTooltip", "This field was forced by Majoor Gen Info Override")
+ }, G(J(g)("sidebar.generation.override", "override")), 13, Lr)) : z("", !0)]), I("div", {
+ title: J(g)("action.clickToCopy", "Click to copy"),
style: {
"font-size": "12px",
color: "var(--fg-color, rgba(255,255,255,0.9))",
@@ -2672,21 +2672,21 @@ var xn = {
"word-break": "break-word",
cursor: "pointer"
},
- onClick: t[4] ||= (e) => M(v.value.positivePrompt, e.currentTarget)
- }, G(v.value.positivePrompt), 9, Rr)], 4)) : z("", !0),
- !v.value.ltxDirector && !v.value.ideogram && !v.value.promptTabs.length && v.value.negativePrompt ? (U(), q("div", {
+ onClick: t[4] ||= (e) => M(_.value.positivePrompt, e.currentTarget)
+ }, G(_.value.positivePrompt), 9, Rr)], 4)) : z("", !0),
+ !_.value.ltxDirector && !_.value.ideogram && !_.value.promptTabs.length && _.value.negativePrompt ? (U(), q("div", {
key: 4,
- style: K(h("#F44336", {
+ style: K(p("#F44336", {
emphasis: !0,
startAlpha: .16,
endAlpha: .1
}))
- }, [I("div", zr, [I("span", null, G(J(m)("sidebar.generation.negativePrompt", "Negative Prompt")), 1), v.value.negativePromptOverride ? (U(), q("span", {
+ }, [I("div", zr, [I("span", null, G(J(g)("sidebar.generation.negativePrompt", "Negative Prompt")), 1), _.value.negativePromptOverride ? (U(), q("span", {
key: 0,
- style: K(_()),
- title: J(m)("sidebar.generation.overrideTooltip", "This field was forced by Majoor Gen Info Override")
- }, G(J(m)("sidebar.generation.override", "override")), 13, Br)) : z("", !0)]), I("div", {
- title: J(m)("action.clickToCopy", "Click to copy"),
+ style: K(h()),
+ title: J(g)("sidebar.generation.overrideTooltip", "This field was forced by Majoor Gen Info Override")
+ }, G(J(g)("sidebar.generation.override", "override")), 13, Br)) : z("", !0)]), I("div", {
+ title: J(g)("action.clickToCopy", "Click to copy"),
style: {
"font-size": "12px",
color: "var(--fg-color, rgba(255,255,255,0.9))",
@@ -2695,10 +2695,10 @@ var xn = {
"word-break": "break-word",
cursor: "pointer"
},
- onClick: t[5] ||= (e) => M(v.value.negativePrompt, e.currentTarget)
- }, G(v.value.negativePrompt), 9, Vr)], 4)) : z("", !0)
+ onClick: t[5] ||= (e) => M(_.value.negativePrompt, e.currentTarget)
+ }, G(_.value.negativePrompt), 9, Vr)], 4)) : z("", !0)
], 64)) : z("", !0),
- b.value ? (U(), q("div", {
+ y.value ? (U(), q("div", {
key: 5,
style: {
background: "linear-gradient(135deg, rgba(0, 188, 212, 0.14) 0%, rgba(33, 150, 243, 0.10) 100%)",
@@ -2709,45 +2709,45 @@ var xn = {
"flex-direction": "column",
gap: "10px"
},
- class: me({ "mjr-ai-disabled-block": !y.value })
+ class: me({ "mjr-ai-disabled-block": !v.value })
}, [
- v.value.showAlignment ? (U(), q(F, { key: 0 }, [
- I("div", Hr, [I("span", { title: J(m)("sidebar.generation.promptAlignmentTooltip", "How closely the generated image matches the prompt (SigLIP2 score)") }, G(J(m)("sidebar.generation.promptAlignment", "Prompt Alignment")), 9, Ur)]),
+ _.value.showAlignment ? (U(), q(F, { key: 0 }, [
+ I("div", Hr, [I("span", { title: J(g)("sidebar.generation.promptAlignmentTooltip", "How closely the generated image matches the prompt (SigLIP2 score)") }, G(J(g)("sidebar.generation.promptAlignment", "Prompt Alignment")), 9, Ur)]),
I("div", Wr, [
I("div", Gr, [I("div", { style: K({
height: "100%",
- width: u.value.fillWidth,
- background: u.value.fillColor,
+ width: l.value.fillWidth,
+ background: l.value.fillColor,
borderRadius: "4px",
transition: "width 0.6s ease, background 0.4s ease"
}) }, null, 4)]),
I("span", { style: K({
fontSize: "13px",
fontWeight: "700",
- color: u.value.scoreColor,
+ color: l.value.scoreColor,
minWidth: "60px",
textAlign: "right",
fontFamily: "'Consolas', 'Monaco', monospace"
- }) }, G(u.value.scoreText), 5),
+ }) }, G(l.value.scoreText), 5),
I("span", { style: K({
fontSize: "9px",
fontWeight: "700",
padding: "2px 6px",
borderRadius: "3px",
- background: u.value.qualityBackground,
- color: u.value.qualityColor,
+ background: l.value.qualityBackground,
+ color: l.value.qualityColor,
textTransform: "uppercase",
letterSpacing: "0.5px"
- }) }, G(u.value.qualityText), 5)
+ }) }, G(l.value.qualityText), 5)
]),
- u.value.aiStatusVisible ? (U(), q("div", Kr, G(u.value.aiStatusText), 1)) : z("", !0)
+ l.value.aiStatusVisible ? (U(), q("div", Kr, G(l.value.aiStatusText), 1)) : z("", !0)
], 64)) : z("", !0),
- I("div", qr, [I("span", { title: J(m)("sidebar.generation.aiCaptionTooltip", "AI caption generated by Florence-2") }, G(v.value.captionLabel), 9, Jr), I("div", Yr, [R(n, {
+ I("div", qr, [I("span", { title: J(g)("sidebar.generation.aiCaptionTooltip", "AI caption generated by Florence-2") }, G(_.value.captionLabel), 9, Jr), I("div", Yr, [R(r, {
type: "button",
class: "mjr-ai-control",
severity: "secondary",
text: "",
- disabled: !ee.value || l.value,
+ disabled: !x.value || c.value,
style: K([{
border: "1px solid rgba(0,188,212,0.45)",
background: "rgba(0,188,212,0.12)",
@@ -2758,19 +2758,19 @@ var xn = {
padding: "2px 8px",
cursor: "pointer"
}, {
- opacity: ee.value ? "1" : "0.6",
- cursor: ee.value ? "pointer" : "default"
+ opacity: x.value ? "1" : "0.6",
+ cursor: x.value ? "pointer" : "default"
}]),
onClick: ue(ce, ["stop"])
}, {
- default: V(() => [pe(G(c.value), 1)]),
+ default: V(() => [pe(G(s.value), 1)]),
_: 1
- }, 8, ["disabled", "style"]), R(n, {
+ }, 8, ["disabled", "style"]), R(r, {
type: "button",
class: "mjr-ai-control",
severity: "secondary",
text: "",
- disabled: !S.value,
+ disabled: !C.value,
style: K([{
border: "1px solid rgba(0,188,212,0.45)",
background: "rgba(0,188,212,0.12)",
@@ -2781,16 +2781,16 @@ var xn = {
padding: "2px 8px",
cursor: "pointer"
}, {
- opacity: S.value ? "1" : "0.6",
- cursor: S.value ? "pointer" : "default"
+ opacity: C.value ? "1" : "0.6",
+ cursor: C.value ? "pointer" : "default"
}]),
onClick: ue(B, ["stop"])
}, {
- default: V(() => [pe(G(s.value), 1)]),
+ default: V(() => [pe(G(o.value), 1)]),
_: 1
}, 8, ["disabled", "style"])])]),
I("div", {
- title: y.value ? J(m)("sidebar.generation.copyCaptionTooltip", "Click to copy caption") : J(m)("sidebar.generation.aiCaptionDisabled", "AI caption controls are disabled"),
+ title: v.value ? J(g)("sidebar.generation.copyCaptionTooltip", "Click to copy caption") : J(g)("sidebar.generation.aiCaptionDisabled", "AI caption controls are disabled"),
style: K({
marginTop: "4px",
padding: "8px",
@@ -2802,19 +2802,19 @@ var xn = {
lineHeight: "1.45",
whiteSpace: "pre-wrap",
wordBreak: "break-word",
- cursor: S.value ? "copy" : "default"
+ cursor: C.value ? "copy" : "default"
}),
onClick: B
- }, G(x.value), 13, Xr)
+ }, G(b.value), 13, Xr)
], 2)) : z("", !0),
- te.value.length ? (U(), q("div", {
+ ee.value.length ? (U(), q("div", {
key: 6,
- style: K(h("#9C27B0", {
+ style: K(p("#9C27B0", {
emphasis: !0,
startAlpha: .18,
endAlpha: .1
}))
- }, [I("div", Zr, G(J(m)("sidebar.generation.models", "Models")), 1), I("div", Qr, [(U(!0), q(F, null, L(te.value, (e) => (U(), q("div", {
+ }, [I("div", Zr, G(J(g)("sidebar.generation.models", "Models")), 1), I("div", Qr, [(U(!0), q(F, null, L(ee.value, (e) => (U(), q("div", {
key: `models-top-${e.key}`,
style: K(E(D(e), !0))
}, [
@@ -2865,20 +2865,20 @@ var xn = {
onClick: (e) => M(t, e.currentTarget)
}, G(t), 9, ni))), 128))])) : z("", !0)
], 4))), 128))])], 4)) : z("", !0),
- v.value.lyrics ? (U(), q("div", {
+ _.value.lyrics ? (U(), q("div", {
key: 7,
- style: K(h("#00BCD4", { emphasis: !1 }))
- }, [I("div", ri, [I("span", null, G(J(m)("sidebar.generation.lyrics", "Lyrics")), 1)]), I("div", ii, G(v.value.lyrics), 1)], 4)) : z("", !0),
- v.value.branchCards.length ? (U(), q(F, { key: 8 }, [
+ style: K(p("#00BCD4", { emphasis: !1 }))
+ }, [I("div", ri, [I("span", null, G(J(g)("sidebar.generation.lyrics", "Lyrics")), 1)]), I("div", ii, G(_.value.lyrics), 1)], 4)) : z("", !0),
+ _.value.branchCards.length ? (U(), q(F, { key: 8 }, [
z("", !0),
- ne.value.length ? (U(), q("div", {
+ te.value.length ? (U(), q("div", {
key: 1,
- style: K(h("#FF9800", {
+ style: K(p("#FF9800", {
emphasis: !0,
startAlpha: .16,
endAlpha: .1
}))
- }, [I("div", ai, G(J(m)("sidebar.generation.sampling", "Sampling")), 1), I("div", oi, [(U(!0), q(F, null, L(ne.value, (e) => (U(), q("div", {
+ }, [I("div", ai, G(J(g)("sidebar.generation.sampling", "Sampling")), 1), I("div", oi, [(U(!0), q(F, null, L(te.value, (e) => (U(), q("div", {
key: `sampling-${e.key}`,
style: K(E(k(e), !0))
}, [I("div", { style: K({
@@ -2907,14 +2907,14 @@ var xn = {
onClick: (e) => M(t.value, e.currentTarget)
}, G(t.value), 9, si)]))), 128))], 4))), 128))])], 4)) : z("", !0),
z("", !0)
- ], 64)) : v.value.modelGroups.length ? (U(), q("div", {
+ ], 64)) : _.value.modelGroups.length ? (U(), q("div", {
key: 9,
- style: K(h("#9C27B0", {
+ style: K(p("#9C27B0", {
emphasis: !0,
startAlpha: .18,
endAlpha: .1
}))
- }, [I("div", ci, G(J(m)("sidebar.generation.models", "Models")), 1), I("div", li, [(U(!0), q(F, null, L(v.value.modelGroups, (e) => (U(), q("div", {
+ }, [I("div", ci, G(J(g)("sidebar.generation.models", "Models")), 1), I("div", li, [(U(!0), q(F, null, L(_.value.modelGroups, (e) => (U(), q("div", {
key: `model-group-${e.key}`,
style: K(E(ie(e.key), !0))
}, [
@@ -2928,8 +2928,8 @@ var xn = {
fontSize: "9px",
fontWeight: "700",
color: "#fff",
- background: p(ie(e.key), .22),
- border: `1px solid ${p(ie(e.key), .48)}`,
+ background: f(ie(e.key), .22),
+ border: `1px solid ${f(ie(e.key), .48)}`,
borderRadius: "999px",
padding: "2px 8px",
letterSpacing: "0.4px",
@@ -2951,7 +2951,7 @@ var xn = {
},
onClick: (t) => M(e.model, t.currentTarget)
}, G(e.model || "-"), 9, fi)]),
- e.loras?.length ? (U(), q("div", pi, [I("div", mi, G(J(m)("sidebar.generation.loraStack", "LoRA Stack")), 1), I("div", hi, [(U(!0), q(F, null, L(e.loras, (t, n) => (U(), q("div", {
+ e.loras?.length ? (U(), q("div", pi, [I("div", mi, G(J(g)("sidebar.generation.loraStack", "LoRA Stack")), 1), I("div", hi, [(U(!0), q(F, null, L(e.loras, (t, n) => (U(), q("div", {
key: `${e.key}-lora-${n}`,
style: {
"font-size": "12px",
@@ -2967,9 +2967,9 @@ var xn = {
onClick: (e) => M(t, e.currentTarget)
}, G(t), 9, gi))), 128))])])) : z("", !0)
], 4))), 128))])], 4)) : z("", !0),
- (U(!0), q(F, null, L(C.value, (e) => (U(), q("div", {
+ (U(!0), q(F, null, L(w.value, (e) => (U(), q("div", {
key: e.key,
- style: K(h(e.accent, { emphasis: e.emphasis }))
+ style: K(p(e.accent, { emphasis: e.emphasis }))
}, [I("div", { style: K({
fontSize: "11px",
fontWeight: "600",
@@ -2989,9 +2989,9 @@ var xn = {
}
}, [I("span", null, G(t.label) + ":", 1), t.override ? (U(), q("span", {
key: 0,
- style: K(_()),
- title: J(m)("sidebar.generation.overrideTooltip", "This field was forced by Majoor Gen Info Override")
- }, G(J(m)("sidebar.generation.override", "override")), 13, yi)) : z("", !0)], 8, vi), I("div", {
+ style: K(h()),
+ title: J(g)("sidebar.generation.overrideTooltip", "This field was forced by Majoor Gen Info Override")
+ }, G(J(g)("sidebar.generation.override", "override")), 13, yi)) : z("", !0)], 8, vi), I("div", {
title: `${t.label}: ${t.value}`,
style: {
"font-size": "12px",
@@ -3002,10 +3002,10 @@ var xn = {
},
onClick: (e) => M(t.value, e.currentTarget)
}, G(t.value), 9, bi)], 64))), 128))])], 4))), 128)),
- v.value.notesFields.length ? (U(), q("div", {
+ _.value.notesFields.length ? (U(), q("div", {
key: 10,
- style: K(h("#4CAF50", { emphasis: !1 }))
- }, [I("div", xi, G(J(m)("sidebar.generation.notes", "Notes")), 1), (U(!0), q(F, null, L(v.value.notesFields, (e) => (U(), q("div", {
+ style: K(p("#4CAF50", { emphasis: !1 }))
+ }, [I("div", xi, G(J(g)("sidebar.generation.notes", "Notes")), 1), (U(!0), q(F, null, L(_.value.notesFields, (e) => (U(), q("div", {
key: e.label,
title: `${e.label}: ${e.value}`,
style: {
@@ -3018,14 +3018,14 @@ var xn = {
},
onClick: (t) => M(e.value, t.currentTarget)
}, G(e.value), 9, Si))), 128))], 4)) : z("", !0),
- v.value.moduleBlocks.length ? (U(), q("div", {
+ _.value.moduleBlocks.length ? (U(), q("div", {
key: 11,
- style: K(h("#26C6DA", {
+ style: K(p("#26C6DA", {
emphasis: !0,
startAlpha: .14,
endAlpha: .08
}))
- }, [I("div", Ci, G(J(m)("sidebar.generation.modules", "Modules")), 1), I("div", wi, [(U(!0), q(F, null, L(v.value.moduleBlocks, (e) => (U(), q("div", {
+ }, [I("div", Ci, G(J(g)("sidebar.generation.modules", "Modules")), 1), I("div", wi, [(U(!0), q(F, null, L(_.value.moduleBlocks, (e) => (U(), q("div", {
key: `module-${e.key}-${e.title}`,
style: K(E(e.accent, !1))
}, [I("div", { style: K({
@@ -3054,11 +3054,11 @@ var xn = {
},
onClick: (e) => M(t.value, e.currentTarget)
}, G(t.value), 9, Ei)]))), 128))], 4))), 128))])], 4)) : z("", !0),
- v.value.ttsInstruction ? (U(), q("div", {
+ _.value.ttsInstruction ? (U(), q("div", {
key: 12,
- style: K(h("#26A69A", { emphasis: !1 }))
- }, [I("div", Di, [I("span", null, G(J(m)("sidebar.generation.ttsInstruction", "TTS Instruction")), 1)]), I("div", {
- title: J(m)("action.clickToCopy", "Click to copy"),
+ style: K(p("#26A69A", { emphasis: !1 }))
+ }, [I("div", Di, [I("span", null, G(J(g)("sidebar.generation.ttsInstruction", "TTS Instruction")), 1)]), I("div", {
+ title: J(g)("action.clickToCopy", "Click to copy"),
style: {
"font-size": "12px",
color: "var(--fg-color, rgba(255,255,255,0.9))",
@@ -3067,13 +3067,13 @@ var xn = {
"word-break": "break-word",
cursor: "pointer"
},
- onClick: t[6] ||= (e) => M(v.value.ttsInstruction, e.currentTarget)
- }, G(v.value.ttsInstruction), 9, Oi)], 4)) : z("", !0),
- v.value.seed !== null && v.value.seed !== void 0 && v.value.seed !== "" ? (U(), q("div", {
+ onClick: t[6] ||= (e) => M(_.value.ttsInstruction, e.currentTarget)
+ }, G(_.value.ttsInstruction), 9, Oi)], 4)) : z("", !0),
+ _.value.seed !== null && _.value.seed !== void 0 && _.value.seed !== "" ? (U(), q("div", {
key: 13,
- style: K(g())
- }, [I("div", ki, G(J(m)("sidebar.generation.seed", "SEED")), 1), I("div", {
- title: J(m)("sidebar.generation.copySeedTooltip", "Click to copy seed: {seed}", { seed: v.value.seed }),
+ style: K(m())
+ }, [I("div", ki, G(J(g)("sidebar.generation.seed", "SEED")), 1), I("div", {
+ title: J(g)("sidebar.generation.copySeedTooltip", "Click to copy seed: {seed}", { seed: _.value.seed }),
style: {
"font-size": "18px",
"font-weight": "700",
@@ -3085,17 +3085,17 @@ var xn = {
"border-radius": "4px",
transition: "background 0.2s"
},
- onClick: t[7] ||= (e) => M(v.value.seed, e.currentTarget, "rgba(76, 175, 80, 0.4)")
- }, G(v.value.seed), 9, Ai)], 4)) : z("", !0),
- v.value.inputFiles.length ? (U(), q("div", {
+ onClick: t[7] ||= (e) => M(_.value.seed, e.currentTarget, "rgba(76, 175, 80, 0.4)")
+ }, G(_.value.seed), 9, Ai)], 4)) : z("", !0),
+ _.value.inputFiles.length ? (U(), q("div", {
key: 14,
- style: K(h("#4CAF50", {
+ style: K(p("#4CAF50", {
emphasis: !0,
startAlpha: .16,
endAlpha: .1
}))
}, [I("div", {
- title: J(m)("tooltip.generationInputs", "Input files used in generation"),
+ title: J(g)("tooltip.generationInputs", "Input files used in generation"),
style: {
"font-size": "11px",
"font-weight": "600",
@@ -3104,7 +3104,7 @@ var xn = {
"letter-spacing": "0.5px",
"margin-bottom": "8px"
}
- }, G(J(m)("sidebar.generation.sourceFiles", "Source Files")), 9, ji), I("div", Mi, [(U(!0), q(F, null, L(v.value.inputFiles, (e) => (U(), se(Nn, {
+ }, G(J(g)("sidebar.generation.sourceFiles", "Source Files")), 9, ji), I("div", Mi, [(U(!0), q(F, null, L(_.value.inputFiles, (e) => (U(), se(Nn, {
key: e.id,
"input-file": e
}, null, 8, ["input-file"]))), 128))])], 4)) : z("", !0)
@@ -3454,8 +3454,8 @@ var xn = {
} }, Ga = 1, Ka = 8, qa = 250, Ja = /* @__PURE__ */ B({
__name: "SidebarWorkflowSection",
props: { asset: {} },
- setup(t) {
- let n = t, r = Object.freeze({
+ setup(e) {
+ let n = e, i = Object.freeze({
nodeColors: !0,
showLinks: !0,
showGroups: !0,
@@ -3464,12 +3464,12 @@ var xn = {
showViewport: !0,
showNodeLabels: !1,
size: "comfortable"
- }), i = Object.freeze({
+ }), a = Object.freeze({
zoom: 1,
centerX: null,
centerY: null,
hoveredNodeId: null
- }), a = Object.freeze([
+ }), o = Object.freeze([
{
key: "compact",
label: "Compact",
@@ -3485,7 +3485,7 @@ var xn = {
label: "Expanded",
height: 220
}
- ]), s = Y(null), c = Y(""), l = Y(!1), h = Y(!1), v = Y(null), y = Y(!1), x = Y(null), ne = Y([]), C = Y(null), w = Y(!1), T = Y(!1), D = Y(ve()), O = Y({ ...i }), re = Y("crosshair"), k = Y(""), A = null, j = null, N = null;
+ ]), s = Y(null), l = Y(""), p = Y(!1), m = Y(!1), v = Y(null), y = Y(!1), S = Y(null), te = Y([]), w = Y(null), T = Y(!1), ne = Y(!1), D = Y(ve()), O = Y({ ...a }), re = Y("crosshair"), k = Y(""), A = null, j = null, N = null;
function P(e, t, n) {
let r = Number(e);
return Number.isFinite(r) ? Math.max(t, Math.min(n, r)) : t;
@@ -3499,7 +3499,7 @@ var xn = {
});
}
function B() {
- O.value = { ...i }, k.value = "";
+ O.value = { ...a }, k.value = "";
}
function ue(e) {
let t = e?.metadata_raw ?? null;
@@ -3563,19 +3563,19 @@ var xn = {
try {
let e = E?.()?.workflowMinimap;
if (e && typeof e == "object") return {
- ...r,
+ ...i,
...e
};
} catch (e) {
console.debug?.(e);
}
try {
- let e = localStorage?.getItem?.(u);
- if (!e) return { ...r };
+ let e = localStorage?.getItem?.(h);
+ if (!e) return { ...i };
let t = JSON.parse(e);
- if (!t || typeof t != "object") return { ...r };
+ if (!t || typeof t != "object") return { ...i };
let n = {
- ...r,
+ ...i,
...t
};
try {
@@ -3583,13 +3583,13 @@ var xn = {
e.workflowMinimap = {
...e.workflowMinimap,
...n
- }, te(e), localStorage?.removeItem?.(u);
+ }, ee(e), localStorage?.removeItem?.(h);
} catch (e) {
console.debug?.(e);
}
return n;
} catch {
- return { ...r };
+ return { ...i };
}
}
function ye(e) {
@@ -3598,7 +3598,7 @@ var xn = {
t.workflowMinimap = {
...t.workflowMinimap,
...e
- }, te(t);
+ }, ee(t);
} catch (e) {
console.debug?.(e);
}
@@ -3617,14 +3617,14 @@ var xn = {
n.asset?.detected_task ? `detected: ${n.asset.detected_task}` : "",
n.asset?.detected_model_family ? n.asset.detected_model_family : "",
n.asset?.detected_provider ? n.asset.detected_provider : ""
- ].filter(Boolean).join(" · ")), Ae = H(() => Ge(n.asset?.missing_nodes || n.asset?.missingNodes)), je = H(() => Ge(n.asset?.missing_models || n.asset?.missingModels)), Me = H(() => Ge(n.asset?.tags || n.asset?.workflow_tags || n.asset?.tags_json)), Ne = H(() => Me.value.slice(0, 3)), Pe = H(() => Math.max(0, Me.value.length - Ne.value.length)), Fe = H(() => Ge(x.value?.missing_nodes)), Ie = H(() => Ge(x.value?.missing_models)), Le = H(() => Ge(x.value?.warnings)), Re = H(() => {
- let e = x.value;
+ ].filter(Boolean).join(" · ")), Ae = H(() => Ge(n.asset?.missing_nodes || n.asset?.missingNodes)), je = H(() => Ge(n.asset?.missing_models || n.asset?.missingModels)), Me = H(() => Ge(n.asset?.tags || n.asset?.workflow_tags || n.asset?.tags_json)), Ne = H(() => Me.value.slice(0, 3)), Pe = H(() => Math.max(0, Me.value.length - Ne.value.length)), Fe = H(() => Ge(S.value?.missing_nodes)), Ie = H(() => Ge(S.value?.missing_models)), Le = H(() => Ge(S.value?.warnings)), Re = H(() => {
+ let e = S.value;
return e ? `${Number(e.node_count || 0)} nodes | ${Number(e.subgraph_count || 0)} subgraphs | ${Array.isArray(e.required_nodes) ? e.required_nodes.length : 0} node types` : "";
}), ze = H(() => {
- let e = ne.value?.[0];
+ let e = te.value?.[0];
return e ? String(e.filename || "").replace(/\.json$/i, "") : "";
}), Be = H(() => {
- let e = C.value;
+ let e = w.value;
return e ? `${Number(e.changed?.length || 0)} changed | ${Number(e.added?.length || 0)} added | ${Number(e.removed?.length || 0)} removed` : "";
}), Ve = H(() => {
let e = Number(n.asset?.usage_count || n.asset?.usageCount || 0);
@@ -3691,8 +3691,8 @@ var xn = {
async function qe() {
if (X.value) return;
let e = be.value;
- if (e && !h.value) {
- h.value = !0;
+ if (e && !m.value) {
+ m.value = !0;
try {
let t = await _(e, { timeoutMs: 25e3 });
if (!t?.ok) return;
@@ -3705,7 +3705,7 @@ var xn = {
} catch (e) {
console.debug?.(e);
} finally {
- h.value = !1;
+ m.value = !1;
}
}
}
@@ -3718,70 +3718,70 @@ var xn = {
return String(e?.type || e?.class_type || e?.name || "").trim();
}
function nt() {
- c.value = Xe.value;
+ l.value = Xe.value;
}
async function rt() {
if (!xe.value) return;
let e = String(n.asset?.filepath || n.asset?.path || n.asset?.file_info?.filepath || "").trim();
if (!e) {
- o(m("toast.workflowMissingPath", "Workflow file path is missing."), "error");
+ r(g("toast.workflowMissingPath", "Workflow file path is missing."), "error");
return;
}
- let t = String(c.value || "").trim();
+ let t = String(l.value || "").trim();
if (t !== Xe.value) {
- l.value = !0;
+ p.value = !0;
try {
- let n = await ee({
+ let n = await x({
filepath: e,
category: t
}, { timeoutMs: 3e4 });
if (!n?.ok) {
- o(n?.error || m("toast.workflowMoveFailed", "Failed to move workflow."), "error");
+ r(n?.error || g("toast.workflowMoveFailed", "Failed to move workflow."), "error");
return;
}
- c.value = String(n?.data?.workflow?.category || t || "").trim(), o(m("toast.workflowCategoryUpdated", "Workflow category updated"), "success", 1800);
+ l.value = String(n?.data?.workflow?.category || t || "").trim(), r(g("toast.workflowCategoryUpdated", "Workflow category updated"), "success", 1800);
} catch {
- o(m("toast.workflowMoveFailed", "Failed to move workflow."), "error");
+ r(g("toast.workflowMoveFailed", "Failed to move workflow."), "error");
} finally {
- l.value = !1;
+ p.value = !1;
}
}
}
async function it() {
let e = be.value;
if (!e) {
- o(m("toast.workflowMissingPath", "Workflow file path is missing."), "error");
+ r(g("toast.workflowMissingPath", "Workflow file path is missing."), "error");
return;
}
- let t = await f({
+ let t = await d({
filepath: e,
limit: 12
}, { timeoutMs: 15e3 });
if (!t?.ok) {
- o(t?.error || m("toast.workflowLoadFailed", "Failed to load workflow."), "error");
+ r(t?.error || g("toast.workflowLoadFailed", "Failed to load workflow."), "error");
return;
}
- let r = Array.isArray(t.data) ? t.data : [];
- if (!r.length) {
- o(m("toast.workflowThumbnailNoCandidates", "No linked outputs are available for this workflow yet."), "warning", 2600);
+ let i = Array.isArray(t.data) ? t.data : [];
+ if (!i.length) {
+ r(g("toast.workflowThumbnailNoCandidates", "No linked outputs are available for this workflow yet."), "warning", 2600);
return;
}
- let i = await dn({
- title: m("ctx.setWorkflowThumbnail", "Set workflow thumbnail"),
+ let a = await dn({
+ title: g("ctx.setWorkflowThumbnail", "Set workflow thumbnail"),
workflow: n.asset,
- items: r
+ items: i
});
- if (!i?.filepath) return;
- let a = await b({
+ if (!a?.filepath) return;
+ let o = await b({
filepath: e,
- source_filepath: i.filepath
+ source_filepath: a.filepath
}, { timeoutMs: 3e4 });
- a?.ok ? (o(m("toast.workflowUpdated", "Workflow updated"), "success", 1800), window?.dispatchEvent?.(new CustomEvent("mjr:reload-grid", { detail: { reason: "workflow-thumbnail-sidebar" } }))) : o(a?.error || m("toast.workflowSaveFailed", "Failed to save workflow."), "error");
+ o?.ok ? (r(g("toast.workflowUpdated", "Workflow updated"), "success", 1800), window?.dispatchEvent?.(new CustomEvent("mjr:reload-grid", { detail: { reason: "workflow-thumbnail-sidebar" } }))) : r(o?.error || g("toast.workflowSaveFailed", "Failed to save workflow."), "error");
}
async function at() {
- if (await qe(), !X.value) o(m("toast.workflowLoadFailed", "Failed to load workflow."), "error");
+ if (await qe(), !X.value) r(g("toast.workflowLoadFailed", "Failed to load workflow."), "error");
else try {
- await S.openAssets({
+ await C.openAssets({
assets: [{
...n.asset,
workflow: X.value,
@@ -3791,28 +3791,28 @@ var xn = {
mode: "graph"
});
} catch (e) {
- console.debug?.(e), o(m("toast.workflowLoadFailed", "Failed to load workflow."), "error");
+ console.debug?.(e), r(g("toast.workflowLoadFailed", "Failed to load workflow."), "error");
}
}
async function ot() {
- let t = be.value;
- if (!t) o(m("toast.workflowMissingPath", "Workflow file path is missing."), "error");
+ let e = be.value;
+ if (!e) r(g("toast.workflowMissingPath", "Workflow file path is missing."), "error");
else {
- y.value = !0, x.value = null, ne.value = [], C.value = null;
+ y.value = !0, S.value = null, te.value = [], w.value = null;
try {
- let [n, r] = await Promise.all([e(t, { timeoutMs: 2e4 }), d(t, { timeoutMs: 15e3 })]);
+ let [n, i] = await Promise.all([t(e, { timeoutMs: 2e4 }), u(e, { timeoutMs: 15e3 })]);
if (!n?.ok) {
- o(n?.error || m("toast.workflowLoadFailed", "Failed to load workflow."), "error");
+ r(n?.error || g("toast.workflowLoadFailed", "Failed to load workflow."), "error");
return;
}
- x.value = n.data || {}, ne.value = Array.isArray(r?.data?.versions) ? r.data.versions : [];
- let i = ne.value[0];
- if (i?.filepath) {
- let e = await p(t, i.filepath, { timeoutMs: 15e3 });
- e?.ok && (C.value = e.data || null);
+ S.value = n.data || {}, te.value = Array.isArray(i?.data?.versions) ? i.data.versions : [];
+ let a = te.value[0];
+ if (a?.filepath) {
+ let t = await f(e, a.filepath, { timeoutMs: 15e3 });
+ t?.ok && (w.value = t.data || null);
}
} catch (e) {
- console.debug?.(e), o(m("toast.workflowLoadFailed", "Failed to load workflow."), "error");
+ console.debug?.(e), r(g("toast.workflowLoadFailed", "Failed to load workflow."), "error");
} finally {
y.value = !1;
}
@@ -3844,7 +3844,7 @@ var xn = {
};
}), ut = H(() => {
let e = String(D.value?.size || "comfortable");
- return a.find((t) => t.key === e) || a[1];
+ return o.find((t) => t.key === e) || o[1];
}), dt = H(() => `${ut.value.height}px`), ft = H(() => [
{
key: "showNodeLabels",
@@ -3894,7 +3894,7 @@ var xn = {
}) || null, oe(j?.resolvedView);
}
function pt(e) {
- g(e);
+ c(e);
}
function mt(e) {
let t = s.value;
@@ -3970,7 +3970,7 @@ var xn = {
}, ye(D.value);
}
function wt(e) {
- a.some((t) => t.key === e) && (D.value = {
+ o.some((t) => t.key === e) && (D.value = {
...D.value,
size: e
}, ye(D.value));
@@ -3988,7 +3988,7 @@ var xn = {
}, {
deep: !0,
flush: "post"
- }), W(w, () => {
+ }), W(T, () => {
Q();
}, { flush: "post" }), de(() => {
try {
@@ -4138,7 +4138,7 @@ var xn = {
},
onClick: it
}, {
- default: V(() => [t[8] ||= I("i", { class: "pi pi-image" }, null, -1), I("span", null, G(J(m)("ctx.setWorkflowThumbnail", "Set workflow thumbnail")), 1)]),
+ default: V(() => [t[8] ||= I("i", { class: "pi pi-image" }, null, -1), I("span", null, G(J(g)("ctx.setWorkflowThumbnail", "Set workflow thumbnail")), 1)]),
_: 1
}),
R(n, {
@@ -4161,7 +4161,7 @@ var xn = {
},
onClick: at
}, {
- default: V(() => [t[9] ||= I("i", { class: "pi pi-search" }, null, -1), I("span", null, G(J(m)("ctx.inspect", "Inspect")), 1)]),
+ default: V(() => [t[9] ||= I("i", { class: "pi pi-search" }, null, -1), I("span", null, G(J(g)("ctx.inspect", "Inspect")), 1)]),
_: 1
}),
R(n, {
@@ -4189,7 +4189,7 @@ var xn = {
_: 1
}, 8, ["disabled"])
]),
- x.value ? (U(), q("div", aa, [
+ S.value ? (U(), q("div", aa, [
I("div", oa, [t[10] ||= I("div", { style: {
"font-size": "10px",
"font-weight": "800",
@@ -4290,9 +4290,9 @@ var xn = {
"white-space": "nowrap"
}
}, G(e), 1))), 128))], 8, Ea)) : z("", !0)]), I("div", Da, [ae(I("input", {
- "onUpdate:modelValue": t[0] ||= (e) => c.value = e,
+ "onUpdate:modelValue": t[0] ||= (e) => l.value = e,
type: "text",
- placeholder: J(m)("dialog.workflowCategory", "Workflow category"),
+ placeholder: J(g)("dialog.workflowCategory", "Workflow category"),
style: {
flex: "1",
"min-width": "0",
@@ -4303,26 +4303,26 @@ var xn = {
color: "rgba(255,255,255,0.92)",
"font-size": "12px"
}
- }, null, 8, Oa), [[ge, c.value]]), R(n, {
+ }, null, 8, Oa), [[ge, l.value]]), R(n, {
type: "button",
severity: "secondary",
text: "",
rounded: "",
- disabled: l.value,
+ disabled: p.value,
style: K({
padding: "8px 12px",
borderRadius: "8px",
border: "1px solid rgba(255,255,255,0.12)",
- background: l.value ? "rgba(255,255,255,0.06)" : "rgba(33,150,243,0.16)",
+ background: p.value ? "rgba(255,255,255,0.06)" : "rgba(33,150,243,0.16)",
color: "rgba(255,255,255,0.92)",
- cursor: l.value ? "wait" : "pointer",
+ cursor: p.value ? "wait" : "pointer",
fontSize: "12px",
fontWeight: "700",
whiteSpace: "nowrap"
}),
onClick: rt
}, {
- default: V(() => [pe(G(l.value ? "Saving..." : "Move"), 1)]),
+ default: V(() => [pe(G(p.value ? "Saving..." : "Move"), 1)]),
_: 1
}, 8, ["disabled", "style"])])])) : z("", !0),
st.value.length ? (U(), q("div", ka, [
@@ -4349,7 +4349,7 @@ var xn = {
}, 8, ["value"]),
ct.value ? (U(), q("div", Pa, " +" + G(ct.value) + " more nodes ", 1)) : z("", !0)
])) : z("", !0),
- I("div", Fa, [I("div", Ia, [(U(!0), q(F, null, L(J(a), (e) => (U(), se(n, {
+ I("div", Fa, [I("div", Ia, [(U(!0), q(F, null, L(J(o), (e) => (U(), se(n, {
key: e.key,
type: "button",
severity: "secondary",
@@ -4381,7 +4381,7 @@ var xn = {
severity: "secondary",
text: "",
rounded: "",
- title: J(m)("tooltip.minimapSettings", "Minimap settings"),
+ title: J(g)("tooltip.minimapSettings", "Minimap settings"),
style: {
width: "28px",
height: "28px",
@@ -4394,12 +4394,12 @@ var xn = {
color: "rgba(255,255,255,0.9)",
cursor: "pointer"
},
- onClick: t[1] ||= (e) => w.value = !w.value
+ onClick: t[1] ||= (e) => T.value = !T.value
}, {
default: V(() => [...t[16] ||= [I("i", { class: "pi pi-sliders-h" }, null, -1)]]),
_: 1
}, 8, ["title"])]),
- w.value ? (U(), q("div", La, [(U(!0), q(F, null, L(ft.value, (e) => (U(), se(n, {
+ T.value ? (U(), q("div", La, [(U(!0), q(F, null, L(ft.value, (e) => (U(), se(n, {
key: e.key,
type: "button",
severity: "secondary",
@@ -4472,9 +4472,9 @@ var xn = {
}, null, 36)]),
I("div", Ha, [I("span", null, G(k.value || "Click/drag to navigate | wheel to zoom"), 1), I("span", null, G(Math.round((O.value.zoom || 1) * 100)) + "% | " + G(ut.value.label), 1)]),
I("details", {
- open: T.value,
+ open: ne.value,
style: { "margin-top": "10px" },
- onToggle: t[2] ||= (e) => T.value = e.target.open
+ onToggle: t[2] ||= (e) => ne.value = e.target.open
}, [t[17] ||= I("summary", { style: {
cursor: "pointer",
color: "var(--mjr-muted, rgba(255,255,255,0.65))",
@@ -4503,93 +4503,93 @@ var xn = {
function n(e) {
return Math.max(0, Math.min(5, Number(e) || 0));
}
- let r = e, i = t, s = n(r.asset?.rating ?? r.modelValue), c = Y(s), l = Y(0), u = Y(!1), d = s, f = s, p = null, h = H(() => l.value > 0 ? l.value : c.value), g = (e) => e <= h.value ? "#FFD45A" : "#555", _ = (e) => e <= h.value ? "scale(1.1)" : "scale(1)", v = H(() => {
- let e = r.size;
+ let i = e, o = t, s = n(i.asset?.rating ?? i.modelValue), c = Y(s), u = Y(0), d = Y(!1), f = s, p = s, m = null, h = H(() => u.value > 0 ? u.value : c.value), _ = (e) => e <= h.value ? "#FFD45A" : "#555", v = (e) => e <= h.value ? "scale(1.1)" : "scale(1)", y = H(() => {
+ let e = i.size;
return typeof e == "number" ? `${Math.max(8, e)}px` : String(e || "").trim() || "16px";
}), b = (e) => Math.min(100 * 2 ** Math.max(0, e - 1), 2e3), x = (e) => new Promise((t) => setTimeout(t, e));
- function ee(e) {
- if (u.value) return;
+ function S(e) {
+ if (d.value) return;
let t = n(e);
- d = t, f = t, t !== c.value && (c.value = t);
+ f = t, p = t, t !== c.value && (c.value = t);
}
- function S(e = null) {
- c.value = d, f = d, i("update:modelValue", d), e && o(e, "error");
+ function C(e = null) {
+ c.value = f, p = f, o("update:modelValue", f), e && r(e, "error");
}
- async function te() {
- if (u.value) return;
- u.value = !0;
+ async function ee() {
+ if (d.value) return;
+ d.value = !0;
let e = Date.now();
try {
let t = 0;
for (; t < 10;) {
if (Date.now() - e > 3e4) {
- S(m("toast.ratingUpdateFailed", "Rating update failed"));
+ C(g("toast.ratingUpdateFailed", "Rating update failed"));
break;
}
t > 0 && await x(b(t)), t += 1;
- let s = n(f), l = typeof AbortController < "u" ? new AbortController() : null;
- p = l;
- let u = null;
+ let s = n(p), u = typeof AbortController < "u" ? new AbortController() : null;
+ m = u;
+ let d = null;
try {
- u = await a(r.asset, s, l ? { signal: l.signal } : {});
+ d = await a(i.asset, s, u ? { signal: u.signal } : {});
} catch (e) {
console.error("Failed to update rating:", e);
}
- if (!u?.ok) {
- if (u?.code === "ABORTED" && f !== s) continue;
- S(u?.error || m("toast.ratingUpdateFailed", "Rating update failed"));
+ if (!d?.ok) {
+ if (d?.code === "ABORTED" && p !== s) continue;
+ C(d?.error || g("toast.ratingUpdateFailed", "Rating update failed"));
break;
}
try {
- let e = u?.data?.asset_id ?? null;
- e != null && !y(r.asset.id) && (r.asset.id = e);
+ let e = d?.data?.asset_id ?? null;
+ e != null && !l(i.asset.id) && (i.asset.id = e);
} catch (e) {
console.debug?.(e);
}
- d = s, c.value = s;
+ f = s, c.value = s;
try {
- r.asset.rating = s;
+ i.asset.rating = s;
} catch (e) {
console.debug?.(e);
}
- if (i("update:modelValue", s), i("rating-change", {
- assetId: r.asset?.id,
+ if (o("update:modelValue", s), o("rating-change", {
+ assetId: i.asset?.id,
rating: s
- }), ne(P, {
- assetId: r.asset?.id == null ? "" : String(r.asset.id),
+ }), te(P, {
+ assetId: i.asset?.id == null ? "" : String(i.asset.id),
rating: s
- }), f === s) {
- o(m("toast.ratingSetN", { n: s }), "success", 1e3);
+ }), p === s) {
+ r(g("toast.ratingSetN", { n: s }), "success", 1e3);
break;
}
}
- t >= 10 && S(m("toast.ratingUpdateFailed", "Rating update failed"));
+ t >= 10 && C(g("toast.ratingUpdateFailed", "Rating update failed"));
} finally {
- p = null, u.value = !1;
+ m = null, d.value = !1;
}
}
- function C(e) {
- if (r.disabled) return;
+ function w(e) {
+ if (i.disabled) return;
let t = n(e);
- f = t, c.value = t, l.value = 0, i("update:modelValue", t);
+ p = t, c.value = t, u.value = 0, o("update:modelValue", t);
try {
- p?.abort?.();
+ m?.abort?.();
} catch (e) {
console.debug?.(e);
}
- te();
- }
- function w(e) {
- C(e);
+ ee();
}
function T(e) {
- r.disabled || (l.value = e);
+ w(e);
+ }
+ function ne(e) {
+ i.disabled || (u.value = e);
}
function E() {
- l.value = 0;
+ u.value = 0;
}
function D(e) {
- if (r.disabled) return;
+ if (i.disabled) return;
let t = null;
switch (e.key) {
case "ArrowRight":
@@ -4608,18 +4608,18 @@ var xn = {
break;
default: e.key >= "0" && e.key <= "5" && (e.preventDefault(), t = parseInt(e.key, 10));
}
- t !== null && t !== c.value && C(t);
+ t !== null && t !== c.value && w(t);
}
return de(() => {
try {
- p?.abort?.();
+ m?.abort?.();
} catch (e) {
console.debug?.(e);
}
- }), W(() => r.modelValue, (e) => {
- ee(e);
- }), W(() => r.asset?.rating, (e) => {
- ee(e);
+ }), W(() => i.modelValue, (e) => {
+ S(e);
+ }), W(() => i.asset?.rating, (e) => {
+ S(e);
}), (t, n) => {
let r = le("MButton");
return U(), q("div", {
@@ -4630,10 +4630,10 @@ var xn = {
pointerEvents: e.disabled ? "none" : "auto",
opacity: e.disabled ? .6 : 1
}),
- "aria-busy": u.value,
+ "aria-busy": d.value,
"aria-disabled": e.disabled,
role: "slider",
- "aria-label": J(m)("rating.label", "Rating"),
+ "aria-label": J(g)("rating.label", "Rating"),
"aria-valuemin": 0,
"aria-valuemax": 5,
"aria-valuenow": c.value,
@@ -4647,20 +4647,20 @@ var xn = {
text: "",
rounded: "",
style: K({
- color: g(t),
- transform: _(t),
- fontSize: v.value,
+ color: _(t),
+ transform: v(t),
+ fontSize: y.value,
background: "none",
border: "none",
cursor: e.disabled ? "default" : "pointer",
padding: "0",
transition: "all 0.15s ease"
}),
- "aria-label": J(m)("rating.setN", { n: t }),
+ "aria-label": J(g)("rating.setN", { n: t }),
"aria-pressed": t <= c.value,
disabled: e.disabled,
- onClick: (e) => w(t),
- onMouseenter: (e) => T(t),
+ onClick: (e) => T(t),
+ onMouseenter: (e) => ne(t),
onMouseleave: E
}, {
default: V(() => [...n[0] ||= [pe(" ★ ", -1)]]),
@@ -4693,8 +4693,8 @@ var xn = {
}
},
emits: ["update:modelValue", "tags-change"],
- setup(e, { emit: n }) {
- function r(e) {
+ setup(e, { emit: t }) {
+ function i(e) {
try {
let t = String(e ?? "").trim();
if (!t || t.length > no) return null;
@@ -4707,24 +4707,24 @@ var xn = {
return null;
}
}
- function i(e) {
+ function a(e) {
try {
return String(e ?? "").replace(/[\x00-\x1f\x7f]/g, "").trim() || null;
} catch {
return null;
}
}
- function a(e) {
- let t = i(e);
+ function o(e) {
+ let t = a(e);
return t ? t.toLowerCase() : "";
}
function s(e) {
let t = [], n = /* @__PURE__ */ new Set();
for (let r of Array.isArray(e) ? e : []) {
- let e = i(r);
+ let e = a(r);
if (!e) continue;
- let a = e.toLowerCase();
- if (!n.has(a) && (n.add(a), t.push(e), t.length >= ro)) break;
+ let i = e.toLowerCase();
+ if (!n.has(i) && (n.add(i), t.push(e), t.length >= ro)) break;
}
return t;
}
@@ -4742,164 +4742,164 @@ var xn = {
}
return [];
}
- function l(e, t) {
+ function u(e, t) {
if (!Array.isArray(e) || !Array.isArray(t) || e.length !== t.length) return !1;
for (let n = 0; n < e.length; n += 1) if (e[n] !== t[n]) return !1;
return !0;
}
- let u = e, d = n, f = c(u.asset?.tags ?? u.modelValue ?? []), p = Y([...f]), g = Y(null), _ = Y(""), v = Y(!1), b = Y(-1), x = Y(null), ee = Y([]), S = Y(!1), te = (e) => e?.$el || e || null, C = !1, w = !1, T = null, E = [...f], D = (e) => Math.min(100 * 2 ** Math.max(0, e - 1), 2e3), O = (e) => new Promise((t) => setTimeout(t, e)), re = () => setTimeout(() => v.value = !1, 200), k = H(() => {
- let e = _.value.toLowerCase().trim();
+ let d = e, f = t, m = c(d.asset?.tags ?? d.modelValue ?? []), h = Y([...m]), _ = Y(null), v = Y(""), y = Y(!1), b = Y(-1), x = Y(null), S = Y([]), C = Y(!1), ee = (e) => e?.$el || e || null, w = !1, T = !1, ne = null, E = [...m], D = (e) => Math.min(100 * 2 ** Math.max(0, e - 1), 2e3), O = (e) => new Promise((t) => setTimeout(t, e)), re = () => setTimeout(() => y.value = !1, 200), k = H(() => {
+ let e = v.value.toLowerCase().trim();
if (!e) return [];
- let t = new Set(p.value.map((e) => a(e)).filter(Boolean));
- return ee.value.filter((n) => {
- let r = a(n);
+ let t = new Set(h.value.map((e) => o(e)).filter(Boolean));
+ return S.value.filter((n) => {
+ let r = o(n);
return n.toLowerCase().includes(e) && (!r || !t.has(r));
}).slice(0, 10);
}), A = H(() => k.value.length > 0);
function j(e) {
- if (C) return;
+ if (w) return;
let t = c(e);
- E = [...t], l(t, p.value) || (p.value = [...t]);
+ E = [...t], u(t, h.value) || (h.value = [...t]);
}
function ie(e) {
- let t = [...e], n = u.asset?.id == null ? "" : String(u.asset.id);
- d("update:modelValue", t), d("tags-change", {
- assetId: u.asset?.id,
+ let t = [...e], n = d.asset?.id == null ? "" : String(d.asset.id);
+ f("update:modelValue", t), f("tags-change", {
+ assetId: d.asset?.id,
tags: t
- }), ne(N, {
+ }), te(N, {
assetId: n,
tags: t
});
}
async function M() {
- if (u.disabled) return;
- if (C) {
- w = !0;
+ if (d.disabled) return;
+ if (w) {
+ T = !0;
try {
- T?.abort?.();
+ ne?.abort?.();
} catch (e) {
console.debug?.(e);
}
return;
}
- C = !0, S.value = !0;
+ w = !0, C.value = !0;
let e = 0;
for (; e < 10;) {
e > 0 && await O(D(e)), e += 1;
- let n = c(p.value), r = typeof AbortController < "u" ? new AbortController() : null;
- T = r;
- let i = null;
+ let t = c(h.value), i = typeof AbortController < "u" ? new AbortController() : null;
+ ne = i;
+ let a = null;
try {
- i = await t(u.asset, n, r ? { signal: r.signal } : {});
+ a = await n(d.asset, t, i ? { signal: i.signal } : {});
} catch (e) {
console.error("Failed to update tags:", e);
}
- if (!i?.ok) {
- if (i?.code === "ABORTED") {
- if (w) {
- w = !1;
+ if (!a?.ok) {
+ if (a?.code === "ABORTED") {
+ if (T) {
+ T = !1;
continue;
}
break;
}
let e = [...E];
- p.value = e, d("update:modelValue", e), o(i?.error || m("toast.tagsUpdateFailed", "Failed to update tags"), "error"), C = !1, T = null, S.value = !1;
+ h.value = e, f("update:modelValue", e), r(a?.error || g("toast.tagsUpdateFailed", "Failed to update tags"), "error"), w = !1, ne = null, C.value = !1;
return;
}
try {
- let e = i?.data?.asset_id ?? null;
- e != null && !y(u.asset.id) && (u.asset.id = e);
+ let e = a?.data?.asset_id ?? null;
+ e != null && !l(d.asset.id) && (d.asset.id = e);
} catch (e) {
console.debug?.(e);
}
- let a = c(Array.isArray(i?.data?.tags) ? i.data.tags : n);
- E = [...a];
+ let o = c(Array.isArray(a?.data?.tags) ? a.data.tags : t);
+ E = [...o];
try {
- u.asset.tags = [...a];
+ d.asset.tags = [...o];
} catch (e) {
console.debug?.(e);
}
- if (w || (p.value = [...a]), ie(a), o(m("toast.tagsUpdated", "Tags updated"), "success", 1e3), !w) break;
- w = !1;
+ if (T || (h.value = [...o]), ie(o), r(g("toast.tagsUpdated", "Tags updated"), "success", 1e3), !T) break;
+ T = !1;
}
if (e >= 10) {
let e = [...E];
- p.value = e;
+ h.value = e;
try {
- u.asset.tags = [...e];
+ d.asset.tags = [...e];
} catch (e) {
console.debug?.(e);
}
- d("update:modelValue", e), o(m("toast.tagsUpdateFailed", "Failed to update tags"), "error");
+ f("update:modelValue", e), r(g("toast.tagsUpdateFailed", "Failed to update tags"), "error");
}
- C = !1, T = null, S.value = !1;
+ w = !1, ne = null, C.value = !1;
}
ce(async () => {
try {
- await oe(), u.autofocus && te(g.value)?.focus();
+ await oe(), d.autofocus && ee(_.value)?.focus();
} catch (e) {
console.debug?.(e);
}
try {
- let e = await h();
- e?.ok && Array.isArray(e?.data) && (ee.value = s(e.data));
+ let e = await p();
+ e?.ok && Array.isArray(e?.data) && (S.value = s(e.data));
} catch (e) {
console.warn("Failed to load available tags:", e);
}
}), de(() => {
try {
- T?.abort?.();
+ ne?.abort?.();
} catch (e) {
console.debug?.(e);
}
});
function P(e) {
- if (u.disabled) return;
- let t = r(e);
+ if (d.disabled) return;
+ let t = i(e);
if (!t) return;
- let n = a(t);
- n && (p.value.some((e) => a(e) === n) || (p.value.length >= ro ? o(m("toast.maxTagsReached", "Maximum number of tags reached"), "warning") : (p.value = [...p.value, t], M())));
+ let n = o(t);
+ n && (h.value.some((e) => o(e) === n) || (h.value.length >= ro ? r(g("toast.maxTagsReached", "Maximum number of tags reached"), "warning") : (h.value = [...h.value, t], M())));
}
function se(e) {
- if (u.disabled || e < 0 || e >= p.value.length) return;
- let t = [...p.value];
- t.splice(e, 1), p.value = t, M();
+ if (d.disabled || e < 0 || e >= h.value.length) return;
+ let t = [...h.value];
+ t.splice(e, 1), h.value = t, M();
}
function z(e) {
if (e.key === "Enter" || e.key === ",") {
e.preventDefault();
- let t = (v.value && A.value && b.value >= 0 ? k.value[b.value] : null) || _.value.trim();
- t && (P(t), _.value = "", v.value = !1, b.value = -1, x.value = null);
- } else if (e.key === "Escape") v.value = !1, b.value = -1, x.value = null;
+ let t = (y.value && A.value && b.value >= 0 ? k.value[b.value] : null) || v.value.trim();
+ t && (P(t), v.value = "", y.value = !1, b.value = -1, x.value = null);
+ } else if (e.key === "Escape") y.value = !1, b.value = -1, x.value = null;
else if (e.key === "ArrowDown") e.preventDefault(), A.value && (b.value = Math.min(b.value + 1, k.value.length - 1));
else if (e.key === "ArrowUp") e.preventDefault(), b.value = Math.max(b.value - 1, 0);
else if (e.key === "Tab" && A.value) {
e.preventDefault();
let t = k.value[b.value] || k.value[0];
- t && (_.value = t);
+ t && (v.value = t);
}
}
function B(e) {
- P(e), _.value = "", v.value = !1, b.value = -1, x.value = null, te(g.value)?.focus();
+ P(e), v.value = "", y.value = !1, b.value = -1, x.value = null, ee(_.value)?.focus();
}
function ue(e) {
let t = e?.value ?? x.value;
t && B(t);
}
- return W(() => u.modelValue, (e) => {
+ return W(() => d.modelValue, (e) => {
j(e);
- }), W(() => u.asset?.tags, (e) => {
+ }), W(() => d.asset?.tags, (e) => {
j(e);
}), (t, n) => {
let r = le("MButton"), i = le("MInputText"), a = le("MListbox");
return U(), q("div", {
class: me(["mjr-tags-editor", { "is-disabled": e.disabled }]),
- "aria-busy": S.value
+ "aria-busy": C.value
}, [I("div", {
class: "mjr-tags-display",
role: "list",
- "aria-label": J(m)("tags.label", "Tags")
- }, [p.value.length === 0 ? (U(), q("span", $a, G(J(m)("msg.noTagsYet", "No tags yet...")), 1)) : (U(!0), q(F, { key: 1 }, L(p.value, (t, i) => (U(), q("div", {
+ "aria-label": J(g)("tags.label", "Tags")
+ }, [h.value.length === 0 ? (U(), q("span", $a, G(J(g)("msg.noTagsYet", "No tags yet...")), 1)) : (U(!0), q(F, { key: 1 }, L(h.value, (t, i) => (U(), q("div", {
key: t,
class: "mjr-tag-chip",
role: "listitem"
@@ -4909,7 +4909,7 @@ var xn = {
severity: "secondary",
text: "",
rounded: "",
- "aria-label": J(m)("tags.remove", "Remove tag"),
+ "aria-label": J(g)("tags.remove", "Remove tag"),
disabled: e.disabled,
onClick: (e) => se(i)
}, {
@@ -4921,19 +4921,19 @@ var xn = {
"onClick"
])]))), 128))], 8, Qa), I("div", eo, [R(i, {
ref_key: "inputRef",
- ref: g,
- modelValue: _.value,
- "onUpdate:modelValue": n[0] ||= (e) => _.value = e,
+ ref: _,
+ modelValue: v.value,
+ "onUpdate:modelValue": n[0] ||= (e) => v.value = e,
type: "text",
class: "mjr-tag-input",
- placeholder: J(m)("sidebar.addTag", "Add tag..."),
+ placeholder: J(g)("sidebar.addTag", "Add tag..."),
disabled: e.disabled,
- "aria-label": J(m)("tags.addLabel", "Add tag"),
+ "aria-label": J(g)("tags.addLabel", "Add tag"),
"aria-autocomplete": A.value ? "list" : "none",
- "aria-expanded": v.value,
+ "aria-expanded": y.value,
"aria-haspopup": A.value ? "listbox" : void 0,
- onFocus: n[1] ||= (e) => v.value = _.value.length > 0,
- onInput: n[2] ||= (e) => v.value = _.value.length > 0,
+ onFocus: n[1] ||= (e) => y.value = v.value.length > 0,
+ onInput: n[2] ||= (e) => y.value = v.value.length > 0,
onKeydown: z,
onBlur: re
}, null, 8, [
@@ -4950,7 +4950,7 @@ var xn = {
options: k.value,
class: "mjr-tags-dropdown",
"scroll-height": "150px",
- "aria-label": J(m)("tags.suggestions", "Tag suggestions"),
+ "aria-label": J(g)("tags.suggestions", "Tag suggestions"),
onChange: ue
}, {
option: V(({ option: e, index: t }) => [I("div", {
@@ -4963,7 +4963,7 @@ var xn = {
"modelValue",
"options",
"aria-label"
- ]), [[fe, v.value && A.value]])])], 10, Za);
+ ]), [[fe, y.value && A.value]])])], 10, Za);
};
}
});
diff --git a/dist/chunks/ViewerPortal-Sv96pbcb.js b/dist/chunks/ViewerPortal-CpLDC7XS.js
similarity index 98%
rename from dist/chunks/ViewerPortal-Sv96pbcb.js
rename to dist/chunks/ViewerPortal-CpLDC7XS.js
index 96bddca8..1d44f9e9 100644
--- a/dist/chunks/ViewerPortal-Sv96pbcb.js
+++ b/dist/chunks/ViewerPortal-CpLDC7XS.js
@@ -1,9 +1,9 @@
-import { T as e, Wt as t, Yn as n, f as r, in as i, ir as a, s as o, u as s } from "./config-C9a-wT5M.js";
-import { a as c, i as l, r as u } from "./floatingViewerManager-B_I-SRbd.js";
+import { Kt as e, T as t, Zn as n, f as r, on as i, or as a, s as o, u as s } from "./config-D56TZeFo.js";
+import { a as c, i as l, r as u } from "./floatingViewerManager-D_aLLeau.js";
import { i as d, r as f, t as p } from "./events-1iwo5blr.js";
-import { a as ee, i as m, n as h, r as g, t as _ } from "./TagsEditor-MUk741GH.js";
-import { $ as te, A as v, B as ne, C as y, D as b, E as x, H as S, J as re, K as C, M as w, O as T, P as E, Q as D, S as O, T as k, U as A, V as ie, W as j, X as M, Y as N, b as ae, gt as P, ht as F, j as I, k as L, lt as oe, mt as R, ot as se, pt as z, q as B, rt as ce, st as V, w as le, z as H } from "./mjr-primevue-C07IsEdU.js";
-import { C as U, _ as W, a as ue, b as de, c as G, d as fe, f as pe, g as me, h as he, i as ge, l as _e, m as ve, n as ye, o as K, p as be, r as xe, s as q, t as Se, u as Ce, v as we, x as Te, y as Ee } from "./genInfo-Dk8cerKp.js";
+import { a as ee, i as m, n as h, r as g, t as _ } from "./TagsEditor-NiAR71Jm.js";
+import { $ as te, A as v, B as ne, C as y, D as b, E as x, H as S, J as re, K as C, M as w, O as T, P as E, Q as D, S as O, T as k, U as A, V as ie, W as j, X as M, Y as N, b as ae, gt as P, ht as F, j as I, k as L, lt as oe, mt as R, ot as se, pt as z, q as B, rt as ce, st as V, w as le, z as H } from "./mjr-primevue-QrNPJaqR.js";
+import { C as U, _ as W, a as ue, b as de, c as G, d as fe, f as pe, g as me, h as he, i as ge, l as _e, m as ve, n as ye, o as K, p as be, r as xe, s as q, t as Se, u as Ce, v as we, x as Te, y as Ee } from "./genInfo-z8Muj1-U.js";
// ui/vue/components/viewer/FloatingViewerHost.vue
var De = /* @__PURE__ */ E({
__name: "FloatingViewerHost",
@@ -1428,12 +1428,12 @@ var Re = {
X.value && (q.compare = q.compare === "off" ? "wipe" : "off");
}
async function Ke() {
- let e = await Me(Re()), n = window.ClipboardItem;
- if (!e || !n || !navigator.clipboard?.write) t(i("viewer.studio.copyFailed", "Could not copy this image"), "error");
+ let t = await Me(Re()), n = window.ClipboardItem;
+ if (!t || !n || !navigator.clipboard?.write) e(i("viewer.studio.copyFailed", "Could not copy this image"), "error");
else try {
- await navigator.clipboard.write([new n({ "image/png": e })]), t(i("viewer.studio.copied", "Copied to clipboard"), "success");
- } catch (e) {
- console.debug?.(e), t(i("viewer.studio.copyFailed", "Could not copy this image"), "error");
+ await navigator.clipboard.write([new n({ "image/png": t })]), e(i("viewer.studio.copied", "Copied to clipboard"), "success");
+ } catch (t) {
+ console.debug?.(t), e(i("viewer.studio.copyFailed", "Could not copy this image"), "error");
}
}
let qe = [
@@ -1499,14 +1499,14 @@ var Re = {
async function tt(n) {
let r = B.value;
if (!r) return;
- let a = Math.max(0, Math.min(5, n)), o = await e(r, a);
+ let a = Math.max(0, Math.min(5, n)), o = await t(r, a);
o?.ok ? (r.rating = a, N.value = N.value ? {
...N.value,
rating: a
} : r, window.dispatchEvent(new CustomEvent(p, { detail: {
assetId: r.id == null ? "" : String(r.id),
rating: a
- } }))) : t(o?.error || i("toast.ratingUpdateFailed", "Rating update failed"), "error");
+ } }))) : e(o?.error || i("toast.ratingUpdateFailed", "Rating update failed"), "error");
}
function rt(e) {
return !!e?.closest?.("input, textarea, select, [contenteditable='true']");
diff --git a/dist/chunks/config-C9a-wT5M.js b/dist/chunks/config-D56TZeFo.js
similarity index 97%
rename from dist/chunks/config-C9a-wT5M.js
rename to dist/chunks/config-D56TZeFo.js
index 9c41daa7..d6ea2bd9 100644
--- a/dist/chunks/config-C9a-wT5M.js
+++ b/dist/chunks/config-D56TZeFo.js
@@ -147,6 +147,8 @@ var g = 200, _ = 0, v = {
DB_BACKUPS: "/mjr/am/db/backups",
DB_BACKUP_SAVE: "/mjr/am/db/backup-save",
DB_BACKUP_RESTORE: "/mjr/am/db/backup-restore",
+ TRASH: "/mjr/am/trash",
+ TRASH_EMPTY: "/mjr/am/trash/empty",
VECTOR_SEARCH: "/mjr/am/vector/search",
VECTOR_SIMILAR: "/mjr/am/vector/similar",
VECTOR_ALIGNMENT: "/mjr/am/vector/alignment",
@@ -1953,6 +1955,8 @@ var F = {
"btn.close": "Close",
"btn.dbSave": "Save DB",
"btn.dbRestore": "Restore DB",
+ "btn.emptyTrash": "Empty trash",
+ "btn.emptyTrashRunning": "Emptying...",
"btn.back": "Back",
"btn.up": "Up",
"btn.saving": "Saving...",
@@ -2130,6 +2134,8 @@ var F = {
"status.memoryPurgeStarted": "Memory purge started...",
"status.toolStatusChecking": "Tool status: checking...",
"status.resetIndexHint": "Reset index cache (requires allowResetIndex in settings).",
+ "status.emptyTrashHint": "Permanently remove files Majoor sent to the freedesktop trash (requires allowDelete in settings).",
+ "status.emptyTrashDisabled": "Empty trash is disabled. Enable 'allow_delete' in settings or set MAJOOR_ALLOW_DELETE=1.",
"status.scanningHint": "This may take a while",
"status.toolAvailable": "{tool} available",
"status.toolUnavailable": "{tool} unavailable",
@@ -2577,6 +2583,8 @@ var F = {
"dialog.newCollection.placeholder": "Collection name",
"dialog.resetIndex.title": "Reset index?",
"dialog.resetIndex.msg": "This will delete the database and rescan all files. Continue?",
+ "dialog.emptyTrash.title": "Empty trash?",
+ "dialog.emptyTrash.confirm": "Permanently delete {count} trashed files ({size}) that came from Majoor's folders? This cannot be undone.",
"dialog.securityWarning": "This looks like a system or very broad directory.\n\nAdding it can expose sensitive files via the viewer/custom roots feature.\n\nContinue?",
"dialog.securityWarningTitle": "Majoor: Security Warning",
"dialog.enterFolderPath": "Enter a folder path to add as a Custom root:",
@@ -2691,6 +2699,13 @@ var F = {
"toast.dbRestoreReplacing": "Replacing database files",
"toast.dbRestoreRescan": "Restarting scan",
"toast.dbRestoreSuccess": "Database backup restored",
+ "toast.trashIsEmpty": "Trash is empty",
+ "toast.trashRemoved": "{count} files removed ({size})",
+ "toast.trashFailures": "{count} entries could not be removed",
+ "toast.trashSkippedDirs": "{count} directories in the trash were not removed",
+ "toast.trashStatusFailed": "Failed to check trash",
+ "toast.trashEmptyFailed": "Failed to empty trash",
+ "toast.trashUnsupported": "Trash is not supported on this platform",
"toast.nameCollisionInView": "Name collision in current view",
"toast.fileRenamedSuccess": "File renamed successfully!",
"toast.fileRenameFailed": "Failed to rename file.",
@@ -4457,20 +4472,26 @@ async function ki({ name: e = "", useLatest: t = !1 } = {}) {
let n = {};
return e && (n.name = String(e)), t && (n.use_latest = !0), $(v.DB_BACKUP_RESTORE, n);
}
-async function Ai(e = 250) {
+async function Ai() {
+ return Q(v.TRASH);
+}
+async function ji() {
+ return $(v.TRASH_EMPTY, {});
+}
+async function Mi(e = 250) {
return $("/mjr/am/duplicates/analyze", { limit: Math.max(10, Math.min(5e3, Number(e) || 250)) });
}
-async function ji({ scope: e = "output", customRootId: t = "", maxGroups: n = 6, maxPairs: r = 10 } = {}, i = {}) {
+async function Ni({ scope: e = "output", customRootId: t = "", maxGroups: n = 6, maxPairs: r = 10 } = {}, i = {}) {
let a = `/mjr/am/duplicates/alerts?scope=${encodeURIComponent(String(e || "output"))}`;
return t && (a += `&custom_root_id=${encodeURIComponent(String(t))}`), a += `&max_groups=${encodeURIComponent(String(Math.max(1, Number(n) || 6)))}`, a += `&max_pairs=${encodeURIComponent(String(Math.max(1, Number(r) || 10)))}`, Q(a, i);
}
-async function Mi(e, t = []) {
+async function Pi(e, t = []) {
return $("/mjr/am/duplicates/merge-tags", {
keep_asset_id: Number(e) || 0,
merge_asset_ids: Array.isArray(t) ? t.map((e) => Number(e) || 0).filter((e) => e > 0) : []
});
}
-async function Ni(e) {
+async function Fi(e) {
let t, n;
if (e && typeof e == "object") {
t = d(e.id);
@@ -4478,13 +4499,13 @@ async function Ni(e) {
n = t ? { asset_id: t } : { filepath: r };
} else t = d(e), n = { asset_id: t };
let r = await $("/mjr/am/asset/delete", n);
- return r?.ok && t && Fi([t]), r;
+ return r?.ok && t && Li([t]), r;
}
-async function Pi(e) {
+async function Ii(e) {
let t = Array.isArray(e) ? e.map((e) => d(e)).filter(Boolean) : [], n = await $("/mjr/am/assets/delete", { ids: t });
- return n?.ok && Fi(t), n;
+ return n?.ok && Li(t), n;
}
-function Fi(e) {
+function Li(e) {
try {
let t = (Array.isArray(e) ? e : [e]).map((e) => String(e || "").trim()).filter(Boolean);
if (!t.length) return;
@@ -4493,7 +4514,7 @@ function Fi(e) {
console.debug?.(e);
}
}
-async function Ii(e, t) {
+async function Ri(e, t) {
let n;
if (e && typeof e == "object") {
n = d(e.id);
@@ -4505,7 +4526,7 @@ async function Ii(e, t) {
new_name: t
});
if (i?.ok && n) try {
- let e = await Ca(n);
+ let e = await Ta(n);
e?.ok && e?.data && (i.data = {
...i.data || {},
asset: e.data
@@ -4521,7 +4542,7 @@ async function Ii(e, t) {
new_name: t
});
if (r?.ok && n) try {
- let e = await Ca(n);
+ let e = await Ta(n);
e?.ok && e?.data && (r.data = {
...r.data || {},
asset: e.data
@@ -4531,7 +4552,7 @@ async function Ii(e, t) {
}
return r;
}
-async function Li() {
+async function zi() {
let e = typeof AbortController < "u" ? new AbortController() : null, t = null;
try {
return e && (t = setTimeout(() => e.abort(), 1e4)), await Q("/mjr/am/collections", e ? { signal: e.signal } : {});
@@ -4539,26 +4560,26 @@ async function Li() {
t && clearTimeout(t);
}
}
-async function Ri(e) {
+async function Bi(e) {
return $("/mjr/am/collections", { name: String(e || "").trim() });
}
-async function zi(e) {
+async function Vi(e) {
let t = String(e || "").trim();
return $(`/mjr/am/collections/${encodeURIComponent(t)}/delete`, {});
}
-async function Bi(e, t) {
+async function Hi(e, t) {
let n = String(e || "").trim(), r = Array.isArray(t) ? t : [];
return $(`/mjr/am/collections/${encodeURIComponent(n)}/add`, { assets: r });
}
-async function Vi(e, t) {
+async function Ui(e, t) {
let n = String(e || "").trim(), r = Array.isArray(t) ? t : [];
return $(`/mjr/am/collections/${encodeURIComponent(n)}/remove`, { filepaths: r });
}
-async function Hi(e) {
+async function Wi(e) {
let t = String(e || "").trim();
return Q(`/mjr/am/collections/${encodeURIComponent(t)}/assets`);
}
-async function Ui(e, t = 20) {
+async function Gi(e, t = 20) {
let n = String(e || "").trim();
if (!n) return {
ok: !1,
@@ -4582,7 +4603,7 @@ async function Ui(e, t = 20) {
dateExact: r?.dateExact ?? null
}), Q(s, { timeoutMs: 12e4 });
}
-async function Wi(e, t = 20) {
+async function Ki(e, t = 20) {
let n = String(e || "").trim();
if (!n) return {
ok: !1,
@@ -4591,24 +4612,24 @@ async function Wi(e, t = 20) {
let r = t && typeof t == "object" ? t : { topK: Number(t) }, i = Math.max(1, Math.min(200, Number(r?.topK ?? 20) || 20)), a = String(r?.scope || "").trim(), o = String(r?.customRootId || "").trim(), s = `${v.VECTOR_SIMILAR}/${encodeURIComponent(n)}?top_k=${i}`;
return a && (s += `&scope=${encodeURIComponent(a)}`), o && (s += `&custom_root_id=${encodeURIComponent(o)}`), Q(s, { dedupeKey: `vec:${n}:${i}:${a}:${o}` });
}
-async function Gi(e) {
+async function qi(e) {
let t = String(e || "").trim();
return t ? Q(`${v.VECTOR_ALIGNMENT}/${encodeURIComponent(t)}`) : {
ok: !1,
error: "Missing asset ID"
};
}
-async function Ki(e) {
+async function Ji(e) {
let t = String(e || "").trim();
return t ? $(`${v.VECTOR_INDEX}/${encodeURIComponent(t)}`, {}) : {
ok: !1,
error: "Missing asset ID"
};
}
-async function qi() {
+async function Yi() {
return Q(v.VECTOR_STATS);
}
-async function Ji(e = 64, t = {}) {
+async function Xi(e = 64, t = {}) {
let n = Math.max(1, Math.min(200, e)), r = typeof t?.onProgress == "function" ? t.onProgress : null, i = String(t?.scope || "").trim().toLowerCase(), a = String(t?.customRootId ?? t?.custom_root_id ?? "").trim(), o = `${v.VECTOR_BACKFILL}?batch_size=${n}&async=1`;
i && (o += `&scope=${encodeURIComponent(i)}`), a && (o += `&custom_root_id=${encodeURIComponent(a)}`);
let s = await $(o, {}, { timeoutMs: 3e4 });
@@ -4624,7 +4645,7 @@ async function Ji(e = 64, t = {}) {
"running",
"pending"
].includes(l)) return s;
- let d = Number(t?.pollIntervalMs), f = Number(t?.pollTimeoutMs), p = Number.isFinite(d) ? Math.max(500, Math.min(1e4, Math.floor(d))) : na, m = Number.isFinite(f) ? Math.max(1e4, Math.min(ia, Math.floor(f))) : ra, h = Date.now(), g = null;
+ let d = Number(t?.pollIntervalMs), f = Number(t?.pollTimeoutMs), p = Number.isFinite(d) ? Math.max(500, Math.min(1e4, Math.floor(d))) : ia, m = Number.isFinite(f) ? Math.max(1e4, Math.min(oa, Math.floor(f))) : aa, h = Date.now(), g = null;
for (; Date.now() - h < m;) {
await Ce(p);
let e = await Q(`${v.VECTOR_BACKFILL_STATUS}?backfill_id=${encodeURIComponent(u)}`, { timeoutMs: 3e4 });
@@ -4693,14 +4714,14 @@ async function Ji(e = 64, t = {}) {
status: 408
};
}
-async function Yi(e) {
+async function Zi(e) {
let t = String(e || "").trim();
return t ? $(`${v.VECTOR_CAPTION}/${encodeURIComponent(t)}`, {}) : {
ok: !1,
error: "Missing asset ID"
};
}
-async function Xi(e, { topK: t = 50, scope: n = "output", customRootId: r = "", subfolder: i = null, kind: a = null, hasWorkflow: o = null, minRating: s = null, minSizeMB: c = null, maxSizeMB: l = null, minWidth: u = null, minHeight: d = null, maxWidth: f = null, maxHeight: p = null, workflowType: m = null, workflowId: h = null, dateRange: g = null, dateExact: _ = null } = {}) {
+async function Qi(e, { topK: t = 50, scope: n = "output", customRootId: r = "", subfolder: i = null, kind: a = null, hasWorkflow: o = null, minRating: s = null, minSizeMB: c = null, maxSizeMB: l = null, minWidth: u = null, minHeight: d = null, maxWidth: f = null, maxHeight: p = null, workflowType: m = null, workflowId: h = null, dateRange: g = null, dateExact: _ = null } = {}) {
let b = String(e || "").trim();
if (!b) return {
ok: !1,
@@ -4724,85 +4745,85 @@ async function Xi(e, { topK: t = 50, scope: n = "output", customRootId: r = "",
dateExact: _
}), Q(x, { timeoutMs: 12e4 });
}
-async function Zi(e = 8) {
+async function $i(e = 8) {
return $(v.VECTOR_SUGGEST_COLLECTIONS, { k: Math.max(2, Math.min(20, e)) });
}
// ui/api/client.ts
-var Qi = 3e4, $i = "__MJR_API_CLIENT__", ea = 2e3, ta = 200, na = 1e3, ra = 18e5, ia = 432e5, Y = "settings", aa = "available-tags", X = Re({
- ttlMs: ea,
+var ea = 3e4, ta = "__MJR_API_CLIENT__", na = 2e3, ra = 200, ia = 1e3, aa = 18e5, oa = 432e5, Y = "settings", sa = "available-tags", X = Re({
+ ttlMs: na,
maxSize: 1
}), Z = Re({
- ttlMs: ea,
+ ttlMs: na,
maxSize: 1
-}), oa = Re({
- ttlMs: () => ua(),
+}), ca = Re({
+ ttlMs: () => fa(),
maxSize: 1
-}), sa = /* @__PURE__ */ new Set([
+}), la = /* @__PURE__ */ new Set([
"1",
"true",
"yes",
"on"
-]), ca = /* @__PURE__ */ new Set([
+]), ua = /* @__PURE__ */ new Set([
"0",
"false",
"no",
"off"
]);
-function la(e, t = !1) {
+function da(e, t = !1) {
if (typeof e == "boolean") return e;
if (typeof e == "number") return e !== 0;
if (typeof e == "string") {
let t = e.trim().toLowerCase();
- if (sa.has(t)) return !0;
- if (ca.has(t)) return !1;
+ if (la.has(t)) return !0;
+ if (ua.has(t)) return !1;
}
return !!t;
}
-function ua() {
+function fa() {
try {
let e = localStorage?.getItem?.("mjrSettings") || "{}", t = JSON.parse(e), n = t?.cache?.tagsTTLms ?? t?.cache?.tagsTTL ?? t?.cache?.tags_ttl_ms ?? null, r = Number(n);
- return Number.isFinite(r) ? Math.max(1e3, Math.min(6e5, Math.floor(r))) : Qi;
+ return Number.isFinite(r) ? Math.max(1e3, Math.min(6e5, Math.floor(r))) : ea;
} catch {
- return Qi;
+ return ea;
}
}
-function da() {
+function pa() {
X.clear();
}
-function fa() {
+function ma() {
Z.clear();
}
-function pa() {
- oa.clear();
+function ha() {
+ ca.clear();
}
-function ma(e) {
+function ga(e) {
return String(e ?? "").trim().toLowerCase() || "";
}
-function ha(e) {
+function _a(e) {
let t = [], n = /* @__PURE__ */ new Set();
for (let r of Array.isArray(e) ? e : []) {
let e = String(r ?? "").trim();
if (!e) continue;
- let i = ma(e);
+ let i = ga(e);
i && !n.has(i) && (n.add(i), t.push(e));
}
return t;
}
try {
let e = typeof window < "u" ? window : null;
- e && !e[$i] && (e[$i] = { initialized: !0 }, e.addEventListener?.("storage", (e) => {
+ e && !e[ta] && (e[ta] = { initialized: !0 }, e.addEventListener?.("storage", (e) => {
try {
- e?.key === "mjrSettings" && (da(), fa(), pa(), Ir());
+ e?.key === "mjrSettings" && (pa(), ma(), ha(), Ir());
} catch (e) {
console.debug?.(e);
}
}), e.addEventListener?.("mjr-settings-changed", () => {
- da(), fa(), pa(), Ir();
+ pa(), ma(), ha(), Ir();
}));
} catch (e) {
console.debug?.(e);
}
-var ga = () => {
+var va = () => {
let e = X.get(Y);
if (e !== void 0) return e;
let t = Date.now();
@@ -4814,33 +4835,33 @@ var ga = () => {
} catch {
return X.set(Y, !1, { at: t }), !1;
}
-}, _a = () => {
+}, ya = () => {
let e = Z.get(Y);
if (e !== void 0) return e;
let t = Date.now();
try {
let e = localStorage?.getItem?.(r);
if (!e) return Z.set(Y, !0, { at: t }), !0;
- let n = JSON.parse(e)?.ratingTagsSync?.enabled, i = n == null || la(n, !0);
+ let n = JSON.parse(e)?.ratingTagsSync?.enabled, i = n == null || da(n, !0);
return Z.set(Y, i, { at: t }), i;
} catch {
return Z.set(Y, !0, { at: t }), !0;
}
-}, va = Le({
- readObsEnabled: ga,
+}, ba = Le({
+ readObsEnabled: va,
readAuthToken: wr,
ensureWriteAuthToken: Fr,
normalizeWriteAuthFailure: Nr
-}), ya = va.fetchAPI;
+}), xa = ba.fetchAPI;
async function Q(e, t = {}) {
- return va.get(e, t);
+ return ba.get(e, t);
}
async function $(e, t, n = {}) {
- return va.post(e, t, n);
+ return ba.post(e, t, n);
}
-async function ba(e, t, n = {}) {
- let r = _a(), i = e && typeof e == "object" ? e : null, a = d(i ? i.id : e), o = { rating: Math.max(0, Math.min(5, Number(t) || 0)) };
- return a ? o.asset_id = a : i && (o.filepath = i.filepath || i.path || i?.file_info?.filepath || "", o.type = i.type || "output", o.root_id = f(i)), ya("/mjr/am/asset/rating", {
+async function Sa(e, t, n = {}) {
+ let r = ya(), i = e && typeof e == "object" ? e : null, a = d(i ? i.id : e), o = { rating: Math.max(0, Math.min(5, Number(t) || 0)) };
+ return a ? o.asset_id = a : i && (o.filepath = i.filepath || i.path || i?.file_info?.filepath || "", o.type = i.type || "output", o.root_id = f(i)), xa("/mjr/am/asset/rating", {
...n,
method: "POST",
headers: {
@@ -4850,10 +4871,10 @@ async function ba(e, t, n = {}) {
body: JSON.stringify(o)
});
}
-async function xa(e, t, n = {}) {
- let r = _a(), i = e && typeof e == "object" ? e : null, a = d(i ? i.id : e), o = String(i?.kind || i?.type || "").trim().toLowerCase() === "workflow", s = String(i?.filepath || i?.path || i?.file_info?.filepath || "").trim(), c = { tags: Array.isArray(t) ? t : [] };
+async function Ca(e, t, n = {}) {
+ let r = ya(), i = e && typeof e == "object" ? e : null, a = d(i ? i.id : e), o = String(i?.kind || i?.type || "").trim().toLowerCase() === "workflow", s = String(i?.filepath || i?.path || i?.file_info?.filepath || "").trim(), c = { tags: Array.isArray(t) ? t : [] };
o && s ? c.filepath = s : a ? c.asset_id = a : i && (c.filepath = i.filepath || i.path || i?.file_info?.filepath || "", c.type = i.type || "output", c.root_id = f(i));
- let l = await ya(o && s ? v.WORKFLOWS_TAGS : "/mjr/am/asset/tags", {
+ let l = await xa(o && s ? v.WORKFLOWS_TAGS : "/mjr/am/asset/tags", {
...n,
method: "POST",
headers: {
@@ -4862,10 +4883,10 @@ async function xa(e, t, n = {}) {
},
body: JSON.stringify(c)
});
- return l?.ok && pa(), l;
+ return l?.ok && ha(), l;
}
-async function Sa() {
- let e = oa.get(aa);
+async function wa() {
+ let e = ca.get(sa);
if (Array.isArray(e)) return {
ok: !0,
data: e,
@@ -4875,22 +4896,22 @@ async function Sa() {
};
let t = await Q("/mjr/am/tags");
if (t?.ok && Array.isArray(t.data)) {
- let e = ha(t.data);
- return oa.set(aa, e), {
+ let e = _a(t.data);
+ return ca.set(sa, e), {
...t,
data: e
};
}
return t;
}
-async function Ca(e, t = {}) {
+async function Ta(e, t = {}) {
let n = encodeURIComponent(d(e));
return Q(`/mjr/am/asset/${n}`, {
...t,
dedupeKey: t?.dedupeKey || `meta:${n}`
});
}
-async function wa(e, t = {}) {
+async function Ea(e, t = {}) {
let n = d(e);
if (!n) return {
ok: !1,
@@ -4903,11 +4924,11 @@ async function wa(e, t = {}) {
let { refresh: i, ...a } = t;
return Q(r, a);
}
-async function Ta(e, t = {}) {
+async function Da(e, t = {}) {
let n = Array.isArray(e) ? e : [], r = [];
for (let e of n) {
let t = Number(e);
- if (Number.isFinite(t) && (r.push(Math.trunc(t)), r.length >= ta)) break;
+ if (Number.isFinite(t) && (r.push(Math.trunc(t)), r.length >= ra)) break;
}
return r.length ? $("/mjr/am/assets/batch", { asset_ids: r }, t) : {
ok: !0,
@@ -4916,7 +4937,7 @@ async function Ta(e, t = {}) {
code: "OK"
};
}
-async function Ea(e, t = {}) {
+async function Oa(e, t = {}) {
let n = S(e);
return n ? Q(n, t) : {
ok: !1,
@@ -4925,7 +4946,7 @@ async function Ea(e, t = {}) {
code: "INVALID_INPUT"
};
}
-async function Da(e, t = {}) {
+async function ka(e, t = {}) {
let n = ue(e);
return n ? Q(n, t) : {
ok: !1,
@@ -4934,7 +4955,7 @@ async function Da(e, t = {}) {
code: "INVALID_INPUT"
};
}
-async function Oa(e, t = {}) {
+async function Aa(e, t = {}) {
let n = de(e);
return n ? Q(n, t) : {
ok: !1,
@@ -4943,7 +4964,7 @@ async function Oa(e, t = {}) {
code: "INVALID_INPUT"
};
}
-async function ka(e, t = "", n = {}) {
+async function ja(e, t = "", n = {}) {
let r = fe(e, t);
return r ? Q(r, n) : {
ok: !1,
@@ -4952,7 +4973,7 @@ async function ka(e, t = "", n = {}) {
code: "INVALID_INPUT"
};
}
-async function Aa({ workflow: e = null, name: t = "", category: n = "", overwrite: r = !1, filepath: i = "", task: a = "", model_family: o = "", provider: s = "", runs_on: c = "", notes: l = "" } = {}, u = {}) {
+async function Ma({ workflow: e = null, name: t = "", category: n = "", overwrite: r = !1, filepath: i = "", task: a = "", model_family: o = "", provider: s = "", runs_on: c = "", notes: l = "" } = {}, u = {}) {
return $(v.WORKFLOWS_SAVE, {
workflow: e,
name: t,
@@ -4966,32 +4987,32 @@ async function Aa({ workflow: e = null, name: t = "", category: n = "", overwrit
notes: l
}, u);
}
-async function ja({ filepath: e = "", name: t = "" } = {}, n = {}) {
+async function Na({ filepath: e = "", name: t = "" } = {}, n = {}) {
return $(v.WORKFLOWS_DUPLICATE, {
filepath: e,
name: t
}, n);
}
-async function Ma({ filepath: e = "", name: t = "", category: n = "" } = {}, r = {}) {
+async function Pa({ filepath: e = "", name: t = "", category: n = "" } = {}, r = {}) {
return $(v.WORKFLOWS_MOVE, {
filepath: e,
name: t,
category: n
}, r);
}
-async function Na({ filepath: e = "" } = {}, t = {}) {
+async function Fa({ filepath: e = "" } = {}, t = {}) {
return $(v.WORKFLOWS_DELETE, { filepath: e }, t);
}
-async function Pa({ filepath: e = "" } = {}, t = {}) {
+async function Ia({ filepath: e = "" } = {}, t = {}) {
return $(v.WORKFLOWS_MARK_LOADED, { filepath: e }, t);
}
-async function Fa({ filepath: e = "", favorite: t = !1 } = {}, n = {}) {
+async function La({ filepath: e = "", favorite: t = !1 } = {}, n = {}) {
return $(v.WORKFLOWS_FAVORITE, {
filepath: e,
favorite: !!t
}, n);
}
-async function Ia({ filepath: e = "", task: t = "", model_family: n = "", provider: r = "", runs_on: i = "", notes: a = "" } = {}, o = {}) {
+async function Ra({ filepath: e = "", task: t = "", model_family: n = "", provider: r = "", runs_on: i = "", notes: a = "" } = {}, o = {}) {
return $(v.WORKFLOWS_INFO, {
filepath: e,
task: t,
@@ -5001,24 +5022,24 @@ async function Ia({ filepath: e = "", task: t = "", model_family: n = "", provid
notes: a
}, o);
}
-async function La({ filepath: e = "", limit: t = 12 } = {}, n = {}) {
+async function za({ filepath: e = "", limit: t = 12 } = {}, n = {}) {
let r = Math.max(1, Math.min(50, Number(t) || 12));
return Q(`${v.WORKFLOWS_THUMBNAIL_CANDIDATES}?filepath=${encodeURIComponent(String(e || "").trim())}&limit=${encodeURIComponent(String(r))}`, n);
}
-async function Ra(e = {}) {
+async function Ba(e = {}) {
return Q(v.WORKFLOWS_MODEL_FAMILIES, e);
}
-async function za({ q: e = "*", limit: t = 100, offset: n = 0, sort: r = "mtime" } = {}, i = {}) {
+async function Va({ q: e = "*", limit: t = 100, offset: n = 0, sort: r = "mtime" } = {}, i = {}) {
let a = Math.max(1, Math.min(500, Number(t) || 100)), o = Math.max(0, Number(n) || 0);
return Q(`${v.LIST}?scope=workflow&q=${encodeURIComponent(String(e || "*"))}&limit=${encodeURIComponent(String(a))}&offset=${encodeURIComponent(String(o))}&sort=${encodeURIComponent(String(r || "mtime"))}`, i);
}
-async function Ba({ filepath: e = "", source_filepath: t = "" } = {}, n = {}) {
+async function Ha({ filepath: e = "", source_filepath: t = "" } = {}, n = {}) {
return $(v.WORKFLOWS_THUMBNAIL_SET, {
filepath: e,
source_filepath: t
}, n);
}
-async function Va({ type: e = "output", filename: t = "", subfolder: n = "", root_id: r = "", rootId: i = "", filepath: a = "" } = {}, o = {}) {
+async function Ua({ type: e = "output", filename: t = "", subfolder: n = "", root_id: r = "", rootId: i = "", filepath: a = "" } = {}, o = {}) {
let s = String(e || "output").trim().toLowerCase() || "output", c = String(t || "").trim(), l = String(n || "").trim(), u = String(r || i || "").trim(), d = String(a || "").trim();
if (!c) return {
ok: !1,
@@ -5029,7 +5050,7 @@ async function Va({ type: e = "output", filename: t = "", subfolder: n = "", roo
let f = `/mjr/am/metadata?type=${encodeURIComponent(s)}&filename=${encodeURIComponent(c)}`;
return d && (f += `&filepath=${encodeURIComponent(d)}`), l && (f += `&subfolder=${encodeURIComponent(l)}`), u && (f += `&root_id=${encodeURIComponent(u)}`), Q(f, o);
}
-async function Ha({ filepath: e = "", root_id: t = "", subfolder: n = "" } = {}, r = {}) {
+async function Wa({ filepath: e = "", root_id: t = "", subfolder: n = "" } = {}, r = {}) {
try {
if (globalThis.__mjrFolderInfoSupported === !1) return {
ok: !1,
@@ -5063,7 +5084,7 @@ async function Ha({ filepath: e = "", root_id: t = "", subfolder: n = "" } = {},
return l;
}
// ui/app/config.ts
-var Ua = Object.freeze({
+var Ga = Object.freeze({
DEBUG_SAFE_CALL: !1,
DEBUG_SAFE_LISTENERS: !1,
DEBUG_VIEWER: !1,
@@ -5144,5 +5165,5 @@ var Ua = Object.freeze({
DELETE_CONFIRMATION: !0,
DEBUG_VERBOSE_ERRORS: !1,
SIDEBAR_ASSET_BADGE_ENABLED: !0
-}), Wa = { ...Ua };
-export { Br as $, se as $n, Fn as $t, _i as A, Ot as An, Ai as At, Ur as B, _t as Bn, qi as Bt, Ia as C, pt as Cn, Lr as Ct, Da as D, Xt as Dn, Vr as Dt, xa as E, kt as En, $r as Et, zi as F, ht as Fn, Wi as Ft, ei as G, ct as Gn, pr as Gt, ci as H, E as Hn, Or as Ht, Ei as I, vt as In, Yi as It, Xr as J, v as Jn, er as Jt, Rr as K, st as Kn, rr as Kt, Jr as L, Yt as Ln, Gi as Lt, Ri as M, M as Mn, Hr as Mt, Ni as N, xt as Nn, Ci as Nt, Bi as O, gt as On, yi as Ot, Pi as P, St as Pn, Ji as Pt, wi as Q, te as Qn, Pn as Qt, Hi as R, mt as Rn, Ki as Rt, Fa as S, zt as Sn, si as St, ba as T, Jt as Tn, pi as Tt, ai as U, Ge as Un, Dr as Ut, Kr as V, Tt as Vn, Zi as Vt, ni as W, We as Wn, or as Wt, fi as X, ne as Xn, Zn as Xt, Ti as Y, ce as Yn, Qn as Yt, Qr as Z, pe as Zn, $n as Zt, za as _, ft as _n, li as _t, ja as a, F as an, b as ar, Di as at, $ as b, wt as bn, ti as bt, Ta as c, Ht as cn, c as cr, Vi as ct, Ha as d, Wt as dn, f as dr, ki as dt, jn as en, le as er, Si as et, wa as f, Et as fn, i as fr, Oi as ft, Oa as g, jt as gn, qr as gt, La as h, an as hn, Wr as ht, ka as i, V as in, x as ir, Li as it, gi as j, Zt as jn, xi as jt, mi as k, Vt as kn, di as kt, Sa as l, rn as ln, l as lr, Ii as lt, Ra as m, Bt as mn, Gr as mt, Ua as n, B as nn, ae as nr, ui as nt, Q as o, bt as on, oe as or, Mi as ot, Ea as p, Qt as pn, r as pr, Yr as pt, ii as q, Re as qn, zn as qt, Na as r, Nn as rn, ie as rr, Xi as rt, Ca as s, yt as sn, p as sr, hi as st, Wa as t, Mn as tn, ee as tr, bi as tt, Va as u, $t as un, d as ur, vi as ut, Pa as v, Mt as vn, oi as vt, Ba as w, qt as wn, Zr as wt, Aa as x, Ct as xn, zr as xt, Ma as y, dt as yn, ri as yt, ji as z, ut as zn, Ui as zt };
+}), Ka = { ...Ga };
+export { wi as $, pe as $n, $n as $t, _i as A, gt as An, yi as At, Ni as B, mt as Bn, Ji as Bt, Ra as C, Ct as Cn, zr as Ct, ka as D, Jt as Dn, pi as Dt, Ca as E, qt as En, Zr as Et, Vi as F, xt as Fn, Ci as Ft, ni as G, Ge as Gn, Dr as Gt, Kr as H, _t as Hn, Yi as Ht, ji as I, St as In, Xi as It, ii as J, st as Jn, rr as Jt, ei as K, We as Kn, or as Kt, Ei as L, ht as Ln, Ki as Lt, Bi as M, Ot as Mn, Mi as Mt, Fi as N, Zt as Nn, xi as Nt, Hi as O, kt as On, $r as Ot, Ii as P, M as Pn, Hr as Pt, Qr as Q, ne as Qn, Zn as Qt, Jr as R, vt as Rn, Zi as Rt, La as S, wt as Sn, ti as St, Sa as T, pt as Tn, Lr as Tt, ci as U, Tt as Un, $i as Ut, Ur as V, ut as Vn, Gi as Vt, ai as W, E as Wn, Or as Wt, Ti as X, v as Xn, er as Xt, Xr as Y, Re as Yn, zn as Yt, fi as Z, ce as Zn, Qn as Zt, Va as _, an as _n, Wr as _t, Na as a, Nn as an, ie as ar, Qi as at, $ as b, Mt as bn, oi as bt, Da as c, bt as cn, oe as cr, Pi as ct, Wa as d, rn as dn, l as dr, Ri as dt, Pn as en, te as er, Ai as et, Ea as f, $t as fn, d as fr, vi as ft, Aa as g, Bt as gn, Gr as gt, za as h, Qt as hn, r as hr, Yr as ht, ja as i, B as in, ae as ir, ui as it, gi as j, Vt as jn, di as jt, mi as k, Xt as kn, Vr as kt, wa as l, yt as ln, p as lr, hi as lt, Ba as m, Et as mn, i as mr, Oi as mt, Ga as n, jn as nn, le as nr, Si as nt, Q as o, V as on, x as or, zi as ot, Oa as p, Wt as pn, f as pr, ki as pt, Rr as q, ct as qn, pr as qt, Fa as r, Mn as rn, ee as rr, bi as rt, Ta as s, F as sn, b as sr, Di as st, Ka as t, Fn as tn, se as tr, Br as tt, Ua as u, Ht as un, c as ur, Ui as ut, Ia as v, jt as vn, qr as vt, Ha as w, zt as wn, si as wt, Ma as x, dt as xn, ri as xt, Pa as y, ft as yn, li as yt, Wi as z, Yt as zn, qi as zt };
diff --git a/dist/chunks/floatingViewerManager-B_I-SRbd.js b/dist/chunks/floatingViewerManager-D_aLLeau.js
similarity index 97%
rename from dist/chunks/floatingViewerManager-B_I-SRbd.js
rename to dist/chunks/floatingViewerManager-D_aLLeau.js
index ba08a638..45d10feb 100644
--- a/dist/chunks/floatingViewerManager-B_I-SRbd.js
+++ b/dist/chunks/floatingViewerManager-D_aLLeau.js
@@ -1,5 +1,5 @@
import { t as e } from "./rolldown-runtime-CGnMp29N.js";
-import { An as t, Wt as n, c as r, t as i } from "./config-C9a-wT5M.js";
+import { Kt as t, Mn as n, c as r, t as i } from "./config-D56TZeFo.js";
import { r as a } from "./events-1iwo5blr.js";
// ui/utils/logging.ts
function o(e, ...t) {
@@ -7,15 +7,15 @@ function o(e, ...t) {
i.DEBUG_VERBOSE_ERRORS && console.debug(e, ...t);
} catch {}
}
-function s(e, t = "Majoor", { showToast: r = !1, toastType: a = "error" } = {}) {
+function s(e, n = "Majoor", { showToast: r = !1, toastType: a = "error" } = {}) {
let o = e?.message || String(e || "Unknown error");
try {
- i.DEBUG_VERBOSE_ERRORS ? console.error(`[Majoor][${t}]`, o, e) : console.debug(`[Majoor][${t}]`, o);
+ i.DEBUG_VERBOSE_ERRORS ? console.error(`[Majoor][${n}]`, o, e) : console.debug(`[Majoor][${n}]`, o);
} catch (e) {
console.debug?.(e);
}
if (r && i.DEBUG_VERBOSE_ERRORS) try {
- n(`${t}: ${o}`, a, 4e3);
+ t(`${n}: ${o}`, a, 4e3);
} catch (e) {
console.debug?.(e);
}
@@ -201,7 +201,7 @@ var he = /* @__PURE__ */ e({
teardownFloatingViewerManager: () => Ue
}), S = null, ge = null;
async function _e() {
- return S || (ge ||= import("./FloatingViewer--x61GAzy.js").then((e) => (S = e.FloatingViewer, S)), ge);
+ return S || (ge ||= import("./FloatingViewer-C567UXNF.js").then((e) => (S = e.FloatingViewer, S)), ge);
}
var C = null, ve = null;
async function ye() {
@@ -434,7 +434,7 @@ function Oe() {
}
function Y() {
if (!G) try {
- K = t(De, { includePointerFallback: !0 }), G = typeof K == "function";
+ K = n(De, { includePointerFallback: !0 }), G = typeof K == "function";
} catch (e) {
console.debug?.("[MFV] _bindNodeSelectionListener error", e);
}
diff --git a/dist/chunks/genInfo-Dk8cerKp.js b/dist/chunks/genInfo-z8Muj1-U.js
similarity index 93%
rename from dist/chunks/genInfo-Dk8cerKp.js
rename to dist/chunks/genInfo-z8Muj1-U.js
index 2e6e4928..509b99e8 100644
--- a/dist/chunks/genInfo-Dk8cerKp.js
+++ b/dist/chunks/genInfo-z8Muj1-U.js
@@ -1,7 +1,7 @@
-import { in as e, or as t, t as n } from "./config-C9a-wT5M.js";
-import { _ as r, f as i, p as a } from "./generationSectionState-DuXxSw-j.js";
+import { cr as e, on as t, t as n } from "./config-D56TZeFo.js";
+import { _ as r, f as i, p as a } from "./generationSectionState-BR-TS47u.js";
import { r as o } from "./events-1iwo5blr.js";
-import { $ as s, B as c, C as l, D as u, E as d, H as ee, J as te, M as f, O as p, P as m, Q as h, S as g, T as _, V as v, W as y, X as ne, b, gt as x, ht as S, j as C, k as w, mt as T, pt as E, q as re, st as D } from "./mjr-primevue-C07IsEdU.js";
+import { $ as s, B as c, C as l, D as u, E as d, H as ee, J as te, M as f, O as p, P as m, Q as h, S as g, T as _, V as v, W as y, X as ne, b, gt as x, ht as S, j as C, k as w, mt as T, pt as E, q as re, st as D } from "./mjr-primevue-QrNPJaqR.js";
// ui/features/viewer/model3dCore.ts
function ie(e, t) {
if (e && typeof t == "function") try {
@@ -261,45 +261,45 @@ function R(e) {
let t = Math.max(0, Number(e) || 0), n = Math.floor(t / 60), r = Math.floor(t % 60);
return n > 0 ? `${n}:${String(r).padStart(2, "0")}` : `${Math.floor(t)}s`;
}
-function z(t, n) {
+function z(e, n) {
let r = document.createElement("button");
- return r.type = "button", r.textContent = String(t || ""), r.title = String(n || t || ""), r.setAttribute("aria-label", String(n || t || e("model3d.viewportAction", "3D viewport action"))), r.style.cssText = "height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,0.16);background:rgba(13,15,20,0.78);color:rgba(255,255,255,0.92);font:600 11px system-ui,sans-serif;letter-spacing:0.02em;cursor:pointer;backdrop-filter:blur(8px);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(0,0,0,0.24)", r;
+ return r.type = "button", r.textContent = String(e || ""), r.title = String(n || e || ""), r.setAttribute("aria-label", String(n || e || t("model3d.viewportAction", "3D viewport action"))), r.style.cssText = "height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,0.16);background:rgba(13,15,20,0.78);color:rgba(255,255,255,0.92);font:600 11px system-ui,sans-serif;letter-spacing:0.02em;cursor:pointer;backdrop-filter:blur(8px);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(0,0,0,0.24)", r;
}
function B(e, t) {
if (!e) return;
let n = !!t;
e.dataset.active = n ? "1" : "0", e.style.background = n ? "rgba(76,175,80,0.18)" : "rgba(13,15,20,0.78)", e.style.borderColor = n ? "rgba(76,175,80,0.42)" : "rgba(255,255,255,0.16)", e.style.color = n ? "rgba(230,255,235,0.96)" : "rgba(255,255,255,0.92)";
}
-function V(t, n, r = "", i = "#4CAF50") {
- if (!t) return;
+function V(e, n, r = "", i = "#4CAF50") {
+ if (!e) return;
try {
- let e = Math.max(480, Number(t.width) || 960), n = Math.max(270, Number(t.height) || 540);
- t.width = e, t.height = n;
+ let t = Math.max(480, Number(e.width) || 960), n = Math.max(270, Number(e.height) || 540);
+ e.width = t, e.height = n;
} catch (e) {
console.debug?.(e);
}
let a = (() => {
try {
- return t.getContext("2d");
+ return e.getContext("2d");
} catch {
return null;
}
})();
if (!a) return;
- let o = Number(t.width) || 960, s = Number(t.height) || 540, c = o / 2, l = s / 2;
+ let o = Number(e.width) || 960, s = Number(e.height) || 540, c = o / 2, l = s / 2;
try {
- let t = a.createLinearGradient(0, 0, o, s);
- t.addColorStop(0, "#0f1419"), t.addColorStop(1, "#11181f"), a.fillStyle = t, a.fillRect(0, 0, o, s), a.save(), a.translate(c, l - 32), a.strokeStyle = i, a.lineWidth = 3, a.globalAlpha = .95, a.beginPath(), a.moveTo(0, -44), a.lineTo(42, -22), a.lineTo(42, 22), a.lineTo(0, 44), a.lineTo(-42, 22), a.lineTo(-42, -22), a.closePath(), a.stroke(), a.beginPath(), a.moveTo(0, -44), a.lineTo(0, 0), a.lineTo(42, 22), a.moveTo(0, 0), a.lineTo(-42, 22), a.moveTo(-42, -22), a.lineTo(0, 0), a.moveTo(42, -22), a.lineTo(0, 0), a.stroke(), a.restore(), a.fillStyle = "rgba(255,255,255,0.94)", a.font = "600 18px system-ui, sans-serif", a.textAlign = "center", a.textBaseline = "middle", a.fillText(String(n || e("model3d.preview", "3D preview")), c, l + 44), r && (a.fillStyle = "rgba(255,255,255,0.62)", a.font = "13px system-ui, sans-serif", a.fillText(String(r), c, l + 72));
+ let e = a.createLinearGradient(0, 0, o, s);
+ e.addColorStop(0, "#0f1419"), e.addColorStop(1, "#11181f"), a.fillStyle = e, a.fillRect(0, 0, o, s), a.save(), a.translate(c, l - 32), a.strokeStyle = i, a.lineWidth = 3, a.globalAlpha = .95, a.beginPath(), a.moveTo(0, -44), a.lineTo(42, -22), a.lineTo(42, 22), a.lineTo(0, 44), a.lineTo(-42, 22), a.lineTo(-42, -22), a.closePath(), a.stroke(), a.beginPath(), a.moveTo(0, -44), a.lineTo(0, 0), a.lineTo(42, 22), a.moveTo(0, 0), a.lineTo(-42, 22), a.moveTo(-42, -22), a.lineTo(0, 0), a.moveTo(42, -22), a.lineTo(0, 0), a.stroke(), a.restore(), a.fillStyle = "rgba(255,255,255,0.94)", a.font = "600 18px system-ui, sans-serif", a.textAlign = "center", a.textBaseline = "middle", a.fillText(String(n || t("model3d.preview", "3D preview")), c, l + 44), r && (a.fillStyle = "rgba(255,255,255,0.62)", a.font = "13px system-ui, sans-serif", a.fillText(String(r), c, l + 72));
} catch (i) {
console.debug?.(i);
try {
- P(t, n, r || e("model3d.unavailable", "3D viewer unavailable"));
+ P(e, n, r || t("model3d.unavailable", "3D viewer unavailable"));
} catch (e) {
console.debug?.(e);
}
}
}
-function pe({ defaultBgColor: t, defaultFov: n, defaultLightIntensity: r, hasSkeleton: i } = {}) {
+function pe({ defaultBgColor: e, defaultFov: n, defaultLightIntensity: r, hasSkeleton: i } = {}) {
let a = document.createElement("div");
a.className = "mjr-model3d-settings", a.style.cssText = "position:absolute;right:0;top:44px;width:210px;max-height:calc(100% - 100px);overflow-y:auto;background:rgba(14,18,26,0.96);border:1px solid rgba(255,255,255,0.10);border-right:none;border-radius:10px 0 0 10px;padding:10px 10px 12px 10px;z-index:4;display:none;box-shadow:-6px 4px 24px rgba(0,0,0,0.5);backdrop-filter:blur(12px);font:13px system-ui,sans-serif;color:rgba(255,255,255,0.88);scrollbar-width:thin", [
"pointerdown",
@@ -351,7 +351,7 @@ function pe({ defaultBgColor: t, defaultFov: n, defaultLightIntensity: r, hasSke
};
o("Scene");
let u = document.createElement("input");
- u.type = "color", u.value = t || "#282828", u.style.cssText = "width:34px;height:24px;cursor:pointer;border:1px solid rgba(255,255,255,0.18);border-radius:4px;padding:1px;background:none;flex-shrink:0;", s(e("model3d.background", "Background"), u), o("Model");
+ u.type = "color", u.value = e || "#282828", u.style.cssText = "width:34px;height:24px;cursor:pointer;border:1px solid rgba(255,255,255,0.18);border-radius:4px;padding:1px;background:none;flex-shrink:0;", s(t("model3d.background", "Background"), u), o("Model");
let d = c([
["original", "Original"],
["normal", "Normal map"],
@@ -359,7 +359,7 @@ function pe({ defaultBgColor: t, defaultFov: n, defaultLightIntensity: r, hasSke
["wireframe", "Wireframe"],
["pointcloud", "Point cloud"]
], "original");
- s(e("model3d.material", "Material"), d);
+ s(t("model3d.material", "Material"), d);
let ee = c([
["original", "Original"],
["+y", "+Y (default)"],
@@ -371,11 +371,11 @@ function pe({ defaultBgColor: t, defaultFov: n, defaultLightIntensity: r, hasSke
], "original");
s("Up", ee);
let te = null, f = null;
- i && (f = document.createElement("input"), f.type = "checkbox", f.checked = !1, f.style.cssText = "cursor:pointer;accent-color:#4CAF50;flex-shrink:0;", te = s(e("model3d.skeleton", "Skeleton"), f)), o("Camera");
+ i && (f = document.createElement("input"), f.type = "checkbox", f.checked = !1, f.style.cssText = "cursor:pointer;accent-color:#4CAF50;flex-shrink:0;", te = s(t("model3d.skeleton", "Skeleton"), f)), o("Camera");
let p = l(15, 120, 1, n ?? 75);
- s("FOV", p.wrap), o(e("model3d.lights", "Lights"));
+ s("FOV", p.wrap), o(t("model3d.lights", "Lights"));
let m = l(0, 5, .1, r ?? 1);
- return s(e("model3d.intensity", "Intensity"), m.wrap), {
+ return s(t("model3d.intensity", "Intensity"), m.wrap), {
panel: a,
bgInput: u,
materialSel: d,
@@ -389,8 +389,8 @@ function pe({ defaultBgColor: t, defaultFov: n, defaultLightIntensity: r, hasSke
};
}
function me() {
- let t = document.createElement("div");
- t.className = "mjr-model3d-anim-bar", t.style.cssText = [
+ let e = document.createElement("div");
+ e.className = "mjr-model3d-anim-bar", e.style.cssText = [
"position:absolute",
"bottom:0",
"left:0",
@@ -413,13 +413,13 @@ function me() {
"mouseup",
"wheel",
"click"
- ].forEach((e) => {
- t.addEventListener(e, (e) => L(e, { preventDefault: !1 }));
+ ].forEach((t) => {
+ e.addEventListener(t, (e) => L(e, { preventDefault: !1 }));
});
let n = document.createElement("button");
- n.type = "button", n.textContent = e("model3d.play", "Play"), n.title = e("model3d.playPause", "Play / Pause"), n.style.cssText = "width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,0.18);background:rgba(76,175,80,0.14);color:rgba(255,255,255,0.92);font:600 12px system-ui,sans-serif;cursor:pointer;flex-shrink:0;padding:0;line-height:1;display:flex;align-items:center;justify-content:center";
+ n.type = "button", n.textContent = t("model3d.play", "Play"), n.title = t("model3d.playPause", "Play / Pause"), n.style.cssText = "width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,0.18);background:rgba(76,175,80,0.14);color:rgba(255,255,255,0.92);font:600 12px system-ui,sans-serif;cursor:pointer;flex-shrink:0;padding:0;line-height:1;display:flex;align-items:center;justify-content:center";
let r = document.createElement("select");
- r.title = e("model3d.playbackSpeed", "Playback speed"), r.style.cssText = "background:rgba(20,24,34,0.9);color:rgba(255,255,255,0.8);border:1px solid rgba(255,255,255,0.14);border-radius:6px;padding:3px 4px;font:11px system-ui,sans-serif;cursor:pointer;width:52px;flex-shrink:0";
+ r.title = t("model3d.playbackSpeed", "Playback speed"), r.style.cssText = "background:rgba(20,24,34,0.9);color:rgba(255,255,255,0.8);border:1px solid rgba(255,255,255,0.14);border-radius:6px;padding:3px 4px;font:11px system-ui,sans-serif;cursor:pointer;width:52px;flex-shrink:0";
for (let e of F) {
let t = document.createElement("option");
t.value = String(e), t.textContent = `${e}x`, e === 1 && (t.selected = !0), r.appendChild(t);
@@ -429,8 +429,8 @@ function me() {
let a = document.createElement("input");
a.type = "range", a.min = "0", a.max = "1000", a.value = "0", a.style.cssText = "flex:1;min-width:50px;cursor:pointer;accent-color:#4CAF50;height:3px;";
let o = document.createElement("span");
- return o.style.cssText = "font:500 11px system-ui,sans-serif;color:rgba(255,255,255,0.45);white-space:nowrap;flex-shrink:0", o.textContent = "0s / 0s", t.appendChild(n), t.appendChild(r), t.appendChild(i), t.appendChild(a), t.appendChild(o), {
- bar: t,
+ return o.style.cssText = "font:500 11px system-ui,sans-serif;color:rgba(255,255,255,0.45);white-space:nowrap;flex-shrink:0", o.textContent = "0s / 0s", e.appendChild(n), e.appendChild(r), e.appendChild(i), e.appendChild(a), e.appendChild(o), {
+ bar: e,
playBtn: n,
speedSel: r,
animSel: i,
@@ -455,7 +455,7 @@ var H = Object.freeze({
"fbx",
"stl",
"ply"
-]), ge = "#282828", W = e("model3d.controlHint", "Rotate: left drag Pan: right drag Zoom: wheel"), G = Object.freeze({
+]), ge = "#282828", W = t("model3d.controlHint", "Rotate: left drag Pan: right drag Zoom: wheel"), G = Object.freeze({
PERSPECTIVE: "perspective",
ORTHOGRAPHIC: "orthographic"
});
@@ -576,7 +576,7 @@ function Te(r, i, a = {}) {
ee.className = "mjr-model3d-toolbar", ee.style.cssText = "position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;pointer-events:none;z-index:5";
let te = document.createElement("div");
te.style.cssText = "display:flex;align-items:center;gap:6px;flex-wrap:wrap;pointer-events:auto;";
- let f = z(e("model3d.reset", "Reset"), e("model3d.resetView", "Reset 3D view")), p = z(e("model3d.grid", "Grid"), e("model3d.toggleGrid", "Toggle grid")), m = z(e("model3d.persp", "Persp"), e("model3d.switchCamera", "Switch perspective / orthographic")), h = z(e("model3d.settings", "Settings"), e("model3d.settings", "Settings"));
+ let f = z(t("model3d.reset", "Reset"), t("model3d.resetView", "Reset 3D view")), p = z(t("model3d.grid", "Grid"), t("model3d.toggleGrid", "Toggle grid")), m = z(t("model3d.persp", "Persp"), t("model3d.switchCamera", "Switch perspective / orthographic")), h = z(t("model3d.settings", "Settings"), t("model3d.settings", "Settings"));
te.append(f, p, m, h), ee.appendChild(te), c.appendChild(ee);
let g = document.createElement("div");
g.className = "mjr-model3d-hint", g.textContent = a.hintText || W, g.style.cssText = "position:absolute;right:10px;bottom:10px;padding:5px 10px;border-radius:999px;font:500 11px system-ui,sans-serif;color:rgba(255,255,255,0.75);background:rgba(0,0,0,0.35);backdrop-filter:blur(6px);pointer-events:none;z-index:2;transition:bottom 0.2s", c.appendChild(g);
@@ -710,9 +710,9 @@ function Te(r, i, a = {}) {
} catch (e) {
console.debug?.(e);
}
- }, qe = (t) => {
+ }, qe = (e) => {
if (!J || !Y.length) return;
- let n = Y[t];
+ let n = Y[e];
if (!n) return;
X.forEach((e) => {
try {
@@ -722,13 +722,13 @@ function Te(r, i, a = {}) {
}
});
let r = J.clipAction(n);
- r.timeScale = Me, r.clampWhenFinished = !1, r.loop = b?.LoopRepeat ?? 2201, r.play(), X[t] = r, Z = t, Q = !0, v.playBtn.textContent = e("model3d.pause", "Pause");
+ r.timeScale = Me, r.clampWhenFinished = !1, r.loop = b?.LoopRepeat ?? 2201, r.play(), X[e] = r, Z = e, Q = !0, v.playBtn.textContent = t("model3d.pause", "Pause");
try {
let e = Math.max(100, Math.min(1e4, Math.round((n.duration || 1) * 100)));
v.progressSlider.max = String(e);
} catch {}
}, Je = () => {
- J && Y.length && (Q ? (J.timeScale = 0, Q = !1, v.playBtn.textContent = e("model3d.play", "Play")) : (J.timeScale = Me, X[Z]?.isRunning?.() ? (Q = !0, v.playBtn.textContent = e("model3d.pause", "Pause")) : qe(Z)));
+ J && Y.length && (Q ? (J.timeScale = 0, Q = !1, v.playBtn.textContent = t("model3d.play", "Play")) : (J.timeScale = Me, X[Z]?.isRunning?.() ? (Q = !0, v.playBtn.textContent = t("model3d.pause", "Pause")) : qe(Z)));
}, Ye = (e, t) => {
e && e.length !== 0 && b && (Y = e, J = new b.AnimationMixer(t), je = new b.Clock(), X = Array(e.length).fill(null), v.animSel.innerHTML = "", e.forEach((e, t) => {
let n = document.createElement("option");
@@ -759,7 +759,7 @@ function Te(r, i, a = {}) {
}
}));
}, Xe = () => {
- B(p, !!P?.visible), B(m, q === G.ORTHOGRAPHIC), m.textContent = q === G.ORTHOGRAPHIC ? e("model3d.ortho", "Ortho") : e("model3d.persp", "Persp"), B(h, Pe);
+ B(p, !!P?.visible), B(m, q === G.ORTHOGRAPHIC), m.textContent = q === G.ORTHOGRAPHIC ? t("model3d.ortho", "Ortho") : t("model3d.persp", "Persp"), B(h, Pe);
};
_.bgInput.addEventListener("input", () => {
let e = _.bgInput.value;
@@ -936,26 +936,26 @@ function Te(r, i, a = {}) {
return $("Preparing 3D preview", Fe), Promise.resolve().then(async () => {
let n = Se(r);
if (he.has(n)) try {
- let e = await N();
+ let t = await N();
if (y) return;
- let o = e.THREE;
+ let o = t.THREE;
b = o;
let s = new o.LoadingManager();
- s.setURLModifier((e) => {
- if (!e || xe(e)) return e;
- let n = t(r, e);
+ s.setURLModifier((t) => {
+ if (!t || xe(t)) return t;
+ let n = e(r, t);
if (n) return n;
try {
- return new URL(e, i).href;
+ return new URL(t, i).href;
} catch {
- return e;
+ return t;
}
}), x = new o.WebGLRenderer({
canvas: l,
antialias: !0,
alpha: !0,
preserveDrawingBuffer: !0
- }), x.outputColorSpace = o.SRGBColorSpace, x.setPixelRatio(Math.min(2, window.devicePixelRatio || 1)), S = new o.Scene(), S.background = new o.Color(ge), w = new o.PerspectiveCamera(ve, 16 / 9, .01, 1e4), T = new o.OrthographicCamera(-1, 1, 1, -1, -1e4, 1e4), C = w, E = new e.OrbitControls(C, l), E.enableDamping = !0, E.dampingFactor = .08, E.rotateSpeed = .82, E.zoomSpeed = 1, E.panSpeed = .9, E.screenSpacePanning = !0, E.mouseButtons = we(null, o.MOUSE), de = Ze(), Oe = new o.AmbientLight(16777215, K.ambient * Ae), S.add(Oe);
+ }), x.outputColorSpace = o.SRGBColorSpace, x.setPixelRatio(Math.min(2, window.devicePixelRatio || 1)), S = new o.Scene(), S.background = new o.Color(ge), w = new o.PerspectiveCamera(ve, 16 / 9, .01, 1e4), T = new o.OrthographicCamera(-1, 1, 1, -1, -1e4, 1e4), C = w, E = new t.OrbitControls(C, l), E.enableDamping = !0, E.dampingFactor = .08, E.rotateSpeed = .82, E.zoomSpeed = 1, E.panSpeed = .9, E.screenSpacePanning = !0, E.mouseButtons = we(null, o.MOUSE), de = Ze(), Oe = new o.AmbientLight(16777215, K.ambient * Ae), S.add(Oe);
let u = new o.DirectionalLight(16777215, K.main * Ae);
u.position.set(0, 10, 10);
let d = new o.DirectionalLight(16777215, K.back * Ae);
@@ -978,14 +978,14 @@ function Te(r, i, a = {}) {
x.setSize(t, n, !1), w && (w.aspect = t / n, w.updateProjectionMatrix()), ze(t, n), Re(), Ie();
};
typeof ResizeObserver < "u" && (ne = new ResizeObserver(() => O()), ne.observe(c));
- let se = fe(e, n, s);
+ let se = fe(t, n, s);
if (!se) {
$("3D loader unavailable", `${n.toUpperCase()} loader could not be created.`), g.style.display = "none";
return;
}
- if (n === "obj" && e.MTLLoader) try {
- let t = i.replace(/\.obj(\?.*)?$/i, (e, t) => `.mtl${t || ""}`), n = new e.MTLLoader(s), r = await new Promise((e) => {
- n.load(t, e, void 0, () => e(null));
+ if (n === "obj" && t.MTLLoader) try {
+ let e = i.replace(/\.obj(\?.*)?$/i, (e, t) => `.mtl${t || ""}`), n = new t.MTLLoader(s), r = await new Promise((t) => {
+ n.load(e, t, void 0, () => t(null));
});
r && !y && (r.preload(), se.setMaterials(r));
} catch (e) {
@@ -1134,8 +1134,8 @@ function Te(r, i, a = {}) {
console.warn("[MJR 3D] preview init failed", e), $("Failed to load 3D preview", String(e?.message || "Three.js initialization failed.")), g.style.display = "none";
}
else if ($("3D preview unavailable", `${n.toUpperCase()} is not supported in the embedded viewer.`), g.style.display = "none", i) try {
- let t = document.createElement("a");
- t.href = i, t.download = String(r?.filename || "model"), t.textContent = e("model3d.downloadFile", "Download {file}", { file: String(r?.filename || "file") }), t.style.cssText = "position:absolute;bottom:18px;left:50%;transform:translateX(-50%);padding:7px 16px;border-radius:8px;font:600 12px system-ui,sans-serif;color:#fff;background:rgba(76,175,80,0.85);text-decoration:none;pointer-events:auto;z-index:3", c.appendChild(t);
+ let e = document.createElement("a");
+ e.href = i, e.download = String(r?.filename || "model"), e.textContent = t("model3d.downloadFile", "Download {file}", { file: String(r?.filename || "file") }), e.style.cssText = "position:absolute;bottom:18px;left:50%;transform:translateX(-50%);padding:7px 16px;border-radius:8px;font:600 12px system-ui,sans-serif;color:#fff;background:rgba(76,175,80,0.85);text-decoration:none;pointer-events:auto;z-index:3", c.appendChild(e);
} catch {}
}).catch((e) => {
if (!y) {
@@ -1544,8 +1544,8 @@ var it = ["src"], at = ["src"], ot = {
"update:wipe",
"dismiss"
],
- setup(t, { expose: n, emit: r }) {
- let i = t, a = r, o = D(null), m = D(null), ie = D(null), ae = D(null), oe = D(null), O = D({
+ setup(e, { expose: n, emit: r }) {
+ let i = e, a = r, o = D(null), m = D(null), ie = D(null), ae = D(null), oe = D(null), O = D({
x: 0,
y: 0,
w: 0,
@@ -1700,7 +1700,7 @@ var it = ["src"], at = ["src"], ot = {
} else a("ended");
}
function Ie() {
- U.value = e("viewer.studio.mediaError", "This file cannot be played by the browser.");
+ U.value = t("viewer.studio.mediaError", "This file cannot be played by the browser.");
}
function $() {
let e = q();
@@ -1854,14 +1854,14 @@ var it = ["src"], at = ["src"], ot = {
ref_key: "root",
ref: m,
class: T(["mjr-studio-player", {
- "is-audio": t.kind === "audio",
- "is-compact": t.compact,
+ "is-audio": e.kind === "audio",
+ "is-compact": e.compact,
"controls-hidden": !H.value
}]),
onPointermove: wt,
onClick: J
}, [
- t.kind === "video" ? (y(), w("div", {
+ e.kind === "video" ? (y(), w("div", {
key: 0,
ref_key: "screen",
ref: ae,
@@ -1871,12 +1871,12 @@ var it = ["src"], at = ["src"], ot = {
}, [
d("div", {
class: "mjr-studio-player__layers",
- style: S(t.mediaFilter ? { filter: t.mediaFilter } : void 0)
+ style: S(e.mediaFilter ? { filter: e.mediaFilter } : void 0)
}, [d("video", {
ref_key: "media",
ref: o,
- class: T(["mjr-studio-player__media", t.mediaClass]),
- src: t.src,
+ class: T(["mjr-studio-player__media", e.mediaClass]),
+ src: e.src,
playsinline: "",
preload: "auto",
onPlay: Me,
@@ -1889,9 +1889,9 @@ var it = ["src"], at = ["src"], ot = {
}, null, 42, it), Se.value ? (y(), w("video", {
ref_key: "mediaB",
ref: oe,
- key: `b:${t.compareSrc}`,
+ key: `b:${e.compareSrc}`,
class: "mjr-studio-player__media is-b",
- src: t.compareSrc || "",
+ src: e.compareSrc || "",
playsinline: "",
muted: "",
preload: "auto",
@@ -1907,10 +1907,10 @@ var it = ["src"], at = ["src"], ot = {
}), we.value ? (y(), w("div", {
key: 0,
class: T(["mjr-studio-stage__divider", {
- "is-vertical": t.compare === "wipeV",
+ "is-vertical": e.compare === "wipeV",
"is-active": se.value
}]),
- style: S(t.compare === "wipeV" ? { top: `${Te.value}%` } : { left: `${Te.value}%` }),
+ style: S(e.compare === "wipeV" ? { top: `${Te.value}%` } : { left: `${Te.value}%` }),
onClick: r[1] ||= g(() => {}, ["stop"]),
onDblclick: r[2] ||= g((e) => a("update:wipe", 50), ["stop"]),
onPointerdown: g(Y, ["stop"]),
@@ -1920,7 +1920,7 @@ var it = ["src"], at = ["src"], ot = {
}, [...r[12] ||= [d("span", { class: "mjr-studio-stage__divider-grip" }, null, -1)]], 38)) : p("", !0)], 4),
Se.value ? (y(), w("div", ot, [
r[13] ||= d("span", null, "A", -1),
- d("span", st, x(t.compare === "wipeV" ? "/" : "|"), 1),
+ d("span", st, x(e.compare === "wipeV" ? "/" : "|"), 1),
r[14] ||= d("span", null, "B", -1)
])) : p("", !0)
], 34)) : (y(), w("div", {
@@ -1935,11 +1935,11 @@ var it = ["src"], at = ["src"], ot = {
"aria-hidden": "true"
}, null, 512), [[b, ue.value]]),
s(d("i", ct, null, 512), [[b, !ue.value]]),
- d("span", null, x(t.filename), 1),
+ d("span", null, x(e.filename), 1),
d("audio", {
ref_key: "media",
ref: o,
- src: t.src,
+ src: e.src,
preload: "auto",
onPlay: Me,
onPause: Q,
@@ -1954,7 +1954,7 @@ var it = ["src"], at = ["src"], ot = {
key: 2,
type: "button",
class: "mjr-studio-player__big-play",
- "aria-label": E(e)("viewer.studio.play", "Play"),
+ "aria-label": E(t)("viewer.studio.play", "Play"),
onClick: $
}, {
default: h(() => [...r[15] ||= [d("i", {
@@ -1972,7 +1972,7 @@ var it = ["src"], at = ["src"], ot = {
ref: ie,
class: "mjr-studio-player__track",
role: "slider",
- "aria-label": E(e)("viewer.studio.seek", "Seek"),
+ "aria-label": E(t)("viewer.studio.seek", "Seek"),
"aria-valuemin": 0,
"aria-valuemax": P.value,
"aria-valuenow": N.value,
@@ -2007,7 +2007,7 @@ var it = ["src"], at = ["src"], ot = {
f(i, {
type: "button",
class: "mjr-studio-btn",
- title: E(e)("viewer.studio.playPause", "Play / pause (Space)"),
+ title: E(t)("viewer.studio.playPause", "Play / pause (Space)"),
onClick: $
}, {
default: h(() => [d("i", {
@@ -2016,10 +2016,10 @@ var it = ["src"], at = ["src"], ot = {
}, null, 2)]),
_: 1
}, 8, ["title"]),
- t.kind === "video" ? (y(), w(l, { key: 0 }, [f(i, {
+ e.kind === "video" ? (y(), w(l, { key: 0 }, [f(i, {
type: "button",
class: "mjr-studio-btn",
- title: E(e)("viewer.studio.prevFrame", "Previous frame (,)"),
+ title: E(t)("viewer.studio.prevFrame", "Previous frame (,)"),
onClick: r[6] ||= (e) => ze(-1)
}, {
default: h(() => [...r[16] ||= [d("i", {
@@ -2030,7 +2030,7 @@ var it = ["src"], at = ["src"], ot = {
}, 8, ["title"]), f(i, {
type: "button",
class: "mjr-studio-btn",
- title: E(e)("viewer.studio.nextFrame", "Next frame (.)"),
+ title: E(t)("viewer.studio.nextFrame", "Next frame (.)"),
onClick: r[7] ||= (e) => ze(1)
}, {
default: h(() => [...r[17] ||= [d("i", {
@@ -2040,10 +2040,10 @@ var it = ["src"], at = ["src"], ot = {
_: 1
}, 8, ["title"])], 64)) : p("", !0),
d("span", pt, [C(x(E(Ke)(N.value)) + " ", 1), d("span", mt, "/ " + x(E(Ke)(P.value)), 1)]),
- t.kind === "video" && W.value ? (y(), w("span", {
+ e.kind === "video" && W.value ? (y(), w("span", {
key: 1,
class: "mjr-studio-chip",
- title: E(e)("viewer.studio.frame", "Frame")
+ title: E(t)("viewer.studio.frame", "Frame")
}, [
C(" f " + x(G.value), 1),
_e.value ? (y(), w(l, { key: 0 }, [C(" / " + x(_e.value - 1), 1)], 64)) : p("", !0),
@@ -2052,7 +2052,7 @@ var it = ["src"], at = ["src"], ot = {
r[24] ||= d("span", { class: "mjr-studio-player__spacer" }, null, -1),
d("div", {
class: "mjr-studio-player__group",
- title: E(e)("viewer.studio.abLoop", "A-B loop (I / O, U to clear)")
+ title: E(t)("viewer.studio.abLoop", "A-B loop (I / O, U to clear)")
}, [
f(i, {
type: "button",
@@ -2074,7 +2074,7 @@ var it = ["src"], at = ["src"], ot = {
key: 0,
type: "button",
class: "mjr-studio-btn",
- title: E(e)("viewer.studio.clearLoop", "Clear A-B loop"),
+ title: E(t)("viewer.studio.clearLoop", "Clear A-B loop"),
onClick: xt
}, {
default: h(() => [...r[20] ||= [d("i", {
@@ -2087,7 +2087,7 @@ var it = ["src"], at = ["src"], ot = {
f(i, {
type: "button",
class: T(["mjr-studio-btn", { "is-on": z.value }]),
- title: E(e)("viewer.studio.loop", "Loop"),
+ title: E(t)("viewer.studio.loop", "Loop"),
onClick: r[8] ||= (e) => z.value = !z.value
}, {
default: h(() => [...r[21] ||= [d("i", {
@@ -2099,7 +2099,7 @@ var it = ["src"], at = ["src"], ot = {
f(i, {
type: "button",
class: T(["mjr-studio-btn is-text", { "is-on": R.value !== 1 }]),
- title: E(e)("viewer.studio.speed", "Speed ([ / ])"),
+ title: E(t)("viewer.studio.speed", "Speed ([ / ])"),
onClick: r[9] ||= (e) => Je(1, !0)
}, {
default: h(() => [C(x(R.value) + "×", 1)]),
@@ -2108,7 +2108,7 @@ var it = ["src"], at = ["src"], ot = {
d("div", _t, [f(i, {
type: "button",
class: "mjr-studio-btn",
- title: E(e)("viewer.studio.mute", "Mute (M)"),
+ title: E(t)("viewer.studio.mute", "Mute (M)"),
onClick: et
}, {
default: h(() => [d("i", {
@@ -2119,7 +2119,7 @@ var it = ["src"], at = ["src"], ot = {
}, 8, ["title"]), d("div", {
class: "mjr-studio-player__volume",
role: "slider",
- "aria-label": E(e)("viewer.studio.volume", "Volume"),
+ "aria-label": E(t)("viewer.studio.volume", "Volume"),
"aria-valuemin": 0,
"aria-valuemax": 1,
"aria-valuenow": L.value ? 0 : I.value,
@@ -2130,11 +2130,11 @@ var it = ["src"], at = ["src"], ot = {
class: "mjr-studio-player__volume-fill",
style: S({ width: `${(L.value ? 0 : I.value) * 100}%` })
}, null, 4)], 40, vt)]),
- t.kind === "video" ? (y(), u(i, {
+ e.kind === "video" ? (y(), u(i, {
key: 2,
type: "button",
class: "mjr-studio-btn",
- title: E(e)("viewer.studio.exportFrame", "Save this frame as PNG"),
+ title: E(t)("viewer.studio.exportFrame", "Save this frame as PNG"),
onClick: Ct
}, {
default: h(() => [...r[22] ||= [d("i", {
@@ -2143,11 +2143,11 @@ var it = ["src"], at = ["src"], ot = {
}, null, -1)]]),
_: 1
}, 8, ["title"])) : p("", !0),
- t.kind === "video" ? (y(), u(i, {
+ e.kind === "video" ? (y(), u(i, {
key: 3,
type: "button",
class: "mjr-studio-btn",
- title: E(e)("viewer.studio.fullscreen", "Fullscreen (F)"),
+ title: E(t)("viewer.studio.fullscreen", "Fullscreen (F)"),
onClick: St
}, {
default: h(() => [...r[23] ||= [d("i", {
diff --git a/dist/chunks/generationSectionState-DuXxSw-j.js b/dist/chunks/generationSectionState-BR-TS47u.js
similarity index 78%
rename from dist/chunks/generationSectionState-DuXxSw-j.js
rename to dist/chunks/generationSectionState-BR-TS47u.js
index 4ebbcf9e..f4eda41d 100644
--- a/dist/chunks/generationSectionState-DuXxSw-j.js
+++ b/dist/chunks/generationSectionState-BR-TS47u.js
@@ -1,6 +1,6 @@
-import { $ as e, $t as t, B as n, Bn as r, Bt as i, Cn as a, Ct as o, Dt as s, Et as c, Fn as l, G as u, H as d, Ht as f, J as p, K as m, Kt as h, L as g, Mt as _, Nt as v, On as y, Pt as b, Qt as x, Rn as S, St as C, Tt as ee, U as te, Ut as w, V as ne, W as T, Wt as E, X as D, Y as O, Z as re, _n as ie, _t as ae, an as k, ar as A, bt as j, en as oe, et as se, gt as ce, hn as le, ht as ue, in as M, jt as de, k as fe, kt as pe, mt as me, n as N, nn as he, nt as ge, pr as _e, pt as ve, q as ye, rn as be, t as P, tn as xe, tt as Se, vt as Ce, wt as we, xn as Te, xt as Ee, yn as De, yt as Oe } from "./config-C9a-wT5M.js";
+import { An as e, Bn as t, Cn as n, Ct as r, Dt as i, Et as a, Ft as o, G as s, Gt as c, H as l, Hn as u, Ht as d, It as f, J as p, Jt as m, K as h, Kt as g, Ln as _, Nt as v, Ot as y, Pt as b, Q as x, R as S, St as C, Tn as w, Tt as ee, U as T, V as E, W as te, Wt as D, X as O, Y as ne, Z as re, _n as ie, _t as ae, an as k, bt as oe, en as se, gt as A, hr as ce, ht as le, in as ue, it as de, jt as fe, k as pe, kt as me, n as j, nn as he, nt as ge, on as M, q as _e, rn as ve, rt as ye, sn as be, sr as xe, t as N, tn as Se, tt as Ce, vt as we, wt as Te, xn as Ee, xt as De, yn as Oe, yt as ke } from "./config-D56TZeFo.js";
// ui/utils/events.ts
-function ke(e, t, { target: n = null, warnPrefix: r = "[Majoor]" } = {}) {
+function Ae(e, t, { target: n = null, warnPrefix: r = "[Majoor]" } = {}) {
let i = n || (typeof window < "u" ? window : null);
if (!i || typeof i.dispatchEvent != "function") return !1;
try {
@@ -15,7 +15,7 @@ function ke(e, t, { target: n = null, warnPrefix: r = "[Majoor]" } = {}) {
}
}
// ui/app/settings/settingsUtils.ts
-var F = (e, t) => {
+var P = (e, t) => {
if (typeof e == "boolean") return e;
if (typeof e == "string") {
let t = e.trim().toLowerCase();
@@ -33,37 +33,37 @@ var F = (e, t) => {
].includes(t)) return !1;
}
return !!t;
-}, I = (e, t) => {
+}, F = (e, t) => {
let n = Number(e);
return Number.isFinite(n) ? n : Number(t);
-}, Ae = (e, t, n) => {
+}, je = (e, t, n) => {
let r = typeof e == "string" ? e.trim() : String(e ?? "");
return t.includes(r) ? r : n;
-}, je = (e) => e === "__proto__" || e === "prototype" || e === "constructor", Me = (e, t) => {
+}, Me = (e) => e === "__proto__" || e === "prototype" || e === "constructor", Ne = (e, t) => {
let n = { ...e };
return !t || typeof t != "object" || Object.keys(t).forEach((r) => {
- if (je(r)) return;
+ if (Me(r)) return;
let i = t[r];
- i && typeof i == "object" && !Array.isArray(i) ? n[r] = Me(e[r] || {}, i) : i !== void 0 && (n[r] = i);
+ i && typeof i == "object" && !Array.isArray(i) ? n[r] = Ne(e[r] || {}, i) : i !== void 0 && (n[r] = i);
}), n;
-}, Ne = Object.freeze({
+}, Pe = Object.freeze({
small: 80,
medium: 120,
large: 180
-}), Pe = Object.freeze([
+}), Fe = Object.freeze([
"small",
"medium",
"large"
-]), Fe = (e, t) => Math.max(60, Math.min(600, Math.round(I(e, t)))), Ie = (e = {}) => {
+]), Ie = (e, t) => Math.max(60, Math.min(600, Math.round(F(e, t)))), Le = (e = {}) => {
let t = Number(e?.minSize);
- if (Number.isFinite(t)) return Fe(t, N.GRID_MIN_SIZE);
- let n = Ae(String(e?.minSizePreset || "").toLowerCase(), Pe, "");
- return n ? Ne[n] : Fe(e?.minSize, N.GRID_MIN_SIZE);
-}, Le = (e = {}) => Fe(e?.minSize, N.FEED_GRID_MIN_SIZE), Re = (e) => {
- let t = Math.round(I(e, N.GRID_MIN_SIZE));
+ if (Number.isFinite(t)) return Ie(t, j.GRID_MIN_SIZE);
+ let n = je(String(e?.minSizePreset || "").toLowerCase(), Fe, "");
+ return n ? Pe[n] : Ie(e?.minSize, j.GRID_MIN_SIZE);
+}, Re = (e = {}) => Ie(e?.minSize, j.FEED_GRID_MIN_SIZE), ze = (e) => {
+ let t = Math.round(F(e, j.GRID_MIN_SIZE));
return t <= 100 ? "small" : t >= 150 ? "large" : "medium";
-}, ze = async (e, t = "Majoor", n = {}) => {
- let r = Ue();
+}, Be = async (e, t = "Majoor", n = {}) => {
+ let r = We();
if (r && typeof r.alert == "function") try {
await r.alert({
title: String(t || "Majoor"),
@@ -73,7 +73,7 @@ var F = (e, t) => {
} catch (e) {
console.debug?.(e);
}
- let i = We();
+ let i = Ge();
if (i) try {
let n = String(e || "");
typeof i.info == "function" ? i.info(String(t || "Majoor"), {
@@ -91,9 +91,9 @@ var F = (e, t) => {
console.debug?.(e);
}
if (n?.native !== !1) {
- let n = Ge();
+ let n = Ke();
if (n) try {
- n.show(Ke(e, t));
+ n.show(qe(e, t));
try {
n.element?.style?.setProperty?.("z-index", "1100");
} catch (e) {
@@ -104,21 +104,21 @@ var F = (e, t) => {
console.debug?.(e);
}
}
- let a = Ze();
+ let a = Qe();
if (a) return new Promise((n) => {
let r = new a();
- tt(r);
- let i = L("div", { style: {
+ nt(r);
+ let i = I("div", { style: {
display: "flex",
flexDirection: "column",
gap: "18px",
padding: "18px 20px 18px 20px"
} }, [
- L("div", { style: {
+ I("div", { style: {
display: "flex",
alignItems: "center",
justifyContent: "flex-start"
- } }, [L("div", {
+ } }, [I("div", {
textContent: t,
style: {
fontWeight: "700",
@@ -127,7 +127,7 @@ var F = (e, t) => {
lineHeight: "1.2"
}
})]),
- L("div", {
+ I("div", {
textContent: String(e || ""),
style: {
fontSize: "22px",
@@ -136,11 +136,11 @@ var F = (e, t) => {
lineHeight: "1.45"
}
}),
- L("div", { style: {
+ I("div", { style: {
display: "flex",
justifyContent: "flex-end",
gap: "10px"
- } }, [L("button", {
+ } }, [I("button", {
textContent: M("dialog.confirm", "Confirm"),
onclick: () => {
try {
@@ -162,7 +162,7 @@ var F = (e, t) => {
})])
]);
try {
- r.show(i), setTimeout(() => nt(r), 0);
+ r.show(i), setTimeout(() => rt(r), 0);
} catch {
try {
window.alert(e);
@@ -177,8 +177,8 @@ var F = (e, t) => {
} catch (e) {
console.debug?.(e);
}
-}, Be = async (e, t = "Majoor") => {
- let n = Ue();
+}, Ve = async (e, t = "Majoor") => {
+ let n = We();
if (n) try {
let r = {
title: String(t || M("dialog.confirm", "Confirm")),
@@ -188,7 +188,7 @@ var F = (e, t) => {
} catch (e) {
console.debug?.(e);
}
- let r = Ze();
+ let r = Qe();
if (!r) try {
return window.confirm(e);
} catch {
@@ -196,7 +196,7 @@ var F = (e, t) => {
}
return new Promise((n) => {
let i = new r();
- tt(i);
+ nt(i);
let a = (e) => {
try {
i.close();
@@ -204,17 +204,17 @@ var F = (e, t) => {
console.debug?.(e);
}
n(!!e);
- }, o = L("div", { style: {
+ }, o = I("div", { style: {
display: "flex",
flexDirection: "column",
gap: "18px",
padding: "18px 20px 18px 20px"
} }, [
- L("div", { style: {
+ I("div", { style: {
display: "flex",
alignItems: "center",
justifyContent: "flex-start"
- } }, [L("div", {
+ } }, [I("div", {
textContent: t,
style: {
fontWeight: "700",
@@ -223,7 +223,7 @@ var F = (e, t) => {
lineHeight: "1.2"
}
})]),
- L("div", {
+ I("div", {
textContent: String(e || ""),
style: {
fontSize: "22px",
@@ -232,11 +232,11 @@ var F = (e, t) => {
lineHeight: "1.45"
}
}),
- L("div", { style: {
+ I("div", { style: {
display: "flex",
justifyContent: "flex-end",
gap: "10px"
- } }, [L("button", {
+ } }, [I("button", {
textContent: M("dialog.cancel", "Cancel"),
onclick: () => a(!1),
style: {
@@ -248,7 +248,7 @@ var F = (e, t) => {
fontWeight: "600",
cursor: "pointer"
}
- }), L("button", {
+ }), I("button", {
textContent: M("dialog.confirm", "Confirm"),
onclick: () => a(!0),
style: {
@@ -263,7 +263,7 @@ var F = (e, t) => {
})])
]);
try {
- i.show(o), setTimeout(() => nt(i), 0);
+ i.show(o), setTimeout(() => rt(i), 0);
} catch {
try {
n(!!window.confirm(e));
@@ -272,8 +272,8 @@ var F = (e, t) => {
}
}
});
-}, Ve = async (e, t = "", n = "Majoor") => {
- let r = Ue();
+}, He = async (e, t = "", n = "Majoor") => {
+ let r = We();
if (r) try {
let i = {
title: String(n || M("dialog.prompt", "Prompt")),
@@ -284,7 +284,7 @@ var F = (e, t) => {
} catch (e) {
console.debug?.(e);
}
- let i = Ze();
+ let i = Qe();
if (!i) try {
return window.prompt(e, t);
} catch {
@@ -292,7 +292,7 @@ var F = (e, t) => {
}
return new Promise((r) => {
let a = new i();
- tt(a);
+ nt(a);
let o = (e) => {
try {
a.close();
@@ -300,7 +300,7 @@ var F = (e, t) => {
console.debug?.(e);
}
r(e ?? null);
- }, s = L("input", {
+ }, s = I("input", {
type: "text",
value: String(t ?? ""),
style: {
@@ -316,13 +316,13 @@ var F = (e, t) => {
onkeydown: (e) => {
e.key === "Enter" && o(s.value), e.key === "Escape" && o(null), e.stopPropagation();
}
- }), c = L("div", { style: {
+ }), c = I("div", { style: {
display: "flex",
flexDirection: "column",
gap: "12px",
padding: "16px"
} }, [
- L("div", {
+ I("div", {
textContent: n,
style: {
fontWeight: "600",
@@ -330,7 +330,7 @@ var F = (e, t) => {
color: "rgba(255,255,255,0.95)"
}
}),
- L("div", {
+ I("div", {
textContent: String(e || ""),
style: {
fontSize: "13px",
@@ -340,11 +340,11 @@ var F = (e, t) => {
}
}),
s,
- L("div", { style: {
+ I("div", { style: {
display: "flex",
justifyContent: "flex-end",
gap: "10px"
- } }, [L("button", {
+ } }, [I("button", {
textContent: M("dialog.cancel", "Cancel"),
onclick: () => o(null),
style: {
@@ -355,7 +355,7 @@ var F = (e, t) => {
color: "rgba(255,255,255,0.85)",
cursor: "pointer"
}
- }), L("button", {
+ }), I("button", {
textContent: M("dialog.ok", "OK"),
onclick: () => o(s.value),
style: {
@@ -369,7 +369,7 @@ var F = (e, t) => {
})])
]);
try {
- a.show(c), setTimeout(() => nt(a), 0), setTimeout(() => {
+ a.show(c), setTimeout(() => rt(a), 0), setTimeout(() => {
try {
s.focus(), s.select();
} catch (e) {
@@ -384,41 +384,41 @@ var F = (e, t) => {
}
}
});
-}, He = () => {
+}, Ue = () => {
try {
- return Te()?.ui || null;
+ return n()?.ui || null;
} catch {
return null;
}
-}, Ue = () => {
+}, We = () => {
let e = (e) => !!e && (typeof e.alert == "function" || typeof e.confirm == "function" || typeof e.prompt == "function");
try {
- let t = ie();
+ let t = Oe();
if (e(t)) return t;
} catch (e) {
console.debug?.(e);
}
return null;
-}, We = () => {
- try {
- let e = De();
- if (e) return e;
- } catch (e) {
- console.debug?.(e);
- }
- return null;
}, Ge = () => {
try {
- let e = He();
+ let e = Ee();
+ if (e) return e;
+ } catch (e) {
+ console.debug?.(e);
+ }
+ return null;
+}, Ke = () => {
+ try {
+ let e = Ue();
if (e?.dialog && typeof e.dialog.show == "function") return e.dialog;
} catch (e) {
console.debug?.(e);
}
return null;
-}, Ke = (e, t = "Majoor") => {
+}, qe = (e, t = "Majoor") => {
let n = String(e ?? ""), r = String(t ?? "").trim();
return !r || r.toLowerCase() === "majoor" ? n : `${r}
${n}`;
-}, qe = /* @__PURE__ */ new Set(/* @__PURE__ */ "abort.blur.change.click.close.contextmenu.dblclick.dragend.dragenter.dragleave.dragover.dragstart.drop.error.focus.input.keydown.keypress.keyup.load.mousedown.mouseenter.mouseleave.mousemove.mouseout.mouseover.mouseup.reset.resize.scroll.select.submit.touchcancel.touchend.touchmove.touchstart.transitionend.unload.wheel".split(".")), Je = /* @__PURE__ */ new Set([
+}, Je = /* @__PURE__ */ new Set(/* @__PURE__ */ "abort.blur.change.click.close.contextmenu.dblclick.dragend.dragenter.dragleave.dragover.dragstart.drop.error.focus.input.keydown.keypress.keyup.load.mousedown.mouseenter.mouseleave.mousemove.mouseout.mouseover.mouseup.reset.resize.scroll.select.submit.touchcancel.touchend.touchmove.touchstart.transitionend.unload.wheel".split(".")), Ye = /* @__PURE__ */ new Set([
"__proto__",
"constructor",
"prototype",
@@ -429,7 +429,7 @@ var F = (e, t) => {
"__defineSetter__",
"__lookupGetter__",
"__lookupSetter__"
-]), Ye = /* @__PURE__ */ new Set([
+]), Xe = /* @__PURE__ */ new Set([
"id",
"name",
"value",
@@ -442,20 +442,20 @@ var F = (e, t) => {
"htmlFor",
"role",
"tabIndex"
-]), Xe = (e, t = {}, n = []) => {
+]), Ze = (e, t = {}, n = []) => {
let r = document.createElement(e);
return Object.entries(t || {}).forEach(([e, t]) => {
let n = String(e || "");
- if (n && !Je.has(n)) {
+ if (n && !Ye.has(n)) {
if (e === "style" && t && typeof t == "object") Object.assign(r.style, t);
else if (e === "className") r.className = String(t);
else if (n.startsWith("on")) {
if (typeof t == "function") {
let e = n.slice(2).toLowerCase();
- qe.has(e) && r.addEventListener(e, t);
+ Je.has(e) && r.addEventListener(e, t);
}
} else {
- if (Ye.has(n)) try {
+ if (Xe.has(n)) try {
r[n] = t;
return;
} catch (e) {
@@ -475,19 +475,19 @@ var F = (e, t) => {
r.appendChild(document.createTextNode(String(e)));
}
}), r;
-}, L = (e, t, n) => {
- let r = He();
+}, I = (e, t, n) => {
+ let r = Ue();
if (r?.$el) try {
return r.$el(e, t, n);
} catch {}
- return Xe(e, t, n);
-}, Ze = () => He()?.ComfyDialog || null, Qe = 999999, $e = 560, et = 12, tt = (e) => {
+ return Ze(e, t, n);
+}, Qe = () => Ue()?.ComfyDialog || null, $e = 999999, et = 560, tt = 12, nt = (e) => {
try {
- e.element.style.zIndex = String(Qe), e.element.style.width = `${$e}px`, e.element.style.padding = "0", e.element.style.backgroundColor = "var(--comfy-menu-bg, #131722)", e.element.style.border = "1px solid rgba(255,255,255,0.14)", e.element.style.borderRadius = `${et}px`, e.element.style.boxSizing = "border-box", e.element.style.overflow = "hidden", e.element.style.boxShadow = "0 18px 48px rgba(0,0,0,0.48)";
+ e.element.style.zIndex = String($e), e.element.style.width = `${et}px`, e.element.style.padding = "0", e.element.style.backgroundColor = "var(--comfy-menu-bg, #131722)", e.element.style.border = "1px solid rgba(255,255,255,0.14)", e.element.style.borderRadius = `${tt}px`, e.element.style.boxSizing = "border-box", e.element.style.overflow = "hidden", e.element.style.boxShadow = "0 18px 48px rgba(0,0,0,0.48)";
} catch (e) {
console.debug?.(e);
}
-}, nt = (e) => {
+}, rt = (e) => {
try {
let t = e?.element;
if (!t) return;
@@ -503,76 +503,76 @@ var F = (e, t) => {
} catch (e) {
console.debug?.(e);
}
-}, R = {
+}, L = {
debug: {
- safeCall: N.DEBUG_SAFE_CALL,
- safeListeners: N.DEBUG_SAFE_LISTENERS,
- viewer: N.DEBUG_VIEWER
+ safeCall: j.DEBUG_SAFE_CALL,
+ safeListeners: j.DEBUG_SAFE_LISTENERS,
+ viewer: j.DEBUG_VIEWER
},
grid: {
- pageSize: N.DEFAULT_PAGE_SIZE,
- minSize: N.GRID_MIN_SIZE,
- minSizePreset: Re(N.GRID_MIN_SIZE),
- gap: N.GRID_GAP,
- showExtBadge: N.GRID_SHOW_BADGES_EXTENSION,
- showRatingBadge: N.GRID_SHOW_BADGES_RATING,
- showTagsBadge: N.GRID_SHOW_BADGES_TAGS,
- showDetails: N.GRID_SHOW_DETAILS,
- showFilename: N.GRID_SHOW_DETAILS_FILENAME,
- showDate: N.GRID_SHOW_DETAILS_DATE,
- showDimensions: N.GRID_SHOW_DETAILS_DIMENSIONS,
- showGenTime: N.GRID_SHOW_DETAILS_GENTIME,
- showHoverInfo: N.GRID_SHOW_HOVER_INFO,
- showWorkflowDot: N.GRID_SHOW_WORKFLOW_DOT,
- workflowGroupBy: N.WORKFLOW_GRID_GROUP_BY,
- videoAutoplayMode: N.GRID_VIDEO_AUTOPLAY_MODE,
- starColor: N.BADGE_STAR_COLOR,
- badgeImageColor: N.BADGE_IMAGE_COLOR,
- badgeVideoColor: N.BADGE_VIDEO_COLOR,
- badgeAudioColor: N.BADGE_AUDIO_COLOR,
- badgeModel3dColor: N.BADGE_MODEL3D_COLOR,
- badgeDuplicateAlertColor: N.BADGE_DUPLICATE_ALERT_COLOR
+ pageSize: j.DEFAULT_PAGE_SIZE,
+ minSize: j.GRID_MIN_SIZE,
+ minSizePreset: ze(j.GRID_MIN_SIZE),
+ gap: j.GRID_GAP,
+ showExtBadge: j.GRID_SHOW_BADGES_EXTENSION,
+ showRatingBadge: j.GRID_SHOW_BADGES_RATING,
+ showTagsBadge: j.GRID_SHOW_BADGES_TAGS,
+ showDetails: j.GRID_SHOW_DETAILS,
+ showFilename: j.GRID_SHOW_DETAILS_FILENAME,
+ showDate: j.GRID_SHOW_DETAILS_DATE,
+ showDimensions: j.GRID_SHOW_DETAILS_DIMENSIONS,
+ showGenTime: j.GRID_SHOW_DETAILS_GENTIME,
+ showHoverInfo: j.GRID_SHOW_HOVER_INFO,
+ showWorkflowDot: j.GRID_SHOW_WORKFLOW_DOT,
+ workflowGroupBy: j.WORKFLOW_GRID_GROUP_BY,
+ videoAutoplayMode: j.GRID_VIDEO_AUTOPLAY_MODE,
+ starColor: j.BADGE_STAR_COLOR,
+ badgeImageColor: j.BADGE_IMAGE_COLOR,
+ badgeVideoColor: j.BADGE_VIDEO_COLOR,
+ badgeAudioColor: j.BADGE_AUDIO_COLOR,
+ badgeModel3dColor: j.BADGE_MODEL3D_COLOR,
+ badgeDuplicateAlertColor: j.BADGE_DUPLICATE_ALERT_COLOR
},
infiniteScroll: {
- enabled: N.INFINITE_SCROLL_ENABLED,
- rootMargin: N.INFINITE_SCROLL_ROOT_MARGIN,
- threshold: N.INFINITE_SCROLL_THRESHOLD,
- bottomGapPx: N.BOTTOM_GAP_PX
+ enabled: j.INFINITE_SCROLL_ENABLED,
+ rootMargin: j.INFINITE_SCROLL_ROOT_MARGIN,
+ threshold: j.INFINITE_SCROLL_THRESHOLD,
+ bottomGapPx: j.BOTTOM_GAP_PX
},
siblings: { hidePngSiblings: !0 },
- autoScan: { onStartup: N.AUTO_SCAN_ON_STARTUP },
+ autoScan: { onStartup: j.AUTO_SCAN_ON_STARTUP },
scan: {
fastMode: !0,
jxlEnabled: !1
},
watcher: {
enabled: !0,
- debounceMs: N.WATCHER_DEBOUNCE_MS,
- dedupeTtlMs: N.WATCHER_DEDUPE_TTL_MS,
+ debounceMs: j.WATCHER_DEBOUNCE_MS,
+ dedupeTtlMs: j.WATCHER_DEDUPE_TTL_MS,
maxPending: 500,
minSize: 100,
maxSize: 4294967296
},
safety: { confirmDeletion: !0 },
- status: { pollInterval: N.STATUS_POLL_INTERVAL },
+ status: { pollInterval: j.STATUS_POLL_INTERVAL },
viewer: {
- pauseDuringExecution: N.VIEWER_PAUSE_DURING_EXECUTION,
- floatingPauseDuringExecution: N.FLOATING_VIEWER_PAUSE_DURING_EXECUTION,
- mfvLiveDefault: N.MFV_LIVE_DEFAULT,
- mfvPreviewDefault: N.MFV_PREVIEW_DEFAULT,
- mfvTopbarButton: N.MFV_TOPBAR_BUTTON,
+ pauseDuringExecution: j.VIEWER_PAUSE_DURING_EXECUTION,
+ floatingPauseDuringExecution: j.FLOATING_VIEWER_PAUSE_DURING_EXECUTION,
+ mfvLiveDefault: j.MFV_LIVE_DEFAULT,
+ mfvPreviewDefault: j.MFV_PREVIEW_DEFAULT,
+ mfvTopbarButton: j.MFV_TOPBAR_BUTTON,
mfvSidebarPosition: "right",
- mfvPreviewMethod: N.MFV_PREVIEW_METHOD,
- mfvKjPreviewOverrideEnabled: N.MFV_KJ_PREVIEW_OVERRIDE_ENABLED,
+ mfvPreviewMethod: j.MFV_PREVIEW_METHOD,
+ mfvKjPreviewOverrideEnabled: j.MFV_KJ_PREVIEW_OVERRIDE_ENABLED,
ltxavRgbFallback: !1
},
browser: { showFolders: !1 },
rtHydrate: {
- concurrency: N.RT_HYDRATE_CONCURRENCY,
- queueMax: N.RT_HYDRATE_QUEUE_MAX,
- seenMax: N.RT_HYDRATE_SEEN_MAX,
- pruneBudget: N.RT_HYDRATE_PRUNE_BUDGET,
- seenTtlMs: N.RT_HYDRATE_SEEN_TTL_MS
+ concurrency: j.RT_HYDRATE_CONCURRENCY,
+ queueMax: j.RT_HYDRATE_QUEUE_MAX,
+ seenMax: j.RT_HYDRATE_SEEN_MAX,
+ pruneBudget: j.RT_HYDRATE_PRUNE_BUDGET,
+ seenTtlMs: j.RT_HYDRATE_SEEN_TTL_MS
},
observability: {
enabled: !1,
@@ -582,22 +582,22 @@ var F = (e, t) => {
verboseStartupLogs: !1
},
feed: {
- minSize: N.FEED_GRID_MIN_SIZE,
- showInfo: N.FEED_SHOW_INFO,
- showFilename: N.FEED_SHOW_FILENAME,
- showDimensions: N.FEED_SHOW_DIMENSIONS,
- showDate: N.FEED_SHOW_DATE,
- showGenTime: N.FEED_SHOW_GENTIME,
- showWorkflowDot: N.FEED_SHOW_WORKFLOW_DOT,
- showExtBadge: N.FEED_SHOW_BADGES_EXTENSION,
- showRatingBadge: N.FEED_SHOW_BADGES_RATING,
- showTagsBadge: N.FEED_SHOW_BADGES_TAGS
+ minSize: j.FEED_GRID_MIN_SIZE,
+ showInfo: j.FEED_SHOW_INFO,
+ showFilename: j.FEED_SHOW_FILENAME,
+ showDimensions: j.FEED_SHOW_DIMENSIONS,
+ showDate: j.FEED_SHOW_DATE,
+ showGenTime: j.FEED_SHOW_GENTIME,
+ showWorkflowDot: j.FEED_SHOW_WORKFLOW_DOT,
+ showExtBadge: j.FEED_SHOW_BADGES_EXTENSION,
+ showRatingBadge: j.FEED_SHOW_BADGES_RATING,
+ showTagsBadge: j.FEED_SHOW_BADGES_TAGS
},
sidebar: {
position: "right",
showPreviewThumb: !0,
widthPx: 360,
- assetBadgeEnabled: N.SIDEBAR_ASSET_BADGE_ENABLED
+ assetBadgeEnabled: j.SIDEBAR_ASSET_BADGE_ENABLED
},
integration: { hideNativeAssetsTab: !1 },
probeBackend: { mode: "auto" },
@@ -619,15 +619,15 @@ var F = (e, t) => {
},
ratingTagsSync: { enabled: !0 },
cache: { tagsTTLms: 3e4 },
- search: { maxResults: N.SEARCH_DEFAULT_LIMIT },
+ search: { maxResults: j.SEARCH_DEFAULT_LIMIT },
ai: {
vectorSearchEnabled: !0,
vectorCaptionOnIndex: !1,
verboseAiLogs: !1
},
- executionGrouping: { enabled: N.EXECUTION_GROUPING_ENABLED },
+ executionGrouping: { enabled: j.EXECUTION_GROUPING_ENABLED },
workflowMinimap: {
- enabled: N.WORKFLOW_MINIMAP_ENABLED,
+ enabled: j.WORKFLOW_MINIMAP_ENABLED,
nodeColors: !0,
showLinks: !0,
showGroups: !0,
@@ -638,10 +638,10 @@ var F = (e, t) => {
size: "comfortable"
},
ui: {
- cardHoverColor: N.UI_CARD_HOVER_COLOR,
- cardSelectionColor: N.UI_CARD_SELECTION_COLOR,
- ratingColor: N.UI_RATING_COLOR,
- tagColor: N.UI_TAG_COLOR
+ cardHoverColor: j.UI_CARD_HOVER_COLOR,
+ cardSelectionColor: j.UI_CARD_SELECTION_COLOR,
+ ratingColor: j.UI_RATING_COLOR,
+ tagColor: j.UI_TAG_COLOR
},
security: {
safeMode: !1,
@@ -657,26 +657,26 @@ var F = (e, t) => {
tokenConfigured: !1,
tokenHint: ""
}
-}, z = () => {
+}, R = () => {
try {
- let e = k.get(_e);
- if (!e) return { ...R };
+ let e = be.get(ce);
+ if (!e) return { ...L };
let t = JSON.parse(e), n = t && typeof t == "object" && Number.isInteger(t.version) && t.data && typeof t.data == "object";
- if (!n && (!t || typeof t != "object" || Array.isArray(t))) return { ...R };
- if (n && Number(t.version) > 1) return console.warn("[Majoor] settings schema version is newer than this build, using defaults"), { ...R };
+ if (!n && (!t || typeof t != "object" || Array.isArray(t))) return { ...L };
+ if (n && Number(t.version) > 1) return console.warn("[Majoor] settings schema version is newer than this build, using defaults"), { ...L };
let r = n ? t.data : t, i = /* @__PURE__ */ new Set(/* @__PURE__ */ "debug.grid.infiniteScroll.siblings.autoScan.scan.watcher.status.viewer.rtHydrate.observability.feed.sidebar.probeBackend.i18n.paths.db.ratingTagsSync.cache.search.ai.executionGrouping.workflowMinimap.ui.security.safety".split(".")), a = {};
if (r && typeof r == "object") for (let [e, t] of Object.entries(r)) i.has(e) && (a[e] = t);
- let o = Me(R, a);
+ let o = Ne(L, a);
if (!n) try {
- B(o);
+ z(o);
} catch (e) {
console.debug?.(e);
}
return o;
} catch (e) {
- return console.warn("[Majoor] settings load failed, using defaults", e), { ...R };
+ return console.warn("[Majoor] settings load failed, using defaults", e), { ...L };
}
-}, B = (e) => {
+}, z = (e) => {
try {
let t = JSON.parse(JSON.stringify(e || {}));
t?.security && typeof t.security == "object" && (t.security.apiToken = "");
@@ -684,117 +684,117 @@ var F = (e, t) => {
version: 1,
data: t
};
- if (!k.set("mjrSettings", JSON.stringify(n))) throw Error("SettingsStore rejected the write");
+ if (!be.set("mjrSettings", JSON.stringify(n))) throw Error("SettingsStore rejected the write");
} catch (e) {
console.warn("[Majoor] settings save failed", e);
try {
let e = Date.now();
- e - (Number(window?._mjrSettingsSaveFailAt || 0) || 0) > 3e4 && (window._mjrSettingsSaveFailAt = e, ze(M("dialog.settingsSaveFailed", "Majoor: Failed to save settings (browser storage full or blocked).")));
+ e - (Number(window?._mjrSettingsSaveFailAt || 0) || 0) > 3e4 && (window._mjrSettingsSaveFailAt = e, Be(M("dialog.settingsSaveFailed", "Majoor: Failed to save settings (browser storage full or blocked).")));
} catch (e) {
console.debug?.(e);
}
try {
- ke("mjr-settings-save-failed", { error: String(e?.message || e || "") }, { warnPrefix: "[Majoor]" });
+ Ae("mjr-settings-save-failed", { error: String(e?.message || e || "") }, { warnPrefix: "[Majoor]" });
} catch (e) {
console.debug?.(e);
}
}
-}, V = (e) => {
- let t = Number(N.MAX_PAGE_SIZE) || 2e3, n = Math.max(50, Math.min(t, Number(e.grid?.pageSize) || N.DEFAULT_PAGE_SIZE));
- P.DEFAULT_PAGE_SIZE = n, P.AUTO_SCAN_ON_STARTUP = !!e.autoScan?.onStartup, P.EXECUTION_GROUPING_ENABLED = !!(e.executionGrouping?.enabled ?? N.EXECUTION_GROUPING_ENABLED), P.STATUS_POLL_INTERVAL = Math.max(1e3, Number(e.status?.pollInterval) || N.STATUS_POLL_INTERVAL), P.DEBUG_SAFE_CALL = !!e.debug?.safeCall, P.DEBUG_SAFE_LISTENERS = !!e.debug?.safeListeners, P.DEBUG_VIEWER = !!e.debug?.viewer, P.GRID_MIN_SIZE = Ie(e.grid), P.FEED_GRID_MIN_SIZE = Le(e.feed), P.GRID_GAP = Math.max(0, Math.min(40, Math.round(I(e.grid?.gap, N.GRID_GAP)))), P.GRID_SHOW_BADGES_EXTENSION = !!(e.grid?.showExtBadge ?? N.GRID_SHOW_BADGES_EXTENSION), P.GRID_SHOW_BADGES_RATING = !!(e.grid?.showRatingBadge ?? N.GRID_SHOW_BADGES_RATING), P.GRID_SHOW_BADGES_TAGS = !!(e.grid?.showTagsBadge ?? N.GRID_SHOW_BADGES_TAGS), P.GRID_SHOW_DETAILS = !!(e.grid?.showDetails ?? N.GRID_SHOW_DETAILS), P.GRID_SHOW_DETAILS_FILENAME = !!(e.grid?.showFilename ?? N.GRID_SHOW_DETAILS_FILENAME), P.GRID_SHOW_DETAILS_DATE = !!(e.grid?.showDate ?? N.GRID_SHOW_DETAILS_DATE), P.GRID_SHOW_DETAILS_DIMENSIONS = !!(e.grid?.showDimensions ?? N.GRID_SHOW_DETAILS_DIMENSIONS), P.GRID_SHOW_DETAILS_GENTIME = !!(e.grid?.showGenTime ?? N.GRID_SHOW_DETAILS_GENTIME), P.GRID_SHOW_HOVER_INFO = !!(e.grid?.showHoverInfo ?? N.GRID_SHOW_HOVER_INFO), P.GRID_SHOW_WORKFLOW_DOT = !!(e.grid?.showWorkflowDot ?? N.GRID_SHOW_WORKFLOW_DOT);
+}, B = (e) => {
+ let t = Number(j.MAX_PAGE_SIZE) || 2e3, n = Math.max(50, Math.min(t, Number(e.grid?.pageSize) || j.DEFAULT_PAGE_SIZE));
+ N.DEFAULT_PAGE_SIZE = n, N.AUTO_SCAN_ON_STARTUP = !!e.autoScan?.onStartup, N.EXECUTION_GROUPING_ENABLED = !!(e.executionGrouping?.enabled ?? j.EXECUTION_GROUPING_ENABLED), N.STATUS_POLL_INTERVAL = Math.max(1e3, Number(e.status?.pollInterval) || j.STATUS_POLL_INTERVAL), N.DEBUG_SAFE_CALL = !!e.debug?.safeCall, N.DEBUG_SAFE_LISTENERS = !!e.debug?.safeListeners, N.DEBUG_VIEWER = !!e.debug?.viewer, N.GRID_MIN_SIZE = Le(e.grid), N.FEED_GRID_MIN_SIZE = Re(e.feed), N.GRID_GAP = Math.max(0, Math.min(40, Math.round(F(e.grid?.gap, j.GRID_GAP)))), N.GRID_SHOW_BADGES_EXTENSION = !!(e.grid?.showExtBadge ?? j.GRID_SHOW_BADGES_EXTENSION), N.GRID_SHOW_BADGES_RATING = !!(e.grid?.showRatingBadge ?? j.GRID_SHOW_BADGES_RATING), N.GRID_SHOW_BADGES_TAGS = !!(e.grid?.showTagsBadge ?? j.GRID_SHOW_BADGES_TAGS), N.GRID_SHOW_DETAILS = !!(e.grid?.showDetails ?? j.GRID_SHOW_DETAILS), N.GRID_SHOW_DETAILS_FILENAME = !!(e.grid?.showFilename ?? j.GRID_SHOW_DETAILS_FILENAME), N.GRID_SHOW_DETAILS_DATE = !!(e.grid?.showDate ?? j.GRID_SHOW_DETAILS_DATE), N.GRID_SHOW_DETAILS_DIMENSIONS = !!(e.grid?.showDimensions ?? j.GRID_SHOW_DETAILS_DIMENSIONS), N.GRID_SHOW_DETAILS_GENTIME = !!(e.grid?.showGenTime ?? j.GRID_SHOW_DETAILS_GENTIME), N.GRID_SHOW_HOVER_INFO = !!(e.grid?.showHoverInfo ?? j.GRID_SHOW_HOVER_INFO), N.GRID_SHOW_WORKFLOW_DOT = !!(e.grid?.showWorkflowDot ?? j.GRID_SHOW_WORKFLOW_DOT);
{
- let t = String(e.grid?.workflowGroupBy ?? N.WORKFLOW_GRID_GROUP_BY).toLowerCase();
- P.WORKFLOW_GRID_GROUP_BY = [
+ let t = String(e.grid?.workflowGroupBy ?? j.WORKFLOW_GRID_GROUP_BY).toLowerCase();
+ N.WORKFLOW_GRID_GROUP_BY = [
"none",
"task",
"model",
"category"
- ].includes(t) ? t : N.WORKFLOW_GRID_GROUP_BY;
+ ].includes(t) ? t : j.WORKFLOW_GRID_GROUP_BY;
}
- P.FEED_SHOW_INFO = !!(e.feed?.showInfo ?? N.FEED_SHOW_INFO), P.FEED_SHOW_FILENAME = !!(e.feed?.showFilename ?? N.FEED_SHOW_FILENAME), P.FEED_SHOW_DIMENSIONS = !!(e.feed?.showDimensions ?? N.FEED_SHOW_DIMENSIONS), P.FEED_SHOW_DATE = !!(e.feed?.showDate ?? N.FEED_SHOW_DATE), P.FEED_SHOW_GENTIME = !!(e.feed?.showGenTime ?? N.FEED_SHOW_GENTIME), P.FEED_SHOW_WORKFLOW_DOT = !!(e.feed?.showWorkflowDot ?? N.FEED_SHOW_WORKFLOW_DOT), P.FEED_SHOW_BADGES_EXTENSION = !!(e.feed?.showExtBadge ?? N.FEED_SHOW_BADGES_EXTENSION), P.FEED_SHOW_BADGES_RATING = !!(e.feed?.showRatingBadge ?? N.FEED_SHOW_BADGES_RATING), P.FEED_SHOW_BADGES_TAGS = !!(e.feed?.showTagsBadge ?? N.FEED_SHOW_BADGES_TAGS);
+ N.FEED_SHOW_INFO = !!(e.feed?.showInfo ?? j.FEED_SHOW_INFO), N.FEED_SHOW_FILENAME = !!(e.feed?.showFilename ?? j.FEED_SHOW_FILENAME), N.FEED_SHOW_DIMENSIONS = !!(e.feed?.showDimensions ?? j.FEED_SHOW_DIMENSIONS), N.FEED_SHOW_DATE = !!(e.feed?.showDate ?? j.FEED_SHOW_DATE), N.FEED_SHOW_GENTIME = !!(e.feed?.showGenTime ?? j.FEED_SHOW_GENTIME), N.FEED_SHOW_WORKFLOW_DOT = !!(e.feed?.showWorkflowDot ?? j.FEED_SHOW_WORKFLOW_DOT), N.FEED_SHOW_BADGES_EXTENSION = !!(e.feed?.showExtBadge ?? j.FEED_SHOW_BADGES_EXTENSION), N.FEED_SHOW_BADGES_RATING = !!(e.feed?.showRatingBadge ?? j.FEED_SHOW_BADGES_RATING), N.FEED_SHOW_BADGES_TAGS = !!(e.feed?.showTagsBadge ?? j.FEED_SHOW_BADGES_TAGS);
{
- let t = e.grid?.videoAutoplayMode ?? N.GRID_VIDEO_AUTOPLAY_MODE;
- t ??= e.grid?.videoHoverAutoplay === !1 ? "off" : "hover", t === !0 && (t = "hover"), t === !1 && (t = "off"), t !== "hover" && t !== "always" && t !== "off" && (t = "hover"), P.GRID_VIDEO_AUTOPLAY_MODE = t;
+ let t = e.grid?.videoAutoplayMode ?? j.GRID_VIDEO_AUTOPLAY_MODE;
+ t ??= e.grid?.videoHoverAutoplay === !1 ? "off" : "hover", t === !0 && (t = "hover"), t === !1 && (t = "off"), t !== "hover" && t !== "always" && t !== "off" && (t = "hover"), N.GRID_VIDEO_AUTOPLAY_MODE = t;
}
let r = (e, t) => {
let n = String(e || "").trim();
return /^[0-9a-fA-F]{6}$/.test(n) && (n = `#${n}`), /^#[0-9a-fA-F]{3,8}$/.test(n) ? n : t;
};
- P.BADGE_STAR_COLOR = r(e.grid?.starColor, N.BADGE_STAR_COLOR), P.BADGE_IMAGE_COLOR = r(e.grid?.badgeImageColor, N.BADGE_IMAGE_COLOR), P.BADGE_VIDEO_COLOR = r(e.grid?.badgeVideoColor, N.BADGE_VIDEO_COLOR), P.BADGE_AUDIO_COLOR = r(e.grid?.badgeAudioColor, N.BADGE_AUDIO_COLOR), P.BADGE_MODEL3D_COLOR = r(e.grid?.badgeModel3dColor, N.BADGE_MODEL3D_COLOR), P.BADGE_DUPLICATE_ALERT_COLOR = r(e.grid?.badgeDuplicateAlertColor, N.BADGE_DUPLICATE_ALERT_COLOR), P.UI_CARD_HOVER_COLOR = r(e.ui?.cardHoverColor, N.UI_CARD_HOVER_COLOR), P.UI_CARD_SELECTION_COLOR = r(e.ui?.cardSelectionColor, N.UI_CARD_SELECTION_COLOR), P.UI_RATING_COLOR = r(e.ui?.ratingColor, N.UI_RATING_COLOR), P.UI_TAG_COLOR = r(e.ui?.tagColor, N.UI_TAG_COLOR);
+ N.BADGE_STAR_COLOR = r(e.grid?.starColor, j.BADGE_STAR_COLOR), N.BADGE_IMAGE_COLOR = r(e.grid?.badgeImageColor, j.BADGE_IMAGE_COLOR), N.BADGE_VIDEO_COLOR = r(e.grid?.badgeVideoColor, j.BADGE_VIDEO_COLOR), N.BADGE_AUDIO_COLOR = r(e.grid?.badgeAudioColor, j.BADGE_AUDIO_COLOR), N.BADGE_MODEL3D_COLOR = r(e.grid?.badgeModel3dColor, j.BADGE_MODEL3D_COLOR), N.BADGE_DUPLICATE_ALERT_COLOR = r(e.grid?.badgeDuplicateAlertColor, j.BADGE_DUPLICATE_ALERT_COLOR), N.UI_CARD_HOVER_COLOR = r(e.ui?.cardHoverColor, j.UI_CARD_HOVER_COLOR), N.UI_CARD_SELECTION_COLOR = r(e.ui?.cardSelectionColor, j.UI_CARD_SELECTION_COLOR), N.UI_RATING_COLOR = r(e.ui?.ratingColor, j.UI_RATING_COLOR), N.UI_TAG_COLOR = r(e.ui?.tagColor, j.UI_TAG_COLOR);
try {
let e = Array.from(document.querySelectorAll(".mjr-assets-manager"));
- for (let t of e) t.style.setProperty("--mjr-star-active", P.BADGE_STAR_COLOR), t.style.setProperty("--mjr-badge-image", P.BADGE_IMAGE_COLOR), t.style.setProperty("--mjr-badge-video", P.BADGE_VIDEO_COLOR), t.style.setProperty("--mjr-badge-audio", P.BADGE_AUDIO_COLOR), t.style.setProperty("--mjr-badge-model3d", P.BADGE_MODEL3D_COLOR), t.style.setProperty("--mjr-badge-duplicate-alert", P.BADGE_DUPLICATE_ALERT_COLOR), t.style.setProperty("--mjr-card-hover-color", P.UI_CARD_HOVER_COLOR), t.style.setProperty("--mjr-card-selection-color", P.UI_CARD_SELECTION_COLOR), t.style.setProperty("--mjr-rating-color", P.UI_RATING_COLOR), t.style.setProperty("--mjr-tag-color", P.UI_TAG_COLOR);
+ for (let t of e) t.style.setProperty("--mjr-star-active", N.BADGE_STAR_COLOR), t.style.setProperty("--mjr-badge-image", N.BADGE_IMAGE_COLOR), t.style.setProperty("--mjr-badge-video", N.BADGE_VIDEO_COLOR), t.style.setProperty("--mjr-badge-audio", N.BADGE_AUDIO_COLOR), t.style.setProperty("--mjr-badge-model3d", N.BADGE_MODEL3D_COLOR), t.style.setProperty("--mjr-badge-duplicate-alert", N.BADGE_DUPLICATE_ALERT_COLOR), t.style.setProperty("--mjr-card-hover-color", N.UI_CARD_HOVER_COLOR), t.style.setProperty("--mjr-card-selection-color", N.UI_CARD_SELECTION_COLOR), t.style.setProperty("--mjr-rating-color", N.UI_RATING_COLOR), t.style.setProperty("--mjr-tag-color", N.UI_TAG_COLOR);
} catch (e) {
console.debug?.(e);
}
- P.INFINITE_SCROLL_ENABLED = !!e.infiniteScroll?.enabled, P.INFINITE_SCROLL_ROOT_MARGIN = String(e.infiniteScroll?.rootMargin || N.INFINITE_SCROLL_ROOT_MARGIN), P.INFINITE_SCROLL_THRESHOLD = Math.max(0, Math.min(1, I(e.infiniteScroll?.threshold, N.INFINITE_SCROLL_THRESHOLD))), P.BOTTOM_GAP_PX = Math.max(0, Math.min(5e3, Math.round(I(e.infiniteScroll?.bottomGapPx, N.BOTTOM_GAP_PX)))), P.VIEWER_PAUSE_DURING_EXECUTION = !!(e.viewer?.pauseDuringExecution ?? N.VIEWER_PAUSE_DURING_EXECUTION), P.FLOATING_VIEWER_PAUSE_DURING_EXECUTION = !!(e.viewer?.floatingPauseDuringExecution ?? N.FLOATING_VIEWER_PAUSE_DURING_EXECUTION), P.MFV_LIVE_DEFAULT = e.viewer?.mfvLiveDefault ?? N.MFV_LIVE_DEFAULT, P.MFV_PREVIEW_DEFAULT = e.viewer?.mfvPreviewDefault ?? N.MFV_PREVIEW_DEFAULT, P.MFV_KJ_PREVIEW_OVERRIDE_ENABLED = !!(e.viewer?.mfvKjPreviewOverrideEnabled ?? N.MFV_KJ_PREVIEW_OVERRIDE_ENABLED), P.MFV_TOPBAR_BUTTON = !!(e.viewer?.mfvTopbarButton ?? N.MFV_TOPBAR_BUTTON), P.MFV_LIVE_AUTO_OPEN = !1, P.MFV_PREVIEW_AUTO_OPEN = !1, P.MFV_NODE_STREAM_AUTO_OPEN = !1;
+ N.INFINITE_SCROLL_ENABLED = !!e.infiniteScroll?.enabled, N.INFINITE_SCROLL_ROOT_MARGIN = String(e.infiniteScroll?.rootMargin || j.INFINITE_SCROLL_ROOT_MARGIN), N.INFINITE_SCROLL_THRESHOLD = Math.max(0, Math.min(1, F(e.infiniteScroll?.threshold, j.INFINITE_SCROLL_THRESHOLD))), N.BOTTOM_GAP_PX = Math.max(0, Math.min(5e3, Math.round(F(e.infiniteScroll?.bottomGapPx, j.BOTTOM_GAP_PX)))), N.VIEWER_PAUSE_DURING_EXECUTION = !!(e.viewer?.pauseDuringExecution ?? j.VIEWER_PAUSE_DURING_EXECUTION), N.FLOATING_VIEWER_PAUSE_DURING_EXECUTION = !!(e.viewer?.floatingPauseDuringExecution ?? j.FLOATING_VIEWER_PAUSE_DURING_EXECUTION), N.MFV_LIVE_DEFAULT = e.viewer?.mfvLiveDefault ?? j.MFV_LIVE_DEFAULT, N.MFV_PREVIEW_DEFAULT = e.viewer?.mfvPreviewDefault ?? j.MFV_PREVIEW_DEFAULT, N.MFV_KJ_PREVIEW_OVERRIDE_ENABLED = !!(e.viewer?.mfvKjPreviewOverrideEnabled ?? j.MFV_KJ_PREVIEW_OVERRIDE_ENABLED), N.MFV_TOPBAR_BUTTON = !!(e.viewer?.mfvTopbarButton ?? j.MFV_TOPBAR_BUTTON), N.MFV_LIVE_AUTO_OPEN = !1, N.MFV_PREVIEW_AUTO_OPEN = !1, N.MFV_NODE_STREAM_AUTO_OPEN = !1;
{
- let t = String(e.viewer?.mfvPreviewMethod || N.MFV_PREVIEW_METHOD).toLowerCase();
- P.MFV_PREVIEW_METHOD = [
+ let t = String(e.viewer?.mfvPreviewMethod || j.MFV_PREVIEW_METHOD).toLowerCase();
+ N.MFV_PREVIEW_METHOD = [
"default",
"auto",
"latent2rgb",
"taesd",
"none"
- ].includes(t) ? t : N.MFV_PREVIEW_METHOD;
+ ].includes(t) ? t : j.MFV_PREVIEW_METHOD;
}
{
let t = String(e.viewer?.mfvSidebarPosition || "right").toLowerCase();
- P.MFV_SIDEBAR_POSITION = [
+ N.MFV_SIDEBAR_POSITION = [
"left",
"right",
"bottom"
].includes(t) ? t : "right";
}
- P.WORKFLOW_MINIMAP_ENABLED = !!(e.workflowMinimap?.enabled ?? N.WORKFLOW_MINIMAP_ENABLED), P.RT_HYDRATE_CONCURRENCY = Math.max(1, Math.min(16, Math.round(I(e.rtHydrate?.concurrency, N.RT_HYDRATE_CONCURRENCY)))), P.RT_HYDRATE_QUEUE_MAX = Math.max(10, Math.min(5e3, Math.round(I(e.rtHydrate?.queueMax, N.RT_HYDRATE_QUEUE_MAX)))), P.RT_HYDRATE_SEEN_MAX = Math.max(1e3, Math.min(2e5, Math.round(I(e.rtHydrate?.seenMax, N.RT_HYDRATE_SEEN_MAX)))), P.RT_HYDRATE_PRUNE_BUDGET = Math.max(10, Math.min(1e4, Math.round(I(e.rtHydrate?.pruneBudget, N.RT_HYDRATE_PRUNE_BUDGET)))), P.RT_HYDRATE_SEEN_TTL_MS = Math.max(5e3, Math.min(216e5, Math.round(I(e.rtHydrate?.seenTtlMs, N.RT_HYDRATE_SEEN_TTL_MS)))), P.DELETE_CONFIRMATION = !!e.safety?.confirmDeletion, P.DEBUG_VERBOSE_ERRORS = !!e.observability?.verboseErrors, P.WATCHER_MAX_PENDING = Math.max(10, Math.min(5e3, Math.round(I(e.watcher?.maxPending, 500)))), P.WATCHER_MIN_SIZE = Math.max(0, Math.min(1e6, Math.round(I(e.watcher?.minSize, 100)))), P.WATCHER_MAX_SIZE = Math.max(1e5, Math.min(17179869184, Math.round(I(e.watcher?.maxSize, 4294967296)))), P.DB_TIMEOUT_MS = Math.max(1e3, Math.min(3e4, Math.round(I(e.db?.timeoutMs, 5e3)))), P.DB_MAX_CONNECTIONS = Math.max(1, Math.min(100, Math.round(I(e.db?.maxConnections, 10)))), P.DB_QUERY_TIMEOUT_MS = Math.max(500, Math.min(1e4, Math.round(I(e.db?.queryTimeoutMs, 1e3)))), P.SIDEBAR_ASSET_BADGE_ENABLED = !!(e.sidebar?.assetBadgeEnabled ?? N.SIDEBAR_ASSET_BADGE_ENABLED), P.SEARCH_REQUEST_LIMIT = Math.max(10, Math.min(N.MAX_PAGE_SIZE || 2e3, Math.round(I(e.search?.maxResults, N.SEARCH_DEFAULT_LIMIT))));
+ N.WORKFLOW_MINIMAP_ENABLED = !!(e.workflowMinimap?.enabled ?? j.WORKFLOW_MINIMAP_ENABLED), N.RT_HYDRATE_CONCURRENCY = Math.max(1, Math.min(16, Math.round(F(e.rtHydrate?.concurrency, j.RT_HYDRATE_CONCURRENCY)))), N.RT_HYDRATE_QUEUE_MAX = Math.max(10, Math.min(5e3, Math.round(F(e.rtHydrate?.queueMax, j.RT_HYDRATE_QUEUE_MAX)))), N.RT_HYDRATE_SEEN_MAX = Math.max(1e3, Math.min(2e5, Math.round(F(e.rtHydrate?.seenMax, j.RT_HYDRATE_SEEN_MAX)))), N.RT_HYDRATE_PRUNE_BUDGET = Math.max(10, Math.min(1e4, Math.round(F(e.rtHydrate?.pruneBudget, j.RT_HYDRATE_PRUNE_BUDGET)))), N.RT_HYDRATE_SEEN_TTL_MS = Math.max(5e3, Math.min(216e5, Math.round(F(e.rtHydrate?.seenTtlMs, j.RT_HYDRATE_SEEN_TTL_MS)))), N.DELETE_CONFIRMATION = !!e.safety?.confirmDeletion, N.DEBUG_VERBOSE_ERRORS = !!e.observability?.verboseErrors, N.WATCHER_MAX_PENDING = Math.max(10, Math.min(5e3, Math.round(F(e.watcher?.maxPending, 500)))), N.WATCHER_MIN_SIZE = Math.max(0, Math.min(1e6, Math.round(F(e.watcher?.minSize, 100)))), N.WATCHER_MAX_SIZE = Math.max(1e5, Math.min(17179869184, Math.round(F(e.watcher?.maxSize, 4294967296)))), N.DB_TIMEOUT_MS = Math.max(1e3, Math.min(3e4, Math.round(F(e.db?.timeoutMs, 5e3)))), N.DB_MAX_CONNECTIONS = Math.max(1, Math.min(100, Math.round(F(e.db?.maxConnections, 10)))), N.DB_QUERY_TIMEOUT_MS = Math.max(500, Math.min(1e4, Math.round(F(e.db?.queryTimeoutMs, 1e3)))), N.SIDEBAR_ASSET_BADGE_ENABLED = !!(e.sidebar?.assetBadgeEnabled ?? j.SIDEBAR_ASSET_BADGE_ENABLED), N.SEARCH_REQUEST_LIMIT = Math.max(10, Math.min(j.MAX_PAGE_SIZE || 2e3, Math.round(F(e.search?.maxResults, j.SEARCH_DEFAULT_LIMIT))));
};
-async function rt() {
+async function it() {
try {
- let e = await D();
+ let e = await re();
if (!e?.ok) return;
let t = e.data?.prefs;
if (!t || typeof t != "object") return;
- let n = z();
- if (n.security = n.security || {}, n.security.safeMode = F(t.safe_mode, n.security.safeMode), n.security.allowWrite = F(t.allow_write, n.security.allowWrite), n.security.requireAuth = F(t.require_auth, n.security.requireAuth), n.security.allowRemoteWrite = F(t.allow_remote_write, n.security.allowRemoteWrite), n.security.allowInsecureTokenTransport = F(t.allow_insecure_token_transport, n.security.allowInsecureTokenTransport), n.security.allowDelete = F(t.allow_delete, n.security.allowDelete), n.security.allowRename = F(t.allow_rename, n.security.allowRename), n.security.allowOpenInFolder = F(t.allow_open_in_folder, n.security.allowOpenInFolder), n.security.allowResetIndex = F(t.allow_reset_index, n.security.allowResetIndex), n.security.tokenConfigured = F(t.token_configured, n.security.tokenConfigured), n.security.tokenHint = String(t.token_hint || "").trim(), !String(n.security.apiToken || "").trim()) try {
- let e = await fe(), t = String(e?.data?.token || "").trim();
- e?.ok && t && w(t);
+ let n = R();
+ if (n.security = n.security || {}, n.security.safeMode = P(t.safe_mode, n.security.safeMode), n.security.allowWrite = P(t.allow_write, n.security.allowWrite), n.security.requireAuth = P(t.require_auth, n.security.requireAuth), n.security.allowRemoteWrite = P(t.allow_remote_write, n.security.allowRemoteWrite), n.security.allowInsecureTokenTransport = P(t.allow_insecure_token_transport, n.security.allowInsecureTokenTransport), n.security.allowDelete = P(t.allow_delete, n.security.allowDelete), n.security.allowRename = P(t.allow_rename, n.security.allowRename), n.security.allowOpenInFolder = P(t.allow_open_in_folder, n.security.allowOpenInFolder), n.security.allowResetIndex = P(t.allow_reset_index, n.security.allowResetIndex), n.security.tokenConfigured = P(t.token_configured, n.security.tokenConfigured), n.security.tokenHint = String(t.token_hint || "").trim(), !String(n.security.apiToken || "").trim()) try {
+ let e = await pe(), t = String(e?.data?.token || "").trim();
+ e?.ok && t && c(t);
} catch (e) {
console.debug?.(e);
}
- B(n), V(n), ke("mjr-settings-changed", { key: "security" }, { warnPrefix: "[Majoor]" });
+ z(n), B(n), Ae("mjr-settings-changed", { key: "security" }, { warnPrefix: "[Majoor]" });
} catch (e) {
console.warn("[Majoor] failed to sync backend security settings", e);
}
}
-async function it() {
+async function at() {
try {
- let t = await e();
- if (!t?.ok) return;
- let n = t.data?.prefs;
- if (!n || typeof n != "object") return;
- let r = z();
- r.ai = r.ai || {}, r.ai.vectorSearchEnabled = F(n.enabled, r.ai.vectorSearchEnabled ?? !0), r.ai.vectorCaptionOnIndex = F(n.caption_on_index ?? n.captionOnIndex, r.ai.vectorCaptionOnIndex ?? !1), r.ai.vectorIndexOnScan = F(n.index_on_scan ?? n.indexOnScan, r.ai.vectorIndexOnScan ?? !1), r.ai.vectorUnloadAfterUse = F(n.unload_after_use ?? n.unloadAfterUse, r.ai.vectorUnloadAfterUse ?? !1), r.ai.vectorConcurrency = Math.max(1, Math.min(16, Math.floor(Number(n.concurrency ?? r.ai.vectorConcurrency ?? 1) || 1))), B(r), V(r), ke("mjr-settings-changed", { key: "ai.vectorSearch" }, { warnPrefix: "[Majoor]" });
+ let e = await Ce();
+ if (!e?.ok) return;
+ let t = e.data?.prefs;
+ if (!t || typeof t != "object") return;
+ let n = R();
+ n.ai = n.ai || {}, n.ai.vectorSearchEnabled = P(t.enabled, n.ai.vectorSearchEnabled ?? !0), n.ai.vectorCaptionOnIndex = P(t.caption_on_index ?? t.captionOnIndex, n.ai.vectorCaptionOnIndex ?? !1), n.ai.vectorIndexOnScan = P(t.index_on_scan ?? t.indexOnScan, n.ai.vectorIndexOnScan ?? !1), n.ai.vectorUnloadAfterUse = P(t.unload_after_use ?? t.unloadAfterUse, n.ai.vectorUnloadAfterUse ?? !1), n.ai.vectorConcurrency = Math.max(1, Math.min(16, Math.floor(Number(t.concurrency ?? n.ai.vectorConcurrency ?? 1) || 1))), z(n), B(n), Ae("mjr-settings-changed", { key: "ai.vectorSearch" }, { warnPrefix: "[Majoor]" });
} catch (e) {
console.warn("[Majoor] failed to sync backend vector search settings", e);
}
}
-async function at() {
+async function ot() {
try {
- let e = await n();
+ let e = await E();
if (!e?.ok) return;
let t = e.data?.prefs;
if (!t || typeof t != "object") return;
- let r = z();
- r.executionGrouping = r.executionGrouping || {}, r.executionGrouping.enabled = F(t.enabled, r.executionGrouping.enabled ?? N.EXECUTION_GROUPING_ENABLED), B(r), V(r), ke("mjr-settings-changed", { key: "executionGrouping.enabled" }, { warnPrefix: "[Majoor]" });
+ let n = R();
+ n.executionGrouping = n.executionGrouping || {}, n.executionGrouping.enabled = P(t.enabled, n.executionGrouping.enabled ?? j.EXECUTION_GROUPING_ENABLED), z(n), B(n), Ae("mjr-settings-changed", { key: "executionGrouping.enabled" }, { warnPrefix: "[Majoor]" });
} catch (e) {
console.warn("[Majoor] failed to sync backend execution grouping settings", e);
}
}
// ui/app/settings/settingsRuntime.ts
-var ot = "mjr-runtime-status-dashboard", st = 3e4;
-function ct() {
+var st = "mjr-runtime-status-dashboard", ct = 3e4;
+function lt() {
try {
- let e = z(), t = String(e?.observability?.runtimeDashboardMode || R.observability.runtimeDashboardMode);
+ let e = R(), t = String(e?.observability?.runtimeDashboardMode || L.observability.runtimeDashboardMode);
return [
"autoHide30",
"always",
@@ -804,28 +804,28 @@ function ct() {
return "autoHide30";
}
}
-function lt() {
+function ut() {
try {
- document.getElementById(ot)?.remove?.();
+ document.getElementById(st)?.remove?.();
} catch (e) {
console.debug?.(e);
}
}
-function ut() {
+function dt() {
try {
window.__MJR_RUNTIME_STATUS_HIDE_TIMEOUT__ && (clearTimeout(window.__MJR_RUNTIME_STATUS_HIDE_TIMEOUT__), window.__MJR_RUNTIME_STATUS_HIDE_TIMEOUT__ = null);
} catch (e) {
console.debug?.(e);
}
}
-function dt(e, t) {
+function ft(e, t) {
let n = t === "auth" ? "__mjrAuthLine" : "__mjrMetricsLine";
if (e?.[n]) return e[n];
let r = document.createElement("div");
return r.style.whiteSpace = "nowrap", r.style.lineHeight = "1.35", t === "auth" && (r.style.marginTop = "4px", r.style.fontWeight = "600"), e.appendChild(r), e[n] = r, r;
}
-function ft(e) {
- let t = String(e?.token_hint || "").trim(), n = f(), r = t || (n ? "(session)" : ""), i = e?.allow_write !== !1, a = e?.require_auth === !0, o = e?.token_configured === !0;
+function pt(e) {
+ let t = String(e?.token_hint || "").trim(), n = D(), r = t || (n ? "(session)" : ""), i = e?.allow_write !== !1, a = e?.require_auth === !0, o = e?.token_configured === !0;
return i ? n ? {
text: M("runtime.writeAuthActive", "Write auth: active {tokenHint}", { tokenHint: r || "(session)" }),
color: "#7ee0a0"
@@ -846,10 +846,10 @@ function ft(e) {
color: "#ff9b9b"
};
}
-function pt() {
+function mt() {
try {
- if (ct() === "hidden" || window.__MJR_RUNTIME_STATUS_HIDDEN__) return lt(), null;
- let e = document.querySelector(".mjr-assets-manager.mjr-am-container"), t = document.getElementById(ot);
+ if (lt() === "hidden" || window.__MJR_RUNTIME_STATUS_HIDDEN__) return ut(), null;
+ let e = document.querySelector(".mjr-assets-manager.mjr-am-container"), t = document.getElementById(st);
if (!e) {
try {
t?.remove?.();
@@ -864,18 +864,18 @@ function pt() {
} catch (e) {
console.debug?.(e);
}
- let n = document.getElementById(ot);
- return n ? n.parentElement !== e && e.appendChild(n) : (n = document.createElement("div"), n.id = ot, n.style.position = "absolute", n.style.bottom = "10px", n.style.right = "10px", n.style.zIndex = "9999", n.style.padding = "6px 10px", n.style.borderRadius = "10px", n.style.border = "1px solid rgba(255,255,255,0.16)", n.style.background = "rgba(0,0,0,0.45)", n.style.backdropFilter = "blur(4px)", n.style.color = "var(--content-fg, #fff)", n.style.fontSize = "11px", n.style.pointerEvents = "none", n.style.display = "flex", n.style.flexDirection = "column", e.appendChild(n)), n;
+ let n = document.getElementById(st);
+ return n ? n.parentElement !== e && e.appendChild(n) : (n = document.createElement("div"), n.id = st, n.style.position = "absolute", n.style.bottom = "10px", n.style.right = "10px", n.style.zIndex = "9999", n.style.padding = "6px 10px", n.style.borderRadius = "10px", n.style.border = "1px solid rgba(255,255,255,0.16)", n.style.background = "rgba(0,0,0,0.45)", n.style.backdropFilter = "blur(4px)", n.style.color = "var(--content-fg, #fff)", n.style.fontSize = "11px", n.style.pointerEvents = "none", n.style.display = "flex", n.style.flexDirection = "column", e.appendChild(n)), n;
} catch {
return null;
}
}
-async function mt() {
- let e = pt();
+async function ht() {
+ let e = mt();
if (!e) return !1;
- let t = dt(e, "metrics"), n = dt(e, "auth");
+ let t = ft(e, "metrics"), n = ft(e, "auth");
try {
- let [r, i] = await Promise.all([O(), D()]), a = M("runtime.unavailable", "Runtime: unavailable");
+ let [r, i] = await Promise.all([O(), re()]), a = M("runtime.unavailable", "Runtime: unavailable");
if (!r?.ok || !r?.data) t.textContent = a;
else {
let e = r.data.db || {}, n = r.data.index || {}, i = r.data.watcher || {}, o = Number(e.active_connections || 0), s = Number(n.enrichment_queue_length || 0), c = Number(i.pending_files || 0);
@@ -889,27 +889,27 @@ async function mt() {
pending: c
});
}
- let o = ft(i?.data?.prefs || null);
+ let o = pt(i?.data?.prefs || null);
return n.textContent = o.text, n.style.color = o.color, e.title = `${a}\n${o.text}`, !0;
} catch {
return t.textContent = M("runtime.unavailable", "Runtime: unavailable"), n.textContent = M("runtime.writeAuthUnknown", "Write auth: unknown"), n.style.color = "#c8ced8", e.title = `${M("runtime.unavailable", "Runtime: unavailable")}\n${n.textContent}`, !0;
}
}
-function ht() {
+function gt() {
try {
- let e = ct();
+ let e = lt();
if (e === "hidden") {
- window.__MJR_RUNTIME_STATUS_HIDDEN__ = !0, ut(), lt();
+ window.__MJR_RUNTIME_STATUS_HIDDEN__ = !0, dt(), ut();
return;
}
window.__MJR_RUNTIME_STATUS_SETTINGS_LISTENER__ || (window.__MJR_RUNTIME_STATUS_SETTINGS_LISTENER__ = (e) => {
if (e?.detail?.key !== "observability.runtimeDashboardMode") return;
- let t = ct();
- window.__MJR_RUNTIME_STATUS_HIDDEN__ = t === "hidden", ut(), lt(), t !== "hidden" && ht();
- }, window.addEventListener?.("mjr-settings-changed", window.__MJR_RUNTIME_STATUS_SETTINGS_LISTENER__)), window.__MJR_RUNTIME_STATUS_HIDDEN__ = !1, ut(), e === "autoHide30" && (window.__MJR_RUNTIME_STATUS_HIDE_TIMEOUT__ = setTimeout(() => {
- window.__MJR_RUNTIME_STATUS_HIDDEN__ = !0, lt();
- }, st)), mt().catch(() => {}), window.__MJR_RUNTIME_STATUS_INFLIGHT__ ?? (window.__MJR_RUNTIME_STATUS_INFLIGHT__ = !1), window.__MJR_RUNTIME_STATUS_MISS_COUNT__ ?? (window.__MJR_RUNTIME_STATUS_MISS_COUNT__ = 0), window.__MJR_RUNTIME_STATUS_INTERVAL__ || (window.__MJR_RUNTIME_STATUS_INTERVAL__ = setInterval(() => {
- window.__MJR_RUNTIME_STATUS_INFLIGHT__ || (window.__MJR_RUNTIME_STATUS_INFLIGHT__ = !0, mt().then((e) => {
+ let t = lt();
+ window.__MJR_RUNTIME_STATUS_HIDDEN__ = t === "hidden", dt(), ut(), t !== "hidden" && gt();
+ }, window.addEventListener?.("mjr-settings-changed", window.__MJR_RUNTIME_STATUS_SETTINGS_LISTENER__)), window.__MJR_RUNTIME_STATUS_HIDDEN__ = !1, dt(), e === "autoHide30" && (window.__MJR_RUNTIME_STATUS_HIDE_TIMEOUT__ = setTimeout(() => {
+ window.__MJR_RUNTIME_STATUS_HIDDEN__ = !0, ut();
+ }, ct)), ht().catch(() => {}), window.__MJR_RUNTIME_STATUS_INFLIGHT__ ?? (window.__MJR_RUNTIME_STATUS_INFLIGHT__ = !1), window.__MJR_RUNTIME_STATUS_MISS_COUNT__ ?? (window.__MJR_RUNTIME_STATUS_MISS_COUNT__ = 0), window.__MJR_RUNTIME_STATUS_INTERVAL__ || (window.__MJR_RUNTIME_STATUS_INTERVAL__ = setInterval(() => {
+ window.__MJR_RUNTIME_STATUS_INFLIGHT__ || (window.__MJR_RUNTIME_STATUS_INFLIGHT__ = !0, ht().then((e) => {
e ? window.__MJR_RUNTIME_STATUS_MISS_COUNT__ = 0 : window.__MJR_RUNTIME_STATUS_MISS_COUNT__ = Number(window.__MJR_RUNTIME_STATUS_MISS_COUNT__ || 0) + 1;
}).catch(() => {}).finally(() => {
window.__MJR_RUNTIME_STATUS_INFLIGHT__ = !1;
@@ -920,8 +920,8 @@ function ht() {
}
}
// ui/utils/debounce.ts
-var gt = 300;
-function _t(e, t = gt) {
+var _t = 300;
+function vt(e, t = _t) {
let n, r = (...r) => {
clearTimeout(n), n = setTimeout(() => e(...r), t);
};
@@ -932,77 +932,77 @@ function _t(e, t = gt) {
}, r;
}
// ui/features/runtime/nativeAssetsTab.ts
-var vt = /* @__PURE__ */ new Set([
+var yt = /* @__PURE__ */ new Set([
"assets",
"media-assets",
"assets-sidebar"
-]), yt = [
+]), bt = [
500,
2e3,
6e3
-], bt = !1, xt = /* @__PURE__ */ new Map(), St = [];
-function Ct(e) {
+], xt = !1, St = /* @__PURE__ */ new Map(), Ct = [];
+function wt(e) {
let t = String(e?.id || "").trim().toLowerCase();
- return !t || t.startsWith("majoor") || t.startsWith("mjr") ? !1 : vt.has(t);
-}
-function wt() {
- for (let e of St.splice(0)) clearTimeout(e);
+ return !t || t.startsWith("majoor") || t.startsWith("mjr") ? !1 : yt.has(t);
}
function Tt() {
- let e = 0;
- for (let t of y()) {
- if (!Ct(t)) continue;
- let n = String(t.id);
- r(n) && (xt.set(n, t), e += 1);
- }
- return e;
+ for (let e of Ct.splice(0)) clearTimeout(e);
}
function Et() {
- for (let [e, t] of [...xt.entries()]) (y().some((t) => String(t?.id || "") === e) || l(t)) && xt.delete(e);
+ let t = 0;
+ for (let n of e()) {
+ if (!wt(n)) continue;
+ let e = String(n.id);
+ u(e) && (St.set(e, n), t += 1);
+ }
+ return t;
}
-function Dt(e) {
- if (bt = !!e, wt(), !bt) Et();
+function Dt() {
+ for (let [t, n] of [...St.entries()]) (e().some((e) => String(e?.id || "") === t) || _(n)) && St.delete(t);
+}
+function Ot(e) {
+ if (xt = !!e, Tt(), !xt) Dt();
else {
- Tt();
- for (let e of yt) St.push(setTimeout(() => {
- bt && Tt();
+ Et();
+ for (let e of bt) Ct.push(setTimeout(() => {
+ xt && Et();
}, e));
}
}
-function Ot() {
- bt = !1, wt(), Et();
+function kt() {
+ xt = !1, Tt(), Dt();
}
// ui/app/settings/settingsGrid.ts
-var H = "Majoor", kt = "Majoor Assets Manager";
-function At(e, t, n) {
+var V = "Majoor", At = "Majoor Assets Manager";
+function jt(e, t, n) {
let r = (e, t) => [
- kt,
+ At,
e,
t
], i = (e) => [
- kt,
+ At,
M("cat.cards", "Cards"),
e
], a = (e) => [
- kt,
+ At,
M("cat.badges", "Badges"),
e
], o = (e) => [
- kt,
+ At,
M("cat.badges", "Badges"),
e
], s = (e, t) => {
let n = String(e || "").trim();
return /^[0-9a-fA-F]{6}$/.test(n) && (n = `#${n}`), /^#[0-9a-fA-F]{6}$/.test(n) ? n.toUpperCase() : t;
};
- t.grid?.minSizePreset || (t.grid = t.grid || {}, t.grid.minSizePreset = Re(t.grid.minSize), B(t)), e({
- id: `${H}.Cards.ThumbSize`,
+ t.grid?.minSizePreset || (t.grid = t.grid || {}, t.grid.minSizePreset = ze(t.grid.minSize), z(t)), e({
+ id: `${V}.Cards.ThumbSize`,
category: i(M("setting.grid.cardSize.group", "Card size")),
name: M("setting.grid.cardSize.name", "Majoor: Card Size"),
tooltip: M("setting.grid.cardSize.desc", "Choose the card size preset used by the grid layout."),
type: "combo",
defaultValue: (() => {
- let e = Ae(String(t.grid?.minSizePreset || "").toLowerCase(), Pe, Re(t.grid?.minSize)), n = {
+ let e = je(String(t.grid?.minSizePreset || "").toLowerCase(), Fe, ze(t.grid?.minSize)), n = {
small: M("setting.grid.cardSize.small", "Small"),
medium: M("setting.grid.cardSize.medium", "Medium"),
large: M("setting.grid.cardSize.large", "Large")
@@ -1016,10 +1016,10 @@ function At(e, t, n) {
],
onChange: (e) => {
let r = String(e || "").trim().toLowerCase(), i = M("setting.grid.cardSize.small", "Small").toLowerCase(), a = M("setting.grid.cardSize.medium", "Medium").toLowerCase(), o = M("setting.grid.cardSize.large", "Large").toLowerCase(), s = "medium";
- r === i || r === "small" || r === "petit" ? s = "small" : r === o || r === "large" || r === "grand" ? s = "large" : (r === a || r === "medium" || r === "moyen") && (s = "medium"), t.grid.minSizePreset = s, t.grid.minSize = Ne[s], B(t), V(t), n("grid.minSizePreset");
+ r === i || r === "small" || r === "petit" ? s = "small" : r === o || r === "large" || r === "grand" ? s = "large" : (r === a || r === "medium" || r === "moyen") && (s = "medium"), t.grid.minSizePreset = s, t.grid.minSize = Pe[s], z(t), B(t), n("grid.minSizePreset");
}
}), e({
- id: `${H}.Cards.CustomThumbSize`,
+ id: `${V}.Cards.CustomThumbSize`,
category: i(M("setting.grid.cardSize.group", "Card size")),
name: "Majoor: Custom Card Size (px)",
tooltip: "Set the minimum card width used by the main grid layout (60-600 px).",
@@ -1032,170 +1032,170 @@ function At(e, t, n) {
},
onChange: (e) => {
let r = Math.max(60, Math.min(600, Math.round(Number(e) || 120)));
- t.grid.minSize = r, t.grid.minSizePreset = Re(r), B(t), V(t), n("grid.minSize");
+ t.grid.minSize = r, t.grid.minSizePreset = ze(r), z(t), B(t), n("grid.minSize");
}
}), e({
- id: `${H}.Grid.ShowDetails`,
+ id: `${V}.Grid.ShowDetails`,
category: i("Show card details"),
name: "Show metadata panel",
tooltip: "Show the bottom details panel on asset cards (filename, date, etc.)",
type: "boolean",
defaultValue: !!t.grid?.showDetails,
onChange: (e) => {
- t.grid.showDetails = !!e, B(t), V(t), n("grid.showDetails");
+ t.grid.showDetails = !!e, z(t), B(t), n("grid.showDetails");
}
}), e({
- id: `${H}.Grid.ShowFilename`,
+ id: `${V}.Grid.ShowFilename`,
category: i("Show filename"),
name: "Show filename",
tooltip: "Display filename in details panel",
type: "boolean",
defaultValue: !!t.grid?.showFilename,
onChange: (e) => {
- t.grid.showFilename = !!e, B(t), V(t), n("grid.showFilename");
+ t.grid.showFilename = !!e, z(t), B(t), n("grid.showFilename");
}
}), e({
- id: `${H}.Grid.ShowDate`,
+ id: `${V}.Grid.ShowDate`,
category: i("Show date/time"),
name: "Show date/time",
tooltip: "Display date and time in details panel",
type: "boolean",
defaultValue: !!t.grid?.showDate,
onChange: (e) => {
- t.grid.showDate = !!e, B(t), V(t), n("grid.showDate");
+ t.grid.showDate = !!e, z(t), B(t), n("grid.showDate");
}
}), e({
- id: `${H}.Grid.ShowDimensions`,
+ id: `${V}.Grid.ShowDimensions`,
category: i("Show dimensions"),
name: "Show dimensions",
tooltip: "Display resolution (WxH) in details panel",
type: "boolean",
defaultValue: !!t.grid?.showDimensions,
onChange: (e) => {
- t.grid.showDimensions = !!e, B(t), V(t), n("grid.showDimensions");
+ t.grid.showDimensions = !!e, z(t), B(t), n("grid.showDimensions");
}
}), e({
- id: `${H}.Grid.ShowGenTime`,
+ id: `${V}.Grid.ShowGenTime`,
category: i("Show generation time"),
name: "Show generation time",
tooltip: "Display seconds taken to generate the asset (if available)",
type: "boolean",
- defaultValue: !!(t.grid?.showGenTime ?? N.GRID_SHOW_DETAILS_GENTIME),
+ defaultValue: !!(t.grid?.showGenTime ?? j.GRID_SHOW_DETAILS_GENTIME),
onChange: (e) => {
- t.grid.showGenTime = !!e, B(t), V(t), n("grid.showGenTime");
+ t.grid.showGenTime = !!e, z(t), B(t), n("grid.showGenTime");
}
}), e({
- id: `${H}.Grid.ShowHoverInfo`,
+ id: `${V}.Grid.ShowHoverInfo`,
category: i("Show prompt on hover"),
name: "Show prompt on hover",
tooltip: "Show positive prompt and generation time as a tooltip overlay when hovering over a card thumbnail. Does not block video play-on-hover.",
type: "boolean",
- defaultValue: !!(t.grid?.showHoverInfo ?? N.GRID_SHOW_HOVER_INFO),
+ defaultValue: !!(t.grid?.showHoverInfo ?? j.GRID_SHOW_HOVER_INFO),
onChange: (e) => {
- t.grid.showHoverInfo = !!e, B(t), V(t), n("grid.showHoverInfo");
+ t.grid.showHoverInfo = !!e, z(t), B(t), n("grid.showHoverInfo");
}
}), e({
- id: `${H}.Grid.ShowWorkflowDot`,
+ id: `${V}.Grid.ShowWorkflowDot`,
category: i("Show workflow dot"),
name: "Show workflow indicator",
tooltip: "Display the green dot indicating workflow metadata availability (bottom right of card)",
type: "boolean",
defaultValue: !!t.grid?.showWorkflowDot,
onChange: (e) => {
- t.grid.showWorkflowDot = !!e, B(t), V(t), n("grid.showWorkflowDot");
+ t.grid.showWorkflowDot = !!e, z(t), B(t), n("grid.showWorkflowDot");
}
}), e({
- id: `${H}.Grid.ShowExtBadge`,
+ id: `${V}.Grid.ShowExtBadge`,
category: a("Show format badges"),
name: "Show format badges",
tooltip: "Display format badges (e.g. JPG, MP4) on thumbnails",
type: "boolean",
defaultValue: !!t.grid?.showExtBadge,
onChange: (e) => {
- t.grid.showExtBadge = !!e, B(t), V(t), n("grid.showExtBadge");
+ t.grid.showExtBadge = !!e, z(t), B(t), n("grid.showExtBadge");
}
}), e({
- id: `${H}.Grid.ShowRatingBadge`,
+ id: `${V}.Grid.ShowRatingBadge`,
category: a("Show rating badges"),
name: "Show ratings",
tooltip: "Display star ratings on thumbnails",
type: "boolean",
defaultValue: !!t.grid?.showRatingBadge,
onChange: (e) => {
- t.grid.showRatingBadge = !!e, B(t), V(t), n("grid.showRatingBadge");
+ t.grid.showRatingBadge = !!e, z(t), B(t), n("grid.showRatingBadge");
}
}), e({
- id: `${H}.Grid.ShowTagsBadge`,
+ id: `${V}.Grid.ShowTagsBadge`,
category: a("Show tags badges"),
name: "Show tags",
tooltip: "Display a small indicator if an asset has tags",
type: "boolean",
defaultValue: !!t.grid?.showTagsBadge,
onChange: (e) => {
- t.grid.showTagsBadge = !!e, B(t), V(t), n("grid.showTagsBadge");
+ t.grid.showTagsBadge = !!e, z(t), B(t), n("grid.showTagsBadge");
}
}), e({
- id: `${H}.Badges.StarColor`,
+ id: `${V}.Badges.StarColor`,
category: o(M("setting.starColor", "Star color")),
name: M("setting.starColor", "Majoor: Star color"),
tooltip: M("setting.starColor.tooltip", "Color of rating stars on thumbnails (hex, e.g. #FFD45A)"),
type: "color",
- defaultValue: s(t.grid?.starColor, N.BADGE_STAR_COLOR),
+ defaultValue: s(t.grid?.starColor, j.BADGE_STAR_COLOR),
onChange: (e) => {
- t.grid.starColor = s(e, N.BADGE_STAR_COLOR), B(t), V(t), n("grid.starColor");
+ t.grid.starColor = s(e, j.BADGE_STAR_COLOR), z(t), B(t), n("grid.starColor");
}
}), e({
- id: `${H}.Badges.ImageColor`,
+ id: `${V}.Badges.ImageColor`,
category: o(M("setting.badgeImageColor", "Image badge color")),
name: M("setting.badgeImageColor", "Majoor: Image badge color"),
tooltip: M("setting.badgeImageColor.tooltip", "Color for image badges: PNG, JPG, WEBP, GIF, BMP, TIF (hex)"),
type: "color",
- defaultValue: s(t.grid?.badgeImageColor, N.BADGE_IMAGE_COLOR),
+ defaultValue: s(t.grid?.badgeImageColor, j.BADGE_IMAGE_COLOR),
onChange: (e) => {
- t.grid.badgeImageColor = s(e, N.BADGE_IMAGE_COLOR), B(t), V(t), n("grid.badgeImageColor");
+ t.grid.badgeImageColor = s(e, j.BADGE_IMAGE_COLOR), z(t), B(t), n("grid.badgeImageColor");
}
}), e({
- id: `${H}.Badges.VideoColor`,
+ id: `${V}.Badges.VideoColor`,
category: o(M("setting.badgeVideoColor", "Video badge color")),
name: M("setting.badgeVideoColor", "Majoor: Video badge color"),
tooltip: M("setting.badgeVideoColor.tooltip", "Color for video badges: MP4, WEBM, MOV, AVI, MKV (hex)"),
type: "color",
- defaultValue: s(t.grid?.badgeVideoColor, N.BADGE_VIDEO_COLOR),
+ defaultValue: s(t.grid?.badgeVideoColor, j.BADGE_VIDEO_COLOR),
onChange: (e) => {
- t.grid.badgeVideoColor = s(e, N.BADGE_VIDEO_COLOR), B(t), V(t), n("grid.badgeVideoColor");
+ t.grid.badgeVideoColor = s(e, j.BADGE_VIDEO_COLOR), z(t), B(t), n("grid.badgeVideoColor");
}
}), e({
- id: `${H}.Badges.AudioColor`,
+ id: `${V}.Badges.AudioColor`,
category: o(M("setting.badgeAudioColor", "Audio badge color")),
name: M("setting.badgeAudioColor", "Majoor: Audio badge color"),
tooltip: M("setting.badgeAudioColor.tooltip", "Color for audio badges: MP3, WAV, OGG, FLAC (hex)"),
type: "color",
- defaultValue: s(t.grid?.badgeAudioColor, N.BADGE_AUDIO_COLOR),
+ defaultValue: s(t.grid?.badgeAudioColor, j.BADGE_AUDIO_COLOR),
onChange: (e) => {
- t.grid.badgeAudioColor = s(e, N.BADGE_AUDIO_COLOR), B(t), V(t), n("grid.badgeAudioColor");
+ t.grid.badgeAudioColor = s(e, j.BADGE_AUDIO_COLOR), z(t), B(t), n("grid.badgeAudioColor");
}
}), e({
- id: `${H}.Badges.Model3dColor`,
+ id: `${V}.Badges.Model3dColor`,
category: o(M("setting.badgeModel3dColor", "3D model badge color")),
name: M("setting.badgeModel3dColor", "Majoor: 3D model badge color"),
tooltip: M("setting.badgeModel3dColor.tooltip", "Color for 3D model badges: OBJ, FBX, GLB, GLTF (hex)"),
type: "color",
- defaultValue: s(t.grid?.badgeModel3dColor, N.BADGE_MODEL3D_COLOR),
+ defaultValue: s(t.grid?.badgeModel3dColor, j.BADGE_MODEL3D_COLOR),
onChange: (e) => {
- t.grid.badgeModel3dColor = s(e, N.BADGE_MODEL3D_COLOR), B(t), V(t), n("grid.badgeModel3dColor");
+ t.grid.badgeModel3dColor = s(e, j.BADGE_MODEL3D_COLOR), z(t), B(t), n("grid.badgeModel3dColor");
}
}), e({
- id: `${H}.Badges.DuplicateAlertColor`,
+ id: `${V}.Badges.DuplicateAlertColor`,
category: o(M("setting.badgeDuplicateAlertColor", "Duplicate alert badge color")),
name: M("setting.badgeDuplicateAlertColor", "Majoor: Duplicate alert badge color"),
tooltip: M("setting.badgeDuplicateAlertColor.tooltip", "Color for duplicate extension badges (PNG+, JPG+, etc)."),
type: "color",
- defaultValue: s(t.grid?.badgeDuplicateAlertColor, N.BADGE_DUPLICATE_ALERT_COLOR),
+ defaultValue: s(t.grid?.badgeDuplicateAlertColor, j.BADGE_DUPLICATE_ALERT_COLOR),
onChange: (e) => {
- t.grid.badgeDuplicateAlertColor = s(e, N.BADGE_DUPLICATE_ALERT_COLOR), B(t), V(t), n("grid.badgeDuplicateAlertColor");
+ t.grid.badgeDuplicateAlertColor = s(e, j.BADGE_DUPLICATE_ALERT_COLOR), z(t), B(t), n("grid.badgeDuplicateAlertColor");
}
}), e({
- id: `${H}.Grid.PageSize`,
+ id: `${V}.Grid.PageSize`,
category: r(M("cat.grid"), M("setting.grid.pagesize.name").replace("Majoor: ", "")),
name: M("setting.grid.pagesize.name"),
tooltip: M("setting.grid.pagesize.desc"),
@@ -1203,21 +1203,21 @@ function At(e, t, n) {
defaultValue: t.grid.pageSize,
attrs: {
min: 50,
- max: Number(P.MAX_PAGE_SIZE) || 2e3,
+ max: Number(N.MAX_PAGE_SIZE) || 2e3,
step: 50
},
onChange: (e) => {
- let r = Number(P.MAX_PAGE_SIZE) || 2e3;
- t.grid.pageSize = Math.max(50, Math.min(r, Number(e) || N.DEFAULT_PAGE_SIZE)), B(t), V(t), n("grid.pageSize");
+ let r = Number(N.MAX_PAGE_SIZE) || 2e3;
+ t.grid.pageSize = Math.max(50, Math.min(r, Number(e) || j.DEFAULT_PAGE_SIZE)), z(t), B(t), n("grid.pageSize");
}
}), e({
- id: `${H}.Grid.WorkflowGroupBy`,
+ id: `${V}.Grid.WorkflowGroupBy`,
category: r(M("cat.grid"), "Workflow grouping"),
name: "Workflow grid grouping",
tooltip: "In Workflow scope, insert titled separators and group cards by Task, Model, or Category.",
type: "combo",
defaultValue: (() => {
- let e = String(t.grid?.workflowGroupBy || N.WORKFLOW_GRID_GROUP_BY).trim().toLowerCase(), n = {
+ let e = String(t.grid?.workflowGroupBy || j.WORKFLOW_GRID_GROUP_BY).trim().toLowerCase(), n = {
none: "None",
task: "Task",
model: "Model",
@@ -1238,20 +1238,20 @@ function At(e, t, n) {
Model: "model",
Category: "category"
}[String(e || "")] || "none";
- t.grid = t.grid || {}, t.grid.workflowGroupBy = r, B(t), V(t), n("grid.workflowGroupBy");
+ t.grid = t.grid || {}, t.grid.workflowGroupBy = r, z(t), B(t), n("grid.workflowGroupBy");
}
}), e({
- id: `${H}.InfiniteScroll.Enabled`,
+ id: `${V}.InfiniteScroll.Enabled`,
category: r(M("cat.grid"), M("setting.nav.infinite.name").replace("Majoor: ", "")),
name: M("setting.nav.infinite.name"),
tooltip: M("setting.nav.infinite.desc"),
type: "boolean",
defaultValue: !!t.infiniteScroll?.enabled,
onChange: (e) => {
- t.infiniteScroll = t.infiniteScroll || {}, t.infiniteScroll.enabled = !!e, B(t), V(t), n("infiniteScroll.enabled");
+ t.infiniteScroll = t.infiniteScroll || {}, t.infiniteScroll.enabled = !!e, z(t), B(t), n("infiniteScroll.enabled");
}
}), e({
- id: `${H}.Sidebar.Position`,
+ id: `${V}.Sidebar.Position`,
category: r(M("cat.grid"), M("setting.sidebar.pos.name").replace("Majoor: ", "")),
name: M("setting.sidebar.pos.name"),
tooltip: M("setting.sidebar.pos.desc"),
@@ -1259,40 +1259,40 @@ function At(e, t, n) {
defaultValue: t.sidebar?.position || "right",
options: ["left", "right"],
onChange: (e) => {
- t.sidebar = t.sidebar || {}, t.sidebar.position = e === "left" ? "left" : "right", B(t), n("sidebar.position");
+ t.sidebar = t.sidebar || {}, t.sidebar.position = e === "left" ? "left" : "right", z(t), n("sidebar.position");
}
}), e({
- id: `${H}.Sidebar.ShowPreviewThumb`,
+ id: `${V}.Sidebar.ShowPreviewThumb`,
category: r(M("cat.grid"), "Sidebar preview"),
name: "Show sidebar preview thumb",
tooltip: "Show/hide the large media preview at the top of the sidebar metadata panel.",
type: "boolean",
defaultValue: !!(t.sidebar?.showPreviewThumb ?? !0),
onChange: (e) => {
- t.sidebar = t.sidebar || {}, t.sidebar.showPreviewThumb = !!e, B(t), n("sidebar.showPreviewThumb");
+ t.sidebar = t.sidebar || {}, t.sidebar.showPreviewThumb = !!e, z(t), n("sidebar.showPreviewThumb");
}
}), e({
- id: `${H}.Sidebar.AssetBadgeEnabled`,
+ id: `${V}.Sidebar.AssetBadgeEnabled`,
category: r(M("cat.grid"), "Sidebar asset notification badge"),
name: "Show new asset badge on sidebar icon",
tooltip: "Display a small counter on the Majoor sidebar icon only when a new asset is indexed by Assets Manager.",
type: "boolean",
- defaultValue: !!(t.sidebar?.assetBadgeEnabled ?? N.SIDEBAR_ASSET_BADGE_ENABLED),
+ defaultValue: !!(t.sidebar?.assetBadgeEnabled ?? j.SIDEBAR_ASSET_BADGE_ENABLED),
onChange: (e) => {
- t.sidebar = t.sidebar || {}, t.sidebar.assetBadgeEnabled = !!e, B(t), V(t), n("sidebar.assetBadgeEnabled");
+ t.sidebar = t.sidebar || {}, t.sidebar.assetBadgeEnabled = !!e, z(t), B(t), n("sidebar.assetBadgeEnabled");
}
}), e({
- id: `${H}.Integration.HideNativeAssetsTab`,
+ id: `${V}.Integration.HideNativeAssetsTab`,
category: r(M("cat.grid"), "Hide ComfyUI native Assets tab"),
name: "Hide ComfyUI's native Assets sidebar tab",
tooltip: "Optional. Removes ComfyUI's built-in Assets tab from the sidebar so only Majoor Assets Manager is shown. Turning it off restores the native tab. Your files and the native tab's data are not affected.",
type: "boolean",
defaultValue: !!t.integration?.hideNativeAssetsTab,
onChange: (e) => {
- t.integration = t.integration || {}, t.integration.hideNativeAssetsTab = !!e, B(t), Dt(!!e), n("integration.hideNativeAssetsTab");
+ t.integration = t.integration || {}, t.integration.hideNativeAssetsTab = !!e, z(t), Ot(!!e), n("integration.hideNativeAssetsTab");
}
}), e({
- id: `${H}.Sidebar.WidthPx`,
+ id: `${V}.Sidebar.WidthPx`,
category: r(M("cat.grid"), "Sidebar width"),
name: "Sidebar width (px)",
tooltip: "Set the details sidebar width in pixels (240-640).",
@@ -1304,20 +1304,20 @@ function At(e, t, n) {
step: 10
},
onChange: (e) => {
- t.sidebar = t.sidebar || {}, t.sidebar.widthPx = Math.max(240, Math.min(640, Math.round(Number(e) || 360))), B(t), n("sidebar.widthPx");
+ t.sidebar = t.sidebar || {}, t.sidebar.widthPx = Math.max(240, Math.min(640, Math.round(Number(e) || 360))), z(t), n("sidebar.widthPx");
}
}), e({
- id: `${H}.General.HideSiblings`,
+ id: `${V}.General.HideSiblings`,
category: r(M("cat.grid"), M("setting.siblings.hide.name").replace("Majoor: ", "")),
name: M("setting.siblings.hide.name"),
tooltip: M("setting.siblings.hide.desc"),
type: "boolean",
defaultValue: !!t.siblings?.hidePngSiblings,
onChange: (e) => {
- t.siblings = t.siblings || {}, t.siblings.hidePngSiblings = !!e, B(t), n("siblings.hidePngSiblings");
+ t.siblings = t.siblings || {}, t.siblings.hidePngSiblings = !!e, z(t), n("siblings.hidePngSiblings");
}
}), e({
- id: `${H}.Grid.VideoAutoplayMode`,
+ id: `${V}.Grid.VideoAutoplayMode`,
category: r(M("cat.grid"), M("setting.grid.videoAutoplayMode.name", "Video autoplay").replace("Majoor: ", "")),
name: M("setting.grid.videoAutoplayMode.name", "Majoor: Video autoplay"),
tooltip: M("setting.grid.videoAutoplayMode.desc", "Controls video thumbnail playback in the grid. Off: static frame. Hover: play on mouse hover. Always: loop while visible."),
@@ -1343,52 +1343,52 @@ function At(e, t, n) {
[M("setting.grid.videoAutoplayMode.hover", "Hover")]: "hover",
[M("setting.grid.videoAutoplayMode.always", "Always")]: "always"
}[e] || "off";
- t.grid = t.grid || {}, t.grid.videoAutoplayMode = r, delete t.grid.videoHoverAutoplay, B(t), V(t), n("grid.videoAutoplayMode");
+ t.grid = t.grid || {}, t.grid.videoAutoplayMode = r, delete t.grid.videoHoverAutoplay, z(t), B(t), n("grid.videoAutoplayMode");
}
}), e({
- id: `${H}.Cards.HoverColor`,
+ id: `${V}.Cards.HoverColor`,
category: i("Hover color"),
name: "Majoor: Card hover color",
tooltip: "Background tint used when hovering a card (hex, e.g. #3D3D3D).",
type: "color",
- defaultValue: s(t.ui?.cardHoverColor, N.UI_CARD_HOVER_COLOR),
+ defaultValue: s(t.ui?.cardHoverColor, j.UI_CARD_HOVER_COLOR),
onChange: (e) => {
- t.ui = t.ui || {}, t.ui.cardHoverColor = s(e, N.UI_CARD_HOVER_COLOR), B(t), V(t), n("ui.cardHoverColor");
+ t.ui = t.ui || {}, t.ui.cardHoverColor = s(e, j.UI_CARD_HOVER_COLOR), z(t), B(t), n("ui.cardHoverColor");
}
}), e({
- id: `${H}.Cards.SelectionColor`,
+ id: `${V}.Cards.SelectionColor`,
category: i("Selection color"),
name: "Majoor: Card selection color",
tooltip: "Outline/accent color used for selected cards (hex, e.g. #4A90E2).",
type: "color",
- defaultValue: s(t.ui?.cardSelectionColor, N.UI_CARD_SELECTION_COLOR),
+ defaultValue: s(t.ui?.cardSelectionColor, j.UI_CARD_SELECTION_COLOR),
onChange: (e) => {
- t.ui = t.ui || {}, t.ui.cardSelectionColor = s(e, N.UI_CARD_SELECTION_COLOR), B(t), V(t), n("ui.cardSelectionColor");
+ t.ui = t.ui || {}, t.ui.cardSelectionColor = s(e, j.UI_CARD_SELECTION_COLOR), z(t), B(t), n("ui.cardSelectionColor");
}
}), e({
- id: `${H}.Badges.RatingColor`,
+ id: `${V}.Badges.RatingColor`,
category: a("Rating color"),
name: "Majoor: Rating badge color",
tooltip: "Color used for rating badge text/accent (hex, e.g. #FF9500).",
type: "color",
- defaultValue: s(t.ui?.ratingColor, N.UI_RATING_COLOR),
+ defaultValue: s(t.ui?.ratingColor, j.UI_RATING_COLOR),
onChange: (e) => {
- t.ui = t.ui || {}, t.ui.ratingColor = s(e, N.UI_RATING_COLOR), B(t), V(t), n("ui.ratingColor");
+ t.ui = t.ui || {}, t.ui.ratingColor = s(e, j.UI_RATING_COLOR), z(t), B(t), n("ui.ratingColor");
}
}), e({
- id: `${H}.Badges.TagColor`,
+ id: `${V}.Badges.TagColor`,
category: a("Tag color"),
name: "Majoor: Tags badge color",
tooltip: "Color used for tags badge text/accent (hex, e.g. #4A90E2).",
type: "color",
- defaultValue: s(t.ui?.tagColor, N.UI_TAG_COLOR),
+ defaultValue: s(t.ui?.tagColor, j.UI_TAG_COLOR),
onChange: (e) => {
- t.ui = t.ui || {}, t.ui.tagColor = s(e, N.UI_TAG_COLOR), B(t), V(t), n("ui.tagColor");
+ t.ui = t.ui || {}, t.ui.tagColor = s(e, j.UI_TAG_COLOR), z(t), B(t), n("ui.tagColor");
}
});
}
// ui/app/settings/settingsViewer.ts
-var jt = "Majoor", Mt = "Majoor Assets Manager";
+var H = "Majoor", Mt = "Majoor Assets Manager";
function Nt(e, t, n) {
let r = (e, t) => [
Mt,
@@ -1396,27 +1396,27 @@ function Nt(e, t, n) {
t
], i = (e) => r(M("cat.viewer", "Viewer"), e), a = (e) => r(M("cat.floatingViewer", "Floating Viewer"), e);
e({
- id: `${jt}.Viewer.PauseDuringExecution`,
+ id: `${H}.Viewer.PauseDuringExecution`,
category: i(M("setting.viewer.pauseExecution.name").replace("Majoor: ", "")),
name: M("setting.viewer.pauseExecution.name"),
tooltip: M("setting.viewer.pauseExecution.desc"),
type: "boolean",
defaultValue: !!t.viewer?.pauseDuringExecution,
onChange: (e) => {
- t.viewer = t.viewer || {}, t.viewer.pauseDuringExecution = !!e, B(t), V(t), n("viewer.pauseDuringExecution");
+ t.viewer = t.viewer || {}, t.viewer.pauseDuringExecution = !!e, z(t), B(t), n("viewer.pauseDuringExecution");
}
}), e({
- id: `${jt}.Viewer.FloatingPauseDuringExecution`,
+ id: `${H}.Viewer.FloatingPauseDuringExecution`,
category: a(M("setting.viewer.floatingPauseExecution.name").replace("Majoor: ", "")),
name: M("setting.viewer.floatingPauseExecution.name"),
tooltip: M("setting.viewer.floatingPauseExecution.desc"),
type: "boolean",
defaultValue: !!t.viewer?.floatingPauseDuringExecution,
onChange: (e) => {
- t.viewer = t.viewer || {}, t.viewer.floatingPauseDuringExecution = !!e, B(t), V(t), n("viewer.floatingPauseDuringExecution");
+ t.viewer = t.viewer || {}, t.viewer.floatingPauseDuringExecution = !!e, z(t), B(t), n("viewer.floatingPauseDuringExecution");
}
}), e({
- id: `${jt}.Browser.ShowFolders`,
+ id: `${H}.Browser.ShowFolders`,
category: i("Browser"),
name: "Show folders in Input / Output panels",
tooltip: "When enabled, subdirectories under the Input and Output roots are shown as folder cards in the browser grid. Disable to see only files.",
@@ -1424,46 +1424,46 @@ function Nt(e, t, n) {
defaultValue: !!(t.browser?.showFolders ?? !1),
onChange: async (e) => {
let r = !!e, i = !!(t.browser?.showFolders ?? !1);
- t.browser = t.browser || {}, t.browser.showFolders = r, B(t), V(t), n("browser.showFolders");
+ t.browser = t.browser || {}, t.browser.showFolders = r, z(t), B(t), n("browser.showFolders");
try {
- let e = await me(r);
+ let e = await A(r);
if (!e?.ok) throw Error(e?.error || "Failed to update show folders setting");
} catch (e) {
- t.browser.showFolders = i, B(t), V(t), n("browser.showFolders"), E(e?.message || "Failed to update show folders setting", "error");
+ t.browser.showFolders = i, z(t), B(t), n("browser.showFolders"), g(e?.message || "Failed to update show folders setting", "error");
}
}
}), e({
- id: `${jt}.Viewer.MfvLiveDefault`,
+ id: `${H}.Viewer.MfvLiveDefault`,
category: a(M("setting.viewer.mfvLiveDefault.name").replace("Majoor: ", "")),
name: M("setting.viewer.mfvLiveDefault.name"),
tooltip: M("setting.viewer.mfvLiveDefault.desc"),
type: "boolean",
- defaultValue: !!(t.viewer?.mfvLiveDefault ?? N.MFV_LIVE_DEFAULT),
+ defaultValue: !!(t.viewer?.mfvLiveDefault ?? j.MFV_LIVE_DEFAULT),
onChange: (e) => {
- t.viewer = t.viewer || {}, t.viewer.mfvLiveDefault = !!e, B(t), V(t), n("viewer.mfvLiveDefault");
+ t.viewer = t.viewer || {}, t.viewer.mfvLiveDefault = !!e, z(t), B(t), n("viewer.mfvLiveDefault");
}
}), e({
- id: `${jt}.Viewer.MfvPreviewDefault`,
+ id: `${H}.Viewer.MfvPreviewDefault`,
category: a(M("setting.viewer.mfvPreviewDefault.name").replace("Majoor: ", "")),
name: M("setting.viewer.mfvPreviewDefault.name"),
tooltip: M("setting.viewer.mfvPreviewDefault.desc"),
type: "boolean",
- defaultValue: !!(t.viewer?.mfvPreviewDefault ?? N.MFV_PREVIEW_DEFAULT),
+ defaultValue: !!(t.viewer?.mfvPreviewDefault ?? j.MFV_PREVIEW_DEFAULT),
onChange: (e) => {
- t.viewer = t.viewer || {}, t.viewer.mfvPreviewDefault = !!e, B(t), V(t), n("viewer.mfvPreviewDefault");
+ t.viewer = t.viewer || {}, t.viewer.mfvPreviewDefault = !!e, z(t), B(t), n("viewer.mfvPreviewDefault");
}
}), e({
- id: `${jt}.Viewer.MfvTopbarButton`,
+ id: `${H}.Viewer.MfvTopbarButton`,
category: a("Top bar Viewer button"),
name: "Show Viewer button in the top bar",
tooltip: "Show a Viewer toggle button in the ComfyUI top bar next to the queue controls. Disable to hide it (the V shortcut keeps working).",
type: "boolean",
- defaultValue: !!(t.viewer?.mfvTopbarButton ?? N.MFV_TOPBAR_BUTTON),
+ defaultValue: !!(t.viewer?.mfvTopbarButton ?? j.MFV_TOPBAR_BUTTON),
onChange: (e) => {
- t.viewer = t.viewer || {}, t.viewer.mfvTopbarButton = !!e, B(t), V(t), n("viewer.mfvTopbarButton");
+ t.viewer = t.viewer || {}, t.viewer.mfvTopbarButton = !!e, z(t), B(t), n("viewer.mfvTopbarButton");
}
}), e({
- id: `${jt}.Viewer.MfvSidebarPosition`,
+ id: `${H}.Viewer.MfvSidebarPosition`,
category: a("Node Parameters sidebar position"),
name: "Node Parameters sidebar position",
tooltip: "Position of the Node Parameters sidebar in the Floating Viewer (right, left, or bottom).",
@@ -1480,15 +1480,15 @@ function Nt(e, t, n) {
"right",
"bottom"
].includes(e) ? e : "right";
- t.viewer = t.viewer || {}, t.viewer.mfvSidebarPosition = r, B(t), V(t), n("viewer.mfvSidebarPosition");
+ t.viewer = t.viewer || {}, t.viewer.mfvSidebarPosition = r, z(t), B(t), n("viewer.mfvSidebarPosition");
}
}), e({
- id: `${jt}.Viewer.MfvPreviewMethod`,
+ id: `${H}.Viewer.MfvPreviewMethod`,
category: a(M("setting.viewer.mfvPreviewMethod.name").replace("Majoor: ", "")),
name: M("setting.viewer.mfvPreviewMethod.name"),
tooltip: M("setting.viewer.mfvPreviewMethod.desc"),
type: "combo",
- defaultValue: t.viewer?.mfvPreviewMethod || N.MFV_PREVIEW_METHOD,
+ defaultValue: t.viewer?.mfvPreviewMethod || j.MFV_PREVIEW_METHOD,
options: [
"taesd",
"latent2rgb",
@@ -1503,21 +1503,21 @@ function Nt(e, t, n) {
"auto",
"default",
"none"
- ].includes(e) ? e : N.MFV_PREVIEW_METHOD;
- t.viewer = t.viewer || {}, t.viewer.mfvPreviewMethod = r, B(t), V(t), n("viewer.mfvPreviewMethod");
+ ].includes(e) ? e : j.MFV_PREVIEW_METHOD;
+ t.viewer = t.viewer || {}, t.viewer.mfvPreviewMethod = r, z(t), B(t), n("viewer.mfvPreviewMethod");
}
}), e({
- id: `${jt}.Viewer.MfvKjPreviewOverrideEnabled`,
+ id: `${H}.Viewer.MfvKjPreviewOverrideEnabled`,
category: a(M("setting.viewer.mfvKjPreviewOverride.name").replace("Majoor: ", "")),
name: M("setting.viewer.mfvKjPreviewOverride.name"),
tooltip: M("setting.viewer.mfvKjPreviewOverride.desc"),
type: "boolean",
- defaultValue: !!(t.viewer?.mfvKjPreviewOverrideEnabled ?? N.MFV_KJ_PREVIEW_OVERRIDE_ENABLED),
+ defaultValue: !!(t.viewer?.mfvKjPreviewOverrideEnabled ?? j.MFV_KJ_PREVIEW_OVERRIDE_ENABLED),
onChange: (e) => {
- t.viewer = t.viewer || {}, t.viewer.mfvKjPreviewOverrideEnabled = !!e, B(t), V(t), n("viewer.mfvKjPreviewOverrideEnabled");
+ t.viewer = t.viewer || {}, t.viewer.mfvKjPreviewOverrideEnabled = !!e, z(t), B(t), n("viewer.mfvKjPreviewOverrideEnabled");
}
}), e({
- id: `${jt}.Viewer.LtxavRgbFallback`,
+ id: `${H}.Viewer.LtxavRgbFallback`,
category: a("LTXAV preview fallback"),
name: "Majoor: LTXAV RGB Preview Fallback (experimental)",
tooltip: "Reuse LTXV RGB projection for LTXAV when native latent preview is unavailable. Experimental; quality may be approximate.",
@@ -1525,34 +1525,34 @@ function Nt(e, t, n) {
defaultValue: !!t.viewer?.ltxavRgbFallback,
onChange: async (e) => {
let r = !!e, i = !!t.viewer?.ltxavRgbFallback;
- t.viewer = t.viewer || {}, t.viewer.ltxavRgbFallback = r, B(t), V(t), n("viewer.ltxavRgbFallback");
+ t.viewer = t.viewer || {}, t.viewer.ltxavRgbFallback = r, z(t), B(t), n("viewer.ltxavRgbFallback");
try {
- let e = await j(r);
+ let e = await C(r);
if (!e?.ok) throw Error(e?.error || "Failed to update LTXAV RGB preview fallback setting");
} catch (e) {
- t.viewer.ltxavRgbFallback = i, B(t), V(t), n("viewer.ltxavRgbFallback"), E(e?.message || "Failed to update LTXAV RGB preview fallback setting", "error");
+ t.viewer.ltxavRgbFallback = i, z(t), B(t), n("viewer.ltxavRgbFallback"), g(e?.message || "Failed to update LTXAV RGB preview fallback setting", "error");
}
}
});
try {
- u().then((e) => {
+ h().then((e) => {
if (!e?.ok) return;
- let r = !!e?.data?.prefs?.enabled, i = z();
- i.viewer = i.viewer || {}, !!i.viewer.ltxavRgbFallback !== r && (i.viewer.ltxavRgbFallback = r, Object.assign(t, i), B(i), V(i), n("viewer.ltxavRgbFallback"));
+ let r = !!e?.data?.prefs?.enabled, i = R();
+ i.viewer = i.viewer || {}, !!i.viewer.ltxavRgbFallback !== r && (i.viewer.ltxavRgbFallback = r, Object.assign(t, i), z(i), B(i), n("viewer.ltxavRgbFallback"));
}).catch(() => {});
} catch (e) {
console.debug?.(e);
}
((r, a, o, s) => {
e({
- id: `${jt}.WorkflowMinimap.${r}`,
+ id: `${H}.WorkflowMinimap.${r}`,
category: i(M(o).replace("Majoor: ", "")),
name: M(o),
tooltip: M(s),
type: "boolean",
defaultValue: !!t.workflowMinimap?.[a],
onChange: (e) => {
- t.workflowMinimap = t.workflowMinimap || {}, t.workflowMinimap[a] = !!e, B(t), n(`workflowMinimap.${a}`);
+ t.workflowMinimap = t.workflowMinimap || {}, t.workflowMinimap[a] = !!e, z(t), n(`workflowMinimap.${a}`);
}
});
})("Enabled", "enabled", "setting.minimap.enabled.name", "setting.minimap.enabled.desc");
@@ -1571,16 +1571,16 @@ function Ft(e, t, n) {
name: "Execution job/stack grouping",
tooltip: "Enable or disable all live job_id / stack_id tracking, grouping, and stack finalization logic.",
type: "boolean",
- defaultValue: !!(t.executionGrouping?.enabled ?? N.EXECUTION_GROUPING_ENABLED),
+ defaultValue: !!(t.executionGrouping?.enabled ?? j.EXECUTION_GROUPING_ENABLED),
onChange: async (e) => {
- let r = !!(t.executionGrouping?.enabled ?? N.EXECUTION_GROUPING_ENABLED), i = !!e;
- t.executionGrouping = t.executionGrouping || {}, t.executionGrouping.enabled = i, B(t), V(t), n("executionGrouping.enabled");
+ let r = !!(t.executionGrouping?.enabled ?? j.EXECUTION_GROUPING_ENABLED), i = !!e;
+ t.executionGrouping = t.executionGrouping || {}, t.executionGrouping.enabled = i, z(t), B(t), n("executionGrouping.enabled");
try {
- let e = await ue(i);
+ let e = await ae(i);
if (!e?.ok) throw Error(e?.error || "Failed to update execution grouping setting");
- t.executionGrouping.enabled = !!e?.data?.prefs?.enabled, B(t), V(t), n("executionGrouping.enabled");
+ t.executionGrouping.enabled = !!e?.data?.prefs?.enabled, z(t), B(t), n("executionGrouping.enabled");
} catch (e) {
- t.executionGrouping.enabled = r, B(t), V(t), n("executionGrouping.enabled"), E(e?.message || "Failed to update execution grouping setting", "error");
+ t.executionGrouping.enabled = r, z(t), B(t), n("executionGrouping.enabled"), g(e?.message || "Failed to update execution grouping setting", "error");
}
}
}), e({
@@ -1591,7 +1591,7 @@ function Ft(e, t, n) {
type: "boolean",
defaultValue: !!t.autoScan?.onStartup,
onChange: (e) => {
- t.autoScan = t.autoScan || {}, t.autoScan.onStartup = !!e, B(t), V(t), n("autoScan.onStartup");
+ t.autoScan = t.autoScan || {}, t.autoScan.onStartup = !!e, z(t), B(t), n("autoScan.onStartup");
}
}), e({
id: `${U}.Scan.FastMode`,
@@ -1601,7 +1601,7 @@ function Ft(e, t, n) {
type: "boolean",
defaultValue: !!(t.scan?.fastMode ?? !0),
onChange: (e) => {
- t.scan = t.scan || {}, t.scan.fastMode = !!e, B(t), n("scan.fastMode");
+ t.scan = t.scan || {}, t.scan.fastMode = !!e, z(t), n("scan.fastMode");
}
}), e({
id: `${U}.Scan.JpegXL`,
@@ -1612,34 +1612,34 @@ function Ft(e, t, n) {
defaultValue: !!t.scan?.jxlEnabled,
onChange: async (e) => {
let r = !!t.scan?.jxlEnabled, i = !!e;
- t.scan = t.scan || {}, t.scan.jxlEnabled = i, B(t), n("scan.jxlEnabled");
+ t.scan = t.scan || {}, t.scan.jxlEnabled = i, z(t), n("scan.jxlEnabled");
try {
- let e = await Oe(i);
+ let e = await De(i);
if (!e?.ok) throw Error(e?.error || "Failed to update JPEG XL support");
} catch (e) {
- t.scan.jxlEnabled = r, B(t), n("scan.jxlEnabled"), E(e?.message || "Failed to update JPEG XL support", "error");
+ t.scan.jxlEnabled = r, z(t), n("scan.jxlEnabled"), g(e?.message || "Failed to update JPEG XL support", "error");
}
}
- }), T().then((e) => {
- e?.ok && (t.scan = t.scan || {}, t.scan.jxlEnabled = !!e?.data?.prefs?.enabled, B(t), n("scan.jxlEnabled"));
+ }), s().then((e) => {
+ e?.ok && (t.scan = t.scan || {}, t.scan.jxlEnabled = !!e?.data?.prefs?.enabled, z(t), n("scan.jxlEnabled"));
}).catch(() => {}), e({
id: `${U}.RtHydrate.Concurrency`,
category: r(M("cat.scanning"), "Hydration"),
name: "Hydrate Concurrency",
tooltip: "Maximum concurrent hydration requests for rating/tags.",
type: "number",
- defaultValue: Number(t.rtHydrate?.concurrency || N.RT_HYDRATE_CONCURRENCY || 5),
+ defaultValue: Number(t.rtHydrate?.concurrency || j.RT_HYDRATE_CONCURRENCY || 5),
attrs: {
min: 1,
max: 20,
step: 1
},
onChange: (e) => {
- t.rtHydrate = t.rtHydrate || {}, t.rtHydrate.concurrency = Math.max(1, Math.min(20, Math.round(I(e, N.RT_HYDRATE_CONCURRENCY || 5)))), B(t), V(t), n("rtHydrate.concurrency");
+ t.rtHydrate = t.rtHydrate || {}, t.rtHydrate.concurrency = Math.max(1, Math.min(20, Math.round(F(e, j.RT_HYDRATE_CONCURRENCY || 5)))), z(t), B(t), n("rtHydrate.concurrency");
}
});
let i = (e, t, n, r) => {
- let i = Math.round(I(e, t));
+ let i = Math.round(F(e, t));
return Math.max(n, Math.min(r, i));
}, a = (e = {}) => {
let r = [];
@@ -1651,10 +1651,10 @@ function Ft(e, t, n) {
let n = Math.max(100, Math.min(3e4, Math.round(e.dedupe_ttl_ms)));
t.watcher.dedupeTtlMs !== n && (t.watcher.dedupeTtlMs = n, r.push("watcher.dedupeTtlMs"));
}
- r.length && (B(t), r.forEach((e) => n(e)));
- }, o = async () => {
+ r.length && (z(t), r.forEach((e) => n(e)));
+ }, c = async () => {
try {
- let e = await se();
+ let e = await ge();
if (!e?.ok) return;
a(e.data || {});
} catch (e) {
@@ -1669,12 +1669,12 @@ function Ft(e, t, n) {
type: "boolean",
defaultValue: !!t.watcher?.enabled,
onChange: async (e) => {
- t.watcher = t.watcher || {}, t.watcher.enabled = !!e, B(t), n("watcher.enabled");
+ t.watcher = t.watcher || {}, t.watcher.enabled = !!e, z(t), n("watcher.enabled");
try {
- let r = await de(!!e);
- r?.ok || (t.watcher.enabled = !e, B(t), n("watcher.enabled"), E(r?.error || M("toast.failedToggleWatcher", "Failed to toggle watcher"), "error"));
+ let r = await v(!!e);
+ r?.ok || (t.watcher.enabled = !e, z(t), n("watcher.enabled"), g(r?.error || M("toast.failedToggleWatcher", "Failed to toggle watcher"), "error"));
} catch {
- t.watcher.enabled = !e, B(t), n("watcher.enabled");
+ t.watcher.enabled = !e, z(t), n("watcher.enabled");
}
}
}), e({
@@ -1683,23 +1683,23 @@ function Ft(e, t, n) {
name: M("setting.watcher.debounce.name"),
tooltip: M("setting.watcher.debounce.desc") + " (env: MJR_WATCHER_DEBOUNCE_MS)",
type: "number",
- defaultValue: t.watcher?.debounceMs ?? N.WATCHER_DEBOUNCE_MS,
+ defaultValue: t.watcher?.debounceMs ?? j.WATCHER_DEBOUNCE_MS,
attrs: {
min: 50,
max: 6e4,
step: 50
},
onChange: async (e) => {
- let r = N.WATCHER_DEBOUNCE_MS, a = i(e, r, 50, 6e4), o = t.watcher?.debounceMs ?? r;
- if (a !== o) {
- t.watcher = t.watcher || {}, t.watcher.debounceMs = a, B(t);
+ let r = j.WATCHER_DEBOUNCE_MS, a = i(e, r, 50, 6e4), s = t.watcher?.debounceMs ?? r;
+ if (a !== s) {
+ t.watcher = t.watcher || {}, t.watcher.debounceMs = a, z(t);
try {
- let e = await v({ debounce_ms: a });
+ let e = await o({ debounce_ms: a });
if (!e?.ok) throw Error(e?.error || M("setting.watcher.debounce.error"));
let r = Math.round(Number(e?.data?.debounce_ms ?? a));
- t.watcher.debounceMs = r, B(t), n("watcher.debounceMs");
+ t.watcher.debounceMs = r, z(t), n("watcher.debounceMs");
} catch (e) {
- t.watcher.debounceMs = o, B(t), n("watcher.debounceMs"), E(e?.message || M("setting.watcher.debounce.error"), "error");
+ t.watcher.debounceMs = s, z(t), n("watcher.debounceMs"), g(e?.message || M("setting.watcher.debounce.error"), "error");
}
}
}
@@ -1709,23 +1709,23 @@ function Ft(e, t, n) {
name: M("setting.watcher.dedupe.name"),
tooltip: M("setting.watcher.dedupe.desc") + " (env: MJR_WATCHER_DEDUPE_TTL_MS)",
type: "number",
- defaultValue: t.watcher?.dedupeTtlMs ?? N.WATCHER_DEDUPE_TTL_MS,
+ defaultValue: t.watcher?.dedupeTtlMs ?? j.WATCHER_DEDUPE_TTL_MS,
attrs: {
min: 100,
max: 12e4,
step: 100
},
onChange: async (e) => {
- let r = N.WATCHER_DEDUPE_TTL_MS, a = i(e, r, 100, 12e4), o = t.watcher?.dedupeTtlMs ?? r;
- if (a !== o) {
- t.watcher = t.watcher || {}, t.watcher.dedupeTtlMs = a, B(t);
+ let r = j.WATCHER_DEDUPE_TTL_MS, a = i(e, r, 100, 12e4), s = t.watcher?.dedupeTtlMs ?? r;
+ if (a !== s) {
+ t.watcher = t.watcher || {}, t.watcher.dedupeTtlMs = a, z(t);
try {
- let e = await v({ dedupe_ttl_ms: a });
+ let e = await o({ dedupe_ttl_ms: a });
if (!e?.ok) throw Error(e?.error || M("setting.watcher.dedupe.error"));
let r = Math.round(Number(e?.data?.dedupe_ttl_ms ?? a));
- t.watcher.dedupeTtlMs = r, B(t), n("watcher.dedupeTtlMs");
+ t.watcher.dedupeTtlMs = r, z(t), n("watcher.dedupeTtlMs");
} catch (e) {
- t.watcher.dedupeTtlMs = o, B(t), n("watcher.dedupeTtlMs"), E(e?.message || M("setting.watcher.dedupe.error"), "error");
+ t.watcher.dedupeTtlMs = s, z(t), n("watcher.dedupeTtlMs"), g(e?.message || M("setting.watcher.dedupe.error"), "error");
}
}
}
@@ -1742,7 +1742,7 @@ function Ft(e, t, n) {
step: 10
},
onChange: (e) => {
- t.watcher = t.watcher || {}, t.watcher.maxPending = Math.max(10, Math.min(5e3, Math.round(I(e, 500)))), B(t), V(t), n("watcher.maxPending");
+ t.watcher = t.watcher || {}, t.watcher.maxPending = Math.max(10, Math.min(5e3, Math.round(F(e, 500)))), z(t), B(t), n("watcher.maxPending");
}
}), e({
id: `${U}.Watcher.MinSize`,
@@ -1757,7 +1757,7 @@ function Ft(e, t, n) {
step: 100
},
onChange: (e) => {
- t.watcher = t.watcher || {}, t.watcher.minSize = Math.max(0, Math.min(1e6, Math.round(I(e, 100)))), B(t), V(t), n("watcher.minSize");
+ t.watcher = t.watcher || {}, t.watcher.minSize = Math.max(0, Math.min(1e6, Math.round(F(e, 100)))), z(t), B(t), n("watcher.minSize");
}
}), e({
id: `${U}.Watcher.MaxSize`,
@@ -1772,11 +1772,11 @@ function Ft(e, t, n) {
step: 1e5
},
onChange: (e) => {
- t.watcher = t.watcher || {}, t.watcher.maxSize = Math.max(1e5, Math.min(17179869184, Math.round(I(e, 4294967296)))), B(t), V(t), n("watcher.maxSize");
+ t.watcher = t.watcher || {}, t.watcher.maxSize = Math.max(1e5, Math.min(17179869184, Math.round(F(e, 4294967296)))), z(t), B(t), n("watcher.maxSize");
}
});
try {
- o().catch(() => {});
+ c().catch(() => {});
} catch (e) {
console.debug?.(e);
}
@@ -1788,7 +1788,7 @@ function Ft(e, t, n) {
type: "boolean",
defaultValue: !!t.ratingTagsSync?.enabled,
onChange: (e) => {
- t.ratingTagsSync = t.ratingTagsSync || {}, t.ratingTagsSync.enabled = !!e, B(t), n("ratingTagsSync.enabled");
+ t.ratingTagsSync = t.ratingTagsSync || {}, t.ratingTagsSync.enabled = !!e, z(t), n("ratingTagsSync.enabled");
}
});
}
@@ -1815,7 +1815,7 @@ function Rt(e, t, n) {
step: 10
},
onChange: (e) => {
- i(), t.feed.minSize = Math.max(60, Math.min(600, Math.round(Number(e) || 120))), B(t), V(t), n("feed.minSize");
+ i(), t.feed.minSize = Math.max(60, Math.min(600, Math.round(Number(e) || 120))), z(t), B(t), n("feed.minSize");
}
}), e({
id: `${It}.Feed.ShowInfo`,
@@ -1823,9 +1823,9 @@ function Rt(e, t, n) {
name: "Show card info section",
tooltip: "Show or hide the entire info section (filename, metadata, dots) below thumbnails in the Generated Feed.",
type: "boolean",
- defaultValue: !!(t.feed?.showInfo ?? N.FEED_SHOW_INFO),
+ defaultValue: !!(t.feed?.showInfo ?? j.FEED_SHOW_INFO),
onChange: (e) => {
- i(), t.feed.showInfo = !!e, B(t), V(t), n("feed.showInfo");
+ i(), t.feed.showInfo = !!e, z(t), B(t), n("feed.showInfo");
}
}), e({
id: `${It}.Feed.ShowFilename`,
@@ -1833,9 +1833,9 @@ function Rt(e, t, n) {
name: "Show filename",
tooltip: "Display the filename on feed cards.",
type: "boolean",
- defaultValue: !!(t.feed?.showFilename ?? N.FEED_SHOW_FILENAME),
+ defaultValue: !!(t.feed?.showFilename ?? j.FEED_SHOW_FILENAME),
onChange: (e) => {
- i(), t.feed.showFilename = !!e, B(t), V(t), n("feed.showFilename");
+ i(), t.feed.showFilename = !!e, z(t), B(t), n("feed.showFilename");
}
}), e({
id: `${It}.Feed.ShowDimensions`,
@@ -1843,9 +1843,9 @@ function Rt(e, t, n) {
name: "Show dimensions",
tooltip: "Display resolution (WxH) and duration on feed cards.",
type: "boolean",
- defaultValue: !!(t.feed?.showDimensions ?? N.FEED_SHOW_DIMENSIONS),
+ defaultValue: !!(t.feed?.showDimensions ?? j.FEED_SHOW_DIMENSIONS),
onChange: (e) => {
- i(), t.feed.showDimensions = !!e, B(t), V(t), n("feed.showDimensions");
+ i(), t.feed.showDimensions = !!e, z(t), B(t), n("feed.showDimensions");
}
}), e({
id: `${It}.Feed.ShowDate`,
@@ -1853,9 +1853,9 @@ function Rt(e, t, n) {
name: "Show date/time",
tooltip: "Display date and time on feed cards.",
type: "boolean",
- defaultValue: !!(t.feed?.showDate ?? N.FEED_SHOW_DATE),
+ defaultValue: !!(t.feed?.showDate ?? j.FEED_SHOW_DATE),
onChange: (e) => {
- i(), t.feed.showDate = !!e, B(t), V(t), n("feed.showDate");
+ i(), t.feed.showDate = !!e, z(t), B(t), n("feed.showDate");
}
}), e({
id: `${It}.Feed.ShowGenTime`,
@@ -1863,9 +1863,9 @@ function Rt(e, t, n) {
name: "Show generation time",
tooltip: "Display the generation time badge on feed cards.",
type: "boolean",
- defaultValue: !!(t.feed?.showGenTime ?? N.FEED_SHOW_GENTIME),
+ defaultValue: !!(t.feed?.showGenTime ?? j.FEED_SHOW_GENTIME),
onChange: (e) => {
- i(), t.feed.showGenTime = !!e, B(t), V(t), n("feed.showGenTime");
+ i(), t.feed.showGenTime = !!e, z(t), B(t), n("feed.showGenTime");
}
}), e({
id: `${It}.Feed.ShowWorkflowDot`,
@@ -1873,9 +1873,9 @@ function Rt(e, t, n) {
name: "Show workflow indicator",
tooltip: "Display the workflow availability dot on feed cards.",
type: "boolean",
- defaultValue: !!(t.feed?.showWorkflowDot ?? N.FEED_SHOW_WORKFLOW_DOT),
+ defaultValue: !!(t.feed?.showWorkflowDot ?? j.FEED_SHOW_WORKFLOW_DOT),
onChange: (e) => {
- i(), t.feed.showWorkflowDot = !!e, B(t), V(t), n("feed.showWorkflowDot");
+ i(), t.feed.showWorkflowDot = !!e, z(t), B(t), n("feed.showWorkflowDot");
}
}), e({
id: `${It}.Feed.ShowExtBadge`,
@@ -1883,9 +1883,9 @@ function Rt(e, t, n) {
name: "Show format badges",
tooltip: "Display format badges (e.g. JPG, MP4) on feed card thumbnails.",
type: "boolean",
- defaultValue: !!(t.feed?.showExtBadge ?? N.FEED_SHOW_BADGES_EXTENSION),
+ defaultValue: !!(t.feed?.showExtBadge ?? j.FEED_SHOW_BADGES_EXTENSION),
onChange: (e) => {
- i(), t.feed.showExtBadge = !!e, B(t), V(t), n("feed.showExtBadge");
+ i(), t.feed.showExtBadge = !!e, z(t), B(t), n("feed.showExtBadge");
}
}), e({
id: `${It}.Feed.ShowRatingBadge`,
@@ -1893,9 +1893,9 @@ function Rt(e, t, n) {
name: "Show ratings",
tooltip: "Display star ratings on feed card thumbnails.",
type: "boolean",
- defaultValue: !!(t.feed?.showRatingBadge ?? N.FEED_SHOW_BADGES_RATING),
+ defaultValue: !!(t.feed?.showRatingBadge ?? j.FEED_SHOW_BADGES_RATING),
onChange: (e) => {
- i(), t.feed.showRatingBadge = !!e, B(t), V(t), n("feed.showRatingBadge");
+ i(), t.feed.showRatingBadge = !!e, z(t), B(t), n("feed.showRatingBadge");
}
}), e({
id: `${It}.Feed.ShowTagsBadge`,
@@ -1903,9 +1903,9 @@ function Rt(e, t, n) {
name: "Show tags",
tooltip: "Display tag indicators on feed card thumbnails.",
type: "boolean",
- defaultValue: !!(t.feed?.showTagsBadge ?? N.FEED_SHOW_BADGES_TAGS),
+ defaultValue: !!(t.feed?.showTagsBadge ?? j.FEED_SHOW_BADGES_TAGS),
onChange: (e) => {
- i(), t.feed.showTagsBadge = !!e, B(t), V(t), n("feed.showTagsBadge");
+ i(), t.feed.showTagsBadge = !!e, z(t), B(t), n("feed.showTagsBadge");
}
});
}
@@ -1953,7 +1953,7 @@ function Zt() {
return `mjr_${Xt(18)}`;
}
function Qt(e) {
- return String(e?.apiToken || "").trim().length >= Vt && F(e?.allowWrite, !0) && F(e?.requireAuth, !1) && !F(e?.allowRemoteWrite, !1);
+ return String(e?.apiToken || "").trim().length >= Vt && P(e?.allowWrite, !0) && P(e?.requireAuth, !1) && !P(e?.allowRemoteWrite, !1);
}
function $t(e) {
let t = String((e && typeof e == "object" ? e : {}).apiToken || "").trim();
@@ -1968,20 +1968,20 @@ function $t(e) {
function en(e) {
let t = e || {};
return {
- safe_mode: F(t.safeMode, !1),
- allow_write: F(t.allowWrite, !0),
- require_auth: F(t.requireAuth, !1),
- allow_remote_write: F(t.allowRemoteWrite, !1),
- allow_insecure_token_transport: F(t.allowInsecureTokenTransport, !1),
- allow_delete: F(t.allowDelete, !0),
- allow_rename: F(t.allowRename, !0),
- allow_open_in_folder: F(t.allowOpenInFolder, !0),
- allow_reset_index: F(t.allowResetIndex, !0),
+ safe_mode: P(t.safeMode, !1),
+ allow_write: P(t.allowWrite, !0),
+ require_auth: P(t.requireAuth, !1),
+ allow_remote_write: P(t.allowRemoteWrite, !1),
+ allow_insecure_token_transport: P(t.allowInsecureTokenTransport, !1),
+ allow_delete: P(t.allowDelete, !0),
+ allow_rename: P(t.allowRename, !0),
+ allow_open_in_folder: P(t.allowOpenInFolder, !0),
+ allow_reset_index: P(t.allowResetIndex, !0),
...String(t.apiToken || "").trim() ? { api_token: String(t.apiToken || "").trim() } : {}
};
}
function tn(e) {
- return ee(en(e));
+ return i(en(e));
}
function nn(e) {
let t = String(e?.security?.tokenHint || "").trim();
@@ -2001,23 +2001,23 @@ function rn(e, t, n) {
type: "boolean",
defaultValue: t.safety?.confirmDeletion !== !1,
onChange: (e) => {
- Wt(t.safety?.confirmDeletion !== !1, e) || (t.safety = t.safety || {}, t.safety.confirmDeletion = !!e, B(t), V(t), n("safety.confirmDeletion"));
+ Wt(t.safety?.confirmDeletion !== !1, e) || (t.safety = t.safety || {}, t.safety.confirmDeletion = !!e, z(t), B(t), n("safety.confirmDeletion"));
}
});
- let i = (i, a, o, s = "cat.security") => {
+ let a = (i, a, o, s = "cat.security") => {
e({
id: `${zt}.Security.${i}`,
category: r(M(s), M(a).replace("Majoor: ", "")),
name: M(a),
tooltip: M(o),
type: "boolean",
- defaultValue: F(t.security?.[i], Ht[i] ?? !1),
+ defaultValue: P(t.security?.[i], Ht[i] ?? !1),
onChange: (e) => {
if (!Wt(t.security?.[i], e)) {
- t.security = t.security || {}, t.security[i] = !!e, B(t), n(`security.${i}`);
+ t.security = t.security || {}, t.security[i] = !!e, z(t), n(`security.${i}`);
try {
tn(t.security).then((e) => {
- e?.ok && e.data?.prefs ? rt() : e && e.ok === !1 && console.warn("[Majoor] backend security settings update failed", e.error || e);
+ e?.ok && e.data?.prefs ? it() : e && e.ok === !1 && console.warn("[Majoor] backend security settings update failed", e.error || e);
}).catch(() => {});
} catch (e) {
console.debug?.(e);
@@ -2026,7 +2026,7 @@ function rn(e, t, n) {
}
});
};
- i("safeMode", "setting.sec.safe.name", "setting.sec.safe.desc"), i("allowWrite", "setting.sec.write.name", "setting.sec.write.desc"), i("allowDelete", "setting.sec.del.name", "setting.sec.del.desc"), i("allowRename", "setting.sec.ren.name", "setting.sec.ren.desc"), i("allowOpenInFolder", "setting.sec.open.name", "setting.sec.open.desc"), i("allowResetIndex", "setting.sec.reset.name", "setting.sec.reset.desc"), e({
+ a("safeMode", "setting.sec.safe.name", "setting.sec.safe.desc"), a("allowWrite", "setting.sec.write.name", "setting.sec.write.desc"), a("allowDelete", "setting.sec.del.name", "setting.sec.del.desc"), a("allowRename", "setting.sec.ren.name", "setting.sec.ren.desc"), a("allowOpenInFolder", "setting.sec.open.name", "setting.sec.open.desc"), a("allowResetIndex", "setting.sec.reset.name", "setting.sec.reset.desc"), e({
id: `${zt}.Security.RemoteLanPreset`,
category: r(M("cat.remote"), M("setting.sec.remoteLanPreset.name").replace("Majoor: ", "")),
name: M("setting.sec.remoteLanPreset.name"),
@@ -2036,22 +2036,22 @@ function rn(e, t, n) {
onChange: (e) => {
if (t.security = t.security || {}, Wt(t.security.remoteLanPreset, e)) return;
if (t.security.remoteLanPreset = !!e, !e) {
- B(t), n("security.remoteLanPreset");
+ z(t), n("security.remoteLanPreset");
return;
}
let r;
try {
r = $t(t.security);
} catch (e) {
- E(e?.message || M("toast.remoteLanPresetFailed", "Failed to apply the recommended remote LAN setup."), "error");
+ g(e?.message || M("toast.remoteLanPresetFailed", "Failed to apply the recommended remote LAN setup."), "error");
return;
}
- Object.assign(t.security, r), t.security.tokenConfigured = !0, t.security.tokenHint = String(r.apiToken || "").trim() ? `...${String(r.apiToken).trim().slice(-4)}` : "", r.apiToken && w(r.apiToken), B(t), n("security.remoteLanPreset"), n("security.apiToken"), n("security.allowWrite"), n("security.requireAuth"), n("security.allowRemoteWrite"), n("security.allowInsecureTokenTransport");
+ Object.assign(t.security, r), t.security.tokenConfigured = !0, t.security.tokenHint = String(r.apiToken || "").trim() ? `...${String(r.apiToken).trim().slice(-4)}` : "", r.apiToken && c(r.apiToken), z(t), n("security.remoteLanPreset"), n("security.apiToken"), n("security.allowWrite"), n("security.requireAuth"), n("security.allowRemoteWrite"), n("security.allowInsecureTokenTransport");
try {
tn(t.security).then((e) => {
- e?.ok && e.data?.prefs ? (rt(), E(M("toast.remoteLanPresetApplied", "Recommended remote LAN setup applied. This browser session is now authorized for Majoor write operations."), "success")) : e && e.ok === !1 && (E(e.error || M("toast.remoteLanPresetFailed", "Failed to apply the recommended remote LAN setup."), "error"), console.warn("[Majoor] backend remote LAN preset update failed", e.error || e));
+ e?.ok && e.data?.prefs ? (it(), g(M("toast.remoteLanPresetApplied", "Recommended remote LAN setup applied. This browser session is now authorized for Majoor write operations."), "success")) : e && e.ok === !1 && (g(e.error || M("toast.remoteLanPresetFailed", "Failed to apply the recommended remote LAN setup."), "error"), console.warn("[Majoor] backend remote LAN preset update failed", e.error || e));
}).catch((e) => {
- E(e?.message || M("toast.remoteLanPresetFailed", "Failed to apply the recommended remote LAN setup."), "error");
+ g(e?.message || M("toast.remoteLanPresetFailed", "Failed to apply the recommended remote LAN setup."), "error");
});
} catch (e) {
console.debug?.(e);
@@ -2068,24 +2068,24 @@ function rn(e, t, n) {
onChange: (e) => {
t.security = t.security || {};
let r = Gt(e);
- if (Gt(t.security.apiToken) !== r && (t.security.apiToken = r, t.security.apiToken && (t.security.tokenConfigured = !0, t.security.tokenHint = `...${t.security.apiToken.slice(-4)}`, w(t.security.apiToken)), B(t), n("security.apiToken"), t.security.apiToken)) try {
- ee({ api_token: t.security.apiToken }).then((e) => {
- e?.ok && e.data?.prefs ? rt() : e && e.ok === !1 && console.warn("[Majoor] backend token update failed", e.error || e);
+ if (Gt(t.security.apiToken) !== r && (t.security.apiToken = r, t.security.apiToken && (t.security.tokenConfigured = !0, t.security.tokenHint = `...${t.security.apiToken.slice(-4)}`, c(t.security.apiToken)), z(t), n("security.apiToken"), t.security.apiToken)) try {
+ i({ api_token: t.security.apiToken }).then((e) => {
+ e?.ok && e.data?.prefs ? it() : e && e.ok === !1 && console.warn("[Majoor] backend token update failed", e.error || e);
}).catch(() => {});
} catch (e) {
console.debug?.(e);
}
}
- }), i("requireAuth", "setting.sec.requireAuth.name", "setting.sec.requireAuth.desc", "cat.remote"), i("allowRemoteWrite", "setting.sec.remote.name", "setting.sec.remote.desc", "cat.remote"), i("allowInsecureTokenTransport", "setting.sec.insecureTransport.name", "setting.sec.insecureTransport.desc", "cat.remote");
+ }), a("requireAuth", "setting.sec.requireAuth.name", "setting.sec.requireAuth.desc", "cat.remote"), a("allowRemoteWrite", "setting.sec.remote.name", "setting.sec.remote.desc", "cat.remote"), a("allowInsecureTokenTransport", "setting.sec.insecureTransport.name", "setting.sec.insecureTransport.desc", "cat.remote");
}
// ui/app/settings/settingsAdvanced.ts
var W = "Majoor", an = "Majoor Assets Manager";
-function on(e, n, r, a) {
+function on(e, n, i, o) {
let s = (e, t) => [
an,
e,
t
- ], l = String(n.paths?.outputDirectory || ""), u = null, f = 0, _ = null;
+ ], c = String(n.paths?.outputDirectory || ""), u = null, h = 0, _ = null;
e({
id: `${W}.Paths.OutputDirectory`,
category: s(M("cat.advanced"), "Paths / Output"),
@@ -2096,7 +2096,7 @@ function on(e, n, r, a) {
attrs: { placeholder: "D:\\\\____COMFY_OUTPUTS" },
onChange: async (e) => {
let t = String(e || "").trim();
- n.paths = n.paths || {}, n.paths.outputDirectory = t, B(n);
+ n.paths = n.paths || {}, n.paths.outputDirectory = t, z(n);
try {
u &&= (clearTimeout(u), null);
} catch (e) {
@@ -2104,7 +2104,7 @@ function on(e, n, r, a) {
}
u = setTimeout(async () => {
u = null;
- let e = ++f;
+ let e = ++h;
try {
_?.abort?.();
} catch (e) {
@@ -2112,29 +2112,29 @@ function on(e, n, r, a) {
}
_ = typeof AbortController < "u" ? new AbortController() : null;
try {
- let i = await C(t, _ ? { signal: _.signal } : {});
- if (e !== f) return;
- if (!i?.ok) throw Error(i?.error || M("toast.failedSetOutputDirectory", "Failed to set output directory"));
- let a = String(i?.data?.output_directory || t).trim();
- n.paths.outputDirectory = a, l = a, B(n), r("paths.outputDirectory");
+ let r = await Te(t, _ ? { signal: _.signal } : {});
+ if (e !== h) return;
+ if (!r?.ok) throw Error(r?.error || M("toast.failedSetOutputDirectory", "Failed to set output directory"));
+ let a = String(r?.data?.output_directory || t).trim();
+ n.paths.outputDirectory = a, c = a, z(n), i("paths.outputDirectory");
} catch (t) {
- if (e !== f || String(t?.name || "") === "AbortError" || String(t?.code || "") === "ABORTED") return;
- n.paths.outputDirectory = l, B(n), r("paths.outputDirectory"), E(t?.message || M("toast.failedSetOutputDirectory", "Failed to set output directory"), "error");
+ if (e !== h || String(t?.name || "") === "AbortError" || String(t?.code || "") === "ABORTED") return;
+ n.paths.outputDirectory = c, z(n), i("paths.outputDirectory"), g(t?.message || M("toast.failedSetOutputDirectory", "Failed to set output directory"), "error");
}
}, 700);
}
});
try {
- ye().then((e) => {
+ p().then((e) => {
if (!e?.ok) return;
let t = String(e?.data?.output_directory || "").trim();
- n.paths = n.paths || {}, n.paths.outputDirectory !== t && (n.paths.outputDirectory = t, l = t, B(n), r("paths.outputDirectory"));
+ n.paths = n.paths || {}, n.paths.outputDirectory !== t && (n.paths.outputDirectory = t, c = t, z(n), i("paths.outputDirectory"));
}).catch(() => {});
} catch (e) {
console.debug?.(e);
}
- let v = String(n.paths?.inputDirectory || ""), y = null, ee = 0, w = null, T = (e) => {
- n.paths = n.paths || {}, n.paths.inputDirectory = e, B(n), S(a, `${W}.Paths.InputDirectory`, e), r("paths.inputDirectory");
+ let v = String(n.paths?.inputDirectory || ""), b = null, C = 0, w = null, E = (e) => {
+ n.paths = n.paths || {}, n.paths.inputDirectory = e, z(n), t(o, `${W}.Paths.InputDirectory`, e), i("paths.inputDirectory");
};
e({
id: `${W}.Paths.InputDirectory`,
@@ -2147,33 +2147,33 @@ function on(e, n, r, a) {
onChange: (e) => {
let t = String(e || "").trim();
if (t === String(n.paths?.inputDirectory || "")) return;
- n.paths = n.paths || {}, n.paths.inputDirectory = t, B(n), y && clearTimeout(y);
- let r = ++ee;
- w?.abort(), y = setTimeout(async () => {
- y = null, w = typeof AbortController < "u" ? new AbortController() : null;
+ n.paths = n.paths || {}, n.paths.inputDirectory = t, z(n), b && clearTimeout(b);
+ let r = ++C;
+ w?.abort(), b = setTimeout(async () => {
+ b = null, w = typeof AbortController < "u" ? new AbortController() : null;
try {
- let e = await Ce(t, w ? { signal: w.signal } : {});
- if (r !== ee) return;
+ let e = await oe(t, w ? { signal: w.signal } : {});
+ if (r !== C) return;
if (!e?.ok) throw Error(e?.error || "Failed to set input directory");
let n = String(e?.data?.input_directory ?? t).trim();
- v = n, T(n);
+ v = n, E(n);
} catch (e) {
- if (r !== ee || e?.name === "AbortError" || e?.code === "ABORTED") return;
- T(v), E(e?.message || "Failed to set input directory", "error");
+ if (r !== C || e?.name === "AbortError" || e?.code === "ABORTED") return;
+ E(v), g(e?.message || "Failed to set input directory", "error");
}
}, 700);
}
});
try {
te().then((e) => {
- if (!e?.ok || ee !== 0) return;
+ if (!e?.ok || C !== 0) return;
let t = String(e?.data?.input_directory || "").trim();
- v = t, T(t);
+ v = t, E(t);
}).catch(() => {});
} catch (e) {
console.debug?.(e);
}
- let D = String(n.paths?.indexDirectory || ""), O = null, ie = 0, k = null;
+ let D = String(n.paths?.indexDirectory || ""), O = null, re = 0, ie = null;
e({
id: `${W}.Paths.IndexDirectory`,
category: s(M("cat.advanced"), "Paths / Index"),
@@ -2184,7 +2184,7 @@ function on(e, n, r, a) {
attrs: { placeholder: "D:\\MajoorIndex" },
onChange: async (e) => {
let t = String(e || "").trim();
- n.paths = n.paths || {}, n.paths.indexDirectory = t, B(n);
+ n.paths = n.paths || {}, n.paths.indexDirectory = t, z(n);
try {
O &&= (clearTimeout(O), null);
} catch (e) {
@@ -2192,36 +2192,36 @@ function on(e, n, r, a) {
}
O = setTimeout(async () => {
O = null;
- let e = ++ie;
+ let e = ++re;
try {
- k?.abort?.();
+ ie?.abort?.();
} catch (e) {
console.debug?.(e);
}
- k = typeof AbortController < "u" ? new AbortController() : null;
+ ie = typeof AbortController < "u" ? new AbortController() : null;
try {
- let i = await ae(t, k ? { signal: k.signal } : {});
- if (e !== ie) return;
- if (!i?.ok) throw Error(i?.error || M("toast.failedSetIndexDirectory", "Failed to set index directory"));
- let a = String(i?.data?.index_directory || t).trim(), o = a !== D;
- n.paths.indexDirectory = a, D = a, B(n), r("paths.indexDirectory"), o && E(M("toast.indexDirectorySavedRestart", "Index directory saved. Restart ComfyUI to apply."), "success", void 0, { history: { trackId: "settings:index-directory-saved" } });
+ let r = await ke(t, ie ? { signal: ie.signal } : {});
+ if (e !== re) return;
+ if (!r?.ok) throw Error(r?.error || M("toast.failedSetIndexDirectory", "Failed to set index directory"));
+ let a = String(r?.data?.index_directory || t).trim(), o = a !== D;
+ n.paths.indexDirectory = a, D = a, z(n), i("paths.indexDirectory"), o && g(M("toast.indexDirectorySavedRestart", "Index directory saved. Restart ComfyUI to apply."), "success", void 0, { history: { trackId: "settings:index-directory-saved" } });
} catch (t) {
- if (e !== ie || String(t?.name || "") === "AbortError" || String(t?.code || "") === "ABORTED") return;
- n.paths.indexDirectory = D, B(n), r("paths.indexDirectory"), E(t?.message || M("toast.failedSetIndexDirectory", "Failed to set index directory"), "error");
+ if (e !== re || String(t?.name || "") === "AbortError" || String(t?.code || "") === "ABORTED") return;
+ n.paths.indexDirectory = D, z(n), i("paths.indexDirectory"), g(t?.message || M("toast.failedSetIndexDirectory", "Failed to set index directory"), "error");
}
}, 700);
}
});
try {
- d().then((e) => {
+ T().then((e) => {
if (!e?.ok) return;
let t = String(e?.data?.index_directory || "").trim();
- n.paths = n.paths || {}, n.paths.indexDirectory !== t && (n.paths.indexDirectory = t, D = t, B(n), r("paths.indexDirectory"));
+ n.paths = n.paths || {}, n.paths.indexDirectory !== t && (n.paths.indexDirectory = t, D = t, z(n), i("paths.indexDirectory"));
}).catch(() => {});
} catch (e) {
console.debug?.(e);
}
- let A = String(n.paths?.workflowRoots || ""), j = null, se = 0, le = null;
+ let ae = String(n.paths?.workflowRoots || ""), k = null, A = 0, ce = null;
e({
id: `${W}.Paths.WorkflowRoots`,
category: s(M("cat.advanced"), "Paths / Workflows"),
@@ -2232,54 +2232,54 @@ function on(e, n, r, a) {
attrs: { placeholder: "D:\\\\ComfyUI\\\\user\\\\default\\\\workflows" },
onChange: async (e) => {
let t = String(e || "").trim();
- n.paths = n.paths || {}, n.paths.workflowRoots = t, B(n);
+ n.paths = n.paths || {}, n.paths.workflowRoots = t, z(n);
try {
- j &&= (clearTimeout(j), null);
+ k &&= (clearTimeout(k), null);
} catch (e) {
console.debug?.(e);
}
- j = setTimeout(async () => {
- j = null;
- let e = ++se;
+ k = setTimeout(async () => {
+ k = null;
+ let e = ++A;
try {
- le?.abort?.();
+ ce?.abort?.();
} catch (e) {
console.debug?.(e);
}
- le = typeof AbortController < "u" ? new AbortController() : null;
+ ce = typeof AbortController < "u" ? new AbortController() : null;
try {
- let i = await pe(t, le ? { signal: le.signal } : {});
- if (e !== se) return;
- if (!i?.ok) throw Error(i?.error || M("toast.failedSetWorkflowRoots", "Failed to set workflow roots"));
- let a = String(i?.data?.workflow_roots_text || t).trim();
- n.paths.workflowRoots = a, A = a, B(n), r("paths.workflowRoots"), E(M("toast.workflowRootsSaved", "Workflow roots saved"), "success", 1800);
+ let r = await fe(t, ce ? { signal: ce.signal } : {});
+ if (e !== A) return;
+ if (!r?.ok) throw Error(r?.error || M("toast.failedSetWorkflowRoots", "Failed to set workflow roots"));
+ let a = String(r?.data?.workflow_roots_text || t).trim();
+ n.paths.workflowRoots = a, ae = a, z(n), i("paths.workflowRoots"), g(M("toast.workflowRootsSaved", "Workflow roots saved"), "success", 1800);
} catch (t) {
- if (e !== se || String(t?.name || "") === "AbortError" || String(t?.code || "") === "ABORTED") return;
- n.paths.workflowRoots = A, B(n), r("paths.workflowRoots"), E(t?.message || M("toast.failedSetWorkflowRoots", "Failed to set workflow roots"), "error");
+ if (e !== A || String(t?.name || "") === "AbortError" || String(t?.code || "") === "ABORTED") return;
+ n.paths.workflowRoots = ae, z(n), i("paths.workflowRoots"), g(t?.message || M("toast.failedSetWorkflowRoots", "Failed to set workflow roots"), "error");
}
}, 700);
}
});
try {
- ge().then((e) => {
+ de().then((e) => {
if (!e?.ok) return;
let t = String(e?.data?.workflow_roots_text || "").trim();
- n.paths = n.paths || {}, n.paths.workflowRoots !== t && (n.paths.workflowRoots = t, A = t, B(n), r("paths.workflowRoots"));
+ n.paths = n.paths || {}, n.paths.workflowRoots !== t && (n.paths.workflowRoots = t, ae = t, z(n), i("paths.workflowRoots"));
}).catch(() => {});
} catch (e) {
console.debug?.(e);
}
- let ue = t().map((e) => e.code), de = ["auto", ...ue];
+ let pe = Se().map((e) => e.code), me = ["auto", ...pe];
e({
id: `${W}.Language`,
category: s(M("cat.advanced"), M("setting.language.name", "Language")),
name: M("setting.language.name", "Majoor: Language"),
tooltip: "Use auto to detect and follow ComfyUI language. Or choose a fixed language for Majoor only.",
type: "combo",
- defaultValue: n.i18n?.followComfyLanguage ? "auto" : x(),
- options: de,
+ defaultValue: n.i18n?.followComfyLanguage ? "auto" : se(),
+ options: me,
onChange: (e) => {
- n.i18n = n.i18n || {}, e === "auto" ? (n.i18n.followComfyLanguage = !0, xe(!0), oe(a), B(n), r("language")) : ue.includes(e) && (n.i18n.followComfyLanguage = !1, xe(!1), he(e), B(n), r("language"));
+ n.i18n = n.i18n || {}, e === "auto" ? (n.i18n.followComfyLanguage = !0, ve(!0), he(o), z(n), i("language")) : pe.includes(e) && (n.i18n.followComfyLanguage = !1, ve(!1), ue(e), z(n), i("language"));
}
}), e({
id: `${W}.ProbeBackend.Mode`,
@@ -2287,7 +2287,7 @@ function on(e, n, r, a) {
name: M("setting.probe.mode.name"),
tooltip: M("setting.probe.mode.desc") + " (env: MAJOOR_MEDIA_PROBE_BACKEND)",
type: "combo",
- defaultValue: n.probeBackend?.mode || R.probeBackend.mode,
+ defaultValue: n.probeBackend?.mode || L.probeBackend.mode,
options: [
"auto",
"exiftool",
@@ -2295,13 +2295,13 @@ function on(e, n, r, a) {
"both"
],
onChange: (e) => {
- let t = Ae(e, [
+ let t = je(e, [
"auto",
"exiftool",
"ffprobe",
"both"
- ], R.probeBackend.mode);
- n.probeBackend = n.probeBackend || {}, n.probeBackend.mode = t, B(n), V(n), r("probeBackend.mode"), o(t).catch(() => {});
+ ], L.probeBackend.mode);
+ n.probeBackend = n.probeBackend || {}, n.probeBackend.mode = t, z(n), B(n), i("probeBackend.mode"), ee(t).catch(() => {});
}
}), e({
id: `${W}.MetadataFallback.Image`,
@@ -2309,18 +2309,18 @@ function on(e, n, r, a) {
name: "Majoor: Metadata Fallback (Images)",
tooltip: "Enable Pillow fallback when ExifTool is missing or fails.",
type: "boolean",
- defaultValue: n.metadataFallback?.image ?? R.metadataFallback.image,
+ defaultValue: n.metadataFallback?.image ?? L.metadataFallback.image,
onChange: async (e) => {
- let t = !!e, i = !!(n.metadataFallback?.image ?? R.metadataFallback.image);
- n.metadataFallback = n.metadataFallback || {}, n.metadataFallback.image = t, B(n), r("metadataFallback.image");
+ let t = !!e, a = !!(n.metadataFallback?.image ?? L.metadataFallback.image);
+ n.metadataFallback = n.metadataFallback || {}, n.metadataFallback.image = t, z(n), i("metadataFallback.image");
try {
- let e = await Ee({
+ let e = await r({
image: t,
- media: n.metadataFallback?.media ?? R.metadataFallback.media
+ media: n.metadataFallback?.media ?? L.metadataFallback.media
});
if (!e?.ok) throw Error(e?.error || M("toast.failedUpdateMetadataFallback", "Failed to update metadata fallback settings"));
} catch (e) {
- n.metadataFallback.image = i, B(n), r("metadataFallback.image"), E(e?.message || M("toast.failedUpdateMetadataFallback", "Failed to update metadata fallback settings"), "error");
+ n.metadataFallback.image = a, z(n), i("metadataFallback.image"), g(e?.message || M("toast.failedUpdateMetadataFallback", "Failed to update metadata fallback settings"), "error");
}
}
}), e({
@@ -2329,28 +2329,28 @@ function on(e, n, r, a) {
name: "Majoor: Metadata Fallback (Audio/Video)",
tooltip: "Enable hachoir fallback when ffprobe is missing or fails.",
type: "boolean",
- defaultValue: n.metadataFallback?.media ?? R.metadataFallback.media,
+ defaultValue: n.metadataFallback?.media ?? L.metadataFallback.media,
onChange: async (e) => {
- let t = !!e, i = !!(n.metadataFallback?.media ?? R.metadataFallback.media);
- n.metadataFallback = n.metadataFallback || {}, n.metadataFallback.media = t, B(n), r("metadataFallback.media");
+ let t = !!e, a = !!(n.metadataFallback?.media ?? L.metadataFallback.media);
+ n.metadataFallback = n.metadataFallback || {}, n.metadataFallback.media = t, z(n), i("metadataFallback.media");
try {
- let e = await Ee({
- image: n.metadataFallback?.image ?? R.metadataFallback.image,
+ let e = await r({
+ image: n.metadataFallback?.image ?? L.metadataFallback.image,
media: t
});
if (!e?.ok) throw Error(e?.error || M("toast.failedUpdateMetadataFallback", "Failed to update metadata fallback settings"));
} catch (e) {
- n.metadataFallback.media = i, B(n), r("metadataFallback.media"), E(e?.message || M("toast.failedUpdateMetadataFallback", "Failed to update metadata fallback settings"), "error");
+ n.metadataFallback.media = a, z(n), i("metadataFallback.media"), g(e?.message || M("toast.failedUpdateMetadataFallback", "Failed to update metadata fallback settings"), "error");
}
}
});
try {
- m().then((e) => {
+ _e().then((e) => {
if (!e?.ok || !e?.data?.prefs) return;
- let t = e.data.prefs || {}, i = !!(t.image ?? R.metadataFallback.image), a = !!(t.media ?? R.metadataFallback.media);
+ let t = e.data.prefs || {}, r = !!(t.image ?? L.metadataFallback.image), a = !!(t.media ?? L.metadataFallback.media);
n.metadataFallback = n.metadataFallback || {};
let o = !1;
- n.metadataFallback.image !== i && (n.metadataFallback.image = i, o = !0), n.metadataFallback.media !== a && (n.metadataFallback.media = a, o = !0), o && (B(n), r("metadataFallback"));
+ n.metadataFallback.image !== r && (n.metadataFallback.image = r, o = !0), n.metadataFallback.media !== a && (n.metadataFallback.media = a, o = !0), o && (z(n), i("metadataFallback"));
}).catch(() => {});
} catch (e) {
console.debug?.(e);
@@ -2368,7 +2368,7 @@ function on(e, n, r, a) {
step: 1e3
},
onChange: (e) => {
- n.db = n.db || {}, n.db.timeoutMs = Math.max(1e3, Math.min(3e4, Math.round(I(e, 5e3)))), B(n), V(n), r("db.timeoutMs");
+ n.db = n.db || {}, n.db.timeoutMs = Math.max(1e3, Math.min(3e4, Math.round(F(e, 5e3)))), z(n), B(n), i("db.timeoutMs");
}
}), e({
id: `${W}.Db.MaxConnections`,
@@ -2383,7 +2383,7 @@ function on(e, n, r, a) {
step: 1
},
onChange: (e) => {
- n.db = n.db || {}, n.db.maxConnections = Math.max(1, Math.min(100, Math.round(I(e, 10)))), B(n), V(n), r("db.maxConnections");
+ n.db = n.db || {}, n.db.maxConnections = Math.max(1, Math.min(100, Math.round(F(e, 10)))), z(n), B(n), i("db.maxConnections");
}
}), e({
id: `${W}.Db.QueryTimeout`,
@@ -2398,7 +2398,7 @@ function on(e, n, r, a) {
step: 500
},
onChange: (e) => {
- n.db = n.db || {}, n.db.queryTimeoutMs = Math.max(500, Math.min(1e4, Math.round(I(e, 1e3)))), B(n), V(n), r("db.queryTimeoutMs");
+ n.db = n.db || {}, n.db.queryTimeoutMs = Math.max(500, Math.min(1e4, Math.round(F(e, 1e3)))), z(n), B(n), i("db.queryTimeoutMs");
}
}), e({
id: `${W}.Observability.Enabled`,
@@ -2408,7 +2408,7 @@ function on(e, n, r, a) {
type: "boolean",
defaultValue: !!n.observability?.enabled,
onChange: (e) => {
- n.observability = n.observability || {}, n.observability.enabled = !!e, B(n), V(n), r("observability.enabled");
+ n.observability = n.observability || {}, n.observability.enabled = !!e, z(n), B(n), i("observability.enabled");
}
}), e({
id: `${W}.Observability.RuntimeDashboardMode`,
@@ -2416,19 +2416,19 @@ function on(e, n, r, a) {
name: "Majoor: Runtime metrics badge",
tooltip: "Controls the small DB/enrichment/watcher metrics badge in the Assets Manager panel.",
type: "combo",
- defaultValue: n.observability?.runtimeDashboardMode || R.observability.runtimeDashboardMode,
+ defaultValue: n.observability?.runtimeDashboardMode || L.observability.runtimeDashboardMode,
options: [
"autoHide30",
"always",
"hidden"
],
onChange: (e) => {
- let t = Ae(e, [
+ let t = je(e, [
"autoHide30",
"always",
"hidden"
- ], R.observability.runtimeDashboardMode);
- n.observability = n.observability || {}, n.observability.runtimeDashboardMode = t, B(n), r("observability.runtimeDashboardMode");
+ ], L.observability.runtimeDashboardMode);
+ n.observability = n.observability || {}, n.observability.runtimeDashboardMode = t, z(n), i("observability.runtimeDashboardMode");
}
}), e({
id: `${W}.Observability.VerboseErrors`,
@@ -2438,7 +2438,7 @@ function on(e, n, r, a) {
type: "boolean",
defaultValue: !!n.observability?.verboseErrors,
onChange: (e) => {
- n.observability = n.observability || {}, n.observability.verboseErrors = !!e, B(n), V(n), r("observability.verboseErrors");
+ n.observability = n.observability || {}, n.observability.verboseErrors = !!e, z(n), B(n), i("observability.verboseErrors");
}
}), e({
id: `${W}.Observability.VerboseRouteRegistrationLogs`,
@@ -2446,21 +2446,21 @@ function on(e, n, r, a) {
name: "Majoor: Verbose route registration logs",
tooltip: "When disabled, Majoor prints a compact startup summary instead of listing every registered API route. Takes effect on the next backend restart.",
type: "boolean",
- defaultValue: !!(n.observability?.verboseRouteRegistrationLogs ?? R.observability?.verboseRouteRegistrationLogs ?? !1),
+ defaultValue: !!(n.observability?.verboseRouteRegistrationLogs ?? L.observability?.verboseRouteRegistrationLogs ?? !1),
onChange: async (e) => {
- let t = !!e, i = !!(n.observability?.verboseRouteRegistrationLogs ?? R.observability?.verboseRouteRegistrationLogs ?? !1);
- n.observability = n.observability || {}, n.observability.verboseRouteRegistrationLogs = t, B(n), r("observability.verboseRouteRegistrationLogs");
+ let t = !!e, r = !!(n.observability?.verboseRouteRegistrationLogs ?? L.observability?.verboseRouteRegistrationLogs ?? !1);
+ n.observability = n.observability || {}, n.observability.verboseRouteRegistrationLogs = t, z(n), i("observability.verboseRouteRegistrationLogs");
try {
- let e = await we(t);
+ let e = await a(t);
if (!e?.ok) throw Error(e?.error || "Failed to update route logging settings");
} catch (e) {
- n.observability.verboseRouteRegistrationLogs = i, B(n), r("observability.verboseRouteRegistrationLogs"), E(e?.message || "Failed to update route logging settings", "error");
+ n.observability.verboseRouteRegistrationLogs = r, z(n), i("observability.verboseRouteRegistrationLogs"), g(e?.message || "Failed to update route logging settings", "error");
}
}
}), (async () => {
try {
- let e = !!(await p())?.data?.prefs?.enabled;
- n.observability = n.observability || {}, n.observability.verboseRouteRegistrationLogs !== e && (n.observability.verboseRouteRegistrationLogs = e, B(n), r("observability.verboseRouteRegistrationLogs"));
+ let e = !!(await ne())?.data?.prefs?.enabled;
+ n.observability = n.observability || {}, n.observability.verboseRouteRegistrationLogs !== e && (n.observability.verboseRouteRegistrationLogs = e, z(n), i("observability.verboseRouteRegistrationLogs"));
} catch (e) {
console.debug?.(e);
}
@@ -2470,27 +2470,27 @@ function on(e, n, r, a) {
name: "Majoor: Verbose startup logs",
tooltip: "When disabled, Majoor suppresses most informational bootstrap logs during backend startup while keeping warnings and errors. Takes effect on the next backend restart.",
type: "boolean",
- defaultValue: !!(n.observability?.verboseStartupLogs ?? R.observability?.verboseStartupLogs ?? !1),
+ defaultValue: !!(n.observability?.verboseStartupLogs ?? L.observability?.verboseStartupLogs ?? !1),
onChange: async (e) => {
- let t = !!e, i = !!(n.observability?.verboseStartupLogs ?? R.observability?.verboseStartupLogs ?? !1);
- n.observability = n.observability || {}, n.observability.verboseStartupLogs = t, B(n), r("observability.verboseStartupLogs");
+ let t = !!e, r = !!(n.observability?.verboseStartupLogs ?? L.observability?.verboseStartupLogs ?? !1);
+ n.observability = n.observability || {}, n.observability.verboseStartupLogs = t, z(n), i("observability.verboseStartupLogs");
try {
- let e = await c(t);
+ let e = await y(t);
if (!e?.ok) throw Error(e?.error || "Failed to update startup logging settings");
} catch (e) {
- n.observability.verboseStartupLogs = i, B(n), r("observability.verboseStartupLogs"), E(e?.message || "Failed to update startup logging settings", "error");
+ n.observability.verboseStartupLogs = r, z(n), i("observability.verboseStartupLogs"), g(e?.message || "Failed to update startup logging settings", "error");
}
}
}), (async () => {
try {
- let e = !!(await re())?.data?.prefs?.enabled;
- n.observability = n.observability || {}, n.observability.verboseStartupLogs !== e && (n.observability.verboseStartupLogs = e, B(n), r("observability.verboseStartupLogs"));
+ let e = !!(await x())?.data?.prefs?.enabled;
+ n.observability = n.observability || {}, n.observability.verboseStartupLogs !== e && (n.observability.verboseStartupLogs = e, z(n), i("observability.verboseStartupLogs"));
} catch (e) {
console.debug?.(e);
}
})();
{
- let t = "HuggingFace Token", i = "", a = null, o = 0, c = !!n.ai?.huggingFaceTokenVisible, l = () => {
+ let t = "HuggingFace Token", r = "", a = null, o = 0, c = !!n.ai?.huggingFaceTokenVisible, u = () => {
try {
let e = Array.from(document.querySelectorAll("input[data-mjr-hf-token=\"1\"]"));
for (let t of e) try {
@@ -2501,7 +2501,7 @@ function on(e, n, r, a) {
} catch (e) {
console.debug?.(e);
}
- }, u = (e) => {
+ }, d = (e) => {
try {
let t = String(e || "").trim();
if (!t) return;
@@ -2524,7 +2524,7 @@ function on(e, n, r, a) {
defaultValue: c,
onChange: (e) => {
let t = !!e;
- c = t, n.ai = n.ai || {}, n.ai.huggingFaceTokenVisible = t, B(n), r("ai.huggingFaceTokenVisible"), setTimeout(l, 0);
+ c = t, n.ai = n.ai || {}, n.ai.huggingFaceTokenVisible = t, z(n), i("ai.huggingFaceTokenVisible"), setTimeout(u, 0);
}
}), e({
id: `${W}.AI.HuggingFaceToken`,
@@ -2542,7 +2542,7 @@ function on(e, n, r, a) {
},
onChange: (e) => {
let t = String(e || "").trim();
- if (t !== i) {
+ if (t !== r) {
try {
a &&= (clearTimeout(a), null);
} catch (e) {
@@ -2552,21 +2552,21 @@ function on(e, n, r, a) {
a = null;
let e = ++o;
try {
- let n = await ce(t);
+ let n = await we(t);
if (e !== o) return;
if (!n?.ok) throw Error(n?.error || "Failed to update HuggingFace token");
- i = t, r("ai.huggingFaceToken"), t ? E("HuggingFace token saved", "success") : E("HuggingFace token cleared", "success", void 0, { noHistory: !0 });
+ r = t, i("ai.huggingFaceToken"), t ? g("HuggingFace token saved", "success") : g("HuggingFace token cleared", "success", void 0, { noHistory: !0 });
} catch (t) {
if (e !== o) return;
- E(t?.message || "Failed to update HuggingFace token", "error");
+ g(t?.message || "Failed to update HuggingFace token", "error");
}
}, 900);
}
}
- }), setTimeout(l, 0), (async () => {
+ }), setTimeout(u, 0), (async () => {
try {
- let e = (await ne())?.data?.prefs || {}, t = !!e?.has_token, n = String(e?.token_hint || "").trim(), r = t ? `Configured ${n || "(saved)"}` : "Paste HuggingFace token (hf_...)";
- u(r);
+ let e = (await l())?.data?.prefs || {}, t = !!e?.has_token, n = String(e?.token_hint || "").trim(), r = t ? `Configured ${n || "(saved)"}` : "Paste HuggingFace token (hf_...)";
+ d(r);
} catch (e) {
console.debug?.(e);
}
@@ -2576,21 +2576,21 @@ function on(e, n, r, a) {
name: "Majoor: Verbose AI logs",
tooltip: "Enable detailed HuggingFace/SigLIP2/X-CLIP logs and progress bars during model download/loading.",
type: "boolean",
- defaultValue: !!(n.ai?.verboseAiLogs ?? R.ai?.verboseAiLogs ?? !1),
+ defaultValue: !!(n.ai?.verboseAiLogs ?? L.ai?.verboseAiLogs ?? !1),
onChange: async (e) => {
- let t = !!e, i = !!(n.ai?.verboseAiLogs ?? R.ai?.verboseAiLogs ?? !1);
- n.ai = n.ai || {}, n.ai.verboseAiLogs = t, B(n), r("ai.verboseAiLogs");
+ let t = !!e, r = !!(n.ai?.verboseAiLogs ?? L.ai?.verboseAiLogs ?? !1);
+ n.ai = n.ai || {}, n.ai.verboseAiLogs = t, z(n), i("ai.verboseAiLogs");
try {
- let e = await ve(t);
+ let e = await le(t);
if (!e?.ok) throw Error(e?.error || "Failed to update AI logging settings");
} catch (e) {
- n.ai.verboseAiLogs = i, B(n), r("ai.verboseAiLogs"), E(e?.message || "Failed to update AI logging settings", "error");
+ n.ai.verboseAiLogs = r, z(n), i("ai.verboseAiLogs"), g(e?.message || "Failed to update AI logging settings", "error");
}
}
}), (async () => {
try {
- let e = !!(await g())?.data?.prefs?.enabled;
- n.ai = n.ai || {}, n.ai.verboseAiLogs !== e && (n.ai.verboseAiLogs = e, B(n), r("ai.verboseAiLogs"));
+ let e = !!(await S())?.data?.prefs?.enabled;
+ n.ai = n.ai || {}, n.ai.verboseAiLogs !== e && (n.ai.verboseAiLogs = e, z(n), i("ai.verboseAiLogs"));
} catch (e) {
console.debug?.(e);
}
@@ -2605,7 +2605,7 @@ function on(e, n, r, a) {
defaultValue: "Loading vector status..."
}), (async () => {
try {
- let e = await i();
+ let e = await d();
e?.ok ? console.debug?.("[Majoor] Vector status:", `${e.data?.total || 0} assets indexed | Model: ${e.data?.model || "N/A"}`) : console.debug?.("[Majoor] Vector status unavailable");
} catch (e) {
console.debug?.("[Majoor] Vector status fetch failed", e);
@@ -2628,14 +2628,14 @@ function on(e, n, r, a) {
forceStore: !0
} };
try {
- E(M("toast.vectorBackfillStarting", "Starting vector backfill... This may take a while."), "info", void 0, { history: {
+ g(M("toast.vectorBackfillStarting", "Starting vector backfill... This may take a while."), "info", void 0, { history: {
...t.history,
status: "started",
detail: "Starting vector backfill... This may take a while."
} });
- let e = await b(64, { onProgress: (e) => {
+ let e = await f(64, { onProgress: (e) => {
let n = String(e?.status || "running").toLowerCase() || "running", r = e?.progress || e?.result || {}, i = Number(r?.candidates ?? r?.processed ?? 0), a = Number(r?.indexed ?? 0), o = Number(r?.skipped ?? 0), s = Number(r?.errors ?? 0), c = Math.max(i, a + o + s), l = c > 0 ? Math.round((a + o + s) / c * 100) : null, u = n === "queued" ? "Vector backfill queued" : `Candidates ${i}, indexed ${a}, skipped ${o}, errors ${s}`;
- h({
+ m({
summary: "Vector Backfill",
detail: u
}, n === "failed" ? "error" : n === "succeeded" ? "success" : "info", 0, { history: {
@@ -2654,48 +2654,48 @@ function on(e, n, r, a) {
} });
} });
if (e?.ok) {
- let n = e.data || {}, r = String(n?.status || "").toLowerCase(), a = !!n?.pending || [
+ let n = e.data || {}, r = String(n?.status || "").toLowerCase(), i = !!n?.pending || [
"queued",
"running",
"pending"
- ].includes(r), o = n?.progress || {}, s = Number(n?.processed ?? o?.candidates ?? 0), c = Number(n?.indexed ?? o?.indexed ?? 0), l = Number(n?.skipped ?? o?.skipped ?? 0);
- if (a) {
+ ].includes(r), a = n?.progress || {}, o = Number(n?.processed ?? a?.candidates ?? 0), s = Number(n?.indexed ?? a?.indexed ?? 0), c = Number(n?.skipped ?? a?.skipped ?? 0);
+ if (i) {
let e = String(n?.job_id || "").trim();
- E(M("toast.vectorBackfillRunning", "Vector backfill still running in background{job}.", { job: e ? ` (job ${e.slice(0, 8)})` : "" }), "info", void 0, { history: {
+ g(M("toast.vectorBackfillRunning", "Vector backfill still running in background{job}.", { job: e ? ` (job ${e.slice(0, 8)})` : "" }), "info", void 0, { history: {
...t.history,
status: "running",
detail: `Vector backfill still running in background${e ? ` (${e.slice(0, 8)})` : ""}.`,
progress: {
- current: c + l,
- total: Math.max(s, c + l),
- percent: Math.max(s, c + l) > 0 ? Math.round((c + l) / Math.max(s, c + l) * 100) : null,
- indexed: c,
- skipped: l,
+ current: s + c,
+ total: Math.max(o, s + c),
+ percent: Math.max(o, s + c) > 0 ? Math.round((s + c) / Math.max(o, s + c) * 100) : null,
+ indexed: s,
+ skipped: c,
label: "running"
}
} });
} else {
let e = M("toast.vectorBackfillComplete", "Vector backfill complete! Processed: {processed}, Indexed: {indexed}, Skipped: {skipped}", {
- processed: s,
- indexed: c,
- skipped: l
+ processed: o,
+ indexed: s,
+ skipped: c
});
- E(e, "success", void 0, { history: {
+ g(e, "success", void 0, { history: {
...t.history,
status: "succeeded",
- detail: `Processed ${s}, indexed ${c}, skipped ${l}`,
+ detail: `Processed ${o}, indexed ${s}, skipped ${c}`,
progress: {
- current: s,
- total: s,
- percent: s > 0 ? 100 : null,
- indexed: c,
- skipped: l,
+ current: o,
+ total: o,
+ percent: o > 0 ? 100 : null,
+ indexed: s,
+ skipped: c,
label: "done"
}
} });
}
try {
- let e = await i();
+ let e = await d();
e?.ok && console.debug?.("[Majoor] Vector stats after backfill:", e.data);
} catch (e) {
console.debug?.("[Majoor] Failed to refresh vector stats:", e);
@@ -2703,7 +2703,7 @@ function on(e, n, r, a) {
} else throw Error(e?.error || M("toast.vectorBackfillFailedGeneric", "Backfill failed"));
} catch (e) {
let n = e?.message || String(e || M("status.unknown", "unknown"));
- E(M("toast.vectorBackfillFailedDetail", "Vector backfill failed: {error}", { error: n }), "error", void 0, { history: {
+ g(M("toast.vectorBackfillFailedDetail", "Vector backfill failed: {error}", { error: n }), "error", void 0, { history: {
...t.history,
status: "failed",
detail: n
@@ -2730,16 +2730,16 @@ function ln(e, t, n) {
onChange: async (e) => {
t.ai = t.ai || {};
let r = !!(t.ai.vectorSearchEnabled ?? !0), i = !!e;
- t.ai.vectorSearchEnabled = i, B(t), V(t), n("ai.vectorSearchEnabled");
+ t.ai.vectorSearchEnabled = i, z(t), B(t), n("ai.vectorSearchEnabled");
try {
- let e = await s(i);
+ let e = await me(i);
if (!e?.ok) {
- t.ai.vectorSearchEnabled = r, B(t), V(t), n("ai.vectorSearchEnabled"), E(e?.error || "Failed to update AI vector search setting", "error");
+ t.ai.vectorSearchEnabled = r, z(t), B(t), n("ai.vectorSearchEnabled"), g(e?.error || "Failed to update AI vector search setting", "error");
return;
}
- E(i ? "AI semantic search enabled" : "AI semantic search disabled", "info", 2200);
+ g(i ? "AI semantic search enabled" : "AI semantic search disabled", "info", 2200);
} catch (e) {
- t.ai.vectorSearchEnabled = r, B(t), V(t), n("ai.vectorSearchEnabled"), E(e?.message || "Failed to update AI vector search setting", "error");
+ t.ai.vectorSearchEnabled = r, z(t), B(t), n("ai.vectorSearchEnabled"), g(e?.message || "Failed to update AI vector search setting", "error");
}
}
}), e({
@@ -2752,16 +2752,16 @@ function ln(e, t, n) {
onChange: async (e) => {
t.ai = t.ai || {};
let r = !!(t.ai.vectorCaptionOnIndex ?? !1), i = !!e;
- t.ai.vectorCaptionOnIndex = i, B(t), V(t), n("ai.vectorCaptionOnIndex");
+ t.ai.vectorCaptionOnIndex = i, z(t), B(t), n("ai.vectorCaptionOnIndex");
try {
- let e = await s({ caption_on_index: i });
+ let e = await me({ caption_on_index: i });
if (!e?.ok) {
- t.ai.vectorCaptionOnIndex = r, B(t), V(t), n("ai.vectorCaptionOnIndex"), E(e?.error || "Failed to update AI caption indexing setting", "error");
+ t.ai.vectorCaptionOnIndex = r, z(t), B(t), n("ai.vectorCaptionOnIndex"), g(e?.error || "Failed to update AI caption indexing setting", "error");
return;
}
- i && E("AI captions during indexing enabled", "info", 2600);
+ i && g("AI captions during indexing enabled", "info", 2600);
} catch (e) {
- t.ai.vectorCaptionOnIndex = r, B(t), V(t), n("ai.vectorCaptionOnIndex"), E(e?.message || "Failed to update AI caption indexing setting", "error");
+ t.ai.vectorCaptionOnIndex = r, z(t), B(t), n("ai.vectorCaptionOnIndex"), g(e?.message || "Failed to update AI caption indexing setting", "error");
}
}
}), e({
@@ -2774,16 +2774,16 @@ function ln(e, t, n) {
onChange: async (e) => {
t.ai = t.ai || {};
let r = !!(t.ai.vectorIndexOnScan ?? !1), i = !!e;
- t.ai.vectorIndexOnScan = i, B(t), V(t), n("ai.vectorIndexOnScan");
+ t.ai.vectorIndexOnScan = i, z(t), B(t), n("ai.vectorIndexOnScan");
try {
- let e = await s({ index_on_scan: i });
+ let e = await me({ index_on_scan: i });
if (!e?.ok) {
- t.ai.vectorIndexOnScan = r, B(t), V(t), n("ai.vectorIndexOnScan"), E(e?.error || "Failed to update vector scan indexing", "error");
+ t.ai.vectorIndexOnScan = r, z(t), B(t), n("ai.vectorIndexOnScan"), g(e?.error || "Failed to update vector scan indexing", "error");
return;
}
- E(i ? "Vector indexing during scans enabled" : "Vector indexing during scans disabled", "info", 2400);
+ g(i ? "Vector indexing during scans enabled" : "Vector indexing during scans disabled", "info", 2400);
} catch (e) {
- t.ai.vectorIndexOnScan = r, B(t), V(t), n("ai.vectorIndexOnScan"), E(e?.message || "Failed to update vector scan indexing", "error");
+ t.ai.vectorIndexOnScan = r, z(t), B(t), n("ai.vectorIndexOnScan"), g(e?.message || "Failed to update vector scan indexing", "error");
}
}
}), e({
@@ -2801,12 +2801,12 @@ function ln(e, t, n) {
onChange: async (e) => {
t.ai = t.ai || {};
let r = Number(t.ai.vectorConcurrency || 1), i = Math.max(1, Math.min(16, Math.floor(Number(e) || 1)));
- t.ai.vectorConcurrency = i, B(t), V(t), n("ai.vectorConcurrency");
+ t.ai.vectorConcurrency = i, z(t), B(t), n("ai.vectorConcurrency");
try {
- let e = await s({ concurrency: i });
- e?.ok || (t.ai.vectorConcurrency = r, B(t), V(t), n("ai.vectorConcurrency"), E(e?.error || "Failed to update vector concurrency", "error"));
+ let e = await me({ concurrency: i });
+ e?.ok || (t.ai.vectorConcurrency = r, z(t), B(t), n("ai.vectorConcurrency"), g(e?.error || "Failed to update vector concurrency", "error"));
} catch (e) {
- t.ai.vectorConcurrency = r, B(t), V(t), n("ai.vectorConcurrency"), E(e?.message || "Failed to update vector concurrency", "error");
+ t.ai.vectorConcurrency = r, z(t), B(t), n("ai.vectorConcurrency"), g(e?.message || "Failed to update vector concurrency", "error");
}
}
}), e({
@@ -2819,16 +2819,16 @@ function ln(e, t, n) {
onChange: async (e) => {
t.ai = t.ai || {};
let r = !!(t.ai.vectorUnloadAfterUse ?? !1), i = !!e;
- t.ai.vectorUnloadAfterUse = i, B(t), V(t), n("ai.vectorUnloadAfterUse");
+ t.ai.vectorUnloadAfterUse = i, z(t), B(t), n("ai.vectorUnloadAfterUse");
try {
- let e = await s({ unload_after_use: i });
+ let e = await me({ unload_after_use: i });
if (!e?.ok) {
- t.ai.vectorUnloadAfterUse = r, B(t), V(t), n("ai.vectorUnloadAfterUse"), E(e?.error || "Failed to update model unload setting", "error");
+ t.ai.vectorUnloadAfterUse = r, z(t), B(t), n("ai.vectorUnloadAfterUse"), g(e?.error || "Failed to update model unload setting", "error");
return;
}
- E(i ? "AI model unload after use enabled" : "AI model unload after use disabled", "info", 2400);
+ g(i ? "AI model unload after use enabled" : "AI model unload after use disabled", "info", 2400);
} catch (e) {
- t.ai.vectorUnloadAfterUse = r, B(t), V(t), n("ai.vectorUnloadAfterUse"), E(e?.message || "Failed to update model unload setting", "error");
+ t.ai.vectorUnloadAfterUse = r, z(t), B(t), n("ai.vectorUnloadAfterUse"), g(e?.message || "Failed to update model unload setting", "error");
}
}
}), e({
@@ -2841,10 +2841,10 @@ function ln(e, t, n) {
defaultValue: "Idle",
onChange: async (e) => {
if (String(e || "") === "Unload now") try {
- let e = await _();
- E(e?.ok ? "Majoor AI model cache unloaded" : e?.error || "Failed to unload Majoor AI model cache", e?.ok ? "info" : "error", 2600);
+ let e = await b();
+ g(e?.ok ? "Majoor AI model cache unloaded" : e?.error || "Failed to unload Majoor AI model cache", e?.ok ? "info" : "error", 2600);
} catch (e) {
- E(e?.message || "Failed to unload Majoor AI model cache", "error");
+ g(e?.message || "Failed to unload Majoor AI model cache", "error");
}
}
}), e({
@@ -2853,14 +2853,14 @@ function ln(e, t, n) {
name: M("setting.search.maxResults.name", "Max search results (client)"),
tooltip: M("setting.search.maxResults.desc", "Maximum number of results requested per search. The backend still enforces MAJOOR_SEARCH_MAX_LIMIT; increase that env var if you need a higher hard cap."),
type: "number",
- defaultValue: Number(t.search?.maxResults || N.SEARCH_DEFAULT_LIMIT),
+ defaultValue: Number(t.search?.maxResults || j.SEARCH_DEFAULT_LIMIT),
attrs: {
min: 10,
- max: N.MAX_PAGE_SIZE || 2e3,
+ max: j.MAX_PAGE_SIZE || 2e3,
step: 1
},
onChange: (e) => {
- t.search = t.search || {}, t.search.maxResults = Math.max(10, Math.min(N.MAX_PAGE_SIZE || 2e3, Number(e) || N.SEARCH_DEFAULT_LIMIT)), B(t), V(t), n("search.maxResults");
+ t.search = t.search || {}, t.search.maxResults = Math.max(10, Math.min(j.MAX_PAGE_SIZE || 2e3, Number(e) || j.SEARCH_DEFAULT_LIMIT)), z(t), B(t), n("search.maxResults");
}
}), e({
id: `${sn}.EnvVars.Reference`,
@@ -2921,14 +2921,14 @@ function Tn(e) {
}
return !t.tooltip && typeof t.name == "string" && t.name.trim() && (t.tooltip = t.name.trim()), t;
}
-function En(e, t, n) {
- let r = String(t?.id || "").trim();
- if (!r || wn.has(r)) return !1;
- wn.add(r);
+function En(e, n, r) {
+ let i = String(n?.id || "").trim();
+ if (!i || wn.has(i)) return !1;
+ wn.add(i);
try {
- return S(e, r, n);
+ return t(e, i, r);
} finally {
- wn.delete(r);
+ wn.delete(i);
}
}
function Dn(e, t) {
@@ -2945,7 +2945,7 @@ function On(e) {
try {
return JSON.parse(JSON.stringify(e || {}));
} catch {
- return { ...R };
+ return { ...L };
}
}
function kn(e, t, n, { wrapForComfy: r = !0 } = {}) {
@@ -2953,7 +2953,7 @@ function kn(e, t, n, { wrapForComfy: r = !0 } = {}) {
let n = Tn(e);
n && i.push(r ? Dn(t, n) : n);
};
- return At(a, e, n), Rt(a, e, n), Nt(a, e, n), Ft(a, e, n), rn(a, e, n), on(a, e, n, t), ln(a, e, n), i;
+ return jt(a, e, n), Rt(a, e, n), Nt(a, e, n), Ft(a, e, n), rn(a, e, n), on(a, e, n, t), ln(a, e, n), i;
}
function An(e, t) {
if (e === t) return !0;
@@ -2974,7 +2974,7 @@ function Nn(e, t, n) {
String(e?.id || "").trim() && (En(n, e, t), typeof e?.onChange == "function" && e.onChange(t));
}
function Pn(e, t, n, r) {
- let i = !An(a(r, t.id, t.defaultValue), n);
+ let i = !An(w(r, t.id, t.defaultValue), n);
e.disabled = !i, e.style.opacity = i ? "1" : "0.45";
}
function Fn() {
@@ -3017,27 +3017,27 @@ function In(e, t, n) {
function Ln(e, t, { initRuntime: n = !1 } = {}) {
if (Sn) typeof t == "function" && Sn.onAppliedListeners.add(t), e && !Sn.app && (Sn.app = e);
else {
- let n = z();
- n.i18n = n.i18n || {}, typeof n.i18n.followComfyLanguage == "boolean" ? xe(!!n.i18n.followComfyLanguage) : (n.i18n.followComfyLanguage = !0, xe(!0), B(n));
+ let n = R();
+ n.i18n = n.i18n || {}, typeof n.i18n.followComfyLanguage == "boolean" ? ve(!!n.i18n.followComfyLanguage) : (n.i18n.followComfyLanguage = !0, ve(!0), z(n));
let r = /* @__PURE__ */ new Set();
typeof t == "function" && r.add(t);
let i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), o = () => {
if (!i.size) return;
let e = Array.from(i);
i.clear();
- for (let t of e) ke("mjr-settings-changed", { key: t }, { warnPrefix: "[Majoor]" });
+ for (let t of e) Ae("mjr-settings-changed", { key: t }, { warnPrefix: "[Majoor]" });
}, s = () => {
if (!a.size) return;
let e = Array.from(a);
a.clear();
- for (let t of e) ke("mjr-settings-changed", { key: t }, { warnPrefix: "[Majoor]" });
- }, c = _t(o, 120), l = _t(s, 450), u = (e) => {
+ for (let t of e) Ae("mjr-settings-changed", { key: t }, { warnPrefix: "[Majoor]" });
+ }, c = vt(o, 120), l = vt(s, 450), u = (e) => {
typeof e == "string" && i.add(e), c();
}, d = (e) => {
typeof e == "string" && a.add(e), l();
}, f = () => {
- let e = z();
- Object.assign(n, e), V(n), u("storage");
+ let e = R();
+ Object.assign(n, e), B(n), u("storage");
}, p = (e) => {
e && e.key === "mjrSettings" && e.newValue !== e.oldValue && f();
};
@@ -3070,14 +3070,14 @@ function Ln(e, t, { initRuntime: n = !1 } = {}) {
}
if (n && !Cn) {
let t = e || Sn.app, n = Sn.settings;
- oe(t), V(n), be(t), rt(), it(), at(), n?.watcher && typeof n.watcher.enabled == "boolean" && de(!!n.watcher.enabled).catch(() => {}), ht(), Cn = !0;
+ he(t), B(n), k(t), it(), at(), ot(), n?.watcher && typeof n.watcher.enabled == "boolean" && v(!!n.watcher.enabled).catch(() => {}), gt(), Cn = !0;
}
return Sn;
}
var Rn = (e, t) => Ln(e, t, { initRuntime: !0 }).settings, zn = (e, t) => {
let n = Ln(e, t, { initRuntime: !1 });
- Object.assign(n.settings, z());
- let r = e || n.app, i = kn(n.settings, r, n.notifyApplied), a = kn(On(R), r, () => {}, { wrapForComfy: !1 });
+ Object.assign(n.settings, R());
+ let r = e || n.app, i = kn(n.settings, r, n.notifyApplied), a = kn(On(L), r, () => {}, { wrapForComfy: !1 });
return i.unshift(Dn(r, {
id: mn,
category: [
@@ -3092,10 +3092,10 @@ var Rn = (e, t) => Ln(e, t, { initRuntime: !0 }).settings, zn = (e, t) => {
})), In(r, i, a), i;
};
try {
- let e = z();
- e?.watcher && typeof e.watcher.enabled == "boolean" && Se().then((e) => {
- let t = !!e?.ok && !!e?.data?.enabled, n = z();
- n.watcher = n.watcher || {}, typeof t == "boolean" && t !== !!n.watcher.enabled && (n.watcher.enabled = t, B(n), ke("mjr-settings-changed", { key: "watcher.enabled" }, { warnPrefix: "[Majoor]" }));
+ let e = R();
+ e?.watcher && typeof e.watcher.enabled == "boolean" && ye().then((e) => {
+ let t = !!e?.ok && !!e?.data?.enabled, n = R();
+ n.watcher = n.watcher || {}, typeof t == "boolean" && t !== !!n.watcher.enabled && (n.watcher.enabled = t, z(n), Ae("mjr-settings-changed", { key: "watcher.enabled" }, { warnPrefix: "[Majoor]" }));
}).catch(() => {});
} catch (e) {
console.debug?.(e);
@@ -3281,23 +3281,23 @@ function rr(e, t, n = null) {
if (!m.length) return r.clearRect(0, 0, l, u), null;
let v = m[0].x, y = m[0].y, b = m[0].x + m[0].w, x = m[0].y + m[0].h;
for (let e of m) v = Math.min(v, e.x), y = Math.min(y, e.y), b = Math.max(b, e.x + e.w), x = Math.max(x, e.y + e.h);
- let S = Math.max(1, b - v), C = Math.max(1, x - y), ee = v + S / 2, te = y + C / 2, w = i.view && typeof i.view == "object" ? i.view : Object.create(null), ne = er(w.zoom ?? 1, Yn, Xn), T = Math.max(1, S / ne), E = Math.max(1, C / ne), D = T / 2, O = E / 2, re = T >= S ? ee : er(w.centerX ?? ee, v + D, b - D), ie = E >= C ? te : er(w.centerY ?? te, y + O, x - O), ae = re - D, k = ie - O, A = Jn, j = Math.min((l - 12) / T, (u - 12) / E), oe = w.hoveredNodeId !== null && w.hoveredNodeId !== void 0 ? String(w.hoveredNodeId) : null;
+ let S = Math.max(1, b - v), C = Math.max(1, x - y), w = v + S / 2, ee = y + C / 2, T = i.view && typeof i.view == "object" ? i.view : Object.create(null), E = er(T.zoom ?? 1, Yn, Xn), te = Math.max(1, S / E), D = Math.max(1, C / E), O = te / 2, ne = D / 2, re = te >= S ? w : er(T.centerX ?? w, v + O, b - O), ae = D >= C ? ee : er(T.centerY ?? ee, y + ne, x - ne), k = re - O, oe = ae - ne, se = Jn, A = Math.min((l - 12) / te, (u - 12) / D), ce = T.hoveredNodeId !== null && T.hoveredNodeId !== void 0 ? String(T.hoveredNodeId) : null;
r.clearRect(0, 0, l, u), r.fillStyle = "rgba(0,0,0,0.22)", r.fillRect(0, 0, l, u);
- let se = (e, t) => ({
- x: A + (e - ae) * j,
- y: A + (t - k) * j
- }), ce = (e, t) => ({
- x: er(ae + (Number(e) - A) / j, v, b),
- y: er(k + (Number(t) - A) / j, y, x)
- }), ue = (e) => ({
- x: A + (e.x - ae) * j,
- y: A + (e.y - k) * j,
- w: Math.max(1, e.w * j),
- h: Math.max(1, e.h * j)
- }), M = (e) => Math.max(10, Math.min(24, Math.floor(Number(e) * .2))), de = (e, t, n) => {
- let r = ue(e), i = M(r.h), a = n === "output" ? e.outputs : e.inputs, o = Math.max(1, Array.isArray(a) ? a.length : Number(e[`${n}Count`]) || 0), s = er(t, 0, Math.max(0, o - 1));
+ let le = (e, t) => ({
+ x: se + (e - k) * A,
+ y: se + (t - oe) * A
+ }), ue = (e, t) => ({
+ x: er(k + (Number(e) - se) / A, v, b),
+ y: er(oe + (Number(t) - se) / A, y, x)
+ }), de = (e) => ({
+ x: se + (e.x - k) * A,
+ y: se + (e.y - oe) * A,
+ w: Math.max(1, e.w * A),
+ h: Math.max(1, e.h * A)
+ }), fe = (e) => Math.max(10, Math.min(24, Math.floor(Number(e) * .2))), pe = (e, t, n) => {
+ let r = de(e), i = fe(r.h), a = n === "output" ? e.outputs : e.inputs, o = Math.max(1, Array.isArray(a) ? a.length : Number(e[`${n}Count`]) || 0), s = er(t, 0, Math.max(0, o - 1));
return r.y + i + (r.h - i) * (s + 1) / (o + 1);
- }, fe = (e) => Array.isArray(e) && e.length >= 5 ? {
+ }, me = (e) => Array.isArray(e) && e.length >= 5 ? {
originId: e[1],
originSlot: Number(e[2]) || 0,
targetId: e[3],
@@ -3309,30 +3309,30 @@ function rr(e, t, n = null) {
targetId: e.target_id ?? e.targetId ?? e.to ?? null,
targetSlot: Number(e.target_slot ?? e.targetSlot ?? e.toSlot ?? 0) || 0,
type: e.type
- } : null, pe = (e) => {
+ } : null, j = (e) => {
let t = String(e || "").toUpperCase();
return t.includes("IMAGE") ? "rgba(145,198,99,0.38)" : t.includes("LATENT") ? "rgba(89,178,118,0.38)" : t.includes("MODEL") ? "rgba(112,155,255,0.38)" : t.includes("CONDITIONING") ? "rgba(191,123,226,0.38)" : t.includes("CLIP") ? "rgba(220,178,77,0.38)" : t.includes("VAE") ? "rgba(72,184,214,0.38)" : t.includes("MASK") ? "rgba(190,190,190,0.36)" : "rgba(255,255,255,0.2)";
- }, me = () => {
+ }, he = () => {
if (i.showLinks && c && c.length !== 0) {
r.save(), r.globalAlpha = 1, r.lineWidth = 1;
for (let e of c) {
- let t = fe(e), n = t?.originId, i = t?.targetId;
+ let t = me(e), n = t?.originId, i = t?.targetId;
if (n === null || i === null) continue;
let a = h.get(String(n)), o = h.get(String(i));
if (!a || !o) continue;
- let s = ue(a), c = ue(o), l = {
+ let s = de(a), c = de(o), l = {
x: s.x + s.w,
- y: de(a, t?.originSlot ?? 0, "output")
+ y: pe(a, t?.originSlot ?? 0, "output")
}, u = {
x: c.x,
- y: de(o, t?.targetSlot ?? 0, "input")
+ y: pe(o, t?.targetSlot ?? 0, "input")
}, d = Math.max(12, Math.min(80, Math.abs(u.x - l.x) * .35));
- r.strokeStyle = pe(t?.type), r.beginPath(), r.moveTo(l.x, l.y), r.bezierCurveTo(l.x + d, l.y, u.x - d, u.y, u.x, u.y), r.stroke();
+ r.strokeStyle = j(t?.type), r.beginPath(), r.moveTo(l.x, l.y), r.bezierCurveTo(l.x + d, l.y, u.x - d, u.y, u.x, u.y), r.stroke();
}
r.restore();
}
- }, N = (e) => {
- let { x: t, y: n, w: a, h: o } = ue(e), s = e.kind === "node", c = e.kind === "group", l = !!e.bypassed, u = !!e.errored, f = c ? .18 : l && i.renderBypassState ? .14 : .62, p = c ? .55 : l && i.renderBypassState ? .32 : .8, m = d(e.fill, f), h = d(e.stroke, p), g = s && i.showNodeLabels && a >= Zn && o >= Qn, _ = Math.max(2, Math.min(g ? 7 : 8, Math.floor(Math.min(a, o) * .08))), v = s ? M(o) : 0;
+ }, ge = (e) => {
+ let { x: t, y: n, w: a, h: o } = de(e), s = e.kind === "node", c = e.kind === "group", l = !!e.bypassed, u = !!e.errored, f = c ? .18 : l && i.renderBypassState ? .14 : .62, p = c ? .55 : l && i.renderBypassState ? .32 : .8, m = d(e.fill, f), h = d(e.stroke, p), g = s && i.showNodeLabels && a >= Zn && o >= Qn, _ = Math.max(2, Math.min(g ? 7 : 8, Math.floor(Math.min(a, o) * .08))), v = s ? fe(o) : 0;
if (r.save(), r.globalAlpha = 1, typeof m == "string" && (m.startsWith("#") || m.startsWith("rgb") || m.startsWith("hsl")) ? (r.fillStyle = m, r.globalAlpha = f) : (r.fillStyle = typeof m == "string" ? m : "rgba(82,88,96,0.72)", r.globalAlpha = f), typeof r.roundRect == "function" ? (r.beginPath(), r.roundRect(t, n, a, o, _), r.fill()) : r.fillRect(t, n, a, o), r.restore(), s && (r.save(), r.fillStyle = d(e.stroke || e.fill, l ? .34 : .9), typeof r.roundRect == "function" ? (r.beginPath(), r.roundRect(t, n, a, v, [
_,
_,
@@ -3352,11 +3352,11 @@ function rr(e, t, n = null) {
let n = Math.min(g ? 16 : 6, Number(e.inputCount) || 0), i = Math.min(g ? 16 : 6, Number(e.outputCount) || 0);
r.save(), r.strokeStyle = "rgba(0,0,0,0.48)", r.lineWidth = 1;
for (let i = 0; i < n; i += 1) {
- let n = de(e, i, "input");
+ let n = pe(e, i, "input");
r.fillStyle = tr(e.inputs?.[i]?.type, !1), r.beginPath(), r.arc(t, n, g ? 3 : 2.2, 0, Math.PI * 2), r.fill(), r.stroke();
}
for (let n = 0; n < i; n += 1) {
- let i = de(e, n, "output");
+ let i = pe(e, n, "output");
r.fillStyle = tr(e.outputs?.[n]?.type, !0), r.beginPath(), r.arc(t + a, i, g ? 3 : 2.2, 0, Math.PI * 2), r.fill(), r.stroke();
}
r.restore();
@@ -3369,7 +3369,7 @@ function rr(e, t, n = null) {
}
r.strokeStyle = "rgba(244,67,54,0.95)", r.lineWidth = 1.5, r.strokeRect(t - .5, n - .5, a + 1, o + 1);
}
- if (s && oe && String(e.id || "") === oe) {
+ if (s && ce && String(e.id || "") === ce) {
try {
r.setLineDash([]);
} catch (e) {
@@ -3400,24 +3400,24 @@ function rr(e, t, n = null) {
let i = Math.max(24, a * .34);
for (let a = 0; a < Math.min(8, e.inputs?.length || 0); a += 1) {
let o = e.inputs[a], s = String(o?.label || o?.localized_name || o?.name || "").trim();
- s && r.fillText(nr(r, s, i), t + 7, de(e, a, "input") + n * .35, i);
+ s && r.fillText(nr(r, s, i), t + 7, pe(e, a, "input") + n * .35, i);
}
for (let o = 0; o < Math.min(8, e.outputs?.length || 0); o += 1) {
let s = e.outputs[o], c = String(s?.label || s?.localized_name || s?.name || "").trim();
if (!c) continue;
let l = nr(r, c, i);
- r.fillText(l, t + a - 7 - Math.min(i, r.measureText(l).width), de(e, o, "output") + n * .35, i);
+ r.fillText(l, t + a - 7 - Math.min(i, r.measureText(l).width), pe(e, o, "output") + n * .35, i);
}
r.restore();
}
};
- for (let e of m.filter((e) => e.kind === "group")) N(e);
- me();
- for (let e of m.filter((e) => e.kind === "node")) N(e);
+ for (let e of m.filter((e) => e.kind === "group")) ge(e);
+ he();
+ for (let e of m.filter((e) => e.kind === "node")) ge(e);
if (i.showViewport) try {
- let e = le();
+ let e = ie();
if (e) {
- let t = se(e.x0, e.y0), n = se(e.x1, e.y1), i = Math.min(t.x, n.x), a = Math.min(t.y, n.y), o = Math.abs(n.x - t.x), s = Math.abs(n.y - t.y);
+ let t = le(e.x0, e.y0), n = le(e.x1, e.y1), i = Math.min(t.x, n.x), a = Math.min(t.y, n.y), o = Math.abs(n.x - t.x), s = Math.abs(n.y - t.y);
r.save(), r.globalAlpha = 1, r.strokeStyle = "rgba(255,255,255,0.9)", r.lineWidth = 1, r.strokeRect(i, a, o, s), r.restore();
}
} catch (e) {
@@ -3433,20 +3433,20 @@ function rr(e, t, n = null) {
height: C
},
resolvedView: {
- zoom: ne,
+ zoom: E,
centerX: re,
- centerY: ie,
- visibleW: T,
- visibleH: E,
- viewMinX: ae,
- viewMinY: k,
- pad: A,
- renderScale: j
+ centerY: ae,
+ visibleW: te,
+ visibleH: D,
+ viewMinX: k,
+ viewMinY: oe,
+ pad: se,
+ renderScale: A
},
- canvasToWorld: ce,
- worldToCanvas: se,
+ canvasToWorld: ue,
+ worldToCanvas: le,
hitTestNode: (e, t) => {
- let n = ce(e, t);
+ let n = ue(e, t);
for (let e = m.length - 1; e >= 0; --e) {
let t = m[e];
if (t.kind === "node" && n.x >= t.x && n.x <= t.x + t.w && n.y >= t.y && n.y <= t.y + t.h) return t;
@@ -3683,7 +3683,7 @@ function pr(e, t = null) {
var mr = () => {};
function hr(e) {
try {
- return !!P?.[e];
+ return !!N?.[e];
} catch {
return !1;
}
@@ -4291,22 +4291,22 @@ function ai(e) {
S != null && (n.temperature = S);
let C = t.top_k?.value ?? t.top_k ?? null;
C != null && (n.top_k = C);
- let ee = t.top_p?.value ?? t.top_p ?? null;
- ee != null && (n.top_p = ee);
- let te = t.repetition_penalty?.value ?? t.repetition_penalty ?? null;
- te != null && (n.repetition_penalty = te);
- let w = t.max_new_tokens?.value ?? t.max_new_tokens ?? null;
- w != null && (n.max_new_tokens = w);
- let ne = t.device?.value ?? t.device ?? null;
- ne != null && String(ne).trim() && (n.device = String(ne).trim());
- let T = t.voice_preset?.value ?? t.voice_preset ?? null;
- T != null && String(T).trim() && (n.voice_preset = String(T).trim());
- let E = t.instruct?.value ?? t.instruct ?? null;
- E != null && String(E).trim() && (n.instruct = String(E).trim());
- let D = t.dtype?.value ?? t.dtype ?? null;
- D != null && String(D).trim() && (n.dtype = String(D).trim());
- let O = t.attn_implementation?.value ?? t.attn_implementation ?? null;
- O != null && String(O).trim() && (n.attn_implementation = String(O).trim());
+ let w = t.top_p?.value ?? t.top_p ?? null;
+ w != null && (n.top_p = w);
+ let ee = t.repetition_penalty?.value ?? t.repetition_penalty ?? null;
+ ee != null && (n.repetition_penalty = ee);
+ let T = t.max_new_tokens?.value ?? t.max_new_tokens ?? null;
+ T != null && (n.max_new_tokens = T);
+ let E = t.device?.value ?? t.device ?? null;
+ E != null && String(E).trim() && (n.device = String(E).trim());
+ let te = t.voice_preset?.value ?? t.voice_preset ?? null;
+ te != null && String(te).trim() && (n.voice_preset = String(te).trim());
+ let D = t.instruct?.value ?? t.instruct ?? null;
+ D != null && String(D).trim() && (n.instruct = String(D).trim());
+ let O = t.dtype?.value ?? t.dtype ?? null;
+ O != null && String(O).trim() && (n.dtype = String(O).trim());
+ let ne = t.attn_implementation?.value ?? t.attn_implementation ?? null;
+ ne != null && String(ne).trim() && (n.attn_implementation = String(ne).trim());
let re = t.x_vector_only_mode?.value ?? t.x_vector_only_mode ?? null;
re != null && (n.x_vector_only_mode = re);
let ie = t.use_torch_compile?.value ?? t.use_torch_compile ?? null;
@@ -4315,32 +4315,32 @@ function ai(e) {
ae != null && (n.use_cuda_graphs = ae);
let k = t.compile_mode?.value ?? t.compile_mode ?? null;
k != null && String(k).trim() && (n.compile_mode = String(k).trim());
- let A = t.enable_chunking?.value ?? t.enable_chunking ?? null;
- A != null && (n.enable_chunking = A);
- let j = t.max_chars_per_chunk?.value ?? t.max_chars_per_chunk ?? null;
- j != null && (n.max_chars_per_chunk = j);
- let oe = t.chunk_combination_method?.value ?? t.chunk_combination_method ?? null;
- oe != null && String(oe).trim() && (n.chunk_combination_method = String(oe).trim());
- let se = t.silence_between_chunks_ms?.value ?? t.silence_between_chunks_ms ?? null;
- se != null && (n.silence_between_chunks_ms = se);
- let ce = t.enable_audio_cache?.value ?? t.enable_audio_cache ?? null;
- ce != null && (n.enable_audio_cache = ce);
- let le = t.batch_size?.value ?? t.batch_size ?? null;
- le != null && (n.batch_size = le);
- let ue = t.denoise?.value ?? t.denoise ?? null;
- ue != null && (n.denoise = ue), i(["denoise", "denoising"], t.denoise);
- let M = t.clip_skip?.value ?? t.clip_skip ?? t.clipSkip ?? null;
- M != null && (n.clip_skip = M);
- let de = t.inputs;
- Array.isArray(de) && (n.inputs = de), t.ltx_director && typeof t.ltx_director == "object" && (n.ltx_director = t.ltx_director);
- let fe = t.lyrics?.value ?? t.lyrics ?? null;
- typeof fe == "string" && fe.trim() && (n.lyrics = fe);
- let pe = t.lyrics_strength?.value ?? t.lyrics_strength ?? null;
- pe != null && (n.lyrics_strength = pe);
- let me = t.notes?.value ?? t.workflow_notes?.value ?? t.notes ?? t.workflow_notes ?? null;
- typeof me == "string" && me.trim() && (n.workflow_notes = me.trim()), i(["workflow_notes", "notes"], t.notes ?? t.workflow_notes), Array.isArray(t.custom_info) && (n.custom_info = t.custom_info), Array.isArray(t.custom_info) && t.engine?.mode === "override" && r.add("custom_info"), Array.isArray(t.all_positive_prompts) && t.all_positive_prompts.length > 1 && (n.all_positive_prompts = t.all_positive_prompts), Array.isArray(t.all_negative_prompts) && t.all_negative_prompts.length > 1 && (n.all_negative_prompts = t.all_negative_prompts), Array.isArray(t.all_samplers) && t.all_samplers.length > 1 && (n.all_samplers = t.all_samplers), Array.isArray(t.chained_passes) && t.chained_passes.length > 1 && (n.chained_passes = t.chained_passes), Array.isArray(t.all_checkpoints) && t.all_checkpoints.length > 1 && (n.all_checkpoints = t.all_checkpoints);
- let N = t.size || null;
- if (N && typeof N == "object" && (N.width !== void 0 && (n.width = N.width), N.height !== void 0 && (n.height = N.height)), t.engine && typeof t.engine == "object" && (n.engine = t.engine, (t.engine.mode === "override" || t.engine.parser_version === "geninfo-override-v1" || t.engine.source === "majoor_geninfo") && (n.is_override = !0)), r.size && (n.override_fields = Array.from(r)), ui(n, pi(e)), mi(n, e), Object.keys(n).length) return n;
+ let oe = t.enable_chunking?.value ?? t.enable_chunking ?? null;
+ oe != null && (n.enable_chunking = oe);
+ let se = t.max_chars_per_chunk?.value ?? t.max_chars_per_chunk ?? null;
+ se != null && (n.max_chars_per_chunk = se);
+ let A = t.chunk_combination_method?.value ?? t.chunk_combination_method ?? null;
+ A != null && String(A).trim() && (n.chunk_combination_method = String(A).trim());
+ let ce = t.silence_between_chunks_ms?.value ?? t.silence_between_chunks_ms ?? null;
+ ce != null && (n.silence_between_chunks_ms = ce);
+ let le = t.enable_audio_cache?.value ?? t.enable_audio_cache ?? null;
+ le != null && (n.enable_audio_cache = le);
+ let ue = t.batch_size?.value ?? t.batch_size ?? null;
+ ue != null && (n.batch_size = ue);
+ let de = t.denoise?.value ?? t.denoise ?? null;
+ de != null && (n.denoise = de), i(["denoise", "denoising"], t.denoise);
+ let fe = t.clip_skip?.value ?? t.clip_skip ?? t.clipSkip ?? null;
+ fe != null && (n.clip_skip = fe);
+ let pe = t.inputs;
+ Array.isArray(pe) && (n.inputs = pe), t.ltx_director && typeof t.ltx_director == "object" && (n.ltx_director = t.ltx_director);
+ let me = t.lyrics?.value ?? t.lyrics ?? null;
+ typeof me == "string" && me.trim() && (n.lyrics = me);
+ let j = t.lyrics_strength?.value ?? t.lyrics_strength ?? null;
+ j != null && (n.lyrics_strength = j);
+ let he = t.notes?.value ?? t.workflow_notes?.value ?? t.notes ?? t.workflow_notes ?? null;
+ typeof he == "string" && he.trim() && (n.workflow_notes = he.trim()), i(["workflow_notes", "notes"], t.notes ?? t.workflow_notes), Array.isArray(t.custom_info) && (n.custom_info = t.custom_info), Array.isArray(t.custom_info) && t.engine?.mode === "override" && r.add("custom_info"), Array.isArray(t.all_positive_prompts) && t.all_positive_prompts.length > 1 && (n.all_positive_prompts = t.all_positive_prompts), Array.isArray(t.all_negative_prompts) && t.all_negative_prompts.length > 1 && (n.all_negative_prompts = t.all_negative_prompts), Array.isArray(t.all_samplers) && t.all_samplers.length > 1 && (n.all_samplers = t.all_samplers), Array.isArray(t.chained_passes) && t.chained_passes.length > 1 && (n.chained_passes = t.chained_passes), Array.isArray(t.all_checkpoints) && t.all_checkpoints.length > 1 && (n.all_checkpoints = t.all_checkpoints);
+ let ge = t.size || null;
+ if (ge && typeof ge == "object" && (ge.width !== void 0 && (n.width = ge.width), ge.height !== void 0 && (n.height = ge.height)), t.engine && typeof t.engine == "object" && (n.engine = t.engine, (t.engine.mode === "override" || t.engine.parser_version === "geninfo-override-v1" || t.engine.source === "majoor_geninfo") && (n.is_override = !0)), r.size && (n.override_fields = Array.from(r)), ui(n, pi(e)), mi(n, e), Object.keys(n).length) return n;
}
let n = Tr(e);
if (n) return n;
@@ -4581,7 +4581,7 @@ function Ti(e) {
}
function Ei() {
try {
- return !!(z()?.ai?.vectorSearchEnabled ?? !0);
+ return !!(R()?.ai?.vectorSearchEnabled ?? !0);
} catch {
return !0;
}
@@ -4607,7 +4607,7 @@ function Ai(e) {
if (!t) return [];
let n = String(e?.subfolder || "").trim(), r = String(e?.folder_type || "input").trim().toLowerCase(), i = [], a = (e) => {
if (!e) return;
- let r = A(t, n, e);
+ let r = xe(t, n, e);
r && !i.includes(r) && i.push(r);
};
return (r === "input" || r === "output") && a(r), a("input"), a("output"), i;
@@ -5243,7 +5243,7 @@ function ia(e) {
Bi(M("sidebar.generation.cudaGraphs", "CUDA Graphs"), r.use_cuda_graphs),
Bi(M("sidebar.generation.xVectorOnly", "X-Vector Only"), r.x_vector_only_mode)
].filter(Boolean).forEach((e) => C.push(e));
- let ee = [];
+ let w = [];
[
Bi(M("sidebar.generation.chunking", "Chunking"), r.enable_chunking),
r.max_chars_per_chunk !== void 0 && r.max_chars_per_chunk !== null ? {
@@ -5263,27 +5263,27 @@ function ia(e) {
label: M("sidebar.generation.batchSize", "Batch Size"),
value: r.batch_size
} : null
- ].filter(Boolean).forEach((e) => ee.push(e));
- let te = [];
- r.lyrics_strength !== void 0 && r.lyrics_strength !== null && te.push({
+ ].filter(Boolean).forEach((e) => w.push(e));
+ let ee = [];
+ r.lyrics_strength !== void 0 && r.lyrics_strength !== null && ee.push({
label: M("sidebar.generation.lyricsStrength", "Lyrics Strength"),
value: r.lyrics_strength
});
- let w = [];
- Q(b) && !v.some((e) => e.label === "Denoise") && w.push({
+ let T = [];
+ Q(b) && !v.some((e) => e.label === "Denoise") && T.push({
label: M("sidebar.generation.denoise", "Denoise"),
value: b
- }), Q(r.clip_skip) && w.push({
+ }), Q(r.clip_skip) && T.push({
label: M("sidebar.generation.clipSkip", "Clip Skip"),
value: r.clip_skip
});
- let ne = [], T = String(r.workflow_notes || r.notes || "").trim();
- T && ne.push({
+ let E = [], te = String(r.workflow_notes || r.notes || "").trim();
+ te && E.push({
label: M("sidebar.generation.workflowNotes", "Workflow Notes"),
- value: T,
+ value: te,
override: $(o, "workflow_notes", "notes")
});
- let E = ta(r.custom_info), D = Qi(r, h, v, x), O = $i(r, x, E, l.workflowType), re = Xi(r, x), ie = Array.isArray(r.inputs) ? r.inputs.filter((e) => e && typeof e == "object" && e.filename).map((e, t) => ({
+ let D = ta(r.custom_info), O = Qi(r, h, v, x), ne = $i(r, x, D, l.workflowType), re = Xi(r, x), ie = Array.isArray(r.inputs) ? r.inputs.filter((e) => e && typeof e == "object" && e.filename).map((e, t) => ({
id: `${e.filename}-${t}`,
filename: String(e.filename || "").trim(),
subfolder: String(e.subfolder || "").trim(),
@@ -5315,24 +5315,24 @@ function ia(e) {
lyrics: String(r.lyrics || "").trim(),
modelFields: f,
modelGroups: h,
- branchCards: D,
+ branchCards: O,
pipelineTabs: x,
samplingFields: v,
ttsFields: S,
ttsEngineFields: C,
ttsInstruction: String(r.instruct || "").trim(),
- ttsRuntimeFields: ee,
- audioFields: te,
+ ttsRuntimeFields: w,
+ audioFields: ee,
seed: re,
- imageFields: w,
+ imageFields: T,
inputFiles: ie,
isOverride: c,
overrideLabel: c ? "Gen Info Override" : "",
- notesFields: ne,
- customInfoBlocks: E,
- moduleBlocks: O,
+ notesFields: E,
+ customInfoBlocks: D,
+ moduleBlocks: ne,
ltxDirector: i,
ideogram: a
};
}
-export { B as A, zn as C, _t as D, Ot as E, Ve as M, ke as N, V as O, qn as S, Dt as T, _r as _, Mi as a, Kn as b, J as c, Sr as d, yr as f, vr as g, mr as h, Ei as i, Be as j, z as k, ai as l, xr as m, Di as n, ki as o, br as p, Oi as r, xi as s, ia as t, q as u, rr as v, Rn as w, Wn as x, pr as y };
+export { z as A, zn as C, vt as D, kt as E, He as M, Ae as N, B as O, qn as S, Ot as T, _r as _, Mi as a, Kn as b, J as c, Sr as d, yr as f, vr as g, mr as h, Ei as i, Ve as j, R as k, ai as l, xr as m, Di as n, ki as o, br as p, Oi as r, xi as s, ia as t, q as u, rr as v, Rn as w, Wn as x, pr as y };
diff --git a/dist/chunks/mjr-primevue-C07IsEdU.js b/dist/chunks/mjr-primevue-QrNPJaqR.js
similarity index 81%
rename from dist/chunks/mjr-primevue-C07IsEdU.js
rename to dist/chunks/mjr-primevue-QrNPJaqR.js
index 15a4b91e..723bb524 100644
--- a/dist/chunks/mjr-primevue-C07IsEdU.js
+++ b/dist/chunks/mjr-primevue-QrNPJaqR.js
@@ -63,7 +63,7 @@ function _e(e) {
let { class: t, style: n } = e;
return t && !g(t) && (e.class = O(t)), n && (e.style = fe(n)), e;
}
-var ve = /* @__PURE__ */ e("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly");
+var ve = /* @__PURE__ */ e("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");
function ye(e) {
return !!e || e === "";
}
@@ -417,13 +417,13 @@ function ct(e, t) {
}
function lt(e) {
let t = /* @__PURE__ */ M(e);
- return t === e || (ot(t, "iterate", at), /* @__PURE__ */ Yt(e)) ? t : /* @__PURE__ */ Jt(e) ? /* @__PURE__ */ qt(e) ? t.map((e) => $t(Qt(e))) : t.map($t) : t.map(Qt);
+ return t === e || (ot(t, "iterate", at), /* @__PURE__ */ Jt(e)) ? t : /* @__PURE__ */ qt(e) ? /* @__PURE__ */ Kt(e) ? t.map((e) => Qt(Zt(e))) : t.map(Qt) : t.map(Zt);
}
function ut(e) {
return ot(e = /* @__PURE__ */ M(e), "iterate", at), e;
}
function dt(e, t) {
- return /* @__PURE__ */ Jt(e) ? $t(/* @__PURE__ */ qt(e) ? Qt(t) : t) : Qt(t);
+ return /* @__PURE__ */ qt(e) ? Qt(/* @__PURE__ */ Kt(e) ? Zt(t) : t) : Zt(t);
}
var ft = {
__proto__: null,
@@ -437,61 +437,61 @@ var ft = {
return pt(this, "entries", (e) => (e[1] = dt(this, e[1]), e));
},
every(e, t) {
- return gt(this, "every", e, t, void 0, arguments);
+ return ht(this, "every", e, t, void 0, arguments);
},
filter(e, t) {
- return gt(this, "filter", e, t, (e) => e.map((e) => dt(this, e)), arguments);
+ return ht(this, "filter", e, t, (e) => e.map((e) => dt(this, e)), arguments);
},
find(e, t) {
- return gt(this, "find", e, t, (e) => dt(this, e), arguments);
+ return ht(this, "find", e, t, (e) => dt(this, e), arguments);
},
findIndex(e, t) {
- return gt(this, "findIndex", e, t, void 0, arguments);
+ return ht(this, "findIndex", e, t, void 0, arguments);
},
findLast(e, t) {
- return gt(this, "findLast", e, t, (e) => dt(this, e), arguments);
+ return ht(this, "findLast", e, t, (e) => dt(this, e), arguments);
},
findLastIndex(e, t) {
- return gt(this, "findLastIndex", e, t, void 0, arguments);
+ return ht(this, "findLastIndex", e, t, void 0, arguments);
},
forEach(e, t) {
- return gt(this, "forEach", e, t, void 0, arguments);
+ return ht(this, "forEach", e, t, void 0, arguments);
},
includes(...e) {
- return vt(this, "includes", e);
+ return _t(this, "includes", e);
},
indexOf(...e) {
- return vt(this, "indexOf", e);
+ return _t(this, "indexOf", e);
},
join(e) {
return lt(this).join(e);
},
lastIndexOf(...e) {
- return vt(this, "lastIndexOf", e);
+ return _t(this, "lastIndexOf", e);
},
map(e, t) {
- return gt(this, "map", e, t, void 0, arguments);
+ return ht(this, "map", e, t, void 0, arguments);
},
pop() {
- return yt(this, "pop");
+ return vt(this, "pop");
},
push(...e) {
- return yt(this, "push", e);
+ return vt(this, "push", e);
},
reduce(e, ...t) {
- return _t(this, "reduce", e, t);
+ return gt(this, "reduce", e, t);
},
reduceRight(e, ...t) {
- return _t(this, "reduceRight", e, t);
+ return gt(this, "reduceRight", e, t);
},
shift() {
- return yt(this, "shift");
+ return vt(this, "shift");
},
some(e, t) {
- return gt(this, "some", e, t, void 0, arguments);
+ return ht(this, "some", e, t, void 0, arguments);
},
splice(...e) {
- return yt(this, "splice", e);
+ return vt(this, "splice", e);
},
toReversed() {
return lt(this).toReversed();
@@ -503,41 +503,25 @@ var ft = {
return lt(this).toSpliced(...e);
},
unshift(...e) {
- return yt(this, "unshift", e);
+ return vt(this, "unshift", e);
},
values() {
return pt(this, "values", (e) => dt(this, e));
}
};
function pt(e, t, n) {
- let r = ut(e), i = r[t], a = i.call(r);
- if (r !== e && !/* @__PURE__ */ Yt(e)) {
- if (a[Symbol.toStringTag] === "Array Iterator") {
- let e = Object.create(Object.getPrototypeOf(a));
- return e.next = () => mt(a.next(), n), i !== ht[t] && Object.defineProperties(e, {
- return: { get() {
- let e = a.return;
- return typeof e == "function" ? e.bind(a) : e;
- } },
- throw: { get() {
- let e = a.throw;
- return typeof e == "function" ? e.bind(a) : e;
- } }
- }), e;
- }
- a._next = a.next, a.next = () => mt(a._next(), n);
- }
- return a;
+ let r = ut(e), i = r[t]();
+ return r !== e && !/* @__PURE__ */ Jt(e) && (i._next = i.next, i.next = () => {
+ let e = i._next();
+ return e.done || (e.value = n(e.value)), e;
+ }), i;
}
-function mt(e, t) {
- return e.done || (e.value = t(e.value)), e;
-}
-var ht = Array.prototype;
-function gt(e, t, n, r, i, a) {
- let o = ut(e), s = o !== e && !/* @__PURE__ */ Yt(e), c = o[t];
- if (c !== ht[t]) {
+var mt = Array.prototype;
+function ht(e, t, n, r, i, a) {
+ let o = ut(e), s = o !== e && !/* @__PURE__ */ Jt(e), c = o[t];
+ if (c !== mt[t]) {
let t = c.apply(e, a);
- return s ? Qt(t) : t;
+ return s ? Zt(t) : t;
}
let l = n;
o !== e && (s ? l = function(t, r) {
@@ -548,8 +532,8 @@ function gt(e, t, n, r, i, a) {
let u = c.call(o, l, r);
return s && i ? i(u) : u;
}
-function _t(e, t, n, r) {
- let i = ut(e), a = i !== e && !/* @__PURE__ */ Yt(e), o = n, s = !1;
+function gt(e, t, n, r) {
+ let i = ut(e), a = i !== e && !/* @__PURE__ */ Jt(e), o = n, s = !1;
i !== e && (a ? (s = r.length === 0, o = function(t, r, i) {
return s && (s = !1, t = dt(e, t)), n.call(this, t, dt(e, r), i, e);
}) : n.length > 3 && (o = function(t, r, i) {
@@ -558,24 +542,24 @@ function _t(e, t, n, r) {
let c = i[t](o, ...r);
return s ? dt(e, c) : c;
}
-function vt(e, t, n) {
+function _t(e, t, n) {
let r = /* @__PURE__ */ M(e);
ot(r, "iterate", at);
let i = r[t](...n);
- return (i === -1 || i === !1) && /* @__PURE__ */ Xt(n[0]) ? (n[0] = /* @__PURE__ */ M(n[0]), r[t](...n)) : i;
+ return (i === -1 || i === !1) && /* @__PURE__ */ Yt(n[0]) ? (n[0] = /* @__PURE__ */ M(n[0]), r[t](...n)) : i;
}
-function yt(e, t, n = []) {
+function vt(e, t, n = []) {
Ye(), ze();
let r = (/* @__PURE__ */ M(e))[t].apply(e, n);
return Be(), Xe(), r;
}
-var bt = /* @__PURE__ */ e("__proto__,__v_isRef,__isVue"), xt = new Set(/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((e) => e !== "arguments" && e !== "caller").map((e) => Symbol[e]).filter(_));
-function St(e) {
+var yt = /* @__PURE__ */ e("__proto__,__v_isRef,__isVue"), bt = new Set(/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((e) => e !== "arguments" && e !== "caller").map((e) => Symbol[e]).filter(_));
+function xt(e) {
_(e) || (e = String(e));
let t = /* @__PURE__ */ M(this);
return ot(t, "has", e), t.hasOwnProperty(e);
}
-var Ct = class {
+var St = class {
constructor(e = !1, t = !1) {
this._isReadonly = e, this._isShallow = t;
}
@@ -585,30 +569,30 @@ var Ct = class {
if (t === "__v_isReactive") return !r;
if (t === "__v_isReadonly") return r;
if (t === "__v_isShallow") return i;
- if (t === "__v_raw") return n === (r ? i ? Vt : Bt : i ? zt : Rt).get(e) || Object.getPrototypeOf(e) === Object.getPrototypeOf(n) ? e : void 0;
+ if (t === "__v_raw") return n === (r ? i ? Bt : zt : i ? Rt : Lt).get(e) || Object.getPrototypeOf(e) === Object.getPrototypeOf(n) ? e : void 0;
let a = d(e);
if (!r) {
let e;
if (a && (e = ft[t])) return e;
- if (t === "hasOwnProperty") return St;
+ if (t === "hasOwnProperty") return xt;
}
let o = Reflect.get(e, t, /* @__PURE__ */ N(e) ? e : n);
- if ((_(t) ? xt.has(t) : bt(t)) || (r || ot(e, "get", t), i)) return o;
+ if ((_(t) ? bt.has(t) : yt(t)) || (r || ot(e, "get", t), i)) return o;
if (/* @__PURE__ */ N(o)) {
let e = a && w(t) ? o : o.value;
- return r && v(e) ? /* @__PURE__ */ Gt(e) : e;
+ return r && v(e) ? /* @__PURE__ */ Wt(e) : e;
}
- return v(o) ? r ? /* @__PURE__ */ Gt(o) : /* @__PURE__ */ Ut(o) : o;
+ return v(o) ? r ? /* @__PURE__ */ Wt(o) : /* @__PURE__ */ Ht(o) : o;
}
-}, wt = class extends Ct {
+}, Ct = class extends St {
constructor(e = !1) {
super(!1, e);
}
set(e, t, n, r) {
let i = e[t], a = d(e) && w(t);
if (!this._isShallow) {
- let e = /* @__PURE__ */ Jt(i);
- if (!/* @__PURE__ */ Yt(n) && !/* @__PURE__ */ Jt(n) && (i = /* @__PURE__ */ M(i), n = /* @__PURE__ */ M(n)), !a && /* @__PURE__ */ N(i) && !/* @__PURE__ */ N(n)) return e || (i.value = n), !0;
+ let e = /* @__PURE__ */ qt(i);
+ if (!/* @__PURE__ */ Jt(n) && !/* @__PURE__ */ qt(n) && (i = /* @__PURE__ */ M(i), n = /* @__PURE__ */ M(n)), !a && /* @__PURE__ */ N(i) && !/* @__PURE__ */ N(n)) return e || (i.value = n), !0;
}
let o = a ? Number(t) < e.length : u(e, t), s = Reflect.set(e, t, n, /* @__PURE__ */ N(e) ? e : r);
return e === /* @__PURE__ */ M(r) && s && (o ? D(n, i) && st(e, "set", t, n, i) : st(e, "add", t, n)), s;
@@ -619,12 +603,12 @@ var Ct = class {
}
has(e, t) {
let n = Reflect.has(e, t);
- return _(t) && xt.has(t) || ot(e, "has", t), n;
+ return _(t) && bt.has(t) || ot(e, "has", t), n;
}
ownKeys(e) {
return ot(e, "iterate", d(e) ? "length" : rt), Reflect.ownKeys(e);
}
-}, Tt = class extends Ct {
+}, wt = class extends St {
constructor(e = !1) {
super(!0, e);
}
@@ -634,10 +618,10 @@ var Ct = class {
deleteProperty(e, t) {
return !0;
}
-}, Et = /* @__PURE__ */ new wt(), Dt = /* @__PURE__ */ new Tt(), Ot = /* @__PURE__ */ new wt(!0), kt = (e) => e, At = (e) => Reflect.getPrototypeOf(e);
-function jt(e, t, n) {
+}, Tt = /* @__PURE__ */ new Ct(), Et = /* @__PURE__ */ new wt(), Dt = /* @__PURE__ */ new Ct(!0), Ot = (e) => e, kt = (e) => Reflect.getPrototypeOf(e);
+function At(e, t, n) {
return function(...r) {
- let i = this.__v_raw, a = /* @__PURE__ */ M(i), o = f(a), c = e === "entries" || e === Symbol.iterator && o, l = e === "keys" && o, u = i[e](...r), d = n ? kt : t ? $t : Qt;
+ let i = this.__v_raw, a = /* @__PURE__ */ M(i), o = f(a), c = e === "entries" || e === Symbol.iterator && o, l = e === "keys" && o, u = i[e](...r), d = n ? Ot : t ? Qt : Zt;
return !t && ot(a, "iterate", l ? it : rt), s(Object.create(u), { next() {
let { value: e, done: t } = u.next();
return t ? {
@@ -650,17 +634,17 @@ function jt(e, t, n) {
} });
};
}
-function Mt(e) {
+function jt(e) {
return function(...t) {
return e === "delete" ? !1 : e === "clear" ? void 0 : this;
};
}
-function Nt(e, t) {
+function Mt(e, t) {
let n = {
get(n) {
let r = this.__v_raw, i = /* @__PURE__ */ M(r), a = /* @__PURE__ */ M(n);
e || (D(n, a) && ot(i, "get", n), ot(i, "get", a));
- let { has: o } = At(i), s = t ? kt : e ? $t : Qt;
+ let { has: o } = kt(i), s = t ? Ot : e ? Qt : Zt;
if (o.call(i, n)) return s(r.get(n));
if (o.call(i, a)) return s(r.get(a));
r !== i && r.get(n);
@@ -674,29 +658,29 @@ function Nt(e, t) {
return e || (D(t, i) && ot(r, "has", t), ot(r, "has", i)), t === i ? n.has(t) : n.has(t) || n.has(i);
},
forEach(n, r) {
- let i = this, a = i.__v_raw, o = /* @__PURE__ */ M(a), s = t ? kt : e ? $t : Qt;
+ let i = this, a = i.__v_raw, o = /* @__PURE__ */ M(a), s = t ? Ot : e ? Qt : Zt;
return !e && ot(o, "iterate", rt), a.forEach((e, t) => n.call(r, s(e), s(t), i));
}
};
return s(n, e ? {
- add: Mt("add"),
- set: Mt("set"),
- delete: Mt("delete"),
- clear: Mt("clear")
+ add: jt("add"),
+ set: jt("set"),
+ delete: jt("delete"),
+ clear: jt("clear")
} : {
add(e) {
- let n = /* @__PURE__ */ M(this), r = At(n), i = /* @__PURE__ */ M(e), a = !t && !/* @__PURE__ */ Yt(e) && !/* @__PURE__ */ Jt(e) ? i : e;
+ let n = /* @__PURE__ */ M(this), r = kt(n), i = /* @__PURE__ */ M(e), a = !t && !/* @__PURE__ */ Jt(e) && !/* @__PURE__ */ qt(e) ? i : e;
return r.has.call(n, a) || D(e, a) && r.has.call(n, e) || D(i, a) && r.has.call(n, i) || (n.add(a), st(n, "add", a, a)), this;
},
set(e, n) {
- t || /* @__PURE__ */ Yt(n) || /* @__PURE__ */ Jt(n) || (n = /* @__PURE__ */ M(n));
- let r = /* @__PURE__ */ M(this), { has: i, get: a } = At(r), o = i.call(r, e);
+ t || /* @__PURE__ */ Jt(n) || /* @__PURE__ */ qt(n) || (n = /* @__PURE__ */ M(n));
+ let r = /* @__PURE__ */ M(this), { has: i, get: a } = kt(r), o = i.call(r, e);
o ||= (e = /* @__PURE__ */ M(e), i.call(r, e));
let s = a.call(r, e);
return r.set(e, n), o ? D(n, s) && st(r, "set", e, n, s) : st(r, "add", e, n), this;
},
delete(e) {
- let t = /* @__PURE__ */ M(this), { has: n, get: r } = At(t), i = n.call(t, e);
+ let t = /* @__PURE__ */ M(this), { has: n, get: r } = kt(t), i = n.call(t, e);
i ||= (e = /* @__PURE__ */ M(e), n.call(t, e));
let a = r ? r.call(t, e) : void 0, o = t.delete(e);
return i && st(t, "delete", e, void 0, a), o;
@@ -711,15 +695,15 @@ function Nt(e, t) {
"entries",
Symbol.iterator
].forEach((r) => {
- n[r] = jt(r, e, t);
+ n[r] = At(r, e, t);
}), n;
}
-function Pt(e, t) {
- let n = Nt(e, t);
- return (r, i, a) => i === "__v_isReactive" ? !e : i === "__v_isReadonly" ? e : i === "__v_isShallow" ? t : i === "__v_raw" ? r : Reflect.get(u(n, i) && i in r ? n : r, i, a);
+function Nt(e, t) {
+ let n = Mt(e, t);
+ return (t, r, i) => r === "__v_isReactive" ? !e : r === "__v_isReadonly" ? e : r === "__v_raw" ? t : Reflect.get(u(n, r) && r in t ? n : t, r, i);
}
-var Ft = { get: /* @__PURE__ */ Pt(!1, !1) }, It = { get: /* @__PURE__ */ Pt(!1, !0) }, Lt = { get: /* @__PURE__ */ Pt(!0, !1) }, Rt = /* @__PURE__ */ new WeakMap(), zt = /* @__PURE__ */ new WeakMap(), Bt = /* @__PURE__ */ new WeakMap(), Vt = /* @__PURE__ */ new WeakMap();
-function Ht(e) {
+var Pt = { get: /* @__PURE__ */ Nt(!1, !1) }, Ft = { get: /* @__PURE__ */ Nt(!1, !0) }, It = { get: /* @__PURE__ */ Nt(!0, !1) }, Lt = /* @__PURE__ */ new WeakMap(), Rt = /* @__PURE__ */ new WeakMap(), zt = /* @__PURE__ */ new WeakMap(), Bt = /* @__PURE__ */ new WeakMap();
+function Vt(e) {
switch (e) {
case "Object":
case "Array": return 1;
@@ -731,40 +715,40 @@ function Ht(e) {
}
}
// @__NO_SIDE_EFFECTS__
+function Ht(e) {
+ return /* @__PURE__ */ qt(e) ? e : Gt(e, !1, Tt, Pt, Lt);
+}
+// @__NO_SIDE_EFFECTS__
function Ut(e) {
- return /* @__PURE__ */ Jt(e) ? e : Kt(e, !1, Et, Ft, Rt);
+ return Gt(e, !1, Dt, Ft, Rt);
}
// @__NO_SIDE_EFFECTS__
function Wt(e) {
- return Kt(e, !1, Ot, It, zt);
+ return Gt(e, !0, Et, It, zt);
}
-// @__NO_SIDE_EFFECTS__
-function Gt(e) {
- return Kt(e, !0, Dt, Lt, Bt);
-}
-function Kt(e, t, n, r, i) {
+function Gt(e, t, n, r, i) {
if (!v(e) || e.__v_raw && !(t && e.__v_isReactive) || e.__v_skip || !Object.isExtensible(e)) return e;
let a = i.get(e);
if (a) return a;
- let o = Ht(S(e));
+ let o = Vt(S(e));
if (o === 0) return e;
let s = new Proxy(e, o === 2 ? r : n);
return i.set(e, s), s;
}
// @__NO_SIDE_EFFECTS__
-function qt(e) {
- return /* @__PURE__ */ Jt(e) ? /* @__PURE__ */ qt(e.__v_raw) : !!(e && e.__v_isReactive);
+function Kt(e) {
+ return /* @__PURE__ */ qt(e) ? /* @__PURE__ */ Kt(e.__v_raw) : !!(e && e.__v_isReactive);
}
// @__NO_SIDE_EFFECTS__
-function Jt(e) {
+function qt(e) {
return !!(e && e.__v_isReadonly);
}
// @__NO_SIDE_EFFECTS__
-function Yt(e) {
+function Jt(e) {
return !!(e && e.__v_isShallow);
}
// @__NO_SIDE_EFFECTS__
-function Xt(e) {
+function Yt(e) {
return e ? !!e.__v_raw : !1;
}
// @__NO_SIDE_EFFECTS__
@@ -772,54 +756,54 @@ function M(e) {
let t = e && e.__v_raw;
return t ? /* @__PURE__ */ M(t) : e;
}
-function Zt(e) {
+function Xt(e) {
return !u(e, "__v_skip") && Object.isExtensible(e) && se(e, "__v_skip", !0), e;
}
-var Qt = (e) => v(e) ? /* @__PURE__ */ Ut(e) : e, $t = (e) => v(e) ? /* @__PURE__ */ Gt(e) : e;
+var Zt = (e) => v(e) ? /* @__PURE__ */ Ht(e) : e, Qt = (e) => v(e) ? /* @__PURE__ */ Wt(e) : e;
// @__NO_SIDE_EFFECTS__
function N(e) {
return e ? e.__v_isRef === !0 : !1;
}
// @__NO_SIDE_EFFECTS__
-function en(e) {
- return nn(e, !1);
+function $t(e) {
+ return tn(e, !1);
}
// @__NO_SIDE_EFFECTS__
-function tn(e) {
- return nn(e, !0);
+function en(e) {
+ return tn(e, !0);
}
-function nn(e, t) {
- return /* @__PURE__ */ N(e) ? e : new rn(e, t);
+function tn(e, t) {
+ return /* @__PURE__ */ N(e) ? e : new nn(e, t);
}
-var rn = class {
+var nn = class {
constructor(e, t) {
- this.dep = new et(), this.__v_isRef = !0, this.__v_isShallow = !1, this._rawValue = t ? e : /* @__PURE__ */ M(e), this._value = t ? e : Qt(e), this.__v_isShallow = t;
+ this.dep = new et(), this.__v_isRef = !0, this.__v_isShallow = !1, this._rawValue = t ? e : /* @__PURE__ */ M(e), this._value = t ? e : Zt(e), this.__v_isShallow = t;
}
get value() {
return this.dep.track(), this._value;
}
set value(e) {
- let t = this._rawValue, n = this.__v_isShallow || /* @__PURE__ */ Yt(e) || /* @__PURE__ */ Jt(e);
- e = n ? e : /* @__PURE__ */ M(e), D(e, t) && (this._rawValue = e, this._value = n ? e : Qt(e), this.dep.trigger());
+ let t = this._rawValue, n = this.__v_isShallow || /* @__PURE__ */ Jt(e) || /* @__PURE__ */ qt(e);
+ e = n ? e : /* @__PURE__ */ M(e), D(e, t) && (this._rawValue = e, this._value = n ? e : Zt(e), this.dep.trigger());
}
};
-function an(e) {
+function rn(e) {
e.dep && e.dep.trigger();
}
-function on(e) {
+function an(e) {
return /* @__PURE__ */ N(e) ? e.value : e;
}
-var sn = {
- get: (e, t, n) => t === "__v_raw" ? e : on(Reflect.get(e, t, n)),
+var on = {
+ get: (e, t, n) => t === "__v_raw" ? e : an(Reflect.get(e, t, n)),
set: (e, t, n, r) => {
let i = e[t];
return /* @__PURE__ */ N(i) && !/* @__PURE__ */ N(n) ? (i.value = n, !0) : Reflect.set(e, t, n, r);
}
};
-function cn(e) {
- return /* @__PURE__ */ qt(e) ? e : new Proxy(e, sn);
+function sn(e) {
+ return /* @__PURE__ */ Kt(e) ? e : new Proxy(e, on);
}
-var ln = class {
+var cn = class {
constructor(e) {
this.__v_isRef = !0, this._value = void 0;
let t = this.dep = new et(), { get: n, set: r } = e(t.track.bind(t), t.trigger.bind(t));
@@ -832,27 +816,27 @@ var ln = class {
this._set(e);
}
};
-function un(e) {
- return new ln(e);
+function ln(e) {
+ return new cn(e);
}
// @__NO_SIDE_EFFECTS__
-function dn(e) {
+function un(e) {
let t = d(e) ? Array(e.length) : {};
- for (let n in e) t[n] = pn(e, n);
+ for (let n in e) t[n] = fn(e, n);
return t;
}
-var fn = class {
+var dn = class {
constructor(e, t, n) {
this._object = e, this._defaultValue = n, this.__v_isRef = !0, this._value = void 0, this._key = _(t) ? t : String(t), this._raw = /* @__PURE__ */ M(e);
let r = !0, i = e;
if (!d(e) || _(this._key) || !w(this._key)) do
- r = !/* @__PURE__ */ Xt(i) || /* @__PURE__ */ Yt(i);
+ r = !/* @__PURE__ */ Yt(i) || /* @__PURE__ */ Jt(i);
while (r && (i = i.__v_raw));
this._shallow = r;
}
get value() {
let e = this._object[this._key];
- return this._shallow && (e = on(e)), this._value = e === void 0 ? this._defaultValue : e;
+ return this._shallow && (e = an(e)), this._value = e === void 0 ? this._defaultValue : e;
}
set value(e) {
if (this._shallow && /* @__PURE__ */ N(this._raw[this._key])) {
@@ -868,10 +852,10 @@ var fn = class {
return ct(this._raw, this._key);
}
};
-function pn(e, t, n) {
- return new fn(e, t, n);
+function fn(e, t, n) {
+ return new dn(e, t, n);
}
-var mn = class {
+var pn = class {
constructor(e, t, n) {
this.fn = e, this.setter = t, this._value = void 0, this.dep = new et(this), this.__v_isRef = !0, this.deps = void 0, this.depsTail = void 0, this.flags = 16, this.globalVersion = Qe - 1, this.next = void 0, this.effect = this, this.__v_isReadonly = !t, this.isSSR = n;
}
@@ -887,22 +871,22 @@ var mn = class {
}
};
// @__NO_SIDE_EFFECTS__
-function hn(e, t, n = !1) {
+function mn(e, t, n = !1) {
let r, i;
- return h(e) ? r = e : (r = e.get, i = e.set), new mn(r, i, n);
+ return h(e) ? r = e : (r = e.get, i = e.set), new pn(r, i, n);
}
-var gn = {}, _n = /* @__PURE__ */ new WeakMap(), vn = void 0;
-function yn(e, t = !1, n = vn) {
+var hn = {}, gn = /* @__PURE__ */ new WeakMap(), _n = void 0;
+function vn(e, t = !1, n = _n) {
if (n) {
- let t = _n.get(n);
- t || _n.set(n, t = []), t.push(e);
+ let t = gn.get(n);
+ t || gn.set(n, t = []), t.push(e);
}
}
-function bn(e, n, i = t) {
- let { immediate: a, deep: o, once: s, scheduler: l, augmentJob: u, call: f } = i, p = (e) => o ? e : /* @__PURE__ */ Yt(e) || o === !1 || o === 0 ? xn(e, 1) : xn(e), m, g, _, v, y = !1, b = !1;
- if (/* @__PURE__ */ N(e) ? (g = () => e.value, y = /* @__PURE__ */ Yt(e)) : /* @__PURE__ */ qt(e) ? (g = () => p(e), y = !0) : d(e) ? (b = !0, y = e.some((e) => /* @__PURE__ */ qt(e) || /* @__PURE__ */ Yt(e)), g = () => e.map((e) => {
+function yn(e, n, i = t) {
+ let { immediate: a, deep: o, once: s, scheduler: l, augmentJob: u, call: f } = i, p = (e) => o ? e : /* @__PURE__ */ Jt(e) || o === !1 || o === 0 ? bn(e, 1) : bn(e), m, g, _, v, y = !1, b = !1;
+ if (/* @__PURE__ */ N(e) ? (g = () => e.value, y = /* @__PURE__ */ Jt(e)) : /* @__PURE__ */ Kt(e) ? (g = () => p(e), y = !0) : d(e) ? (b = !0, y = e.some((e) => /* @__PURE__ */ Kt(e) || /* @__PURE__ */ Jt(e)), g = () => e.map((e) => {
if (/* @__PURE__ */ N(e)) return e.value;
- if (/* @__PURE__ */ qt(e)) return p(e);
+ if (/* @__PURE__ */ Kt(e)) return p(e);
if (h(e)) return f ? f(e, 2) : e();
})) : g = h(e) ? n ? f ? () => f(e, 2) : e : () => {
if (_) {
@@ -913,16 +897,16 @@ function bn(e, n, i = t) {
Xe();
}
}
- let t = vn;
- vn = m;
+ let t = _n;
+ _n = m;
try {
return f ? f(e, 3, [v]) : e(v);
} finally {
- vn = t;
+ _n = t;
}
} : r, n && o) {
let e = g, t = o === !0 ? Infinity : o;
- g = () => xn(e(), t);
+ g = () => bn(e(), t);
}
let x = je(), S = () => {
m.stop(), x && x.active && c(x.effects, m);
@@ -930,79 +914,76 @@ function bn(e, n, i = t) {
if (s && n) {
let e = n;
n = (...t) => {
- try {
- return e(...t);
- } finally {
- S();
- }
+ let n = e(...t);
+ return S(), n;
};
}
- let C = b ? Array(e.length).fill(gn) : gn, w = (e) => {
+ let C = b ? Array(e.length).fill(hn) : hn, w = (e) => {
if (m.flags & 1 && (m.dirty || e)) {
if (n) {
let t = m.run();
if (e || o || y || (b ? t.some((e, t) => D(e, C[t])) : D(t, C))) {
- let e = vn;
- Ye();
+ _ && _();
+ let e = _n;
+ _n = m;
try {
- _ && _(), vn = m;
let e = [
t,
- C === gn ? void 0 : b && C[0] === gn ? [] : C,
+ C === hn ? void 0 : b && C[0] === hn ? [] : C,
v
];
C = t, f ? f(n, 3, e) : n(...e);
} finally {
- vn = e, Xe();
+ _n = e;
}
}
} else m.run();
}
};
- return u && u(w), m = new Pe(g), m.scheduler = l ? () => l(w, !1) : w, v = (e) => yn(e, !1, m), _ = m.onStop = () => {
- let e = _n.get(m);
+ return u && u(w), m = new Pe(g), m.scheduler = l ? () => l(w, !1) : w, v = (e) => vn(e, !1, m), _ = m.onStop = () => {
+ let e = gn.get(m);
if (e) {
if (f) f(e, 4);
else for (let t of e) t();
- _n.delete(m);
+ gn.delete(m);
}
}, n ? a ? w(!0) : C = m.run() : l ? l(w.bind(null, !0), !0) : m.run(), S.pause = m.pause.bind(m), S.resume = m.resume.bind(m), S.stop = S, S;
}
-function xn(e, t = Infinity, n) {
+function bn(e, t = Infinity, n) {
if (t <= 0 || !v(e) || e.__v_skip || (n ||= /* @__PURE__ */ new Map(), (n.get(e) || 0) >= t)) return e;
- if (n.set(e, t), t--, /* @__PURE__ */ N(e)) xn(e.value, t, n);
- else if (d(e)) for (let r = 0; r < e.length; r++) xn(e[r], t, n);
+ if (n.set(e, t), t--, /* @__PURE__ */ N(e)) bn(e.value, t, n);
+ else if (d(e)) for (let r = 0; r < e.length; r++) bn(e[r], t, n);
else if (p(e) || f(e)) e.forEach((e) => {
- xn(e, t, n);
+ bn(e, t, n);
});
else if (C(e)) {
- for (let r in e) xn(e[r], t, n);
- for (let r of Object.getOwnPropertySymbols(e)) Object.prototype.propertyIsEnumerable.call(e, r) && xn(e[r], t, n);
+ for (let r in e) bn(e[r], t, n);
+ for (let r of Object.getOwnPropertySymbols(e)) Object.prototype.propertyIsEnumerable.call(e, r) && bn(e[r], t, n);
}
return e;
}
// node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js
-function Sn(e, t, n, r) {
+function xn(e, t, n, r) {
try {
return r ? e(...r) : e();
} catch (e) {
- wn(e, t, n);
+ Cn(e, t, n);
}
}
-function Cn(e, t, n, r) {
+function Sn(e, t, n, r) {
if (h(e)) {
- let i = Sn(e, t, n, r);
+ let i = xn(e, t, n, r);
return i && y(i) && i.catch((e) => {
- wn(e, t, n);
+ Cn(e, t, n);
}), i;
}
if (d(e)) {
let i = [];
- for (let a = 0; a < e.length; a++) i.push(Cn(e[a], t, n, r));
+ for (let a = 0; a < e.length; a++) i.push(Sn(e[a], t, n, r));
return i;
}
}
-function wn(e, n, r, i = !0) {
+function Cn(e, n, r, i = !0) {
let a = n ? n.vnode : null, { errorHandler: o, throwUnhandledErrorInProduction: s } = n && n.appContext.config || t;
if (n) {
let t = n.parent, i = n.proxy, a = `https://vuejs.org/error-reference/#runtime-${r}`;
@@ -1014,7 +995,7 @@ function wn(e, n, r, i = !0) {
t = t.parent;
}
if (o) {
- Ye(), Sn(o, null, 10, [
+ Ye(), xn(o, null, 10, [
e,
i,
a
@@ -1022,128 +1003,106 @@ function wn(e, n, r, i = !0) {
return;
}
}
- Tn(e, r, a, i, s);
+ wn(e, r, a, i, s);
}
-function Tn(e, t, n, r = !0, i = !1) {
+function wn(e, t, n, r = !0, i = !1) {
if (i) throw e;
console.error(e);
}
-var En = [], Dn = -1, On = [], kn = null, An = 0, jn = /* @__PURE__ */ Promise.resolve(), Mn = null;
-function Nn(e) {
- let t = Mn || jn;
+var Tn = [], En = -1, Dn = [], On = null, kn = 0, An = /* @__PURE__ */ Promise.resolve(), jn = null;
+function Mn(e) {
+ let t = jn || An;
return e ? t.then(this ? e.bind(this) : e) : t;
}
-function Pn(e) {
- let t = Dn + 1, n = En.length;
+function Nn(e) {
+ let t = En + 1, n = Tn.length;
for (; t < n;) {
- let r = t + n >>> 1, i = En[r], a = Hn(i);
+ let r = t + n >>> 1, i = Tn[r], a = zn(i);
a < e || a === e && i.flags & 2 ? t = r + 1 : n = r;
}
return t;
}
-function Fn(e) {
+function Pn(e) {
if (!(e.flags & 1)) {
- let t = Hn(e), n = En[En.length - 1];
- !n || !(e.flags & 2) && t >= Hn(n) ? En.push(e) : En.splice(Pn(t), 0, e), e.flags |= 1, In();
+ let t = zn(e), n = Tn[Tn.length - 1];
+ !n || !(e.flags & 2) && t >= zn(n) ? Tn.push(e) : Tn.splice(Nn(t), 0, e), e.flags |= 1, Fn();
}
}
-function In() {
- Mn ||= jn.then(Un);
+function Fn() {
+ jn ||= An.then(Bn);
}
-function Ln(e) {
- if (!d(e)) kn && e.id === -1 ? kn.splice(An + 1, 0, e) : e.flags & 1 || (On.push(e), e.flags |= 1);
- else for (let t = 0; t < e.length; t++) On.push(e[t]);
- In();
+function In(e) {
+ if (!d(e)) On && e.id === -1 ? On.splice(kn + 1, 0, e) : e.flags & 1 || (Dn.push(e), e.flags |= 1);
+ else for (let t = 0; t < e.length; t++) Dn.push(e[t]);
+ Fn();
}
-function Rn(e, t, n, r = Dn + 1) {
- for (; r < En.length; r++) {
- let n = En[r];
- if (n && n.flags & 2) {
- if (e && n.id !== e.uid || t !== void 0 && !(n.id >= t)) continue;
- En.splice(r, 1), r = e ? r - 1 : Dn, n.flags & 4 && (n.flags &= -2), n(), n.flags & 4 || (n.flags &= -2);
+function Ln(e, t, n = En + 1) {
+ for (; n < Tn.length; n++) {
+ let t = Tn[n];
+ if (t && t.flags & 2) {
+ if (e && t.id !== e.uid) continue;
+ Tn.splice(n, 1), n--, t.flags & 4 && (t.flags &= -2), t(), t.flags & 4 || (t.flags &= -2);
}
}
}
-function zn(e, t, n = 0) {
- if (On.length) {
- let e = On, r = 0;
- if (t) {
- e = [];
- for (let i = 0; i < On.length; i++) {
- let a = On[i];
- (a.i === void 0 ? t.has(a) : !a.i || a.i.uid < n) ? On[r++] = a : e.push(a);
- }
- }
- let i = [...new Set(e)].sort((e, t) => Hn(e) - Hn(t));
- if (On.length = r, kn) {
- for (let e = 0; e < i.length; e++) kn.push(i[e]);
+function Rn(e) {
+ if (Dn.length) {
+ let e = [...new Set(Dn)].sort((e, t) => zn(e) - zn(t));
+ if (Dn.length = 0, On) {
+ for (let t = 0; t < e.length; t++) On.push(e[t]);
return;
}
- for (kn = i, An = 0; An < kn.length; An++) {
- let e = kn[An];
+ for (On = e, kn = 0; kn < On.length; kn++) {
+ let e = On[kn];
e.flags & 4 && (e.flags &= -2), e.flags & 8 || e(), e.flags &= -2;
}
- kn = null, An = 0;
+ On = null, kn = 0;
}
}
-var Bn = !1;
-function Vn(e, t) {
- if (Bn) {
- e();
- return;
- }
- let n = t === void 0 ? void 0 : new Set(On);
- e(), Bn = !0;
+var zn = (e) => e.id == null ? e.flags & 2 ? -1 : Infinity : e.id;
+function Bn(e) {
try {
- Rn(void 0, t), zn(void 0, n, t);
- } finally {
- Bn = !1;
- }
-}
-var Hn = (e) => e.id == null ? e.flags & 2 ? -1 : Infinity : e.id;
-function Un(e) {
- try {
- for (Dn = 0; Dn < En.length; Dn++) {
- let e = En[Dn];
- e && !(e.flags & 8) && (e.flags & 4 && (e.flags &= -2), Sn(e, e.i, e.i ? 15 : 14), e.flags & 4 || (e.flags &= -2));
+ for (En = 0; En < Tn.length; En++) {
+ let e = Tn[En];
+ e && !(e.flags & 8) && (e.flags & 4 && (e.flags &= -2), xn(e, e.i, e.i ? 15 : 14), e.flags & 4 || (e.flags &= -2));
}
} finally {
- for (; Dn < En.length; Dn++) {
- let e = En[Dn];
+ for (; En < Tn.length; En++) {
+ let e = Tn[En];
e && (e.flags &= -2);
}
- Dn = -1, En.length = 0, zn(e), Mn = null, (En.length || On.length) && Un(e);
+ En = -1, Tn.length = 0, Rn(e), jn = null, (Tn.length || Dn.length) && Bn(e);
}
}
-var Wn = null, Gn = null;
-function Kn(e) {
- let t = Wn;
- return Wn = e, Gn = e && e.type.__scopeId || null, t;
+var Vn = null, Hn = null;
+function Un(e) {
+ let t = Vn;
+ return Vn = e, Hn = e && e.type.__scopeId || null, t;
}
-function P(e, t = Wn, n) {
+function P(e, t = Vn, n) {
if (!t || e._n) return e;
let r = (...n) => {
- r._d && Ha(-1);
- let i = Kn(t), a = Ra.length, o;
+ r._d && za(-1);
+ let i = Un(t), a = Fa.length, o;
try {
o = e(...n);
} finally {
- for (let e = Ra.length; e > a; e--) Ba();
- Kn(i), r._d && Ha(1);
+ for (let e = Fa.length; e > a; e--) La();
+ Un(i), r._d && za(1);
}
return o;
};
return r._n = !0, r._c = !0, r._d = !0, r;
}
-function qn(e, n) {
- if (Wn === null) return e;
- let r = So(Wn), i = e.dirs ||= [];
+function Wn(e, n) {
+ if (Vn === null) return e;
+ let r = _o(Vn), i = e.dirs ||= [];
for (let e = 0; e < n.length; e++) {
let [a, o, s, c = t] = n[e];
a && (h(a) && (a = {
mounted: a,
updated: a
- }), a.deep && xn(o), i.push({
+ }), a.deep && bn(o), i.push({
dir: a,
instance: r,
value: o,
@@ -1154,13 +1113,13 @@ function qn(e, n) {
}
return e;
}
-function Jn(e, t, n, r) {
+function Gn(e, t, n, r) {
let i = e.dirs, a = t && t.dirs;
for (let o = 0; o < i.length; o++) {
let s = i[o];
a && (s.oldValue = a[o].value);
let c = s.dir[r];
- c && (Ye(), Cn(c, n, 8, [
+ c && (Ye(), Sn(c, n, 8, [
e.el,
s,
e,
@@ -1168,64 +1127,64 @@ function Jn(e, t, n, r) {
]), Xe());
}
}
-function Yn(e, t) {
- if (so) {
- let n = so.provides, r = so.parent && so.parent.provides;
- r === n && (n = so.provides = Object.create(r)), n[e] = t;
+function Kn(e, t) {
+ if (G) {
+ let n = G.provides, r = G.parent && G.parent.provides;
+ r === n && (n = G.provides = Object.create(r)), n[e] = t;
}
}
-function Xn(e, t, n = !1) {
- let r = co();
- if (r || Wi) {
- let i = Wi ? Wi._context.provides : r ? r.parent == null || r.ce ? r.vnode.appContext && r.vnode.appContext.provides : r.parent.provides : void 0;
+function qn(e, t, n = !1) {
+ let r = ro();
+ if (r || Vi) {
+ let i = Vi ? Vi._context.provides : r ? r.parent == null || r.ce ? r.vnode.appContext && r.vnode.appContext.provides : r.parent.provides : void 0;
if (i && e in i) return i[e];
if (arguments.length > 1) return n && h(t) ? t.call(r && r.proxy) : t;
}
}
-function Zn() {
- return !!(co() || Wi);
+function Jn() {
+ return !!(ro() || Vi);
}
-var Qn = /* @__PURE__ */ Symbol.for("v-scx"), $n = () => Xn(Qn);
-function er(e, t) {
- return rr(e, null, t);
+var Yn = /* @__PURE__ */ Symbol.for("v-scx"), Xn = () => qn(Yn);
+function Zn(e, t) {
+ return er(e, null, t);
}
-function tr(e, t) {
- return rr(e, null, { flush: "sync" });
+function Qn(e, t) {
+ return er(e, null, { flush: "sync" });
}
-function nr(e, t, n) {
- return rr(e, t, n);
+function $n(e, t, n) {
+ return er(e, t, n);
}
-function rr(e, n, i = t) {
+function er(e, n, i = t) {
let { immediate: a, deep: o, flush: c, once: l } = i, u = s({}, i), d = n && a || !n && c !== "post", f;
- if (ho) {
+ if (lo) {
if (c === "sync") {
- let e = $n();
+ let e = Xn();
f = e.__watcherHandles ||= [];
} else if (!d) {
let e = () => {};
return e.stop = r, e.resume = r, e.pause = r, e;
}
}
- let p = so;
- u.call = (e, t, n) => Cn(e, p, t, n);
+ let p = G;
+ u.call = (e, t, n) => Sn(e, p, t, n);
let m = !1;
c === "post" ? u.scheduler = (e) => {
- e.i = p, Ca(e, p && p.suspense);
+ ya(e, p && p.suspense);
} : c !== "sync" && (m = !0, u.scheduler = (e, t) => {
- t ? e() : Fn(e);
+ t ? e() : Pn(e);
}), u.augmentJob = (e) => {
n && (e.flags |= 4), m && (e.flags |= 2, p && (e.id = p.uid, e.i = p));
};
- let h = bn(e, n, u);
- return ho && (f ? f.push(h) : d && h()), h;
+ let h = yn(e, n, u);
+ return lo && (f ? f.push(h) : d && h()), h;
}
-function ir(e, t, n) {
- let r = this.proxy, i = g(e) ? e.includes(".") ? ar(r, e) : () => r[e] : e.bind(r, r), a;
+function tr(e, t, n) {
+ let r = this.proxy, i = g(e) ? e.includes(".") ? nr(r, e) : () => r[e] : e.bind(r, r), a;
h(t) ? a = t : (a = t.handler, n = t);
- let o = fo(this), s = rr(i, a.bind(r), n);
+ let o = oo(this), s = er(i, a.bind(r), n);
return o(), s;
}
-function ar(e, t) {
+function nr(e, t) {
let n = t.split(".");
return () => {
let t = e;
@@ -1233,71 +1192,71 @@ function ar(e, t) {
return t;
};
}
-var or = /* @__PURE__ */ new WeakMap(), sr = /* @__PURE__ */ Symbol("_vte"), cr = (e) => e.__isTeleport, lr = (e) => e && (e.disabled || e.disabled === ""), ur = (e) => e && (e.defer || e.defer === ""), dr = (e) => typeof SVGElement < "u" && e instanceof SVGElement, fr = (e) => typeof MathMLElement == "function" && e instanceof MathMLElement, pr = (e, t) => {
+var rr = /* @__PURE__ */ new WeakMap(), ir = /* @__PURE__ */ Symbol("_vte"), ar = (e) => e.__isTeleport, or = (e) => e && (e.disabled || e.disabled === ""), sr = (e) => e && (e.defer || e.defer === ""), cr = (e) => typeof SVGElement < "u" && e instanceof SVGElement, lr = (e) => typeof MathMLElement == "function" && e instanceof MathMLElement, ur = (e, t) => {
let n = e && e.to;
return g(n) ? t ? t(n) : null : n;
-}, mr = {
+}, dr = {
name: "Teleport",
__isTeleport: !0,
process(e, t, n, r, i, a, o, s, c, l) {
- let { mc: u, pc: d, pbc: f, o: { insert: p, querySelector: m, createText: h, createComment: g, parentNode: _ } } = l, v = lr(t.props), { dynamicChildren: y } = t, b = (e, t, n) => {
+ let { mc: u, pc: d, pbc: f, o: { insert: p, querySelector: m, createText: h, createComment: g, parentNode: _ } } = l, v = or(t.props), { dynamicChildren: y } = t, b = (e, t, n) => {
e.shapeFlag & 16 && u(e.children, t, n, i, a, o, s, c);
}, x = (e = t) => {
- let n = lr(e.props), r = e.target = pr(e.props, m), a = yr(r, e, h, p);
- r && (o !== "svg" && dr(r) ? o = "svg" : o !== "mathml" && fr(r) && (o = "mathml"), i && i.isCE && (i.ce._teleportTargets || (i.ce._teleportTargets = /* @__PURE__ */ new Set())).add(r), n || (b(e, r, a), vr(e, !1)));
+ let n = or(e.props), r = e.target = ur(e.props, m), a = gr(r, e, h, p);
+ r && (o !== "svg" && cr(r) ? o = "svg" : o !== "mathml" && lr(r) && (o = "mathml"), i && i.isCE && (i.ce._teleportTargets || (i.ce._teleportTargets = /* @__PURE__ */ new Set())).add(r), n || (b(e, r, a), hr(e, !1)));
}, S = (e) => {
let t = () => {
- if (or.get(e) === t) {
- if (or.delete(e), lr(e.props)) {
+ if (rr.get(e) === t) {
+ if (rr.delete(e), or(e.props)) {
let t = _(e.el) || n;
- b(e, t, e.anchor), vr(e, !0);
+ b(e, t, e.anchor), hr(e, !0);
}
x(e);
}
};
- or.set(e, t), Ca(t, a);
+ rr.set(e, t), ya(t, a);
};
if (e == null) {
let e = t.el = h(""), i = t.anchor = h("");
- if (p(e, n, r), p(i, n, r), ur(t.props) || a && a.pendingBranch) {
+ if (p(e, n, r), p(i, n, r), sr(t.props) || a && a.pendingBranch) {
S(t);
return;
}
- v && (b(t, n, i), vr(t, !0)), x();
+ v && (b(t, n, i), hr(t, !0)), x();
} else {
t.el = e.el;
- let r = t.anchor = e.anchor, u = or.get(e);
+ let r = t.anchor = e.anchor, u = rr.get(e);
if (u) {
- u.flags |= 8, or.delete(e), S(t);
+ u.flags |= 8, rr.delete(e), S(t);
return;
}
t.targetStart = e.targetStart;
- let p = t.target = e.target, h = t.targetAnchor = e.targetAnchor, g = lr(e.props), _ = g ? n : p, b = g ? r : h;
- if (o === "svg" || dr(p) ? o = "svg" : (o === "mathml" || fr(p)) && (o = "mathml"), y ? (f(e.dynamicChildren, y, _, i, a, o, s), ka(e, t, !0)) : c || d(e, t, _, b, i, a, o, s, !1), v) g ? t.props && e.props && t.props.to !== e.props.to && (t.props.to = e.props.to) : hr(t, n, r, l, 1);
+ let p = t.target = e.target, h = t.targetAnchor = e.targetAnchor, g = or(e.props), _ = g ? n : p, b = g ? r : h;
+ if (o === "svg" || cr(p) ? o = "svg" : (o === "mathml" || lr(p)) && (o = "mathml"), y ? (f(e.dynamicChildren, y, _, i, a, o, s), Ta(e, t, !0)) : c || d(e, t, _, b, i, a, o, s, !1), v) g ? t.props && e.props && t.props.to !== e.props.to && (t.props.to = e.props.to) : fr(t, n, r, l, 1);
else if ((t.props && t.props.to) !== (e.props && e.props.to)) {
- let e = pr(t.props, m);
- e && (t.target = e, hr(t, e, null, l, 0));
- } else g && hr(t, p, h, l, 1);
- vr(t, v);
+ let e = ur(t.props, m);
+ e && (t.target = e, fr(t, e, null, l, 0));
+ } else g && fr(t, p, h, l, 1);
+ hr(t, v);
}
},
remove(e, t, n, { um: r, o: { remove: i } }, a) {
- let { shapeFlag: o, children: s, anchor: c, targetStart: l, targetAnchor: u, target: d, props: f } = e, p = lr(f), m = a || !p, h = or.get(e);
- if (h && (h.flags |= 8, or.delete(e)), d && (i(l), i(u)), a && i(c), !h && (p || d) && o & 16) for (let e = 0; e < s.length; e++) {
+ let { shapeFlag: o, children: s, anchor: c, targetStart: l, targetAnchor: u, target: d, props: f } = e, p = or(f), m = a || !p, h = rr.get(e);
+ if (h && (h.flags |= 8, rr.delete(e)), d && (i(l), i(u)), a && i(c), !h && (p || d) && o & 16) for (let e = 0; e < s.length; e++) {
let i = s[e];
r(i, t, n, m, !!i.dynamicChildren);
}
},
- move: hr,
- hydrate: gr
+ move: fr,
+ hydrate: pr
};
-function hr(e, t, n, { o: { insert: r }, m: i }, a = 2) {
- a === 0 && (e.targetStart && r(e.targetStart, t, n), r(e.targetAnchor, t, n), n = e.targetAnchor);
+function fr(e, t, n, { o: { insert: r }, m: i }, a = 2) {
+ a === 0 && r(e.targetAnchor, t, n);
let { el: o, anchor: s, shapeFlag: c, children: l, props: u } = e, d = a === 2;
- if (d && r(o, t, n), !or.has(e) && (!d || lr(u)) && c & 16) for (let e = 0; e < l.length; e++) i(l[e], t, n, 2);
+ if (d && r(o, t, n), !rr.has(e) && (!d || or(u)) && c & 16) for (let e = 0; e < l.length; e++) i(l[e], t, n, 2);
d && r(s, t, n);
}
-function gr(e, t, n, r, i, a, { o: { nextSibling: o, parentNode: s, querySelector: c, insert: l, createText: u } }, d) {
+function pr(e, t, n, r, i, a, { o: { nextSibling: o, parentNode: s, querySelector: c, insert: l, createText: u } }, d) {
function f(e, n) {
let r = n;
for (; r;) {
@@ -1314,15 +1273,15 @@ function gr(e, t, n, r, i, a, { o: { nextSibling: o, parentNode: s, querySelecto
function p(e, t) {
t.anchor = d(o(e), t, s(e), n, r, i, a);
}
- let m = t.target = pr(t.props, c), h = lr(t.props);
+ let m = t.target = ur(t.props, c), h = or(t.props);
if (m) {
let c = m._lpa || m.firstChild;
- t.shapeFlag & 16 && (h ? (p(e, t), f(m, c), t.targetAnchor || yr(m, t, u, l, s(e) === m ? e : null)) : (t.anchor = o(e), f(m, c), t.targetAnchor || yr(m, t, u, l), d(c && o(c), t, m, n, r, i, a))), vr(t, h);
+ t.shapeFlag & 16 && (h ? (p(e, t), f(m, c), t.targetAnchor || gr(m, t, u, l, s(e) === m ? e : null)) : (t.anchor = o(e), f(m, c), t.targetAnchor || gr(m, t, u, l), d(c && o(c), t, m, n, r, i, a))), hr(t, h);
} else h && t.shapeFlag & 16 && (p(e, t), t.targetStart = e, t.targetAnchor = o(e));
return t.anchor && o(t.anchor);
}
-var _r = mr;
-function vr(e, t) {
+var mr = dr;
+function hr(e, t) {
let n = e.ctx;
if (n && n.ut) {
let r, i;
@@ -1330,64 +1289,67 @@ function vr(e, t) {
n.ut();
}
}
-function yr(e, t, n, r, i = null) {
+function gr(e, t, n, r, i = null) {
let a = t.targetStart = n(""), o = t.targetAnchor = n("");
- return a[sr] = o, e && (r(a, e, i), r(o, e, i)), o;
+ return a[ir] = o, e && (r(a, e, i), r(o, e, i)), o;
}
-var br = /* @__PURE__ */ Symbol("_leaveCb"), xr = /* @__PURE__ */ Symbol("_enterCb");
-function Sr() {
+var _r = /* @__PURE__ */ Symbol("_leaveCb"), vr = /* @__PURE__ */ Symbol("_enterCb");
+function yr() {
let e = {
isMounted: !1,
isLeaving: !1,
isUnmounting: !1,
leavingVNodes: /* @__PURE__ */ new Map()
};
- return ti(() => {
+ return Qr(() => {
e.isMounted = !0;
- }), ii(() => {
+ }), ti(() => {
e.isUnmounting = !0;
}), e;
}
-var Cr = [Function, Array], wr = {
+var br = [Function, Array], xr = {
mode: String,
appear: Boolean,
persisted: Boolean,
- onBeforeEnter: Cr,
- onEnter: Cr,
- onAfterEnter: Cr,
- onEnterCancelled: Cr,
- onBeforeLeave: Cr,
- onLeave: Cr,
- onAfterLeave: Cr,
- onLeaveCancelled: Cr,
- onBeforeAppear: Cr,
- onAppear: Cr,
- onAfterAppear: Cr,
- onAppearCancelled: Cr
-}, Tr = {
+ onBeforeEnter: br,
+ onEnter: br,
+ onAfterEnter: br,
+ onEnterCancelled: br,
+ onBeforeLeave: br,
+ onLeave: br,
+ onAfterLeave: br,
+ onLeaveCancelled: br,
+ onBeforeAppear: br,
+ onAppear: br,
+ onAfterAppear: br,
+ onAppearCancelled: br
+}, Sr = (e) => {
+ let t = e.subTree;
+ return t.component ? Sr(t.component) : t;
+}, Cr = {
name: "BaseTransition",
- props: wr,
+ props: xr,
setup(e, { slots: t }) {
- let n = co(), r = Sr();
+ let n = ro(), r = yr();
return () => {
- let i = t.default && Nr(t.default(), !0), a = i && i.length ? Er(i) : n.subTree ? W() : void 0;
+ let i = t.default && jr(t.default(), !0), a = i && i.length ? wr(i) : n.subTree ? U() : void 0;
if (!a) return;
let o = /* @__PURE__ */ M(e), { mode: s } = o;
- if (r.isLeaving) return Ar(a);
- let c = jr(a);
- if (!c) return Ar(a);
- let l = kr(c, o, r, n, (e) => l = e);
- c.type !== R && Mr(c, l);
- let u = n.subTree && jr(n.subTree);
- if (u && u.type !== R && !Ga(u, c) && Pr(n.subTree)) {
- let e = kr(u, o, r, n);
- if (Mr(u, e), s === "out-in" && c.type !== R) return r.isLeaving = !0, e.afterLeave = () => {
+ if (r.isLeaving) return Or(a);
+ let c = kr(a);
+ if (!c) return Or(a);
+ let l = Dr(c, o, r, n, (e) => l = e);
+ c.type !== Na && Ar(c, l);
+ let u = n.subTree && kr(n.subTree);
+ if (u && u.type !== Na && !Ha(u, c) && Sr(n).type !== Na) {
+ let e = Dr(u, o, r, n);
+ if (Ar(u, e), s === "out-in" && c.type !== Na) return r.isLeaving = !0, e.afterLeave = () => {
r.isLeaving = !1, n.job.flags & 8 || n.update(), delete e.afterLeave, u = void 0;
- }, Ar(a);
- s === "in-out" && c.type !== R ? e.delayLeave = (e, t, n) => {
- let i = Or(r, u);
- i[String(u.key)] = u, e[br] = () => {
- t(), e[br] = void 0, delete l.delayedLeave, u = void 0;
+ }, Or(a);
+ s === "in-out" && c.type !== Na ? e.delayLeave = (e, t, n) => {
+ let i = Er(r, u);
+ i[String(u.key)] = u, e[_r] = () => {
+ t(), e[_r] = void 0, delete l.delayedLeave, u = void 0;
}, l.delayedLeave = () => {
n(), delete l.delayedLeave, u = void 0;
};
@@ -1397,24 +1359,24 @@ var Cr = [Function, Array], wr = {
};
}
};
-function Er(e) {
+function wr(e) {
let t = e[0];
if (e.length > 1) {
- for (let n of e) if (n.type !== R) {
+ for (let n of e) if (n.type !== Na) {
t = n;
break;
}
}
return t;
}
-var Dr = Tr;
-function Or(e, t) {
+var Tr = Cr;
+function Er(e, t) {
let { leavingVNodes: n } = e, r = n.get(t.type);
return r || (r = /* @__PURE__ */ Object.create(null), n.set(t.type, r)), r;
}
-function kr(e, t, n, r, i) {
- let { appear: a, mode: o, persisted: s = !1, onBeforeEnter: c, onEnter: l, onAfterEnter: u, onEnterCancelled: f, onBeforeLeave: p, onLeave: m, onAfterLeave: h, onLeaveCancelled: g, onBeforeAppear: _, onAppear: v, onAfterAppear: y, onAppearCancelled: b } = t, x = String(e.key), S = Or(n, e), C = (e, t) => {
- e && Cn(e, r, 9, t);
+function Dr(e, t, n, r, i) {
+ let { appear: a, mode: o, persisted: s = !1, onBeforeEnter: c, onEnter: l, onAfterEnter: u, onEnterCancelled: f, onBeforeLeave: p, onLeave: m, onAfterLeave: h, onLeaveCancelled: g, onBeforeAppear: _, onAppear: v, onAfterAppear: y, onAppearCancelled: b } = t, x = String(e.key), S = Er(n, e), C = (e, t) => {
+ e && Sn(e, r, 9, t);
}, w = (e, t) => {
let n = t[1];
C(e, t), d(e) ? e.every((e) => e.length <= 1) && n() : e.length <= 1 && n();
@@ -1427,17 +1389,9 @@ function kr(e, t, n, r, i) {
if (a) r = _ || c;
else return;
}
- t[br] && t[br](!0);
+ t[_r] && t[_r](!0);
let i = S[x];
- if (i && Ga(e, i)) {
- let e = i.el[br];
- if (!e) {
- let t = Pr(i);
- e = t && t.el[br];
- }
- e && e();
- }
- C(r, [t]);
+ i && Ha(e, i) && i.el[_r] && i.el[_r](), C(r, [t]);
},
enter(t) {
if (S[x] === e) return;
@@ -1447,35 +1401,35 @@ function kr(e, t, n, r, i) {
else return;
}
let s = !1;
- t[xr] = (e) => {
- s || (s = !0, C(e ? o : i, [t]), ee.delayedLeave && ee.delayedLeave(), t[xr] = void 0);
+ t[vr] = (e) => {
+ s || (s = !0, C(e ? o : i, [t]), ee.delayedLeave && ee.delayedLeave(), t[vr] = void 0);
};
- let c = t[xr].bind(null, !1);
+ let c = t[vr].bind(null, !1);
r ? w(r, [t, c]) : c();
},
leave(t, r) {
let i = String(e.key);
- if (t[xr] && t[xr](!0), n.isUnmounting) return r();
+ if (t[vr] && t[vr](!0), n.isUnmounting) return r();
C(p, [t]);
let a = !1;
- t[br] = (n) => {
- a || (a = !0, r(), C(n ? g : h, [t]), t[br] = void 0, S[i] === e && delete S[i]);
+ t[_r] = (n) => {
+ a || (a = !0, r(), C(n ? g : h, [t]), t[_r] = void 0, S[i] === e && delete S[i]);
};
- let o = t[br].bind(null, !1);
+ let o = t[_r].bind(null, !1);
S[i] = e, m ? w(m, [t, o]) : o();
},
clone(e) {
- let a = kr(e, t, n, r, i);
+ let a = Dr(e, t, n, r, i);
return i && i(a), a;
}
};
return ee;
}
-function Ar(e) {
- if (qr(e)) return e = Xa(e), e.children = null, e;
+function Or(e) {
+ if (Wr(e)) return e = qa(e), e.children = null, e;
}
-function jr(e) {
- if (!qr(e)) return cr(e.type) && e.children ? Er(e.children) : e;
+function kr(e) {
+ if (!Wr(e)) return ar(e.type) && e.children ? wr(e.children) : e;
if (e.component) return e.component.subTree;
let { shapeFlag: t, children: n } = e;
if (n) {
@@ -1483,72 +1437,60 @@ function jr(e) {
if (t & 32 && h(n.default)) return n.default();
}
}
-function Mr(e, t) {
+function Ar(e, t) {
if (e.shapeFlag & 6 && e.component) {
e.transition = t;
let n = e.component.subTree;
- Mr(cr(n.type) && jr(n) || n, t);
- } else if (e.shapeFlag & 128) e.ssContent.transition = t.clone(e.ssContent), e.ssFallback.transition = t.clone(e.ssFallback);
- else if (e.transition = t, e.type === L && d(e.children)) {
- let n = Qi(e.children, !1);
- n && Mr(n, t);
- }
+ Ar(ar(n.type) && kr(n) || n, t);
+ } else e.shapeFlag & 128 ? (e.ssContent.transition = t.clone(e.ssContent), e.ssFallback.transition = t.clone(e.ssFallback)) : e.transition = t;
}
-function Nr(e, t = !1, n) {
+function jr(e, t = !1, n) {
let r = [], i = 0;
for (let a = 0; a < e.length; a++) {
let o = e[a], s = n == null ? o.key : String(n) + String(o.key == null ? a : o.key);
- o.type === L ? (o.patchFlag & 128 && i++, r = r.concat(Nr(o.children, t, s))) : (t || o.type !== R) && r.push(s == null ? o : Xa(o, { key: s }));
+ o.type === L ? (o.patchFlag & 128 && i++, r = r.concat(jr(o.children, t, s))) : (t || o.type !== Na) && r.push(s == null ? o : qa(o, { key: s }));
}
if (i > 1) for (let e = 0; e < r.length; e++) r[e].patchFlag = -2;
return r;
}
-function Pr(e) {
- if (e.component) return Pr(e.component.subTree);
- if (e.type === L) {
- let t = d(e.children) && Qi(e.children, !1);
- return t ? Pr(t) : void 0;
- }
- if (e.type !== R) return e;
-}
// @__NO_SIDE_EFFECTS__
-function Fr(e, t) {
+function Mr(e, t) {
return h(e) ? /* @__PURE__ */ s({ name: e.name }, t, { setup: e }) : e;
}
-function Ir() {
- let e = co();
+function Nr() {
+ let e = ro();
return e ? (e.appContext.config.idPrefix || "v") + "-" + e.ids[0] + e.ids[1]++ : "";
}
-function Lr(e) {
+function Pr(e) {
e.ids = [
e.ids[0] + e.ids[2]++ + "-",
0,
0
];
}
-function Rr(e, t) {
+function Fr(e, t) {
let n;
return !!((n = Object.getOwnPropertyDescriptor(e, t)) && !n.configurable);
}
-var zr = /* @__PURE__ */ new WeakMap();
-function Br(e, n, r, a, o = !1) {
+var Ir = /* @__PURE__ */ new WeakMap();
+function Lr(e, n, r, a, o = !1) {
if (d(e)) {
- e.forEach((e, t) => Br(e, n && (d(n) ? n[t] : n), r, a, o));
+ e.forEach((e, t) => Lr(e, n && (d(n) ? n[t] : n), r, a, o));
return;
}
- if (Wr(a) && !o) {
- a.shapeFlag & 512 && a.type.__asyncResolved && a.component.subTree.component && Br(e, n, r, a.component.subTree);
+ if (Vr(a) && !o) {
+ a.shapeFlag & 512 && a.type.__asyncResolved && a.component.subTree.component && Lr(e, n, r, a.component.subTree);
return;
}
- let s = a.shapeFlag & 4 ? So(a.component) : a.el, l = o ? null : s, { i: f, r: p } = e, m = n && n.r, _ = f.refs === t ? f.refs = {} : f.refs, v = f.setupState, y = /* @__PURE__ */ M(v), b = v === t ? i : (e) => !Rr(_, e) && u(y, e), x = (e, t) => !(t && Rr(_, t));
+ let s = a.shapeFlag & 4 ? _o(a.component) : a.el, l = o ? null : s, { i: f, r: p } = e, m = n && n.r, _ = f.refs === t ? f.refs = {} : f.refs, v = f.setupState, y = /* @__PURE__ */ M(v), b = v === t ? i : (e) => !Fr(_, e) && u(y, e), x = (e, t) => !(t && Fr(_, t));
if (m != null && m !== p) {
- if (Vr(n), g(m)) _[m] = null, b(m) && (v[m] = null);
+ if (Rr(n), g(m)) _[m] = null, b(m) && (v[m] = null);
else if (/* @__PURE__ */ N(m)) {
let e = n;
x(m, e.k) && (m.value = null), e.k && (_[e.k] = null);
}
}
- if (h(p)) Sn(p, f, 12, [l, _]);
+ if (h(p)) xn(p, f, 12, [l, _]);
else {
let t = g(p), n = /* @__PURE__ */ N(p);
if (t || n) {
@@ -1566,26 +1508,26 @@ function Br(e, n, r, a, o = !1) {
};
if (l) {
let t = () => {
- i(), zr.delete(e);
+ i(), Ir.delete(e);
};
- t.id = -1, zr.set(e, t), Ca(t, r);
- } else Vr(e), i();
+ t.id = -1, Ir.set(e, t), ya(t, r);
+ } else Rr(e), i();
}
}
}
-function Vr(e) {
- let t = zr.get(e);
- t && (t.flags |= 8, zr.delete(e));
+function Rr(e) {
+ let t = Ir.get(e);
+ t && (t.flags |= 8, Ir.delete(e));
}
-var Hr = (e) => e.nodeType === 8;
+var zr = (e) => e.nodeType === 8;
de().requestIdleCallback, de().cancelIdleCallback;
-function Ur(e, t) {
- if (Hr(e) && e.data === "[") {
+function Br(e, t) {
+ if (zr(e) && e.data === "[") {
let n = 1, r = e.nextSibling;
for (; r;) {
if (r.nodeType === 1) {
if (t(r) === !1) break;
- } else if (Hr(r)) {
+ } else if (zr(r)) {
if (r.data === "]") {
if (--n === 0) break;
} else r.data === "[" && n++;
@@ -1594,9 +1536,9 @@ function Ur(e, t) {
}
} else t(e);
}
-var Wr = (e) => !!e.type.__asyncLoader;
+var Vr = (e) => !!e.type.__asyncLoader;
// @__NO_SIDE_EFFECTS__
-function Gr(e) {
+function Hr(e) {
h(e) && (e = { loader: e });
let { loader: t, loadingComponent: n, errorComponent: r, delay: i = 200, hydrate: a, timeout: o, suspensible: s = !0, onError: c } = e, l = null, u, d = 0, f = () => (d++, l = null, p()), p = () => {
let e;
@@ -1607,7 +1549,7 @@ function Gr(e) {
throw e;
}).then((t) => e !== l && l ? l : (t && (t.__esModule || t[Symbol.toStringTag] === "Module") && (t = t.default), u = t, t)));
};
- return /* @__PURE__ */ Fr({
+ return /* @__PURE__ */ Mr({
name: "AsyncComponentWrapper",
__asyncLoader: p,
__asyncHydrate(e, t, n) {
@@ -1616,7 +1558,7 @@ function Gr(e) {
let o = () => {
i || !e.parentNode || r && !e.isConnected || n();
}, s = a ? () => {
- let n = a(o, (t) => Ur(e, t));
+ let n = a(o, (t) => Br(e, t));
n && (t.bum ||= []).push(n);
} : o;
u ? s() : p().then(() => !t.isUnmounted && s());
@@ -1625,14 +1567,14 @@ function Gr(e) {
return u;
},
setup() {
- let e = so;
- if (Lr(e), u) return () => Kr(u, e);
+ let e = G;
+ if (Pr(e), u) return () => Ur(u, e);
let t = (t) => {
- l = null, wn(t, e, 13, !r);
+ l = null, Cn(t, e, 13, !r);
};
- if (s && e.suspense || ho) return p().then((t) => () => Kr(t, e)).catch((e) => (t(e), () => r ? U(r, { error: e }) : null));
- let a = /* @__PURE__ */ en(!1), c = /* @__PURE__ */ en(), d = /* @__PURE__ */ en(!!i), f, m;
- return ai(() => {
+ if (s && e.suspense || lo) return p().then((t) => () => Ur(t, e)).catch((e) => (t(e), () => r ? H(r, { error: e }) : null));
+ let a = /* @__PURE__ */ $t(!1), c = /* @__PURE__ */ $t(), d = /* @__PURE__ */ $t(!!i), f, m;
+ return ni(() => {
f != null && clearTimeout(f), m != null && clearTimeout(m);
}), i && (m = setTimeout(() => {
e.isUnmounted || (d.value = !1);
@@ -1642,29 +1584,29 @@ function Gr(e) {
t(e), c.value = e;
}
}, o)), p().then(() => {
- e.isUnmounted || (a.value = !0, e.parent && qr(e.parent.vnode) && e.parent.update());
+ e.isUnmounted || (a.value = !0, e.parent && Wr(e.parent.vnode) && e.parent.update());
}).catch((n) => {
e.isUnmounted ? l = null : (t(n), c.value = n);
}), () => {
- if (a.value && u) return Kr(u, e);
- if (c.value && r) return U(r, { error: c.value });
- if (n && !d.value) return Kr(n, e);
+ if (a.value && u) return Ur(u, e);
+ if (c.value && r) return H(r, { error: c.value });
+ if (n && !d.value) return Ur(n, e);
};
}
});
}
-function Kr(e, t) {
- let { ref: n, props: r, children: i, ce: a } = t.vnode, o = U(e, r, i);
+function Ur(e, t) {
+ let { ref: n, props: r, children: i, ce: a } = t.vnode, o = H(e, r, i);
return o.ref = n, o.ce = a, delete t.vnode.ce, o;
}
-var qr = (e) => e.type.__isKeepAlive;
-function Jr(e, t) {
- Xr(e, "a", t);
+var Wr = (e) => e.type.__isKeepAlive;
+function Gr(e, t) {
+ qr(e, "a", t);
}
-function Yr(e, t) {
- Xr(e, "da", t);
+function Kr(e, t) {
+ qr(e, "da", t);
}
-function Xr(e, t, n = so) {
+function qr(e, t, n = G) {
let r = e.__wdc ||= () => {
let t = n;
for (; t;) {
@@ -1673,71 +1615,68 @@ function Xr(e, t, n = so) {
}
return e();
};
- if (Qr(t, r, n), n) {
+ if (Yr(t, r, n), n) {
let e = n.parent;
- for (; e && e.parent;) qr(e.parent.vnode) && Zr(r, t, n, e), e = e.parent;
+ for (; e && e.parent;) Wr(e.parent.vnode) && Jr(r, t, n, e), e = e.parent;
}
}
-function Zr(e, t, n, r) {
- let i = Qr(t, e, r, !0);
- ai(() => {
+function Jr(e, t, n, r) {
+ let i = Yr(t, e, r, !0);
+ ni(() => {
c(r[t], i);
}, n);
}
-function Qr(e, t, n = so, r = !1) {
+function Yr(e, t, n = G, r = !1) {
if (n) {
let i = n[e] || (n[e] = []), a = t.__weh ||= (...r) => {
Ye();
- let i = fo(n), a = Cn(t, n, e, r);
+ let i = oo(n), a = Sn(t, n, e, r);
return i(), Xe(), a;
};
return r ? i.unshift(a) : i.push(a), a;
}
}
-var $r = (e) => (t, n = so) => {
- ho && e !== "sp" || Qr(e, (...e) => t(...e), n);
-}, ei = $r("bm"), ti = $r("m"), ni = $r("bu"), ri = $r("u"), ii = $r("bum"), ai = $r("um"), oi = $r("sp"), si = $r("rtg"), ci = $r("rtc");
-function li(e, t = so) {
- Qr("ec", e, t);
+var Xr = (e) => (t, n = G) => {
+ lo && e !== "sp" || Yr(e, (...e) => t(...e), n);
+}, Zr = Xr("bm"), Qr = Xr("m"), $r = Xr("bu"), ei = Xr("u"), ti = Xr("bum"), ni = Xr("um"), ri = Xr("sp"), ii = Xr("rtg"), ai = Xr("rtc");
+function oi(e, t = G) {
+ Yr("ec", e, t);
}
-var ui = "components", di = "directives";
+var si = "components", ci = "directives";
function F(e, t) {
- return hi(ui, e, !0, t) || e;
+ return fi(si, e, !0, t) || e;
}
-var fi = /* @__PURE__ */ Symbol.for("v-ndc");
-function pi(e) {
- return g(e) ? hi(ui, e, !1) || e : e || fi;
+var li = /* @__PURE__ */ Symbol.for("v-ndc");
+function ui(e) {
+ return g(e) ? fi(si, e, !1) || e : e || li;
}
-function mi(e) {
- return hi(di, e);
+function di(e) {
+ return fi(ci, e);
}
-function hi(e, t, n = !0, r = !1) {
- let i = Wn || so;
+function fi(e, t, n = !0, r = !1) {
+ let i = Vn || G;
if (i) {
let n = i.type;
- if (e === ui) {
- let e = Co(n, !1);
+ if (e === si) {
+ let e = vo(n, !1);
if (e && (e === t || e === T(t) || e === ie(T(t)))) return n;
}
- let a = gi(i[e] || n[e], t) || gi(i.appContext[e], t);
+ let a = pi(i[e] || n[e], t) || pi(i.appContext[e], t);
return !a && r ? n : a;
}
}
-function gi(e, t) {
+function pi(e, t) {
return e && (e[t] || e[T(t)] || e[ie(T(t))]);
}
-function _i(e, t, n, r) {
+function mi(e, t, n, r) {
let i, a = n && n[r], o = d(e);
if (o || g(e)) {
- let n = o && /* @__PURE__ */ qt(e), r = !1, s = !1;
- n && (r = !/* @__PURE__ */ Yt(e), s = /* @__PURE__ */ Jt(e), e = ut(e)), i = Array(e.length);
- for (let n = 0, o = e.length; n < o; n++) i[n] = t(r ? s ? $t(Qt(e[n])) : Qt(e[n]) : e[n], n, void 0, a && a[n]);
+ let n = o && /* @__PURE__ */ Kt(e), r = !1, s = !1;
+ n && (r = !/* @__PURE__ */ Jt(e), s = /* @__PURE__ */ qt(e), e = ut(e)), i = Array(e.length);
+ for (let n = 0, o = e.length; n < o; n++) i[n] = t(r ? s ? Qt(Zt(e[n])) : Zt(e[n]) : e[n], n, void 0, a && a[n]);
} else if (typeof e == "number") {
- if (!Number.isInteger(e) || e < 0) i = [];
- else {
- i = Array(e);
- for (let n = 0; n < e; n++) i[n] = t(n + 1, n, void 0, a && a[n]);
- }
+ i = Array(e);
+ for (let n = 0; n < e; n++) i[n] = t(n + 1, n, void 0, a && a[n]);
} else if (v(e)) {
if (e[Symbol.iterator]) i = Array.from(e, (e, n) => t(e, n, void 0, a && a[n]));
else {
@@ -1751,7 +1690,7 @@ function _i(e, t, n, r) {
} else i = [];
return n && (n[r] = i), i;
}
-function vi(e, t) {
+function hi(e, t) {
for (let n = 0; n < t.length; n++) {
let r = t[n];
if (d(r)) for (let t = 0; t < r.length; t++) e[r[t].name] = r[t].fn;
@@ -1763,30 +1702,30 @@ function vi(e, t) {
return e;
}
function I(e, t, n, r, i, a) {
- if (n ??= {}, Wn.ce || Wn.parent && Wr(Wn.parent) && Wn.parent.ce) {
+ if (n ??= {}, Vn.ce || Vn.parent && Vr(Vn.parent) && Vn.parent.ce) {
let e = a != null && n.key == null ? s({}, n, { key: a }) : n, i = Object.keys(e).length > 0;
- return t !== "default" && (e.name = t), z(), V(L, null, [U("slot", e, r && r())], i ? -2 : 64);
+ return t !== "default" && (e.name = t), R(), B(L, null, [H("slot", e, r && r())], i ? -2 : 64);
}
let o = e[t];
o && o._c && (o._d = !1);
- let c = Ra.length;
- z();
+ let c = Fa.length;
+ R();
let l;
try {
- let i = o && yi(o(n)), s = n.key || a || i && i.key;
- l = V(L, { key: (s && !_(s) ? s : `_${t}`) + (!i && r ? "_fb" : "") }, i || (r ? r() : []), i && e._ === 1 ? 64 : -2);
+ let i = o && gi(o(n)), s = n.key || a || i && i.key;
+ l = B(L, { key: (s && !_(s) ? s : `_${t}`) + (!i && r ? "_fb" : "") }, i || (r ? r() : []), i && e._ === 1 ? 64 : -2);
} catch (e) {
- for (let e = Ra.length; e > c; e--) Ba();
+ for (let e = Fa.length; e > c; e--) La();
throw e;
} finally {
o && o._c && (o._d = !0);
}
return !i && l.scopeId && (l.slotScopeIds = [l.scopeId + "-s"]), l;
}
-function yi(e) {
- return e.some((e) => !Wa(e) || !(e.type === R || e.type === L && !yi(e.children))) ? e : null;
+function gi(e) {
+ return e.some((e) => !Va(e) || !(e.type === Na || e.type === L && !gi(e.children))) ? e : null;
}
-var bi = (e) => e ? mo(e) ? So(e) : bi(e.parent) : null, xi = /* @__PURE__ */ s(/* @__PURE__ */ Object.create(null), {
+var _i = (e) => e ? co(e) ? _o(e) : _i(e.parent) : null, vi = /* @__PURE__ */ s(/* @__PURE__ */ Object.create(null), {
$: (e) => e,
$el: (e) => e.vnode.el,
$data: (e) => e.data,
@@ -1794,17 +1733,17 @@ var bi = (e) => e ? mo(e) ? So(e) : bi(e.parent) : null, xi = /* @__PURE__ */ s(
$attrs: (e) => e.attrs,
$slots: (e) => e.slots,
$refs: (e) => e.refs,
- $parent: (e) => bi(e.parent),
- $root: (e) => bi(e.root),
+ $parent: (e) => _i(e.parent),
+ $root: (e) => _i(e.root),
$host: (e) => e.ce,
$emit: (e) => e.emit,
- $options: (e) => ji(e),
+ $options: (e) => Oi(e),
$forceUpdate: (e) => e.f ||= () => {
- Fn(e.update);
+ Pn(e.update);
},
- $nextTick: (e) => e.n ||= Nn.bind(e.proxy),
- $watch: (e) => ir.bind(e)
-}), Si = (e, n) => e !== t && !e.__isScriptSetup && u(e, n), Ci = {
+ $nextTick: (e) => e.n ||= Mn.bind(e.proxy),
+ $watch: (e) => tr.bind(e)
+}), yi = (e, n) => e !== t && !e.__isScriptSetup && u(e, n), bi = {
get({ _: e }, n) {
if (n === "__v_skip") return !0;
let { ctx: r, setupState: i, data: a, props: o, accessCache: s, type: c, appContext: l } = e;
@@ -1816,13 +1755,13 @@ var bi = (e) => e ? mo(e) ? So(e) : bi(e.parent) : null, xi = /* @__PURE__ */ s(
case 4: return r[n];
case 3: return o[n];
}
- else if (Si(i, n)) return s[n] = 1, i[n];
+ else if (yi(i, n)) return s[n] = 1, i[n];
else if (a !== t && u(a, n)) return s[n] = 2, a[n];
else if (u(o, n)) return s[n] = 3, o[n];
else if (r !== t && u(r, n)) return s[n] = 4, r[n];
- else Ei && (s[n] = 0);
+ else Ci && (s[n] = 0);
}
- let d = xi[n], f, p;
+ let d = vi[n], f, p;
if (d) return n === "$attrs" && ot(e.attrs, "get", ""), d(e);
if ((f = c.__cssModules) && (f = f[n])) return f;
if (r !== t && u(r, n)) return s[n] = 4, r[n];
@@ -1830,37 +1769,37 @@ var bi = (e) => e ? mo(e) ? So(e) : bi(e.parent) : null, xi = /* @__PURE__ */ s(
},
set({ _: e }, n, r) {
let { data: i, setupState: a, ctx: o } = e;
- return Si(a, n) ? (a[n] = r, !0) : i !== t && u(i, n) ? (i[n] = r, !0) : u(e.props, n) || n[0] === "$" && n.slice(1) in e ? !1 : (o[n] = r, !0);
+ return yi(a, n) ? (a[n] = r, !0) : i !== t && u(i, n) ? (i[n] = r, !0) : u(e.props, n) || n[0] === "$" && n.slice(1) in e ? !1 : (o[n] = r, !0);
},
has({ _: { data: e, setupState: n, accessCache: r, ctx: i, appContext: a, props: o, type: s } }, c) {
let l;
- return !!(r[c] || e !== t && c[0] !== "$" && u(e, c) || Si(n, c) || u(o, c) || u(i, c) || u(xi, c) || u(a.config.globalProperties, c) || (l = s.__cssModules) && l[c]);
+ return !!(r[c] || e !== t && c[0] !== "$" && u(e, c) || yi(n, c) || u(o, c) || u(i, c) || u(vi, c) || u(a.config.globalProperties, c) || (l = s.__cssModules) && l[c]);
},
defineProperty(e, t, n) {
return n.get == null ? u(n, "value") && this.set(e, t, n.value, null) : e._.accessCache[t] = 0, Reflect.defineProperty(e, t, n);
}
};
-function wi(e) {
+function xi(e) {
return d(e) ? e.reduce((e, t) => (e[t] = null, e), {}) : e;
}
-function Ti(e, t) {
- return !e || !t ? e || t : d(e) && d(t) ? e.concat(t) : s({}, wi(e), wi(t));
+function Si(e, t) {
+ return !e || !t ? e || t : d(e) && d(t) ? e.concat(t) : s({}, xi(e), xi(t));
}
-var Ei = !0;
-function Di(e) {
- let t = ji(e), n = e.proxy, i = e.ctx;
- Ei = !1, t.beforeCreate && ki(t.beforeCreate, e, "bc");
+var Ci = !0;
+function wi(e) {
+ let t = Oi(e), n = e.proxy, i = e.ctx;
+ Ci = !1, t.beforeCreate && Ei(t.beforeCreate, e, "bc");
let { data: a, computed: o, methods: s, watch: c, provide: l, inject: u, created: f, beforeMount: p, mounted: m, beforeUpdate: g, updated: _, activated: y, deactivated: b, beforeDestroy: x, beforeUnmount: S, destroyed: C, unmounted: w, render: ee, renderTracked: te, renderTriggered: ne, errorCaptured: T, serverPrefetch: re, expose: E, inheritAttrs: ie, components: ae, directives: D, filters: oe } = t;
- if (u && Oi(u, i, null), s) for (let e in s) {
+ if (u && Ti(u, i, null), s) for (let e in s) {
let t = s[e];
h(t) && (i[e] = t.bind(n));
}
if (a) {
let t = a.call(n, n);
- v(t) && (e.data = /* @__PURE__ */ Ut(t));
+ v(t) && (e.data = /* @__PURE__ */ Ht(t));
}
- if (Ei = !0, o) for (let e in o) {
- let t = o[e], a = To({
+ if (Ci = !0, o) for (let e in o) {
+ let t = o[e], a = bo({
get: h(t) ? t.bind(n, n) : h(t.get) ? t.get.bind(n, n) : r,
set: !h(t) && h(t.set) ? t.set.bind(n) : r
});
@@ -1871,18 +1810,18 @@ function Di(e) {
set: (e) => a.value = e
});
}
- if (c) for (let e in c) Ai(c[e], i, n, e);
+ if (c) for (let e in c) Di(c[e], i, n, e);
if (l) {
let e = h(l) ? l.call(n) : l;
Reflect.ownKeys(e).forEach((t) => {
- Yn(t, e[t]);
+ Kn(t, e[t]);
});
}
- f && ki(f, e, "c");
+ f && Ei(f, e, "c");
function se(e, t) {
d(t) ? t.forEach((t) => e(t.bind(n))) : t && e(t.bind(n));
}
- if (se(ei, p), se(ti, m), se(ni, g), se(ri, _), se(Jr, y), se(Yr, b), se(li, T), se(ci, te), se(si, ne), se(ii, S), se(ai, w), se(oi, re), d(E)) {
+ if (se(Zr, p), se(Qr, m), se($r, g), se(ei, _), se(Gr, y), se(Kr, b), se(oi, T), se(ai, te), se(ii, ne), se(ti, S), se(ni, w), se(ri, re), d(E)) {
if (E.length) {
let t = e.exposed ||= {};
E.forEach((e) => {
@@ -1894,13 +1833,13 @@ function Di(e) {
});
} else e.exposed ||= {};
}
- ee && e.render === r && (e.render = ee), ie != null && (e.inheritAttrs = ie), ae && (e.components = ae), D && (e.directives = D), re && Lr(e);
+ ee && e.render === r && (e.render = ee), ie != null && (e.inheritAttrs = ie), ae && (e.components = ae), D && (e.directives = D), re && Pr(e);
}
-function Oi(e, t, n = r) {
- d(e) && (e = Ii(e));
+function Ti(e, t, n = r) {
+ d(e) && (e = Ni(e));
for (let n in e) {
let r = e[n], i;
- i = v(r) ? "default" in r ? Xn(r.from || n, r.default, !0) : Xn(r.from || n) : Xn(r), /* @__PURE__ */ N(i) ? Object.defineProperty(t, n, {
+ i = v(r) ? "default" in r ? qn(r.from || n, r.default, !0) : qn(r.from || n) : qn(r), /* @__PURE__ */ N(i) ? Object.defineProperty(t, n, {
enumerable: !0,
configurable: !0,
get: () => i.value,
@@ -1908,71 +1847,71 @@ function Oi(e, t, n = r) {
}) : t[n] = i;
}
}
-function ki(e, t, n) {
- Cn(d(e) ? e.map((e) => e.bind(t.proxy)) : e.bind(t.proxy), t, n);
+function Ei(e, t, n) {
+ Sn(d(e) ? e.map((e) => e.bind(t.proxy)) : e.bind(t.proxy), t, n);
}
-function Ai(e, t, n, r) {
- let i = r.includes(".") ? ar(n, r) : () => n[r];
+function Di(e, t, n, r) {
+ let i = r.includes(".") ? nr(n, r) : () => n[r];
if (g(e)) {
let n = t[e];
- h(n) && nr(i, n);
- } else if (h(e)) nr(i, e.bind(n));
+ h(n) && $n(i, n);
+ } else if (h(e)) $n(i, e.bind(n));
else if (v(e)) {
- if (d(e)) e.forEach((e) => Ai(e, t, n, r));
+ if (d(e)) e.forEach((e) => Di(e, t, n, r));
else {
let r = h(e.handler) ? e.handler.bind(n) : t[e.handler];
- h(r) && nr(i, r, e);
+ h(r) && $n(i, r, e);
}
}
}
-function ji(e) {
+function Oi(e) {
let t = e.type, { mixins: n, extends: r } = t, { mixins: i, optionsCache: a, config: { optionMergeStrategies: o } } = e.appContext, s = a.get(t), c;
- return s ? c = s : !i.length && !n && !r ? c = t : (c = {}, i.length && i.forEach((e) => Mi(c, e, o, !0)), Mi(c, t, o)), v(t) && a.set(t, c), c;
+ return s ? c = s : !i.length && !n && !r ? c = t : (c = {}, i.length && i.forEach((e) => ki(c, e, o, !0)), ki(c, t, o)), v(t) && a.set(t, c), c;
}
-function Mi(e, t, n, r = !1) {
+function ki(e, t, n, r = !1) {
let { mixins: i, extends: a } = t;
- a && Mi(e, a, n, !0), i && i.forEach((t) => Mi(e, t, n, !0));
+ a && ki(e, a, n, !0), i && i.forEach((t) => ki(e, t, n, !0));
for (let i in t) if (!(r && i === "expose")) {
- let r = Ni[i] || n && n[i];
+ let r = Ai[i] || n && n[i];
e[i] = r ? r(e[i], t[i]) : t[i];
}
return e;
}
-var Ni = {
- data: Pi,
- props: zi,
- emits: zi,
- methods: Ri,
- computed: Ri,
- beforeCreate: Li,
- created: Li,
- beforeMount: Li,
- mounted: Li,
- beforeUpdate: Li,
- updated: Li,
- beforeDestroy: Li,
- beforeUnmount: Li,
- destroyed: Li,
- unmounted: Li,
- activated: Li,
- deactivated: Li,
- errorCaptured: Li,
- serverPrefetch: Li,
- components: Ri,
- directives: Ri,
- watch: Bi,
- provide: Pi,
- inject: Fi
+var Ai = {
+ data: ji,
+ props: Ii,
+ emits: Ii,
+ methods: Fi,
+ computed: Fi,
+ beforeCreate: Pi,
+ created: Pi,
+ beforeMount: Pi,
+ mounted: Pi,
+ beforeUpdate: Pi,
+ updated: Pi,
+ beforeDestroy: Pi,
+ beforeUnmount: Pi,
+ destroyed: Pi,
+ unmounted: Pi,
+ activated: Pi,
+ deactivated: Pi,
+ errorCaptured: Pi,
+ serverPrefetch: Pi,
+ components: Fi,
+ directives: Fi,
+ watch: Li,
+ provide: ji,
+ inject: Mi
};
-function Pi(e, t) {
+function ji(e, t) {
return t ? e ? function() {
return s(h(e) ? e.call(this, this) : e, h(t) ? t.call(this, this) : t);
} : t : e;
}
-function Fi(e, t) {
- return Ri(Ii(e), Ii(t));
+function Mi(e, t) {
+ return Fi(Ni(e), Ni(t));
}
-function Ii(e) {
+function Ni(e) {
if (d(e)) {
let t = {};
for (let n = 0; n < e.length; n++) t[e[n]] = e[n];
@@ -1980,23 +1919,23 @@ function Ii(e) {
}
return e;
}
-function Li(e, t) {
+function Pi(e, t) {
return e ? [...new Set([].concat(e, t))] : t;
}
-function Ri(e, t) {
+function Fi(e, t) {
return e ? s(/* @__PURE__ */ Object.create(null), e, t) : t;
}
-function zi(e, t) {
- return e ? d(e) && d(t) ? [.../* @__PURE__ */ new Set([...e, ...t])] : s(/* @__PURE__ */ Object.create(null), wi(e), wi(t ?? {})) : t;
+function Ii(e, t) {
+ return e ? d(e) && d(t) ? [.../* @__PURE__ */ new Set([...e, ...t])] : s(/* @__PURE__ */ Object.create(null), xi(e), xi(t ?? {})) : t;
}
-function Bi(e, t) {
+function Li(e, t) {
if (!e) return t;
if (!t) return e;
let n = s(/* @__PURE__ */ Object.create(null), e);
- for (let r in t) n[r] = Li(e[r], t[r]);
+ for (let r in t) n[r] = Pi(e[r], t[r]);
return n;
}
-function Vi() {
+function Ri() {
return {
app: null,
config: {
@@ -2017,18 +1956,18 @@ function Vi() {
emitsCache: /* @__PURE__ */ new WeakMap()
};
}
-var Hi = 0;
-function Ui(e, t) {
+var zi = 0;
+function Bi(e, t) {
return function(n, r = null) {
h(n) || (n = s({}, n)), r != null && !v(r) && (r = null);
- let i = Vi(), a = /* @__PURE__ */ new WeakSet(), o = [], c = !1, l = i.app = {
- _uid: Hi++,
+ let i = Ri(), a = /* @__PURE__ */ new WeakSet(), o = [], c = !1, l = i.app = {
+ _uid: zi++,
_component: n,
_props: r,
_container: null,
_context: i,
_instance: null,
- version: Do,
+ version: So,
get config() {
return i.config;
},
@@ -2047,37 +1986,37 @@ function Ui(e, t) {
},
mount(a, o, s) {
if (!c) {
- let u = l._ceVNode || U(n, r);
- return u.appContext = i, s === !0 ? s = "svg" : s === !1 && (s = void 0), o && t ? t(u, a) : e(u, a, s), c = !0, l._container = a, a.__vue_app__ = l, So(u.component);
+ let u = l._ceVNode || H(n, r);
+ return u.appContext = i, s === !0 ? s = "svg" : s === !1 && (s = void 0), o && t ? t(u, a) : e(u, a, s), c = !0, l._container = a, a.__vue_app__ = l, _o(u.component);
}
},
onUnmount(e) {
o.push(e);
},
unmount() {
- c && (Cn(o, l._instance, 16), e(null, l._container), delete l._container.__vue_app__);
+ c && (Sn(o, l._instance, 16), e(null, l._container), delete l._container.__vue_app__);
},
provide(e, t) {
return i.provides[e] = t, l;
},
runWithContext(e) {
- let t = Wi;
- Wi = l;
+ let t = Vi;
+ Vi = l;
try {
return e();
} finally {
- Wi = t;
+ Vi = t;
}
}
};
return l;
};
}
-var Wi = null;
-function Gi(e, n, r = t) {
- let i = co(), a = T(n), o = E(n), s = Ki(e, a), c = un((s, c) => {
+var Vi = null;
+function Hi(e, n, r = t) {
+ let i = ro(), a = T(n), o = E(n), s = Ui(e, a), c = ln((s, c) => {
let l, u = t, d;
- return tr(() => {
+ return Qn(() => {
let t = e[a];
D(l, t) && (l = t, c());
}), {
@@ -2102,113 +2041,100 @@ function Gi(e, n, r = t) {
} };
}, c;
}
-var Ki = (e, t) => t === "modelValue" || t === "model-value" ? e.modelModifiers : e[`${t}Modifiers`] || e[`${T(t)}Modifiers`] || e[`${E(t)}Modifiers`];
-function qi(e, n, ...r) {
+var Ui = (e, t) => t === "modelValue" || t === "model-value" ? e.modelModifiers : e[`${t}Modifiers`] || e[`${T(t)}Modifiers`] || e[`${E(t)}Modifiers`];
+function Wi(e, n, ...r) {
if (e.isUnmounted) return;
- let i = e.vnode.props || t, a = r, o = n.startsWith("update:"), s = o && Ki(i, n.slice(7));
+ let i = e.vnode.props || t, a = r, o = n.startsWith("update:"), s = o && Ui(i, n.slice(7));
s && (s.trim && (a = r.map((e) => g(e) ? e.trim() : e)), s.number && (a = a.map(ce)));
let c, l = i[c = ae(n)] || i[c = ae(T(n))];
- !l && o && (l = i[c = ae(E(n))]), l && Cn(l, e, 6, a);
+ !l && o && (l = i[c = ae(E(n))]), l && Sn(l, e, 6, a);
let u = i[c + "Once"];
if (u) {
if (!e.emitted) e.emitted = {};
else if (e.emitted[c]) return;
- e.emitted[c] = !0, Cn(u, e, 6, a);
+ e.emitted[c] = !0, Sn(u, e, 6, a);
}
}
-var Ji = /* @__PURE__ */ new WeakMap();
-function Yi(e, t, n = !1) {
- let r = n ? Ji : t.emitsCache, i = r.get(e);
+var Gi = /* @__PURE__ */ new WeakMap();
+function Ki(e, t, n = !1) {
+ let r = n ? Gi : t.emitsCache, i = r.get(e);
if (i !== void 0) return i;
let a = e.emits, o = {}, c = !1;
if (!h(e)) {
let r = (e) => {
- let n = Yi(e, t, !0);
+ let n = Ki(e, t, !0);
n && (c = !0, s(o, n));
};
!n && t.mixins.length && t.mixins.forEach(r), e.extends && r(e.extends), e.mixins && e.mixins.forEach(r);
}
return !a && !c ? (v(e) && r.set(e, null), null) : (d(a) ? a.forEach((e) => o[e] = null) : s(o, a), v(e) && r.set(e, o), o);
}
-function Xi(e, t) {
+function qi(e, t) {
return !e || !a(t) ? !1 : (t = t.slice(2), t = t === "Once" ? t : t.replace(/Once$/, ""), u(e, t[0].toLowerCase() + t.slice(1)) || u(e, E(t)) || u(e, t));
}
-function Zi(e) {
- let { type: t, vnode: n, proxy: r, withProxy: i, propsOptions: [a], slots: s, attrs: c, emit: l, render: u, renderCache: d, props: f, data: p, setupState: m, ctx: h, inheritAttrs: g } = e, _ = Kn(e), v, y;
+function Ji(e) {
+ let { type: t, vnode: n, proxy: r, withProxy: i, propsOptions: [a], slots: s, attrs: c, emit: l, render: u, renderCache: d, props: f, data: p, setupState: m, ctx: h, inheritAttrs: g } = e, _ = Un(e), v, y;
try {
if (n.shapeFlag & 4) {
let e = i || r, t = e;
- v = $a(u.call(t, e, d, f, m, p, h)), y = c;
+ v = Xa(u.call(t, e, d, f, m, p, h)), y = c;
} else {
let e = t;
- v = $a(e.length > 1 ? e(f, {
+ v = Xa(e.length > 1 ? e(f, {
attrs: c,
slots: s,
emit: l
- }) : e(f, null)), y = t.props ? c : $i(c);
+ }) : e(f, null)), y = t.props ? c : Yi(c);
}
} catch (t) {
- Ra.length = 0, wn(t, e, 1), v = U(R);
+ Fa.length = 0, Cn(t, e, 1), v = H(Na);
}
let b = v;
if (y && g !== !1) {
let e = Object.keys(y), { shapeFlag: t } = b;
- e.length && t & 7 && (a && e.some(o) && (y = ea(y, a)), b = Xa(b, y, !1, !0));
+ e.length && t & 7 && (a && e.some(o) && (y = Xi(y, a)), b = qa(b, y, !1, !0));
}
- return n.dirs && (b = Xa(b, null, !1, !0), b.dirs = b.dirs ? b.dirs.concat(n.dirs) : n.dirs), n.transition && Mr(cr(b.type) && jr(b) || b, n.transition), v = b, Kn(_), v;
+ return n.dirs && (b = qa(b, null, !1, !0), b.dirs = b.dirs ? b.dirs.concat(n.dirs) : n.dirs), n.transition && Ar(ar(b.type) && kr(b) || b, n.transition), v = b, Un(_), v;
}
-function Qi(e, t = !0) {
- let n;
- for (let t = 0; t < e.length; t++) {
- let r = e[t];
- if (Wa(r)) {
- if (r.type !== R || r.children === "v-if") {
- if (n) return;
- n = r;
- }
- } else return;
- }
- return n;
-}
-var $i = (e) => {
+var Yi = (e) => {
let t;
for (let n in e) (n === "class" || n === "style" || a(n)) && ((t ||= {})[n] = e[n]);
return t;
-}, ea = (e, t) => {
+}, Xi = (e, t) => {
let n = {};
for (let r in e) o(r) && r.slice(9) in t || (n[r] = e[r]);
return n;
};
-function ta(e, t, n) {
+function Zi(e, t, n) {
let { props: r, children: i, component: a } = e, { props: o, children: s, patchFlag: c } = t, l = a.emitsOptions;
if (t.dirs || t.transition) return !0;
if (n && c >= 0) {
if (c & 1024) return !0;
- if (c & 16) return r ? na(r, o, l) : !!o;
+ if (c & 16) return r ? Qi(r, o, l) : !!o;
if (c & 8) {
let e = t.dynamicProps;
for (let t = 0; t < e.length; t++) {
let n = e[t];
- if (ra(o, r, n) && !Xi(l, n)) return !0;
+ if ($i(o, r, n) && !qi(l, n)) return !0;
}
}
- } else return (i || s) && (!s || !s.$stable) ? !0 : r === o ? !1 : r ? !o || na(r, o, l) : !!o;
+ } else return (i || s) && (!s || !s.$stable) ? !0 : r === o ? !1 : r ? !o || Qi(r, o, l) : !!o;
return !1;
}
-function na(e, t, n) {
+function Qi(e, t, n) {
let r = Object.keys(t);
if (r.length !== Object.keys(e).length) return !0;
for (let i = 0; i < r.length; i++) {
let a = r[i];
- if (!u(e, a) || ra(t, e, a) && !Xi(n, a)) return !0;
+ if ($i(t, e, a) && !qi(n, a)) return !0;
}
return !1;
}
-function ra(e, t, n) {
+function $i(e, t, n) {
let r = e[n], i = t[n];
return n === "style" && v(r) && v(i) ? !we(r, i) : r !== i;
}
-function ia({ vnode: e, parent: t, suspense: n }, r) {
+function ea({ vnode: e, parent: t, suspense: n }, r) {
for (; t;) {
let n = t.subTree;
if (n.suspense && n.suspense.activeBranch === e && (n.suspense.vnode.el = n.el = r, e = n), n === e) (e = t.vnode).el = r, t = t.parent;
@@ -2216,56 +2142,56 @@ function ia({ vnode: e, parent: t, suspense: n }, r) {
}
n && n.activeBranch === e && (n.vnode.el = r);
}
-var aa = {}, oa = () => Object.create(aa), sa = (e) => Object.getPrototypeOf(e) === aa;
-function ca(e, t, n, r = !1) {
- let i = {}, a = oa();
- e.propsDefaults = /* @__PURE__ */ Object.create(null), ua(e, t, i, a);
+var ta = {}, na = () => Object.create(ta), ra = (e) => Object.getPrototypeOf(e) === ta;
+function ia(e, t, n, r = !1) {
+ let i = {}, a = na();
+ e.propsDefaults = /* @__PURE__ */ Object.create(null), oa(e, t, i, a);
for (let t in e.propsOptions[0]) t in i || (i[t] = void 0);
- e.props = n ? r ? i : /* @__PURE__ */ Wt(i) : e.type.props ? i : a, e.attrs = a;
+ e.props = n ? r ? i : /* @__PURE__ */ Ut(i) : e.type.props ? i : a, e.attrs = a;
}
-function la(e, t, n, r) {
+function aa(e, t, n, r) {
let { props: i, attrs: a, vnode: { patchFlag: o } } = e, s = /* @__PURE__ */ M(i), [c] = e.propsOptions, l = !1;
if ((r || o > 0) && !(o & 16)) {
if (o & 8) {
let n = e.vnode.dynamicProps;
for (let r = 0; r < n.length; r++) {
let o = n[r];
- if (Xi(e.emitsOptions, o)) continue;
+ if (qi(e.emitsOptions, o)) continue;
let d = t[o];
if (c) {
if (u(a, o)) d !== a[o] && (a[o] = d, l = !0);
else {
let t = T(o);
- i[t] = da(c, s, t, d, e, !1);
+ i[t] = sa(c, s, t, d, e, !1);
}
} else d !== a[o] && (a[o] = d, l = !0);
}
}
} else {
- ua(e, t, i, a) && (l = !0);
+ oa(e, t, i, a) && (l = !0);
let r;
- for (let a in s) t && (u(t, a) || (r = E(a)) !== a && u(t, r)) || (c ? n && (n[a] !== void 0 || n[r] !== void 0) && (i[a] = da(c, s, a, void 0, e, !0)) : delete i[a]);
+ for (let a in s) t && (u(t, a) || (r = E(a)) !== a && u(t, r)) || (c ? n && (n[a] !== void 0 || n[r] !== void 0) && (i[a] = sa(c, s, a, void 0, e, !0)) : delete i[a]);
if (a !== s) for (let e in a) t && u(t, e) || (delete a[e], l = !0);
}
l && st(e.attrs, "set", "");
}
-function ua(e, n, r, i) {
+function oa(e, n, r, i) {
let [a, o] = e.propsOptions, s = !1, c;
if (n) for (let t in n) {
if (ee(t)) continue;
let l = n[t], d;
- a && u(a, d = T(t)) ? !o || !o.includes(d) ? r[d] = l : (c ||= {})[d] = l : Xi(e.emitsOptions, t) || t in i && l === i[t] || (i[t] = l, s = !0);
+ a && u(a, d = T(t)) ? !o || !o.includes(d) ? r[d] = l : (c ||= {})[d] = l : qi(e.emitsOptions, t) || t in i && l === i[t] || (i[t] = l, s = !0);
}
if (o) {
let n = /* @__PURE__ */ M(r), i = c || t;
for (let t = 0; t < o.length; t++) {
let s = o[t];
- r[s] = da(a, n, s, i[s], e, !u(i, s));
+ r[s] = sa(a, n, s, i[s], e, !u(i, s));
}
}
return s;
}
-function da(e, t, n, r, i, a) {
+function sa(e, t, n, r, i, a) {
let o = e[n];
if (o != null) {
let e = u(o, "default");
@@ -2275,7 +2201,7 @@ function da(e, t, n, r, i, a) {
let { propsDefaults: a } = i;
if (n in a) r = a[n];
else {
- let o = fo(i);
+ let o = oo(i);
r = a[n] = e.call(null, t), o();
}
} else r = e;
@@ -2285,15 +2211,15 @@ function da(e, t, n, r, i, a) {
}
return r;
}
-var fa = /* @__PURE__ */ new WeakMap();
-function pa(e, r, i = !1) {
- let a = i ? fa : r.propsCache, o = a.get(e);
+var ca = /* @__PURE__ */ new WeakMap();
+function la(e, r, i = !1) {
+ let a = i ? ca : r.propsCache, o = a.get(e);
if (o) return o;
let c = e.props, l = {}, f = [], p = !1;
if (!h(e)) {
let t = (e) => {
p = !0;
- let [t, n] = pa(e, r, !0);
+ let [t, n] = la(e, r, !0);
s(l, t), n && f.push(...n);
};
!i && r.mixins.length && r.mixins.forEach(t), e.extends && t(e.extends), e.mixins && e.mixins.forEach(t);
@@ -2301,11 +2227,11 @@ function pa(e, r, i = !1) {
if (!c && !p) return v(e) && a.set(e, n), n;
if (d(c)) for (let e = 0; e < c.length; e++) {
let n = T(c[e]);
- ma(n) && (l[n] = t);
+ ua(n) && (l[n] = t);
}
else if (c) for (let e in c) {
let t = T(e);
- if (ma(t)) {
+ if (ua(t)) {
let n = c[e], r = l[t] = d(n) || h(n) ? { type: n } : s({}, n), i = r.type, a = !1, o = !0;
if (d(i)) for (let e = 0; e < i.length; ++e) {
let t = i[e], n = h(t) && t.name;
@@ -2322,69 +2248,69 @@ function pa(e, r, i = !1) {
let m = [l, f];
return v(e) && a.set(e, m), m;
}
-function ma(e) {
+function ua(e) {
return e[0] !== "$" && !ee(e);
}
-var ha = (e) => e === "_" || e === "_ctx" || e === "$stable", ga = (e) => d(e) ? e.map($a) : [$a(e)], _a = (e, t, n) => {
+var da = (e) => e === "_" || e === "_ctx" || e === "$stable", fa = (e) => d(e) ? e.map(Xa) : [Xa(e)], pa = (e, t, n) => {
if (t._n) return t;
- let r = P((...e) => ga(t(...e)), n);
+ let r = P((...e) => fa(t(...e)), n);
return r._c = !1, r;
-}, va = (e, t, n) => {
+}, ma = (e, t, n) => {
let r = e._ctx;
for (let n in e) {
- if (ha(n)) continue;
+ if (da(n)) continue;
let i = e[n];
- if (h(i)) t[n] = _a(n, i, r);
+ if (h(i)) t[n] = pa(n, i, r);
else if (i != null) {
- let e = ga(i);
+ let e = fa(i);
t[n] = () => e;
}
}
-}, ya = (e, t) => {
- let n = ga(t);
+}, ha = (e, t) => {
+ let n = fa(t);
e.slots.default = () => n;
-}, ba = (e, t, n) => {
- for (let r in t) (n || !ha(r)) && (e[r] = t[r]);
-}, xa = (e, t, n) => {
- let r = e.slots = oa();
+}, ga = (e, t, n) => {
+ for (let r in t) (n || !da(r)) && (e[r] = t[r]);
+}, _a = (e, t, n) => {
+ let r = e.slots = na();
if (e.vnode.shapeFlag & 32) {
let e = t._;
- e ? (ba(r, t, n), n && se(r, "_", e, !0)) : va(t, r);
- } else t && ya(e, t);
-}, Sa = (e, n, r) => {
+ e ? (ga(r, t, n), n && se(r, "_", e, !0)) : ma(t, r);
+ } else t && ha(e, t);
+}, va = (e, n, r) => {
let { vnode: i, slots: a } = e, o = !0, s = t;
if (i.shapeFlag & 32) {
let e = n._;
- e ? r && e === 1 ? o = !1 : ba(a, n, r) : (o = !n.$stable, va(n, a)), s = n;
- } else n && (ya(e, n), s = { default: 1 });
- if (o) for (let e in a) !ha(e) && s[e] == null && delete a[e];
-}, Ca = Fa;
-function wa(e) {
- return Ta(e);
+ e ? r && e === 1 ? o = !1 : ga(a, n, r) : (o = !n.$stable, ma(n, a)), s = n;
+ } else n && (ha(e, n), s = { default: 1 });
+ if (o) for (let e in a) !da(e) && s[e] == null && delete a[e];
+}, ya = ja;
+function ba(e) {
+ return xa(e);
}
-function Ta(e, i) {
+function xa(e, i) {
let a = de();
a.__VUE__ = !0;
let { insert: o, remove: s, patchProp: c, createElement: l, createText: u, createComment: d, setText: f, setElementText: p, parentNode: m, nextSibling: h, setScopeId: g = r, insertStaticContent: _ } = e, v = (e, t, r, i = null, a = null, o = null, s = void 0, c = null, l = !!t.dynamicChildren) => {
if (e === t) return;
- e && !Ga(e, t) && (i = be(e), ge(e, a, o, !0), e = null), t.patchFlag === -2 && (l = !1, t.dynamicChildren = null), t.dynamicChildren && e && e.dynamicChildren && e.dynamicChildren.hasOnce && (t.dynamicChildren === n && (t.dynamicChildren = []), t.dynamicChildren.hasOnce = !0);
+ e && !Ha(e, t) && (i = be(e), ge(e, a, o, !0), e = null), t.patchFlag === -2 && (l = !1, t.dynamicChildren = null), t.dynamicChildren && e && e.dynamicChildren && e.dynamicChildren.hasOnce && (t.dynamicChildren === n && (t.dynamicChildren = []), t.dynamicChildren.hasOnce = !0);
let { type: u, ref: d, shapeFlag: f } = t;
switch (u) {
- case Ia:
+ case Ma:
y(e, t, r, i);
break;
- case R:
+ case Na:
b(e, t, r, i);
break;
- case La:
+ case Pa:
e ?? x(t, r, i, s);
break;
case L:
ae(e, t, r, i, a, o, s, c, l);
break;
- default: f & 1 ? w(e, t, r, i, a, o, s, c, l) : f & 6 ? D(e, t, r, i, a, o, s, c, l) : (f & 64 || f & 128) && u.process(e, t, r, i, a, o, s, c, l, Se);
+ default: f & 1 ? w(e, t, r, i, a, o, s, c, l) : f & 6 ? D(e, t, r, i, a, o, s, c, l) : (f & 64 || f & 128) && u.process(e, t, r, i, a, o, s, c, l, Ce);
}
- d != null && a ? Br(d, e && e.ref, o, t || e, !t) : d == null && e && e.ref != null && Br(e.ref, null, o, e, !0);
+ d != null && a ? Lr(d, e && e.ref, o, t || e, !t) : d == null && e && e.ref != null && Lr(e.ref, null, o, e, !0);
}, y = (e, t, n, r) => {
if (e == null) o(t.el = u(t.children), n, r);
else {
@@ -2415,36 +2341,36 @@ function Ta(e, i) {
}
}, te = (e, t, n, r, i, a, s, u) => {
let d, f, { props: m, shapeFlag: h, transition: g, dirs: _ } = e;
- if (d = e.el = l(e.type, a, m && m.is, m), h & 8 ? p(d, e.children) : h & 16 && T(e.children, d, null, r, i, Ea(e, a), s, u), _ && Jn(e, null, r, "created"), ne(d, e, e.scopeId, s, r), m) {
+ if (d = e.el = l(e.type, a, m && m.is, m), h & 8 ? p(d, e.children) : h & 16 && T(e.children, d, null, r, i, Sa(e, a), s, u), _ && Gn(e, null, r, "created"), ne(d, e, e.scopeId, s, r), m) {
for (let e in m) e !== "value" && !ee(e) && c(d, e, null, m[e], a, r);
- "value" in m && c(d, "value", null, m.value, a), (f = m.onVnodeBeforeMount) && no(f, r, e);
+ "value" in m && c(d, "value", null, m.value, a), (f = m.onVnodeBeforeMount) && $a(f, r, e);
}
- _ && Jn(e, null, r, "beforeMount");
- let v = Oa(i, g);
- v && g.beforeEnter(d), o(d, t, n), ((f = m && m.onVnodeMounted) || v || _) && Ca(() => {
+ _ && Gn(e, null, r, "beforeMount");
+ let v = wa(i, g);
+ v && g.beforeEnter(d), o(d, t, n), ((f = m && m.onVnodeMounted) || v || _) && ya(() => {
try {
- f && no(f, r, e), v && g.enter(d), _ && Jn(e, null, r, "mounted");
+ f && $a(f, r, e), v && g.enter(d), _ && Gn(e, null, r, "mounted");
} finally {}
}, i);
}, ne = (e, t, n, r, i) => {
if (n && g(e, n), r) for (let t = 0; t < r.length; t++) g(e, r[t]);
if (i) {
let n = i.subTree;
- if (t === n || Pa(n.type) && (n.ssContent === t || n.ssFallback === t)) {
+ if (t === n || Aa(n.type) && (n.ssContent === t || n.ssFallback === t)) {
let t = i.vnode;
ne(e, t, t.scopeId, t.slotScopeIds, i.parent);
}
}
}, T = (e, t, n, r, i, a, o, s, c = 0) => {
for (let l = c; l < e.length; l++) {
- let c = e[l] = s ? eo(e[l]) : $a(e[l]);
+ let c = e[l] = s ? Za(e[l]) : Xa(e[l]);
v(null, c, t, n, r, i, a, o, s);
}
}, re = (e, n, r, i, a, o, s) => {
let l = n.el = e.el, { patchFlag: u, dynamicChildren: d, dirs: f } = n;
u |= e.patchFlag & 16;
let m = e.props || t, h = n.props || t, g;
- if (r && Da(r, !1), (g = h.onVnodeBeforeUpdate) && no(g, r, n, e), f && Jn(n, e, r, "beforeUpdate"), r && Da(r, !0), d && (!e.dynamicChildren || e.dynamicChildren.length !== d.length) && (u = 0, s = !1, d = null), (m.innerHTML && h.innerHTML == null || m.textContent && h.textContent == null) && p(l, ""), d ? E(e.dynamicChildren, d, l, r, i, Ea(n, a), o) : s || fe(e, n, l, null, r, i, Ea(n, a), o, !1), u > 0) {
+ if (r && Ca(r, !1), (g = h.onVnodeBeforeUpdate) && $a(g, r, n, e), f && Gn(n, e, r, "beforeUpdate"), r && Ca(r, !0), d && (!e.dynamicChildren || e.dynamicChildren.length !== d.length) && (u = 0, s = !1, d = null), (m.innerHTML && h.innerHTML == null || m.textContent && h.textContent == null) && p(l, ""), d ? E(e.dynamicChildren, d, l, r, i, Sa(n, a), o) : s || fe(e, n, l, null, r, i, Sa(n, a), o, !1), u > 0) {
if (u & 16) ie(l, m, h, r, a);
else if (u & 2 && m.class !== h.class && c(l, "class", null, h.class, a), u & 4 && c(l, "style", m.style, h.style, a), u & 8) {
let e = n.dynamicProps;
@@ -2455,13 +2381,13 @@ function Ta(e, i) {
}
u & 1 && e.children !== n.children && p(l, n.children);
} else !s && d == null && ie(l, m, h, r, a);
- ((g = h.onVnodeUpdated) || f) && Ca(() => {
- g && no(g, r, n, e), f && Jn(n, e, r, "updated");
+ ((g = h.onVnodeUpdated) || f) && ya(() => {
+ g && $a(g, r, n, e), f && Gn(n, e, r, "updated");
}, i);
}, E = (e, t, n, r, i, a, o) => {
for (let s = 0; s < t.length; s++) {
- let c = e[s], l = t[s], u = c.el || Na(c), d = u && (c.type === L || !Ga(c, l) || c.shapeFlag & 198) ? m(u) : n;
- v(c, l, d, null, r, i, a, o, !0);
+ let c = e[s], l = t[s], u = c.el && (c.type === L || !Ha(c, l) || c.shapeFlag & 198) ? m(c.el) : n;
+ v(c, l, u, null, r, i, a, o, !0);
}
}, ie = (e, n, r, i, a) => {
if (n !== r) {
@@ -2475,35 +2401,35 @@ function Ta(e, i) {
}
}, ae = (e, t, n, r, i, a, s, c, l) => {
let d = t.el = e ? e.el : u(""), f = t.anchor = e ? e.anchor : u(""), { patchFlag: p, dynamicChildren: m, slotScopeIds: h } = t;
- h && (c = c ? c.concat(h) : h), e == null ? (o(d, n, r), o(f, n, r), T(t.children || [], n, f, i, a, s, c, l)) : p > 0 && p & 64 && m && e.dynamicChildren && e.dynamicChildren.length === m.length ? (E(e.dynamicChildren, m, n, i, a, s, c), (t.key != null || i && t === i.subTree) && ka(e, t, !0)) : fe(e, t, n, f, i, a, s, c, l);
+ h && (c = c ? c.concat(h) : h), e == null ? (o(d, n, r), o(f, n, r), T(t.children || [], n, f, i, a, s, c, l)) : p > 0 && p & 64 && m && e.dynamicChildren && e.dynamicChildren.length === m.length ? (E(e.dynamicChildren, m, n, i, a, s, c), (t.key != null || i && t === i.subTree) && Ta(e, t, !0)) : fe(e, t, n, f, i, a, s, c, l);
}, D = (e, t, n, r, i, a, o, s, c) => {
t.slotScopeIds = s, e == null ? t.shapeFlag & 512 ? i.ctx.activate(t, n, r, o, c) : se(t, n, r, i, a, o, c) : ce(e, t, c);
}, se = (e, t, n, r, i, a, o) => {
- let s = e.component = oo(e, r, i);
- if (qr(e) && (s.ctx.renderer = Se), go(s, !1, o), s.asyncDep) {
- if (i && i.registerDep(s, le, o, a), !e.el) {
- let r = s.subTree = U(R);
+ let s = e.component = no(e, r, i);
+ if (Wr(e) && (s.ctx.renderer = Ce), uo(s, !1, o), s.asyncDep) {
+ if (i && i.registerDep(s, le, o), !e.el) {
+ let r = s.subTree = H(Na);
b(null, r, t, n), e.placeholder = r.el;
}
} else le(s, e, t, n, i, a, o);
}, ce = (e, t, n) => {
let r = t.component = e.component;
- if (ta(e, t, n)) {
+ if (Zi(e, t, n)) {
if (r.asyncDep && !r.asyncResolved) {
- t.el = e.el, t.placeholder = e.placeholder, ue(r, t, n);
+ t.el = e.el, ue(r, t, n);
return;
}
r.next = t, r.update();
- } else t.el = e.el, t.placeholder = e.placeholder, r.vnode = t;
+ } else t.el = e.el, r.vnode = t;
}, le = (e, t, n, r, i, a, o) => {
let s = () => {
if (e.isMounted) {
let { next: t, bu: n, u: r, parent: s, vnode: c } = e;
{
- let n = ja(e);
+ let n = Da(e);
if (n) {
t && (t.el = c.el, ue(e, t, o)), n.asyncDep.then(() => {
- Ca(() => {
+ ya(() => {
e.isUnmounted || l();
}, i);
});
@@ -2511,37 +2437,37 @@ function Ta(e, i) {
}
}
let u = t, d;
- Da(e, !1), t ? (t.el = c.el, ue(e, t, o)) : t = c, n && oe(n), (d = t.props && t.props.onVnodeBeforeUpdate) && no(d, s, t, c), Da(e, !0);
- let f = Zi(e), p = e.subTree;
- e.subTree = f, v(p, f, m(p.el), be(p), e, i, a), t.el = f.el, u === null && ia(e, f.el), r && Ca(r, i), (d = t.props && t.props.onVnodeUpdated) && Ca(() => no(d, s, t, c), i);
+ Ca(e, !1), t ? (t.el = c.el, ue(e, t, o)) : t = c, n && oe(n), (d = t.props && t.props.onVnodeBeforeUpdate) && $a(d, s, t, c), Ca(e, !0);
+ let f = Ji(e), p = e.subTree;
+ e.subTree = f, v(p, f, m(p.el), be(p), e, i, a), t.el = f.el, u === null && ea(e, f.el), r && ya(r, i), (d = t.props && t.props.onVnodeUpdated) && ya(() => $a(d, s, t, c), i);
} else {
- let o, { el: s, props: c } = t, { bm: l, m: u, parent: d, root: f, type: p } = e, m = Wr(t);
- if (Da(e, !1), l && oe(l), !m && (o = c && c.onVnodeBeforeMount) && no(o, d, t), Da(e, !0), s && we) {
+ let o, { el: s, props: c } = t, { bm: l, m: u, parent: d, root: f, type: p } = e, m = Vr(t);
+ if (Ca(e, !1), l && oe(l), !m && (o = c && c.onVnodeBeforeMount) && $a(o, d, t), Ca(e, !0), s && Te) {
let t = () => {
- e.subTree = Zi(e), we(s, e.subTree, e, i, null);
+ e.subTree = Ji(e), Te(s, e.subTree, e, i, null);
};
m && p.__asyncHydrate ? p.__asyncHydrate(s, e, t) : t();
} else {
f.ce && f.ce._hasShadowRoot() && f.ce._injectChildStyle(p, e.parent ? e.parent.type : void 0);
- let o = e.subTree = Zi(e);
+ let o = e.subTree = Ji(e);
v(null, o, n, r, e, i, a), t.el = o.el;
}
- if (u && Ca(u, i), !m && (o = c && c.onVnodeMounted)) {
+ if (u && ya(u, i), !m && (o = c && c.onVnodeMounted)) {
let e = t;
- Ca(() => no(o, d, e), i);
+ ya(() => $a(o, d, e), i);
}
- (t.shapeFlag & 256 || d && Wr(d.vnode) && d.vnode.shapeFlag & 256) && e.a && Ca(e.a, i), e.isMounted = !0, t = n = r = null;
+ (t.shapeFlag & 256 || d && Vr(d.vnode) && d.vnode.shapeFlag & 256) && e.a && ya(e.a, i), e.isMounted = !0, t = n = r = null;
}
};
e.scope.on();
let c = e.effect = new Pe(s);
e.scope.off();
let l = e.update = c.run.bind(c), u = e.job = c.runIfDirty.bind(c);
- u.i = e, u.id = e.uid, c.scheduler = () => Fn(u), Da(e, !0), l();
+ u.i = e, u.id = e.uid, c.scheduler = () => Pn(u), Ca(e, !0), l();
}, ue = (e, t, n) => {
t.component = e;
let r = e.vnode.props;
- e.vnode = t, e.next = null, la(e, t.props, r, n), Sa(e, t.children, n), Ye(), Rn(e), Xe();
+ e.vnode = t, e.next = null, aa(e, t.props, r, n), va(e, t.children, n), Ye(), Ln(e), Xe();
}, fe = (e, t, n, r, i, a, o, s, c = !1) => {
let l = e && e.children, u = e ? e.shapeFlag : 0, d = t.children, { patchFlag: f, shapeFlag: m } = t;
if (f > 0) {
@@ -2559,34 +2485,34 @@ function Ta(e, i) {
e ||= n, t ||= n;
let u = e.length, d = t.length, f = Math.min(u, d), p = 0;
for (; p < f; p++) {
- let n = t[p] = l ? eo(t[p]) : $a(t[p]);
+ let n = t[p] = l ? Za(t[p]) : Xa(t[p]);
v(e[p], n, r, null, a, o, s, c, l);
}
u > d ? ye(e, a, o, !0, !1, f) : T(t, r, i, a, o, s, c, l, f);
}, me = (e, t, r, i, a, o, s, c, l) => {
let u = 0, d = t.length, f = e.length - 1, p = d - 1;
for (; u <= f && u <= p;) {
- let n = e[u], i = t[u] = l ? eo(t[u]) : $a(t[u]);
- if (Ga(n, i)) v(n, i, r, null, a, o, s, c, l);
+ let n = e[u], i = t[u] = l ? Za(t[u]) : Xa(t[u]);
+ if (Ha(n, i)) v(n, i, r, null, a, o, s, c, l);
else break;
u++;
}
for (; u <= f && u <= p;) {
- let n = e[f], i = t[p] = l ? eo(t[p]) : $a(t[p]);
- if (Ga(n, i)) v(n, i, r, null, a, o, s, c, l);
+ let n = e[f], i = t[p] = l ? Za(t[p]) : Xa(t[p]);
+ if (Ha(n, i)) v(n, i, r, null, a, o, s, c, l);
else break;
f--, p--;
}
if (u > f) {
if (u <= p) {
let e = p + 1, n = e < d ? t[e].el : i;
- for (; u <= p;) v(null, t[u] = l ? eo(t[u]) : $a(t[u]), r, n, a, o, s, c, l), u++;
+ for (; u <= p;) v(null, t[u] = l ? Za(t[u]) : Xa(t[u]), r, n, a, o, s, c, l), u++;
}
} else if (u > p) for (; u <= f;) ge(e[u], a, o, !0), u++;
else {
let m = u, h = u, g = /* @__PURE__ */ new Map();
for (u = h; u <= p; u++) {
- let e = t[u] = l ? eo(t[u]) : $a(t[u]);
+ let e = t[u] = l ? Za(t[u]) : Xa(t[u]);
e.key != null && g.set(e.key, u);
}
let _, y = 0, b = p - h + 1, x = !1, S = 0, C = Array(b);
@@ -2599,15 +2525,15 @@ function Ta(e, i) {
}
let i;
if (n.key != null) i = g.get(n.key);
- else for (_ = h; _ <= p; _++) if (C[_ - h] === 0 && Ga(n, t[_])) {
+ else for (_ = h; _ <= p; _++) if (C[_ - h] === 0 && Ha(n, t[_])) {
i = _;
break;
}
i === void 0 ? ge(n, a, o, !0) : (C[i - h] = u + 1, i >= S ? S = i : x = !0, v(n, t[i], r, null, a, o, s, c, l), y++);
}
- let w = x ? Aa(C) : n;
+ let w = x ? Ea(C) : n;
for (_ = w.length - 1, u = b - 1; u >= 0; u--) {
- let e = h + u, n = t[e], f = t[e + 1], p = e + 1 < d ? f.el || Na(f) : i;
+ let e = h + u, n = t[e], f = t[e + 1], p = e + 1 < d ? f.el || ka(f) : i;
C[u] === 0 ? v(null, n, r, p, a, o, s, c, l) : x && (_ < 0 || u !== w[_] ? he(n, r, p, 2) : _--);
}
}
@@ -2615,20 +2541,20 @@ function Ta(e, i) {
let { el: a, type: c, transition: l, children: u, shapeFlag: d } = e;
if (d & 6) he(e.component.subTree, t, n, r);
else if (d & 128) e.suspense.move(t, n, r);
- else if (d & 64) c.move(e, t, n, Se);
+ else if (d & 64) c.move(e, t, n, Ce);
else if (c === L) {
o(a, t, n);
for (let e = 0; e < u.length; e++) he(u[e], t, n, r);
o(e.anchor, t, n);
- } else if (c === La) S(e, t, n);
+ } else if (c === Pa) S(e, t, n);
else if (r !== 2 && d & 1 && l) {
- if (r === 0) l.persisted && !a[br] ? o(a, t, n) : (l.beforeEnter(a), o(a, t, n), Ca(() => l.enter(a), i));
+ if (r === 0) l.persisted && !a[_r] ? o(a, t, n) : (l.beforeEnter(a), o(a, t, n), ya(() => l.enter(a), i));
else {
let { leave: r, delayLeave: i, afterLeave: c } = l, u = () => {
e.ctx.isUnmounted ? s(a) : o(a, t, n);
}, d = () => {
- let e = a._isLeaving || !!a[br];
- a._isLeaving && a[br](!0), l.persisted && !e ? u() : r(a, () => {
+ let e = a._isLeaving || !!a[_r];
+ a._isLeaving && a[_r](!0), l.persisted && !e ? u() : r(a, () => {
u(), c && c();
});
};
@@ -2637,47 +2563,47 @@ function Ta(e, i) {
} else o(a, t, n);
}, ge = (e, t, n, r = !1, i = !1) => {
let { type: a, props: o, ref: s, children: c, dynamicChildren: l, shapeFlag: u, patchFlag: d, dirs: f, cacheIndex: p, memo: m } = e;
- if ((d === -2 || l && l.hasOnce) && (i = !1), s != null && (Ye(), Br(s, null, n, e, !0), Xe()), p == null || e.ctx && e.ctx !== t || (t.renderCache[p] = void 0), u & 256) {
+ if ((d === -2 || l && l.hasOnce) && (i = !1), s != null && (Ye(), Lr(s, null, n, e, !0), Xe()), p == null || e.ctx && e.ctx !== t || (t.renderCache[p] = void 0), u & 256) {
t.ctx.deactivate(e);
return;
}
- let h = u & 1 && f, g = !Wr(e), _;
- if (g && (_ = o && o.onVnodeBeforeUnmount) && no(_, t, e), u & 6) ve(e.component, n, r);
+ let h = u & 1 && f, g = !Vr(e), _;
+ if (g && (_ = o && o.onVnodeBeforeUnmount) && $a(_, t, e), u & 6) ve(e.component, n, r);
else {
if (u & 128) {
e.suspense.unmount(n, r);
return;
}
- h && Jn(e, null, t, "beforeUnmount"), u & 64 ? e.type.remove(e, t, n, Se, r) : l && !l.hasOnce && (a !== L || d > 0 && d & 64) ? ye(l, t, n, !1, !0) : (a === L && d & 384 || !i && u & 16) && ye(c, t, n), r && O(e);
+ h && Gn(e, null, t, "beforeUnmount"), u & 64 ? e.type.remove(e, t, n, Ce, r) : l && !l.hasOnce && (a !== L || d > 0 && d & 64) ? ye(l, t, n, !1, !0) : (a === L && d & 384 || !i && u & 16) && ye(c, t, n), r && O(e);
}
let v = m != null && p == null;
- (g && (_ = o && o.onVnodeUnmounted) || h || v) && Ca(() => {
- _ && no(_, t, e), h && Jn(e, null, t, "unmounted"), v && (e.el = null);
+ (g && (_ = o && o.onVnodeUnmounted) || h || v) && ya(() => {
+ _ && $a(_, t, e), h && Gn(e, null, t, "unmounted"), v && (e.el = null);
}, n);
}, O = (e) => {
- let { type: t, el: n, anchor: r, transition: i } = e, a = t === L;
- if (a && !i) {
+ let { type: t, el: n, anchor: r, transition: i } = e;
+ if (t === L) {
_e(n, r);
return;
}
- if (t === La) {
+ if (t === Pa) {
C(e), i && !i.persisted && i.afterLeave && i.afterLeave();
return;
}
- let o = a ? Pr(e) : e, c = () => {
- a ? m(n) && _e(n, r) : s(n), i && !i.persisted && i.afterLeave && i.afterLeave();
+ let a = () => {
+ s(n), i && !i.persisted && i.afterLeave && i.afterLeave();
};
- if (o && o.shapeFlag & 1 && i && !i.persisted) {
- let { leave: e, delayLeave: t } = i, n = o.el, r = () => e(n, c);
- t ? t(n, c, r) : r();
- } else c();
+ if (e.shapeFlag & 1 && i && !i.persisted) {
+ let { leave: t, delayLeave: r } = i, o = () => t(n, a);
+ r ? r(e.el, a, o) : o();
+ } else a();
}, _e = (e, t) => {
let n;
for (; e !== t;) n = h(e), s(e), e = n;
s(t);
}, ve = (e, t, n) => {
let { bum: r, scope: i, job: a, subTree: o, um: s, m: c, a: l } = e;
- Ma(c), Ma(l), r && oe(r), i.stop(), a ? (a.flags |= 8, ge(o, e, t, n)) : e.vnode.el && o && (o.transition = e.vnode.transition, ge(o, e, t, n)), s && Ca(s, t), Ca(() => {
+ Oa(c), Oa(l), r && oe(r), i.stop(), a ? (a.flags |= 8, ge(o, e, t, n)) : e.vnode.el && o && (o.transition = e.vnode.transition, ge(o, e, t, n)), s && ya(s, t), ya(() => {
e.isUnmounted = !0;
}, t);
}, ye = (e, t, n, r = !1, i = !1, a = 0) => {
@@ -2685,13 +2611,12 @@ function Ta(e, i) {
}, be = (e) => {
if (e.shapeFlag & 6) return be(e.component.subTree);
if (e.shapeFlag & 128) return e.suspense.next();
- let t = h(e.anchor || e.el), n = t && t[sr];
+ let t = h(e.anchor || e.el), n = t && t[ir];
return n ? h(n) : t;
- }, xe = (e, t, n) => {
- Vn(() => {
- e == null ? t._vnode && ge(t._vnode, null, null, !0) : v(t._vnode || null, e, t, null, null, null, n), t._vnode = e;
- }, e && t._vnode ? void 0 : e && e.component ? e.component.uid : ao());
- }, Se = {
+ }, xe = !1, Se = (e, t, n) => {
+ let r;
+ e == null ? t._vnode && (ge(t._vnode, null, null, !0), r = t._vnode.component) : v(t._vnode || null, e, t, null, null, null, n), t._vnode = e, xe ||= (xe = !0, Ln(r), Rn(), !1);
+ }, Ce = {
p: v,
um: ge,
m: he,
@@ -2702,30 +2627,30 @@ function Ta(e, i) {
pbc: E,
n: be,
o: e
- }, Ce, we;
- return i && ([Ce, we] = i(Se)), {
- render: xe,
- hydrate: Ce,
- createApp: Ui(xe, Ce)
+ }, we, Te;
+ return i && ([we, Te] = i(Ce)), {
+ render: Se,
+ hydrate: we,
+ createApp: Bi(Se, we)
};
}
-function Ea({ type: e, props: t }, n) {
+function Sa({ type: e, props: t }, n) {
return n === "svg" && e === "foreignObject" || n === "mathml" && e === "annotation-xml" && t && t.encoding && t.encoding.includes("html") ? void 0 : n;
}
-function Da({ effect: e, job: t }, n) {
+function Ca({ effect: e, job: t }, n) {
n ? (e.flags |= 32, t.flags |= 4) : (e.flags &= -33, t.flags &= -5);
}
-function Oa(e, t) {
+function wa(e, t) {
return (!e || e && !e.pendingBranch) && t && !t.persisted;
}
-function ka(e, t, n = !1) {
+function Ta(e, t, n = !1) {
let r = e.children, i = t.children;
if (d(r) && d(i)) for (let e = 0; e < r.length; e++) {
let t = r[e], a = i[e];
- a.shapeFlag & 1 && !a.dynamicChildren && ((a.patchFlag <= 0 || a.patchFlag === 32) && (a = i[e] = eo(i[e]), a.el = t.el), !n && a.patchFlag !== -2 && ka(t, a)), a.type === Ia && (a.patchFlag === -1 && (a = i[e] = eo(a)), a.el = t.el), a.type === R && !a.el && (a.el = t.el);
+ a.shapeFlag & 1 && !a.dynamicChildren && ((a.patchFlag <= 0 || a.patchFlag === 32) && (a = i[e] = Za(i[e]), a.el = t.el), !n && a.patchFlag !== -2 && Ta(t, a)), a.type === Ma && (a.patchFlag === -1 && (a = i[e] = Za(a)), a.el = t.el), a.type === Na && !a.el && (a.el = t.el);
}
}
-function Aa(e) {
+function Ea(e) {
let t = e.slice(), n = [0], r, i, a, o, s, c = e.length;
for (r = 0; r < c; r++) {
let c = e[r];
@@ -2741,63 +2666,63 @@ function Aa(e) {
for (a = n.length, o = n[a - 1]; a-- > 0;) n[a] = o, o = t[o];
return n;
}
-function ja(e) {
+function Da(e) {
let t = e.subTree.component;
- if (t) return t.asyncDep && !t.asyncResolved ? t : ja(t);
+ if (t) return t.asyncDep && !t.asyncResolved ? t : Da(t);
}
-function Ma(e) {
+function Oa(e) {
if (e) for (let t = 0; t < e.length; t++) e[t].flags |= 8;
}
-function Na(e) {
+function ka(e) {
if (e.placeholder) return e.placeholder;
let t = e.component;
- return t ? Na(t.subTree) : null;
+ return t ? ka(t.subTree) : null;
}
-var Pa = (e) => e.__isSuspense;
-function Fa(e, t) {
- t && t.pendingBranch ? d(e) ? t.effects.push(...e) : t.effects.push(e) : Ln(e);
+var Aa = (e) => e.__isSuspense;
+function ja(e, t) {
+ t && t.pendingBranch ? d(e) ? t.effects.push(...e) : t.effects.push(e) : In(e);
}
-var L = /* @__PURE__ */ Symbol.for("v-fgt"), Ia = /* @__PURE__ */ Symbol.for("v-txt"), R = /* @__PURE__ */ Symbol.for("v-cmt"), La = /* @__PURE__ */ Symbol.for("v-stc"), Ra = [], za = null;
-function z(e = !1) {
- Ra.push(za = e ? null : []);
+var L = /* @__PURE__ */ Symbol.for("v-fgt"), Ma = /* @__PURE__ */ Symbol.for("v-txt"), Na = /* @__PURE__ */ Symbol.for("v-cmt"), Pa = /* @__PURE__ */ Symbol.for("v-stc"), Fa = [], Ia = null;
+function R(e = !1) {
+ Fa.push(Ia = e ? null : []);
}
-function Ba() {
- Ra.pop(), za = Ra[Ra.length - 1] || null;
+function La() {
+ Fa.pop(), Ia = Fa[Fa.length - 1] || null;
}
-var Va = 1;
-function Ha(e, t = !1) {
- Va += e, e < 0 && za && t && (za.hasOnce = !0);
+var Ra = 1;
+function za(e, t = !1) {
+ Ra += e, e < 0 && Ia && t && (Ia.hasOnce = !0);
}
-function Ua(e) {
- return e.dynamicChildren = Va > 0 ? za || n : null, Ba(), Va > 0 && za && za.push(e), e;
+function Ba(e) {
+ return e.dynamicChildren = Ra > 0 ? Ia || n : null, La(), Ra > 0 && Ia && Ia.push(e), e;
}
-function B(e, t, n, r, i, a) {
- return Ua(H(e, t, n, r, i, a, !0));
+function z(e, t, n, r, i, a) {
+ return Ba(V(e, t, n, r, i, a, !0));
}
-function V(e, t, n, r, i) {
- return Ua(U(e, t, n, r, i, !0));
+function B(e, t, n, r, i) {
+ return Ba(H(e, t, n, r, i, !0));
}
-function Wa(e) {
+function Va(e) {
return e ? e.__v_isVNode === !0 : !1;
}
-function Ga(e, t) {
+function Ha(e, t) {
return e.type === t.type && e.key === t.key;
}
-var Ka = ({ key: e }) => e ?? null, qa = ({ ref: e, ref_key: t, ref_for: n }) => (typeof e == "number" && (e = "" + e), e == null ? null : g(e) || /* @__PURE__ */ N(e) || h(e) ? {
- i: Wn,
+var Ua = ({ key: e }) => e ?? null, Wa = ({ ref: e, ref_key: t, ref_for: n }) => (typeof e == "number" && (e = "" + e), e == null ? null : g(e) || /* @__PURE__ */ N(e) || h(e) ? {
+ i: Vn,
r: e,
k: t,
f: !!n
} : e);
-function H(e, t = null, n = null, r = 0, i = null, a = e === L ? 0 : 1, o = !1, s = !1) {
+function V(e, t = null, n = null, r = 0, i = null, a = e === L ? 0 : 1, o = !1, s = !1) {
let c = {
__v_isVNode: !0,
__v_skip: !0,
type: e,
props: t,
- key: t && Ka(t),
- ref: t && qa(t),
- scopeId: Gn,
+ key: t && Ua(t),
+ ref: t && Wa(t),
+ scopeId: Hn,
slotScopeIds: null,
children: n,
component: null,
@@ -2817,35 +2742,35 @@ function H(e, t = null, n = null, r = 0, i = null, a = e === L ? 0 : 1, o = !1,
dynamicProps: i,
dynamicChildren: null,
appContext: null,
- ctx: Wn
+ ctx: Vn
};
- return s ? (to(c, n), a & 128 && e.normalize(c)) : n && (c.shapeFlag |= g(n) ? 8 : 16), Va > 0 && !o && za && (c.patchFlag > 0 || a & 6) && c.patchFlag !== 32 && za.push(c), c;
+ return s ? (Qa(c, n), a & 128 && e.normalize(c)) : n && (c.shapeFlag |= g(n) ? 8 : 16), Ra > 0 && !o && Ia && (c.patchFlag > 0 || a & 6) && c.patchFlag !== 32 && Ia.push(c), c;
}
-var U = Ja;
-function Ja(e, t = null, n = null, r = 0, i = null, a = !1) {
- if (e && e !== fi || (e = R), Wa(e)) {
- let r = Xa(e, t, !0);
- return n && to(r, n), Va > 0 && !a && za && (r.shapeFlag & 6 ? za[za.indexOf(e)] = r : za.push(r)), r.patchFlag = -2, r;
+var H = Ga;
+function Ga(e, t = null, n = null, r = 0, i = null, a = !1) {
+ if (e && e !== li || (e = Na), Va(e)) {
+ let r = qa(e, t, !0);
+ return n && Qa(r, n), Ra > 0 && !a && Ia && (r.shapeFlag & 6 ? Ia[Ia.indexOf(e)] = r : Ia.push(r)), r.patchFlag = -2, r;
}
- if (wo(e) && (e = e.__vccOpts), t) {
- t = Ya(t);
+ if (yo(e) && (e = e.__vccOpts), t) {
+ t = Ka(t);
let { class: e, style: n } = t;
- e && !g(e) && (t.class = O(e)), v(n) && (/* @__PURE__ */ Xt(n) && !d(n) && (n = s({}, n)), t.style = fe(n));
+ e && !g(e) && (t.class = O(e)), v(n) && (/* @__PURE__ */ Yt(n) && !d(n) && (n = s({}, n)), t.style = fe(n));
}
- let o = g(e) ? 1 : Pa(e) ? 128 : cr(e) ? 64 : v(e) ? 4 : h(e) ? 2 : 0;
- return H(e, t, n, r, i, o, a, !0);
+ let o = g(e) ? 1 : Aa(e) ? 128 : ar(e) ? 64 : v(e) ? 4 : h(e) ? 2 : 0;
+ return V(e, t, n, r, i, o, a, !0);
}
-function Ya(e) {
- return e ? /* @__PURE__ */ Xt(e) || sa(e) ? s({}, e) : e : null;
+function Ka(e) {
+ return e ? /* @__PURE__ */ Yt(e) || ra(e) ? s({}, e) : e : null;
}
-function Xa(e, t, n = !1, r = !1) {
- let { props: i, ref: a, patchFlag: o, children: s, transition: c } = e, l = t ? G(i || {}, t) : i, u = {
+function qa(e, t, n = !1, r = !1) {
+ let { props: i, ref: a, patchFlag: o, children: s, transition: c } = e, l = t ? W(i || {}, t) : i, u = {
__v_isVNode: !0,
__v_skip: !0,
type: e.type,
props: l,
- key: l && Ka(l),
- ref: t && t.ref ? n && a ? d(a) ? a.concat(qa(t)) : [a, qa(t)] : qa(t) : a,
+ key: l && Ua(l),
+ ref: t && t.ref ? n && a ? d(a) ? a.concat(Wa(t)) : [a, Wa(t)] : Wa(t) : a,
scopeId: e.scopeId,
slotScopeIds: e.slotScopeIds,
children: s,
@@ -2862,8 +2787,8 @@ function Xa(e, t, n = !1, r = !1) {
transition: c,
component: e.component,
suspense: e.suspense,
- ssContent: e.ssContent && Xa(e.ssContent),
- ssFallback: e.ssFallback && Xa(e.ssFallback),
+ ssContent: e.ssContent && qa(e.ssContent),
+ ssFallback: e.ssFallback && qa(e.ssFallback),
placeholder: e.placeholder,
el: e.el,
anchor: e.anchor,
@@ -2871,52 +2796,52 @@ function Xa(e, t, n = !1, r = !1) {
ce: e.ce,
cacheIndex: e.cacheIndex
};
- return c && r && Mr(u, c.clone(u)), u;
+ return c && r && Ar(u, c.clone(u)), u;
}
-function Za(e = " ", t = 0) {
- return U(Ia, null, e, t);
+function Ja(e = " ", t = 0) {
+ return H(Ma, null, e, t);
}
-function Qa(e, t) {
- let n = U(La, null, e);
+function Ya(e, t) {
+ let n = H(Pa, null, e);
return n.staticCount = t, n;
}
-function W(e = "", t = !1) {
- return t ? (z(), V(R, null, e)) : U(R, null, e);
+function U(e = "", t = !1) {
+ return t ? (R(), B(Na, null, e)) : H(Na, null, e);
}
-function $a(e) {
- return e == null || typeof e == "boolean" ? U(R) : d(e) ? U(L, null, e.slice()) : Wa(e) ? eo(e) : U(Ia, null, String(e));
+function Xa(e) {
+ return e == null || typeof e == "boolean" ? H(Na) : d(e) ? H(L, null, e.slice()) : Va(e) ? Za(e) : H(Ma, null, String(e));
}
-function eo(e) {
- return e.el === null && e.patchFlag !== -1 || e.memo ? e : Xa(e);
+function Za(e) {
+ return e.el === null && e.patchFlag !== -1 || e.memo ? e : qa(e);
}
-function to(e, t) {
+function Qa(e, t) {
let n = 0, { shapeFlag: r } = e;
if (t == null) t = null;
else if (d(t)) n = 16;
else if (typeof t == "object") {
if (r & 65) {
let n = t.default;
- n && (n._c && (n._d = !1), to(e, n()), n._c && (n._d = !0));
+ n && (n._c && (n._d = !1), Qa(e, n()), n._c && (n._d = !0));
return;
}
{
n = 32;
let r = t._;
- !r && !sa(t) ? t._ctx = Wn : r === 3 && Wn && (Wn.slots._ === 1 ? t._ = 1 : (t._ = 2, e.patchFlag |= 1024));
+ !r && !ra(t) ? t._ctx = Vn : r === 3 && Vn && (Vn.slots._ === 1 ? t._ = 1 : (t._ = 2, e.patchFlag |= 1024));
}
} else if (h(t)) {
if (r & 65) {
- to(e, { default: t });
+ Qa(e, { default: t });
return;
}
t = {
default: t,
- _ctx: Wn
+ _ctx: Vn
}, n = 32;
- } else t = String(t), r & 64 ? (n = 16, t = [Za(t)]) : n = 8;
+ } else t = String(t), r & 64 ? (n = 16, t = [Ja(t)]) : n = 8;
e.children = t, e.shapeFlag |= n;
}
-function G(...e) {
+function W(...e) {
let t = {};
for (let n = 0; n < e.length; n++) {
let r = e[n];
@@ -2929,16 +2854,13 @@ function G(...e) {
}
return t;
}
-function no(e, t, n, r = null) {
- Cn(e, t, 7, [n, r]);
+function $a(e, t, n, r = null) {
+ Sn(e, t, 7, [n, r]);
}
-var ro = Vi(), io = 0;
-function ao() {
- return io;
-}
-function oo(e, n, r) {
- let i = e.type, a = (n ? n.appContext : e.appContext) || ro, o = {
- uid: io++,
+var eo = Ri(), to = 0;
+function no(e, n, r) {
+ let i = e.type, a = (n ? n.appContext : e.appContext) || eo, o = {
+ uid: to++,
vnode: e,
type: i,
parent: n,
@@ -2965,8 +2887,8 @@ function oo(e, n, r) {
renderCache: [],
components: null,
directives: null,
- propsOptions: pa(i, a),
- emitsOptions: Yi(i, a),
+ propsOptions: la(i, a),
+ emitsOptions: Ki(i, a),
emit: null,
emitted: null,
propsDefaults: t,
@@ -3001,9 +2923,9 @@ function oo(e, n, r) {
ec: null,
sp: null
};
- return o.ctx = { _: o }, o.root = n ? n.root : o, o.emit = qi.bind(null, o), e.ce && e.ce(o), o;
+ return o.ctx = { _: o }, o.root = n ? n.root : o, o.emit = Wi.bind(null, o), e.ce && e.ce(o), o;
}
-var so = null, co = () => so || Wn, lo, uo;
+var G = null, ro = () => G || Vn, io, ao;
{
let e = de(), t = (t, n) => {
let r;
@@ -3011,71 +2933,71 @@ var so = null, co = () => so || Wn, lo, uo;
r.length > 1 ? r.forEach((t) => t(e)) : r[0](e);
};
};
- lo = t("__VUE_INSTANCE_SETTERS__", (e) => so = e), uo = t("__VUE_SSR_SETTERS__", (e) => ho = e);
+ io = t("__VUE_INSTANCE_SETTERS__", (e) => G = e), ao = t("__VUE_SSR_SETTERS__", (e) => lo = e);
}
-var fo = (e) => {
- let t = so;
- return lo(e), e.scope.on(), () => {
- e.scope.off(), lo(t);
+var oo = (e) => {
+ let t = G;
+ return io(e), e.scope.on(), () => {
+ e.scope.off(), io(t);
};
-}, po = () => {
- so && so.scope.off(), lo(null);
+}, so = () => {
+ G && G.scope.off(), io(null);
};
-function mo(e) {
+function co(e) {
return e.vnode.shapeFlag & 4;
}
-var ho = !1;
-function go(e, t = !1, n = !1) {
- t && uo(t);
- let { props: r, children: i } = e.vnode, a = mo(e);
- ca(e, r, a, t), xa(e, i, n || t);
- let o = a ? _o(e, t) : void 0;
- return t && uo(!1), o;
+var lo = !1;
+function uo(e, t = !1, n = !1) {
+ t && ao(t);
+ let { props: r, children: i } = e.vnode, a = co(e);
+ ia(e, r, a, t), _a(e, i, n || t);
+ let o = a ? fo(e, t) : void 0;
+ return t && ao(!1), o;
}
-function _o(e, t) {
+function fo(e, t) {
let n = e.type;
- e.accessCache = /* @__PURE__ */ Object.create(null), e.proxy = new Proxy(e.ctx, Ci);
+ e.accessCache = /* @__PURE__ */ Object.create(null), e.proxy = new Proxy(e.ctx, bi);
let { setup: r } = n;
if (r) {
Ye();
- let n = e.setupContext = r.length > 1 ? xo(e) : null, i = fo(e), a = Sn(r, e, 0, [e.props, n]), o = y(a);
- if (Xe(), i(), (o || e.sp) && !Wr(e) && Lr(e), o) {
- if (a.then(po, po), t) return a.then((n) => {
- uo(!0);
+ let n = e.setupContext = r.length > 1 ? go(e) : null, i = oo(e), a = xn(r, e, 0, [e.props, n]), o = y(a);
+ if (Xe(), i(), (o || e.sp) && !Vr(e) && Pr(e), o) {
+ if (a.then(so, so), t) return a.then((n) => {
+ ao(!0);
try {
- vo(e, n, t);
+ po(e, n, t);
} finally {
- uo(!1);
+ ao(!1);
}
}).catch((t) => {
- wn(t, e, 0);
+ Cn(t, e, 0);
});
e.asyncDep = a;
- } else vo(e, a, t);
- } else yo(e, t);
+ } else po(e, a, t);
+ } else mo(e, t);
}
-function vo(e, t, n) {
- h(t) ? e.type.__ssrInlineRender ? e.ssrRender = t : e.render = t : v(t) && (e.setupState = cn(t)), yo(e, n);
+function po(e, t, n) {
+ h(t) ? e.type.__ssrInlineRender ? e.ssrRender = t : e.render = t : v(t) && (e.setupState = sn(t)), mo(e, n);
}
-function yo(e, t, n) {
+function mo(e, t, n) {
let i = e.type;
e.render ||= i.render || r;
{
- let t = fo(e);
+ let t = oo(e);
Ye();
try {
- Di(e);
+ wi(e);
} finally {
Xe(), t();
}
}
}
-var bo = { get(e, t) {
+var ho = { get(e, t) {
return ot(e, "get", ""), e[t];
} };
-function xo(e) {
+function go(e) {
return {
- attrs: new Proxy(e.attrs, bo),
+ attrs: new Proxy(e.attrs, ho),
slots: e.slots,
emit: e.emit,
expose: (t) => {
@@ -3083,38 +3005,38 @@ function xo(e) {
}
};
}
-function So(e) {
- return e.exposed ? e.exposeProxy ||= new Proxy(cn(Zt(e.exposed)), {
+function _o(e) {
+ return e.exposed ? e.exposeProxy ||= new Proxy(sn(Xt(e.exposed)), {
get(t, n) {
if (n in t) return t[n];
- if (n in xi) return xi[n](e);
+ if (n in vi) return vi[n](e);
},
has(e, t) {
- return t in e || t in xi;
+ return t in e || t in vi;
}
}) : e.proxy;
}
-function Co(e, t = !0) {
+function vo(e, t = !0) {
return h(e) ? e.displayName || e.name : e.name || t && e.__name;
}
-function wo(e) {
+function yo(e) {
return h(e) && "__vccOpts" in e;
}
-var To = (e, t) => /* @__PURE__ */ hn(e, t, ho);
-function Eo(e, t, n) {
+var bo = (e, t) => /* @__PURE__ */ mn(e, t, lo);
+function xo(e, t, n) {
try {
- Ha(-1);
+ za(-1);
let r = arguments.length;
- return r === 2 ? v(t) && !d(t) ? Wa(t) ? U(e, null, [t]) : U(e, t) : U(e, null, t) : (r > 3 ? n = Array.prototype.slice.call(arguments, 2) : r === 3 && Wa(n) && (n = [n]), U(e, t, n));
+ return r === 2 ? v(t) && !d(t) ? Va(t) ? H(e, null, [t]) : H(e, t) : H(e, null, t) : (r > 3 ? n = Array.prototype.slice.call(arguments, 2) : r === 3 && Va(n) && (n = [n]), H(e, t, n));
} finally {
- Ha(1);
+ za(1);
}
}
-var Do = "3.5.44", Oo = void 0, ko = typeof window < "u" && window.trustedTypes;
-if (ko) try {
- Oo = /* @__PURE__ */ ko.createPolicy("vue", { createHTML: (e) => e });
+var So = "3.5.43", Co = void 0, wo = typeof window < "u" && window.trustedTypes;
+if (wo) try {
+ Co = /* @__PURE__ */ wo.createPolicy("vue", { createHTML: (e) => e });
} catch {}
-var Ao = Oo ? (e) => Oo.createHTML(e) : (e) => e, jo = "http://www.w3.org/2000/svg", Mo = "http://www.w3.org/1998/Math/MathML", No = typeof document < "u" ? document : null, Po = No && /* @__PURE__ */ No.createElement("template"), Fo = {
+var To = Co ? (e) => Co.createHTML(e) : (e) => e, Eo = "http://www.w3.org/2000/svg", Do = "http://www.w3.org/1998/Math/MathML", Oo = typeof document < "u" ? document : null, ko = Oo && /* @__PURE__ */ Oo.createElement("template"), Ao = {
insert: (e, t, n) => {
t.insertBefore(e, n || null);
},
@@ -3123,11 +3045,11 @@ var Ao = Oo ? (e) => Oo.createHTML(e) : (e) => e, jo = "http://www.w3.org/2000/s
t && t.removeChild(e);
},
createElement: (e, t, n, r) => {
- let i = t === "svg" ? No.createElementNS(jo, e) : t === "mathml" ? No.createElementNS(Mo, e) : n ? No.createElement(e, { is: n }) : No.createElement(e);
+ let i = t === "svg" ? Oo.createElementNS(Eo, e) : t === "mathml" ? Oo.createElementNS(Do, e) : n ? Oo.createElement(e, { is: n }) : Oo.createElement(e);
return e === "select" && r && r.multiple != null && i.setAttribute("multiple", r.multiple), i;
},
- createText: (e) => No.createTextNode(e),
- createComment: (e) => No.createComment(e),
+ createText: (e) => Oo.createTextNode(e),
+ createComment: (e) => Oo.createComment(e),
setText: (e, t) => {
e.nodeValue = t;
},
@@ -3136,7 +3058,7 @@ var Ao = Oo ? (e) => Oo.createHTML(e) : (e) => e, jo = "http://www.w3.org/2000/s
},
parentNode: (e) => e.parentNode,
nextSibling: (e) => e.nextSibling,
- querySelector: (e) => No.querySelector(e),
+ querySelector: (e) => Oo.querySelector(e),
setScopeId(e, t) {
e.setAttribute(t, "");
},
@@ -3144,8 +3066,8 @@ var Ao = Oo ? (e) => Oo.createHTML(e) : (e) => e, jo = "http://www.w3.org/2000/s
let o = n ? n.previousSibling : t.lastChild;
if (i && (i === a || i.nextSibling)) for (; t.insertBefore(i.cloneNode(!0), n), i !== a && (i = i.nextSibling););
else {
- Po.innerHTML = Ao(r === "svg" ? `` : r === "mathml" ? `` : e);
- let i = Po.content;
+ ko.innerHTML = To(r === "svg" ? `` : r === "mathml" ? `` : e);
+ let i = ko.content;
if (r === "svg" || r === "mathml") {
let e = i.firstChild;
for (; e.firstChild;) i.appendChild(e.firstChild);
@@ -3155,7 +3077,7 @@ var Ao = Oo ? (e) => Oo.createHTML(e) : (e) => e, jo = "http://www.w3.org/2000/s
}
return [o ? o.nextSibling : t.firstChild, n ? n.previousSibling : t.lastChild];
}
-}, Io = "transition", Lo = "animation", Ro = /* @__PURE__ */ Symbol("_vtc"), zo = {
+}, jo = "transition", Mo = "animation", No = /* @__PURE__ */ Symbol("_vtc"), Po = {
name: String,
type: String,
css: {
@@ -3176,81 +3098,81 @@ var Ao = Oo ? (e) => Oo.createHTML(e) : (e) => e, jo = "http://www.w3.org/2000/s
leaveFromClass: String,
leaveActiveClass: String,
leaveToClass: String
-}, Bo = /* @__PURE__ */ s({}, wr, zo), Vo = /* @__PURE__ */ ((e) => (e.displayName = "Transition", e.props = Bo, e))((e, { slots: t }) => Eo(Dr, Wo(e), t)), Ho = (e, t = []) => {
+}, Fo = /* @__PURE__ */ s({}, xr, Po), Io = /* @__PURE__ */ ((e) => (e.displayName = "Transition", e.props = Fo, e))((e, { slots: t }) => xo(Tr, zo(e), t)), Lo = (e, t = []) => {
d(e) ? e.forEach((e) => e(...t)) : e && e(...t);
-}, Uo = (e) => e ? d(e) ? e.some((e) => e.length > 1) : e.length > 1 : !1;
-function Wo(e) {
+}, Ro = (e) => e ? d(e) ? e.some((e) => e.length > 1) : e.length > 1 : !1;
+function zo(e) {
let t = {};
- for (let n in e) n in zo || (t[n] = e[n]);
+ for (let n in e) n in Po || (t[n] = e[n]);
if (e.css === !1) return t;
- let { name: n = "v", type: r, duration: i, enterFromClass: a = `${n}-enter-from`, enterActiveClass: o = `${n}-enter-active`, enterToClass: c = `${n}-enter-to`, appearFromClass: l = a, appearActiveClass: u = o, appearToClass: d = c, leaveFromClass: f = `${n}-leave-from`, leaveActiveClass: p = `${n}-leave-active`, leaveToClass: m = `${n}-leave-to` } = e, h = Go(i), g = h && h[0], _ = h && h[1], { onBeforeEnter: v, onEnter: y, onEnterCancelled: b, onLeave: x, onLeaveCancelled: S, onBeforeAppear: C = v, onAppear: w = y, onAppearCancelled: ee = b } = t, te = (e, t, n, r) => {
- e._enterCancelled = r, Jo(e, t ? d : c), Jo(e, t ? u : o), n && n();
+ let { name: n = "v", type: r, duration: i, enterFromClass: a = `${n}-enter-from`, enterActiveClass: o = `${n}-enter-active`, enterToClass: c = `${n}-enter-to`, appearFromClass: l = a, appearActiveClass: u = o, appearToClass: d = c, leaveFromClass: f = `${n}-leave-from`, leaveActiveClass: p = `${n}-leave-active`, leaveToClass: m = `${n}-leave-to` } = e, h = Bo(i), g = h && h[0], _ = h && h[1], { onBeforeEnter: v, onEnter: y, onEnterCancelled: b, onLeave: x, onLeaveCancelled: S, onBeforeAppear: C = v, onAppear: w = y, onAppearCancelled: ee = b } = t, te = (e, t, n, r) => {
+ e._enterCancelled = r, Uo(e, t ? d : c), Uo(e, t ? u : o), n && n();
}, ne = (e, t) => {
- e._isLeaving = !1, Jo(e, f), Jo(e, m), Jo(e, p), t && t();
+ e._isLeaving = !1, Uo(e, f), Uo(e, m), Uo(e, p), t && t();
}, T = (e) => (t, n) => {
let i = e ? w : y, o = () => te(t, e, n);
- Ho(i, [t, o]), Yo(() => {
- Jo(t, e ? l : a), qo(t, e ? d : c), Uo(i) || Zo(t, r, g, o);
+ Lo(i, [t, o]), Wo(() => {
+ Uo(t, e ? l : a), Ho(t, e ? d : c), Ro(i) || Ko(t, r, g, o);
});
};
return s(t, {
onBeforeEnter(e) {
- Ho(v, [e]), qo(e, a), qo(e, o);
+ Lo(v, [e]), Ho(e, a), Ho(e, o);
},
onBeforeAppear(e) {
- Ho(C, [e]), qo(e, l), qo(e, u);
+ Lo(C, [e]), Ho(e, l), Ho(e, u);
},
onEnter: T(!1),
onAppear: T(!0),
onLeave(e, t) {
e._isLeaving = !0;
let n = () => ne(e, t);
- qo(e, f), e._enterCancelled ? (qo(e, p), ts(e)) : (ts(e), qo(e, p)), Yo(() => {
- e._isLeaving && (Jo(e, f), qo(e, m), Uo(x) || Zo(e, r, _, n));
- }), Ho(x, [e, n]);
+ Ho(e, f), e._enterCancelled ? (Ho(e, p), Xo(e)) : (Xo(e), Ho(e, p)), Wo(() => {
+ e._isLeaving && (Uo(e, f), Ho(e, m), Ro(x) || Ko(e, r, _, n));
+ }), Lo(x, [e, n]);
},
onEnterCancelled(e) {
- te(e, !1, void 0, !0), Ho(b, [e]);
+ te(e, !1, void 0, !0), Lo(b, [e]);
},
onAppearCancelled(e) {
- te(e, !0, void 0, !0), Ho(ee, [e]);
+ te(e, !0, void 0, !0), Lo(ee, [e]);
},
onLeaveCancelled(e) {
- ne(e), Ho(S, [e]);
+ ne(e), Lo(S, [e]);
}
});
}
-function Go(e) {
+function Bo(e) {
if (e == null) return null;
- if (v(e)) return [Ko(e.enter), Ko(e.leave)];
+ if (v(e)) return [Vo(e.enter), Vo(e.leave)];
{
- let t = Ko(e);
+ let t = Vo(e);
return [t, t];
}
}
-function Ko(e) {
+function Vo(e) {
return le(e);
}
-function qo(e, t) {
- t.split(/\s+/).forEach((t) => t && e.classList.add(t)), (e[Ro] || (e[Ro] = /* @__PURE__ */ new Set())).add(t);
+function Ho(e, t) {
+ t.split(/\s+/).forEach((t) => t && e.classList.add(t)), (e[No] || (e[No] = /* @__PURE__ */ new Set())).add(t);
}
-function Jo(e, t) {
+function Uo(e, t) {
t.split(/\s+/).forEach((t) => t && e.classList.remove(t));
- let n = e[Ro];
- n && (n.delete(t), n.size || (e[Ro] = void 0));
+ let n = e[No];
+ n && (n.delete(t), n.size || (e[No] = void 0));
}
-function Yo(e) {
+function Wo(e) {
requestAnimationFrame(() => {
requestAnimationFrame(e);
});
}
-var Xo = 0;
-function Zo(e, t, n, r) {
- let i = e._endId = ++Xo, a = () => {
+var Go = 0;
+function Ko(e, t, n, r) {
+ let i = e._endId = ++Go, a = () => {
i === e._endId && r();
};
if (n != null) return setTimeout(a, n);
- let { type: o, timeout: s, propCount: c } = Qo(e, t);
+ let { type: o, timeout: s, propCount: c } = qo(e, t);
if (!o) return r();
let l = o + "end", u = 0, d = () => {
e.removeEventListener(l, f), a();
@@ -3261,10 +3183,10 @@ function Zo(e, t, n, r) {
u < c && d();
}, s + 1), e.addEventListener(l, f);
}
-function Qo(e, t) {
- let n = window.getComputedStyle(e), r = (e) => (n[e] || "").split(", "), i = r(`${Io}Delay`), a = r(`${Io}Duration`), o = $o(i, a), s = r(`${Lo}Delay`), c = r(`${Lo}Duration`), l = $o(s, c), u = null, d = 0, f = 0;
- t === Io ? o > 0 && (u = Io, d = o, f = a.length) : t === Lo ? l > 0 && (u = Lo, d = l, f = c.length) : (d = Math.max(o, l), u = d > 0 ? o > l ? Io : Lo : null, f = u ? u === Io ? a.length : c.length : 0);
- let p = u === Io && /\b(?:transform|all)(?:,|$)/.test(r(`${Io}Property`).toString());
+function qo(e, t) {
+ let n = window.getComputedStyle(e), r = (e) => (n[e] || "").split(", "), i = r(`${jo}Delay`), a = r(`${jo}Duration`), o = Jo(i, a), s = r(`${Mo}Delay`), c = r(`${Mo}Duration`), l = Jo(s, c), u = null, d = 0, f = 0;
+ t === jo ? o > 0 && (u = jo, d = o, f = a.length) : t === Mo ? l > 0 && (u = Mo, d = l, f = c.length) : (d = Math.max(o, l), u = d > 0 ? o > l ? jo : Mo : null, f = u ? u === jo ? a.length : c.length : 0);
+ let p = u === jo && /\b(?:transform|all)(?:,|$)/.test(r(`${jo}Property`).toString());
return {
type: u,
timeout: d,
@@ -3272,100 +3194,100 @@ function Qo(e, t) {
hasTransform: p
};
}
-function $o(e, t) {
+function Jo(e, t) {
for (; e.length < t.length;) e = e.concat(e);
- return Math.max(...t.map((t, n) => es(t) + es(e[n])));
+ return Math.max(...t.map((t, n) => Yo(t) + Yo(e[n])));
}
-function es(e) {
+function Yo(e) {
return e === "auto" ? 0 : Number(e.slice(0, -1).replace(",", ".")) * 1e3;
}
-function ts(e) {
+function Xo(e) {
return (e ? e.ownerDocument : document).body.offsetHeight;
}
-function ns(e, t, n) {
- let r = e[Ro];
+function Zo(e, t, n) {
+ let r = e[No];
r && (t = (t ? [t, ...r] : [...r]).join(" ")), t == null ? e.removeAttribute("class") : n ? e.setAttribute("class", t) : e.className = t;
}
-var rs = /* @__PURE__ */ Symbol("_vod"), is = /* @__PURE__ */ Symbol("_vsh"), as = {
+var Qo = /* @__PURE__ */ Symbol("_vod"), $o = /* @__PURE__ */ Symbol("_vsh"), es = {
name: "show",
beforeMount(e, { value: t }, { transition: n }) {
- e[rs] = e.style.display === "none" ? "" : e.style.display, n && t ? n.beforeEnter(e) : os(e, t);
+ e[Qo] = e.style.display === "none" ? "" : e.style.display, n && t ? n.beforeEnter(e) : ts(e, t);
},
mounted(e, { value: t }, { transition: n }) {
n && t && n.enter(e);
},
updated(e, { value: t, oldValue: n }, { transition: r }) {
- !t != !n && (r ? t ? (r.beforeEnter(e), os(e, !0), r.enter(e)) : r.leave(e, () => {
- os(e, !1);
- }) : os(e, t));
+ !t != !n && (r ? t ? (r.beforeEnter(e), ts(e, !0), r.enter(e)) : r.leave(e, () => {
+ ts(e, !1);
+ }) : ts(e, t));
},
beforeUnmount(e, { value: t }) {
- os(e, t);
+ ts(e, t);
}
};
-function os(e, t) {
- e.style.display = t ? e[rs] : "none", e[is] = !t;
+function ts(e, t) {
+ e.style.display = t ? e[Qo] : "none", e[$o] = !t;
}
-var ss = /* @__PURE__ */ Symbol(""), cs = /(?:^|;)\s*display\s*:/;
-function ls(e, t, n) {
+var ns = /* @__PURE__ */ Symbol(""), rs = /(?:^|;)\s*display\s*:/;
+function is(e, t, n) {
let r = e.style, i = g(n), a = !1;
if (n && !i) {
if (t) {
if (g(t)) for (let e of t.split(";")) {
let t = e.slice(0, e.indexOf(":")).trim();
- n[t] ?? ds(r, t, "");
+ n[t] ?? os(r, t, "");
}
- else for (let e in t) n[e] ?? ds(r, e, "");
+ else for (let e in t) n[e] ?? os(r, e, "");
}
for (let i in n) {
i === "display" && (a = !0);
let o = n[i];
- o == null ? ds(r, i, "") : hs(e, i, !g(t) && t ? t[i] : void 0, o) || ds(r, i, o);
+ o == null ? os(r, i, "") : us(e, i, !g(t) && t ? t[i] : void 0, o) || os(r, i, o);
}
} else if (i) {
if (t !== n) {
- let e = r[ss];
- e && (n += ";" + e), r.cssText = n, a = cs.test(n);
+ let e = r[ns];
+ e && (n += ";" + e), r.cssText = n, a = rs.test(n);
}
} else t && e.removeAttribute("style");
- rs in e && (i && t === n || (e[rs] = a ? r.display : ""), e[is] && (r.display = "none"));
+ Qo in e && (e[Qo] = a ? r.display : "", e[$o] && (r.display = "none"));
}
-var us = /\s*!important$/;
-function ds(e, t, n) {
- if (d(n)) n.forEach((n) => ds(e, t, n));
- else if (n ??= "", t.startsWith("--")) us.test(n) ? e.setProperty(t, n.replace(us, ""), "important") : e.setProperty(t, n);
+var as = /\s*!important$/;
+function os(e, t, n) {
+ if (d(n)) n.forEach((n) => os(e, t, n));
+ else if (n ??= "", t.startsWith("--")) as.test(n) ? e.setProperty(t, n.replace(as, ""), "important") : e.setProperty(t, n);
else {
- let r = ms(e, t);
- us.test(n) ? e.setProperty(E(r), n.replace(us, ""), "important") : e[r] = n;
+ let r = ls(e, t);
+ as.test(n) ? e.setProperty(E(r), n.replace(as, ""), "important") : e[r] = n;
}
}
-var fs = [
+var ss = [
"Webkit",
"Moz",
"ms"
-], ps = {};
-function ms(e, t) {
- let n = ps[t];
+], cs = {};
+function ls(e, t) {
+ let n = cs[t];
if (n) return n;
let r = T(t);
- if (r !== "filter" && r in e) return ps[t] = r;
+ if (r !== "filter" && r in e) return cs[t] = r;
r = ie(r);
- for (let n = 0; n < fs.length; n++) {
- let i = fs[n] + r;
- if (i in e) return ps[t] = i;
+ for (let n = 0; n < ss.length; n++) {
+ let i = ss[n] + r;
+ if (i in e) return cs[t] = i;
}
return t;
}
-function hs(e, t, n, r) {
+function us(e, t, n, r) {
return e.tagName === "TEXTAREA" && (t === "width" || t === "height") && g(r) && n === r;
}
-var gs = "http://www.w3.org/1999/xlink";
-function _s(e, t, n, r, i, a = ve(t)) {
- r && t.startsWith("xlink:") ? n == null ? e.removeAttributeNS(gs, t.slice(6, t.length)) : e.setAttributeNS(gs, t, n) : n == null || a && !ye(n) ? e.removeAttribute(t) : e.setAttribute(t, a ? "" : _(n) ? String(n) : n);
+var ds = "http://www.w3.org/1999/xlink";
+function fs(e, t, n, r, i, a = ve(t)) {
+ r && t.startsWith("xlink:") ? n == null ? e.removeAttributeNS(ds, t.slice(6, t.length)) : e.setAttributeNS(ds, t, n) : n == null || a && !ye(n) ? e.removeAttribute(t) : e.setAttribute(t, a ? "" : _(n) ? String(n) : n);
}
-function vs(e, t, n, r, i) {
+function ps(e, t, n, r, i) {
if (t === "innerHTML" || t === "textContent") {
- n != null && (e[t] = t === "innerHTML" ? Ao(n) : n);
+ n != null && (e[t] = t === "innerHTML" ? To(n) : n);
return;
}
let a = e.tagName;
@@ -3384,29 +3306,29 @@ function vs(e, t, n, r, i) {
} catch {}
o && e.removeAttribute(i || t);
}
-function ys(e, t, n, r) {
+function ms(e, t, n, r) {
e.addEventListener(t, n, r);
}
-function bs(e, t, n, r) {
+function hs(e, t, n, r) {
e.removeEventListener(t, n, r);
}
-var xs = /* @__PURE__ */ Symbol("_vei");
-function Ss(e, t, n, r, i = null) {
- let a = e[xs] || (e[xs] = {}), o = a[t];
+var gs = /* @__PURE__ */ Symbol("_vei");
+function _s(e, t, n, r, i = null) {
+ let a = e[gs] || (e[gs] = {}), o = a[t];
if (r && o) o.value = r;
else {
- let [n, s] = Ts(t);
- r ? ys(e, n, a[t] = ks(r, i), s) : o && (bs(e, n, o, s), a[t] = void 0);
+ let [n, s] = bs(t);
+ r ? ms(e, n, a[t] = ws(r, i), s) : o && (hs(e, n, o, s), a[t] = void 0);
}
}
-var Cs = /(Once|Passive|Capture)$/, ws = /^on:?(?:Once|Passive|Capture)$/;
-function Ts(e) {
+var vs = /(Once|Passive|Capture)$/, ys = /^on:?(?:Once|Passive|Capture)$/;
+function bs(e) {
let t, n;
- for (; (n = e.match(Cs)) && !ws.test(e);) t ||= {}, e = e.slice(0, e.length - n[1].length), t[n[1].toLowerCase()] = !0;
+ for (; (n = e.match(vs)) && !ys.test(e);) t ||= {}, e = e.slice(0, e.length - n[1].length), t[n[1].toLowerCase()] = !0;
return [e[2] === ":" ? e.slice(3) : E(e.slice(2)), t];
}
-var Es = 0, Ds = /* @__PURE__ */ Promise.resolve(), Os = () => Es ||= (Ds.then(() => Es = 0), Date.now());
-function ks(e, t) {
+var xs = 0, Ss = /* @__PURE__ */ Promise.resolve(), Cs = () => xs ||= (Ss.then(() => xs = 0), Date.now());
+function ws(e, t) {
let n = (e) => {
if (!e._vts) e._vts = Date.now();
else if (e._vts <= n.attached) return;
@@ -3419,93 +3341,93 @@ function ks(e, t) {
let i = r.slice(), a = [e];
for (let n = 0; n < i.length && !e._stopped; n++) {
let e = i[n];
- e && Cn(e, t, 5, a);
+ e && Sn(e, t, 5, a);
}
- } else Cn(r, t, 5, [e]);
+ } else Sn(r, t, 5, [e]);
};
- return n.value = e, n.attached = Os(), n;
+ return n.value = e, n.attached = Cs(), n;
}
-var As = (e) => e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && e.charCodeAt(2) > 96 && e.charCodeAt(2) < 123, js = (e, t, n, r, i, s) => {
+var Ts = (e) => e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && e.charCodeAt(2) > 96 && e.charCodeAt(2) < 123, Es = (e, t, n, r, i, s) => {
let c = i === "svg";
- t === "class" ? ns(e, r, c) : t === "style" ? ls(e, n, r) : a(t) ? o(t) || Ss(e, t, n, r, s) : (t[0] === "." ? (t = t.slice(1), 1) : t[0] === "^" ? (t = t.slice(1), 0) : Ms(e, t, r, c)) ? (vs(e, t, r), e.tagName.includes("-") || t !== "value" && t !== "checked" && t !== "selected" || _s(e, t, r, c, s, t !== "value")) : e._isVueCE && (Ns(e, t) || e._def.__asyncLoader && (/[A-Z]/.test(t) || !g(r))) ? vs(e, T(t), r, s, t) : (t === "true-value" ? e._trueValue = r : t === "false-value" && (e._falseValue = r), _s(e, t, r, c));
+ t === "class" ? Zo(e, r, c) : t === "style" ? is(e, n, r) : a(t) ? o(t) || _s(e, t, n, r, s) : (t[0] === "." ? (t = t.slice(1), 1) : t[0] === "^" ? (t = t.slice(1), 0) : Ds(e, t, r, c)) ? (ps(e, t, r), e.tagName.includes("-") || t !== "value" && t !== "checked" && t !== "selected" || fs(e, t, r, c, s, t !== "value")) : e._isVueCE && (Os(e, t) || e._def.__asyncLoader && (/[A-Z]/.test(t) || !g(r))) ? ps(e, T(t), r, s, t) : (t === "true-value" ? e._trueValue = r : t === "false-value" && (e._falseValue = r), fs(e, t, r, c));
};
-function Ms(e, t, n, r) {
- if (r) return !!(t === "innerHTML" || t === "textContent" || t in e && As(t) && h(n));
+function Ds(e, t, n, r) {
+ if (r) return !!(t === "innerHTML" || t === "textContent" || t in e && Ts(t) && h(n));
if (t === "spellcheck" || t === "draggable" || t === "translate" || t === "autocorrect" || t === "sandbox" && e.tagName === "IFRAME" || t === "form" || t === "list" && e.tagName === "INPUT" || t === "type" && e.tagName === "TEXTAREA") return !1;
if (t === "width" || t === "height") {
let t = e.tagName;
if (t === "IMG" || t === "VIDEO" || t === "CANVAS" || t === "SOURCE") return !1;
}
- return As(t) && g(n) ? !1 : t in e;
+ return Ts(t) && g(n) ? !1 : t in e;
}
-function Ns(e, t) {
+function Os(e, t) {
let n = e._def.props;
if (!n) return !1;
let r = T(t);
return Array.isArray(n) ? n.some((e) => T(e) === r) : Object.keys(n).some((e) => T(e) === r);
}
-var Ps = (e) => {
+var ks = (e) => {
let t = e.props["onUpdate:modelValue"] || !1;
return d(t) ? (e) => oe(t, e) : t;
};
-function Fs(e) {
+function As(e) {
e.target.composing = !0;
}
-function Is(e) {
+function js(e) {
let t = e.target;
t.composing && (t.composing = !1, t.dispatchEvent(new Event("input")));
}
-var Ls = /* @__PURE__ */ Symbol("_assign"), Rs = /* @__PURE__ */ Symbol("_initialValue");
-function zs(e, t, n) {
+var Ms = /* @__PURE__ */ Symbol("_assign"), Ns = /* @__PURE__ */ Symbol("_initialValue");
+function Ps(e, t, n) {
return t && (e = e.trim()), n && (e = ce(e)), e;
}
-var Bs = {
+var Fs = {
created(e, { modifiers: { lazy: t, trim: n, number: r } }, i) {
- e.parentNode && (e.type === "text" ? e[Rs] = e.defaultValue.replace(/[\r\n]/g, "") : e.type === "textarea" && (e[Rs] = e.defaultValue.replace(/\r\n?/g, "\n"))), e[Ls] = Ps(i);
+ e.parentNode && (e.type === "text" ? e[Ns] = e.defaultValue.replace(/[\r\n]/g, "") : e.type === "textarea" && (e[Ns] = e.defaultValue.replace(/\r\n?/g, "\n"))), e[Ms] = ks(i);
let a = r || i.props && i.props.type === "number";
- ys(e, t ? "change" : "input", (t) => {
- t.target.composing || e[Ls](zs(e.value, n, a));
- }), (n || a) && ys(e, "change", () => {
- e.value = zs(e.value, n, a);
- }), t || (ys(e, "compositionstart", Fs), ys(e, "compositionend", Is), ys(e, "change", Is));
+ ms(e, t ? "change" : "input", (t) => {
+ t.target.composing || e[Ms](Ps(e.value, n, a));
+ }), (n || a) && ms(e, "change", () => {
+ e.value = Ps(e.value, n, a);
+ }), t || (ms(e, "compositionstart", As), ms(e, "compositionend", js), ms(e, "change", js));
},
mounted(e, { value: t, modifiers: { trim: n, number: r } }) {
- let i = t ?? "", a = e[Rs];
- delete e[Rs], a !== void 0 && (e.type === "text" || e.type === "textarea") && e.value !== a ? e[Ls](zs(e.value, n, r)) : e.value = i;
+ let i = t ?? "", a = e[Ns];
+ delete e[Ns], a !== void 0 && (e.type === "text" || e.type === "textarea") && e.value !== a ? e[Ms](Ps(e.value, n, r)) : e.value = i;
},
beforeUpdate(e, { value: t, oldValue: n, modifiers: { lazy: r, trim: i, number: a } }, o) {
- if (e[Ls] = Ps(o), e.composing) return;
+ if (e[Ms] = ks(o), e.composing) return;
let s = (a || e.type === "number") && !/^0\d/.test(e.value) ? ce(e.value) : e.value, c = t ?? "";
if (s === c) return;
let l = e.getRootNode();
(l instanceof Document || l instanceof ShadowRoot) && l.activeElement === e && e.type !== "range" && (r && t === n || i && e.value.trim() === c) || (e.value = c);
}
-}, Vs = {
+}, Is = {
deep: !0,
created(e, { value: t, modifiers: { number: n } }, r) {
- e._modelValue = t, ys(e, "change", () => {
- let t = Array.prototype.filter.call(e.options, (e) => e.selected).map((e) => n ? ce(Ws(e)) : Ws(e)), r = e.multiple, i = r ? p(e._modelValue) ? new Set(t) : t : t[0], a = e._pendingValue = [r, r ? d(i) ? t.slice() : t : i];
+ e._modelValue = t, ms(e, "change", () => {
+ let t = Array.prototype.filter.call(e.options, (e) => e.selected).map((e) => n ? ce(zs(e)) : zs(e)), r = e.multiple, i = r ? p(e._modelValue) ? new Set(t) : t : t[0], a = e._pendingValue = [r, r ? d(i) ? t.slice() : t : i];
try {
- e[Ls](i);
+ e[Ms](i);
} finally {
- Nn(() => {
+ Mn(() => {
e._pendingValue === a && (e._pendingValue = void 0);
});
}
- }), e[Ls] = Ps(r);
+ }), e[Ms] = ks(r);
},
mounted(e, { value: t }) {
- Us(e, t);
+ Rs(e, t);
},
beforeUpdate(e, { value: t }, n) {
- e._modelValue = t, e[Ls] = Ps(n);
+ e._modelValue = t, e[Ms] = ks(n);
},
updated(e, { value: t }) {
let n = e._pendingValue;
- e._pendingValue = void 0, n && n[0] === e.multiple && Hs(t, n[1], n[0]) || Us(e, t);
+ e._pendingValue = void 0, n && n[0] === e.multiple && Ls(t, n[1], n[0]) || Rs(e, t);
}
};
-function Hs(e, t, n) {
+function Ls(e, t, n) {
if (!n || d(e)) return we(e, t);
if (p(e)) {
if (e.size !== t.length) return !1;
@@ -3514,17 +3436,17 @@ function Hs(e, t, n) {
}
return !1;
}
-function Us(e, t) {
+function Rs(e, t) {
let n = e.multiple, r = d(t);
if (!n || r || p(t)) {
for (let i = 0, a = e.options.length; i < a; i++) {
- let a = e.options[i], o = Ws(a);
+ let a = e.options[i], o = zs(a);
if (n) {
if (r) {
let e = typeof o;
a.selected = e === "string" || e === "number" ? t.some((e) => String(e) === String(o)) : Te(t, o) > -1;
} else a.selected = t.has(o);
- } else if (we(Ws(a), t)) {
+ } else if (we(zs(a), t)) {
e.selectedIndex !== i && (e.selectedIndex = i);
return;
}
@@ -3532,15 +3454,15 @@ function Us(e, t) {
!n && e.selectedIndex !== -1 && (e.selectedIndex = -1);
}
}
-function Ws(e) {
+function zs(e) {
return "_value" in e ? e._value : e.value;
}
-var Gs = [
+var Bs = [
"ctrl",
"shift",
"alt",
"meta"
-], Ks = {
+], Vs = {
stop: (e) => e.stopPropagation(),
prevent: (e) => e.preventDefault(),
self: (e) => e.target !== e.currentTarget,
@@ -3551,18 +3473,18 @@ var Gs = [
left: (e) => "button" in e && e.button !== 0,
middle: (e) => "button" in e && e.button !== 1,
right: (e) => "button" in e && e.button !== 2,
- exact: (e, t) => Gs.some((n) => e[`${n}Key`] && !t.includes(n))
-}, qs = (e, t) => {
+ exact: (e, t) => Bs.some((n) => e[`${n}Key`] && !t.includes(n))
+}, Hs = (e, t) => {
if (!e) return e;
let n = e._withMods ||= {}, r = t.join(".");
return n[r] || (n[r] = ((n, ...r) => {
for (let e = 0; e < t.length; e++) {
- let r = Ks[t[e]];
+ let r = Vs[t[e]];
if (r && r(n, t)) return;
}
return e(n, ...r);
}));
-}, Js = {
+}, Us = {
esc: "escape",
space: " ",
up: "arrow-up",
@@ -3570,57 +3492,57 @@ var Gs = [
right: "arrow-right",
down: "arrow-down",
delete: "backspace"
-}, Ys = (e, t) => {
+}, Ws = (e, t) => {
let n = e._withKeys ||= {}, r = t.join(".");
return n[r] || (n[r] = ((n) => {
if (!("key" in n)) return;
let r = E(n.key);
- if (t.some((e) => e === r || Js[e] === r)) return e(n);
+ if (t.some((e) => e === r || Us[e] === r)) return e(n);
}));
-}, Xs = /* @__PURE__ */ s({ patchProp: js }, Fo), Zs;
-function Qs() {
- return Zs ||= wa(Xs);
+}, Gs = /* @__PURE__ */ s({ patchProp: Es }, Ao), Ks;
+function qs() {
+ return Ks ||= ba(Gs);
}
-var $s = ((...e) => {
- let t = Qs().createApp(...e), { mount: n } = t;
+var Js = ((...e) => {
+ let t = qs().createApp(...e), { mount: n } = t;
return t.mount = (e) => {
- let r = tc(e);
+ let r = Xs(e);
if (!r) return;
let i = t._component;
h(i) || i.render || i.template || (i.template = r.innerHTML), r.nodeType === 1 && (r.textContent = "");
- let a = n(r, !1, ec(r));
+ let a = n(r, !1, Ys(r));
return r instanceof Element && (r.removeAttribute("v-cloak"), r.setAttribute("data-v-app", "")), a;
}, t;
});
-function ec(e) {
+function Ys(e) {
if (e instanceof SVGElement) return "svg";
if (typeof MathMLElement == "function" && e instanceof MathMLElement) return "mathml";
}
-function tc(e) {
+function Xs(e) {
return g(e) ? document.querySelector(e) : e;
}
// node_modules/@primeuix/utils/dist/object/index.mjs
-var nc = Object.defineProperty, rc = Object.getOwnPropertySymbols, ic = Object.prototype.hasOwnProperty, ac = Object.prototype.propertyIsEnumerable, oc = (e, t, n) => t in e ? nc(e, t, {
+var Zs = Object.defineProperty, Qs = Object.getOwnPropertySymbols, $s = Object.prototype.hasOwnProperty, ec = Object.prototype.propertyIsEnumerable, tc = (e, t, n) => t in e ? Zs(e, t, {
enumerable: !0,
configurable: !0,
writable: !0,
value: n
-}) : e[t] = n, sc = (e, t) => {
- for (var n in t ||= {}) ic.call(t, n) && oc(e, n, t[n]);
- if (rc) for (var n of rc(t)) ac.call(t, n) && oc(e, n, t[n]);
+}) : e[t] = n, nc = (e, t) => {
+ for (var n in t ||= {}) $s.call(t, n) && tc(e, n, t[n]);
+ if (Qs) for (var n of Qs(t)) ec.call(t, n) && tc(e, n, t[n]);
return e;
};
-function cc(e) {
+function rc(e) {
return e == null || e === "" || Array.isArray(e) && e.length === 0 || !(e instanceof Date) && typeof e == "object" && Object.keys(e).length === 0;
}
-function lc(e, t, n = /* @__PURE__ */ new WeakSet()) {
+function ic(e, t, n = /* @__PURE__ */ new WeakSet()) {
if (e === t) return !0;
if (!e || !t || typeof e != "object" || typeof t != "object" || n.has(e) || n.has(t)) return !1;
n.add(e).add(t);
let r = Array.isArray(e), i = Array.isArray(t), a, o, s;
if (r && i) {
if (o = e.length, o != t.length) return !1;
- for (a = o; a-- !== 0;) if (!lc(e[a], t[a], n)) return !1;
+ for (a = o; a-- !== 0;) if (!ic(e[a], t[a], n)) return !1;
return !0;
}
if (r != i) return !1;
@@ -3633,26 +3555,26 @@ function lc(e, t, n = /* @__PURE__ */ new WeakSet()) {
let f = Object.keys(e);
if (o = f.length, o !== Object.keys(t).length) return !1;
for (a = o; a-- !== 0;) if (!Object.prototype.hasOwnProperty.call(t, f[a])) return !1;
- for (a = o; a-- !== 0;) if (s = f[a], !lc(e[s], t[s], n)) return !1;
+ for (a = o; a-- !== 0;) if (s = f[a], !ic(e[s], t[s], n)) return !1;
return !0;
}
-function uc(e, t) {
- return lc(e, t);
+function ac(e, t) {
+ return ic(e, t);
}
-function dc(e) {
+function oc(e) {
return typeof e == "function" && "call" in e && "apply" in e;
}
function K(e) {
- return !cc(e);
+ return !rc(e);
}
-function fc(e, t) {
+function sc(e, t) {
if (!e || !t) return null;
try {
let n = e[t];
if (K(n)) return n;
} catch {}
if (Object.keys(e).length) {
- if (dc(t)) return t(e);
+ if (oc(t)) return t(e);
if (t.indexOf(".") === -1) return e[t];
{
let n = t.split("."), r = e;
@@ -3665,29 +3587,29 @@ function fc(e, t) {
}
return null;
}
-function pc(e, t, n) {
- return n ? fc(e, n) === fc(t, n) : uc(e, t);
+function cc(e, t, n) {
+ return n ? sc(e, n) === sc(t, n) : ac(e, t);
}
-function mc(e, t) {
+function lc(e, t) {
if (e != null && t && t.length) {
- for (let n of t) if (pc(e, n)) return !0;
+ for (let n of t) if (cc(e, n)) return !0;
}
return !1;
}
-function hc(e, t = !0) {
+function uc(e, t = !0) {
return e instanceof Object && e.constructor === Object && (t || Object.keys(e).length !== 0);
}
-function gc(e = {}, t = {}) {
- let n = sc({}, e);
+function dc(e = {}, t = {}) {
+ let n = nc({}, e);
return Object.keys(t).forEach((r) => {
let i = r;
- hc(t[i]) && i in e && hc(e[i]) ? n[i] = gc(e[i], t[i]) : n[i] = t[i];
+ uc(t[i]) && i in e && uc(e[i]) ? n[i] = dc(e[i], t[i]) : n[i] = t[i];
}), n;
}
-function _c(...e) {
- return e.reduce((e, t, n) => n === 0 ? t : gc(e, t), {});
+function fc(...e) {
+ return e.reduce((e, t, n) => n === 0 ? t : dc(e, t), {});
}
-function vc(e, t) {
+function pc(e, t) {
let n = -1;
if (K(e)) try {
n = e.findLastIndex(t);
@@ -3696,42 +3618,42 @@ function vc(e, t) {
}
return n;
}
-function yc(e, ...t) {
- return dc(e) ? e(...t) : e;
+function mc(e, ...t) {
+ return oc(e) ? e(...t) : e;
}
-function bc(e, t = !0) {
+function hc(e, t = !0) {
return typeof e == "string" && (t || e !== "");
}
-function xc(e) {
- return bc(e) ? e.replace(/(-|_)/g, "").toLowerCase() : e;
+function gc(e) {
+ return hc(e) ? e.replace(/(-|_)/g, "").toLowerCase() : e;
}
-function Sc(e, t = "", n = {}) {
- let r = xc(t).split("."), i = r.shift();
- return i ? hc(e) ? Sc(yc(e[Object.keys(e).find((e) => xc(e) === i) || ""], n), r.join("."), n) : void 0 : yc(e, n);
+function _c(e, t = "", n = {}) {
+ let r = gc(t).split("."), i = r.shift();
+ return i ? uc(e) ? _c(mc(e[Object.keys(e).find((e) => gc(e) === i) || ""], n), r.join("."), n) : void 0 : mc(e, n);
}
-function Cc(e, t = !0) {
+function vc(e, t = !0) {
return Array.isArray(e) && (t || e.length !== 0);
}
-function wc(e) {
+function yc(e) {
return K(e) && !isNaN(e);
}
-function Tc(e = "") {
+function bc(e = "") {
return K(e) && e.length === 1 && !!e.match(/\S| /);
}
-function Ec(e, t) {
+function xc(e, t) {
if (t) {
let n = t.test(e);
return t.lastIndex = 0, n;
}
return !1;
}
-function Dc(...e) {
- return _c(...e);
+function Sc(...e) {
+ return fc(...e);
}
-function Oc(e) {
+function Cc(e) {
return e && e.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g, "").replace(/ {2,}/g, " ").replace(/ ([{:}]) /g, "$1").replace(/([;,]) /g, "$1").replace(/ !/g, "!").replace(/: /g, ":").trim();
}
-function kc(e) {
+function wc(e) {
if (e && /[\xC0-\xFF\u0100-\u017E]/.test(e)) {
let t = {
A: /[\xC0-\xC5\u0100\u0102\u0104]/g,
@@ -3783,14 +3705,14 @@ function kc(e) {
}
return e;
}
-function Ac(e) {
- return bc(e, !1) ? e[0].toUpperCase() + e.slice(1) : e;
+function Tc(e) {
+ return hc(e, !1) ? e[0].toUpperCase() + e.slice(1) : e;
}
-function jc(e) {
- return bc(e) ? e.replace(/(_)/g, "-").replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase() : e;
+function Ec(e) {
+ return hc(e) ? e.replace(/(_)/g, "-").replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase() : e;
}
// node_modules/@primeuix/utils/dist/eventbus/index.mjs
-function Mc() {
+function Dc() {
let e = /* @__PURE__ */ new Map();
return {
on(t, n) {
@@ -3830,24 +3752,24 @@ function q(...e) {
}
}
// node_modules/@primeuix/utils/dist/dom/index.mjs
-function Nc(e, t) {
+function Oc(e, t) {
return e ? e.classList ? e.classList.contains(t) : RegExp("(^| )" + t + "( |$)", "gi").test(e.className) : !1;
}
-function Pc(e, t) {
+function kc(e, t) {
if (e && t) {
let n = (t) => {
- Nc(e, t) || (e.classList ? e.classList.add(t) : e.className += " " + t);
+ Oc(e, t) || (e.classList ? e.classList.add(t) : e.className += " " + t);
};
[t].flat().filter(Boolean).forEach((e) => e.split(" ").forEach(n));
}
}
-function Fc() {
+function Ac() {
return window.innerWidth - document.documentElement.offsetWidth;
}
-function Ic(e) {
- typeof e == "string" ? Pc(document.body, e || "p-overflow-hidden") : (e != null && e.variableName && document.body.style.setProperty(e.variableName, Fc() + "px"), Pc(document.body, e?.className || "p-overflow-hidden"));
+function jc(e) {
+ typeof e == "string" ? kc(document.body, e || "p-overflow-hidden") : (e != null && e.variableName && document.body.style.setProperty(e.variableName, Ac() + "px"), kc(document.body, e?.className || "p-overflow-hidden"));
}
-function Lc(e, t) {
+function Mc(e, t) {
if (e && t) {
let n = (t) => {
e.classList ? e.classList.remove(t) : e.className = e.className.replace(RegExp("(^|\\b)" + t.split(" ").join("|") + "(\\b|$)", "gi"), " ");
@@ -3855,10 +3777,10 @@ function Lc(e, t) {
[t].flat().filter(Boolean).forEach((e) => e.split(" ").forEach(n));
}
}
-function Rc(e) {
- typeof e == "string" ? Lc(document.body, e || "p-overflow-hidden") : (e != null && e.variableName && document.body.style.removeProperty(e.variableName), Lc(document.body, e?.className || "p-overflow-hidden"));
+function Nc(e) {
+ typeof e == "string" ? Mc(document.body, e || "p-overflow-hidden") : (e != null && e.variableName && document.body.style.removeProperty(e.variableName), Mc(document.body, e?.className || "p-overflow-hidden"));
}
-function zc(e) {
+function Pc(e) {
for (let t of document == null ? void 0 : document.styleSheets) try {
for (let n of t?.cssRules) for (let t of n?.style) if (e.test(t)) return {
name: t,
@@ -3867,7 +3789,7 @@ function zc(e) {
} catch {}
return null;
}
-function Bc(e) {
+function Fc(e) {
let t = {
width: 0,
height: 0
@@ -3878,40 +3800,40 @@ function Bc(e) {
}
return t;
}
-function Vc() {
+function Ic() {
let e = window, t = document, n = t.documentElement, r = t.getElementsByTagName("body")[0];
return {
width: e.innerWidth || n.clientWidth || r.clientWidth,
height: e.innerHeight || n.clientHeight || r.clientHeight
};
}
-function Hc(e) {
+function Lc(e) {
return e ? Math.abs(e.scrollLeft) : 0;
}
-function Uc() {
+function Rc() {
let e = document.documentElement;
- return (window.pageXOffset || Hc(e)) - (e.clientLeft || 0);
+ return (window.pageXOffset || Lc(e)) - (e.clientLeft || 0);
}
-function Wc() {
+function zc() {
let e = document.documentElement;
return (window.pageYOffset || e.scrollTop) - (e.clientTop || 0);
}
-function Gc(e) {
+function Bc(e) {
return e ? getComputedStyle(e).direction === "rtl" : !1;
}
-function Kc(e, t, n = !0) {
+function Vc(e, t, n = !0) {
if (e) {
let r = e.offsetParent ? {
width: e.offsetWidth,
height: e.offsetHeight
- } : Bc(e), i = r.height, a = r.width, o = t.offsetHeight, s = t.offsetWidth, c = t.getBoundingClientRect(), l = Wc(), u = Uc(), d = Vc(), f, p, m = "top";
- c.top + o + i > d.height ? (f = c.top + l - i, m = "bottom", f < 0 && (f = l)) : f = o + c.top + l, p = c.left + a > d.width ? Math.max(0, c.left + u + s - a) : c.left + u, Gc(e) ? e.style.insetInlineEnd = p + "px" : e.style.insetInlineStart = p + "px", e.style.top = f + "px", e.style.transformOrigin = m, n && (e.style.marginTop = m === "bottom" ? `calc(${zc(/-anchor-gutter$/)?.value ?? "2px"} * -1)` : zc(/-anchor-gutter$/)?.value ?? "");
+ } : Fc(e), i = r.height, a = r.width, o = t.offsetHeight, s = t.offsetWidth, c = t.getBoundingClientRect(), l = zc(), u = Rc(), d = Ic(), f, p, m = "top";
+ c.top + o + i > d.height ? (f = c.top + l - i, m = "bottom", f < 0 && (f = l)) : f = o + c.top + l, p = c.left + a > d.width ? Math.max(0, c.left + u + s - a) : c.left + u, Bc(e) ? e.style.insetInlineEnd = p + "px" : e.style.insetInlineStart = p + "px", e.style.top = f + "px", e.style.transformOrigin = m, n && (e.style.marginTop = m === "bottom" ? `calc(${Pc(/-anchor-gutter$/)?.value ?? "2px"} * -1)` : Pc(/-anchor-gutter$/)?.value ?? "");
}
}
-function qc(e, t) {
+function Hc(e, t) {
e && (typeof t == "string" ? e.style.cssText = t : Object.entries(t || {}).forEach(([t, n]) => e.style[t] = n));
}
-function Jc(e, t) {
+function Uc(e, t) {
if (e instanceof HTMLElement) {
let n = e.offsetWidth;
if (t) {
@@ -3922,33 +3844,33 @@ function Jc(e, t) {
}
return 0;
}
-function Yc(e, t, n = !0, r = void 0) {
+function Wc(e, t, n = !0, r = void 0) {
if (e) {
let i = e.offsetParent ? {
width: e.offsetWidth,
height: e.offsetHeight
- } : Bc(e), a = t.offsetHeight, o = t.getBoundingClientRect(), s = Vc(), c, l, u = r ?? "top";
+ } : Fc(e), a = t.offsetHeight, o = t.getBoundingClientRect(), s = Ic(), c, l, u = r ?? "top";
if (!r && o.top + a + i.height > s.height ? (c = -1 * i.height, u = "bottom", o.top + c < 0 && (c = -1 * o.top)) : c = a, l = i.width > s.width ? o.left * -1 : o.left + i.width > s.width ? (o.left + i.width - s.width) * -1 : 0, e.style.top = c + "px", e.style.insetInlineStart = l + "px", e.style.transformOrigin = u, n) {
- let t = zc(/-anchor-gutter$/)?.value;
+ let t = Pc(/-anchor-gutter$/)?.value;
e.style.marginTop = u === "bottom" ? `calc(${t ?? "2px"} * -1)` : t ?? "";
}
}
}
-function Xc(e) {
+function Gc(e) {
if (e) {
let t = e.parentNode;
return t && t instanceof ShadowRoot && t.host && (t = t.host), t;
}
return null;
}
-function Zc(e) {
- return !!(e != null && e.nodeName && Xc(e));
+function Kc(e) {
+ return !!(e != null && e.nodeName && Gc(e));
}
-function Qc(e) {
+function qc(e) {
return typeof Element < "u" ? e instanceof Element : typeof e == "object" && !!e && e.nodeType === 1 && typeof e.nodeName == "string";
}
-function $c(e, t = {}) {
- if (Qc(e)) {
+function Jc(e, t = {}) {
+ if (qc(e)) {
let n = (t, r) => {
var i;
let a = (i = e?.$attrs) != null && i[t] ? [e?.$attrs?.[t]] : [];
@@ -3967,34 +3889,34 @@ function $c(e, t = {}) {
Object.entries(t).forEach(([t, r]) => {
if (r != null) {
let i = t.match(/^on(.+)/);
- i ? e.addEventListener(i[1].toLowerCase(), r) : t === "p-bind" || t === "pBind" ? $c(e, r) : (r = t === "class" ? [...new Set(n("class", r))].join(" ").trim() : t === "style" ? n("style", r).join(";").trim() : r, (e.$attrs = e.$attrs || {}) && (e.$attrs[t] = r), e.setAttribute(t, r));
+ i ? e.addEventListener(i[1].toLowerCase(), r) : t === "p-bind" || t === "pBind" ? Jc(e, r) : (r = t === "class" ? [...new Set(n("class", r))].join(" ").trim() : t === "style" ? n("style", r).join(";").trim() : r, (e.$attrs = e.$attrs || {}) && (e.$attrs[t] = r), e.setAttribute(t, r));
}
});
}
}
-function el(e, t = {}, ...n) {
+function Yc(e, t = {}, ...n) {
if (e) {
let r = document.createElement(e);
- return $c(r, t), r.append(...n), r;
+ return Jc(r, t), r.append(...n), r;
}
}
-function tl(e, t) {
- return Qc(e) ? Array.from(e.querySelectorAll(t)) : [];
+function Xc(e, t) {
+ return qc(e) ? Array.from(e.querySelectorAll(t)) : [];
}
-function nl(e, t) {
- return Qc(e) ? e.matches(t) ? e : e.querySelector(t) : null;
+function Zc(e, t) {
+ return qc(e) ? e.matches(t) ? e : e.querySelector(t) : null;
}
function J(e, t) {
e && document.activeElement !== e && e.focus(t);
}
-function rl(e, t) {
- if (Qc(e)) {
+function Qc(e, t) {
+ if (qc(e)) {
let n = e.getAttribute(t);
return isNaN(n) ? n === "true" || n === "false" ? n === "true" : n : +n;
}
}
-function il(e, t = "") {
- let n = tl(e, `button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${t},
+function $c(e, t = "") {
+ let n = Xc(e, `button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${t},
[href]:not([tabindex = "-1"]):not([style*="display:none"]):not([hidden])${t},
input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${t},
select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${t},
@@ -4004,27 +3926,27 @@ function il(e, t = "") {
for (let e of n) getComputedStyle(e).display != "none" && getComputedStyle(e).visibility != "hidden" && r.push(e);
return r;
}
-function al(e, t) {
- let n = il(e, t);
+function el(e, t) {
+ let n = $c(e, t);
return n.length > 0 ? n[0] : null;
}
-function ol(e) {
+function tl(e) {
if (e) {
let t = e.offsetHeight, n = getComputedStyle(e);
return t -= parseFloat(n.paddingTop) + parseFloat(n.paddingBottom) + parseFloat(n.borderTopWidth) + parseFloat(n.borderBottomWidth), t;
}
return 0;
}
-function sl(e, t) {
- let n = il(e, t);
+function nl(e, t) {
+ let n = $c(e, t);
return n.length > 0 ? n[n.length - 1] : null;
}
-function cl(e) {
+function rl(e) {
if (e) {
let t = e.getBoundingClientRect();
return {
top: t.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),
- left: t.left + (window.pageXOffset || Hc(document.documentElement) || Hc(document.body) || 0)
+ left: t.left + (window.pageXOffset || Lc(document.documentElement) || Lc(document.body) || 0)
};
}
return {
@@ -4032,7 +3954,7 @@ function cl(e) {
left: "auto"
};
}
-function ll(e, t) {
+function il(e, t) {
if (e) {
let n = e.offsetHeight;
if (t) {
@@ -4043,14 +3965,14 @@ function ll(e, t) {
}
return 0;
}
-function ul(e, t = []) {
- let n = Xc(e);
- return n === null ? t : ul(n, t.concat([n]));
+function al(e, t = []) {
+ let n = Gc(e);
+ return n === null ? t : al(n, t.concat([n]));
}
-function dl(e) {
+function ol(e) {
let t = [];
if (e) {
- let n = ul(e), r = /(auto|scroll)/, i = (e) => {
+ let n = al(e), r = /(auto|scroll)/, i = (e) => {
try {
let t = window.getComputedStyle(e, null);
return r.test(t.getPropertyValue("overflow")) || r.test(t.getPropertyValue("overflowX")) || r.test(t.getPropertyValue("overflowY"));
@@ -4063,7 +3985,7 @@ function dl(e) {
if (n) {
let r = n.split(",");
for (let n of r) {
- let r = nl(e, n);
+ let r = Zc(e, n);
r && i(r) && t.push(r);
}
}
@@ -4072,21 +3994,21 @@ function dl(e) {
}
return t;
}
-function fl(e) {
+function sl(e) {
if (e) {
let t = e.offsetWidth, n = getComputedStyle(e);
return t -= parseFloat(n.paddingLeft) + parseFloat(n.paddingRight) + parseFloat(n.borderLeftWidth) + parseFloat(n.borderRightWidth), t;
}
return 0;
}
-function pl() {
+function cl() {
return /(android)/i.test(navigator.userAgent);
}
-function ml() {
+function ll() {
return !!(typeof window < "u" && window.document && window.document.createElement);
}
-function hl(e, t = "") {
- return Qc(e) ? e.matches(`button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${t},
+function ul(e, t = "") {
+ return qc(e) ? e.matches(`button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${t},
[href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${t},
input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${t},
select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${t},
@@ -4094,22 +4016,22 @@ function hl(e, t = "") {
[tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${t},
[contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])${t}`) : !1;
}
-function gl(e) {
+function dl(e) {
return !!(e && e.offsetParent != null);
}
-function _l() {
+function fl() {
return "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
}
-function vl(e, t = "", n) {
- Qc(e) && n != null && e.setAttribute(t, n);
+function pl(e, t = "", n) {
+ qc(e) && n != null && e.setAttribute(t, n);
}
// node_modules/@primeuix/utils/dist/uuid/index.mjs
-var yl = {};
-function bl(e = "pui_id_") {
- return Object.hasOwn(yl, e) || (yl[e] = 0), yl[e]++, `${e}${yl[e]}`;
+var ml = {};
+function hl(e = "pui_id_") {
+ return Object.hasOwn(ml, e) || (ml[e] = 0), ml[e]++, `${e}${ml[e]}`;
}
// node_modules/@primeuix/utils/dist/zindex/index.mjs
-function xl() {
+function gl() {
let e = [], t = (t, n, r = 999) => {
let a = i(t, n, r), o = a.value + (a.key === t ? 0 : r) + 1;
return e.push({
@@ -4133,58 +4055,58 @@ function xl() {
getCurrent: (e) => r(e, !0)
};
}
-var Sl = xl(), Cl = Object.defineProperty, wl = Object.defineProperties, Tl = Object.getOwnPropertyDescriptors, El = Object.getOwnPropertySymbols, Dl = Object.prototype.hasOwnProperty, Ol = Object.prototype.propertyIsEnumerable, kl = (e, t, n) => t in e ? Cl(e, t, {
+var _l = gl(), vl = Object.defineProperty, yl = Object.defineProperties, bl = Object.getOwnPropertyDescriptors, xl = Object.getOwnPropertySymbols, Sl = Object.prototype.hasOwnProperty, Cl = Object.prototype.propertyIsEnumerable, wl = (e, t, n) => t in e ? vl(e, t, {
enumerable: !0,
configurable: !0,
writable: !0,
value: n
-}) : e[t] = n, Al = (e, t) => {
- for (var n in t ||= {}) Dl.call(t, n) && kl(e, n, t[n]);
- if (El) for (var n of El(t)) Ol.call(t, n) && kl(e, n, t[n]);
+}) : e[t] = n, Tl = (e, t) => {
+ for (var n in t ||= {}) Sl.call(t, n) && wl(e, n, t[n]);
+ if (xl) for (var n of xl(t)) Cl.call(t, n) && wl(e, n, t[n]);
return e;
-}, jl = (e, t) => wl(e, Tl(t)), Ml = (e, t) => {
+}, El = (e, t) => yl(e, bl(t)), Dl = (e, t) => {
var n = {};
- for (var r in e) Dl.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);
- if (e != null && El) for (var r of El(e)) t.indexOf(r) < 0 && Ol.call(e, r) && (n[r] = e[r]);
+ for (var r in e) Sl.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);
+ if (e != null && xl) for (var r of xl(e)) t.indexOf(r) < 0 && Cl.call(e, r) && (n[r] = e[r]);
return n;
-}, Nl = Mc(), Pl = /{([^}]*)}/g, Fl = /(\d+\s+[\+\-\*\/]\s+\d+)/g, Il = /var\([^)]+\)/g;
-function Ll(e) {
- return bc(e) ? e.replace(/[A-Z]/g, (e, t) => t === 0 ? e : "." + e.toLowerCase()).toLowerCase() : e;
+}, Ol = Dc(), kl = /{([^}]*)}/g, Al = /(\d+\s+[\+\-\*\/]\s+\d+)/g, jl = /var\([^)]+\)/g;
+function Ml(e) {
+ return hc(e) ? e.replace(/[A-Z]/g, (e, t) => t === 0 ? e : "." + e.toLowerCase()).toLowerCase() : e;
}
-function Rl(e) {
- return hc(e) && e.hasOwnProperty("$value") && e.hasOwnProperty("$type") ? e.$value : e;
+function Nl(e) {
+ return uc(e) && e.hasOwnProperty("$value") && e.hasOwnProperty("$type") ? e.$value : e;
}
-function zl(e) {
+function Pl(e) {
return e.replaceAll(/ /g, "").replace(/[^\w]/g, "-");
}
-function Bl(e = "", t = "") {
- return zl(`${bc(e, !1) && bc(t, !1) ? `${e}-` : e}${t}`);
+function Fl(e = "", t = "") {
+ return Pl(`${hc(e, !1) && hc(t, !1) ? `${e}-` : e}${t}`);
}
-function Vl(e = "", t = "") {
- return `--${Bl(e, t)}`;
+function Il(e = "", t = "") {
+ return `--${Fl(e, t)}`;
}
-function Hl(e = "") {
+function Ll(e = "") {
return ((e.match(/{/g) || []).length + (e.match(/}/g) || []).length) % 2 != 0;
}
-function Ul(e, t = "", n = "", r = [], i) {
- if (bc(e)) {
+function Rl(e, t = "", n = "", r = [], i) {
+ if (hc(e)) {
let t = e.trim();
- if (Hl(t)) return;
- if (Ec(t, Pl)) {
- let e = t.replaceAll(Pl, (e) => `var(${Vl(n, jc(e.replace(/{|}/g, "").split(".").filter((e) => !r.some((t) => Ec(e, t))).join("-")))}${K(i) ? `, ${i}` : ""})`);
- return Ec(e.replace(Il, "0"), Fl) ? `calc(${e})` : e;
+ if (Ll(t)) return;
+ if (xc(t, kl)) {
+ let e = t.replaceAll(kl, (e) => `var(${Il(n, Ec(e.replace(/{|}/g, "").split(".").filter((e) => !r.some((t) => xc(e, t))).join("-")))}${K(i) ? `, ${i}` : ""})`);
+ return xc(e.replace(jl, "0"), Al) ? `calc(${e})` : e;
}
return t;
}
- if (wc(e)) return e;
+ if (yc(e)) return e;
}
-function Wl(e, t, n) {
- bc(t, !1) && e.push(`${t}:${n};`);
+function zl(e, t, n) {
+ hc(t, !1) && e.push(`${t}:${n};`);
}
-function Gl(e, t) {
+function Bl(e, t) {
return e ? `${e}{${t}}` : "";
}
-function Kl(e, t) {
+function Vl(e, t) {
if (e.indexOf("dt(") === -1) return e;
function n(e, t) {
let n = [], i = 0, a = "", o = null, s = 0;
@@ -4192,7 +4114,7 @@ function Kl(e, t) {
let c = e[i];
if ((c === "\"" || c === "'" || c === "`") && e[i - 1] !== "\\" && (o = o === c ? null : c), !o && (c === "(" && s++, c === ")" && s--, (c === "," || i === e.length) && s === 0)) {
let e = a.trim();
- e.startsWith("dt(") ? n.push(Kl(e, t)) : n.push(r(e)), a = "", i++;
+ e.startsWith("dt(") ? n.push(Vl(e, t)) : n.push(r(e)), a = "", i++;
} else c !== void 0 && (a += c), i++;
}
return n;
@@ -4216,24 +4138,24 @@ function Kl(e, t) {
}
return e;
}
-var ql = (e) => {
- let t = Y.getTheme(), n = Yl(t, e, void 0, "variable");
+var Hl = (e) => {
+ let t = Y.getTheme(), n = Wl(t, e, void 0, "variable");
return {
name: n?.match(/--[\w-]+/g)?.[0],
variable: n,
- value: Yl(t, e, void 0, "value")
+ value: Wl(t, e, void 0, "value")
};
-}, Jl = (...e) => Yl(Y.getTheme(), ...e), Yl = (e = {}, t, n, r) => {
+}, Ul = (...e) => Wl(Y.getTheme(), ...e), Wl = (e = {}, t, n, r) => {
if (t) {
- let { variable: i, options: a } = Y.defaults || {}, { prefix: o, transform: s } = e?.options || a || {}, c = Ec(t, Pl) ? t : `{${t}}`;
- return r === "value" || cc(r) && s === "strict" ? Y.getTokenValue(t) : Ul(c, void 0, o, [i.excludedKeyRegex], n);
+ let { variable: i, options: a } = Y.defaults || {}, { prefix: o, transform: s } = e?.options || a || {}, c = xc(t, kl) ? t : `{${t}}`;
+ return r === "value" || rc(r) && s === "strict" ? Y.getTokenValue(t) : Rl(c, void 0, o, [i.excludedKeyRegex], n);
}
return "";
};
-function Xl(e, ...t) {
- return e instanceof Array ? Kl(e.reduce((e, n, r) => e + n + (yc(t[r], { dt: Jl }) ?? ""), ""), Jl) : yc(e, { dt: Jl });
+function Gl(e, ...t) {
+ return e instanceof Array ? Vl(e.reduce((e, n, r) => e + n + (mc(t[r], { dt: Ul }) ?? ""), ""), Ul) : mc(e, { dt: Ul });
}
-function Zl(e, t = {}) {
+function Kl(e, t = {}) {
let n = Y.defaults.variable, { prefix: r = n.prefix, selector: i = n.selector, excludedKeyRegex: a = n.excludedKeyRegex } = t, o = [], s = [], c = [{
node: e,
path: r
@@ -4241,13 +4163,13 @@ function Zl(e, t = {}) {
for (; c.length;) {
let { node: e, path: t } = c.pop();
for (let n in e) {
- let i = e[n], l = Rl(i), u = Ec(n, a) ? Bl(t) : Bl(t, jc(n));
- if (hc(l)) c.push({
+ let i = e[n], l = Nl(i), u = xc(n, a) ? Fl(t) : Fl(t, Ec(n));
+ if (uc(l)) c.push({
node: l,
path: u
});
else {
- Wl(s, Vl(u), Ul(l, u, r, [a]));
+ zl(s, Il(u), Rl(l, u, r, [a]));
let e = u;
r && e.startsWith(r + "-") && (e = e.slice(r.length + 1)), o.push(e.replace(/-/g, "."));
}
@@ -4258,10 +4180,10 @@ function Zl(e, t = {}) {
value: s,
tokens: o,
declarations: l,
- css: Gl(i, l)
+ css: Bl(i, l)
};
}
-var Ql = {
+var ql = {
regex: {
rules: {
class: {
@@ -4318,12 +4240,12 @@ var Ql = {
}
},
_toVariables(e, t) {
- return Zl(e, { prefix: t?.prefix });
+ return Kl(e, { prefix: t?.prefix });
},
getCommon({ name: e = "", theme: t = {}, params: n, set: r, defaults: i }) {
let { preset: a, options: o } = t, s, c, l, u, d, f, p;
if (K(a) && o.transform !== "strict") {
- let { primitive: t, semantic: n, extend: m } = a, h = n || {}, { colorScheme: g } = h, _ = Ml(h, ["colorScheme"]), v = m || {}, { colorScheme: y } = v, b = Ml(v, ["colorScheme"]), x = g || {}, { dark: S } = x, C = Ml(x, ["dark"]), w = y || {}, { dark: ee } = w, te = Ml(w, ["dark"]), ne = K(t) ? this._toVariables({ primitive: t }, o) : {}, T = K(_) ? this._toVariables({ semantic: _ }, o) : {}, re = K(C) ? this._toVariables({ light: C }, o) : {}, E = K(S) ? this._toVariables({ dark: S }, o) : {}, ie = K(b) ? this._toVariables({ semantic: b }, o) : {}, ae = K(te) ? this._toVariables({ light: te }, o) : {}, D = K(ee) ? this._toVariables({ dark: ee }, o) : {}, [oe, se] = [ne.declarations ?? "", ne.tokens], [ce, le] = [T.declarations ?? "", T.tokens || []], [ue, de] = [re.declarations ?? "", re.tokens || []], [fe, pe] = [E.declarations ?? "", E.tokens || []], [me, he] = [ie.declarations ?? "", ie.tokens || []], [ge, O] = [ae.declarations ?? "", ae.tokens || []], [_e, ve] = [D.declarations ?? "", D.tokens || []];
+ let { primitive: t, semantic: n, extend: m } = a, h = n || {}, { colorScheme: g } = h, _ = Dl(h, ["colorScheme"]), v = m || {}, { colorScheme: y } = v, b = Dl(v, ["colorScheme"]), x = g || {}, { dark: S } = x, C = Dl(x, ["dark"]), w = y || {}, { dark: ee } = w, te = Dl(w, ["dark"]), ne = K(t) ? this._toVariables({ primitive: t }, o) : {}, T = K(_) ? this._toVariables({ semantic: _ }, o) : {}, re = K(C) ? this._toVariables({ light: C }, o) : {}, E = K(S) ? this._toVariables({ dark: S }, o) : {}, ie = K(b) ? this._toVariables({ semantic: b }, o) : {}, ae = K(te) ? this._toVariables({ light: te }, o) : {}, D = K(ee) ? this._toVariables({ dark: ee }, o) : {}, [oe, se] = [ne.declarations ?? "", ne.tokens], [ce, le] = [T.declarations ?? "", T.tokens || []], [ue, de] = [re.declarations ?? "", re.tokens || []], [fe, pe] = [E.declarations ?? "", E.tokens || []], [me, he] = [ie.declarations ?? "", ie.tokens || []], [ge, O] = [ae.declarations ?? "", ae.tokens || []], [_e, ve] = [D.declarations ?? "", D.tokens || []];
s = this.transformCSS(e, oe, "light", "variable", o, r, i), c = se, l = `${this.transformCSS(e, `${ce}${ue}`, "light", "variable", o, r, i)}${this.transformCSS(e, `${fe}`, "dark", "variable", o, r, i)}`, u = [.../* @__PURE__ */ new Set([
...le,
...de,
@@ -4332,7 +4254,7 @@ var Ql = {
...he,
...O,
...ve
- ])], p = yc(a.css, { dt: Jl });
+ ])], p = mc(a.css, { dt: Ul });
}
return {
primitive: {
@@ -4353,16 +4275,16 @@ var Ql = {
getPreset({ name: e = "", preset: t = {}, options: n, params: r, set: i, defaults: a, selector: o }) {
let s, c, l;
if (K(t) && n.transform !== "strict") {
- let r = e.replace("-directive", ""), u = t, { colorScheme: d, extend: f, css: p } = u, m = Ml(u, [
+ let r = e.replace("-directive", ""), u = t, { colorScheme: d, extend: f, css: p } = u, m = Dl(u, [
"colorScheme",
"extend",
"css"
- ]), h = f || {}, { colorScheme: g } = h, _ = Ml(h, ["colorScheme"]), v = d || {}, { dark: y } = v, b = Ml(v, ["dark"]), x = g || {}, { dark: S } = x, C = Ml(x, ["dark"]), w = K(m) ? this._toVariables({ [r]: Al(Al({}, m), _) }, n) : {}, ee = K(b) ? this._toVariables({ [r]: Al(Al({}, b), C) }, n) : {}, te = K(y) ? this._toVariables({ [r]: Al(Al({}, y), S) }, n) : {}, [ne, T] = [w.declarations ?? "", w.tokens || []], [re, E] = [ee.declarations ?? "", ee.tokens || []], [ie, ae] = [te.declarations ?? "", te.tokens || []];
+ ]), h = f || {}, { colorScheme: g } = h, _ = Dl(h, ["colorScheme"]), v = d || {}, { dark: y } = v, b = Dl(v, ["dark"]), x = g || {}, { dark: S } = x, C = Dl(x, ["dark"]), w = K(m) ? this._toVariables({ [r]: Tl(Tl({}, m), _) }, n) : {}, ee = K(b) ? this._toVariables({ [r]: Tl(Tl({}, b), C) }, n) : {}, te = K(y) ? this._toVariables({ [r]: Tl(Tl({}, y), S) }, n) : {}, [ne, T] = [w.declarations ?? "", w.tokens || []], [re, E] = [ee.declarations ?? "", ee.tokens || []], [ie, ae] = [te.declarations ?? "", te.tokens || []];
s = `${this.transformCSS(r, `${ne}${re}`, "light", "variable", n, i, a, o)}${this.transformCSS(r, ie, "dark", "variable", n, i, a, o)}`, c = [.../* @__PURE__ */ new Set([
...T,
...E,
...ae
- ])], l = yc(p, { dt: Jl });
+ ])], l = mc(p, { dt: Ul });
}
return {
css: s,
@@ -4400,7 +4322,7 @@ var Ql = {
},
getLayerOrder(e, t = {}, n, r) {
let { cssLayer: i } = t;
- return i ? `@layer ${yc(i.order || i.name || "primeui", n)}` : "";
+ return i ? `@layer ${mc(i.order || i.name || "primeui", n)}` : "";
},
getCommonStyleSheet({ name: e = "", theme: t = {}, params: n, props: r = {}, set: i, defaults: a }) {
let o = this.getCommon({
@@ -4411,8 +4333,8 @@ var Ql = {
defaults: a
}), s = Object.entries(r).reduce((e, [t, n]) => e.push(`${t}="${n}"`) && e, []).join(" ");
return Object.entries(o || {}).reduce((e, [t, n]) => {
- if (hc(n) && Object.hasOwn(n, "css")) {
- let r = Oc(n.css), i = `${t}-variables`;
+ if (uc(n) && Object.hasOwn(n, "css")) {
+ let r = Cc(n.css), i = `${t}-variables`;
e.push(``);
}
return e;
@@ -4426,7 +4348,7 @@ var Ql = {
set: i,
defaults: a
}, s = (e.includes("-directive") ? this.getPresetD(o) : this.getPresetC(o))?.css, c = Object.entries(r).reduce((e, [t, n]) => e.push(`${t}="${n}"`) && e, []).join(" ");
- return s ? `` : "";
+ return s ? `` : "";
},
createTokens(e = {}, t, n = "", r = "", i = {}) {
let a = function(e, t = {}, n = []) {
@@ -4438,16 +4360,16 @@ var Ql = {
};
n.push(this.path), t.name = this.path, t.binding ||= {};
let r = this.value;
- if (typeof this.value == "string" && Pl.test(this.value)) {
- let i = this.value.trim().replace(Pl, (r) => {
+ if (typeof this.value == "string" && kl.test(this.value)) {
+ let i = this.value.trim().replace(kl, (r) => {
let i = r.slice(1, -1), a = this.tokens[i];
if (!a) return console.warn(`Token not found for path: ${i}`), "__UNRESOLVED__";
let o = a.computed(e, t, n);
return Array.isArray(o) && o.length === 2 ? `light-dark(${o[0].value},${o[1].value})` : o?.value ?? "__UNRESOLVED__";
});
- r = Fl.test(i.replace(Il, "0")) ? `calc(${i})` : i;
+ r = Al.test(i.replace(jl, "0")) ? `calc(${i})` : i;
}
- return cc(t.binding) && delete t.binding, n.pop(), {
+ return rc(t.binding) && delete t.binding, n.pop(), {
colorScheme: e,
path: this.path,
paths: t,
@@ -4455,8 +4377,8 @@ var Ql = {
};
}, o = (e, n, r) => {
Object.entries(e).forEach(([e, s]) => {
- let c = Ec(e, t.variable.excludedKeyRegex) ? n : n ? `${n}.${Ll(e)}` : Ll(e), l = r ? `${r}.${e}` : e;
- hc(s) ? o(s, c, l) : (i[c] || (i[c] = {
+ let c = xc(e, t.variable.excludedKeyRegex) ? n : n ? `${n}.${Ml(e)}` : Ml(e), l = r ? `${r}.${e}` : e;
+ uc(s) ? o(s, c, l) : (i[c] || (i[c] = {
paths: [],
computed: (e, t = {}, n = []) => {
if (i[c].paths.length === 1) return i[c].paths[0].computed(i[c].paths[0].scheme, t.binding, n);
@@ -4478,31 +4400,31 @@ var Ql = {
return o(e, n, r), i;
},
getTokenValue(e, t, n) {
- let r = ((e) => e.split(".").filter((e) => !Ec(e.toLowerCase(), n.variable.excludedKeyRegex)).join("."))(t), i = t.includes("colorScheme.light") ? "light" : t.includes("colorScheme.dark") ? "dark" : void 0, a = [e[r]?.computed(i)].flat().filter((e) => e);
+ let r = ((e) => e.split(".").filter((e) => !xc(e.toLowerCase(), n.variable.excludedKeyRegex)).join("."))(t), i = t.includes("colorScheme.light") ? "light" : t.includes("colorScheme.dark") ? "dark" : void 0, a = [e[r]?.computed(i)].flat().filter((e) => e);
return a.length === 1 ? a[0].value : a.reduce((e = {}, t) => {
let n = t, { colorScheme: r } = n;
- return e[r] = Ml(n, ["colorScheme"]), e;
+ return e[r] = Dl(n, ["colorScheme"]), e;
}, void 0);
},
getSelectorRule(e, t, n, r) {
- return n === "class" || n === "attr" ? Gl(K(t) ? `${e}${t},${e} ${t}` : e, r) : Gl(e, Gl(t ?? ":root,:host", r));
+ return n === "class" || n === "attr" ? Bl(K(t) ? `${e}${t},${e} ${t}` : e, r) : Bl(e, Bl(t ?? ":root,:host", r));
},
transformCSS(e, t, n, r, i = {}, a, o, s) {
if (K(t)) {
let { cssLayer: c } = i;
if (r !== "style") {
let e = this.getColorSchemeOption(i, o);
- t = n === "dark" ? e.reduce((e, { type: n, selector: r }) => (K(r) && (e += r.includes("[CSS]") ? r.replace("[CSS]", t) : this.getSelectorRule(r, s, n, t)), e), "") : Gl(s ?? ":root,:host", t);
+ t = n === "dark" ? e.reduce((e, { type: n, selector: r }) => (K(r) && (e += r.includes("[CSS]") ? r.replace("[CSS]", t) : this.getSelectorRule(r, s, n, t)), e), "") : Bl(s ?? ":root,:host", t);
}
if (c) {
let n = {
name: "primeui",
order: "primeui"
};
- hc(c) && (n.name = yc(c.name, {
+ uc(c) && (n.name = mc(c.name, {
name: e,
type: r
- })), K(n.name) && (t = Gl(`@layer ${n.name}`, t), a?.layerNames(n.name));
+ })), K(n.name) && (t = Bl(`@layer ${n.name}`, t), a?.layerNames(n.name));
}
return t;
}
@@ -4528,7 +4450,7 @@ var Ql = {
_tokens: {},
update(e = {}) {
let { theme: t } = e;
- t && (this._theme = jl(Al({}, t), { options: Al(Al({}, this.defaults.options), t.options) }), this._tokens = Ql.createTokens(this.preset, this.defaults), this.clearLoadedStyleNames());
+ t && (this._theme = El(Tl({}, t), { options: Tl(Tl({}, this.defaults.options), t.options) }), this._tokens = ql.createTokens(this.preset, this.defaults), this.clearLoadedStyleNames());
},
get theme() {
return this._theme;
@@ -4546,19 +4468,19 @@ var Ql = {
return this.theme;
},
setTheme(e) {
- this.update({ theme: e }), Nl.emit("theme:change", e);
+ this.update({ theme: e }), Ol.emit("theme:change", e);
},
getPreset() {
return this.preset;
},
setPreset(e) {
- this._theme = jl(Al({}, this.theme), { preset: e }), this._tokens = Ql.createTokens(e, this.defaults), this.clearLoadedStyleNames(), Nl.emit("preset:change", e), Nl.emit("theme:change", this.theme);
+ this._theme = El(Tl({}, this.theme), { preset: e }), this._tokens = ql.createTokens(e, this.defaults), this.clearLoadedStyleNames(), Ol.emit("preset:change", e), Ol.emit("theme:change", this.theme);
},
getOptions() {
return this.options;
},
setOptions(e) {
- this._theme = jl(Al({}, this.theme), { options: e }), this.clearLoadedStyleNames(), Nl.emit("options:change", e), Nl.emit("theme:change", this.theme);
+ this._theme = El(Tl({}, this.theme), { options: e }), this.clearLoadedStyleNames(), Ol.emit("options:change", e), Ol.emit("theme:change", this.theme);
},
getLayerNames() {
return [...this._layerNames];
@@ -4582,10 +4504,10 @@ var Ql = {
this._loadedStyleNames.clear();
},
getTokenValue(e) {
- return Ql.getTokenValue(this.tokens, e, this.defaults);
+ return ql.getTokenValue(this.tokens, e, this.defaults);
},
getCommon(e = "", t) {
- return Ql.getCommon({
+ return ql.getCommon({
name: e,
theme: this.theme,
params: t,
@@ -4601,7 +4523,7 @@ var Ql = {
defaults: this.defaults,
set: { layerNames: this.setLayerNames.bind(this) }
};
- return Ql.getPresetC(n);
+ return ql.getPresetC(n);
},
getDirective(e = "", t) {
let n = {
@@ -4611,7 +4533,7 @@ var Ql = {
defaults: this.defaults,
set: { layerNames: this.setLayerNames.bind(this) }
};
- return Ql.getPresetD(n);
+ return ql.getPresetD(n);
},
getCustomPreset(e = "", t, n, r) {
let i = {
@@ -4623,16 +4545,16 @@ var Ql = {
defaults: this.defaults,
set: { layerNames: this.setLayerNames.bind(this) }
};
- return Ql.getPreset(i);
+ return ql.getPreset(i);
},
getLayerOrderCSS(e = "") {
- return Ql.getLayerOrder(e, this.options, { names: this.getLayerNames() }, this.defaults);
+ return ql.getLayerOrder(e, this.options, { names: this.getLayerNames() }, this.defaults);
},
transformCSS(e = "", t, n = "style", r) {
- return Ql.transformCSS(e, t, r, n, this.options, { layerNames: this.setLayerNames.bind(this) }, this.defaults);
+ return ql.transformCSS(e, t, r, n, this.options, { layerNames: this.setLayerNames.bind(this) }, this.defaults);
},
getCommonStyleSheet(e = "", t, n = {}) {
- return Ql.getCommonStyleSheet({
+ return ql.getCommonStyleSheet({
name: e,
theme: this.theme,
params: t,
@@ -4642,7 +4564,7 @@ var Ql = {
});
},
getStyleSheet(e, t, n = {}) {
- return Ql.getStyleSheet({
+ return ql.getStyleSheet({
name: e,
theme: this.theme,
params: t,
@@ -4658,9 +4580,9 @@ var Ql = {
this._loadingStyles.add(e);
},
onStyleLoaded(e, { name: t }) {
- this._loadingStyles.size && (this._loadingStyles.delete(t), Nl.emit(`theme:${t}:load`, e), !this._loadingStyles.size && Nl.emit("theme:load"));
+ this._loadingStyles.size && (this._loadingStyles.delete(t), Ol.emit(`theme:${t}:load`, e), !this._loadingStyles.size && Ol.emit("theme:load"));
}
-}, $l = {
+}, Jl = {
STARTS_WITH: "startsWith",
CONTAINS: "contains",
NOT_CONTAINS: "notContains",
@@ -4678,10 +4600,10 @@ var Ql = {
DATE_BEFORE: "dateBefore",
DATE_AFTER: "dateAfter"
};
-function eu(e, t) {
+function Yl(e, t) {
var n = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
if (!n) {
- if (Array.isArray(e) || (n = tu(e)) || t) {
+ if (Array.isArray(e) || (n = Xl(e)) || t) {
n && (e = n);
var r = 0, i = function() {};
return {
@@ -4721,23 +4643,23 @@ function eu(e, t) {
}
};
}
-function tu(e, t) {
+function Xl(e, t) {
if (e) {
- if (typeof e == "string") return nu(e, t);
+ if (typeof e == "string") return Zl(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? nu(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Zl(e, t) : void 0;
}
}
-function nu(e, t) {
+function Zl(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-var ru = {
+var Ql = {
filter: function(e, t, n, r, i) {
var a = [];
if (!e) return a;
- var o = eu(e), s;
+ var o = Yl(e), s;
try {
for (o.s(); !(s = o.n()).done;) {
var c = s.value;
@@ -4747,10 +4669,10 @@ var ru = {
continue;
}
} else {
- var l = eu(t), u;
+ var l = Yl(t), u;
try {
for (l.s(); !(u = l.n()).done;) {
- var d = u.value, f = fc(c, d);
+ var d = u.value, f = sc(c, d);
if (this.filters[r](f, n, i)) {
a.push(c);
break;
@@ -4774,36 +4696,36 @@ var ru = {
startsWith: function(e, t, n) {
if (t == null || t === "") return !0;
if (e == null) return !1;
- var r = kc(t.toString()).toLocaleLowerCase(n);
- return kc(e.toString()).toLocaleLowerCase(n).slice(0, r.length) === r;
+ var r = wc(t.toString()).toLocaleLowerCase(n);
+ return wc(e.toString()).toLocaleLowerCase(n).slice(0, r.length) === r;
},
contains: function(e, t, n) {
if (t == null || t === "") return !0;
if (e == null) return !1;
- var r = kc(t.toString()).toLocaleLowerCase(n);
- return kc(e.toString()).toLocaleLowerCase(n).indexOf(r) !== -1;
+ var r = wc(t.toString()).toLocaleLowerCase(n);
+ return wc(e.toString()).toLocaleLowerCase(n).indexOf(r) !== -1;
},
notContains: function(e, t, n) {
if (t == null || t === "") return !0;
if (e == null) return !1;
- var r = kc(t.toString()).toLocaleLowerCase(n);
- return kc(e.toString()).toLocaleLowerCase(n).indexOf(r) === -1;
+ var r = wc(t.toString()).toLocaleLowerCase(n);
+ return wc(e.toString()).toLocaleLowerCase(n).indexOf(r) === -1;
},
endsWith: function(e, t, n) {
if (t == null || t === "") return !0;
if (e == null) return !1;
- var r = kc(t.toString()).toLocaleLowerCase(n), i = kc(e.toString()).toLocaleLowerCase(n);
+ var r = wc(t.toString()).toLocaleLowerCase(n), i = wc(e.toString()).toLocaleLowerCase(n);
return i.indexOf(r, i.length - r.length) !== -1;
},
equals: function(e, t, n) {
- return t == null || t === "" ? !0 : e == null ? !1 : e.getTime && t.getTime ? e.getTime() === t.getTime() : kc(e.toString()).toLocaleLowerCase(n) == kc(t.toString()).toLocaleLowerCase(n);
+ return t == null || t === "" ? !0 : e == null ? !1 : e.getTime && t.getTime ? e.getTime() === t.getTime() : wc(e.toString()).toLocaleLowerCase(n) == wc(t.toString()).toLocaleLowerCase(n);
},
notEquals: function(e, t, n) {
- return t == null || t === "" ? !1 : e == null ? !0 : e.getTime && t.getTime ? e.getTime() !== t.getTime() : kc(e.toString()).toLocaleLowerCase(n) != kc(t.toString()).toLocaleLowerCase(n);
+ return t == null || t === "" ? !1 : e == null ? !0 : e.getTime && t.getTime ? e.getTime() !== t.getTime() : wc(e.toString()).toLocaleLowerCase(n) != wc(t.toString()).toLocaleLowerCase(n);
},
in: function(e, t) {
if (t == null || t.length === 0) return !0;
- for (var n = 0; n < t.length; n++) if (pc(e, t[n])) return !0;
+ for (var n = 0; n < t.length; n++) if (cc(e, t[n])) return !0;
return !1;
},
between: function(e, t) {
@@ -4837,17 +4759,17 @@ var ru = {
register: function(e, t) {
this.filters[e] = t;
}
-}, iu = "\n *,\n ::before,\n ::after {\n box-sizing: border-box;\n }\n\n .p-collapsible-enter-active {\n animation: p-animate-collapsible-expand 0.2s ease-out;\n overflow: hidden;\n }\n\n .p-collapsible-leave-active {\n animation: p-animate-collapsible-collapse 0.2s ease-out;\n overflow: hidden;\n }\n\n @keyframes p-animate-collapsible-expand {\n from {\n grid-template-rows: 0fr;\n }\n to {\n grid-template-rows: 1fr;\n }\n }\n\n @keyframes p-animate-collapsible-collapse {\n from {\n grid-template-rows: 1fr;\n }\n to {\n grid-template-rows: 0fr;\n }\n }\n\n .p-disabled,\n .p-disabled * {\n cursor: default;\n pointer-events: none;\n user-select: none;\n }\n\n .p-disabled,\n .p-component:disabled {\n opacity: dt('disabled.opacity');\n }\n\n .pi {\n font-size: dt('icon.size');\n }\n\n .p-icon {\n width: dt('icon.size');\n height: dt('icon.size');\n }\n\n .p-overlay-mask {\n background: var(--px-mask-background, dt('mask.background'));\n color: dt('mask.color');\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n .p-overlay-mask-enter-active {\n animation: p-animate-overlay-mask-enter dt('mask.transition.duration') forwards;\n }\n\n .p-overlay-mask-leave-active {\n animation: p-animate-overlay-mask-leave dt('mask.transition.duration') forwards;\n }\n\n @keyframes p-animate-overlay-mask-enter {\n from {\n background: transparent;\n }\n to {\n background: var(--px-mask-background, dt('mask.background'));\n }\n }\n @keyframes p-animate-overlay-mask-leave {\n from {\n background: var(--px-mask-background, dt('mask.background'));\n }\n to {\n background: transparent;\n }\n }\n\n .p-anchored-overlay-enter-active {\n animation: p-animate-anchored-overlay-enter 300ms cubic-bezier(.19,1,.22,1);\n }\n\n .p-anchored-overlay-leave-active {\n animation: p-animate-anchored-overlay-leave 300ms cubic-bezier(.19,1,.22,1);\n }\n\n @keyframes p-animate-anchored-overlay-enter {\n from {\n opacity: 0;\n transform: scale(0.93);\n }\n }\n\n @keyframes p-animate-anchored-overlay-leave {\n to {\n opacity: 0;\n transform: scale(0.93);\n }\n }\n";
+}, $l = "\n *,\n ::before,\n ::after {\n box-sizing: border-box;\n }\n\n .p-collapsible-enter-active {\n animation: p-animate-collapsible-expand 0.2s ease-out;\n overflow: hidden;\n }\n\n .p-collapsible-leave-active {\n animation: p-animate-collapsible-collapse 0.2s ease-out;\n overflow: hidden;\n }\n\n @keyframes p-animate-collapsible-expand {\n from {\n grid-template-rows: 0fr;\n }\n to {\n grid-template-rows: 1fr;\n }\n }\n\n @keyframes p-animate-collapsible-collapse {\n from {\n grid-template-rows: 1fr;\n }\n to {\n grid-template-rows: 0fr;\n }\n }\n\n .p-disabled,\n .p-disabled * {\n cursor: default;\n pointer-events: none;\n user-select: none;\n }\n\n .p-disabled,\n .p-component:disabled {\n opacity: dt('disabled.opacity');\n }\n\n .pi {\n font-size: dt('icon.size');\n }\n\n .p-icon {\n width: dt('icon.size');\n height: dt('icon.size');\n }\n\n .p-overlay-mask {\n background: var(--px-mask-background, dt('mask.background'));\n color: dt('mask.color');\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n .p-overlay-mask-enter-active {\n animation: p-animate-overlay-mask-enter dt('mask.transition.duration') forwards;\n }\n\n .p-overlay-mask-leave-active {\n animation: p-animate-overlay-mask-leave dt('mask.transition.duration') forwards;\n }\n\n @keyframes p-animate-overlay-mask-enter {\n from {\n background: transparent;\n }\n to {\n background: var(--px-mask-background, dt('mask.background'));\n }\n }\n @keyframes p-animate-overlay-mask-leave {\n from {\n background: var(--px-mask-background, dt('mask.background'));\n }\n to {\n background: transparent;\n }\n }\n\n .p-anchored-overlay-enter-active {\n animation: p-animate-anchored-overlay-enter 300ms cubic-bezier(.19,1,.22,1);\n }\n\n .p-anchored-overlay-leave-active {\n animation: p-animate-anchored-overlay-leave 300ms cubic-bezier(.19,1,.22,1);\n }\n\n @keyframes p-animate-anchored-overlay-enter {\n from {\n opacity: 0;\n transform: scale(0.93);\n }\n }\n\n @keyframes p-animate-anchored-overlay-leave {\n to {\n opacity: 0;\n transform: scale(0.93);\n }\n }\n";
// node_modules/@primevue/core/usestyle/index.mjs
-function au(e) {
+function eu(e) {
"@babel/helpers - typeof";
- return au = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return eu = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, au(e);
+ }, eu(e);
}
-function ou(e, t) {
+function tu(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
@@ -4857,102 +4779,102 @@ function ou(e, t) {
}
return n;
}
-function su(e) {
+function nu(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] == null ? {} : arguments[t];
- t % 2 ? ou(Object(n), !0).forEach(function(t) {
- cu(e, t, n[t]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ou(Object(n)).forEach(function(t) {
+ t % 2 ? tu(Object(n), !0).forEach(function(t) {
+ ru(e, t, n[t]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : tu(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
});
}
return e;
}
-function cu(e, t, n) {
- return (t = lu(t)) in e ? Object.defineProperty(e, t, {
+function ru(e, t, n) {
+ return (t = iu(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function lu(e) {
- var t = uu(e, "string");
- return au(t) == "symbol" ? t : t + "";
+function iu(e) {
+ var t = au(e, "string");
+ return eu(t) == "symbol" ? t : t + "";
}
-function uu(e, t) {
- if (au(e) != "object" || !e) return e;
+function au(e, t) {
+ if (eu(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (au(r) != "object") return r;
+ if (eu(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-function du(e) {
+function ou(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
- co() && co().components ? ti(e) : t ? e() : Nn(e);
+ ro() && ro().components ? Qr(e) : t ? e() : Mn(e);
}
-var fu = 0;
-function pu(e) {
- var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = /* @__PURE__ */ en(!1), r = /* @__PURE__ */ en(e), i = /* @__PURE__ */ en(null), a = ml() ? window.document : void 0, o = t.document, s = o === void 0 ? a : o, c = t.immediate, l = c === void 0 || c, u = t.manual, d = u !== void 0 && u, f = t.name, p = f === void 0 ? `style_${++fu}` : f, m = t.id, h = m === void 0 ? void 0 : m, g = t.media, _ = g === void 0 ? void 0 : g, v = t.nonce, y = v === void 0 ? void 0 : v, b = t.first, x = b !== void 0 && b, S = t.onMounted, C = S === void 0 ? void 0 : S, w = t.onUpdated, ee = w === void 0 ? void 0 : w, te = t.onLoad, ne = te === void 0 ? void 0 : te, T = t.props, re = T === void 0 ? {} : T, E = function() {}, ie = function(t) {
+var su = 0;
+function cu(e) {
+ var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = /* @__PURE__ */ $t(!1), r = /* @__PURE__ */ $t(e), i = /* @__PURE__ */ $t(null), a = ll() ? window.document : void 0, o = t.document, s = o === void 0 ? a : o, c = t.immediate, l = c === void 0 || c, u = t.manual, d = u !== void 0 && u, f = t.name, p = f === void 0 ? `style_${++su}` : f, m = t.id, h = m === void 0 ? void 0 : m, g = t.media, _ = g === void 0 ? void 0 : g, v = t.nonce, y = v === void 0 ? void 0 : v, b = t.first, x = b !== void 0 && b, S = t.onMounted, C = S === void 0 ? void 0 : S, w = t.onUpdated, ee = w === void 0 ? void 0 : w, te = t.onLoad, ne = te === void 0 ? void 0 : te, T = t.props, re = T === void 0 ? {} : T, E = function() {}, ie = function(t) {
var a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
if (s) {
- var o = su(su({}, re), a), c = o.name || p, l = o.id || h, u = o.nonce || y;
- i.value = s.querySelector(`style[data-primevue-style-id="${c}"]`) || s.getElementById(l) || s.createElement("style"), i.value.isConnected || (r.value = t || e, $c(i.value, {
+ var o = nu(nu({}, re), a), c = o.name || p, l = o.id || h, u = o.nonce || y;
+ i.value = s.querySelector(`style[data-primevue-style-id="${c}"]`) || s.getElementById(l) || s.createElement("style"), i.value.isConnected || (r.value = t || e, Jc(i.value, {
type: "text/css",
id: l,
media: _,
nonce: u
- }), x ? s.head.prepend(i.value) : s.head.appendChild(i.value), vl(i.value, "data-primevue-style-id", c), $c(i.value, o), i.value.onload = function(e) {
+ }), x ? s.head.prepend(i.value) : s.head.appendChild(i.value), pl(i.value, "data-primevue-style-id", c), Jc(i.value, o), i.value.onload = function(e) {
return ne?.(e, { name: c });
- }, C?.(c)), !n.value && (E = nr(r, function(e) {
+ }, C?.(c)), !n.value && (E = $n(r, function(e) {
i.value.textContent = e, ee?.(c);
}, { immediate: !0 }), n.value = !0);
}
};
- return l && !d && du(ie), {
+ return l && !d && ou(ie), {
id: h,
name: p,
el: i,
css: r,
unload: function() {
- s && n.value && (E(), Zc(i.value) && s.head.removeChild(i.value), n.value = !1, i.value = null);
+ s && n.value && (E(), Kc(i.value) && s.head.removeChild(i.value), n.value = !1, i.value = null);
},
load: ie,
- isLoaded: /* @__PURE__ */ Gt(n)
+ isLoaded: /* @__PURE__ */ Wt(n)
};
}
// node_modules/@primevue/core/base/style/index.mjs
-function mu(e) {
+function lu(e) {
"@babel/helpers - typeof";
- return mu = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return lu = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, mu(e);
+ }, lu(e);
}
-var hu, gu, _u, vu;
-function yu(e, t) {
- return wu(e) || Cu(e, t) || xu(e, t) || bu();
+var uu, du, fu, pu;
+function mu(e, t) {
+ return yu(e) || vu(e, t) || gu(e, t) || hu();
}
-function bu() {
+function hu() {
throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function xu(e, t) {
+function gu(e, t) {
if (e) {
- if (typeof e == "string") return Su(e, t);
+ if (typeof e == "string") return _u(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Su(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? _u(e, t) : void 0;
}
}
-function Su(e, t) {
+function _u(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function Cu(e, t) {
+function vu(e, t) {
var n = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
if (n != null) {
var r, i, a, o, s = [], c = !0, l = !1;
@@ -4970,10 +4892,10 @@ function Cu(e, t) {
return s;
}
}
-function wu(e) {
+function yu(e) {
if (Array.isArray(e)) return e;
}
-function Tu(e, t) {
+function bu(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
@@ -4983,40 +4905,40 @@ function Tu(e, t) {
}
return n;
}
-function Eu(e) {
+function xu(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] == null ? {} : arguments[t];
- t % 2 ? Tu(Object(n), !0).forEach(function(t) {
- Du(e, t, n[t]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Tu(Object(n)).forEach(function(t) {
+ t % 2 ? bu(Object(n), !0).forEach(function(t) {
+ Su(e, t, n[t]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : bu(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
});
}
return e;
}
-function Du(e, t, n) {
- return (t = Ou(t)) in e ? Object.defineProperty(e, t, {
+function Su(e, t, n) {
+ return (t = Cu(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function Ou(e) {
- var t = ku(e, "string");
- return mu(t) == "symbol" ? t : t + "";
+function Cu(e) {
+ var t = wu(e, "string");
+ return lu(t) == "symbol" ? t : t + "";
}
-function ku(e, t) {
- if (mu(e) != "object" || !e) return e;
+function wu(e, t) {
+ if (lu(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (mu(r) != "object") return r;
+ if (lu(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-function Au(e, t) {
+function Tu(e, t) {
return t ||= e.slice(0), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } }));
}
var X = {
@@ -5044,14 +4966,14 @@ var X = {
}
`;
},
- style: iu,
+ style: $l,
classes: {},
inlineStyles: {},
load: function(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = (arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function(e) {
return e;
- })(Xl(hu ||= Au(["", ""]), e));
- return K(n) ? pu(Oc(n), Eu({ name: this.name }, t)) : {};
+ })(Gl(uu ||= Tu(["", ""]), e));
+ return K(n) ? cu(Cc(n), xu({ name: this.name }, t)) : {};
},
loadCSS: function() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
@@ -5061,7 +4983,7 @@ var X = {
var e = this, t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
return this.load(this.style, t, function() {
var r = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
- return Y.transformCSS(t.name || e.name, `${r}${Xl(gu ||= Au(["", ""]), n)}`);
+ return Y.transformCSS(t.name || e.name, `${r}${Gl(du ||= Tu(["", ""]), n)}`);
});
},
getCommonTheme: function(e) {
@@ -5082,12 +5004,12 @@ var X = {
getStyleSheet: function() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
if (this.css) {
- var n = yc(this.css, { dt: Jl }) || "", r = Oc(Xl(_u ||= Au([
+ var n = mc(this.css, { dt: Ul }) || "", r = Cc(Gl(fu ||= Tu([
"",
"",
""
]), n, e)), i = Object.entries(t).reduce(function(e, t) {
- var n = yu(t, 2), r = n[0], i = n[1];
+ var n = mu(t, 2), r = n[0], i = n[1];
return e.push(`${r}="${i}"`) && e;
}, []).join(" ");
return K(r) ? `` : "";
@@ -5101,8 +5023,8 @@ var X = {
getThemeStyleSheet: function(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = [Y.getStyleSheet(this.name, e, t)];
if (this.style) {
- var r = this.name === "base" ? "global-style" : `${this.name}-style`, i = Xl(vu ||= Au(["", ""]), yc(this.style, { dt: Jl })), a = Oc(Y.transformCSS(r, i)), o = Object.entries(t).reduce(function(e, t) {
- var n = yu(t, 2), r = n[0], i = n[1];
+ var r = this.name === "base" ? "global-style" : `${this.name}-style`, i = Gl(pu ||= Tu(["", ""]), mc(this.style, { dt: Ul })), a = Cc(Y.transformCSS(r, i)), o = Object.entries(t).reduce(function(e, t) {
+ var n = mu(t, 2), r = n[0], i = n[1];
return e.push(`${r}="${i}"`) && e;
}, []).join(" ");
K(a) && n.push(``);
@@ -5110,22 +5032,22 @@ var X = {
return n.join("");
},
extend: function(e) {
- return Eu(Eu({}, this), {}, {
+ return xu(xu({}, this), {}, {
css: void 0,
style: void 0
}, e);
}
-}, ju = Mc();
+}, Eu = Dc();
// node_modules/@primevue/core/config/index.mjs
-function Mu(e) {
+function Du(e) {
"@babel/helpers - typeof";
- return Mu = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return Du = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, Mu(e);
+ }, Du(e);
}
-function Nu(e, t) {
+function Ou(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
@@ -5135,40 +5057,40 @@ function Nu(e, t) {
}
return n;
}
-function Pu(e) {
+function ku(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] == null ? {} : arguments[t];
- t % 2 ? Nu(Object(n), !0).forEach(function(t) {
- Fu(e, t, n[t]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Nu(Object(n)).forEach(function(t) {
+ t % 2 ? Ou(Object(n), !0).forEach(function(t) {
+ Au(e, t, n[t]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Ou(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
});
}
return e;
}
-function Fu(e, t, n) {
- return (t = Iu(t)) in e ? Object.defineProperty(e, t, {
+function Au(e, t, n) {
+ return (t = ju(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function Iu(e) {
- var t = Lu(e, "string");
- return Mu(t) == "symbol" ? t : t + "";
+function ju(e) {
+ var t = Mu(e, "string");
+ return Du(t) == "symbol" ? t : t + "";
}
-function Lu(e, t) {
- if (Mu(e) != "object" || !e) return e;
+function Mu(e, t) {
+ if (Du(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (Mu(r) != "object") return r;
+ if (Du(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var Ru = {
+var Nu = {
ripple: !1,
inputStyle: null,
inputVariant: null,
@@ -5355,26 +5277,26 @@ var Ru = {
},
filterMatchModeOptions: {
text: [
- $l.STARTS_WITH,
- $l.CONTAINS,
- $l.NOT_CONTAINS,
- $l.ENDS_WITH,
- $l.EQUALS,
- $l.NOT_EQUALS
+ Jl.STARTS_WITH,
+ Jl.CONTAINS,
+ Jl.NOT_CONTAINS,
+ Jl.ENDS_WITH,
+ Jl.EQUALS,
+ Jl.NOT_EQUALS
],
numeric: [
- $l.EQUALS,
- $l.NOT_EQUALS,
- $l.LESS_THAN,
- $l.LESS_THAN_OR_EQUAL_TO,
- $l.GREATER_THAN,
- $l.GREATER_THAN_OR_EQUAL_TO
+ Jl.EQUALS,
+ Jl.NOT_EQUALS,
+ Jl.LESS_THAN,
+ Jl.LESS_THAN_OR_EQUAL_TO,
+ Jl.GREATER_THAN,
+ Jl.GREATER_THAN_OR_EQUAL_TO
],
date: [
- $l.DATE_IS,
- $l.DATE_IS_NOT,
- $l.DATE_BEFORE,
- $l.DATE_AFTER
+ Jl.DATE_IS,
+ Jl.DATE_IS_NOT,
+ Jl.DATE_BEFORE,
+ Jl.DATE_AFTER
]
},
zIndex: {
@@ -5391,59 +5313,59 @@ var Ru = {
mergeProps: !1
},
csp: { nonce: void 0 }
-}, zu = Symbol();
-function Bu(e, t) {
- var n = { config: /* @__PURE__ */ Ut(t) };
- return e.config.globalProperties.$primevue = n, e.provide(zu, n), Hu(), Uu(e, n), n;
+}, Pu = Symbol();
+function Fu(e, t) {
+ var n = { config: /* @__PURE__ */ Ht(t) };
+ return e.config.globalProperties.$primevue = n, e.provide(Pu, n), Lu(), Ru(e, n), n;
}
-var Vu = [];
-function Hu() {
- Nl.clear(), Vu.forEach(function(e) {
+var Iu = [];
+function Lu() {
+ Ol.clear(), Iu.forEach(function(e) {
return e?.();
- }), Vu = [];
+ }), Iu = [];
}
-function Uu(e, t) {
- var n = /* @__PURE__ */ en(!1), r = function() {
+function Ru(e, t) {
+ var n = /* @__PURE__ */ $t(!1), r = function() {
if (t.config?.theme !== "none" && !Y.isStyleNameLoaded("common")) {
var e, n = X.getCommonTheme?.call(X) || {}, r = n.primitive, i = n.semantic, a = n.global, o = n.style, s = { nonce: (e = t.config) == null || (e = e.csp) == null ? void 0 : e.nonce };
- X.load(r?.css, Pu({ name: "primitive-variables" }, s)), X.load(i?.css, Pu({ name: "semantic-variables" }, s)), X.load(a?.css, Pu({ name: "global-variables" }, s)), X.loadStyle(Pu({ name: "global-style" }, s), o), Y.setLoadedStyleName("common");
+ X.load(r?.css, ku({ name: "primitive-variables" }, s)), X.load(i?.css, ku({ name: "semantic-variables" }, s)), X.load(a?.css, ku({ name: "global-variables" }, s)), X.loadStyle(ku({ name: "global-style" }, s), o), Y.setLoadedStyleName("common");
}
};
- Nl.on("theme:change", function(t) {
+ Ol.on("theme:change", function(t) {
n.value ||= (e.config.globalProperties.$primevue.config.theme = t, !0);
});
- var i = nr(t.config, function(e, t) {
- ju.emit("config:change", {
+ var i = $n(t.config, function(e, t) {
+ Eu.emit("config:change", {
newValue: e,
oldValue: t
});
}, {
immediate: !0,
deep: !0
- }), a = nr(function() {
+ }), a = $n(function() {
return t.config.ripple;
}, function(e, t) {
- ju.emit("config:ripple:change", {
+ Eu.emit("config:ripple:change", {
newValue: e,
oldValue: t
});
}, {
immediate: !0,
deep: !0
- }), o = nr(function() {
+ }), o = $n(function() {
return t.config.theme;
}, function(e, i) {
- n.value || Y.setTheme(e), t.config.unstyled || r(), n.value = !1, ju.emit("config:theme:change", {
+ n.value || Y.setTheme(e), t.config.unstyled || r(), n.value = !1, Eu.emit("config:theme:change", {
newValue: e,
oldValue: i
});
}, {
immediate: !0,
deep: !1
- }), s = nr(function() {
+ }), s = $n(function() {
return t.config.unstyled;
}, function(e, n) {
- !e && t.config.theme && r(), ju.emit("config:unstyled:change", {
+ !e && t.config.theme && r(), Eu.emit("config:unstyled:change", {
newValue: e,
oldValue: n
});
@@ -5451,37 +5373,37 @@ function Uu(e, t) {
immediate: !0,
deep: !0
});
- Vu.push(i), Vu.push(a), Vu.push(o), Vu.push(s);
+ Iu.push(i), Iu.push(a), Iu.push(o), Iu.push(s);
}
-var Wu = { install: function(e, t) {
- Bu(e, Dc(Ru, t));
-} }, Gu = Mc(), Ku = Symbol(), qu = { install: function(e) {
+var zu = { install: function(e, t) {
+ Fu(e, Sc(Nu, t));
+} }, Bu = Dc(), Vu = Symbol(), Hu = { install: function(e) {
var t = {
add: function(e) {
- Gu.emit("add", e);
+ Bu.emit("add", e);
},
remove: function(e) {
- Gu.emit("remove", e);
+ Bu.emit("remove", e);
},
removeGroup: function(e) {
- Gu.emit("remove-group", e);
+ Bu.emit("remove-group", e);
},
removeAllGroups: function() {
- Gu.emit("remove-all-groups");
+ Bu.emit("remove-all-groups");
}
};
- e.config.globalProperties.$toast = t, e.provide(Ku, t);
-} }, Ju = Mc(), Yu = Symbol(), Xu = { install: function(e) {
+ e.config.globalProperties.$toast = t, e.provide(Vu, t);
+} }, Uu = Dc(), Wu = Symbol(), Gu = { install: function(e) {
var t = {
require: function(e) {
- Ju.emit("confirm", e);
+ Uu.emit("confirm", e);
},
close: function() {
- Ju.emit("close");
+ Uu.emit("close");
}
};
- e.config.globalProperties.$confirm = t, e.provide(Yu, t);
-} }, Zu = {
+ e.config.globalProperties.$confirm = t, e.provide(Wu, t);
+} }, Ku = {
_loadedStyleNames: /* @__PURE__ */ new Set(),
getLoadedStyleNames: function() {
return this._loadedStyleNames;
@@ -5500,44 +5422,44 @@ var Wu = { install: function(e, t) {
}
};
// node_modules/@primevue/core/useattrselector/index.mjs
-function Qu() {
- return `${arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "pc"}${Ir().replace("v-", "").replaceAll("-", "_")}`;
+function qu() {
+ return `${arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "pc"}${Nr().replace("v-", "").replaceAll("-", "_")}`;
}
// node_modules/@primevue/core/basecomponent/index.mjs
-var $u = X.extend({ name: "common" });
-function ed(e) {
+var Ju = X.extend({ name: "common" });
+function Yu(e) {
"@babel/helpers - typeof";
- return ed = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return Yu = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, ed(e);
+ }, Yu(e);
}
-function td(e) {
- return cd(e) || nd(e) || ad(e) || id();
+function Xu(e) {
+ return rd(e) || Zu(e) || ed(e) || $u();
}
-function nd(e) {
+function Zu(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function rd(e, t) {
- return cd(e) || sd(e, t) || ad(e, t) || id();
+function Qu(e, t) {
+ return rd(e) || nd(e, t) || ed(e, t) || $u();
}
-function id() {
+function $u() {
throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function ad(e, t) {
+function ed(e, t) {
if (e) {
- if (typeof e == "string") return od(e, t);
+ if (typeof e == "string") return td(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? od(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? td(e, t) : void 0;
}
}
-function od(e, t) {
+function td(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function sd(e, t) {
+function nd(e, t) {
var n = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
if (n != null) {
var r, i, a, o, s = [], c = !0, l = !1;
@@ -5558,10 +5480,10 @@ function sd(e, t) {
return s;
}
}
-function cd(e) {
+function rd(e) {
if (Array.isArray(e)) return e;
}
-function ld(e, t) {
+function id(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
@@ -5574,37 +5496,37 @@ function ld(e, t) {
function Z(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] == null ? {} : arguments[t];
- t % 2 ? ld(Object(n), !0).forEach(function(t) {
- ud(e, t, n[t]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ld(Object(n)).forEach(function(t) {
+ t % 2 ? id(Object(n), !0).forEach(function(t) {
+ ad(e, t, n[t]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : id(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
});
}
return e;
}
-function ud(e, t, n) {
- return (t = dd(t)) in e ? Object.defineProperty(e, t, {
+function ad(e, t, n) {
+ return (t = od(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function dd(e) {
- var t = fd(e, "string");
- return ed(t) == "symbol" ? t : t + "";
+function od(e) {
+ var t = sd(e, "string");
+ return Yu(t) == "symbol" ? t : t + "";
}
-function fd(e, t) {
- if (ed(e) != "object" || !e) return e;
+function sd(e, t) {
+ if (Yu(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (ed(r) != "object") return r;
+ if (Yu(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var pd = {
+var cd = {
name: "BaseComponent",
props: {
pt: {
@@ -5629,14 +5551,14 @@ var pd = {
isUnstyled: {
immediate: !0,
handler: function(e) {
- Nl.off("theme:change", this._loadCoreStyles), e || (this._loadCoreStyles(), this._themeChangeListener(this._loadCoreStyles));
+ Ol.off("theme:change", this._loadCoreStyles), e || (this._loadCoreStyles(), this._themeChangeListener(this._loadCoreStyles));
}
},
dt: {
immediate: !0,
handler: function(e, t) {
var n = this;
- Nl.off("theme:change", this._themeScopedListener), e ? (this._loadScopedThemeStyles(e), this._themeScopedListener = function() {
+ Ol.off("theme:change", this._themeScopedListener), e ? (this._loadScopedThemeStyles(e), this._themeScopedListener = function() {
return n._loadScopedThemeStyles(e);
}, this._themeChangeListener(this._themeScopedListener)) : this._unloadScopedThemeStyles();
}
@@ -5650,13 +5572,13 @@ var pd = {
var e, t, n, r, i, a, o, s, c, l, u = this.pt?._usept, d = u ? (e = this.pt) == null || (e = e.originalValue) == null ? void 0 : e[this.$.type.name] : void 0;
(n = (u ? (t = this.pt) == null || (t = t.value) == null ? void 0 : t[this.$.type.name] : this.pt) || d) == null || (n = n.hooks) == null || (r = n.onBeforeCreate) == null || r.call(n);
var f = (i = this.$primevueConfig) == null || (i = i.pt) == null ? void 0 : i._usept, p = f ? (a = this.$primevue) == null || (a = a.config) == null || (a = a.pt) == null ? void 0 : a.originalValue : void 0;
- (c = (f ? (o = this.$primevue) == null || (o = o.config) == null || (o = o.pt) == null ? void 0 : o.value : (s = this.$primevue) == null || (s = s.config) == null ? void 0 : s.pt) || p) == null || (c = c[this.$.type.name]) == null || (c = c.hooks) == null || (l = c.onBeforeCreate) == null || l.call(c), this.$attrSelector = Qu(), this.uid = this.$attrs.id || this.$attrSelector.replace("pc", "pv_id_");
+ (c = (f ? (o = this.$primevue) == null || (o = o.config) == null || (o = o.pt) == null ? void 0 : o.value : (s = this.$primevue) == null || (s = s.config) == null ? void 0 : s.pt) || p) == null || (c = c[this.$.type.name]) == null || (c = c.hooks) == null || (l = c.onBeforeCreate) == null || l.call(c), this.$attrSelector = qu(), this.uid = this.$attrs.id || this.$attrSelector.replace("pc", "pv_id_");
},
created: function() {
this._hook("onCreated");
},
beforeMount: function() {
- this.rootEl = nl(Qc(this.$el) ? this.$el : this.$el?.parentElement, `[${this.$attrSelector}]`), this.rootEl && (this.rootEl.$pc = Z({
+ this.rootEl = Zc(qc(this.$el) ? this.$el : this.$el?.parentElement, `[${this.$attrSelector}]`), this.rootEl && (this.rootEl.$pc = Z({
name: this.$.type.name,
attrSelector: this.$attrSelector
}, this.$params)), this._loadStyles(), this._hook("onBeforeMount");
@@ -5685,17 +5607,17 @@ var pd = {
},
_mergeProps: function(e) {
var t = [...arguments].slice(1);
- return dc(e) ? e.apply(void 0, t) : G.apply(void 0, t);
+ return oc(e) ? e.apply(void 0, t) : W.apply(void 0, t);
},
_load: function() {
- Zu.isStyleNameLoaded("base") || (X.loadCSS(this.$styleOptions), this._loadGlobalStyles(), Zu.setLoadedStyleName("base")), this._loadThemeStyles();
+ Ku.isStyleNameLoaded("base") || (X.loadCSS(this.$styleOptions), this._loadGlobalStyles(), Ku.setLoadedStyleName("base")), this._loadThemeStyles();
},
_loadStyles: function() {
this._load(), this._themeChangeListener(this._load);
},
_loadCoreStyles: function() {
var e;
- !Zu.isStyleNameLoaded(this.$style?.name) && (e = this.$style) != null && e.name && ($u.loadCSS(this.$styleOptions), this.$options.style && this.$style.loadCSS(this.$styleOptions), Zu.setLoadedStyleName(this.$style.name));
+ !Ku.isStyleNameLoaded(this.$style?.name) && (e = this.$style) != null && e.name && (Ju.loadCSS(this.$styleOptions), this.$options.style && this.$style.loadCSS(this.$styleOptions), Ku.setLoadedStyleName(this.$style.name));
},
_loadGlobalStyles: function() {
var e = this._useGlobalPT(this._getOptionValue, "global.css", this.$params);
@@ -5731,10 +5653,10 @@ var pd = {
},
_themeChangeListener: function() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {};
- Zu.clearLoadedStyleNames(), Nl.on("theme:change", e);
+ Ku.clearLoadedStyleNames(), Ol.on("theme:change", e);
},
_removeThemeListeners: function() {
- Nl.off("theme:change", this._loadCoreStyles), Nl.off("theme:change", this._load), Nl.off("theme:change", this._themeScopedListener);
+ Ol.off("theme:change", this._loadCoreStyles), Ol.off("theme:change", this._load), Ol.off("theme:change", this._themeScopedListener);
},
_getHostInstance: function(e) {
return e ? this.$options.hostName ? e.$.type.name === this.$options.hostName ? e : this._getHostInstance(e.$parentInstance) : e.$parentInstance : void 0;
@@ -5743,7 +5665,7 @@ var pd = {
return this[e] || this._getHostInstance(this)?.[e];
},
_getOptionValue: function(e) {
- return Sc(e, arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {});
+ return _c(e, arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {});
},
_getPTValue: function() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, i = /./g.test(t) && !!n[t.split(".")[0]], a = this._getPropValue("ptOptions") || this.$primevueConfig?.ptOptions || {}, o = a.mergeSections, s = o === void 0 || o, c = a.mergeProps, l = c !== void 0 && c, u = r ? i ? this._useGlobalPT(this._getPTClassValue, t, n) : this._useDefaultPT(this._getPTClassValue, t, n) : void 0, d = i ? void 0 : this._getPTSelf(e, this._getPTClassValue, t, Z(Z({}, n), {}, { global: u || {} })), f = this._getPTDatasets(t);
@@ -5751,19 +5673,19 @@ var pd = {
},
_getPTSelf: function() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = [...arguments].slice(1);
- return G(this._usePT.apply(this, [this._getPT(e, this.$name)].concat(t)), this._usePT.apply(this, [this.$_attrsPT].concat(t)));
+ return W(this._usePT.apply(this, [this._getPT(e, this.$name)].concat(t)), this._usePT.apply(this, [this.$_attrsPT].concat(t)));
},
_getPTDatasets: function() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", t = "data-pc-", n = e === "root" && K(this.pt?.["data-pc-section"]);
- return e !== "transition" && Z(Z({}, e === "root" && Z(Z(ud({}, `${t}name`, xc(n ? this.pt?.["data-pc-section"] : this.$.type.name)), n && ud({}, `${t}extend`, xc(this.$.type.name))), {}, ud({}, `${this.$attrSelector}`, ""))), {}, ud({}, `${t}section`, xc(e)));
+ return e !== "transition" && Z(Z({}, e === "root" && Z(Z(ad({}, `${t}name`, gc(n ? this.pt?.["data-pc-section"] : this.$.type.name)), n && ad({}, `${t}extend`, gc(this.$.type.name))), {}, ad({}, `${this.$attrSelector}`, ""))), {}, ad({}, `${t}section`, gc(e)));
},
_getPTClassValue: function() {
var e = this._getOptionValue.apply(this, arguments);
- return bc(e) || Cc(e) ? { class: e } : e;
+ return hc(e) || vc(e) ? { class: e } : e;
},
_getPT: function(e) {
var t = this, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", r = arguments.length > 2 ? arguments[2] : void 0, i = function(e) {
- var i = arguments.length > 1 && arguments[1] !== void 0 && arguments[1], a = r ? r(e) : e, o = xc(n), s = xc(t.$name);
+ var i = arguments.length > 1 && arguments[1] !== void 0 && arguments[1], a = r ? r(e) : e, o = gc(n), s = gc(t.$name);
return (i && o === s ? void 0 : a?.[o]) ?? a;
};
return e != null && e.hasOwnProperty("_usept") ? {
@@ -5778,7 +5700,7 @@ var pd = {
};
if (e != null && e.hasOwnProperty("_usept")) {
var a = e._usept || this.$primevueConfig?.ptOptions || {}, o = a.mergeSections, s = o === void 0 || o, c = a.mergeProps, l = c !== void 0 && c, u = i(e.originalValue), d = i(e.value);
- return u === void 0 && d === void 0 ? void 0 : bc(d) ? d : bc(u) ? u : s || !s && d ? l ? this._mergeProps(l, u, d) : Z(Z({}, u), d) : d;
+ return u === void 0 && d === void 0 ? void 0 : hc(d) ? d : hc(u) ? u : s || !s && d ? l ? this._mergeProps(l, u, d) : Z(Z({}, u), d) : d;
}
return i(e);
},
@@ -5793,7 +5715,7 @@ var pd = {
return this._getPTValue(this.pt, e, Z(Z({}, this.$params), t));
},
ptmi: function() {
- var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = G(this.$_attrsWithoutPT, this.ptm(e, t));
+ var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = W(this.$_attrsWithoutPT, this.ptm(e, t));
return n != null && n.hasOwnProperty("id") && (n.id ??= this.$id), n;
},
ptmo: function() {
@@ -5808,7 +5730,7 @@ var pd = {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
if (t) {
var r = this._getOptionValue(this.$style.inlineStyles, e, Z(Z({}, this.$params), n));
- return [this._getOptionValue($u.inlineStyles, e, Z(Z({}, this.$params), n)), r];
+ return [this._getOptionValue(Ju.inlineStyles, e, Z(Z({}, this.$params), n)), r];
}
}
},
@@ -5816,13 +5738,13 @@ var pd = {
globalPT: function() {
var e = this;
return this._getPT(this.$primevueConfig?.pt, void 0, function(t) {
- return yc(t, { instance: e });
+ return mc(t, { instance: e });
});
},
defaultPT: function() {
var e = this;
return this._getPT(this.$primevueConfig?.pt, void 0, function(t) {
- return e._getOptionValue(t, e.$name, Z({}, e.$params)) || yc(t, Z({}, e.$params));
+ return e._getOptionValue(t, e.$name, Z({}, e.$params)) || mc(t, Z({}, e.$params));
});
},
isUnstyled: function() {
@@ -5834,7 +5756,7 @@ var pd = {
$inProps: function() {
var e = Object.keys(this.$.vnode?.props || {});
return Object.fromEntries(Object.entries(this.$props).filter(function(t) {
- var n = rd(t, 1)[0];
+ var n = Qu(t, 1)[0];
return e?.includes(n);
}));
},
@@ -5877,38 +5799,38 @@ var pd = {
},
$_attrsPT: function() {
return Object.entries(this.$attrs || {}).filter(function(e) {
- return rd(e, 1)[0]?.startsWith("pt:");
+ return Qu(e, 1)[0]?.startsWith("pt:");
}).reduce(function(e, t) {
- var n = rd(t, 2), r = n[0], i = n[1];
- return od(td(r.split(":"))).slice(1)?.reduce(function(e, t, n, r) {
+ var n = Qu(t, 2), r = n[0], i = n[1];
+ return td(Xu(r.split(":"))).slice(1)?.reduce(function(e, t, n, r) {
return !e[t] && (e[t] = n === r.length - 1 ? i : {}), e[t];
}, e), e;
}, {});
},
$_attrsWithoutPT: function() {
return Object.entries(this.$attrs || {}).filter(function(e) {
- var t = rd(e, 1)[0];
+ var t = Qu(e, 1)[0];
return !(t != null && t.startsWith("pt:"));
}).reduce(function(e, t) {
- var n = rd(t, 2), r = n[0];
+ var n = Qu(t, 2), r = n[0];
return e[r] = n[1], e;
}, {});
}
}
-}, md = X.extend({
+}, ld = X.extend({
name: "baseicon",
css: "\n.p-icon {\n display: inline-block;\n vertical-align: baseline;\n flex-shrink: 0;\n}\n\n.p-icon-spin {\n -webkit-animation: p-icon-spin 2s infinite linear;\n animation: p-icon-spin 2s infinite linear;\n}\n\n@-webkit-keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n"
});
// node_modules/@primevue/icons/baseicon/index.mjs
-function hd(e) {
+function ud(e) {
"@babel/helpers - typeof";
- return hd = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return ud = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, hd(e);
+ }, ud(e);
}
-function gd(e, t) {
+function dd(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
@@ -5918,42 +5840,42 @@ function gd(e, t) {
}
return n;
}
-function _d(e) {
+function fd(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] == null ? {} : arguments[t];
- t % 2 ? gd(Object(n), !0).forEach(function(t) {
- vd(e, t, n[t]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : gd(Object(n)).forEach(function(t) {
+ t % 2 ? dd(Object(n), !0).forEach(function(t) {
+ pd(e, t, n[t]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : dd(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
});
}
return e;
}
-function vd(e, t, n) {
- return (t = yd(t)) in e ? Object.defineProperty(e, t, {
+function pd(e, t, n) {
+ return (t = md(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function yd(e) {
- var t = bd(e, "string");
- return hd(t) == "symbol" ? t : t + "";
+function md(e) {
+ var t = hd(e, "string");
+ return ud(t) == "symbol" ? t : t + "";
}
-function bd(e, t) {
- if (hd(e) != "object" || !e) return e;
+function hd(e, t) {
+ if (ud(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (hd(r) != "object") return r;
+ if (ud(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var xd = {
+var gd = {
name: "BaseIcon",
- extends: pd,
+ extends: cd,
props: {
label: {
type: String,
@@ -5964,7 +5886,7 @@ var xd = {
default: !1
}
},
- style: md,
+ style: ld,
provide: function() {
return {
$pcIcon: this,
@@ -5972,63 +5894,63 @@ var xd = {
};
},
methods: { pti: function() {
- var e = cc(this.label);
- return _d(_d({}, !this.isUnstyled && { class: ["p-icon", { "p-icon-spin": this.spin }] }), {}, {
+ var e = rc(this.label);
+ return fd(fd({}, !this.isUnstyled && { class: ["p-icon", { "p-icon-spin": this.spin }] }), {}, {
role: e ? void 0 : "img",
"aria-label": e ? void 0 : this.label,
"aria-hidden": e
});
} }
-}, Sd = {
+}, _d = {
name: "SpinnerIcon",
- extends: xd
+ extends: gd
};
-function Cd(e) {
- return Dd(e) || Ed(e) || Td(e) || wd();
+function vd(e) {
+ return Sd(e) || xd(e) || bd(e) || yd();
}
-function wd() {
+function yd() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function Td(e, t) {
+function bd(e, t) {
if (e) {
- if (typeof e == "string") return Od(e, t);
+ if (typeof e == "string") return Cd(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Od(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Cd(e, t) : void 0;
}
}
-function Ed(e) {
+function xd(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function Dd(e) {
- if (Array.isArray(e)) return Od(e);
+function Sd(e) {
+ if (Array.isArray(e)) return Cd(e);
}
-function Od(e, t) {
+function Cd(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function kd(e, t, n, r, i, a) {
- return z(), B("svg", G({
+function wd(e, t, n, r, i, a) {
+ return R(), z("svg", W({
width: "14",
height: "14",
viewBox: "0 0 14 14",
fill: "none",
xmlns: "http://www.w3.org/2000/svg"
- }, e.pti()), Cd(t[0] ||= [H("path", {
+ }, e.pti()), vd(t[0] ||= [V("path", {
d: "M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z",
fill: "currentColor"
}, null, -1)]), 16);
}
-Sd.render = kd;
+_d.render = wd;
// node_modules/primevue/badge/style/index.mjs
-var Ad = X.extend({
+var Td = X.extend({
name: "badge",
style: "\n .p-badge {\n display: inline-flex;\n border-radius: dt('badge.border.radius');\n align-items: center;\n justify-content: center;\n padding: dt('badge.padding');\n background: dt('badge.primary.background');\n color: dt('badge.primary.color');\n font-size: dt('badge.font.size');\n font-weight: dt('badge.font.weight');\n min-width: dt('badge.min.width');\n height: dt('badge.height');\n }\n\n .p-badge-dot {\n width: dt('badge.dot.size');\n min-width: dt('badge.dot.size');\n height: dt('badge.dot.size');\n border-radius: 50%;\n padding: 0;\n }\n\n .p-badge-circle {\n padding: 0;\n border-radius: 50%;\n }\n\n .p-badge-secondary {\n background: dt('badge.secondary.background');\n color: dt('badge.secondary.color');\n }\n\n .p-badge-success {\n background: dt('badge.success.background');\n color: dt('badge.success.color');\n }\n\n .p-badge-info {\n background: dt('badge.info.background');\n color: dt('badge.info.color');\n }\n\n .p-badge-warn {\n background: dt('badge.warn.background');\n color: dt('badge.warn.color');\n }\n\n .p-badge-danger {\n background: dt('badge.danger.background');\n color: dt('badge.danger.color');\n }\n\n .p-badge-contrast {\n background: dt('badge.contrast.background');\n color: dt('badge.contrast.color');\n }\n\n .p-badge-sm {\n font-size: dt('badge.sm.font.size');\n min-width: dt('badge.sm.min.width');\n height: dt('badge.sm.height');\n }\n\n .p-badge-lg {\n font-size: dt('badge.lg.font.size');\n min-width: dt('badge.lg.min.width');\n height: dt('badge.lg.height');\n }\n\n .p-badge-xl {\n font-size: dt('badge.xl.font.size');\n min-width: dt('badge.xl.min.width');\n height: dt('badge.xl.height');\n }\n",
classes: { root: function(e) {
var t = e.props, n = e.instance;
return ["p-badge p-component", {
"p-badge-circle": K(t.value) && String(t.value).length === 1,
- "p-badge-dot": cc(t.value) && !n.$slots.default,
+ "p-badge-dot": rc(t.value) && !n.$slots.default,
"p-badge-sm": t.size === "small",
"p-badge-lg": t.size === "large",
"p-badge-xl": t.size === "xlarge",
@@ -6040,9 +5962,9 @@ var Ad = X.extend({
"p-badge-contrast": t.severity === "contrast"
}];
} }
-}), jd = {
+}), Ed = {
name: "BaseBadge",
- extends: pd,
+ extends: cd,
props: {
value: {
type: [String, Number],
@@ -6057,7 +5979,7 @@ var Ad = X.extend({
default: null
}
},
- style: Ad,
+ style: Td,
provide: function() {
return {
$pcBadge: this,
@@ -6065,84 +5987,84 @@ var Ad = X.extend({
};
}
};
-function Md(e) {
+function Dd(e) {
"@babel/helpers - typeof";
- return Md = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return Dd = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, Md(e);
+ }, Dd(e);
}
-function Nd(e, t, n) {
- return (t = Pd(t)) in e ? Object.defineProperty(e, t, {
+function Od(e, t, n) {
+ return (t = kd(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function Pd(e) {
- var t = Fd(e, "string");
- return Md(t) == "symbol" ? t : t + "";
+function kd(e) {
+ var t = Ad(e, "string");
+ return Dd(t) == "symbol" ? t : t + "";
}
-function Fd(e, t) {
- if (Md(e) != "object" || !e) return e;
+function Ad(e, t) {
+ if (Dd(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (Md(r) != "object") return r;
+ if (Dd(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var Id = {
+var jd = {
name: "Badge",
- extends: jd,
+ extends: Ed,
inheritAttrs: !1,
computed: { dataP: function() {
- return q(Nd(Nd({
+ return q(Od(Od({
circle: this.value != null && String(this.value).length === 1,
empty: this.value == null && !this.$slots.default
}, this.severity, this.severity), this.size, this.size));
} }
-}, Ld = ["data-p"];
-function Rd(e, t, n, r, i, a) {
- return z(), B("span", G({
+}, Md = ["data-p"];
+function Nd(e, t, n, r, i, a) {
+ return R(), z("span", W({
class: e.cx("root"),
"data-p": a.dataP
}, e.ptmi("root")), [I(e.$slots, "default", {}, function() {
- return [Za(k(e.value), 1)];
- })], 16, Ld);
+ return [Ja(k(e.value), 1)];
+ })], 16, Md);
}
-Id.render = Rd;
+jd.render = Nd;
// node_modules/@primevue/core/basedirective/index.mjs
-function zd(e) {
+function Pd(e) {
"@babel/helpers - typeof";
- return zd = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return Pd = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, zd(e);
+ }, Pd(e);
}
-function Bd(e, t) {
- return Gd(e) || Wd(e, t) || Hd(e, t) || Vd();
+function Fd(e, t) {
+ return Bd(e) || zd(e, t) || Ld(e, t) || Id();
}
-function Vd() {
+function Id() {
throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function Hd(e, t) {
+function Ld(e, t) {
if (e) {
- if (typeof e == "string") return Ud(e, t);
+ if (typeof e == "string") return Rd(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Ud(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Rd(e, t) : void 0;
}
}
-function Ud(e, t) {
+function Rd(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function Wd(e, t) {
+function zd(e, t) {
var n = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
if (n != null) {
var r, i, a, o, s = [], c = !0, l = !1;
@@ -6160,10 +6082,10 @@ function Wd(e, t) {
return s;
}
}
-function Gd(e) {
+function Bd(e) {
if (Array.isArray(e)) return e;
}
-function Kd(e, t) {
+function Vd(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
@@ -6176,59 +6098,59 @@ function Kd(e, t) {
function Q(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] == null ? {} : arguments[t];
- t % 2 ? Kd(Object(n), !0).forEach(function(t) {
- qd(e, t, n[t]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Kd(Object(n)).forEach(function(t) {
+ t % 2 ? Vd(Object(n), !0).forEach(function(t) {
+ Hd(e, t, n[t]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Vd(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
});
}
return e;
}
-function qd(e, t, n) {
- return (t = Jd(t)) in e ? Object.defineProperty(e, t, {
+function Hd(e, t, n) {
+ return (t = Ud(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function Jd(e) {
- var t = Yd(e, "string");
- return zd(t) == "symbol" ? t : t + "";
+function Ud(e) {
+ var t = Wd(e, "string");
+ return Pd(t) == "symbol" ? t : t + "";
}
-function Yd(e, t) {
- if (zd(e) != "object" || !e) return e;
+function Wd(e, t) {
+ if (Pd(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (zd(r) != "object") return r;
+ if (Pd(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
var $ = {
_getMeta: function() {
- return [hc(arguments.length <= 0 ? void 0 : arguments[0]) || arguments.length <= 0 ? void 0 : arguments[0], yc(hc(arguments.length <= 0 ? void 0 : arguments[0]) ? arguments.length <= 0 ? void 0 : arguments[0] : arguments.length <= 1 ? void 0 : arguments[1])];
+ return [uc(arguments.length <= 0 ? void 0 : arguments[0]) || arguments.length <= 0 ? void 0 : arguments[0], mc(uc(arguments.length <= 0 ? void 0 : arguments[0]) ? arguments.length <= 0 ? void 0 : arguments[0] : arguments.length <= 1 ? void 0 : arguments[1])];
},
_getConfig: function(e, t) {
var n, r;
return ((e == null || (n = e.instance) == null ? void 0 : n.$primevue) || (t == null || (r = t.ctx) == null || (r = r.appContext) == null || (r = r.config) == null || (r = r.globalProperties) == null ? void 0 : r.$primevue))?.config;
},
- _getOptionValue: Sc,
+ _getOptionValue: _c,
_getPTValue: function() {
var e, t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "", i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {}, a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, o = function() {
var e = $._getOptionValue.apply($, arguments);
- return bc(e) || Cc(e) ? { class: e } : e;
+ return hc(e) || vc(e) ? { class: e } : e;
}, s = ((e = t.binding) == null || (e = e.value) == null ? void 0 : e.ptOptions) || t.$primevueConfig?.ptOptions || {}, c = s.mergeSections, l = c === void 0 || c, u = s.mergeProps, d = u !== void 0 && u, f = a ? $._useDefaultPT(t, t.defaultPT(), o, r, i) : void 0, p = $._usePT(t, $._getPT(n, t.$name), o, r, Q(Q({}, i), {}, { global: f || {} })), m = $._getPTDatasets(t, r);
return l || !l && p ? d ? $._mergeProps(t, d, f, p, m) : Q(Q(Q({}, f), p), m) : Q(Q({}, p), m);
},
_getPTDatasets: function() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", n = "data-pc-";
- return Q(Q({}, t === "root" && qd({}, `${n}name`, xc(e.$name))), {}, qd({}, `${n}section`, xc(t)));
+ return Q(Q({}, t === "root" && Hd({}, `${n}name`, gc(e.$name))), {}, Hd({}, `${n}section`, gc(t)));
},
_getPT: function(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", n = arguments.length > 2 ? arguments[2] : void 0, r = function(e) {
- var r = n ? n(e) : e, i = xc(t);
+ var r = n ? n(e) : e, i = gc(t);
return r?.[i] ?? r;
};
return e && Object.hasOwn(e, "_usept") ? {
@@ -6243,7 +6165,7 @@ var $ = {
};
if (t && Object.hasOwn(t, "_usept")) {
var o = t._usept || e.$primevueConfig?.ptOptions || {}, s = o.mergeSections, c = s === void 0 || s, l = o.mergeProps, u = l !== void 0 && l, d = a(t.originalValue), f = a(t.value);
- return d === void 0 && f === void 0 ? void 0 : bc(f) ? f : bc(d) ? d : c || !c && f ? u ? $._mergeProps(e, u, d, f) : Q(Q({}, d), f) : f;
+ return d === void 0 && f === void 0 ? void 0 : hc(f) ? f : hc(d) ? d : c || !c && f ? u ? $._mergeProps(e, u, d, f) : Q(Q({}, d), f) : f;
}
return a(t);
},
@@ -6259,9 +6181,9 @@ var $ = {
},
_loadCoreStyles: function() {
var e, t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 ? arguments[1] : void 0;
- if (!Zu.isStyleNameLoaded(t.$style?.name) && (e = t.$style) != null && e.name) {
+ if (!Ku.isStyleNameLoaded(t.$style?.name) && (e = t.$style) != null && e.name) {
var r;
- X.loadCSS(n), (r = t.$style) == null || r.loadCSS(n), Zu.setLoadedStyleName(t.$style.name);
+ X.loadCSS(n), (r = t.$style) == null || r.loadCSS(n), Ku.setLoadedStyleName(t.$style.name);
}
},
_loadThemeStyles: function() {
@@ -6293,14 +6215,14 @@ var $ = {
},
_themeChangeListener: function() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {};
- Zu.clearLoadedStyleNames(), Nl.on("theme:change", e);
+ Ku.clearLoadedStyleNames(), Ol.on("theme:change", e);
},
_removeThemeListeners: function() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
- Nl.off("theme:change", e.$loadStyles), e.$loadStyles = void 0;
+ Ol.off("theme:change", e.$loadStyles), e.$loadStyles = void 0;
},
_hook: function(e, t, n, r, i, a) {
- var o, s, c = `on${Ac(t)}`, l = $._getConfig(r, i), u = n?.$instance, d = $._usePT(u, $._getPT(r == null || (o = r.value) == null ? void 0 : o.pt, e), $._getOptionValue, `hooks.${c}`), f = $._useDefaultPT(u, l == null || (s = l.pt) == null || (s = s.directives) == null ? void 0 : s[e], $._getOptionValue, `hooks.${c}`), p = {
+ var o, s, c = `on${Tc(t)}`, l = $._getConfig(r, i), u = n?.$instance, d = $._usePT(u, $._getPT(r == null || (o = r.value) == null ? void 0 : o.pt, e), $._getOptionValue, `hooks.${c}`), f = $._useDefaultPT(u, l == null || (s = l.pt) == null || (s = s.directives) == null ? void 0 : s[e], $._getOptionValue, `hooks.${c}`), p = {
el: n,
binding: r,
vnode: i,
@@ -6310,13 +6232,13 @@ var $ = {
},
_mergeProps: function() {
var e = arguments.length > 1 ? arguments[1] : void 0, t = [...arguments].slice(2);
- return dc(e) ? e.apply(void 0, t) : G.apply(void 0, t);
+ return oc(e) ? e.apply(void 0, t) : W.apply(void 0, t);
},
_extend: function(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = function(n, r, i, a, o) {
var s, c, l;
r._$instances = r._$instances || {};
- var u = $._getConfig(i, a), d = r._$instances[e] || {}, f = cc(d) ? Q(Q({}, t), t?.methods) : {};
+ var u = $._getConfig(i, a), d = r._$instances[e] || {}, f = rc(d) ? Q(Q({}, t), t?.methods) : {};
r._$instances[e] = Q(Q({}, d), {}, {
$name: e,
$host: r,
@@ -6382,16 +6304,16 @@ var $ = {
a.$watchersCallback = {
config: s,
"config.ripple": c
- }, o == null || (n = o.config) == null || n.call(a, a?.$primevueConfig), ju.on("config:change", s), o == null || (r = o["config.ripple"]) == null || r.call(a, a == null || (i = a.$primevueConfig) == null ? void 0 : i.ripple), ju.on("config:ripple:change", c);
+ }, o == null || (n = o.config) == null || n.call(a, a?.$primevueConfig), Eu.on("config:change", s), o == null || (r = o["config.ripple"]) == null || r.call(a, a == null || (i = a.$primevueConfig) == null ? void 0 : i.ripple), Eu.on("config:ripple:change", c);
}, i = function(t) {
var n = t._$instances[e].$watchersCallback;
- n && (ju.off("config:change", n.config), ju.off("config:ripple:change", n["config.ripple"]), t._$instances[e].$watchersCallback = void 0);
+ n && (Eu.off("config:change", n.config), Eu.off("config:ripple:change", n["config.ripple"]), t._$instances[e].$watchersCallback = void 0);
};
return {
created: function(t, r, i, a) {
t.$pd ||= {}, t.$pd[e] = {
name: e,
- attrSelector: bl("pd")
+ attrSelector: hl("pd")
}, n("created", t, r, i, a);
},
beforeMount: function(t, i, a, o) {
@@ -6416,72 +6338,72 @@ var $ = {
};
},
extend: function() {
- var e = Bd($._getMeta.apply($, arguments), 2), t = e[0], n = e[1];
+ var e = Fd($._getMeta.apply($, arguments), 2), t = e[0], n = e[1];
return Q({ extend: function() {
- var e = Bd($._getMeta.apply($, arguments), 2), t = e[0], r = e[1];
+ var e = Fd($._getMeta.apply($, arguments), 2), t = e[0], r = e[1];
return $.extend(t, Q(Q(Q({}, n), n?.methods), r));
} }, $._extend(t, n));
}
-}, Xd = X.extend({
+}, Gd = X.extend({
name: "ripple-directive",
style: "\n .p-ink {\n display: block;\n position: absolute;\n background: dt('ripple.background');\n border-radius: 100%;\n transform: scale(0);\n pointer-events: none;\n }\n\n .p-ink-active {\n animation: ripple 0.4s linear;\n }\n\n @keyframes ripple {\n 100% {\n opacity: 0;\n transform: scale(2.5);\n }\n }\n",
classes: { root: "p-ink" }
-}), Zd = $.extend({ style: Xd });
-function Qd(e) {
+}), Kd = $.extend({ style: Gd });
+function qd(e) {
"@babel/helpers - typeof";
- return Qd = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return qd = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, Qd(e);
+ }, qd(e);
}
-function $d(e) {
- return rf(e) || nf(e) || tf(e) || ef();
+function Jd(e) {
+ return Qd(e) || Zd(e) || Xd(e) || Yd();
}
-function ef() {
+function Yd() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function tf(e, t) {
+function Xd(e, t) {
if (e) {
- if (typeof e == "string") return af(e, t);
+ if (typeof e == "string") return $d(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? af(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? $d(e, t) : void 0;
}
}
-function nf(e) {
+function Zd(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function rf(e) {
- if (Array.isArray(e)) return af(e);
+function Qd(e) {
+ if (Array.isArray(e)) return $d(e);
}
-function af(e, t) {
+function $d(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function of(e, t, n) {
- return (t = sf(t)) in e ? Object.defineProperty(e, t, {
+function ef(e, t, n) {
+ return (t = tf(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function sf(e) {
- var t = cf(e, "string");
- return Qd(t) == "symbol" ? t : t + "";
+function tf(e) {
+ var t = nf(e, "string");
+ return qd(t) == "symbol" ? t : t + "";
}
-function cf(e, t) {
- if (Qd(e) != "object" || !e) return e;
+function nf(e, t) {
+ if (qd(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (Qd(r) != "object") return r;
+ if (qd(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var lf = Zd.extend("ripple", {
+var rf = Kd.extend("ripple", {
watch: { "config.ripple": function(e) {
e ? (this.createRipple(this.$host), this.bindEvents(this.$host), this.$host.setAttribute("data-pd-ripple", !0), this.$host.style.overflow = "hidden", this.$host.style.position = "relative") : (this.remove(this.$host), this.$host.removeAttribute("data-pd-ripple"));
} },
@@ -6498,7 +6420,7 @@ var lf = Zd.extend("ripple", {
},
createRipple: function(e) {
var t = this.getInk(e);
- t || (t = el("span", of(of({
+ t || (t = Yc("span", ef(ef({
role: "presentation",
"aria-hidden": !0,
"data-p-ink": !0,
@@ -6514,64 +6436,64 @@ var lf = Zd.extend("ripple", {
onMouseDown: function(e) {
var t = this, n = e.currentTarget, r = this.getInk(n);
if (r && getComputedStyle(r, null).display !== "none") {
- if (!this.isUnstyled() && Lc(r, "p-ink-active"), r.setAttribute("data-p-ink-active", "false"), !ol(r) && !fl(r)) {
- var i = Math.max(Jc(n), ll(n));
+ if (!this.isUnstyled() && Mc(r, "p-ink-active"), r.setAttribute("data-p-ink-active", "false"), !tl(r) && !sl(r)) {
+ var i = Math.max(Uc(n), il(n));
r.style.height = i + "px", r.style.width = i + "px";
}
- var a = cl(n), o = e.pageX - a.left + document.body.scrollTop - fl(r) / 2, s = e.pageY - a.top + document.body.scrollLeft - ol(r) / 2;
- r.style.top = s + "px", r.style.left = o + "px", !this.isUnstyled() && Pc(r, "p-ink-active"), r.setAttribute("data-p-ink-active", "true"), this.timeout = setTimeout(function() {
- r && (!t.isUnstyled() && Lc(r, "p-ink-active"), r.setAttribute("data-p-ink-active", "false"));
+ var a = rl(n), o = e.pageX - a.left + document.body.scrollTop - sl(r) / 2, s = e.pageY - a.top + document.body.scrollLeft - tl(r) / 2;
+ r.style.top = s + "px", r.style.left = o + "px", !this.isUnstyled() && kc(r, "p-ink-active"), r.setAttribute("data-p-ink-active", "true"), this.timeout = setTimeout(function() {
+ r && (!t.isUnstyled() && Mc(r, "p-ink-active"), r.setAttribute("data-p-ink-active", "false"));
}, 401);
}
},
onAnimationEnd: function(e) {
- this.timeout && clearTimeout(this.timeout), !this.isUnstyled() && Lc(e.currentTarget, "p-ink-active"), e.currentTarget.setAttribute("data-p-ink-active", "false");
+ this.timeout && clearTimeout(this.timeout), !this.isUnstyled() && Mc(e.currentTarget, "p-ink-active"), e.currentTarget.setAttribute("data-p-ink-active", "false");
},
getInk: function(e) {
- return e && e.children ? $d(e.children).find(function(e) {
- return rl(e, "data-pc-name") === "ripple";
+ return e && e.children ? Jd(e.children).find(function(e) {
+ return Qc(e, "data-pc-name") === "ripple";
}) : void 0;
}
}
-}), uf = "\n .p-button {\n display: inline-flex;\n cursor: pointer;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n color: dt('button.primary.color');\n background: dt('button.primary.background');\n border: 1px solid dt('button.primary.border.color');\n padding: dt('button.padding.y') dt('button.padding.x');\n font-size: 1rem;\n font-family: inherit;\n font-feature-settings: inherit;\n transition:\n background dt('button.transition.duration'),\n color dt('button.transition.duration'),\n border-color dt('button.transition.duration'),\n outline-color dt('button.transition.duration'),\n box-shadow dt('button.transition.duration');\n border-radius: dt('button.border.radius');\n outline-color: transparent;\n gap: dt('button.gap');\n }\n\n .p-button:disabled {\n cursor: default;\n }\n\n .p-button-icon-right {\n order: 1;\n }\n\n .p-button-icon-right:dir(rtl) {\n order: -1;\n }\n\n .p-button:not(.p-button-vertical) .p-button-icon:not(.p-button-icon-right):dir(rtl) {\n order: 1;\n }\n\n .p-button-icon-bottom {\n order: 2;\n }\n\n .p-button-icon-only {\n width: dt('button.icon.only.width');\n padding-inline-start: 0;\n padding-inline-end: 0;\n gap: 0;\n }\n\n .p-button-icon-only.p-button-rounded {\n border-radius: 50%;\n height: dt('button.icon.only.width');\n }\n\n .p-button-icon-only .p-button-label {\n visibility: hidden;\n width: 0;\n }\n\n .p-button-icon-only::after {\n content: \"\xA0\";\n visibility: hidden;\n width: 0;\n }\n\n .p-button-sm {\n font-size: dt('button.sm.font.size');\n padding: dt('button.sm.padding.y') dt('button.sm.padding.x');\n }\n\n .p-button-sm .p-button-icon {\n font-size: dt('button.sm.font.size');\n }\n\n .p-button-sm.p-button-icon-only {\n width: dt('button.sm.icon.only.width');\n }\n\n .p-button-sm.p-button-icon-only.p-button-rounded {\n height: dt('button.sm.icon.only.width');\n }\n\n .p-button-lg {\n font-size: dt('button.lg.font.size');\n padding: dt('button.lg.padding.y') dt('button.lg.padding.x');\n }\n\n .p-button-lg .p-button-icon {\n font-size: dt('button.lg.font.size');\n }\n\n .p-button-lg.p-button-icon-only {\n width: dt('button.lg.icon.only.width');\n }\n\n .p-button-lg.p-button-icon-only.p-button-rounded {\n height: dt('button.lg.icon.only.width');\n }\n\n .p-button-vertical {\n flex-direction: column;\n }\n\n .p-button-label {\n font-weight: dt('button.label.font.weight');\n }\n\n .p-button-fluid {\n width: 100%;\n }\n\n .p-button-fluid.p-button-icon-only {\n width: dt('button.icon.only.width');\n }\n\n .p-button:not(:disabled):hover {\n background: dt('button.primary.hover.background');\n border: 1px solid dt('button.primary.hover.border.color');\n color: dt('button.primary.hover.color');\n }\n\n .p-button:not(:disabled):active {\n background: dt('button.primary.active.background');\n border: 1px solid dt('button.primary.active.border.color');\n color: dt('button.primary.active.color');\n }\n\n .p-button:focus-visible {\n box-shadow: dt('button.primary.focus.ring.shadow');\n outline: dt('button.focus.ring.width') dt('button.focus.ring.style') dt('button.primary.focus.ring.color');\n outline-offset: dt('button.focus.ring.offset');\n }\n\n .p-button .p-badge {\n min-width: dt('button.badge.size');\n height: dt('button.badge.size');\n line-height: dt('button.badge.size');\n }\n\n .p-button-raised {\n box-shadow: dt('button.raised.shadow');\n }\n\n .p-button-rounded {\n border-radius: dt('button.rounded.border.radius');\n }\n\n .p-button-secondary {\n background: dt('button.secondary.background');\n border: 1px solid dt('button.secondary.border.color');\n color: dt('button.secondary.color');\n }\n\n .p-button-secondary:not(:disabled):hover {\n background: dt('button.secondary.hover.background');\n border: 1px solid dt('button.secondary.hover.border.color');\n color: dt('button.secondary.hover.color');\n }\n\n .p-button-secondary:not(:disabled):active {\n background: dt('button.secondary.active.background');\n border: 1px solid dt('button.secondary.active.border.color');\n color: dt('button.secondary.active.color');\n }\n\n .p-button-secondary:focus-visible {\n outline-color: dt('button.secondary.focus.ring.color');\n box-shadow: dt('button.secondary.focus.ring.shadow');\n }\n\n .p-button-success {\n background: dt('button.success.background');\n border: 1px solid dt('button.success.border.color');\n color: dt('button.success.color');\n }\n\n .p-button-success:not(:disabled):hover {\n background: dt('button.success.hover.background');\n border: 1px solid dt('button.success.hover.border.color');\n color: dt('button.success.hover.color');\n }\n\n .p-button-success:not(:disabled):active {\n background: dt('button.success.active.background');\n border: 1px solid dt('button.success.active.border.color');\n color: dt('button.success.active.color');\n }\n\n .p-button-success:focus-visible {\n outline-color: dt('button.success.focus.ring.color');\n box-shadow: dt('button.success.focus.ring.shadow');\n }\n\n .p-button-info {\n background: dt('button.info.background');\n border: 1px solid dt('button.info.border.color');\n color: dt('button.info.color');\n }\n\n .p-button-info:not(:disabled):hover {\n background: dt('button.info.hover.background');\n border: 1px solid dt('button.info.hover.border.color');\n color: dt('button.info.hover.color');\n }\n\n .p-button-info:not(:disabled):active {\n background: dt('button.info.active.background');\n border: 1px solid dt('button.info.active.border.color');\n color: dt('button.info.active.color');\n }\n\n .p-button-info:focus-visible {\n outline-color: dt('button.info.focus.ring.color');\n box-shadow: dt('button.info.focus.ring.shadow');\n }\n\n .p-button-warn {\n background: dt('button.warn.background');\n border: 1px solid dt('button.warn.border.color');\n color: dt('button.warn.color');\n }\n\n .p-button-warn:not(:disabled):hover {\n background: dt('button.warn.hover.background');\n border: 1px solid dt('button.warn.hover.border.color');\n color: dt('button.warn.hover.color');\n }\n\n .p-button-warn:not(:disabled):active {\n background: dt('button.warn.active.background');\n border: 1px solid dt('button.warn.active.border.color');\n color: dt('button.warn.active.color');\n }\n\n .p-button-warn:focus-visible {\n outline-color: dt('button.warn.focus.ring.color');\n box-shadow: dt('button.warn.focus.ring.shadow');\n }\n\n .p-button-help {\n background: dt('button.help.background');\n border: 1px solid dt('button.help.border.color');\n color: dt('button.help.color');\n }\n\n .p-button-help:not(:disabled):hover {\n background: dt('button.help.hover.background');\n border: 1px solid dt('button.help.hover.border.color');\n color: dt('button.help.hover.color');\n }\n\n .p-button-help:not(:disabled):active {\n background: dt('button.help.active.background');\n border: 1px solid dt('button.help.active.border.color');\n color: dt('button.help.active.color');\n }\n\n .p-button-help:focus-visible {\n outline-color: dt('button.help.focus.ring.color');\n box-shadow: dt('button.help.focus.ring.shadow');\n }\n\n .p-button-danger {\n background: dt('button.danger.background');\n border: 1px solid dt('button.danger.border.color');\n color: dt('button.danger.color');\n }\n\n .p-button-danger:not(:disabled):hover {\n background: dt('button.danger.hover.background');\n border: 1px solid dt('button.danger.hover.border.color');\n color: dt('button.danger.hover.color');\n }\n\n .p-button-danger:not(:disabled):active {\n background: dt('button.danger.active.background');\n border: 1px solid dt('button.danger.active.border.color');\n color: dt('button.danger.active.color');\n }\n\n .p-button-danger:focus-visible {\n outline-color: dt('button.danger.focus.ring.color');\n box-shadow: dt('button.danger.focus.ring.shadow');\n }\n\n .p-button-contrast {\n background: dt('button.contrast.background');\n border: 1px solid dt('button.contrast.border.color');\n color: dt('button.contrast.color');\n }\n\n .p-button-contrast:not(:disabled):hover {\n background: dt('button.contrast.hover.background');\n border: 1px solid dt('button.contrast.hover.border.color');\n color: dt('button.contrast.hover.color');\n }\n\n .p-button-contrast:not(:disabled):active {\n background: dt('button.contrast.active.background');\n border: 1px solid dt('button.contrast.active.border.color');\n color: dt('button.contrast.active.color');\n }\n\n .p-button-contrast:focus-visible {\n outline-color: dt('button.contrast.focus.ring.color');\n box-shadow: dt('button.contrast.focus.ring.shadow');\n }\n\n .p-button-outlined {\n background: transparent;\n border-color: dt('button.outlined.primary.border.color');\n color: dt('button.outlined.primary.color');\n }\n\n .p-button-outlined:not(:disabled):hover {\n background: dt('button.outlined.primary.hover.background');\n border-color: dt('button.outlined.primary.border.color');\n color: dt('button.outlined.primary.color');\n }\n\n .p-button-outlined:not(:disabled):active {\n background: dt('button.outlined.primary.active.background');\n border-color: dt('button.outlined.primary.border.color');\n color: dt('button.outlined.primary.color');\n }\n\n .p-button-outlined.p-button-secondary {\n border-color: dt('button.outlined.secondary.border.color');\n color: dt('button.outlined.secondary.color');\n }\n\n .p-button-outlined.p-button-secondary:not(:disabled):hover {\n background: dt('button.outlined.secondary.hover.background');\n border-color: dt('button.outlined.secondary.border.color');\n color: dt('button.outlined.secondary.color');\n }\n\n .p-button-outlined.p-button-secondary:not(:disabled):active {\n background: dt('button.outlined.secondary.active.background');\n border-color: dt('button.outlined.secondary.border.color');\n color: dt('button.outlined.secondary.color');\n }\n\n .p-button-outlined.p-button-success {\n border-color: dt('button.outlined.success.border.color');\n color: dt('button.outlined.success.color');\n }\n\n .p-button-outlined.p-button-success:not(:disabled):hover {\n background: dt('button.outlined.success.hover.background');\n border-color: dt('button.outlined.success.border.color');\n color: dt('button.outlined.success.color');\n }\n\n .p-button-outlined.p-button-success:not(:disabled):active {\n background: dt('button.outlined.success.active.background');\n border-color: dt('button.outlined.success.border.color');\n color: dt('button.outlined.success.color');\n }\n\n .p-button-outlined.p-button-info {\n border-color: dt('button.outlined.info.border.color');\n color: dt('button.outlined.info.color');\n }\n\n .p-button-outlined.p-button-info:not(:disabled):hover {\n background: dt('button.outlined.info.hover.background');\n border-color: dt('button.outlined.info.border.color');\n color: dt('button.outlined.info.color');\n }\n\n .p-button-outlined.p-button-info:not(:disabled):active {\n background: dt('button.outlined.info.active.background');\n border-color: dt('button.outlined.info.border.color');\n color: dt('button.outlined.info.color');\n }\n\n .p-button-outlined.p-button-warn {\n border-color: dt('button.outlined.warn.border.color');\n color: dt('button.outlined.warn.color');\n }\n\n .p-button-outlined.p-button-warn:not(:disabled):hover {\n background: dt('button.outlined.warn.hover.background');\n border-color: dt('button.outlined.warn.border.color');\n color: dt('button.outlined.warn.color');\n }\n\n .p-button-outlined.p-button-warn:not(:disabled):active {\n background: dt('button.outlined.warn.active.background');\n border-color: dt('button.outlined.warn.border.color');\n color: dt('button.outlined.warn.color');\n }\n\n .p-button-outlined.p-button-help {\n border-color: dt('button.outlined.help.border.color');\n color: dt('button.outlined.help.color');\n }\n\n .p-button-outlined.p-button-help:not(:disabled):hover {\n background: dt('button.outlined.help.hover.background');\n border-color: dt('button.outlined.help.border.color');\n color: dt('button.outlined.help.color');\n }\n\n .p-button-outlined.p-button-help:not(:disabled):active {\n background: dt('button.outlined.help.active.background');\n border-color: dt('button.outlined.help.border.color');\n color: dt('button.outlined.help.color');\n }\n\n .p-button-outlined.p-button-danger {\n border-color: dt('button.outlined.danger.border.color');\n color: dt('button.outlined.danger.color');\n }\n\n .p-button-outlined.p-button-danger:not(:disabled):hover {\n background: dt('button.outlined.danger.hover.background');\n border-color: dt('button.outlined.danger.border.color');\n color: dt('button.outlined.danger.color');\n }\n\n .p-button-outlined.p-button-danger:not(:disabled):active {\n background: dt('button.outlined.danger.active.background');\n border-color: dt('button.outlined.danger.border.color');\n color: dt('button.outlined.danger.color');\n }\n\n .p-button-outlined.p-button-contrast {\n border-color: dt('button.outlined.contrast.border.color');\n color: dt('button.outlined.contrast.color');\n }\n\n .p-button-outlined.p-button-contrast:not(:disabled):hover {\n background: dt('button.outlined.contrast.hover.background');\n border-color: dt('button.outlined.contrast.border.color');\n color: dt('button.outlined.contrast.color');\n }\n\n .p-button-outlined.p-button-contrast:not(:disabled):active {\n background: dt('button.outlined.contrast.active.background');\n border-color: dt('button.outlined.contrast.border.color');\n color: dt('button.outlined.contrast.color');\n }\n\n .p-button-outlined.p-button-plain {\n border-color: dt('button.outlined.plain.border.color');\n color: dt('button.outlined.plain.color');\n }\n\n .p-button-outlined.p-button-plain:not(:disabled):hover {\n background: dt('button.outlined.plain.hover.background');\n border-color: dt('button.outlined.plain.border.color');\n color: dt('button.outlined.plain.color');\n }\n\n .p-button-outlined.p-button-plain:not(:disabled):active {\n background: dt('button.outlined.plain.active.background');\n border-color: dt('button.outlined.plain.border.color');\n color: dt('button.outlined.plain.color');\n }\n\n .p-button-text {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.primary.color');\n }\n\n .p-button-text:not(:disabled):hover {\n background: dt('button.text.primary.hover.background');\n border-color: transparent;\n color: dt('button.text.primary.color');\n }\n\n .p-button-text:not(:disabled):active {\n background: dt('button.text.primary.active.background');\n border-color: transparent;\n color: dt('button.text.primary.color');\n }\n\n .p-button-text.p-button-secondary {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.secondary.color');\n }\n\n .p-button-text.p-button-secondary:not(:disabled):hover {\n background: dt('button.text.secondary.hover.background');\n border-color: transparent;\n color: dt('button.text.secondary.color');\n }\n\n .p-button-text.p-button-secondary:not(:disabled):active {\n background: dt('button.text.secondary.active.background');\n border-color: transparent;\n color: dt('button.text.secondary.color');\n }\n\n .p-button-text.p-button-success {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.success.color');\n }\n\n .p-button-text.p-button-success:not(:disabled):hover {\n background: dt('button.text.success.hover.background');\n border-color: transparent;\n color: dt('button.text.success.color');\n }\n\n .p-button-text.p-button-success:not(:disabled):active {\n background: dt('button.text.success.active.background');\n border-color: transparent;\n color: dt('button.text.success.color');\n }\n\n .p-button-text.p-button-info {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.info.color');\n }\n\n .p-button-text.p-button-info:not(:disabled):hover {\n background: dt('button.text.info.hover.background');\n border-color: transparent;\n color: dt('button.text.info.color');\n }\n\n .p-button-text.p-button-info:not(:disabled):active {\n background: dt('button.text.info.active.background');\n border-color: transparent;\n color: dt('button.text.info.color');\n }\n\n .p-button-text.p-button-warn {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.warn.color');\n }\n\n .p-button-text.p-button-warn:not(:disabled):hover {\n background: dt('button.text.warn.hover.background');\n border-color: transparent;\n color: dt('button.text.warn.color');\n }\n\n .p-button-text.p-button-warn:not(:disabled):active {\n background: dt('button.text.warn.active.background');\n border-color: transparent;\n color: dt('button.text.warn.color');\n }\n\n .p-button-text.p-button-help {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.help.color');\n }\n\n .p-button-text.p-button-help:not(:disabled):hover {\n background: dt('button.text.help.hover.background');\n border-color: transparent;\n color: dt('button.text.help.color');\n }\n\n .p-button-text.p-button-help:not(:disabled):active {\n background: dt('button.text.help.active.background');\n border-color: transparent;\n color: dt('button.text.help.color');\n }\n\n .p-button-text.p-button-danger {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.danger.color');\n }\n\n .p-button-text.p-button-danger:not(:disabled):hover {\n background: dt('button.text.danger.hover.background');\n border-color: transparent;\n color: dt('button.text.danger.color');\n }\n\n .p-button-text.p-button-danger:not(:disabled):active {\n background: dt('button.text.danger.active.background');\n border-color: transparent;\n color: dt('button.text.danger.color');\n }\n\n .p-button-text.p-button-contrast {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.contrast.color');\n }\n\n .p-button-text.p-button-contrast:not(:disabled):hover {\n background: dt('button.text.contrast.hover.background');\n border-color: transparent;\n color: dt('button.text.contrast.color');\n }\n\n .p-button-text.p-button-contrast:not(:disabled):active {\n background: dt('button.text.contrast.active.background');\n border-color: transparent;\n color: dt('button.text.contrast.color');\n }\n\n .p-button-text.p-button-plain {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.plain.color');\n }\n\n .p-button-text.p-button-plain:not(:disabled):hover {\n background: dt('button.text.plain.hover.background');\n border-color: transparent;\n color: dt('button.text.plain.color');\n }\n\n .p-button-text.p-button-plain:not(:disabled):active {\n background: dt('button.text.plain.active.background');\n border-color: transparent;\n color: dt('button.text.plain.color');\n }\n\n .p-button-link {\n background: transparent;\n border-color: transparent;\n color: dt('button.link.color');\n }\n\n .p-button-link:not(:disabled):hover {\n background: transparent;\n border-color: transparent;\n color: dt('button.link.hover.color');\n }\n\n .p-button-link:not(:disabled):hover .p-button-label {\n text-decoration: underline;\n }\n\n .p-button-link:not(:disabled):active {\n background: transparent;\n border-color: transparent;\n color: dt('button.link.active.color');\n }\n";
+}), af = "\n .p-button {\n display: inline-flex;\n cursor: pointer;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n color: dt('button.primary.color');\n background: dt('button.primary.background');\n border: 1px solid dt('button.primary.border.color');\n padding: dt('button.padding.y') dt('button.padding.x');\n font-size: 1rem;\n font-family: inherit;\n font-feature-settings: inherit;\n transition:\n background dt('button.transition.duration'),\n color dt('button.transition.duration'),\n border-color dt('button.transition.duration'),\n outline-color dt('button.transition.duration'),\n box-shadow dt('button.transition.duration');\n border-radius: dt('button.border.radius');\n outline-color: transparent;\n gap: dt('button.gap');\n }\n\n .p-button:disabled {\n cursor: default;\n }\n\n .p-button-icon-right {\n order: 1;\n }\n\n .p-button-icon-right:dir(rtl) {\n order: -1;\n }\n\n .p-button:not(.p-button-vertical) .p-button-icon:not(.p-button-icon-right):dir(rtl) {\n order: 1;\n }\n\n .p-button-icon-bottom {\n order: 2;\n }\n\n .p-button-icon-only {\n width: dt('button.icon.only.width');\n padding-inline-start: 0;\n padding-inline-end: 0;\n gap: 0;\n }\n\n .p-button-icon-only.p-button-rounded {\n border-radius: 50%;\n height: dt('button.icon.only.width');\n }\n\n .p-button-icon-only .p-button-label {\n visibility: hidden;\n width: 0;\n }\n\n .p-button-icon-only::after {\n content: \"\xA0\";\n visibility: hidden;\n width: 0;\n }\n\n .p-button-sm {\n font-size: dt('button.sm.font.size');\n padding: dt('button.sm.padding.y') dt('button.sm.padding.x');\n }\n\n .p-button-sm .p-button-icon {\n font-size: dt('button.sm.font.size');\n }\n\n .p-button-sm.p-button-icon-only {\n width: dt('button.sm.icon.only.width');\n }\n\n .p-button-sm.p-button-icon-only.p-button-rounded {\n height: dt('button.sm.icon.only.width');\n }\n\n .p-button-lg {\n font-size: dt('button.lg.font.size');\n padding: dt('button.lg.padding.y') dt('button.lg.padding.x');\n }\n\n .p-button-lg .p-button-icon {\n font-size: dt('button.lg.font.size');\n }\n\n .p-button-lg.p-button-icon-only {\n width: dt('button.lg.icon.only.width');\n }\n\n .p-button-lg.p-button-icon-only.p-button-rounded {\n height: dt('button.lg.icon.only.width');\n }\n\n .p-button-vertical {\n flex-direction: column;\n }\n\n .p-button-label {\n font-weight: dt('button.label.font.weight');\n }\n\n .p-button-fluid {\n width: 100%;\n }\n\n .p-button-fluid.p-button-icon-only {\n width: dt('button.icon.only.width');\n }\n\n .p-button:not(:disabled):hover {\n background: dt('button.primary.hover.background');\n border: 1px solid dt('button.primary.hover.border.color');\n color: dt('button.primary.hover.color');\n }\n\n .p-button:not(:disabled):active {\n background: dt('button.primary.active.background');\n border: 1px solid dt('button.primary.active.border.color');\n color: dt('button.primary.active.color');\n }\n\n .p-button:focus-visible {\n box-shadow: dt('button.primary.focus.ring.shadow');\n outline: dt('button.focus.ring.width') dt('button.focus.ring.style') dt('button.primary.focus.ring.color');\n outline-offset: dt('button.focus.ring.offset');\n }\n\n .p-button .p-badge {\n min-width: dt('button.badge.size');\n height: dt('button.badge.size');\n line-height: dt('button.badge.size');\n }\n\n .p-button-raised {\n box-shadow: dt('button.raised.shadow');\n }\n\n .p-button-rounded {\n border-radius: dt('button.rounded.border.radius');\n }\n\n .p-button-secondary {\n background: dt('button.secondary.background');\n border: 1px solid dt('button.secondary.border.color');\n color: dt('button.secondary.color');\n }\n\n .p-button-secondary:not(:disabled):hover {\n background: dt('button.secondary.hover.background');\n border: 1px solid dt('button.secondary.hover.border.color');\n color: dt('button.secondary.hover.color');\n }\n\n .p-button-secondary:not(:disabled):active {\n background: dt('button.secondary.active.background');\n border: 1px solid dt('button.secondary.active.border.color');\n color: dt('button.secondary.active.color');\n }\n\n .p-button-secondary:focus-visible {\n outline-color: dt('button.secondary.focus.ring.color');\n box-shadow: dt('button.secondary.focus.ring.shadow');\n }\n\n .p-button-success {\n background: dt('button.success.background');\n border: 1px solid dt('button.success.border.color');\n color: dt('button.success.color');\n }\n\n .p-button-success:not(:disabled):hover {\n background: dt('button.success.hover.background');\n border: 1px solid dt('button.success.hover.border.color');\n color: dt('button.success.hover.color');\n }\n\n .p-button-success:not(:disabled):active {\n background: dt('button.success.active.background');\n border: 1px solid dt('button.success.active.border.color');\n color: dt('button.success.active.color');\n }\n\n .p-button-success:focus-visible {\n outline-color: dt('button.success.focus.ring.color');\n box-shadow: dt('button.success.focus.ring.shadow');\n }\n\n .p-button-info {\n background: dt('button.info.background');\n border: 1px solid dt('button.info.border.color');\n color: dt('button.info.color');\n }\n\n .p-button-info:not(:disabled):hover {\n background: dt('button.info.hover.background');\n border: 1px solid dt('button.info.hover.border.color');\n color: dt('button.info.hover.color');\n }\n\n .p-button-info:not(:disabled):active {\n background: dt('button.info.active.background');\n border: 1px solid dt('button.info.active.border.color');\n color: dt('button.info.active.color');\n }\n\n .p-button-info:focus-visible {\n outline-color: dt('button.info.focus.ring.color');\n box-shadow: dt('button.info.focus.ring.shadow');\n }\n\n .p-button-warn {\n background: dt('button.warn.background');\n border: 1px solid dt('button.warn.border.color');\n color: dt('button.warn.color');\n }\n\n .p-button-warn:not(:disabled):hover {\n background: dt('button.warn.hover.background');\n border: 1px solid dt('button.warn.hover.border.color');\n color: dt('button.warn.hover.color');\n }\n\n .p-button-warn:not(:disabled):active {\n background: dt('button.warn.active.background');\n border: 1px solid dt('button.warn.active.border.color');\n color: dt('button.warn.active.color');\n }\n\n .p-button-warn:focus-visible {\n outline-color: dt('button.warn.focus.ring.color');\n box-shadow: dt('button.warn.focus.ring.shadow');\n }\n\n .p-button-help {\n background: dt('button.help.background');\n border: 1px solid dt('button.help.border.color');\n color: dt('button.help.color');\n }\n\n .p-button-help:not(:disabled):hover {\n background: dt('button.help.hover.background');\n border: 1px solid dt('button.help.hover.border.color');\n color: dt('button.help.hover.color');\n }\n\n .p-button-help:not(:disabled):active {\n background: dt('button.help.active.background');\n border: 1px solid dt('button.help.active.border.color');\n color: dt('button.help.active.color');\n }\n\n .p-button-help:focus-visible {\n outline-color: dt('button.help.focus.ring.color');\n box-shadow: dt('button.help.focus.ring.shadow');\n }\n\n .p-button-danger {\n background: dt('button.danger.background');\n border: 1px solid dt('button.danger.border.color');\n color: dt('button.danger.color');\n }\n\n .p-button-danger:not(:disabled):hover {\n background: dt('button.danger.hover.background');\n border: 1px solid dt('button.danger.hover.border.color');\n color: dt('button.danger.hover.color');\n }\n\n .p-button-danger:not(:disabled):active {\n background: dt('button.danger.active.background');\n border: 1px solid dt('button.danger.active.border.color');\n color: dt('button.danger.active.color');\n }\n\n .p-button-danger:focus-visible {\n outline-color: dt('button.danger.focus.ring.color');\n box-shadow: dt('button.danger.focus.ring.shadow');\n }\n\n .p-button-contrast {\n background: dt('button.contrast.background');\n border: 1px solid dt('button.contrast.border.color');\n color: dt('button.contrast.color');\n }\n\n .p-button-contrast:not(:disabled):hover {\n background: dt('button.contrast.hover.background');\n border: 1px solid dt('button.contrast.hover.border.color');\n color: dt('button.contrast.hover.color');\n }\n\n .p-button-contrast:not(:disabled):active {\n background: dt('button.contrast.active.background');\n border: 1px solid dt('button.contrast.active.border.color');\n color: dt('button.contrast.active.color');\n }\n\n .p-button-contrast:focus-visible {\n outline-color: dt('button.contrast.focus.ring.color');\n box-shadow: dt('button.contrast.focus.ring.shadow');\n }\n\n .p-button-outlined {\n background: transparent;\n border-color: dt('button.outlined.primary.border.color');\n color: dt('button.outlined.primary.color');\n }\n\n .p-button-outlined:not(:disabled):hover {\n background: dt('button.outlined.primary.hover.background');\n border-color: dt('button.outlined.primary.border.color');\n color: dt('button.outlined.primary.color');\n }\n\n .p-button-outlined:not(:disabled):active {\n background: dt('button.outlined.primary.active.background');\n border-color: dt('button.outlined.primary.border.color');\n color: dt('button.outlined.primary.color');\n }\n\n .p-button-outlined.p-button-secondary {\n border-color: dt('button.outlined.secondary.border.color');\n color: dt('button.outlined.secondary.color');\n }\n\n .p-button-outlined.p-button-secondary:not(:disabled):hover {\n background: dt('button.outlined.secondary.hover.background');\n border-color: dt('button.outlined.secondary.border.color');\n color: dt('button.outlined.secondary.color');\n }\n\n .p-button-outlined.p-button-secondary:not(:disabled):active {\n background: dt('button.outlined.secondary.active.background');\n border-color: dt('button.outlined.secondary.border.color');\n color: dt('button.outlined.secondary.color');\n }\n\n .p-button-outlined.p-button-success {\n border-color: dt('button.outlined.success.border.color');\n color: dt('button.outlined.success.color');\n }\n\n .p-button-outlined.p-button-success:not(:disabled):hover {\n background: dt('button.outlined.success.hover.background');\n border-color: dt('button.outlined.success.border.color');\n color: dt('button.outlined.success.color');\n }\n\n .p-button-outlined.p-button-success:not(:disabled):active {\n background: dt('button.outlined.success.active.background');\n border-color: dt('button.outlined.success.border.color');\n color: dt('button.outlined.success.color');\n }\n\n .p-button-outlined.p-button-info {\n border-color: dt('button.outlined.info.border.color');\n color: dt('button.outlined.info.color');\n }\n\n .p-button-outlined.p-button-info:not(:disabled):hover {\n background: dt('button.outlined.info.hover.background');\n border-color: dt('button.outlined.info.border.color');\n color: dt('button.outlined.info.color');\n }\n\n .p-button-outlined.p-button-info:not(:disabled):active {\n background: dt('button.outlined.info.active.background');\n border-color: dt('button.outlined.info.border.color');\n color: dt('button.outlined.info.color');\n }\n\n .p-button-outlined.p-button-warn {\n border-color: dt('button.outlined.warn.border.color');\n color: dt('button.outlined.warn.color');\n }\n\n .p-button-outlined.p-button-warn:not(:disabled):hover {\n background: dt('button.outlined.warn.hover.background');\n border-color: dt('button.outlined.warn.border.color');\n color: dt('button.outlined.warn.color');\n }\n\n .p-button-outlined.p-button-warn:not(:disabled):active {\n background: dt('button.outlined.warn.active.background');\n border-color: dt('button.outlined.warn.border.color');\n color: dt('button.outlined.warn.color');\n }\n\n .p-button-outlined.p-button-help {\n border-color: dt('button.outlined.help.border.color');\n color: dt('button.outlined.help.color');\n }\n\n .p-button-outlined.p-button-help:not(:disabled):hover {\n background: dt('button.outlined.help.hover.background');\n border-color: dt('button.outlined.help.border.color');\n color: dt('button.outlined.help.color');\n }\n\n .p-button-outlined.p-button-help:not(:disabled):active {\n background: dt('button.outlined.help.active.background');\n border-color: dt('button.outlined.help.border.color');\n color: dt('button.outlined.help.color');\n }\n\n .p-button-outlined.p-button-danger {\n border-color: dt('button.outlined.danger.border.color');\n color: dt('button.outlined.danger.color');\n }\n\n .p-button-outlined.p-button-danger:not(:disabled):hover {\n background: dt('button.outlined.danger.hover.background');\n border-color: dt('button.outlined.danger.border.color');\n color: dt('button.outlined.danger.color');\n }\n\n .p-button-outlined.p-button-danger:not(:disabled):active {\n background: dt('button.outlined.danger.active.background');\n border-color: dt('button.outlined.danger.border.color');\n color: dt('button.outlined.danger.color');\n }\n\n .p-button-outlined.p-button-contrast {\n border-color: dt('button.outlined.contrast.border.color');\n color: dt('button.outlined.contrast.color');\n }\n\n .p-button-outlined.p-button-contrast:not(:disabled):hover {\n background: dt('button.outlined.contrast.hover.background');\n border-color: dt('button.outlined.contrast.border.color');\n color: dt('button.outlined.contrast.color');\n }\n\n .p-button-outlined.p-button-contrast:not(:disabled):active {\n background: dt('button.outlined.contrast.active.background');\n border-color: dt('button.outlined.contrast.border.color');\n color: dt('button.outlined.contrast.color');\n }\n\n .p-button-outlined.p-button-plain {\n border-color: dt('button.outlined.plain.border.color');\n color: dt('button.outlined.plain.color');\n }\n\n .p-button-outlined.p-button-plain:not(:disabled):hover {\n background: dt('button.outlined.plain.hover.background');\n border-color: dt('button.outlined.plain.border.color');\n color: dt('button.outlined.plain.color');\n }\n\n .p-button-outlined.p-button-plain:not(:disabled):active {\n background: dt('button.outlined.plain.active.background');\n border-color: dt('button.outlined.plain.border.color');\n color: dt('button.outlined.plain.color');\n }\n\n .p-button-text {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.primary.color');\n }\n\n .p-button-text:not(:disabled):hover {\n background: dt('button.text.primary.hover.background');\n border-color: transparent;\n color: dt('button.text.primary.color');\n }\n\n .p-button-text:not(:disabled):active {\n background: dt('button.text.primary.active.background');\n border-color: transparent;\n color: dt('button.text.primary.color');\n }\n\n .p-button-text.p-button-secondary {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.secondary.color');\n }\n\n .p-button-text.p-button-secondary:not(:disabled):hover {\n background: dt('button.text.secondary.hover.background');\n border-color: transparent;\n color: dt('button.text.secondary.color');\n }\n\n .p-button-text.p-button-secondary:not(:disabled):active {\n background: dt('button.text.secondary.active.background');\n border-color: transparent;\n color: dt('button.text.secondary.color');\n }\n\n .p-button-text.p-button-success {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.success.color');\n }\n\n .p-button-text.p-button-success:not(:disabled):hover {\n background: dt('button.text.success.hover.background');\n border-color: transparent;\n color: dt('button.text.success.color');\n }\n\n .p-button-text.p-button-success:not(:disabled):active {\n background: dt('button.text.success.active.background');\n border-color: transparent;\n color: dt('button.text.success.color');\n }\n\n .p-button-text.p-button-info {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.info.color');\n }\n\n .p-button-text.p-button-info:not(:disabled):hover {\n background: dt('button.text.info.hover.background');\n border-color: transparent;\n color: dt('button.text.info.color');\n }\n\n .p-button-text.p-button-info:not(:disabled):active {\n background: dt('button.text.info.active.background');\n border-color: transparent;\n color: dt('button.text.info.color');\n }\n\n .p-button-text.p-button-warn {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.warn.color');\n }\n\n .p-button-text.p-button-warn:not(:disabled):hover {\n background: dt('button.text.warn.hover.background');\n border-color: transparent;\n color: dt('button.text.warn.color');\n }\n\n .p-button-text.p-button-warn:not(:disabled):active {\n background: dt('button.text.warn.active.background');\n border-color: transparent;\n color: dt('button.text.warn.color');\n }\n\n .p-button-text.p-button-help {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.help.color');\n }\n\n .p-button-text.p-button-help:not(:disabled):hover {\n background: dt('button.text.help.hover.background');\n border-color: transparent;\n color: dt('button.text.help.color');\n }\n\n .p-button-text.p-button-help:not(:disabled):active {\n background: dt('button.text.help.active.background');\n border-color: transparent;\n color: dt('button.text.help.color');\n }\n\n .p-button-text.p-button-danger {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.danger.color');\n }\n\n .p-button-text.p-button-danger:not(:disabled):hover {\n background: dt('button.text.danger.hover.background');\n border-color: transparent;\n color: dt('button.text.danger.color');\n }\n\n .p-button-text.p-button-danger:not(:disabled):active {\n background: dt('button.text.danger.active.background');\n border-color: transparent;\n color: dt('button.text.danger.color');\n }\n\n .p-button-text.p-button-contrast {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.contrast.color');\n }\n\n .p-button-text.p-button-contrast:not(:disabled):hover {\n background: dt('button.text.contrast.hover.background');\n border-color: transparent;\n color: dt('button.text.contrast.color');\n }\n\n .p-button-text.p-button-contrast:not(:disabled):active {\n background: dt('button.text.contrast.active.background');\n border-color: transparent;\n color: dt('button.text.contrast.color');\n }\n\n .p-button-text.p-button-plain {\n background: transparent;\n border-color: transparent;\n color: dt('button.text.plain.color');\n }\n\n .p-button-text.p-button-plain:not(:disabled):hover {\n background: dt('button.text.plain.hover.background');\n border-color: transparent;\n color: dt('button.text.plain.color');\n }\n\n .p-button-text.p-button-plain:not(:disabled):active {\n background: dt('button.text.plain.active.background');\n border-color: transparent;\n color: dt('button.text.plain.color');\n }\n\n .p-button-link {\n background: transparent;\n border-color: transparent;\n color: dt('button.link.color');\n }\n\n .p-button-link:not(:disabled):hover {\n background: transparent;\n border-color: transparent;\n color: dt('button.link.hover.color');\n }\n\n .p-button-link:not(:disabled):hover .p-button-label {\n text-decoration: underline;\n }\n\n .p-button-link:not(:disabled):active {\n background: transparent;\n border-color: transparent;\n color: dt('button.link.active.color');\n }\n";
// node_modules/primevue/button/style/index.mjs
-function df(e) {
+function of(e) {
"@babel/helpers - typeof";
- return df = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return of = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, df(e);
+ }, of(e);
}
-function ff(e, t, n) {
- return (t = pf(t)) in e ? Object.defineProperty(e, t, {
+function sf(e, t, n) {
+ return (t = cf(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function pf(e) {
- var t = mf(e, "string");
- return df(t) == "symbol" ? t : t + "";
+function cf(e) {
+ var t = lf(e, "string");
+ return of(t) == "symbol" ? t : t + "";
}
-function mf(e, t) {
- if (df(e) != "object" || !e) return e;
+function lf(e, t) {
+ if (of(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (df(r) != "object") return r;
+ if (of(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var hf = X.extend({
+var uf = X.extend({
name: "button",
- style: uf,
+ style: af,
classes: {
root: function(e) {
var t = e.instance, n = e.props;
- return ["p-button p-component", ff(ff(ff(ff(ff(ff(ff(ff(ff({
+ return ["p-button p-component", sf(sf(sf(sf(sf(sf(sf(sf(sf({
"p-button-icon-only": t.hasIcon && !n.label && !n.badge,
"p-button-vertical": (n.iconPos === "top" || n.iconPos === "bottom") && n.label,
"p-button-loading": n.loading,
@@ -6581,13 +6503,13 @@ var hf = X.extend({
loadingIcon: "p-button-loading-icon",
icon: function(e) {
var t = e.props;
- return ["p-button-icon", ff({}, `p-button-icon-${t.iconPos}`, t.label)];
+ return ["p-button-icon", sf({}, `p-button-icon-${t.iconPos}`, t.label)];
},
label: "p-button-label"
}
-}), gf = {
+}), df = {
name: "BaseButton",
- extends: pd,
+ extends: cd,
props: {
label: {
type: String,
@@ -6674,7 +6596,7 @@ var hf = X.extend({
default: null
}
},
- style: hf,
+ style: uf,
provide: function() {
return {
$pcButton: this,
@@ -6682,39 +6604,39 @@ var hf = X.extend({
};
}
};
-function _f(e) {
+function ff(e) {
"@babel/helpers - typeof";
- return _f = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return ff = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, _f(e);
+ }, ff(e);
}
-function vf(e, t, n) {
- return (t = yf(t)) in e ? Object.defineProperty(e, t, {
+function pf(e, t, n) {
+ return (t = mf(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function yf(e) {
- var t = bf(e, "string");
- return _f(t) == "symbol" ? t : t + "";
+function mf(e) {
+ var t = hf(e, "string");
+ return ff(t) == "symbol" ? t : t + "";
}
-function bf(e, t) {
- if (_f(e) != "object" || !e) return e;
+function hf(e, t) {
+ if (ff(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (_f(r) != "object") return r;
+ if (ff(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var xf = {
+var gf = {
name: "Button",
- extends: gf,
+ extends: df,
inheritAttrs: !1,
inject: { $pcFluid: { default: null } },
methods: { getPTOptions: function(e) {
@@ -6731,7 +6653,7 @@ var xf = {
return this.icon || this.$slots.icon;
},
attrs: function() {
- return G(this.asAttrs, this.a11yAttrs, this.getPTOptions("root"));
+ return W(this.asAttrs, this.a11yAttrs, this.getPTOptions("root"));
},
asAttrs: function() {
return this.as === "BUTTON" ? {
@@ -6748,31 +6670,31 @@ var xf = {
};
},
hasFluid: function() {
- return cc(this.fluid) ? !!this.$pcFluid : this.fluid;
+ return rc(this.fluid) ? !!this.$pcFluid : this.fluid;
},
dataP: function() {
- return q(vf(vf(vf(vf(vf(vf(vf(vf(vf(vf({}, this.size, this.size), "icon-only", this.hasIcon && !this.label && !this.badge), "loading", this.loading), "fluid", this.hasFluid), "rounded", this.rounded), "raised", this.raised), "outlined", this.outlined || this.variant === "outlined"), "text", this.text || this.variant === "text"), "link", this.link || this.variant === "link"), "vertical", (this.iconPos === "top" || this.iconPos === "bottom") && this.label));
+ return q(pf(pf(pf(pf(pf(pf(pf(pf(pf(pf({}, this.size, this.size), "icon-only", this.hasIcon && !this.label && !this.badge), "loading", this.loading), "fluid", this.hasFluid), "rounded", this.rounded), "raised", this.raised), "outlined", this.outlined || this.variant === "outlined"), "text", this.text || this.variant === "text"), "link", this.link || this.variant === "link"), "vertical", (this.iconPos === "top" || this.iconPos === "bottom") && this.label));
},
dataIconP: function() {
- return q(vf(vf({}, this.iconPos, this.iconPos), this.size, this.size));
+ return q(pf(pf({}, this.iconPos, this.iconPos), this.size, this.size));
},
dataLabelP: function() {
- return q(vf(vf({}, this.size, this.size), "icon-only", this.hasIcon && !this.label && !this.badge));
+ return q(pf(pf({}, this.size, this.size), "icon-only", this.hasIcon && !this.label && !this.badge));
}
},
components: {
- SpinnerIcon: Sd,
- Badge: Id
+ SpinnerIcon: _d,
+ Badge: jd
},
- directives: { ripple: lf }
-}, Sf = ["data-p"], Cf = ["data-p"];
-function wf(e, t, n, r, i, a) {
- var o = F("SpinnerIcon"), s = F("Badge"), c = mi("ripple");
+ directives: { ripple: rf }
+}, _f = ["data-p"], vf = ["data-p"];
+function yf(e, t, n, r, i, a) {
+ var o = F("SpinnerIcon"), s = F("Badge"), c = di("ripple");
return e.asChild ? I(e.$slots, "default", {
key: 1,
class: O(e.cx("root")),
a11yAttrs: a.a11yAttrs
- }) : qn((z(), V(pi(e.as), G({
+ }) : Wn((R(), B(ui(e.as), W({
key: 0,
class: e.cx("root"),
"data-p": a.dataP
@@ -6780,27 +6702,27 @@ function wf(e, t, n, r, i, a) {
default: P(function() {
return [I(e.$slots, "default", {}, function() {
return [
- e.loading ? I(e.$slots, "loadingicon", G({
+ e.loading ? I(e.$slots, "loadingicon", W({
key: 0,
class: [e.cx("loadingIcon"), e.cx("icon")]
}, e.ptm("loadingIcon")), function() {
- return [e.loadingIcon ? (z(), B("span", G({
+ return [e.loadingIcon ? (R(), z("span", W({
key: 0,
class: [
e.cx("loadingIcon"),
e.cx("icon"),
e.loadingIcon
]
- }, e.ptm("loadingIcon")), null, 16)) : (z(), V(o, G({
+ }, e.ptm("loadingIcon")), null, 16)) : (R(), B(o, W({
key: 1,
class: [e.cx("loadingIcon"), e.cx("icon")],
spin: ""
}, e.ptm("loadingIcon")), null, 16, ["class"]))];
- }) : I(e.$slots, "icon", G({
+ }) : I(e.$slots, "icon", W({
key: 1,
class: [e.cx("icon")]
}, e.ptm("icon")), function() {
- return [e.icon ? (z(), B("span", G({
+ return [e.icon ? (R(), z("span", W({
key: 0,
class: [
e.cx("icon"),
@@ -6808,13 +6730,13 @@ function wf(e, t, n, r, i, a) {
e.iconClass
],
"data-p": a.dataIconP
- }, e.ptm("icon")), null, 16, Sf)) : W("", !0)];
+ }, e.ptm("icon")), null, 16, _f)) : U("", !0)];
}),
- e.label ? (z(), B("span", G({
+ e.label ? (R(), z("span", W({
key: 2,
class: e.cx("label")
- }, e.ptm("label"), { "data-p": a.dataLabelP }), k(e.label), 17, Cf)) : W("", !0),
- e.badge ? (z(), V(s, {
+ }, e.ptm("label"), { "data-p": a.dataLabelP }), k(e.label), 17, vf)) : U("", !0),
+ e.badge ? (R(), B(s, {
key: 3,
value: e.badge,
class: O(e.badgeClass),
@@ -6827,102 +6749,102 @@ function wf(e, t, n, r, i, a) {
"severity",
"unstyled",
"pt"
- ])) : W("", !0)
+ ])) : U("", !0)
];
})];
}),
_: 3
}, 16, ["class", "data-p"])), [[c]]);
}
-xf.render = wf;
+gf.render = yf;
// node_modules/@primevue/icons/check/index.mjs
-var Tf = {
+var bf = {
name: "CheckIcon",
- extends: xd
+ extends: gd
};
-function Ef(e) {
- return Af(e) || kf(e) || Of(e) || Df();
+function xf(e) {
+ return Tf(e) || wf(e) || Cf(e) || Sf();
}
-function Df() {
+function Sf() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function Of(e, t) {
+function Cf(e, t) {
if (e) {
- if (typeof e == "string") return jf(e, t);
+ if (typeof e == "string") return Ef(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? jf(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Ef(e, t) : void 0;
}
}
-function kf(e) {
+function wf(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function Af(e) {
- if (Array.isArray(e)) return jf(e);
+function Tf(e) {
+ if (Array.isArray(e)) return Ef(e);
}
-function jf(e, t) {
+function Ef(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function Mf(e, t, n, r, i, a) {
- return z(), B("svg", G({
+function Df(e, t, n, r, i, a) {
+ return R(), z("svg", W({
width: "14",
height: "14",
viewBox: "0 0 14 14",
fill: "none",
xmlns: "http://www.w3.org/2000/svg"
- }, e.pti()), Ef(t[0] ||= [H("path", {
+ }, e.pti()), xf(t[0] ||= [V("path", {
d: "M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z",
fill: "currentColor"
}, null, -1)]), 16);
}
-Tf.render = Mf;
+bf.render = Df;
// node_modules/@primevue/icons/minus/index.mjs
-var Nf = {
+var Of = {
name: "MinusIcon",
- extends: xd
+ extends: gd
};
-function Pf(e) {
- return Rf(e) || Lf(e) || If(e) || Ff();
+function kf(e) {
+ return Nf(e) || Mf(e) || jf(e) || Af();
}
-function Ff() {
+function Af() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function If(e, t) {
+function jf(e, t) {
if (e) {
- if (typeof e == "string") return zf(e, t);
+ if (typeof e == "string") return Pf(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? zf(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Pf(e, t) : void 0;
}
}
-function Lf(e) {
+function Mf(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function Rf(e) {
- if (Array.isArray(e)) return zf(e);
+function Nf(e) {
+ if (Array.isArray(e)) return Pf(e);
}
-function zf(e, t) {
+function Pf(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function Bf(e, t, n, r, i, a) {
- return z(), B("svg", G({
+function Ff(e, t, n, r, i, a) {
+ return R(), z("svg", W({
width: "14",
height: "14",
viewBox: "0 0 14 14",
fill: "none",
xmlns: "http://www.w3.org/2000/svg"
- }, e.pti()), Pf(t[0] ||= [H("path", {
+ }, e.pti()), kf(t[0] ||= [V("path", {
d: "M13.2222 7.77778H0.777778C0.571498 7.77778 0.373667 7.69584 0.227806 7.54998C0.0819442 7.40412 0 7.20629 0 7.00001C0 6.79373 0.0819442 6.5959 0.227806 6.45003C0.373667 6.30417 0.571498 6.22223 0.777778 6.22223H13.2222C13.4285 6.22223 13.6263 6.30417 13.7722 6.45003C13.9181 6.5959 14 6.79373 14 7.00001C14 7.20629 13.9181 7.40412 13.7722 7.54998C13.6263 7.69584 13.4285 7.77778 13.2222 7.77778Z",
fill: "currentColor"
}, null, -1)]), 16);
}
-Nf.render = Bf;
+Of.render = Ff;
// node_modules/@primevue/core/baseeditableholder/index.mjs
-var Vf = {
+var If = {
name: "BaseEditableHolder",
- extends: pd,
+ extends: cd,
emits: ["update:modelValue", "value-change"],
props: {
modelValue: {
@@ -7041,9 +6963,9 @@ var Vf = {
return this.$filled;
}
}
-}, Hf = {
+}, Lf = {
name: "BaseInput",
- extends: Vf,
+ extends: If,
props: {
size: {
type: String,
@@ -7073,7 +6995,7 @@ var Vf = {
return this.$fluid;
}
}
-}, Uf = X.extend({
+}, Rf = X.extend({
name: "checkbox",
style: "\n .p-checkbox {\n position: relative;\n display: inline-flex;\n user-select: none;\n vertical-align: bottom;\n width: dt('checkbox.width');\n height: dt('checkbox.height');\n }\n\n .p-checkbox-input {\n cursor: pointer;\n appearance: none;\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: 1;\n outline: 0 none;\n border: 1px solid transparent;\n border-radius: dt('checkbox.border.radius');\n }\n\n .p-checkbox-box {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: dt('checkbox.border.radius');\n border: 1px solid dt('checkbox.border.color');\n background: dt('checkbox.background');\n width: dt('checkbox.width');\n height: dt('checkbox.height');\n transition:\n background dt('checkbox.transition.duration'),\n color dt('checkbox.transition.duration'),\n border-color dt('checkbox.transition.duration'),\n box-shadow dt('checkbox.transition.duration'),\n outline-color dt('checkbox.transition.duration');\n outline-color: transparent;\n box-shadow: dt('checkbox.shadow');\n }\n\n .p-checkbox-icon {\n transition-duration: dt('checkbox.transition.duration');\n color: dt('checkbox.icon.color');\n font-size: dt('checkbox.icon.size');\n width: dt('checkbox.icon.size');\n height: dt('checkbox.icon.size');\n }\n\n .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n border-color: dt('checkbox.hover.border.color');\n }\n\n .p-checkbox-checked .p-checkbox-box {\n border-color: dt('checkbox.checked.border.color');\n background: dt('checkbox.checked.background');\n }\n\n .p-checkbox-checked .p-checkbox-icon {\n color: dt('checkbox.icon.checked.color');\n }\n\n .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n background: dt('checkbox.checked.hover.background');\n border-color: dt('checkbox.checked.hover.border.color');\n }\n\n .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-icon {\n color: dt('checkbox.icon.checked.hover.color');\n }\n\n .p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {\n border-color: dt('checkbox.focus.border.color');\n box-shadow: dt('checkbox.focus.ring.shadow');\n outline: dt('checkbox.focus.ring.width') dt('checkbox.focus.ring.style') dt('checkbox.focus.ring.color');\n outline-offset: dt('checkbox.focus.ring.offset');\n }\n\n .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {\n border-color: dt('checkbox.checked.focus.border.color');\n }\n\n .p-checkbox.p-invalid > .p-checkbox-box {\n border-color: dt('checkbox.invalid.border.color');\n }\n\n .p-checkbox.p-variant-filled .p-checkbox-box {\n background: dt('checkbox.filled.background');\n }\n\n .p-checkbox-checked.p-variant-filled .p-checkbox-box {\n background: dt('checkbox.checked.background');\n }\n\n .p-checkbox-checked.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n background: dt('checkbox.checked.hover.background');\n }\n\n .p-checkbox.p-disabled {\n opacity: 1;\n }\n\n .p-checkbox.p-disabled .p-checkbox-box {\n background: dt('checkbox.disabled.background');\n border-color: dt('checkbox.checked.disabled.border.color');\n }\n\n .p-checkbox.p-disabled .p-checkbox-box .p-checkbox-icon {\n color: dt('checkbox.icon.disabled.color');\n }\n\n .p-checkbox-sm,\n .p-checkbox-sm .p-checkbox-box {\n width: dt('checkbox.sm.width');\n height: dt('checkbox.sm.height');\n }\n\n .p-checkbox-sm .p-checkbox-icon {\n font-size: dt('checkbox.icon.sm.size');\n width: dt('checkbox.icon.sm.size');\n height: dt('checkbox.icon.sm.size');\n }\n\n .p-checkbox-lg,\n .p-checkbox-lg .p-checkbox-box {\n width: dt('checkbox.lg.width');\n height: dt('checkbox.lg.height');\n }\n\n .p-checkbox-lg .p-checkbox-icon {\n font-size: dt('checkbox.icon.lg.size');\n width: dt('checkbox.icon.lg.size');\n height: dt('checkbox.icon.lg.size');\n }\n",
classes: {
@@ -7092,9 +7014,9 @@ var Vf = {
input: "p-checkbox-input",
icon: "p-checkbox-icon"
}
-}), Wf = {
+}), zf = {
name: "BaseCheckbox",
- extends: Hf,
+ extends: Lf,
props: {
value: null,
binary: Boolean,
@@ -7143,7 +7065,7 @@ var Vf = {
default: null
}
},
- style: Uf,
+ style: Rf,
provide: function() {
return {
$pcCheckbox: this,
@@ -7151,63 +7073,63 @@ var Vf = {
};
}
};
-function Gf(e) {
+function Bf(e) {
"@babel/helpers - typeof";
- return Gf = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return Bf = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, Gf(e);
+ }, Bf(e);
}
-function Kf(e, t, n) {
- return (t = qf(t)) in e ? Object.defineProperty(e, t, {
+function Vf(e, t, n) {
+ return (t = Hf(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function qf(e) {
- var t = Jf(e, "string");
- return Gf(t) == "symbol" ? t : t + "";
+function Hf(e) {
+ var t = Uf(e, "string");
+ return Bf(t) == "symbol" ? t : t + "";
}
-function Jf(e, t) {
- if (Gf(e) != "object" || !e) return e;
+function Uf(e, t) {
+ if (Bf(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (Gf(r) != "object") return r;
+ if (Bf(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-function Yf(e) {
- return $f(e) || Qf(e) || Zf(e) || Xf();
+function Wf(e) {
+ return Jf(e) || qf(e) || Kf(e) || Gf();
}
-function Xf() {
+function Gf() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function Zf(e, t) {
+function Kf(e, t) {
if (e) {
- if (typeof e == "string") return ep(e, t);
+ if (typeof e == "string") return Yf(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? ep(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Yf(e, t) : void 0;
}
}
-function Qf(e) {
+function qf(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function $f(e) {
- if (Array.isArray(e)) return ep(e);
+function Jf(e) {
+ if (Array.isArray(e)) return Yf(e);
}
-function ep(e, t) {
+function Yf(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-var tp = {
+var Xf = {
name: "Checkbox",
- extends: Wf,
+ extends: zf,
inheritAttrs: !1,
emits: [
"change",
@@ -7240,8 +7162,8 @@ var tp = {
var t = this;
if (!this.disabled && !this.readonly) {
var n = this.$pcCheckboxGroup ? this.$pcCheckboxGroup.d_value : this.d_value, r = this.binary ? this.d_indeterminate ? this.trueValue : this.checked ? this.falseValue : this.trueValue : this.checked || this.d_indeterminate ? n.filter(function(e) {
- return !pc(e, t.value);
- }) : n ? [].concat(Yf(n), [this.value]) : [this.value];
+ return !cc(e, t.value);
+ }) : n ? [].concat(Wf(n), [this.value]) : [this.value];
this.d_indeterminate && (this.d_indeterminate = !1, this.$emit("update:indeterminate", this.d_indeterminate)), this.$pcCheckboxGroup ? this.$pcCheckboxGroup.writeValue(r, e) : this.writeValue(r, e), this.$emit("change", e);
}
},
@@ -7262,10 +7184,10 @@ var tp = {
},
checked: function() {
var e = this.$pcCheckboxGroup ? this.$pcCheckboxGroup.d_value : this.d_value;
- return this.d_indeterminate ? !1 : this.binary ? e === this.trueValue : mc(this.value, e);
+ return this.d_indeterminate ? !1 : this.binary ? e === this.trueValue : lc(this.value, e);
},
dataP: function() {
- return q(Kf({
+ return q(Vf({
invalid: this.$invalid,
checked: this.checked,
disabled: this.disabled,
@@ -7274,15 +7196,15 @@ var tp = {
}
},
components: {
- CheckIcon: Tf,
- MinusIcon: Nf
+ CheckIcon: bf,
+ MinusIcon: Of
}
-}, np = [
+}, Zf = [
"data-p-checked",
"data-p-indeterminate",
"data-p-disabled",
"data-p"
-], rp = [
+], Qf = [
"id",
"value",
"name",
@@ -7294,15 +7216,15 @@ var tp = {
"aria-labelledby",
"aria-label",
"aria-invalid"
-], ip = ["data-p"];
-function ap(e, t, n, r, i, a) {
+], $f = ["data-p"];
+function ep(e, t, n, r, i, a) {
var o = F("CheckIcon"), s = F("MinusIcon");
- return z(), B("div", G({ class: e.cx("root") }, a.getPTOptions("root"), {
+ return R(), z("div", W({ class: e.cx("root") }, a.getPTOptions("root"), {
"data-p-checked": a.checked,
"data-p-indeterminate": i.d_indeterminate || void 0,
"data-p-disabled": e.disabled,
"data-p": a.dataP
- }), [H("input", G({
+ }), [V("input", W({
ref: "input",
id: e.inputId,
type: "checkbox",
@@ -7327,26 +7249,26 @@ function ap(e, t, n, r, i, a) {
onChange: t[2] ||= function() {
return a.onChange && a.onChange.apply(a, arguments);
}
- }, a.getPTOptions("input")), null, 16, rp), H("div", G({ class: e.cx("box") }, a.getPTOptions("box"), { "data-p": a.dataP }), [I(e.$slots, "icon", {
+ }, a.getPTOptions("input")), null, 16, Qf), V("div", W({ class: e.cx("box") }, a.getPTOptions("box"), { "data-p": a.dataP }), [I(e.$slots, "icon", {
checked: a.checked,
indeterminate: i.d_indeterminate,
class: O(e.cx("icon")),
dataP: a.dataP
}, function() {
- return [a.checked ? (z(), V(o, G({
+ return [a.checked ? (R(), B(o, W({
key: 0,
class: e.cx("icon")
- }, a.getPTOptions("icon"), { "data-p": a.dataP }), null, 16, ["class", "data-p"])) : i.d_indeterminate ? (z(), V(s, G({
+ }, a.getPTOptions("icon"), { "data-p": a.dataP }), null, 16, ["class", "data-p"])) : i.d_indeterminate ? (R(), B(s, W({
key: 1,
class: e.cx("icon")
- }, a.getPTOptions("icon"), { "data-p": a.dataP }), null, 16, ["class", "data-p"])) : W("", !0)];
- })], 16, ip)], 16, np);
+ }, a.getPTOptions("icon"), { "data-p": a.dataP }), null, 16, ["class", "data-p"])) : U("", !0)];
+ })], 16, $f)], 16, Zf);
}
-tp.render = ap;
+Xf.render = ep;
// node_modules/primevue/inputtext/index.mjs
-var op = {
+var tp = {
name: "BaseInputText",
- extends: Hf,
+ extends: Lf,
style: X.extend({
name: "inputtext",
style: "\n .p-inputtext {\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: dt('inputtext.color');\n background: dt('inputtext.background');\n padding-block: dt('inputtext.padding.y');\n padding-inline: dt('inputtext.padding.x');\n border: 1px solid dt('inputtext.border.color');\n transition:\n background dt('inputtext.transition.duration'),\n color dt('inputtext.transition.duration'),\n border-color dt('inputtext.transition.duration'),\n outline-color dt('inputtext.transition.duration'),\n box-shadow dt('inputtext.transition.duration');\n appearance: none;\n border-radius: dt('inputtext.border.radius');\n outline-color: transparent;\n box-shadow: dt('inputtext.shadow');\n }\n\n .p-inputtext:enabled:hover {\n border-color: dt('inputtext.hover.border.color');\n }\n\n .p-inputtext:enabled:focus {\n border-color: dt('inputtext.focus.border.color');\n box-shadow: dt('inputtext.focus.ring.shadow');\n outline: dt('inputtext.focus.ring.width') dt('inputtext.focus.ring.style') dt('inputtext.focus.ring.color');\n outline-offset: dt('inputtext.focus.ring.offset');\n }\n\n .p-inputtext.p-invalid {\n border-color: dt('inputtext.invalid.border.color');\n }\n\n .p-inputtext.p-variant-filled {\n background: dt('inputtext.filled.background');\n }\n\n .p-inputtext.p-variant-filled:enabled:hover {\n background: dt('inputtext.filled.hover.background');\n }\n\n .p-inputtext.p-variant-filled:enabled:focus {\n background: dt('inputtext.filled.focus.background');\n }\n\n .p-inputtext:disabled {\n opacity: 1;\n background: dt('inputtext.disabled.background');\n color: dt('inputtext.disabled.color');\n }\n\n .p-inputtext::placeholder {\n color: dt('inputtext.placeholder.color');\n }\n\n .p-inputtext.p-invalid::placeholder {\n color: dt('inputtext.invalid.placeholder.color');\n }\n\n .p-inputtext-sm {\n font-size: dt('inputtext.sm.font.size');\n padding-block: dt('inputtext.sm.padding.y');\n padding-inline: dt('inputtext.sm.padding.x');\n }\n\n .p-inputtext-lg {\n font-size: dt('inputtext.lg.font.size');\n padding-block: dt('inputtext.lg.padding.y');\n padding-inline: dt('inputtext.lg.padding.x');\n }\n\n .p-inputtext-fluid {\n width: 100%;\n }\n",
@@ -7369,67 +7291,67 @@ var op = {
};
}
};
-function sp(e) {
+function np(e) {
"@babel/helpers - typeof";
- return sp = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return np = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, sp(e);
+ }, np(e);
}
-function cp(e, t, n) {
- return (t = lp(t)) in e ? Object.defineProperty(e, t, {
+function rp(e, t, n) {
+ return (t = ip(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function lp(e) {
- var t = up(e, "string");
- return sp(t) == "symbol" ? t : t + "";
+function ip(e) {
+ var t = ap(e, "string");
+ return np(t) == "symbol" ? t : t + "";
}
-function up(e, t) {
- if (sp(e) != "object" || !e) return e;
+function ap(e, t) {
+ if (np(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (sp(r) != "object") return r;
+ if (np(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var dp = {
+var op = {
name: "InputText",
- extends: op,
+ extends: tp,
inheritAttrs: !1,
methods: { onInput: function(e) {
this.writeValue(e.target.value, e);
} },
computed: {
attrs: function() {
- return G(this.ptmi("root", { context: {
+ return W(this.ptmi("root", { context: {
filled: this.$filled,
disabled: this.disabled
} }), this.formField);
},
dataP: function() {
- return q(cp({
+ return q(rp({
invalid: this.$invalid,
fluid: this.$fluid,
filled: this.$variant === "filled"
}, this.size, this.size));
}
}
-}, fp = [
+}, sp = [
"value",
"name",
"disabled",
"aria-invalid",
"data-p"
];
-function pp(e, t, n, r, i, a) {
- return z(), B("input", G({
+function cp(e, t, n, r, i, a) {
+ return R(), z("input", W({
type: "text",
class: e.cx("root"),
value: e.d_value,
@@ -7440,11 +7362,11 @@ function pp(e, t, n, r, i, a) {
onInput: t[0] ||= function() {
return a.onInput && a.onInput.apply(a, arguments);
}
- }, a.attrs), null, 16, fp);
+ }, a.attrs), null, 16, sp);
}
-dp.render = pp;
+op.render = cp;
// node_modules/primevue/textarea/style/index.mjs
-var mp = X.extend({
+var lp = X.extend({
name: "textarea",
style: "\n .p-textarea {\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: dt('textarea.color');\n background: dt('textarea.background');\n padding-block: dt('textarea.padding.y');\n padding-inline: dt('textarea.padding.x');\n border: 1px solid dt('textarea.border.color');\n transition:\n background dt('textarea.transition.duration'),\n color dt('textarea.transition.duration'),\n border-color dt('textarea.transition.duration'),\n outline-color dt('textarea.transition.duration'),\n box-shadow dt('textarea.transition.duration');\n appearance: none;\n border-radius: dt('textarea.border.radius');\n outline-color: transparent;\n box-shadow: dt('textarea.shadow');\n }\n\n .p-textarea:enabled:hover {\n border-color: dt('textarea.hover.border.color');\n }\n\n .p-textarea:enabled:focus {\n border-color: dt('textarea.focus.border.color');\n box-shadow: dt('textarea.focus.ring.shadow');\n outline: dt('textarea.focus.ring.width') dt('textarea.focus.ring.style') dt('textarea.focus.ring.color');\n outline-offset: dt('textarea.focus.ring.offset');\n }\n\n .p-textarea.p-invalid {\n border-color: dt('textarea.invalid.border.color');\n }\n\n .p-textarea.p-variant-filled {\n background: dt('textarea.filled.background');\n }\n\n .p-textarea.p-variant-filled:enabled:hover {\n background: dt('textarea.filled.hover.background');\n }\n\n .p-textarea.p-variant-filled:enabled:focus {\n background: dt('textarea.filled.focus.background');\n }\n\n .p-textarea:disabled {\n opacity: 1;\n background: dt('textarea.disabled.background');\n color: dt('textarea.disabled.color');\n }\n\n .p-textarea::placeholder {\n color: dt('textarea.placeholder.color');\n }\n\n .p-textarea.p-invalid::placeholder {\n color: dt('textarea.invalid.placeholder.color');\n }\n\n .p-textarea-fluid {\n width: 100%;\n }\n\n .p-textarea-resizable {\n overflow: hidden;\n resize: none;\n }\n\n .p-textarea-sm {\n font-size: dt('textarea.sm.font.size');\n padding-block: dt('textarea.sm.padding.y');\n padding-inline: dt('textarea.sm.padding.x');\n }\n\n .p-textarea-lg {\n font-size: dt('textarea.lg.font.size');\n padding-block: dt('textarea.lg.padding.y');\n padding-inline: dt('textarea.lg.padding.x');\n }\n",
classes: { root: function(e) {
@@ -7459,11 +7381,11 @@ var mp = X.extend({
"p-textarea-fluid": t.$fluid
}];
} }
-}), hp = {
+}), up = {
name: "BaseTextarea",
- extends: Hf,
+ extends: Lf,
props: { autoResize: Boolean },
- style: mp,
+ style: lp,
provide: function() {
return {
$pcTextarea: this,
@@ -7471,39 +7393,39 @@ var mp = X.extend({
};
}
};
-function gp(e) {
+function dp(e) {
"@babel/helpers - typeof";
- return gp = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return dp = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, gp(e);
+ }, dp(e);
}
-function _p(e, t, n) {
- return (t = vp(t)) in e ? Object.defineProperty(e, t, {
+function fp(e, t, n) {
+ return (t = pp(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function vp(e) {
- var t = yp(e, "string");
- return gp(t) == "symbol" ? t : t + "";
+function pp(e) {
+ var t = mp(e, "string");
+ return dp(t) == "symbol" ? t : t + "";
}
-function yp(e, t) {
- if (gp(e) != "object" || !e) return e;
+function mp(e, t) {
+ if (dp(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (gp(r) != "object") return r;
+ if (dp(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var bp = {
+var hp = {
name: "Textarea",
- extends: hp,
+ extends: up,
inheritAttrs: !1,
observer: null,
mounted: function() {
@@ -7533,28 +7455,28 @@ var bp = {
},
computed: {
attrs: function() {
- return G(this.ptmi("root", { context: {
+ return W(this.ptmi("root", { context: {
filled: this.$filled,
disabled: this.disabled
} }), this.formField);
},
dataP: function() {
- return q(_p({
+ return q(fp({
invalid: this.$invalid,
fluid: this.$fluid,
filled: this.$variant === "filled"
}, this.size, this.size));
}
}
-}, xp = [
+}, gp = [
"value",
"name",
"disabled",
"aria-invalid",
"data-p"
];
-function Sp(e, t, n, r, i, a) {
- return z(), B("textarea", G({
+function _p(e, t, n, r, i, a) {
+ return R(), z("textarea", W({
class: e.cx("root"),
value: e.d_value,
name: e.name,
@@ -7564,54 +7486,54 @@ function Sp(e, t, n, r, i, a) {
onInput: t[0] ||= function() {
return a.onInput && a.onInput.apply(a, arguments);
}
- }, a.attrs), null, 16, xp);
+ }, a.attrs), null, 16, gp);
}
-bp.render = Sp;
+hp.render = _p;
// node_modules/@primevue/core/utils/index.mjs
-function Cp(e) {
+function vp(e) {
"@babel/helpers - typeof";
- return Cp = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return vp = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, Cp(e);
+ }, vp(e);
}
-function wp(e, t) {
+function yp(e, t) {
if (!(e instanceof t)) throw TypeError("Cannot call a class as a function");
}
-function Tp(e, t) {
+function bp(e, t) {
for (var n = 0; n < t.length; n++) {
var r = t[n];
- r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, Dp(r.key), r);
+ r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, Sp(r.key), r);
}
}
-function Ep(e, t, n) {
- return t && Tp(e.prototype, t), Object.defineProperty(e, "prototype", { writable: !1 }), e;
+function xp(e, t, n) {
+ return t && bp(e.prototype, t), Object.defineProperty(e, "prototype", { writable: !1 }), e;
}
-function Dp(e) {
- var t = Op(e, "string");
- return Cp(t) == "symbol" ? t : t + "";
+function Sp(e) {
+ var t = Cp(e, "string");
+ return vp(t) == "symbol" ? t : t + "";
}
-function Op(e, t) {
- if (Cp(e) != "object" || !e) return e;
+function Cp(e, t) {
+ if (vp(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (Cp(r) != "object") return r;
+ if (vp(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return String(e);
}
-var kp = /*#__PURE__*/ function() {
+var wp = /*#__PURE__*/ function() {
function e(t) {
var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : function() {};
- wp(this, e), this.element = t, this.listener = n;
+ yp(this, e), this.element = t, this.listener = n;
}
- return Ep(e, [
+ return xp(e, [
{
key: "bindScrollListener",
value: function() {
- this.scrollableParents = dl(this.element);
+ this.scrollableParents = ol(this.element);
for (var e = 0; e < this.scrollableParents.length; e++) this.scrollableParents[e].addEventListener("scroll", this.listener);
}
},
@@ -7628,183 +7550,183 @@ var kp = /*#__PURE__*/ function() {
}
}
]);
-}(), Ap = {
+}(), Tp = {
name: "BlankIcon",
- extends: xd
+ extends: gd
};
-function jp(e) {
- return Fp(e) || Pp(e) || Np(e) || Mp();
+function Ep(e) {
+ return Ap(e) || kp(e) || Op(e) || Dp();
}
-function Mp() {
+function Dp() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function Np(e, t) {
+function Op(e, t) {
if (e) {
- if (typeof e == "string") return Ip(e, t);
+ if (typeof e == "string") return jp(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Ip(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? jp(e, t) : void 0;
}
}
-function Pp(e) {
+function kp(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function Fp(e) {
- if (Array.isArray(e)) return Ip(e);
+function Ap(e) {
+ if (Array.isArray(e)) return jp(e);
}
-function Ip(e, t) {
+function jp(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function Lp(e, t, n, r, i, a) {
- return z(), B("svg", G({
+function Mp(e, t, n, r, i, a) {
+ return R(), z("svg", W({
width: "14",
height: "14",
viewBox: "0 0 14 14",
fill: "none",
xmlns: "http://www.w3.org/2000/svg"
- }, e.pti()), jp(t[0] ||= [H("rect", {
+ }, e.pti()), Ep(t[0] ||= [V("rect", {
width: "1",
height: "1",
fill: "currentColor",
"fill-opacity": "0"
}, null, -1)]), 16);
}
-Ap.render = Lp;
+Tp.render = Mp;
// node_modules/@primevue/icons/chevrondown/index.mjs
-var Rp = {
+var Np = {
name: "ChevronDownIcon",
- extends: xd
+ extends: gd
};
-function zp(e) {
- return Up(e) || Hp(e) || Vp(e) || Bp();
+function Pp(e) {
+ return Rp(e) || Lp(e) || Ip(e) || Fp();
}
-function Bp() {
+function Fp() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function Vp(e, t) {
+function Ip(e, t) {
if (e) {
- if (typeof e == "string") return Wp(e, t);
+ if (typeof e == "string") return zp(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Wp(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? zp(e, t) : void 0;
}
}
-function Hp(e) {
+function Lp(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function Up(e) {
- if (Array.isArray(e)) return Wp(e);
+function Rp(e) {
+ if (Array.isArray(e)) return zp(e);
}
-function Wp(e, t) {
+function zp(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function Gp(e, t, n, r, i, a) {
- return z(), B("svg", G({
+function Bp(e, t, n, r, i, a) {
+ return R(), z("svg", W({
width: "14",
height: "14",
viewBox: "0 0 14 14",
fill: "none",
xmlns: "http://www.w3.org/2000/svg"
- }, e.pti()), zp(t[0] ||= [H("path", {
+ }, e.pti()), Pp(t[0] ||= [V("path", {
d: "M7.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z",
fill: "currentColor"
}, null, -1)]), 16);
}
-Rp.render = Gp;
+Np.render = Bp;
// node_modules/@primevue/icons/search/index.mjs
-var Kp = {
+var Vp = {
name: "SearchIcon",
- extends: xd
+ extends: gd
};
-function qp(e) {
- return Zp(e) || Xp(e) || Yp(e) || Jp();
+function Hp(e) {
+ return Kp(e) || Gp(e) || Wp(e) || Up();
}
-function Jp() {
+function Up() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function Yp(e, t) {
+function Wp(e, t) {
if (e) {
- if (typeof e == "string") return Qp(e, t);
+ if (typeof e == "string") return qp(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Qp(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? qp(e, t) : void 0;
}
}
-function Xp(e) {
+function Gp(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function Zp(e) {
- if (Array.isArray(e)) return Qp(e);
+function Kp(e) {
+ if (Array.isArray(e)) return qp(e);
}
-function Qp(e, t) {
+function qp(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function $p(e, t, n, r, i, a) {
- return z(), B("svg", G({
+function Jp(e, t, n, r, i, a) {
+ return R(), z("svg", W({
width: "14",
height: "14",
viewBox: "0 0 14 14",
fill: "none",
xmlns: "http://www.w3.org/2000/svg"
- }, e.pti()), qp(t[0] ||= [H("path", {
+ }, e.pti()), Hp(t[0] ||= [V("path", {
"fill-rule": "evenodd",
"clip-rule": "evenodd",
d: "M2.67602 11.0265C3.6661 11.688 4.83011 12.0411 6.02086 12.0411C6.81149 12.0411 7.59438 11.8854 8.32483 11.5828C8.87005 11.357 9.37808 11.0526 9.83317 10.6803L12.9769 13.8241C13.0323 13.8801 13.0983 13.9245 13.171 13.9548C13.2438 13.985 13.3219 14.0003 13.4007 14C13.4795 14.0003 13.5575 13.985 13.6303 13.9548C13.7031 13.9245 13.7691 13.8801 13.8244 13.8241C13.9367 13.7116 13.9998 13.5592 13.9998 13.4003C13.9998 13.2414 13.9367 13.089 13.8244 12.9765L10.6807 9.8328C11.053 9.37773 11.3573 8.86972 11.5831 8.32452C11.8857 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0268 2.67572C10.3652 1.68564 9.42494 0.913972 8.32483 0.45829C7.22472 0.00260857 6.01418 -0.116618 4.84631 0.115686C3.67844 0.34799 2.60568 0.921393 1.76369 1.76338C0.921698 2.60537 0.348296 3.67813 0.115991 4.84601C-0.116313 6.01388 0.00291375 7.22441 0.458595 8.32452C0.914277 9.42464 1.68595 10.3649 2.67602 11.0265ZM3.35565 2.0158C4.14456 1.48867 5.07206 1.20731 6.02086 1.20731C7.29317 1.20731 8.51338 1.71274 9.41304 2.6124C10.3127 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5368 7.88088 10.0096 8.66978C9.48251 9.45868 8.73328 10.0736 7.85669 10.4367C6.98011 10.7997 6.01554 10.8947 5.08496 10.7096C4.15439 10.5245 3.2996 10.0676 2.62869 9.39674C1.95778 8.72583 1.50089 7.87104 1.31579 6.94046C1.13068 6.00989 1.22568 5.04532 1.58878 4.16874C1.95187 3.29215 2.56675 2.54292 3.35565 2.0158Z",
fill: "currentColor"
}, null, -1)]), 16);
}
-Kp.render = $p;
+Vp.render = Jp;
// node_modules/@primevue/icons/times/index.mjs
-var em = {
+var Yp = {
name: "TimesIcon",
- extends: xd
+ extends: gd
};
-function tm(e) {
- return am(e) || im(e) || rm(e) || nm();
+function Xp(e) {
+ return em(e) || $p(e) || Qp(e) || Zp();
}
-function nm() {
+function Zp() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function rm(e, t) {
+function Qp(e, t) {
if (e) {
- if (typeof e == "string") return om(e, t);
+ if (typeof e == "string") return tm(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? om(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? tm(e, t) : void 0;
}
}
-function im(e) {
+function $p(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function am(e) {
- if (Array.isArray(e)) return om(e);
+function em(e) {
+ if (Array.isArray(e)) return tm(e);
}
-function om(e, t) {
+function tm(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function sm(e, t, n, r, i, a) {
- return z(), B("svg", G({
+function nm(e, t, n, r, i, a) {
+ return R(), z("svg", W({
width: "14",
height: "14",
viewBox: "0 0 14 14",
fill: "none",
xmlns: "http://www.w3.org/2000/svg"
- }, e.pti()), tm(t[0] ||= [H("path", {
+ }, e.pti()), Xp(t[0] ||= [V("path", {
d: "M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z",
fill: "currentColor"
}, null, -1)]), 16);
}
-em.render = sm;
+Yp.render = nm;
// node_modules/primevue/iconfield/index.mjs
-var cm = {
+var rm = {
name: "IconField",
extends: {
name: "BaseIconField",
- extends: pd,
+ extends: cd,
style: X.extend({
name: "iconfield",
style: "\n .p-iconfield {\n position: relative;\n display: block;\n }\n\n .p-inputicon {\n position: absolute;\n top: 50%;\n margin-top: calc(-1 * (dt('icon.size') / 2));\n color: dt('iconfield.icon.color');\n line-height: 1;\n z-index: 1;\n }\n\n .p-iconfield .p-inputicon:first-child {\n inset-inline-start: dt('form.field.padding.x');\n }\n\n .p-iconfield .p-inputicon:last-child {\n inset-inline-end: dt('form.field.padding.x');\n }\n\n .p-iconfield .p-inputtext:not(:first-child),\n .p-iconfield .p-inputwrapper:not(:first-child) .p-inputtext {\n padding-inline-start: calc((dt('form.field.padding.x') * 2) + dt('icon.size'));\n }\n\n .p-iconfield .p-inputtext:not(:last-child) {\n padding-inline-end: calc((dt('form.field.padding.x') * 2) + dt('icon.size'));\n }\n\n .p-iconfield:has(.p-inputfield-sm) .p-inputicon {\n font-size: dt('form.field.sm.font.size');\n width: dt('form.field.sm.font.size');\n height: dt('form.field.sm.font.size');\n margin-top: calc(-1 * (dt('form.field.sm.font.size') / 2));\n }\n\n .p-iconfield:has(.p-inputfield-lg) .p-inputicon {\n font-size: dt('form.field.lg.font.size');\n width: dt('form.field.lg.font.size');\n height: dt('form.field.lg.font.size');\n margin-top: calc(-1 * (dt('form.field.lg.font.size') / 2));\n }\n",
@@ -7819,16 +7741,16 @@ var cm = {
},
inheritAttrs: !1
};
-function lm(e, t, n, r, i, a) {
- return z(), B("div", G({ class: e.cx("root") }, e.ptmi("root")), [I(e.$slots, "default")], 16);
+function im(e, t, n, r, i, a) {
+ return R(), z("div", W({ class: e.cx("root") }, e.ptmi("root")), [I(e.$slots, "default")], 16);
}
-cm.render = lm;
+rm.render = im;
// node_modules/primevue/inputicon/index.mjs
-var um = {
+var am = {
name: "InputIcon",
extends: {
name: "BaseInputIcon",
- extends: pd,
+ extends: cd,
style: X.extend({
name: "inputicon",
classes: { root: "p-inputicon" }
@@ -7846,12 +7768,12 @@ var um = {
return [this.cx("root"), this.class];
} }
};
-function dm(e, t, n, r, i, a) {
- return z(), B("span", G({ class: a.containerClass }, e.ptmi("root"), { "aria-hidden": "true" }), [I(e.$slots, "default")], 16);
+function om(e, t, n, r, i, a) {
+ return R(), z("span", W({ class: a.containerClass }, e.ptmi("root"), { "aria-hidden": "true" }), [I(e.$slots, "default")], 16);
}
-um.render = dm;
+am.render = om;
// node_modules/primevue/overlayeventbus/index.mjs
-var fm = Mc(), pm = {
+var sm = Dc(), cm = {
name: "Portal",
props: {
appendTo: {
@@ -7867,27 +7789,27 @@ var fm = Mc(), pm = {
return { mounted: !1 };
},
mounted: function() {
- this.mounted = ml();
+ this.mounted = ll();
},
computed: { inline: function() {
return this.disabled || this.appendTo === "self";
} }
};
-function mm(e, t, n, r, i, a) {
- return a.inline ? I(e.$slots, "default", { key: 0 }) : i.mounted ? (z(), V(_r, {
+function lm(e, t, n, r, i, a) {
+ return a.inline ? I(e.$slots, "default", { key: 0 }) : i.mounted ? (R(), B(mr, {
key: 1,
to: n.appendTo
- }, [I(e.$slots, "default")], 8, ["to"])) : W("", !0);
+ }, [I(e.$slots, "default")], 8, ["to"])) : U("", !0);
}
-pm.render = mm;
+cm.render = lm;
// node_modules/primevue/virtualscroller/style/index.mjs
-var hm = X.extend({
+var um = X.extend({
name: "virtualscroller",
css: "\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n transform-origin: 0 0;\n pointer-events: none;\n}\n\n.p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.p-virtualscroller-loader-mask {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n\n.p-virtualscroller .p-virtualscroller-loading {\n transform: none !important;\n min-height: 0;\n position: sticky;\n inset-block-start: 0;\n inset-inline-start: 0;\n}\n",
style: "\n .p-virtualscroller-loader {\n background: dt('virtualscroller.loader.mask.background');\n color: dt('virtualscroller.loader.mask.color');\n }\n\n .p-virtualscroller-loading-icon {\n font-size: dt('virtualscroller.loader.icon.size');\n width: dt('virtualscroller.loader.icon.size');\n height: dt('virtualscroller.loader.icon.size');\n }\n"
-}), gm = {
+}), dm = {
name: "BaseVirtualScroller",
- extends: pd,
+ extends: cd,
props: {
id: {
type: String,
@@ -7970,7 +7892,7 @@ var hm = X.extend({
default: !1
}
},
- style: hm,
+ style: um,
provide: function() {
return {
$pcVirtualScroller: this,
@@ -7979,18 +7901,18 @@ var hm = X.extend({
},
beforeMount: function() {
var e;
- hm.loadCSS({ nonce: (e = this.$primevueConfig) == null || (e = e.csp) == null ? void 0 : e.nonce });
+ um.loadCSS({ nonce: (e = this.$primevueConfig) == null || (e = e.csp) == null ? void 0 : e.nonce });
}
};
-function _m(e) {
+function fm(e) {
"@babel/helpers - typeof";
- return _m = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return fm = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, _m(e);
+ }, fm(e);
}
-function vm(e, t) {
+function pm(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
@@ -8000,42 +7922,42 @@ function vm(e, t) {
}
return n;
}
-function ym(e) {
+function mm(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] == null ? {} : arguments[t];
- t % 2 ? vm(Object(n), !0).forEach(function(t) {
- bm(e, t, n[t]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : vm(Object(n)).forEach(function(t) {
+ t % 2 ? pm(Object(n), !0).forEach(function(t) {
+ hm(e, t, n[t]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : pm(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
});
}
return e;
}
-function bm(e, t, n) {
- return (t = xm(t)) in e ? Object.defineProperty(e, t, {
+function hm(e, t, n) {
+ return (t = gm(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function xm(e) {
- var t = Sm(e, "string");
- return _m(t) == "symbol" ? t : t + "";
+function gm(e) {
+ var t = _m(e, "string");
+ return fm(t) == "symbol" ? t : t + "";
}
-function Sm(e, t) {
- if (_m(e) != "object" || !e) return e;
+function _m(e, t) {
+ if (fm(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (_m(r) != "object") return r;
+ if (fm(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var Cm = {
+var vm = {
name: "VirtualScroller",
- extends: gm,
+ extends: dm,
inheritAttrs: !1,
emits: [
"update:numToleratedItems",
@@ -8130,7 +8052,7 @@ var Cm = {
},
methods: {
viewInit: function() {
- gl(this.element) && (this.setContentEl(this.content), this.init(), this.calculateAutoSize(), this.defaultWidth = fl(this.element), this.defaultHeight = ol(this.element), this.defaultContentWidth = fl(this.content), this.defaultContentHeight = ol(this.content), this.initialized = !0), this.element && this.bindResizeListener();
+ dl(this.element) && (this.setContentEl(this.content), this.init(), this.calculateAutoSize(), this.defaultWidth = sl(this.element), this.defaultHeight = tl(this.element), this.defaultContentWidth = sl(this.content), this.defaultContentHeight = tl(this.content), this.initialized = !0), this.element && this.bindResizeListener();
},
init: function() {
this.disabled || (this.setSize(), this.calculateOptions(), this.setSpacerSize());
@@ -8268,7 +8190,7 @@ var Cm = {
if (e.content) {
var t = e.isBoth(), n = e.isHorizontal(), r = e.isVertical();
e.content.style.minHeight = e.content.style.minWidth = "auto", e.content.style.position = "relative", e.element.style.contain = "none";
- var i = [fl(e.element), ol(e.element)], a = i[0], o = i[1];
+ var i = [sl(e.element), tl(e.element)], a = i[0], o = i[1];
(t || n) && (e.element.style.width = a < e.defaultWidth ? a + "px" : e.scrollWidth || e.defaultWidth + "px"), (t || r) && (e.element.style.height = o < e.defaultHeight ? o + "px" : e.scrollHeight || e.defaultHeight + "px"), e.content.style.minHeight = e.content.style.minWidth = "", e.content.style.position = "", e.element.style.contain = "";
}
});
@@ -8312,7 +8234,7 @@ var Cm = {
if (t) {
var n = this.isBoth(), r = this.isHorizontal(), i = this.getContentPosition(), a = function(t, n, r) {
var i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0;
- return e.spacerStyle = ym(ym({}, e.spacerStyle), bm({}, `${t}`, (n || []).length * r + i + "px"));
+ return e.spacerStyle = mm(mm({}, e.spacerStyle), hm({}, `${t}`, (n || []).length * r + i + "px"));
};
n ? (a("height", t, this.itemSize[0], i.y), a("width", this.columns || t[1], this.itemSize[1], i.x)) : r ? a("width", this.columns || t, this.itemSize, i.x) : a("height", t, this.itemSize, i.y);
}
@@ -8324,7 +8246,7 @@ var Cm = {
return e * t;
}, o = function() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
- return t.contentStyle = ym(ym({}, t.contentStyle), { transform: `translate3d(${e}px, ${n}px, 0)` });
+ return t.contentStyle = mm(mm({}, t.contentStyle), { transform: `translate3d(${e}px, ${n}px, 0)` });
};
if (n) o(a(i.cols, this.itemSize[1]), a(i.rows, this.itemSize[0]));
else {
@@ -8411,9 +8333,9 @@ var Cm = {
onResize: function() {
var e = this;
this.resizeTimeout && clearTimeout(this.resizeTimeout), this.resizeTimeout = setTimeout(function() {
- if (gl(e.element)) {
- var t = e.isBoth(), n = e.isVertical(), r = e.isHorizontal(), i = [fl(e.element), ol(e.element)], a = i[0], o = i[1], s = a !== e.defaultWidth, c = o !== e.defaultHeight;
- (t ? s || c : r ? s : n && c) && (e.d_numToleratedItems = e.numToleratedItems, e.defaultWidth = a, e.defaultHeight = o, e.defaultContentWidth = fl(e.content), e.defaultContentHeight = ol(e.content), e.init());
+ if (dl(e.element)) {
+ var t = e.isBoth(), n = e.isVertical(), r = e.isHorizontal(), i = [sl(e.element), tl(e.element)], a = i[0], o = i[1], s = a !== e.defaultWidth, c = o !== e.defaultHeight;
+ (t ? s || c : r ? s : n && c) && (e.d_numToleratedItems = e.numToleratedItems, e.defaultWidth = a, e.defaultHeight = o, e.defaultContentWidth = sl(e.content), e.defaultContentHeight = tl(e.content), e.init());
}
}, this.resizeDelay);
},
@@ -8439,7 +8361,7 @@ var Cm = {
},
getLoaderOptions: function(e, t) {
var n = this.loaderArr.length;
- return ym({
+ return mm({
index: e,
count: n,
first: e === 0,
@@ -8455,7 +8377,7 @@ var Cm = {
return this.step && !this.lazy ? this.page !== this.getPageByFirst(e ?? this.first) : !0;
},
setContentEl: function(e) {
- this.content = e || this.content || nl(this.element, "[data-pc-section=\"content\"]");
+ this.content = e || this.content || Zc(this.element, "[data-pc-section=\"content\"]");
},
elementRef: function(e) {
this.element = e;
@@ -8499,15 +8421,15 @@ var Cm = {
return this.columns;
}
},
- components: { SpinnerIcon: Sd }
-}, wm = ["tabindex"];
-function Tm(e, t, n, r, i, a) {
+ components: { SpinnerIcon: _d }
+}, ym = ["tabindex"];
+function bm(e, t, n, r, i, a) {
var o = F("SpinnerIcon");
- return e.disabled ? (z(), B(L, { key: 1 }, [I(e.$slots, "default"), I(e.$slots, "content", {
+ return e.disabled ? (R(), z(L, { key: 1 }, [I(e.$slots, "default"), I(e.$slots, "content", {
items: e.items,
rows: e.items,
columns: a.loadedColumns
- })], 64)) : (z(), B("div", G({
+ })], 64)) : (R(), z("div", W({
key: 0,
ref: a.elementRef,
class: a.containerClass,
@@ -8533,11 +8455,11 @@ function Tm(e, t, n, r, i, a) {
horizontal: a.isHorizontal(),
both: a.isBoth()
}, function() {
- return [H("div", G({
+ return [V("div", W({
ref: a.contentRef,
class: a.contentClass,
style: i.contentStyle
- }, e.ptm("content")), [(z(!0), B(L, null, _i(a.loadedItems, function(t, n) {
+ }, e.ptm("content")), [(R(!0), z(L, null, mi(a.loadedItems, function(t, n) {
return I(e.$slots, "item", {
key: n,
item: t,
@@ -8545,30 +8467,30 @@ function Tm(e, t, n, r, i, a) {
});
}), 128))], 16)];
}),
- e.showSpacer ? (z(), B("div", G({
+ e.showSpacer ? (R(), z("div", W({
key: 0,
class: "p-virtualscroller-spacer",
style: i.spacerStyle
- }, e.ptm("spacer")), null, 16)) : W("", !0),
- !e.loaderDisabled && e.showLoader && i.d_loading ? (z(), B("div", G({
+ }, e.ptm("spacer")), null, 16)) : U("", !0),
+ !e.loaderDisabled && e.showLoader && i.d_loading ? (R(), z("div", W({
key: 1,
class: a.loaderClass
- }, e.ptm("loader")), [e.$slots && e.$slots.loader ? (z(!0), B(L, { key: 0 }, _i(i.loaderArr, function(t, n) {
+ }, e.ptm("loader")), [e.$slots && e.$slots.loader ? (R(!0), z(L, { key: 0 }, mi(i.loaderArr, function(t, n) {
return I(e.$slots, "loader", {
key: n,
options: a.getLoaderOptions(n, a.isBoth() && { numCols: e.d_numItemsInViewport.cols })
});
- }), 128)) : W("", !0), I(e.$slots, "loadingicon", {}, function() {
- return [U(o, G({
+ }), 128)) : U("", !0), I(e.$slots, "loadingicon", {}, function() {
+ return [H(o, W({
spin: "",
class: "p-virtualscroller-loading-icon"
}, e.ptm("loadingIcon")), null, 16)];
- })], 16)) : W("", !0)
- ], 16, wm));
+ })], 16)) : U("", !0)
+ ], 16, ym));
}
-Cm.render = Tm;
+vm.render = bm;
// node_modules/primevue/select/style/index.mjs
-var Em = X.extend({
+var xm = X.extend({
name: "select",
style: "\n .p-select {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n background: dt('select.background');\n border: 1px solid dt('select.border.color');\n transition:\n background dt('select.transition.duration'),\n color dt('select.transition.duration'),\n border-color dt('select.transition.duration'),\n outline-color dt('select.transition.duration'),\n box-shadow dt('select.transition.duration');\n border-radius: dt('select.border.radius');\n outline-color: transparent;\n box-shadow: dt('select.shadow');\n }\n\n .p-select:not(.p-disabled):hover {\n border-color: dt('select.hover.border.color');\n }\n\n .p-select:not(.p-disabled).p-focus {\n border-color: dt('select.focus.border.color');\n box-shadow: dt('select.focus.ring.shadow');\n outline: dt('select.focus.ring.width') dt('select.focus.ring.style') dt('select.focus.ring.color');\n outline-offset: dt('select.focus.ring.offset');\n }\n\n .p-select.p-variant-filled {\n background: dt('select.filled.background');\n }\n\n .p-select.p-variant-filled:not(.p-disabled):hover {\n background: dt('select.filled.hover.background');\n }\n\n .p-select.p-variant-filled:not(.p-disabled).p-focus {\n background: dt('select.filled.focus.background');\n }\n\n .p-select.p-invalid {\n border-color: dt('select.invalid.border.color');\n }\n\n .p-select.p-disabled {\n opacity: 1;\n background: dt('select.disabled.background');\n }\n\n .p-select-clear-icon {\n align-self: center;\n color: dt('select.clear.icon.color');\n inset-inline-end: dt('select.dropdown.width');\n }\n\n .p-select-dropdown {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n background: transparent;\n color: dt('select.dropdown.color');\n width: dt('select.dropdown.width');\n border-start-end-radius: dt('select.border.radius');\n border-end-end-radius: dt('select.border.radius');\n }\n\n .p-select-label {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n flex: 1 1 auto;\n width: 1%;\n padding: dt('select.padding.y') dt('select.padding.x');\n text-overflow: ellipsis;\n cursor: pointer;\n color: dt('select.color');\n background: transparent;\n border: 0 none;\n outline: 0 none;\n font-size: 1rem;\n }\n\n .p-select-label.p-placeholder {\n color: dt('select.placeholder.color');\n }\n\n .p-select.p-invalid .p-select-label.p-placeholder {\n color: dt('select.invalid.placeholder.color');\n }\n\n .p-select.p-disabled .p-select-label {\n color: dt('select.disabled.color');\n }\n\n .p-select-label-empty {\n overflow: hidden;\n opacity: 0;\n }\n\n input.p-select-label {\n cursor: default;\n }\n\n .p-select-overlay {\n position: absolute;\n top: 0;\n left: 0;\n background: dt('select.overlay.background');\n color: dt('select.overlay.color');\n border: 1px solid dt('select.overlay.border.color');\n border-radius: dt('select.overlay.border.radius');\n box-shadow: dt('select.overlay.shadow');\n min-width: 100%;\n transform-origin: inherit;\n will-change: transform;\n }\n\n .p-select-header {\n padding: dt('select.list.header.padding');\n }\n\n .p-select-filter {\n width: 100%;\n }\n\n .p-select-list-container {\n overflow: auto;\n }\n\n .p-select-option-group {\n cursor: auto;\n margin: 0;\n padding: dt('select.option.group.padding');\n background: dt('select.option.group.background');\n color: dt('select.option.group.color');\n font-weight: dt('select.option.group.font.weight');\n }\n\n .p-select-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n padding: dt('select.list.padding');\n gap: dt('select.list.gap');\n display: flex;\n flex-direction: column;\n }\n\n .p-select-option {\n cursor: pointer;\n font-weight: normal;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: dt('select.option.padding');\n border: 0 none;\n color: dt('select.option.color');\n background: transparent;\n transition:\n background dt('select.transition.duration'),\n color dt('select.transition.duration'),\n border-color dt('select.transition.duration'),\n box-shadow dt('select.transition.duration'),\n outline-color dt('select.transition.duration');\n border-radius: dt('select.option.border.radius');\n }\n\n .p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus {\n background: dt('select.option.focus.background');\n color: dt('select.option.focus.color');\n }\n\n .p-select-option:not(.p-select-option-selected):not(.p-disabled):hover {\n background: dt('select.option.focus.background');\n color: dt('select.option.focus.color');\n }\n\n .p-select-option.p-select-option-selected {\n background: dt('select.option.selected.background');\n color: dt('select.option.selected.color');\n }\n\n .p-select-option.p-select-option-selected.p-focus {\n background: dt('select.option.selected.focus.background');\n color: dt('select.option.selected.focus.color');\n }\n \n .p-select-option-blank-icon {\n flex-shrink: 0;\n }\n\n .p-select-option-check-icon {\n position: relative;\n flex-shrink: 0;\n margin-inline-start: dt('select.checkmark.gutter.start');\n margin-inline-end: dt('select.checkmark.gutter.end');\n color: dt('select.checkmark.color');\n }\n\n .p-select-empty-message {\n padding: dt('select.empty.message.padding');\n }\n\n .p-select-fluid {\n display: flex;\n width: 100%;\n }\n\n .p-select-sm .p-select-label {\n font-size: dt('select.sm.font.size');\n padding-block: dt('select.sm.padding.y');\n padding-inline: dt('select.sm.padding.x');\n }\n\n .p-select-sm .p-select-dropdown .p-icon {\n font-size: dt('select.sm.font.size');\n width: dt('select.sm.font.size');\n height: dt('select.sm.font.size');\n }\n\n .p-select-lg .p-select-label {\n font-size: dt('select.lg.font.size');\n padding-block: dt('select.lg.padding.y');\n padding-inline: dt('select.lg.padding.x');\n }\n\n .p-select-lg .p-select-dropdown .p-icon {\n font-size: dt('select.lg.font.size');\n width: dt('select.lg.font.size');\n height: dt('select.lg.font.size');\n }\n\n .p-floatlabel-in .p-select-filter {\n padding-block-start: dt('select.padding.y');\n padding-block-end: dt('select.padding.y');\n }\n",
classes: {
@@ -8618,9 +8540,9 @@ var Em = X.extend({
optionBlankIcon: "p-select-option-blank-icon",
emptyMessage: "p-select-empty-message"
}
-}), Dm = {
+}), Sm = {
name: "BaseSelect",
- extends: Hf,
+ extends: Lf,
props: {
options: Array,
optionLabel: [String, Function],
@@ -8786,7 +8708,7 @@ var Em = X.extend({
default: null
}
},
- style: Em,
+ style: xm,
provide: function() {
return {
$pcSelect: this,
@@ -8794,39 +8716,39 @@ var Em = X.extend({
};
}
};
-function Om(e) {
+function Cm(e) {
"@babel/helpers - typeof";
- return Om = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return Cm = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, Om(e);
+ }, Cm(e);
}
-function km(e) {
- return Nm(e) || Mm(e) || jm(e) || Am();
+function wm(e) {
+ return Om(e) || Dm(e) || Em(e) || Tm();
}
-function Am() {
+function Tm() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function jm(e, t) {
+function Em(e, t) {
if (e) {
- if (typeof e == "string") return Pm(e, t);
+ if (typeof e == "string") return km(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Pm(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? km(e, t) : void 0;
}
}
-function Mm(e) {
+function Dm(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function Nm(e) {
- if (Array.isArray(e)) return Pm(e);
+function Om(e) {
+ if (Array.isArray(e)) return km(e);
}
-function Pm(e, t) {
+function km(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function Fm(e, t) {
+function Am(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
@@ -8836,42 +8758,42 @@ function Fm(e, t) {
}
return n;
}
-function Im(e) {
+function jm(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] == null ? {} : arguments[t];
- t % 2 ? Fm(Object(n), !0).forEach(function(t) {
- Lm(e, t, n[t]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Fm(Object(n)).forEach(function(t) {
+ t % 2 ? Am(Object(n), !0).forEach(function(t) {
+ Mm(e, t, n[t]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Am(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
});
}
return e;
}
-function Lm(e, t, n) {
- return (t = Rm(t)) in e ? Object.defineProperty(e, t, {
+function Mm(e, t, n) {
+ return (t = Nm(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function Rm(e) {
- var t = zm(e, "string");
- return Om(t) == "symbol" ? t : t + "";
+function Nm(e) {
+ var t = Pm(e, "string");
+ return Cm(t) == "symbol" ? t : t + "";
}
-function zm(e, t) {
- if (Om(e) != "object" || !e) return e;
+function Pm(e, t) {
+ if (Cm(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (Om(r) != "object") return r;
+ if (Cm(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var Bm = {
+var Fm = {
name: "Select",
- extends: Dm,
+ extends: Sm,
inheritAttrs: !1,
emits: [
"change",
@@ -8919,20 +8841,20 @@ var Bm = {
this.overlayVisible && this.isModelValueChanged && this.scrollInView(this.findSelectedOptionIndex()), this.isModelValueChanged = !1;
},
beforeUnmount: function() {
- this.unbindOutsideClickListener(), this.unbindResizeListener(), this.unbindLabelClickListener(), this.unbindMatchMediaOrientationListener(), this.scrollHandler &&= (this.scrollHandler.destroy(), null), this.overlay &&= (Sl.clear(this.overlay), null);
+ this.unbindOutsideClickListener(), this.unbindResizeListener(), this.unbindLabelClickListener(), this.unbindMatchMediaOrientationListener(), this.scrollHandler &&= (this.scrollHandler.destroy(), null), this.overlay &&= (_l.clear(this.overlay), null);
},
methods: {
getOptionIndex: function(e, t) {
return this.virtualScrollerDisabled ? e : t && t(e).index;
},
getOptionLabel: function(e) {
- return this.optionLabel ? fc(e, this.optionLabel) : e;
+ return this.optionLabel ? sc(e, this.optionLabel) : e;
},
getOptionValue: function(e) {
- return this.optionValue ? fc(e, this.optionValue) : e;
+ return this.optionValue ? sc(e, this.optionValue) : e;
},
getOptionRenderKey: function(e, t) {
- return (this.dataKey ? fc(e, this.dataKey) : this.getOptionLabel(e)) + "_" + t;
+ return (this.dataKey ? sc(e, this.dataKey) : this.getOptionLabel(e)) + "_" + t;
},
getPTItemOptions: function(e, t, n, r) {
return this.ptm(r, { context: {
@@ -8944,16 +8866,16 @@ var Bm = {
} });
},
isOptionDisabled: function(e) {
- return this.optionDisabled ? fc(e, this.optionDisabled) : !1;
+ return this.optionDisabled ? sc(e, this.optionDisabled) : !1;
},
isOptionGroup: function(e) {
return this.optionGroupLabel && e.optionGroup && e.group;
},
getOptionGroupLabel: function(e) {
- return fc(e, this.optionGroupLabel);
+ return sc(e, this.optionGroupLabel);
},
getOptionGroupChildren: function(e) {
- return fc(e, this.optionGroupChildren);
+ return sc(e, this.optionGroupChildren);
},
getAriaPosInset: function(e) {
var t = this;
@@ -8986,7 +8908,7 @@ var Bm = {
var t = this;
if (this.disabled) e.preventDefault();
else {
- if (pl()) switch (e.code) {
+ if (cl()) switch (e.code) {
case "Backspace":
this.onBackspaceKey(e, this.editable);
break;
@@ -9040,7 +8962,7 @@ var Bm = {
break;
case "ShiftLeft":
case "ShiftRight": break;
- default: !n && Tc(e.key) && (!this.overlayVisible && this.show(), !this.editable && this.searchOptions(e, e.key), this.filter && this.$nextTick(function() {
+ default: !n && bc(e.key) && (!this.overlayVisible && this.show(), !this.editable && this.searchOptions(e, e.key), this.filter && this.$nextTick(function() {
t.$refs.filterInput && J(t.$refs.filterInput.$el);
}));
}
@@ -9058,10 +8980,10 @@ var Bm = {
this.updateModel(e, null), this.resetFilterOnClear && (this.filterValue = null);
},
onFirstHiddenFocus: function(e) {
- J(e.relatedTarget === this.$refs.focusInput ? al(this.overlay, ":not([data-p-hidden-focusable=\"true\"])") : this.$refs.focusInput);
+ J(e.relatedTarget === this.$refs.focusInput ? el(this.overlay, ":not([data-p-hidden-focusable=\"true\"])") : this.$refs.focusInput);
},
onLastHiddenFocus: function(e) {
- J(e.relatedTarget === this.$refs.focusInput ? sl(this.overlay, ":not([data-p-hidden-focusable=\"true\"])") : this.$refs.focusInput);
+ J(e.relatedTarget === this.$refs.focusInput ? nl(this.overlay, ":not([data-p-hidden-focusable=\"true\"])") : this.$refs.focusInput);
},
onOptionSelect: function(e, t) {
var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0;
@@ -9115,7 +9037,7 @@ var Bm = {
this.overlayVisible && this.alignOverlay();
},
onOverlayClick: function(e) {
- fm.emit("overlay-click", {
+ sm.emit("overlay-click", {
originalEvent: e,
target: this.$el
});
@@ -9183,7 +9105,7 @@ var Bm = {
},
onOverlayEnter: function(e) {
var t = this;
- Sl.set("overlay", e, this.$primevue.config.zIndex.overlay), qc(e, {
+ _l.set("overlay", e, this.$primevue.config.zIndex.overlay), Hc(e, {
position: "absolute",
top: "0"
}), this.alignOverlay(), this.scrollInView(), this.$attrSelector && e.setAttribute(this.$attrSelector, ""), setTimeout(function() {
@@ -9200,10 +9122,10 @@ var Bm = {
}), this.$emit("hide"), this.overlay = null;
},
onOverlayAfterLeave: function(e) {
- Sl.clear(e);
+ _l.clear(e);
},
alignOverlay: function() {
- this.appendTo === "self" ? Yc(this.overlay, this.$el) : this.overlay && (this.overlay.style.minWidth = Jc(this.$el) + "px", Kc(this.overlay, this.$el));
+ this.appendTo === "self" ? Wc(this.overlay, this.$el) : this.overlay && (this.overlay.style.minWidth = Uc(this.$el) + "px", Vc(this.overlay, this.$el));
},
bindOutsideClickListener: function() {
var e = this;
@@ -9217,7 +9139,7 @@ var Bm = {
},
bindScrollListener: function() {
var e = this;
- this.scrollHandler ||= new kp(this.$refs.container, function() {
+ this.scrollHandler ||= new wp(this.$refs.container, function() {
e.overlayVisible && e.hide();
}), this.scrollHandler.bindScrollListener();
},
@@ -9227,7 +9149,7 @@ var Bm = {
bindResizeListener: function() {
var e = this;
this.resizeListener || (this.resizeListener = function() {
- e.overlayVisible && !_l() && e.hide();
+ e.overlayVisible && !fl() && e.hide();
}, window.addEventListener("resize", this.resizeListener));
},
unbindResizeListener: function() {
@@ -9237,7 +9159,7 @@ var Bm = {
var e = this;
if (!this.editable && !this.labelClickListener) {
var t = document.querySelector(`label[for="${this.labelId}"]`);
- t && gl(t) && (this.labelClickListener = function() {
+ t && dl(t) && (this.labelClickListener = function() {
J(e.$refs.focusInput);
}, t.addEventListener("click", this.labelClickListener));
}
@@ -9245,7 +9167,7 @@ var Bm = {
unbindLabelClickListener: function() {
if (this.labelClickListener) {
var e = document.querySelector(`label[for="${this.labelId}"]`);
- e && gl(e) && e.removeEventListener("click", this.labelClickListener);
+ e && dl(e) && e.removeEventListener("click", this.labelClickListener);
}
},
bindMatchMediaOrientationListener: function() {
@@ -9261,7 +9183,7 @@ var Bm = {
this.matchMediaOrientationListener &&= (this.queryOrientation.removeEventListener("change", this.matchMediaOrientationListener), this.queryOrientation = null, null);
},
hasFocusableElements: function() {
- return il(this.overlay, ":not([data-p-hidden-focusable=\"true\"])").length > 0;
+ return $c(this.overlay, ":not([data-p-hidden-focusable=\"true\"])").length > 0;
},
isOptionExactMatched: function(e) {
return this.isValidOption(e) && typeof this.getOptionLabel(e) == "string" && this.getOptionLabel(e)?.toLocaleLowerCase(this.filterLocale) == this.searchValue.toLocaleLowerCase(this.filterLocale);
@@ -9276,7 +9198,7 @@ var Bm = {
return this.isValidOption(e) && this.isSelected(e);
},
isSelected: function(e) {
- return pc(this.d_value, this.getOptionValue(e), this.equalityKey);
+ return cc(this.d_value, this.getOptionValue(e), this.equalityKey);
},
findFirstOptionIndex: function() {
var e = this;
@@ -9286,7 +9208,7 @@ var Bm = {
},
findLastOptionIndex: function() {
var e = this;
- return vc(this.visibleOptions, function(t) {
+ return pc(this.visibleOptions, function(t) {
return e.isValidOption(t);
});
},
@@ -9297,7 +9219,7 @@ var Bm = {
return n > -1 ? n + e + 1 : e;
},
findPrevOptionIndex: function(e) {
- var t = this, n = e > 0 ? vc(this.visibleOptions.slice(0, e), function(e) {
+ var t = this, n = e > 0 ? pc(this.visibleOptions.slice(0, e), function(e) {
return t.isValidOption(e);
}) : -1;
return n > -1 ? n : e;
@@ -9334,7 +9256,7 @@ var Bm = {
scrollInView: function() {
var e = this, t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1;
this.$nextTick(function() {
- var n = t === -1 ? e.focusedOptionId : `${e.$id}_${t}`, r = nl(e.list, `li[id="${n}"]`);
+ var n = t === -1 ? e.focusedOptionId : `${e.$id}_${t}`, r = Zc(e.list, `li[id="${n}"]`);
r ? r.scrollIntoView && r.scrollIntoView({
block: "nearest",
inline: "nearest"
@@ -9378,14 +9300,14 @@ var Bm = {
visibleOptions: function() {
var e = this, t = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || [];
if (this.filterValue) {
- var n = ru.filter(t, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);
+ var n = Ql.filter(t, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);
if (this.optionGroupLabel) {
var r = this.options || [], i = [];
return r.forEach(function(t) {
var r = e.getOptionGroupChildren(t).filter(function(e) {
return n.includes(e);
});
- r.length > 0 && i.push(Im(Im({}, t), {}, Lm({}, typeof e.optionGroupChildren == "string" ? e.optionGroupChildren : "items", km(r))));
+ r.length > 0 && i.push(jm(jm({}, t), {}, Mm({}, typeof e.optionGroupChildren == "string" ? e.optionGroupChildren : "items", wm(r))));
}), this.flatOptions(i);
}
return n;
@@ -9446,7 +9368,7 @@ var Bm = {
return !this.virtualScrollerOptions;
},
containerDataP: function() {
- return q(Lm({
+ return q(Mm({
invalid: this.$invalid,
disabled: this.disabled,
focus: this.focused,
@@ -9455,7 +9377,7 @@ var Bm = {
}, this.size, this.size));
},
labelDataP: function() {
- return q(Lm(Lm({
+ return q(Mm(Mm({
placeholder: !this.editable && this.label === this.placeholder,
clearable: this.showClear,
disabled: this.disabled,
@@ -9463,27 +9385,27 @@ var Bm = {
}, this.size, this.size), "empty", !this.editable && !this.$slots.value && (this.label === "p-emptylabel" || this.label.length === 0)));
},
dropdownIconDataP: function() {
- return q(Lm({}, this.size, this.size));
+ return q(Mm({}, this.size, this.size));
},
overlayDataP: function() {
- return q(Lm({}, "portal-" + this.appendTo, "portal-" + this.appendTo));
+ return q(Mm({}, "portal-" + this.appendTo, "portal-" + this.appendTo));
}
},
- directives: { ripple: lf },
+ directives: { ripple: rf },
components: {
- InputText: dp,
- VirtualScroller: Cm,
- Portal: pm,
- InputIcon: um,
- IconField: cm,
- TimesIcon: em,
- ChevronDownIcon: Rp,
- SpinnerIcon: Sd,
- SearchIcon: Kp,
- CheckIcon: Tf,
- BlankIcon: Ap
+ InputText: op,
+ VirtualScroller: vm,
+ Portal: cm,
+ InputIcon: am,
+ IconField: rm,
+ TimesIcon: Yp,
+ ChevronDownIcon: Np,
+ SpinnerIcon: _d,
+ SearchIcon: Vp,
+ CheckIcon: bf,
+ BlankIcon: Tp
}
-}, Vm = ["id", "data-p"], Hm = [
+}, Im = ["id", "data-p"], Lm = [
"name",
"id",
"value",
@@ -9497,7 +9419,7 @@ var Bm = {
"aria-activedescendant",
"aria-invalid",
"data-p"
-], Um = [
+], Rm = [
"name",
"id",
"tabindex",
@@ -9509,7 +9431,7 @@ var Bm = {
"aria-invalid",
"aria-disabled",
"data-p"
-], Wm = ["data-p"], Gm = ["id"], Km = ["id"], qm = [
+], zm = ["data-p"], Bm = ["id"], Vm = ["id"], Hm = [
"id",
"aria-label",
"aria-selected",
@@ -9522,9 +9444,9 @@ var Bm = {
"data-p-focused",
"data-p-disabled"
];
-function Jm(e, t, n, r, i, a) {
- var o = F("SpinnerIcon"), s = F("InputText"), c = F("SearchIcon"), l = F("InputIcon"), u = F("IconField"), d = F("CheckIcon"), f = F("BlankIcon"), p = F("VirtualScroller"), m = F("Portal"), h = mi("ripple");
- return z(), B("div", G({
+function Um(e, t, n, r, i, a) {
+ var o = F("SpinnerIcon"), s = F("InputText"), c = F("SearchIcon"), l = F("InputIcon"), u = F("IconField"), d = F("CheckIcon"), f = F("BlankIcon"), p = F("VirtualScroller"), m = F("Portal"), h = di("ripple");
+ return R(), z("div", W({
ref: "container",
id: e.$id,
class: e.cx("root"),
@@ -9533,7 +9455,7 @@ function Jm(e, t, n, r, i, a) {
},
"data-p": a.containerDataP
}, e.ptmi("root")), [
- e.editable ? (z(), B("input", G({
+ e.editable ? (R(), z("input", W({
key: 0,
ref: "focusInput",
name: e.name,
@@ -9571,7 +9493,7 @@ function Jm(e, t, n, r, i, a) {
return a.onEditableInput && a.onEditableInput.apply(a, arguments);
},
"data-p": a.labelDataP
- }, e.ptm("label")), null, 16, Hm)) : (z(), B("span", G({
+ }, e.ptm("label")), null, 16, Lm)) : (R(), z("span", W({
key: 1,
ref: "focusInput",
name: e.name,
@@ -9606,24 +9528,24 @@ function Jm(e, t, n, r, i, a) {
value: e.d_value,
placeholder: e.placeholder
}, function() {
- return [Za(k(a.label === "p-emptylabel" ? "\xA0" : a.label ?? "empty"), 1)];
- })], 16, Um)),
+ return [Ja(k(a.label === "p-emptylabel" ? "\xA0" : a.label ?? "empty"), 1)];
+ })], 16, Rm)),
a.isClearIconVisible ? I(e.$slots, "clearicon", {
key: 2,
class: O(e.cx("clearIcon")),
clearCallback: a.onClearClick
}, function() {
- return [(z(), V(pi(e.clearIcon ? "i" : "TimesIcon"), G({
+ return [(R(), B(ui(e.clearIcon ? "i" : "TimesIcon"), W({
ref: "clearIcon",
class: [e.cx("clearIcon"), e.clearIcon],
onClick: a.onClearClick
}, e.ptm("clearIcon"), { "data-pc-section": "clearicon" }), null, 16, ["class", "onClick"]))];
- }) : W("", !0),
- H("div", G({ class: e.cx("dropdown") }, e.ptm("dropdown")), [e.loading ? I(e.$slots, "loadingicon", {
+ }) : U("", !0),
+ V("div", W({ class: e.cx("dropdown") }, e.ptm("dropdown")), [e.loading ? I(e.$slots, "loadingicon", {
key: 0,
class: O(e.cx("loadingIcon"))
}, function() {
- return [e.loadingIcon ? (z(), B("span", G({
+ return [e.loadingIcon ? (R(), z("span", W({
key: 0,
class: [
e.cx("loadingIcon"),
@@ -9631,7 +9553,7 @@ function Jm(e, t, n, r, i, a) {
e.loadingIcon
],
"aria-hidden": "true"
- }, e.ptm("loadingIcon")), null, 16)) : (z(), V(o, G({
+ }, e.ptm("loadingIcon")), null, 16)) : (R(), B(o, W({
key: 1,
class: e.cx("loadingIcon"),
spin: "",
@@ -9641,15 +9563,15 @@ function Jm(e, t, n, r, i, a) {
key: 1,
class: O(e.cx("dropdownIcon"))
}, function() {
- return [(z(), V(pi(e.dropdownIcon ? "span" : "ChevronDownIcon"), G({
+ return [(R(), B(ui(e.dropdownIcon ? "span" : "ChevronDownIcon"), W({
class: [e.cx("dropdownIcon"), e.dropdownIcon],
"aria-hidden": "true",
"data-p": a.dropdownIconDataP
}, e.ptm("dropdownIcon")), null, 16, ["class", "data-p"]))];
})], 16),
- U(m, { appendTo: e.appendTo }, {
+ H(m, { appendTo: e.appendTo }, {
default: P(function() {
- return [U(Vo, G({
+ return [H(Io, W({
name: "p-anchored-overlay",
onEnter: a.onOverlayEnter,
onAfterEnter: a.onOverlayAfterEnter,
@@ -9657,7 +9579,7 @@ function Jm(e, t, n, r, i, a) {
onAfterLeave: a.onOverlayAfterLeave
}, e.ptm("transition")), {
default: P(function() {
- return [i.overlayVisible ? (z(), B("div", G({
+ return [i.overlayVisible ? (R(), z("div", W({
key: 0,
ref: a.overlayRef,
class: [
@@ -9674,7 +9596,7 @@ function Jm(e, t, n, r, i, a) {
},
"data-p": a.overlayDataP
}, e.ptm("overlay")), [
- H("span", G({
+ V("span", W({
ref: "firstHiddenFocusableElementOnOverlay",
role: "presentation",
"aria-hidden": "true",
@@ -9691,15 +9613,15 @@ function Jm(e, t, n, r, i, a) {
value: e.d_value,
options: a.visibleOptions
}),
- e.filter ? (z(), B("div", G({
+ e.filter ? (R(), z("div", W({
key: 0,
class: e.cx("header")
- }, e.ptm("header")), [U(u, {
+ }, e.ptm("header")), [H(u, {
unstyled: e.unstyled,
pt: e.ptm("pcFilterContainer")
}, {
default: P(function() {
- return [U(s, {
+ return [H(s, {
ref: "filterInput",
type: "text",
value: i.filterValue,
@@ -9732,40 +9654,40 @@ function Jm(e, t, n, r, i, a) {
"onBlur",
"onInput",
"pt"
- ]), U(l, {
+ ]), H(l, {
unstyled: e.unstyled,
pt: e.ptm("pcFilterIconContainer")
}, {
default: P(function() {
return [I(e.$slots, "filtericon", {}, function() {
- return [e.filterIcon ? (z(), B("span", G({
+ return [e.filterIcon ? (R(), z("span", W({
key: 0,
class: e.filterIcon
- }, e.ptm("filterIcon")), null, 16)) : (z(), V(c, _e(G({ key: 1 }, e.ptm("filterIcon"))), null, 16))];
+ }, e.ptm("filterIcon")), null, 16)) : (R(), B(c, _e(W({ key: 1 }, e.ptm("filterIcon"))), null, 16))];
})];
}),
_: 3
}, 8, ["unstyled", "pt"])];
}),
_: 3
- }, 8, ["unstyled", "pt"]), H("span", G({
+ }, 8, ["unstyled", "pt"]), V("span", W({
role: "status",
"aria-live": "polite",
class: "p-hidden-accessible"
- }, e.ptm("hiddenFilterResult"), { "data-p-hidden-accessible": !0 }), k(a.filterResultMessageText), 17)], 16)) : W("", !0),
- H("div", G({
+ }, e.ptm("hiddenFilterResult"), { "data-p-hidden-accessible": !0 }), k(a.filterResultMessageText), 17)], 16)) : U("", !0),
+ V("div", W({
class: e.cx("listContainer"),
style: { "max-height": a.virtualScrollerDisabled ? e.scrollHeight : "" }
- }, e.ptm("listContainer")), [U(p, G({ ref: a.virtualScrollerRef }, e.virtualScrollerOptions, {
+ }, e.ptm("listContainer")), [H(p, W({ ref: a.virtualScrollerRef }, e.virtualScrollerOptions, {
items: a.visibleOptions,
style: { height: e.scrollHeight },
tabindex: -1,
disabled: a.virtualScrollerDisabled,
pt: e.ptm("virtualScroller")
- }), vi({
+ }), hi({
content: P(function(n) {
var r = n.styleClass, o = n.contentRef, s = n.items, c = n.getItemOptions, l = n.contentStyle, u = n.itemSize;
- return [H("ul", G({
+ return [V("ul", W({
ref: function(e) {
return a.listRef(e, o);
},
@@ -9773,8 +9695,8 @@ function Jm(e, t, n, r, i, a) {
class: [e.cx("list"), r],
style: l,
role: "listbox"
- }, e.ptm("list")), [(z(!0), B(L, null, _i(s, function(n, r) {
- return z(), B(L, { key: a.getOptionRenderKey(n, a.getOptionIndex(r, c)) }, [a.isOptionGroup(n) ? (z(), B("li", G({
+ }, e.ptm("list")), [(R(!0), z(L, null, mi(s, function(n, r) {
+ return R(), z(L, { key: a.getOptionRenderKey(n, a.getOptionIndex(r, c)) }, [a.isOptionGroup(n) ? (R(), z("li", W({
key: 0,
id: e.$id + "_" + a.getOptionIndex(r, c),
style: { height: u ? u + "px" : void 0 },
@@ -9784,8 +9706,8 @@ function Jm(e, t, n, r, i, a) {
option: n.optionGroup,
index: a.getOptionIndex(r, c)
}, function() {
- return [H("span", G({ class: e.cx("optionGroupLabel") }, { ref_for: !0 }, e.ptm("optionGroupLabel")), k(a.getOptionGroupLabel(n.optionGroup)), 17)];
- })], 16, Km)) : qn((z(), B("li", G({
+ return [V("span", W({ class: e.cx("optionGroupLabel") }, { ref_for: !0 }, e.ptm("optionGroupLabel")), k(a.getOptionGroupLabel(n.optionGroup)), 17)];
+ })], 16, Vm)) : Wn((R(), z("li", W({
key: 1,
id: e.$id + "_" + a.getOptionIndex(r, c),
class: e.cx("option", {
@@ -9805,36 +9727,36 @@ function Jm(e, t, n, r, i, a) {
onMousemove: function(e) {
return a.onOptionMouseMove(e, a.getOptionIndex(r, c));
},
- onClick: t[8] ||= qs(function() {}, ["stop"]),
+ onClick: t[8] ||= Hs(function() {}, ["stop"]),
"data-p-selected": !e.checkmark && a.isSelected(n),
"data-p-focused": i.focusedOptionIndex === a.getOptionIndex(r, c),
"data-p-disabled": a.isOptionDisabled(n)
- }, { ref_for: !0 }, a.getPTItemOptions(n, c, r, "option")), [e.checkmark ? (z(), B(L, { key: 0 }, [a.isSelected(n) ? (z(), V(d, G({
+ }, { ref_for: !0 }, a.getPTItemOptions(n, c, r, "option")), [e.checkmark ? (R(), z(L, { key: 0 }, [a.isSelected(n) ? (R(), B(d, W({
key: 0,
class: e.cx("optionCheckIcon")
- }, { ref_for: !0 }, e.ptm("optionCheckIcon")), null, 16, ["class"])) : (z(), V(f, G({
+ }, { ref_for: !0 }, e.ptm("optionCheckIcon")), null, 16, ["class"])) : (R(), B(f, W({
key: 1,
class: e.cx("optionBlankIcon")
- }, { ref_for: !0 }, e.ptm("optionBlankIcon")), null, 16, ["class"]))], 64)) : W("", !0), I(e.$slots, "option", {
+ }, { ref_for: !0 }, e.ptm("optionBlankIcon")), null, 16, ["class"]))], 64)) : U("", !0), I(e.$slots, "option", {
option: n,
selected: a.isSelected(n),
index: a.getOptionIndex(r, c)
}, function() {
- return [H("span", G({ class: e.cx("optionLabel") }, { ref_for: !0 }, e.ptm("optionLabel")), k(a.getOptionLabel(n)), 17)];
- })], 16, qm)), [[h]])], 64);
- }), 128)), i.filterValue && (!s || s && s.length === 0) ? (z(), B("li", G({
+ return [V("span", W({ class: e.cx("optionLabel") }, { ref_for: !0 }, e.ptm("optionLabel")), k(a.getOptionLabel(n)), 17)];
+ })], 16, Hm)), [[h]])], 64);
+ }), 128)), i.filterValue && (!s || s && s.length === 0) ? (R(), z("li", W({
key: 0,
class: e.cx("emptyMessage"),
role: "option"
}, e.ptm("emptyMessage"), { "data-p-hidden-accessible": !0 }), [I(e.$slots, "emptyfilter", {}, function() {
- return [Za(k(a.emptyFilterMessageText), 1)];
- })], 16)) : !e.options || e.options && e.options.length === 0 ? (z(), B("li", G({
+ return [Ja(k(a.emptyFilterMessageText), 1)];
+ })], 16)) : !e.options || e.options && e.options.length === 0 ? (R(), z("li", W({
key: 1,
class: e.cx("emptyMessage"),
role: "option"
}, e.ptm("emptyMessage"), { "data-p-hidden-accessible": !0 }), [I(e.$slots, "empty", {}, function() {
- return [Za(k(a.emptyMessageText), 1)];
- })], 16)) : W("", !0)], 16, Gm)];
+ return [Ja(k(a.emptyMessageText), 1)];
+ })], 16)) : U("", !0)], 16, Bm)];
}),
_: 2
}, [e.$slots.loader ? {
@@ -9854,18 +9776,18 @@ function Jm(e, t, n, r, i, a) {
value: e.d_value,
options: a.visibleOptions
}),
- !e.options || e.options && e.options.length === 0 ? (z(), B("span", G({
+ !e.options || e.options && e.options.length === 0 ? (R(), z("span", W({
key: 1,
role: "status",
"aria-live": "polite",
class: "p-hidden-accessible"
- }, e.ptm("hiddenEmptyMessage"), { "data-p-hidden-accessible": !0 }), k(a.emptyMessageText), 17)) : W("", !0),
- H("span", G({
+ }, e.ptm("hiddenEmptyMessage"), { "data-p-hidden-accessible": !0 }), k(a.emptyMessageText), 17)) : U("", !0),
+ V("span", W({
role: "status",
"aria-live": "polite",
class: "p-hidden-accessible"
}, e.ptm("hiddenSelectedMessage"), { "data-p-hidden-accessible": !0 }), k(a.selectedMessageText), 17),
- H("span", G({
+ V("span", W({
ref: "lastHiddenFocusableElementOnOverlay",
role: "presentation",
"aria-hidden": "true",
@@ -9878,7 +9800,7 @@ function Jm(e, t, n, r, i, a) {
"data-p-hidden-accessible": !0,
"data-p-hidden-focusable": !0
}), null, 16)
- ], 16, Wm)) : W("", !0)];
+ ], 16, zm)) : U("", !0)];
}),
_: 3
}, 16, [
@@ -9890,11 +9812,11 @@ function Jm(e, t, n, r, i, a) {
}),
_: 3
}, 8, ["appendTo"])
- ], 16, Vm);
+ ], 16, Im);
}
-Bm.render = Jm;
+Fm.render = Um;
// node_modules/primevue/togglebutton/style/index.mjs
-var Ym = X.extend({
+var Wm = X.extend({
name: "togglebutton",
style: "\n .p-togglebutton {\n display: inline-flex;\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n position: relative;\n color: dt('togglebutton.color');\n background: dt('togglebutton.background');\n border: 1px solid dt('togglebutton.border.color');\n padding: dt('togglebutton.padding');\n font-size: 1rem;\n font-family: inherit;\n font-feature-settings: inherit;\n transition:\n background dt('togglebutton.transition.duration'),\n color dt('togglebutton.transition.duration'),\n border-color dt('togglebutton.transition.duration'),\n outline-color dt('togglebutton.transition.duration'),\n box-shadow dt('togglebutton.transition.duration');\n border-radius: dt('togglebutton.border.radius');\n outline-color: transparent;\n font-weight: dt('togglebutton.font.weight');\n }\n\n .p-togglebutton-content {\n display: inline-flex;\n flex: 1 1 auto;\n align-items: center;\n justify-content: center;\n gap: dt('togglebutton.gap');\n padding: dt('togglebutton.content.padding');\n background: transparent;\n border-radius: dt('togglebutton.content.border.radius');\n transition:\n background dt('togglebutton.transition.duration'),\n color dt('togglebutton.transition.duration'),\n border-color dt('togglebutton.transition.duration'),\n outline-color dt('togglebutton.transition.duration'),\n box-shadow dt('togglebutton.transition.duration');\n }\n\n .p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover {\n background: dt('togglebutton.hover.background');\n color: dt('togglebutton.hover.color');\n }\n\n .p-togglebutton.p-togglebutton-checked {\n background: dt('togglebutton.checked.background');\n border-color: dt('togglebutton.checked.border.color');\n color: dt('togglebutton.checked.color');\n }\n\n .p-togglebutton-checked .p-togglebutton-content {\n background: dt('togglebutton.content.checked.background');\n box-shadow: dt('togglebutton.content.checked.shadow');\n }\n\n .p-togglebutton:focus-visible {\n box-shadow: dt('togglebutton.focus.ring.shadow');\n outline: dt('togglebutton.focus.ring.width') dt('togglebutton.focus.ring.style') dt('togglebutton.focus.ring.color');\n outline-offset: dt('togglebutton.focus.ring.offset');\n }\n\n .p-togglebutton.p-invalid {\n border-color: dt('togglebutton.invalid.border.color');\n }\n\n .p-togglebutton:disabled {\n opacity: 1;\n cursor: default;\n background: dt('togglebutton.disabled.background');\n border-color: dt('togglebutton.disabled.border.color');\n color: dt('togglebutton.disabled.color');\n }\n\n .p-togglebutton-label,\n .p-togglebutton-icon {\n position: relative;\n transition: none;\n }\n\n .p-togglebutton-icon {\n color: dt('togglebutton.icon.color');\n }\n\n .p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover .p-togglebutton-icon {\n color: dt('togglebutton.icon.hover.color');\n }\n\n .p-togglebutton.p-togglebutton-checked .p-togglebutton-icon {\n color: dt('togglebutton.icon.checked.color');\n }\n\n .p-togglebutton:disabled .p-togglebutton-icon {\n color: dt('togglebutton.icon.disabled.color');\n }\n\n .p-togglebutton-sm {\n padding: dt('togglebutton.sm.padding');\n font-size: dt('togglebutton.sm.font.size');\n }\n\n .p-togglebutton-sm .p-togglebutton-content {\n padding: dt('togglebutton.content.sm.padding');\n }\n\n .p-togglebutton-lg {\n padding: dt('togglebutton.lg.padding');\n font-size: dt('togglebutton.lg.font.size');\n }\n\n .p-togglebutton-lg .p-togglebutton-content {\n padding: dt('togglebutton.content.lg.padding');\n }\n\n .p-togglebutton-fluid {\n width: 100%;\n }\n",
classes: {
@@ -9912,9 +9834,9 @@ var Ym = X.extend({
icon: "p-togglebutton-icon",
label: "p-togglebutton-label"
}
-}), Xm = {
+}), Gm = {
name: "BaseToggleButton",
- extends: Vf,
+ extends: If,
props: {
onIcon: String,
offIcon: String,
@@ -9951,7 +9873,7 @@ var Ym = X.extend({
default: null
}
},
- style: Ym,
+ style: Wm,
provide: function() {
return {
$pcToggleButton: this,
@@ -9959,39 +9881,39 @@ var Ym = X.extend({
};
}
};
-function Zm(e) {
+function Km(e) {
"@babel/helpers - typeof";
- return Zm = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return Km = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, Zm(e);
+ }, Km(e);
}
-function Qm(e, t, n) {
- return (t = $m(t)) in e ? Object.defineProperty(e, t, {
+function qm(e, t, n) {
+ return (t = Jm(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function $m(e) {
- var t = eh(e, "string");
- return Zm(t) == "symbol" ? t : t + "";
+function Jm(e) {
+ var t = Ym(e, "string");
+ return Km(t) == "symbol" ? t : t + "";
}
-function eh(e, t) {
- if (Zm(e) != "object" || !e) return e;
+function Ym(e, t) {
+ if (Km(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (Zm(r) != "object") return r;
+ if (Km(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var th = {
+var Xm = {
name: "ToggleButton",
- extends: Xm,
+ extends: Gm,
inheritAttrs: !1,
emits: ["change"],
methods: {
@@ -10020,14 +9942,14 @@ var th = {
return this.hasLabel ? this.d_value ? this.onLabel : this.offLabel : "\xA0";
},
dataP: function() {
- return q(Qm({
+ return q(qm({
checked: this.active,
invalid: this.$invalid
}, this.size, this.size));
}
},
- directives: { ripple: lf }
-}, nh = [
+ directives: { ripple: rf }
+}, Zm = [
"tabindex",
"disabled",
"aria-pressed",
@@ -10036,10 +9958,10 @@ var th = {
"data-p-checked",
"data-p-disabled",
"data-p"
-], rh = ["data-p"];
-function ih(e, t, n, r, i, a) {
- var o = mi("ripple");
- return qn((z(), B("button", G({
+], Qm = ["data-p"];
+function $m(e, t, n, r, i, a) {
+ var o = di("ripple");
+ return Wn((R(), z("button", W({
type: "button",
class: e.cx("root"),
tabindex: e.tabindex,
@@ -10057,21 +9979,21 @@ function ih(e, t, n, r, i, a) {
"data-p-checked": a.active,
"data-p-disabled": e.disabled,
"data-p": a.dataP
- }), [H("span", G({ class: e.cx("content") }, a.getPTOptions("content"), { "data-p": a.dataP }), [I(e.$slots, "default", {}, function() {
+ }), [V("span", W({ class: e.cx("content") }, a.getPTOptions("content"), { "data-p": a.dataP }), [I(e.$slots, "default", {}, function() {
return [I(e.$slots, "icon", {
value: e.d_value,
class: O(e.cx("icon"))
}, function() {
- return [e.onIcon || e.offIcon ? (z(), B("span", G({
+ return [e.onIcon || e.offIcon ? (R(), z("span", W({
key: 0,
class: [e.cx("icon"), e.d_value ? e.onIcon : e.offIcon]
- }, a.getPTOptions("icon")), null, 16)) : W("", !0)];
- }), H("span", G({ class: e.cx("label") }, a.getPTOptions("label")), k(a.label), 17)];
- })], 16, rh)], 16, nh)), [[o]]);
+ }, a.getPTOptions("icon")), null, 16)) : U("", !0)];
+ }), V("span", W({ class: e.cx("label") }, a.getPTOptions("label")), k(a.label), 17)];
+ })], 16, Qm)], 16, Zm)), [[o]]);
}
-th.render = ih;
+Xm.render = $m;
// node_modules/primevue/tag/style/index.mjs
-var ah = X.extend({
+var eh = X.extend({
name: "tag",
style: "\n .p-tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: dt('tag.primary.background');\n color: dt('tag.primary.color');\n font-size: dt('tag.font.size');\n font-weight: dt('tag.font.weight');\n padding: dt('tag.padding');\n border-radius: dt('tag.border.radius');\n gap: dt('tag.gap');\n }\n\n .p-tag-icon {\n font-size: dt('tag.icon.size');\n width: dt('tag.icon.size');\n height: dt('tag.icon.size');\n }\n\n .p-tag-rounded {\n border-radius: dt('tag.rounded.border.radius');\n }\n\n .p-tag-success {\n background: dt('tag.success.background');\n color: dt('tag.success.color');\n }\n\n .p-tag-info {\n background: dt('tag.info.background');\n color: dt('tag.info.color');\n }\n\n .p-tag-warn {\n background: dt('tag.warn.background');\n color: dt('tag.warn.color');\n }\n\n .p-tag-danger {\n background: dt('tag.danger.background');\n color: dt('tag.danger.color');\n }\n\n .p-tag-secondary {\n background: dt('tag.secondary.background');\n color: dt('tag.secondary.color');\n }\n\n .p-tag-contrast {\n background: dt('tag.contrast.background');\n color: dt('tag.contrast.color');\n }\n",
classes: {
@@ -10090,16 +10012,16 @@ var ah = X.extend({
icon: "p-tag-icon",
label: "p-tag-label"
}
-}), oh = {
+}), th = {
name: "BaseTag",
- extends: pd,
+ extends: cd,
props: {
value: null,
severity: null,
rounded: Boolean,
icon: String
},
- style: ah,
+ style: eh,
provide: function() {
return {
$pcTag: this,
@@ -10107,158 +10029,158 @@ var ah = X.extend({
};
}
};
-function sh(e) {
+function nh(e) {
"@babel/helpers - typeof";
- return sh = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return nh = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, sh(e);
+ }, nh(e);
}
-function ch(e, t, n) {
- return (t = lh(t)) in e ? Object.defineProperty(e, t, {
+function rh(e, t, n) {
+ return (t = ih(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function lh(e) {
- var t = uh(e, "string");
- return sh(t) == "symbol" ? t : t + "";
+function ih(e) {
+ var t = ah(e, "string");
+ return nh(t) == "symbol" ? t : t + "";
}
-function uh(e, t) {
- if (sh(e) != "object" || !e) return e;
+function ah(e, t) {
+ if (nh(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (sh(r) != "object") return r;
+ if (nh(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var dh = {
+var oh = {
name: "Tag",
- extends: oh,
+ extends: th,
inheritAttrs: !1,
computed: { dataP: function() {
- return q(ch({ rounded: this.rounded }, this.severity, this.severity));
+ return q(rh({ rounded: this.rounded }, this.severity, this.severity));
} }
-}, fh = ["data-p"];
-function ph(e, t, n, r, i, a) {
- return z(), B("span", G({
+}, sh = ["data-p"];
+function ch(e, t, n, r, i, a) {
+ return R(), z("span", W({
class: e.cx("root"),
"data-p": a.dataP
- }, e.ptmi("root")), [e.$slots.icon ? (z(), V(pi(e.$slots.icon), G({
+ }, e.ptmi("root")), [e.$slots.icon ? (R(), B(ui(e.$slots.icon), W({
key: 0,
class: e.cx("icon")
- }, e.ptm("icon")), null, 16, ["class"])) : e.icon ? (z(), B("span", G({
+ }, e.ptm("icon")), null, 16, ["class"])) : e.icon ? (R(), z("span", W({
key: 1,
class: [e.cx("icon"), e.icon]
- }, e.ptm("icon")), null, 16)) : W("", !0), e.value != null || e.$slots.default ? I(e.$slots, "default", { key: 2 }, function() {
- return [H("span", G({ class: e.cx("label") }, e.ptm("label")), k(e.value), 17)];
- }) : W("", !0)], 16, fh);
+ }, e.ptm("icon")), null, 16)) : U("", !0), e.value != null || e.$slots.default ? I(e.$slots, "default", { key: 2 }, function() {
+ return [V("span", W({ class: e.cx("label") }, e.ptm("label")), k(e.value), 17)];
+ }) : U("", !0)], 16, sh);
}
-dh.render = ph;
+oh.render = ch;
// node_modules/@primevue/icons/windowmaximize/index.mjs
-var mh = {
+var lh = {
name: "WindowMaximizeIcon",
- extends: xd
+ extends: gd
};
-function hh(e) {
- return yh(e) || vh(e) || _h(e) || gh();
+function uh(e) {
+ return mh(e) || ph(e) || fh(e) || dh();
}
-function gh() {
+function dh() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function _h(e, t) {
+function fh(e, t) {
if (e) {
- if (typeof e == "string") return bh(e, t);
+ if (typeof e == "string") return hh(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? bh(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? hh(e, t) : void 0;
}
}
-function vh(e) {
+function ph(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function yh(e) {
- if (Array.isArray(e)) return bh(e);
+function mh(e) {
+ if (Array.isArray(e)) return hh(e);
}
-function bh(e, t) {
+function hh(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function xh(e, t, n, r, i, a) {
- return z(), B("svg", G({
+function gh(e, t, n, r, i, a) {
+ return R(), z("svg", W({
width: "14",
height: "14",
viewBox: "0 0 14 14",
fill: "none",
xmlns: "http://www.w3.org/2000/svg"
- }, e.pti()), hh(t[0] ||= [H("path", {
+ }, e.pti()), uh(t[0] ||= [V("path", {
"fill-rule": "evenodd",
"clip-rule": "evenodd",
d: "M7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14ZM9.77805 7.42192C9.89013 7.534 10.0415 7.59788 10.2 7.59995C10.3585 7.59788 10.5099 7.534 10.622 7.42192C10.7341 7.30985 10.798 7.15844 10.8 6.99995V3.94242C10.8066 3.90505 10.8096 3.86689 10.8089 3.82843C10.8079 3.77159 10.7988 3.7157 10.7824 3.6623C10.756 3.55552 10.701 3.45698 10.622 3.37798C10.5099 3.2659 10.3585 3.20202 10.2 3.19995H7.00002C6.84089 3.19995 6.68828 3.26317 6.57576 3.37569C6.46324 3.48821 6.40002 3.64082 6.40002 3.79995C6.40002 3.95908 6.46324 4.11169 6.57576 4.22422C6.68828 4.33674 6.84089 4.39995 7.00002 4.39995H8.80006L6.19997 7.00005C6.10158 7.11005 6.04718 7.25246 6.04718 7.40005C6.04718 7.54763 6.10158 7.69004 6.19997 7.80005C6.30202 7.91645 6.44561 7.98824 6.59997 8.00005C6.75432 7.98824 6.89791 7.91645 6.99997 7.80005L9.60002 5.26841V6.99995C9.6021 7.15844 9.66598 7.30985 9.77805 7.42192ZM1.4 14H3.8C4.17066 13.9979 4.52553 13.8498 4.78763 13.5877C5.04973 13.3256 5.1979 12.9707 5.2 12.6V10.2C5.1979 9.82939 5.04973 9.47452 4.78763 9.21242C4.52553 8.95032 4.17066 8.80215 3.8 8.80005H1.4C1.02934 8.80215 0.674468 8.95032 0.412371 9.21242C0.150274 9.47452 0.00210008 9.82939 0 10.2V12.6C0.00210008 12.9707 0.150274 13.3256 0.412371 13.5877C0.674468 13.8498 1.02934 13.9979 1.4 14ZM1.25858 10.0586C1.29609 10.0211 1.34696 10 1.4 10H3.8C3.85304 10 3.90391 10.0211 3.94142 10.0586C3.97893 10.0961 4 10.147 4 10.2V12.6C4 12.6531 3.97893 12.704 3.94142 12.7415C3.90391 12.779 3.85304 12.8 3.8 12.8H1.4C1.34696 12.8 1.29609 12.779 1.25858 12.7415C1.22107 12.704 1.2 12.6531 1.2 12.6V10.2C1.2 10.147 1.22107 10.0961 1.25858 10.0586Z",
fill: "currentColor"
}, null, -1)]), 16);
}
-mh.render = xh;
+lh.render = gh;
// node_modules/@primevue/icons/windowminimize/index.mjs
-var Sh = {
+var _h = {
name: "WindowMinimizeIcon",
- extends: xd
+ extends: gd
};
-function Ch(e) {
- return Dh(e) || Eh(e) || Th(e) || wh();
+function vh(e) {
+ return Sh(e) || xh(e) || bh(e) || yh();
}
-function wh() {
+function yh() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function Th(e, t) {
+function bh(e, t) {
if (e) {
- if (typeof e == "string") return Oh(e, t);
+ if (typeof e == "string") return Ch(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Oh(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Ch(e, t) : void 0;
}
}
-function Eh(e) {
+function xh(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function Dh(e) {
- if (Array.isArray(e)) return Oh(e);
+function Sh(e) {
+ if (Array.isArray(e)) return Ch(e);
}
-function Oh(e, t) {
+function Ch(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function kh(e, t, n, r, i, a) {
- return z(), B("svg", G({
+function wh(e, t, n, r, i, a) {
+ return R(), z("svg", W({
width: "14",
height: "14",
viewBox: "0 0 14 14",
fill: "none",
xmlns: "http://www.w3.org/2000/svg"
- }, e.pti()), Ch(t[0] ||= [H("path", {
+ }, e.pti()), vh(t[0] ||= [V("path", {
"fill-rule": "evenodd",
"clip-rule": "evenodd",
d: "M11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0ZM6.368 7.952C6.44137 7.98326 6.52025 7.99958 6.6 8H9.8C9.95913 8 10.1117 7.93678 10.2243 7.82426C10.3368 7.71174 10.4 7.55913 10.4 7.4C10.4 7.24087 10.3368 7.08826 10.2243 6.97574C10.1117 6.86321 9.95913 6.8 9.8 6.8H8.048L10.624 4.224C10.73 4.11026 10.7877 3.95982 10.7849 3.80438C10.7822 3.64894 10.7192 3.50063 10.6093 3.3907C10.4994 3.28077 10.3511 3.2178 10.1956 3.21506C10.0402 3.21232 9.88974 3.27002 9.776 3.376L7.2 5.952V4.2C7.2 4.04087 7.13679 3.88826 7.02426 3.77574C6.91174 3.66321 6.75913 3.6 6.6 3.6C6.44087 3.6 6.28826 3.66321 6.17574 3.77574C6.06321 3.88826 6 4.04087 6 4.2V7.4C6.00042 7.47975 6.01674 7.55862 6.048 7.632C6.07656 7.70442 6.11971 7.7702 6.17475 7.82524C6.2298 7.88029 6.29558 7.92344 6.368 7.952ZM1.4 8.80005H3.8C4.17066 8.80215 4.52553 8.95032 4.78763 9.21242C5.04973 9.47452 5.1979 9.82939 5.2 10.2V12.6C5.1979 12.9707 5.04973 13.3256 4.78763 13.5877C4.52553 13.8498 4.17066 13.9979 3.8 14H1.4C1.02934 13.9979 0.674468 13.8498 0.412371 13.5877C0.150274 13.3256 0.00210008 12.9707 0 12.6V10.2C0.00210008 9.82939 0.150274 9.47452 0.412371 9.21242C0.674468 8.95032 1.02934 8.80215 1.4 8.80005ZM3.94142 12.7415C3.97893 12.704 4 12.6531 4 12.6V10.2C4 10.147 3.97893 10.0961 3.94142 10.0586C3.90391 10.0211 3.85304 10 3.8 10H1.4C1.34696 10 1.29609 10.0211 1.25858 10.0586C1.22107 10.0961 1.2 10.147 1.2 10.2V12.6C1.2 12.6531 1.22107 12.704 1.25858 12.7415C1.29609 12.779 1.34696 12.8 1.4 12.8H3.8C3.85304 12.8 3.90391 12.779 3.94142 12.7415Z",
fill: "currentColor"
}, null, -1)]), 16);
}
-Sh.render = kh;
+_h.render = wh;
// node_modules/primevue/focustrap/style/index.mjs
-var Ah = X.extend({ name: "focustrap-directive" }), jh = $.extend({ style: Ah });
-function Mh(e) {
+var Th = X.extend({ name: "focustrap-directive" }), Eh = $.extend({ style: Th });
+function Dh(e) {
"@babel/helpers - typeof";
- return Mh = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return Dh = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, Mh(e);
+ }, Dh(e);
}
-function Nh(e, t) {
+function Oh(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
@@ -10268,40 +10190,40 @@ function Nh(e, t) {
}
return n;
}
-function Ph(e) {
+function kh(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] == null ? {} : arguments[t];
- t % 2 ? Nh(Object(n), !0).forEach(function(t) {
- Fh(e, t, n[t]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Nh(Object(n)).forEach(function(t) {
+ t % 2 ? Oh(Object(n), !0).forEach(function(t) {
+ Ah(e, t, n[t]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Oh(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
});
}
return e;
}
-function Fh(e, t, n) {
- return (t = Ih(t)) in e ? Object.defineProperty(e, t, {
+function Ah(e, t, n) {
+ return (t = jh(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function Ih(e) {
- var t = Lh(e, "string");
- return Mh(t) == "symbol" ? t : t + "";
+function jh(e) {
+ var t = Mh(e, "string");
+ return Dh(t) == "symbol" ? t : t + "";
}
-function Lh(e, t) {
- if (Mh(e) != "object" || !e) return e;
+function Mh(e, t) {
+ if (Dh(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (Mh(r) != "object") return r;
+ if (Dh(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var Rh = jh.extend("focustrap", {
+var Nh = Eh.extend("focustrap", {
mounted: function(e, t) {
(t.value || {}).disabled || (this.createHiddenFocusableElements(e, t), this.bind(e, t), this.autoElementFocus(e, t)), e.setAttribute("data-pd-focustrap", !0), this.$el = e;
},
@@ -10321,7 +10243,7 @@ var Rh = jh.extend("focustrap", {
t.forEach(function(t) {
if (t.type === "childList" && !e.contains(document.activeElement)) {
var r = function(t) {
- var i = hl(t) ? hl(t, n.getComputedSelector(e.$_pfocustrap_focusableselector)) ? t : al(e, n.getComputedSelector(e.$_pfocustrap_focusableselector)) : al(t);
+ var i = ul(t) ? ul(t, n.getComputedSelector(e.$_pfocustrap_focusableselector)) ? t : el(e, n.getComputedSelector(e.$_pfocustrap_focusableselector)) : el(t);
return K(i) ? i : t.nextSibling && r(t.nextSibling);
};
J(r(t.nextSibling));
@@ -10337,23 +10259,23 @@ var Rh = jh.extend("focustrap", {
e.$_pfocustrap_mutationobserver && e.$_pfocustrap_mutationobserver.disconnect(), e.$_pfocustrap_focusinlistener && e.removeEventListener("focusin", e.$_pfocustrap_focusinlistener) && (e.$_pfocustrap_focusinlistener = null), e.$_pfocustrap_focusoutlistener && e.removeEventListener("focusout", e.$_pfocustrap_focusoutlistener) && (e.$_pfocustrap_focusoutlistener = null);
},
autoFocus: function(e) {
- this.autoElementFocus(this.$el, { value: Ph(Ph({}, e), {}, { autoFocus: !0 }) });
+ this.autoElementFocus(this.$el, { value: kh(kh({}, e), {}, { autoFocus: !0 }) });
},
autoElementFocus: function(e, t) {
- var n = t.value || {}, r = n.autoFocusSelector, i = r === void 0 ? "" : r, a = n.firstFocusableSelector, o = a === void 0 ? "" : a, s = n.autoFocus, c = s !== void 0 && s, l = al(e, `[autofocus]${this.getComputedSelector(i)}`);
- c && !l && (l = al(e, this.getComputedSelector(o))), J(l);
+ var n = t.value || {}, r = n.autoFocusSelector, i = r === void 0 ? "" : r, a = n.firstFocusableSelector, o = a === void 0 ? "" : a, s = n.autoFocus, c = s !== void 0 && s, l = el(e, `[autofocus]${this.getComputedSelector(i)}`);
+ c && !l && (l = el(e, this.getComputedSelector(o))), J(l);
},
onFirstHiddenElementFocus: function(e) {
var t, n = e.currentTarget, r = e.relatedTarget;
- J(r === n.$_pfocustrap_lasthiddenfocusableelement || !((t = this.$el) != null && t.contains(r)) ? al(n.parentElement, this.getComputedSelector(n.$_pfocustrap_focusableselector)) : n.$_pfocustrap_lasthiddenfocusableelement);
+ J(r === n.$_pfocustrap_lasthiddenfocusableelement || !((t = this.$el) != null && t.contains(r)) ? el(n.parentElement, this.getComputedSelector(n.$_pfocustrap_focusableselector)) : n.$_pfocustrap_lasthiddenfocusableelement);
},
onLastHiddenElementFocus: function(e) {
var t, n = e.currentTarget, r = e.relatedTarget;
- J(r === n.$_pfocustrap_firsthiddenfocusableelement || !((t = this.$el) != null && t.contains(r)) ? sl(n.parentElement, this.getComputedSelector(n.$_pfocustrap_focusableselector)) : n.$_pfocustrap_firsthiddenfocusableelement);
+ J(r === n.$_pfocustrap_firsthiddenfocusableelement || !((t = this.$el) != null && t.contains(r)) ? nl(n.parentElement, this.getComputedSelector(n.$_pfocustrap_focusableselector)) : n.$_pfocustrap_firsthiddenfocusableelement);
},
createHiddenFocusableElements: function(e, t) {
var n = this, r = t.value || {}, i = r.tabIndex, a = i === void 0 ? 0 : i, o = r.firstFocusableSelector, s = o === void 0 ? "" : o, c = r.lastFocusableSelector, l = c === void 0 ? "" : c, u = function(e) {
- return el("span", {
+ return Yc("span", {
class: "p-hidden-accessible p-hidden-focusable",
tabIndex: a,
role: "presentation",
@@ -10368,14 +10290,14 @@ var Rh = jh.extend("focustrap", {
}
});
// node_modules/primevue/utils/index.mjs
-function zh() {
- Ic({ variableName: ql("scrollbar.width").name });
+function Ph() {
+ jc({ variableName: Hl("scrollbar.width").name });
}
-function Bh() {
- Rc({ variableName: ql("scrollbar.width").name });
+function Fh() {
+ Nc({ variableName: Hl("scrollbar.width").name });
}
// node_modules/primevue/dialog/style/index.mjs
-var Vh = X.extend({
+var Ih = X.extend({
name: "dialog",
style: "\n .p-dialog {\n max-height: 90%;\n transform: scale(1);\n border-radius: dt('dialog.border.radius');\n box-shadow: dt('dialog.shadow');\n background: dt('dialog.background');\n border: 1px solid dt('dialog.border.color');\n color: dt('dialog.color');\n will-change: transform;\n }\n\n .p-dialog-content {\n overflow-y: auto;\n padding: dt('dialog.content.padding');\n flex-grow: 1;\n }\n\n .p-dialog-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n padding: dt('dialog.header.padding');\n }\n\n .p-dialog-title {\n font-weight: dt('dialog.title.font.weight');\n font-size: dt('dialog.title.font.size');\n }\n\n .p-dialog-footer {\n flex-shrink: 0;\n padding: dt('dialog.footer.padding');\n display: flex;\n justify-content: flex-end;\n gap: dt('dialog.footer.gap');\n }\n\n .p-dialog-header-actions {\n display: flex;\n align-items: center;\n gap: dt('dialog.header.gap');\n }\n\n .p-dialog-top .p-dialog,\n .p-dialog-bottom .p-dialog,\n .p-dialog-left .p-dialog,\n .p-dialog-right .p-dialog,\n .p-dialog-topleft .p-dialog,\n .p-dialog-topright .p-dialog,\n .p-dialog-bottomleft .p-dialog,\n .p-dialog-bottomright .p-dialog {\n margin: 1rem;\n }\n\n .p-dialog-maximized {\n width: 100vw !important;\n height: 100vh !important;\n top: 0px !important;\n left: 0px !important;\n max-height: 100%;\n height: 100%;\n border-radius: 0;\n }\n\n .p-dialog .p-resizable-handle {\n position: absolute;\n font-size: 0.1px;\n display: block;\n cursor: se-resize;\n width: 12px;\n height: 12px;\n right: 1px;\n bottom: 1px;\n }\n\n .p-dialog-enter-active {\n animation: p-animate-dialog-enter 300ms cubic-bezier(.19,1,.22,1);\n }\n\n .p-dialog-leave-active {\n animation: p-animate-dialog-leave 300ms cubic-bezier(.19,1,.22,1);\n }\n\n @keyframes p-animate-dialog-enter {\n from {\n opacity: 0;\n transform: scale(0.93);\n }\n }\n\n @keyframes p-animate-dialog-leave {\n to {\n opacity: 0;\n transform: scale(0.93);\n }\n }\n",
classes: {
@@ -10431,11 +10353,11 @@ var Vh = X.extend({
pointerEvents: "auto"
}
}
-}), Hh = {
+}), Lh = {
name: "Dialog",
extends: {
name: "BaseDialog",
- extends: pd,
+ extends: cd,
props: {
header: {
type: null,
@@ -10559,7 +10481,7 @@ var Vh = X.extend({
},
_instance: null
},
- style: Vh,
+ style: Ih,
provide: function() {
return {
$pcDialog: this,
@@ -10580,7 +10502,7 @@ var Vh = X.extend({
],
provide: function() {
var e = this;
- return { dialogRef: To(function() {
+ return { dialogRef: bo(function() {
return e._instance;
}) };
},
@@ -10612,7 +10534,7 @@ var Vh = X.extend({
this.visible && (this.containerVisible = this.visible);
},
beforeUnmount: function() {
- this.unbindDocumentState(), this.unbindGlobalListeners(), this.destroyStyle(), this.mask && this.autoZIndex && Sl.clear(this.mask), this.container = null, this.mask = null;
+ this.unbindDocumentState(), this.unbindGlobalListeners(), this.destroyStyle(), this.mask && this.autoZIndex && _l.clear(this.mask), this.container = null, this.mask = null;
},
mounted: function() {
this.breakpoints && this.createStyle();
@@ -10622,19 +10544,19 @@ var Vh = X.extend({
this.$emit("update:visible", !1);
},
onEnter: function() {
- this.$emit("show"), this.target = document.activeElement, this.enableDocumentSettings(), this.bindGlobalListeners(), this.autoZIndex && Sl.set("modal", this.mask, this.baseZIndex || this.$primevue.config.zIndex.modal);
+ this.$emit("show"), this.target = document.activeElement, this.enableDocumentSettings(), this.bindGlobalListeners(), this.autoZIndex && _l.set("modal", this.mask, this.baseZIndex || this.$primevue.config.zIndex.modal);
},
onAfterEnter: function() {
this.focus();
},
onBeforeLeave: function() {
- this.modal && !this.isUnstyled && Pc(this.mask, "p-overlay-mask-leave-active"), this.dragging && this.documentDragEndListener && this.documentDragEndListener();
+ this.modal && !this.isUnstyled && kc(this.mask, "p-overlay-mask-leave-active"), this.dragging && this.documentDragEndListener && this.documentDragEndListener();
},
onLeave: function() {
this.$emit("hide"), J(this.target), this.target = null, this.focusableClose = null, this.focusableMax = null;
},
onAfterLeave: function() {
- this.autoZIndex && Sl.clear(this.mask), this.containerVisible = !1, this.unbindDocumentState(), this.unbindGlobalListeners(), this.$emit("after-hide");
+ this.autoZIndex && _l.clear(this.mask), this.containerVisible = !1, this.unbindDocumentState(), this.unbindGlobalListeners(), this.$emit("after-hide");
},
onMaskMouseDown: function(e) {
this.maskMouseDownTarget = e.target;
@@ -10649,13 +10571,13 @@ var Vh = X.extend({
t || (t = this.$slots.header && e(this.headerContainer), t || (t = this.$slots.default && e(this.content), t || (this.maximizable ? (this.focusableMax = !0, t = this.maximizableButton) : (this.focusableClose = !0, t = this.closeButton)))), t && J(t, { focusVisible: !0 });
},
maximize: function(e) {
- this.maximized ? (this.maximized = !1, this.$emit("unmaximize", e)) : (this.maximized = !0, this.$emit("maximize", e)), this.modal || (this.maximized ? zh() : Bh());
+ this.maximized ? (this.maximized = !1, this.$emit("unmaximize", e)) : (this.maximized = !0, this.$emit("maximize", e)), this.modal || (this.maximized ? Ph() : Fh());
},
enableDocumentSettings: function() {
- (this.modal || !this.modal && this.blockScroll || this.maximizable && this.maximized) && zh();
+ (this.modal || !this.modal && this.blockScroll || this.maximizable && this.maximized) && Ph();
},
unbindDocumentState: function() {
- (this.modal || !this.modal && this.blockScroll || this.maximizable && this.maximized) && Bh();
+ (this.modal || !this.modal && this.blockScroll || this.maximizable && this.maximized) && Fh();
},
onKeyDown: function(e) {
e.code === "Escape" && this.closeOnEscape && !e.isComposing && this.close();
@@ -10690,7 +10612,7 @@ var Vh = X.extend({
createStyle: function() {
if (!this.styleElement && !this.isUnstyled) {
var e;
- this.styleElement = document.createElement("style"), this.styleElement.type = "text/css", vl(this.styleElement, "nonce", (e = this.$primevue) == null || (e = e.config) == null || (e = e.csp) == null ? void 0 : e.nonce), document.head.appendChild(this.styleElement);
+ this.styleElement = document.createElement("style"), this.styleElement.type = "text/css", pl(this.styleElement, "nonce", (e = this.$primevue) == null || (e = e.config) == null || (e = e.csp) == null ? void 0 : e.nonce), document.head.appendChild(this.styleElement);
var t = "";
for (var n in this.breakpoints) t += `
@media screen and (max-width: ${n}) {
@@ -10706,7 +10628,7 @@ var Vh = X.extend({
this.styleElement &&= (document.head.removeChild(this.styleElement), null);
},
initDrag: function(e) {
- e.target.closest("div").getAttribute("data-pc-section") !== "headeractions" && this.draggable && (this.dragging = !0, this.lastPageX = e.pageX, this.lastPageY = e.pageY, this.container.style.margin = "0", document.body.setAttribute("data-p-unselectable-text", "true"), !this.isUnstyled && qc(document.body, { "user-select": "none" }), this.$emit("dragstart", e));
+ e.target.closest("div").getAttribute("data-pc-section") !== "headeractions" && this.draggable && (this.dragging = !0, this.lastPageX = e.pageX, this.lastPageY = e.pageY, this.container.style.margin = "0", document.body.setAttribute("data-p-unselectable-text", "true"), !this.isUnstyled && Hc(document.body, { "user-select": "none" }), this.$emit("dragstart", e));
},
bindGlobalListeners: function() {
this.draggable && (this.bindDocumentDragListener(), this.bindDocumentDragEndListener()), this.closeOnEscape && this.bindDocumentKeyDownListener();
@@ -10718,7 +10640,7 @@ var Vh = X.extend({
var e = this;
this.documentDragListener = function(t) {
if (e.dragging) {
- var n = Jc(e.container), r = ll(e.container), i = t.pageX - e.lastPageX, a = t.pageY - e.lastPageY, o = e.container.getBoundingClientRect(), s = o.left + i, c = o.top + a, l = Vc(), u = getComputedStyle(e.container), d = parseFloat(u.marginLeft), f = parseFloat(u.marginTop);
+ var n = Uc(e.container), r = il(e.container), i = t.pageX - e.lastPageX, a = t.pageY - e.lastPageY, o = e.container.getBoundingClientRect(), s = o.left + i, c = o.top + a, l = Ic(), u = getComputedStyle(e.container), d = parseFloat(u.marginLeft), f = parseFloat(u.marginTop);
e.container.style.position = "fixed", e.keepInViewport ? (s >= e.minX && s + n < l.width && (e.lastPageX = t.pageX, e.container.style.left = s - d + "px"), c >= e.minY && c + r < l.height && (e.lastPageY = t.pageY, e.container.style.top = c - f + "px")) : (e.lastPageX = t.pageX, e.container.style.left = s - d + "px", e.lastPageY = t.pageY, e.container.style.top = c - f + "px");
}
}, window.document.addEventListener("mousemove", this.documentDragListener);
@@ -10754,26 +10676,26 @@ var Vh = X.extend({
}
},
directives: {
- ripple: lf,
- focustrap: Rh
+ ripple: rf,
+ focustrap: Nh
},
components: {
- Button: xf,
- Portal: pm,
- WindowMinimizeIcon: Sh,
- WindowMaximizeIcon: mh,
- TimesIcon: em
+ Button: gf,
+ Portal: cm,
+ WindowMinimizeIcon: _h,
+ WindowMaximizeIcon: lh,
+ TimesIcon: Yp
}
};
-function Uh(e) {
+function Rh(e) {
"@babel/helpers - typeof";
- return Uh = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return Rh = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, Uh(e);
+ }, Rh(e);
}
-function Wh(e, t) {
+function zh(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
@@ -10783,49 +10705,49 @@ function Wh(e, t) {
}
return n;
}
-function Gh(e) {
+function Bh(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] == null ? {} : arguments[t];
- t % 2 ? Wh(Object(n), !0).forEach(function(t) {
- Kh(e, t, n[t]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Wh(Object(n)).forEach(function(t) {
+ t % 2 ? zh(Object(n), !0).forEach(function(t) {
+ Vh(e, t, n[t]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : zh(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
});
}
return e;
}
-function Kh(e, t, n) {
- return (t = qh(t)) in e ? Object.defineProperty(e, t, {
+function Vh(e, t, n) {
+ return (t = Hh(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function qh(e) {
- var t = Jh(e, "string");
- return Uh(t) == "symbol" ? t : t + "";
+function Hh(e) {
+ var t = Uh(e, "string");
+ return Rh(t) == "symbol" ? t : t + "";
}
-function Jh(e, t) {
- if (Uh(e) != "object" || !e) return e;
+function Uh(e, t) {
+ if (Rh(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (Uh(r) != "object") return r;
+ if (Rh(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var Yh = ["data-p"], Xh = [
+var Wh = ["data-p"], Gh = [
"aria-labelledby",
"aria-modal",
"data-p"
-], Zh = ["id"], Qh = ["data-p"];
-function $h(e, t, n, r, i, a) {
- var o = F("Button"), s = F("Portal"), c = mi("focustrap");
- return z(), V(s, { appendTo: e.appendTo }, {
+], Kh = ["id"], qh = ["data-p"];
+function Jh(e, t, n, r, i, a) {
+ var o = F("Button"), s = F("Portal"), c = di("focustrap");
+ return R(), B(s, { appendTo: e.appendTo }, {
default: P(function() {
- return [i.containerVisible ? (z(), B("div", G({
+ return [i.containerVisible ? (R(), z("div", W({
key: 0,
ref: a.maskRef,
class: e.cx("mask"),
@@ -10840,7 +10762,7 @@ function $h(e, t, n, r, i, a) {
return a.onMaskMouseUp && a.onMaskMouseUp.apply(a, arguments);
},
"data-p": a.dataP
- }, e.ptm("mask")), [U(Vo, G({
+ }, e.ptm("mask")), [H(Io, W({
name: "p-dialog",
onEnter: a.onEnter,
onAfterEnter: a.onAfterEnter,
@@ -10850,7 +10772,7 @@ function $h(e, t, n, r, i, a) {
appear: ""
}, e.ptm("transition")), {
default: P(function() {
- return [e.visible ? qn((z(), B("div", G({
+ return [e.visible ? Wn((R(), z("div", W({
key: 0,
ref: a.containerRef,
class: e.cx("root"),
@@ -10866,8 +10788,8 @@ function $h(e, t, n, r, i, a) {
return a.maximize(e);
},
initDragCallback: a.initDrag
- }) : (z(), B(L, { key: 1 }, [
- e.showHeader ? (z(), B("div", G({
+ }) : (R(), z(L, { key: 1 }, [
+ e.showHeader ? (R(), z("div", W({
key: 0,
ref: a.headerContainerRef,
class: e.cx("header"),
@@ -10875,19 +10797,19 @@ function $h(e, t, n, r, i, a) {
return a.initDrag && a.initDrag.apply(a, arguments);
}
}, e.ptm("header")), [I(e.$slots, "header", { class: O(e.cx("title")) }, function() {
- return [e.header ? (z(), B("span", G({
+ return [e.header ? (R(), z("span", W({
key: 0,
id: a.ariaLabelledById,
class: e.cx("title")
- }, e.ptm("title")), k(e.header), 17, Zh)) : W("", !0)];
- }), H("div", G({ class: e.cx("headerActions") }, e.ptm("headerActions")), [e.maximizable ? I(e.$slots, "maximizebutton", {
+ }, e.ptm("title")), k(e.header), 17, Kh)) : U("", !0)];
+ }), V("div", W({ class: e.cx("headerActions") }, e.ptm("headerActions")), [e.maximizable ? I(e.$slots, "maximizebutton", {
key: 0,
maximized: i.maximized,
maximizeCallback: function(e) {
return a.maximize(e);
}
}, function() {
- return [U(o, G({
+ return [H(o, W({
ref: a.maximizableRef,
autofocus: i.focusableMax,
class: e.cx("pcMaximizeButton"),
@@ -10900,7 +10822,7 @@ function $h(e, t, n, r, i, a) {
}), {
icon: P(function(t) {
return [I(e.$slots, "maximizeicon", { maximized: i.maximized }, function() {
- return [(z(), V(pi(a.maximizeIconComponent), G({ class: [t.class, i.maximized ? e.minimizeIcon : e.maximizeIcon] }, e.ptm("pcMaximizeButton").icon), null, 16, ["class"]))];
+ return [(R(), B(ui(a.maximizeIconComponent), W({ class: [t.class, i.maximized ? e.minimizeIcon : e.maximizeIcon] }, e.ptm("pcMaximizeButton").icon), null, 16, ["class"]))];
})];
}),
_: 3
@@ -10912,11 +10834,11 @@ function $h(e, t, n, r, i, a) {
"unstyled",
"pt"
])];
- }) : W("", !0), e.closable ? I(e.$slots, "closebutton", {
+ }) : U("", !0), e.closable ? I(e.$slots, "closebutton", {
key: 1,
closeCallback: a.close
}, function() {
- return [U(o, G({
+ return [H(o, W({
ref: a.closeButtonRef,
autofocus: i.focusableClose,
class: e.cx("pcCloseButton"),
@@ -10929,7 +10851,7 @@ function $h(e, t, n, r, i, a) {
}), {
icon: P(function(t) {
return [I(e.$slots, "closeicon", {}, function() {
- return [(z(), V(pi(e.closeIcon ? "span" : "TimesIcon"), G({ class: [e.closeIcon, t.class] }, e.ptm("pcCloseButton").icon), null, 16, ["class"]))];
+ return [(R(), B(ui(e.closeIcon ? "span" : "TimesIcon"), W({ class: [e.closeIcon, t.class] }, e.ptm("pcCloseButton").icon), null, 16, ["class"]))];
})];
}),
_: 3
@@ -10941,21 +10863,21 @@ function $h(e, t, n, r, i, a) {
"unstyled",
"pt"
])];
- }) : W("", !0)], 16)], 16)) : W("", !0),
- H("div", G({
+ }) : U("", !0)], 16)], 16)) : U("", !0),
+ V("div", W({
ref: a.contentRef,
class: [e.cx("content"), e.contentClass],
style: e.contentStyle,
"data-p": a.dataP
- }, Gh(Gh({}, e.contentProps), e.ptm("content"))), [I(e.$slots, "default")], 16, Qh),
- e.footer || e.$slots.footer ? (z(), B("div", G({
+ }, Bh(Bh({}, e.contentProps), e.ptm("content"))), [I(e.$slots, "default")], 16, qh),
+ e.footer || e.$slots.footer ? (R(), z("div", W({
key: 1,
ref: a.footerContainerRef,
class: e.cx("footer")
}, e.ptm("footer")), [I(e.$slots, "footer", {}, function() {
- return [Za(k(e.footer), 1)];
- })], 16)) : W("", !0)
- ], 64))], 16, Xh)), [[c, { disabled: !e.modal }]]) : W("", !0)];
+ return [Ja(k(e.footer), 1)];
+ })], 16)) : U("", !0)
+ ], 64))], 16, Gh)), [[c, { disabled: !e.modal }]]) : U("", !0)];
}),
_: 3
}, 16, [
@@ -10964,14 +10886,14 @@ function $h(e, t, n, r, i, a) {
"onBeforeLeave",
"onLeave",
"onAfterLeave"
- ])], 16, Yh)) : W("", !0)];
+ ])], 16, Wh)) : U("", !0)];
}),
_: 3
}, 8, ["appendTo"]);
}
-Hh.render = $h;
+Lh.render = Jh;
// node_modules/primevue/menu/style/index.mjs
-var eg = X.extend({
+var Yh = X.extend({
name: "menu",
style: "\n .p-menu {\n background: dt('menu.background');\n color: dt('menu.color');\n border: 1px solid dt('menu.border.color');\n border-radius: dt('menu.border.radius');\n min-width: 12.5rem;\n }\n\n .p-menu-list {\n margin: 0;\n padding: dt('menu.list.padding');\n outline: 0 none;\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: dt('menu.list.gap');\n }\n\n .p-menu-item-content {\n transition:\n background dt('menu.transition.duration'),\n color dt('menu.transition.duration');\n border-radius: dt('menu.item.border.radius');\n color: dt('menu.item.color');\n overflow: hidden;\n }\n\n .p-menu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: dt('menu.item.padding');\n gap: dt('menu.item.gap');\n user-select: none;\n outline: 0 none;\n }\n\n .p-menu-item-label {\n line-height: 1;\n }\n\n .p-menu-item-icon {\n color: dt('menu.item.icon.color');\n }\n\n .p-menu-item.p-focus .p-menu-item-content {\n color: dt('menu.item.focus.color');\n background: dt('menu.item.focus.background');\n }\n\n .p-menu-item.p-focus .p-menu-item-icon {\n color: dt('menu.item.icon.focus.color');\n }\n\n .p-menu-item:not(.p-disabled) .p-menu-item-content:hover {\n color: dt('menu.item.focus.color');\n background: dt('menu.item.focus.background');\n }\n\n .p-menu-item:not(.p-disabled) .p-menu-item-content:hover .p-menu-item-icon {\n color: dt('menu.item.icon.focus.color');\n }\n\n .p-menu-overlay {\n box-shadow: dt('menu.shadow');\n }\n\n .p-menu-submenu-label {\n background: dt('menu.submenu.label.background');\n padding: dt('menu.submenu.label.padding');\n color: dt('menu.submenu.label.color');\n font-weight: dt('menu.submenu.label.font.weight');\n }\n\n .p-menu-separator {\n border-block-start: 1px solid dt('menu.separator.border.color');\n }\n",
classes: {
@@ -10995,9 +10917,9 @@ var eg = X.extend({
itemIcon: "p-menu-item-icon",
itemLabel: "p-menu-item-label"
}
-}), tg = {
+}), Xh = {
name: "BaseMenu",
- extends: pd,
+ extends: cd,
props: {
popup: {
type: Boolean,
@@ -11032,17 +10954,17 @@ var eg = X.extend({
default: null
}
},
- style: eg,
+ style: Yh,
provide: function() {
return {
$pcMenu: this,
$parentInstance: this
};
}
-}, ng = {
+}, Zh = {
name: "Menuitem",
hostName: "Menu",
- extends: pd,
+ extends: cd,
inheritAttrs: !1,
emits: ["item-click", "item-mousemove"],
props: {
@@ -11054,7 +10976,7 @@ var eg = X.extend({
},
methods: {
getItemProp: function(e, t) {
- return e && e.item ? yc(e.item[t]) : void 0;
+ return e && e.item ? mc(e.item[t]) : void 0;
},
getPTOptions: function(e) {
return this.ptm(e, { context: {
@@ -11096,12 +11018,12 @@ var eg = X.extend({
},
getMenuItemProps: function(e) {
return {
- action: G({
+ action: W({
class: this.cx("itemLink"),
tabindex: "-1"
}, this.getPTOptions("itemLink")),
- icon: G({ class: [this.cx("itemIcon"), e.icon] }, this.getPTOptions("itemIcon")),
- label: G({ class: this.cx("itemLabel") }, this.getPTOptions("itemLabel"))
+ icon: W({ class: [this.cx("itemIcon"), e.icon] }, this.getPTOptions("itemIcon")),
+ label: W({ class: this.cx("itemLabel") }, this.getPTOptions("itemLabel"))
};
}
},
@@ -11111,18 +11033,18 @@ var eg = X.extend({
disabled: this.disabled()
});
} },
- directives: { ripple: lf }
-}, rg = [
+ directives: { ripple: rf }
+}, Qh = [
"id",
"aria-label",
"aria-disabled",
"data-p-focused",
"data-p-disabled",
"data-p"
-], ig = ["data-p"], ag = ["href", "target"], og = ["data-p"], sg = ["data-p"];
-function cg(e, t, n, r, i, a) {
- var o = mi("ripple");
- return a.visible() ? (z(), B("li", G({
+], $h = ["data-p"], eg = ["href", "target"], tg = ["data-p"], ng = ["data-p"];
+function rg(e, t, n, r, i, a) {
+ var o = di("ripple");
+ return a.visible() ? (R(), z("li", W({
key: 0,
id: n.id,
class: [e.cx("item"), n.item.class],
@@ -11133,7 +11055,7 @@ function cg(e, t, n, r, i, a) {
"data-p-focused": a.isItemFocused(),
"data-p-disabled": a.disabled() || !1,
"data-p": a.dataP
- }, a.getPTOptions("item")), [H("div", G({
+ }, a.getPTOptions("item")), [V("div", W({
class: e.cx("itemContent"),
onClick: t[0] ||= function(e) {
return a.onItemClick(e);
@@ -11142,7 +11064,7 @@ function cg(e, t, n, r, i, a) {
return a.onItemMouseMove(e);
},
"data-p": a.dataP
- }, a.getPTOptions("itemContent")), [n.templates.item ? n.templates.item ? (z(), V(pi(n.templates.item), {
+ }, a.getPTOptions("itemContent")), [n.templates.item ? n.templates.item ? (R(), B(ui(n.templates.item), {
key: 1,
item: n.item,
label: a.label(),
@@ -11151,53 +11073,53 @@ function cg(e, t, n, r, i, a) {
"item",
"label",
"props"
- ])) : W("", !0) : qn((z(), B("a", G({
+ ])) : U("", !0) : Wn((R(), z("a", W({
key: 0,
href: n.item.url,
class: e.cx("itemLink"),
target: n.item.target,
tabindex: "-1"
- }, a.getPTOptions("itemLink")), [n.templates.itemicon ? (z(), V(pi(n.templates.itemicon), {
+ }, a.getPTOptions("itemLink")), [n.templates.itemicon ? (R(), B(ui(n.templates.itemicon), {
key: 0,
item: n.item,
class: O(e.cx("itemIcon"))
- }, null, 8, ["item", "class"])) : n.item.icon ? (z(), B("span", G({
+ }, null, 8, ["item", "class"])) : n.item.icon ? (R(), z("span", W({
key: 1,
class: [e.cx("itemIcon"), n.item.icon],
"data-p": a.dataP
- }, a.getPTOptions("itemIcon")), null, 16, og)) : W("", !0), H("span", G({
+ }, a.getPTOptions("itemIcon")), null, 16, tg)) : U("", !0), V("span", W({
class: e.cx("itemLabel"),
"data-p": a.dataP
- }, a.getPTOptions("itemLabel")), k(a.label()), 17, sg)], 16, ag)), [[o]])], 16, ig)], 16, rg)) : W("", !0);
+ }, a.getPTOptions("itemLabel")), k(a.label()), 17, ng)], 16, eg)), [[o]])], 16, $h)], 16, Qh)) : U("", !0);
}
-ng.render = cg;
-function lg(e) {
- return pg(e) || fg(e) || dg(e) || ug();
+Zh.render = rg;
+function ig(e) {
+ return cg(e) || sg(e) || og(e) || ag();
}
-function ug() {
+function ag() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function dg(e, t) {
+function og(e, t) {
if (e) {
- if (typeof e == "string") return mg(e, t);
+ if (typeof e == "string") return lg(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? mg(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? lg(e, t) : void 0;
}
}
-function fg(e) {
+function sg(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function pg(e) {
- if (Array.isArray(e)) return mg(e);
+function cg(e) {
+ if (Array.isArray(e)) return lg(e);
}
-function mg(e, t) {
+function lg(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-var hg = {
+var ug = {
name: "Menu",
- extends: tg,
+ extends: Xh,
inheritAttrs: !1,
emits: [
"show",
@@ -11223,7 +11145,7 @@ var hg = {
this.popup || (this.bindResizeListener(), this.bindOutsideClickListener());
},
beforeUnmount: function() {
- this.unbindResizeListener(), this.unbindOutsideClickListener(), this.scrollHandler &&= (this.scrollHandler.destroy(), null), this.target = null, this.container && this.autoZIndex && Sl.clear(this.container), this.container = null;
+ this.unbindResizeListener(), this.unbindOutsideClickListener(), this.scrollHandler &&= (this.scrollHandler.destroy(), null), this.target = null, this.container && this.autoZIndex && _l.clear(this.container), this.container = null;
},
methods: {
itemClick: function(e) {
@@ -11279,29 +11201,29 @@ var hg = {
this.changeFocusedOptionIndex(0), e.preventDefault();
},
onEndKey: function(e) {
- this.changeFocusedOptionIndex(tl(this.container, "li[data-pc-section=\"item\"][data-p-disabled=\"false\"]").length - 1), e.preventDefault();
+ this.changeFocusedOptionIndex(Xc(this.container, "li[data-pc-section=\"item\"][data-p-disabled=\"false\"]").length - 1), e.preventDefault();
},
onEnterKey: function(e) {
- var t = nl(this.list, `li[id="${`${this.focusedOptionIndex}`}"]`), n = t && nl(t, "a[data-pc-section=\"itemlink\"]");
+ var t = Zc(this.list, `li[id="${`${this.focusedOptionIndex}`}"]`), n = t && Zc(t, "a[data-pc-section=\"itemlink\"]");
this.popup && J(this.target), n ? n.click() : t && t.click(), e.preventDefault();
},
onSpaceKey: function(e) {
this.onEnterKey(e);
},
findNextOptionIndex: function(e) {
- var t = lg(tl(this.container, "li[data-pc-section=\"item\"][data-p-disabled=\"false\"]")).findIndex(function(t) {
+ var t = ig(Xc(this.container, "li[data-pc-section=\"item\"][data-p-disabled=\"false\"]")).findIndex(function(t) {
return t.id === e;
});
return t > -1 ? t + 1 : 0;
},
findPrevOptionIndex: function(e) {
- var t = lg(tl(this.container, "li[data-pc-section=\"item\"][data-p-disabled=\"false\"]")).findIndex(function(t) {
+ var t = ig(Xc(this.container, "li[data-pc-section=\"item\"][data-p-disabled=\"false\"]")).findIndex(function(t) {
return t.id === e;
});
return t > -1 ? t - 1 : 0;
},
changeFocusedOptionIndex: function(e) {
- var t = tl(this.container, "li[data-pc-section=\"item\"][data-p-disabled=\"false\"]"), n = e >= t.length ? t.length - 1 : e < 0 ? 0 : e;
+ var t = Xc(this.container, "li[data-pc-section=\"item\"][data-p-disabled=\"false\"]"), n = e >= t.length ? t.length - 1 : e < 0 ? 0 : e;
n > -1 && (this.focusedOptionIndex = t[n].getAttribute("id"));
},
toggle: function(e, t) {
@@ -11314,19 +11236,19 @@ var hg = {
this.overlayVisible = !1, this.target = null;
},
onEnter: function(e) {
- qc(e, {
+ Hc(e, {
position: "absolute",
top: "0"
- }), this.alignOverlay(), this.bindOutsideClickListener(), this.bindResizeListener(), this.bindScrollListener(), this.autoZIndex && Sl.set("menu", e, this.baseZIndex || this.$primevue.config.zIndex.menu), this.popup && J(this.list), this.$emit("show");
+ }), this.alignOverlay(), this.bindOutsideClickListener(), this.bindResizeListener(), this.bindScrollListener(), this.autoZIndex && _l.set("menu", e, this.baseZIndex || this.$primevue.config.zIndex.menu), this.popup && J(this.list), this.$emit("show");
},
onLeave: function() {
this.unbindOutsideClickListener(), this.unbindResizeListener(), this.unbindScrollListener(), this.$emit("hide");
},
onAfterLeave: function(e) {
- this.autoZIndex && Sl.clear(e);
+ this.autoZIndex && _l.clear(e);
},
alignOverlay: function() {
- Kc(this.container, this.target), Jc(this.target) > Jc(this.container) && (this.container.style.minWidth = Jc(this.target) + "px");
+ Vc(this.container, this.target), Uc(this.target) > Uc(this.container) && (this.container.style.minWidth = Uc(this.target) + "px");
},
bindOutsideClickListener: function() {
var e = this;
@@ -11340,7 +11262,7 @@ var hg = {
},
bindScrollListener: function() {
var e = this;
- this.scrollHandler ||= new kp(this.target, function() {
+ this.scrollHandler ||= new wp(this.target, function() {
e.overlayVisible && e.hide();
}), this.scrollHandler.bindScrollListener();
},
@@ -11350,7 +11272,7 @@ var hg = {
bindResizeListener: function() {
var e = this;
this.resizeListener || (this.resizeListener = function() {
- e.overlayVisible && !_l() && e.hide();
+ e.overlayVisible && !fl() && e.hide();
}, window.addEventListener("resize", this.resizeListener));
},
unbindResizeListener: function() {
@@ -11366,7 +11288,7 @@ var hg = {
return typeof e.label == "function" ? e.label() : e.label;
},
onOverlayClick: function(e) {
- fm.emit("overlay-click", {
+ sm.emit("overlay-click", {
originalEvent: e,
target: this.target
});
@@ -11387,31 +11309,31 @@ var hg = {
}
},
components: {
- PVMenuitem: ng,
- Portal: pm
+ PVMenuitem: Zh,
+ Portal: cm
}
-}, gg = ["id", "data-p"], _g = [
+}, dg = ["id", "data-p"], fg = [
"id",
"tabindex",
"aria-activedescendant",
"aria-label",
"aria-labelledby"
-], vg = ["id"];
-function yg(e, t, n, r, i, a) {
+], pg = ["id"];
+function mg(e, t, n, r, i, a) {
var o = F("PVMenuitem"), s = F("Portal");
- return z(), V(s, {
+ return R(), B(s, {
appendTo: e.appendTo,
disabled: !e.popup
}, {
default: P(function() {
- return [U(Vo, G({
+ return [H(Io, W({
name: "p-anchored-overlay",
onEnter: a.onEnter,
onLeave: a.onLeave,
onAfterLeave: a.onAfterLeave
}, e.ptm("transition")), {
default: P(function() {
- return [!e.popup || i.overlayVisible ? (z(), B("div", G({
+ return [!e.popup || i.overlayVisible ? (R(), z("div", W({
key: 0,
ref: a.containerRef,
id: e.$id,
@@ -11421,11 +11343,11 @@ function yg(e, t, n, r, i, a) {
},
"data-p": a.dataP
}, e.ptmi("root")), [
- e.$slots.start ? (z(), B("div", G({
+ e.$slots.start ? (R(), z("div", W({
key: 0,
class: e.cx("start")
- }, e.ptm("start")), [I(e.$slots, "start")], 16)) : W("", !0),
- H("ul", G({
+ }, e.ptm("start")), [I(e.$slots, "start")], 16)) : U("", !0),
+ V("ul", W({
ref: a.listRef,
id: e.$id + "_list",
class: e.cx("list"),
@@ -11443,16 +11365,16 @@ function yg(e, t, n, r, i, a) {
onKeydown: t[2] ||= function() {
return a.onListKeyDown && a.onListKeyDown.apply(a, arguments);
}
- }, e.ptm("list")), [(z(!0), B(L, null, _i(e.model, function(t, n) {
- return z(), B(L, { key: a.label(t) + n.toString() }, [t.items && a.visible(t) && !t.separator ? (z(), B(L, { key: 0 }, [t.items ? (z(), B("li", G({
+ }, e.ptm("list")), [(R(!0), z(L, null, mi(e.model, function(t, n) {
+ return R(), z(L, { key: a.label(t) + n.toString() }, [t.items && a.visible(t) && !t.separator ? (R(), z(L, { key: 0 }, [t.items ? (R(), z("li", W({
key: 0,
id: e.$id + "_" + n,
class: [e.cx("submenuLabel"), t.class],
role: "none"
}, { ref_for: !0 }, e.ptm("submenuLabel")), [I(e.$slots, e.$slots.submenulabel ? "submenulabel" : "submenuheader", { item: t }, function() {
- return [Za(k(a.label(t)), 1)];
- })], 16, vg)) : W("", !0), (z(!0), B(L, null, _i(t.items, function(r, i) {
- return z(), B(L, { key: r.label + n + "_" + i }, [a.visible(r) && !r.separator ? (z(), V(o, {
+ return [Ja(k(a.label(t)), 1)];
+ })], 16, pg)) : U("", !0), (R(!0), z(L, null, mi(t.items, function(r, i) {
+ return R(), z(L, { key: r.label + n + "_" + i }, [a.visible(r) && !r.separator ? (R(), B(o, {
key: 0,
id: e.$id + "_" + n + "_" + i,
item: r,
@@ -11471,18 +11393,18 @@ function yg(e, t, n, r, i, a) {
"onItemClick",
"onItemMousemove",
"pt"
- ])) : a.visible(r) && r.separator ? (z(), B("li", G({
+ ])) : a.visible(r) && r.separator ? (R(), z("li", W({
key: "separator" + n + i,
class: [e.cx("separator"), t.class],
style: r.style,
role: "separator"
- }, { ref_for: !0 }, e.ptm("separator")), null, 16)) : W("", !0)], 64);
- }), 128))], 64)) : a.visible(t) && t.separator ? (z(), B("li", G({
+ }, { ref_for: !0 }, e.ptm("separator")), null, 16)) : U("", !0)], 64);
+ }), 128))], 64)) : a.visible(t) && t.separator ? (R(), z("li", W({
key: "separator" + n.toString(),
class: [e.cx("separator"), t.class],
style: t.style,
role: "separator"
- }, { ref_for: !0 }, e.ptm("separator")), null, 16)) : (z(), V(o, {
+ }, { ref_for: !0 }, e.ptm("separator")), null, 16)) : (R(), B(o, {
key: a.label(t) + n.toString(),
id: e.$id + "_" + n,
item: t,
@@ -11504,12 +11426,12 @@ function yg(e, t, n, r, i, a) {
"onItemMousemove",
"pt"
]))], 64);
- }), 128))], 16, _g),
- e.$slots.end ? (z(), B("div", G({
+ }), 128))], 16, fg),
+ e.$slots.end ? (R(), z("div", W({
key: 1,
class: e.cx("end")
- }, e.ptm("end")), [I(e.$slots, "end")], 16)) : W("", !0)
- ], 16, gg)) : W("", !0)];
+ }, e.ptm("end")), [I(e.$slots, "end")], 16)) : U("", !0)
+ ], 16, dg)) : U("", !0)];
}),
_: 3
}, 16, [
@@ -11521,9 +11443,9 @@ function yg(e, t, n, r, i, a) {
_: 3
}, 8, ["appendTo", "disabled"]);
}
-hg.render = yg;
+ug.render = mg;
// node_modules/primevue/listbox/style/index.mjs
-var bg = X.extend({
+var hg = X.extend({
name: "listbox",
style: "\n .p-listbox {\n display: block;\n background: dt('listbox.background');\n color: dt('listbox.color');\n border: 1px solid dt('listbox.border.color');\n border-radius: dt('listbox.border.radius');\n transition:\n background dt('listbox.transition.duration'),\n color dt('listbox.transition.duration'),\n border-color dt('listbox.transition.duration'),\n box-shadow dt('listbox.transition.duration'),\n outline-color dt('listbox.transition.duration');\n outline-color: transparent;\n box-shadow: dt('listbox.shadow');\n }\n\n .p-listbox.p-disabled {\n opacity: 1;\n background: dt('listbox.disabled.background');\n color: dt('listbox.disabled.color');\n }\n\n .p-listbox.p-disabled .p-listbox-option {\n color: dt('listbox.disabled.color');\n }\n\n .p-listbox.p-invalid {\n border-color: dt('listbox.invalid.border.color');\n }\n\n .p-listbox-header {\n padding: dt('listbox.list.header.padding');\n }\n\n .p-listbox-filter {\n width: 100%;\n }\n\n .p-listbox-list-container {\n overflow: auto;\n }\n\n .p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: dt('listbox.list.padding');\n outline: 0 none;\n display: flex;\n flex-direction: column;\n gap: dt('listbox.list.gap');\n }\n\n .p-listbox-option {\n display: flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n padding: dt('listbox.option.padding');\n border: 0 none;\n border-radius: dt('listbox.option.border.radius');\n color: dt('listbox.option.color');\n transition:\n background dt('listbox.transition.duration'),\n color dt('listbox.transition.duration'),\n border-color dt('listbox.transition.duration'),\n box-shadow dt('listbox.transition.duration'),\n outline-color dt('listbox.transition.duration');\n }\n\n .p-listbox-striped li:nth-child(even of .p-listbox-option) {\n background: dt('listbox.option.striped.background');\n }\n\n .p-listbox .p-listbox-list .p-listbox-option.p-listbox-option-selected {\n background: dt('listbox.option.selected.background');\n color: dt('listbox.option.selected.color');\n }\n\n .p-listbox:not(.p-disabled) .p-listbox-option.p-listbox-option-selected.p-focus {\n background: dt('listbox.option.selected.focus.background');\n color: dt('listbox.option.selected.focus.color');\n }\n\n .p-listbox:not(.p-disabled) .p-listbox-option:not(.p-listbox-option-selected):not(.p-disabled).p-focus {\n background: dt('listbox.option.focus.background');\n color: dt('listbox.option.focus.color');\n }\n\n .p-listbox:not(.p-disabled) .p-listbox-option:not(.p-listbox-option-selected):not(.p-disabled):hover {\n background: dt('listbox.option.focus.background');\n color: dt('listbox.option.focus.color');\n }\n\n .p-listbox-option-blank-icon {\n flex-shrink: 0;\n }\n\n .p-listbox-option-check-icon {\n position: relative;\n flex-shrink: 0;\n margin-inline-start: dt('listbox.checkmark.gutter.start');\n margin-inline-end: dt('listbox.checkmark.gutter.end');\n color: dt('listbox.checkmark.color');\n }\n\n .p-listbox-option-group {\n margin: 0;\n padding: dt('listbox.option.group.padding');\n color: dt('listbox.option.group.color');\n background: dt('listbox.option.group.background');\n font-weight: dt('listbox.option.group.font.weight');\n }\n\n .p-listbox-empty-message {\n padding: dt('listbox.empty.message.padding');\n }\n\n .p-listbox-fluid {\n width: 100%;\n }\n",
classes: {
@@ -11553,9 +11475,9 @@ var bg = X.extend({
optionBlankIcon: "p-listbox-option-blank-icon",
emptyMessage: "p-listbox-empty-message"
}
-}), xg = {
+}), gg = {
name: "BaseListbox",
- extends: Vf,
+ extends: If,
props: {
options: Array,
optionLabel: null,
@@ -11657,7 +11579,7 @@ var bg = X.extend({
default: null
}
},
- style: bg,
+ style: hg,
provide: function() {
return {
$pcListbox: this,
@@ -11665,33 +11587,33 @@ var bg = X.extend({
};
}
};
-function Sg(e) {
- return Eg(e) || Tg(e) || wg(e) || Cg();
+function _g(e) {
+ return xg(e) || bg(e) || yg(e) || vg();
}
-function Cg() {
+function vg() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function wg(e, t) {
+function yg(e, t) {
if (e) {
- if (typeof e == "string") return Dg(e, t);
+ if (typeof e == "string") return Sg(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Dg(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Sg(e, t) : void 0;
}
}
-function Tg(e) {
+function bg(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function Eg(e) {
- if (Array.isArray(e)) return Dg(e);
+function xg(e) {
+ if (Array.isArray(e)) return Sg(e);
}
-function Dg(e, t) {
+function Sg(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-var Og = {
+var Cg = {
name: "Listbox",
- extends: xg,
+ extends: gg,
inheritAttrs: !1,
emits: [
"change",
@@ -11725,13 +11647,13 @@ var Og = {
return this.virtualScrollerDisabled ? e : t && t(e).index;
},
getOptionLabel: function(e) {
- return this.optionLabel ? fc(e, this.optionLabel) : typeof e == "string" || typeof e == "number" || typeof e == "boolean" ? e : null;
+ return this.optionLabel ? sc(e, this.optionLabel) : typeof e == "string" || typeof e == "number" || typeof e == "boolean" ? e : null;
},
getOptionValue: function(e) {
- return this.optionValue ? fc(e, this.optionValue) : e;
+ return this.optionValue ? sc(e, this.optionValue) : e;
},
getOptionRenderKey: function(e, t) {
- return (this.dataKey ? fc(e, this.dataKey) : this.getOptionLabel(e)) + "_" + t;
+ return (this.dataKey ? sc(e, this.dataKey) : this.getOptionLabel(e)) + "_" + t;
},
getPTOptions: function(e, t, n, r) {
return this.ptm(r, { context: {
@@ -11741,16 +11663,16 @@ var Og = {
} });
},
isOptionDisabled: function(e) {
- return this.optionDisabled ? fc(e, this.optionDisabled) : !1;
+ return this.optionDisabled ? sc(e, this.optionDisabled) : !1;
},
isOptionGroup: function(e) {
return this.optionGroupLabel && e.optionGroup && e.group;
},
getOptionGroupLabel: function(e) {
- return fc(e, this.optionGroupLabel);
+ return sc(e, this.optionGroupLabel);
},
getOptionGroupChildren: function(e) {
- return fc(e, this.optionGroupChildren);
+ return sc(e, this.optionGroupChildren);
},
getAriaPosInset: function(e) {
var t = this;
@@ -11760,11 +11682,11 @@ var Og = {
},
onFirstHiddenFocus: function() {
J(this.list);
- var e = al(this.$el, ":not([data-p-hidden-focusable=\"true\"])");
- this.$refs.lastHiddenFocusableElement.tabIndex = Qc(e) ? void 0 : -1, this.$refs.firstHiddenFocusableElement.tabIndex = -1;
+ var e = el(this.$el, ":not([data-p-hidden-focusable=\"true\"])");
+ this.$refs.lastHiddenFocusableElement.tabIndex = qc(e) ? void 0 : -1, this.$refs.firstHiddenFocusableElement.tabIndex = -1;
},
onLastHiddenFocus: function(e) {
- e.relatedTarget === this.list ? (J(al(this.$el, ":not([data-p-hidden-focusable=\"true\"])")), this.$refs.firstHiddenFocusableElement.tabIndex = void 0) : J(this.$refs.firstHiddenFocusableElement), this.$refs.lastHiddenFocusableElement.tabIndex = -1;
+ e.relatedTarget === this.list ? (J(el(this.$el, ":not([data-p-hidden-focusable=\"true\"])")), this.$refs.firstHiddenFocusableElement.tabIndex = void 0) : J(this.$refs.firstHiddenFocusableElement), this.$refs.lastHiddenFocusableElement.tabIndex = -1;
},
onFocusout: function(e) {
!this.$el.contains(e.relatedTarget) && this.$refs.lastHiddenFocusableElement && this.$refs.firstHiddenFocusableElement && (this.$refs.lastHiddenFocusableElement.tabIndex = this.$refs.firstHiddenFocusableElement.tabIndex = void 0);
@@ -11816,7 +11738,7 @@ var Og = {
this.updateModel(e, r), e.preventDefault();
break;
}
- !n && Tc(e.key) && (this.searchOptions(e, e.key), e.preventDefault());
+ !n && bc(e.key) && (this.searchOptions(e, e.key), e.preventDefault());
}
},
onOptionSelect: function(e, t) {
@@ -11853,8 +11775,8 @@ var Og = {
var n = this.isSelected(t), r = null;
if (!this.optionTouched && this.metaKeySelection) {
var i = e.metaKey || e.ctrlKey;
- n ? r = i ? this.removeOption(t) : [this.getOptionValue(t)] : (r = i && this.d_value || [], r = [].concat(Sg(r), [this.getOptionValue(t)]));
- } else r = n ? this.removeOption(t) : [].concat(Sg(this.d_value || []), [this.getOptionValue(t)]);
+ n ? r = i ? this.removeOption(t) : [this.getOptionValue(t)] : (r = i && this.d_value || [], r = [].concat(_g(r), [this.getOptionValue(t)]));
+ } else r = n ? this.removeOption(t) : [].concat(_g(this.d_value || []), [this.getOptionValue(t)]);
this.updateModel(e, r);
},
onOptionSelectRange: function(e) {
@@ -11961,7 +11883,7 @@ var Og = {
return this.isValidOption(e) && this.isSelected(e);
},
isEquals: function(e, t) {
- return pc(e, t, this.equalityKey);
+ return cc(e, t, this.equalityKey);
},
isSelected: function(e) {
var t = this, n = this.getOptionValue(e);
@@ -11977,7 +11899,7 @@ var Og = {
},
findLastOptionIndex: function() {
var e = this;
- return vc(this.visibleOptions, function(t) {
+ return pc(this.visibleOptions, function(t) {
return e.isValidOption(t);
});
},
@@ -11988,7 +11910,7 @@ var Og = {
return n > -1 ? n + e + 1 : e;
},
findPrevOptionIndex: function(e) {
- var t = this, n = e > 0 ? vc(this.visibleOptions.slice(0, e), function(e) {
+ var t = this, n = e > 0 ? pc(this.visibleOptions.slice(0, e), function(e) {
return t.isValidOption(e);
}) : -1;
return n > -1 ? n : e;
@@ -12017,7 +11939,7 @@ var Og = {
},
findLastSelectedOptionIndex: function() {
var e = this;
- return this.$filled ? vc(this.visibleOptions, function(t) {
+ return this.$filled ? pc(this.visibleOptions, function(t) {
return e.isValidSelectedOption(t);
}) : -1;
},
@@ -12028,7 +11950,7 @@ var Og = {
return n > -1 ? n + e + 1 : -1;
},
findPrevSelectedOptionIndex: function(e) {
- var t = this, n = this.$filled && e > 0 ? vc(this.visibleOptions.slice(0, e), function(e) {
+ var t = this, n = this.$filled && e > 0 ? pc(this.visibleOptions.slice(0, e), function(e) {
return t.isValidSelectedOption(e);
}) : -1;
return n > -1 ? n : -1;
@@ -12062,7 +11984,7 @@ var Og = {
removeOption: function(e) {
var t = this;
return this.d_value.filter(function(n) {
- return !pc(n, t.getOptionValue(e), t.equalityKey);
+ return !cc(n, t.getOptionValue(e), t.equalityKey);
});
},
changeFocusedOptionIndex: function(e, t) {
@@ -12071,7 +11993,7 @@ var Og = {
scrollInView: function() {
var e = this, t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1;
this.$nextTick(function() {
- var n = t === -1 ? e.focusedOptionId : `${e.$id}_${t}`, r = nl(e.list, `li[id="${n}"]`);
+ var n = t === -1 ? e.focusedOptionId : `${e.$id}_${t}`, r = Zc(e.list, `li[id="${n}"]`);
r ? r.scrollIntoView && r.scrollIntoView({
block: "nearest",
inline: "nearest",
@@ -12097,16 +12019,16 @@ var Og = {
},
computed: {
optionsListFlat: function() {
- return this.filterValue ? ru.filter(this.options, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale) : this.options;
+ return this.filterValue ? Ql.filter(this.options, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale) : this.options;
},
optionsListGroup: function() {
var e = this, t = [];
return (this.options || []).forEach(function(n) {
- var r = e.getOptionGroupChildren(n) || [], i = e.filterValue ? ru.filter(r, e.searchFields, e.filterValue, e.filterMatchMode, e.filterLocale) : r;
+ var r = e.getOptionGroupChildren(n) || [], i = e.filterValue ? Ql.filter(r, e.searchFields, e.filterValue, e.filterMatchMode, e.filterLocale) : r;
i != null && i.length && t.push.apply(t, [{
optionGroup: n,
group: !0
- }].concat(Sg(i)));
+ }].concat(_g(i)));
}), t;
},
visibleOptions: function() {
@@ -12161,24 +12083,24 @@ var Og = {
});
}
},
- directives: { ripple: lf },
+ directives: { ripple: rf },
components: {
- InputText: dp,
- VirtualScroller: Cm,
- InputIcon: um,
- IconField: cm,
- SearchIcon: Kp,
- CheckIcon: Tf,
- BlankIcon: Ap
+ InputText: op,
+ VirtualScroller: vm,
+ InputIcon: am,
+ IconField: rm,
+ SearchIcon: Vp,
+ CheckIcon: bf,
+ BlankIcon: Tp
}
-}, kg = ["id", "data-p"], Ag = ["tabindex"], jg = [
+}, wg = ["id", "data-p"], Tg = ["tabindex"], Eg = [
"id",
"aria-multiselectable",
"aria-label",
"aria-labelledby",
"aria-activedescendant",
"aria-disabled"
-], Mg = ["id"], Ng = [
+], Dg = ["id"], Og = [
"id",
"aria-label",
"aria-selected",
@@ -12192,10 +12114,10 @@ var Og = {
"data-p-selected",
"data-p-focused",
"data-p-disabled"
-], Pg = ["tabindex"];
-function Fg(e, t, n, r, i, a) {
- var o = F("InputText"), s = F("SearchIcon"), c = F("InputIcon"), l = F("IconField"), u = F("CheckIcon"), d = F("BlankIcon"), f = F("VirtualScroller"), p = mi("ripple");
- return z(), B("div", G({
+], kg = ["tabindex"];
+function Ag(e, t, n, r, i, a) {
+ var o = F("InputText"), s = F("SearchIcon"), c = F("InputIcon"), l = F("IconField"), u = F("CheckIcon"), d = F("BlankIcon"), f = F("VirtualScroller"), p = di("ripple");
+ return R(), z("div", W({
id: e.$id,
class: e.cx("root"),
onFocusout: t[7] ||= function() {
@@ -12203,7 +12125,7 @@ function Fg(e, t, n, r, i, a) {
},
"data-p": a.containerDataP
}, e.ptmi("root")), [
- H("span", G({
+ V("span", W({
ref: "firstHiddenFocusableElement",
role: "presentation",
"aria-hidden": "true",
@@ -12215,23 +12137,23 @@ function Fg(e, t, n, r, i, a) {
}, e.ptm("hiddenFirstFocusableEl"), {
"data-p-hidden-accessible": !0,
"data-p-hidden-focusable": !0
- }), null, 16, Ag),
- e.$slots.header ? (z(), B("div", G({
+ }), null, 16, Tg),
+ e.$slots.header ? (R(), z("div", W({
key: 0,
class: e.cx("header")
}, e.ptm("header")), [I(e.$slots, "header", {
value: e.d_value,
options: a.visibleOptions
- })], 16)) : W("", !0),
- e.filter ? (z(), B("div", G({
+ })], 16)) : U("", !0),
+ e.filter ? (R(), z("div", W({
key: 1,
class: e.cx("header")
- }, e.ptm("header")), [U(l, {
+ }, e.ptm("header")), [H(l, {
unstyled: e.unstyled,
pt: e.ptm("pcFilterContainer")
}, {
default: P(function() {
- return [U(o, {
+ return [H(o, {
modelValue: i.filterValue,
"onUpdate:modelValue": t[1] ||= function(e) {
return i.filterValue = e;
@@ -12261,40 +12183,40 @@ function Fg(e, t, n, r, i, a) {
"onInput",
"onKeydown",
"pt"
- ]), U(c, {
+ ]), H(c, {
unstyled: e.unstyled,
pt: e.ptm("pcFilterIconContainer")
}, {
default: P(function() {
return [I(e.$slots, "filtericon", {}, function() {
- return [e.filterIcon ? (z(), B("span", G({
+ return [e.filterIcon ? (R(), z("span", W({
key: 0,
class: e.filterIcon
- }, e.ptm("filterIcon")), null, 16)) : (z(), V(s, _e(G({ key: 1 }, e.ptm("filterIcon"))), null, 16))];
+ }, e.ptm("filterIcon")), null, 16)) : (R(), B(s, _e(W({ key: 1 }, e.ptm("filterIcon"))), null, 16))];
})];
}),
_: 3
}, 8, ["unstyled", "pt"])];
}),
_: 3
- }, 8, ["unstyled", "pt"]), H("span", G({
+ }, 8, ["unstyled", "pt"]), V("span", W({
role: "status",
"aria-live": "polite",
class: "p-hidden-accessible"
- }, e.ptm("hiddenFilterResult"), { "data-p-hidden-accessible": !0 }), k(a.filterResultMessageText), 17)], 16)) : W("", !0),
- H("div", G({
+ }, e.ptm("hiddenFilterResult"), { "data-p-hidden-accessible": !0 }), k(a.filterResultMessageText), 17)], 16)) : U("", !0),
+ V("div", W({
class: e.cx("listContainer"),
style: [{ "max-height": a.virtualScrollerDisabled ? e.scrollHeight : "" }, e.listStyle]
- }, e.ptm("listContainer")), [U(f, G({ ref: a.virtualScrollerRef }, e.virtualScrollerOptions, {
+ }, e.ptm("listContainer")), [H(f, W({ ref: a.virtualScrollerRef }, e.virtualScrollerOptions, {
items: a.visibleOptions,
style: [{ height: e.scrollHeight }, e.listStyle],
tabindex: -1,
disabled: a.virtualScrollerDisabled,
pt: e.ptm("virtualScroller")
- }), vi({
+ }), hi({
content: P(function(n) {
var r = n.styleClass, o = n.contentRef, s = n.items, c = n.getItemOptions, l = n.contentStyle, f = n.itemSize;
- return [H("ul", G({
+ return [V("ul", W({
ref: function(e) {
return a.listRef(e, o);
},
@@ -12317,8 +12239,8 @@ function Fg(e, t, n, r, i, a) {
onKeydown: t[5] ||= function() {
return a.onListKeyDown && a.onListKeyDown.apply(a, arguments);
}
- }, e.ptm("list")), [(z(!0), B(L, null, _i(s, function(n, r) {
- return z(), B(L, { key: a.getOptionRenderKey(n, a.getOptionIndex(r, c)) }, [a.isOptionGroup(n) ? (z(), B("li", G({
+ }, e.ptm("list")), [(R(!0), z(L, null, mi(s, function(n, r) {
+ return R(), z(L, { key: a.getOptionRenderKey(n, a.getOptionIndex(r, c)) }, [a.isOptionGroup(n) ? (R(), z("li", W({
key: 0,
id: e.$id + "_" + a.getOptionIndex(r, c),
style: { height: f ? f + "px" : void 0 },
@@ -12328,8 +12250,8 @@ function Fg(e, t, n, r, i, a) {
option: n.optionGroup,
index: a.getOptionIndex(r, c)
}, function() {
- return [Za(k(a.getOptionGroupLabel(n.optionGroup)), 1)];
- })], 16, Mg)) : qn((z(), B("li", G({
+ return [Ja(k(a.getOptionGroupLabel(n.optionGroup)), 1)];
+ })], 16, Dg)) : Wn((R(), z("li", W({
key: 1,
id: e.$id + "_" + a.getOptionIndex(r, c),
style: { height: f ? f + "px" : void 0 },
@@ -12363,32 +12285,32 @@ function Fg(e, t, n, r, i, a) {
"data-p-selected": !e.checkmark && a.isSelected(n),
"data-p-focused": i.focusedOptionIndex === a.getOptionIndex(r, c),
"data-p-disabled": a.isOptionDisabled(n)
- }), [e.checkmark ? (z(), B(L, { key: 0 }, [a.isSelected(n) ? (z(), V(u, G({
+ }), [e.checkmark ? (R(), z(L, { key: 0 }, [a.isSelected(n) ? (R(), B(u, W({
key: 0,
class: e.cx("optionCheckIcon")
- }, { ref_for: !0 }, e.ptm("optionCheckIcon")), null, 16, ["class"])) : (z(), V(d, G({
+ }, { ref_for: !0 }, e.ptm("optionCheckIcon")), null, 16, ["class"])) : (R(), B(d, W({
key: 1,
class: e.cx("optionBlankIcon")
- }, { ref_for: !0 }, e.ptm("optionBlankIcon")), null, 16, ["class"]))], 64)) : W("", !0), I(e.$slots, "option", {
+ }, { ref_for: !0 }, e.ptm("optionBlankIcon")), null, 16, ["class"]))], 64)) : U("", !0), I(e.$slots, "option", {
option: n,
selected: a.isSelected(n),
index: a.getOptionIndex(r, c)
}, function() {
- return [Za(k(a.getOptionLabel(n)), 1)];
- })], 16, Ng)), [[p]])], 64);
- }), 128)), i.filterValue && (!s || s && s.length === 0) ? (z(), B("li", G({
+ return [Ja(k(a.getOptionLabel(n)), 1)];
+ })], 16, Og)), [[p]])], 64);
+ }), 128)), i.filterValue && (!s || s && s.length === 0) ? (R(), z("li", W({
key: 0,
class: e.cx("emptyMessage"),
role: "option"
}, e.ptm("emptyMessage")), [I(e.$slots, "emptyfilter", {}, function() {
- return [Za(k(a.emptyFilterMessageText), 1)];
- })], 16)) : !e.options || e.options && e.options.length === 0 ? (z(), B("li", G({
+ return [Ja(k(a.emptyFilterMessageText), 1)];
+ })], 16)) : !e.options || e.options && e.options.length === 0 ? (R(), z("li", W({
key: 1,
class: e.cx("emptyMessage"),
role: "option"
}, e.ptm("emptyMessage")), [I(e.$slots, "empty", {}, function() {
- return [Za(k(a.emptyMessageText), 1)];
- })], 16)) : W("", !0)], 16, jg)];
+ return [Ja(k(a.emptyMessageText), 1)];
+ })], 16)) : U("", !0)], 16, Eg)];
}),
_: 2
}, [e.$slots.loader ? {
@@ -12408,18 +12330,18 @@ function Fg(e, t, n, r, i, a) {
value: e.d_value,
options: a.visibleOptions
}),
- !e.options || e.options && e.options.length === 0 ? (z(), B("span", G({
+ !e.options || e.options && e.options.length === 0 ? (R(), z("span", W({
key: 2,
role: "status",
"aria-live": "polite",
class: "p-hidden-accessible"
- }, e.ptm("hiddenEmptyMessage"), { "data-p-hidden-accessible": !0 }), k(a.emptyMessageText), 17)) : W("", !0),
- H("span", G({
+ }, e.ptm("hiddenEmptyMessage"), { "data-p-hidden-accessible": !0 }), k(a.emptyMessageText), 17)) : U("", !0),
+ V("span", W({
role: "status",
"aria-live": "polite",
class: "p-hidden-accessible"
}, e.ptm("hiddenSelectedMessage"), { "data-p-hidden-accessible": !0 }), k(a.selectedMessageText), 17),
- H("span", G({
+ V("span", W({
ref: "lastHiddenFocusableElement",
role: "presentation",
"aria-hidden": "true",
@@ -12431,12 +12353,12 @@ function Fg(e, t, n, r, i, a) {
}, e.ptm("hiddenLastFocusableEl"), {
"data-p-hidden-accessible": !0,
"data-p-hidden-focusable": !0
- }), null, 16, Pg)
- ], 16, kg);
+ }), null, 16, kg)
+ ], 16, wg);
}
-Og.render = Fg;
+Cg.render = Ag;
// node_modules/primevue/tree/style/index.mjs
-var Ig = X.extend({
+var jg = X.extend({
name: "tree",
style: "\n .p-tree {\n display: block;\n background: dt('tree.background');\n color: dt('tree.color');\n padding: dt('tree.padding');\n position: relative;\n }\n\n .p-tree-root-children,\n .p-tree-node-children {\n display: flex;\n list-style-type: none;\n flex-direction: column;\n margin: 0;\n gap: dt('tree.gap');\n }\n\n .p-tree-root-children {\n padding: 0;\n padding-block-start: dt('tree.gap');\n }\n\n .p-tree-node-children {\n padding: 0;\n padding-block-start: dt('tree.gap');\n padding-inline-start: dt('tree.indent');\n }\n\n .p-tree-node {\n padding: 0;\n outline: 0 none;\n }\n\n .p-tree-node-content {\n border-radius: dt('tree.node.border.radius');\n padding: dt('tree.node.padding');\n display: flex;\n align-items: center;\n outline-color: transparent;\n color: dt('tree.node.color');\n gap: dt('tree.node.gap');\n transition:\n background dt('tree.transition.duration'),\n color dt('tree.transition.duration'),\n outline-color dt('tree.transition.duration'),\n box-shadow dt('tree.transition.duration');\n }\n\n .p-tree-node-content[data-p-dragging] {\n outline: 1px dashed dt('primary.color');\n outline-offset: -1px;\n }\n\n .p-tree-node-content[data-pc-section=\"drag-image\"] {\n background: dt('tree.background');\n }\n\n .p-tree-node:focus-visible > .p-tree-node-content {\n box-shadow: dt('tree.node.focus.ring.shadow');\n outline: dt('tree.node.focus.ring.width') dt('tree.node.focus.ring.style') dt('tree.node.focus.ring.color');\n outline-offset: dt('tree.node.focus.ring.offset');\n }\n\n .p-tree-node-content.p-tree-node-selectable:not(.p-tree-node-selected):hover {\n background: dt('tree.node.hover.background');\n color: dt('tree.node.hover.color');\n }\n\n .p-tree-node-content.p-tree-node-selectable:not(.p-tree-node-selected):hover .p-tree-node-icon {\n color: dt('tree.node.icon.hover.color');\n }\n\n .p-tree-node-content.p-tree-node-selected {\n background: dt('tree.node.selected.background');\n color: dt('tree.node.selected.color');\n }\n\n .p-tree-node-content.p-tree-node-selected .p-tree-node-toggle-button {\n color: inherit;\n }\n\n .p-tree-node-content.p-tree-node-dragover {\n background: dt('tree.node.hover.background');\n color: dt('tree.node.hover.color');\n }\n\n .p-tree-node-content:focus-visible,\n .p-tree-node-content.p-tree-node-contextmenu-selected {\n box-shadow: dt('tree.node.focus.ring.shadow');\n outline: dt('tree.node.focus.ring.width') dt('tree.node.focus.ring.style') dt('tree.node.focus.ring.color');\n outline-offset: dt('tree.node.focus.ring.offset');\n }\n\n .p-tree-node-drop-point {\n outline: 1px solid dt('primary.color');\n }\n\n .p-tree-node-toggle-button {\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n flex-shrink: 0;\n width: dt('tree.node.toggle.button.size');\n height: dt('tree.node.toggle.button.size');\n color: dt('tree.node.toggle.button.color');\n border: 0 none;\n background: transparent;\n border-radius: dt('tree.node.toggle.button.border.radius');\n transition:\n background dt('tree.transition.duration'),\n color dt('tree.transition.duration'),\n border-color dt('tree.transition.duration'),\n outline-color dt('tree.transition.duration'),\n box-shadow dt('tree.transition.duration');\n outline-color: transparent;\n padding: 0;\n }\n\n .p-tree-node-toggle-button:enabled:hover {\n background: dt('tree.node.toggle.button.hover.background');\n color: dt('tree.node.toggle.button.hover.color');\n }\n\n .p-tree-node-content.p-tree-node-selected .p-tree-node-toggle-button:hover {\n background: dt('tree.node.toggle.button.selected.hover.background');\n color: dt('tree.node.toggle.button.selected.hover.color');\n }\n\n .p-tree-root {\n overflow: auto;\n }\n\n .p-tree-node-selectable {\n cursor: pointer;\n user-select: none;\n }\n\n .p-tree-node-leaf > .p-tree-node-content .p-tree-node-toggle-button {\n visibility: hidden;\n }\n\n .p-tree-node-icon {\n color: dt('tree.node.icon.color');\n transition: color dt('tree.transition.duration');\n }\n\n .p-tree-node-content.p-tree-node-selected .p-tree-node-icon {\n color: dt('tree.node.icon.selected.color');\n }\n\n .p-tree-filter {\n margin: dt('tree.filter.margin');\n }\n\n .p-tree-filter-input {\n width: 100%;\n }\n\n .p-tree-loading-icon {\n font-size: dt('tree.loading.icon.size');\n width: dt('tree.loading.icon.size');\n height: dt('tree.loading.icon.size');\n }\n\n .p-tree .p-tree-mask {\n position: absolute;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .p-tree-flex-scrollable {\n display: flex;\n flex: 1;\n height: 100%;\n flex-direction: column;\n }\n\n .p-tree-flex-scrollable .p-tree-root {\n flex: 1;\n }\n",
classes: {
@@ -12479,51 +12401,51 @@ var Ig = X.extend({
emptyMessage: "p-tree-empty-message",
dropPoint: "p-tree-node-drop-point"
}
-}), Lg = {
+}), Mg = {
name: "ChevronRightIcon",
- extends: xd
+ extends: gd
};
-function Rg(e) {
- return Hg(e) || Vg(e) || Bg(e) || zg();
+function Ng(e) {
+ return Lg(e) || Ig(e) || Fg(e) || Pg();
}
-function zg() {
+function Pg() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function Bg(e, t) {
+function Fg(e, t) {
if (e) {
- if (typeof e == "string") return Ug(e, t);
+ if (typeof e == "string") return Rg(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Ug(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Rg(e, t) : void 0;
}
}
-function Vg(e) {
+function Ig(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function Hg(e) {
- if (Array.isArray(e)) return Ug(e);
+function Lg(e) {
+ if (Array.isArray(e)) return Rg(e);
}
-function Ug(e, t) {
+function Rg(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function Wg(e, t, n, r, i, a) {
- return z(), B("svg", G({
+function zg(e, t, n, r, i, a) {
+ return R(), z("svg", W({
width: "14",
height: "14",
viewBox: "0 0 14 14",
fill: "none",
xmlns: "http://www.w3.org/2000/svg"
- }, e.pti()), Rg(t[0] ||= [H("path", {
+ }, e.pti()), Ng(t[0] ||= [V("path", {
d: "M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z",
fill: "currentColor"
}, null, -1)]), 16);
}
-Lg.render = Wg;
+Mg.render = zg;
// node_modules/primevue/tree/index.mjs
-var Gg = {
+var Bg = {
name: "BaseTree",
- extends: pd,
+ extends: cd,
props: {
value: {
type: null,
@@ -12618,55 +12540,55 @@ var Gg = {
default: null
}
},
- style: Ig,
+ style: jg,
provide: function() {
return {
$pcTree: this,
$parentInstance: this
};
}
-}, Kg = /* @__PURE__ */ Ut({
+}, Vg = /* @__PURE__ */ Ht({
isDragging: !1,
dragNode: null,
dragScope: null
-}), qg = /* @__PURE__ */ new Set(), Jg = /* @__PURE__ */ new Set();
-function Yg() {
+}), Hg = /* @__PURE__ */ new Set(), Ug = /* @__PURE__ */ new Set();
+function Wg() {
return {
- dragState: Kg,
+ dragState: Vg,
startDrag: function(e) {
- Kg.isDragging = !0, Kg.dragNode = e.node, Kg.dragScope = e.scope, qg.forEach(function(t) {
+ Vg.isDragging = !0, Vg.dragNode = e.node, Vg.dragScope = e.scope, Hg.forEach(function(t) {
return t(e);
});
},
stopDrag: function(e) {
- Kg.isDragging = !1, Kg.dragNode = null, Kg.dragScope = null, Jg.forEach(function(t) {
+ Vg.isDragging = !1, Vg.dragNode = null, Vg.dragScope = null, Ug.forEach(function(t) {
return t(e);
});
},
onDragStart: function(e) {
- return qg.add(e), function() {
- return qg.delete(e);
+ return Hg.add(e), function() {
+ return Hg.delete(e);
};
},
onDragStop: function(e) {
- return Jg.add(e), function() {
- return Jg.delete(e);
+ return Ug.add(e), function() {
+ return Ug.delete(e);
};
}
};
}
-function Xg(e) {
+function Gg(e) {
"@babel/helpers - typeof";
- return Xg = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return Gg = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, Xg(e);
+ }, Gg(e);
}
-function Zg(e, t) {
+function Kg(e, t) {
var n = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
if (!n) {
- if (Array.isArray(e) || (n = e_(e)) || t) {
+ if (Array.isArray(e) || (n = Yg(e)) || t) {
n && (e = n);
var r = 0, i = function() {};
return {
@@ -12706,31 +12628,31 @@ function Zg(e, t) {
}
};
}
-function Qg(e) {
- return n_(e) || t_(e) || e_(e) || $g();
+function qg(e) {
+ return Zg(e) || Xg(e) || Yg(e) || Jg();
}
-function $g() {
+function Jg() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function e_(e, t) {
+function Yg(e, t) {
if (e) {
- if (typeof e == "string") return r_(e, t);
+ if (typeof e == "string") return Qg(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? r_(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Qg(e, t) : void 0;
}
}
-function t_(e) {
+function Xg(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function n_(e) {
- if (Array.isArray(e)) return r_(e);
+function Zg(e) {
+ if (Array.isArray(e)) return Qg(e);
}
-function r_(e, t) {
+function Qg(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function i_(e, t) {
+function $g(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
@@ -12740,43 +12662,43 @@ function i_(e, t) {
}
return n;
}
-function a_(e) {
+function e_(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] == null ? {} : arguments[t];
- t % 2 ? i_(Object(n), !0).forEach(function(t) {
- o_(e, t, n[t]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : i_(Object(n)).forEach(function(t) {
+ t % 2 ? $g(Object(n), !0).forEach(function(t) {
+ t_(e, t, n[t]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : $g(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
});
}
return e;
}
-function o_(e, t, n) {
- return (t = s_(t)) in e ? Object.defineProperty(e, t, {
+function t_(e, t, n) {
+ return (t = n_(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function s_(e) {
- var t = c_(e, "string");
- return Xg(t) == "symbol" ? t : t + "";
+function n_(e) {
+ var t = r_(e, "string");
+ return Gg(t) == "symbol" ? t : t + "";
}
-function c_(e, t) {
- if (Xg(e) != "object" || !e) return e;
+function r_(e, t) {
+ if (Gg(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (Xg(r) != "object") return r;
+ if (Gg(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var l_ = {
+var i_ = {
name: "TreeNode",
hostName: "Tree",
- extends: pd,
+ extends: cd,
emits: [
"node-toggle",
"node-click",
@@ -12876,7 +12798,7 @@ var l_ = {
} });
},
onClick: function(e) {
- this.toggleClicked || rl(e.target, "[data-pc-section=\"nodetogglebutton\"]") || rl(e.target.parentElement, "[data-pc-section=\"nodetogglebutton\"]") ? this.toggleClicked = !1 : (this.isCheckboxSelectionMode() ? this.node.selectable != 0 && this.toggleCheckbox() : this.$emit("node-click", {
+ this.toggleClicked || Qc(e.target, "[data-pc-section=\"nodetogglebutton\"]") || Qc(e.target.parentElement, "[data-pc-section=\"nodetogglebutton\"]") ? this.toggleClicked = !1 : (this.isCheckboxSelectionMode() ? this.node.selectable != 0 && this.toggleCheckbox() : this.$emit("node-click", {
originalEvent: e,
nodeTouched: this.nodeTouched,
node: this.node
@@ -12936,7 +12858,7 @@ var l_ = {
}));
},
onArrowLeft: function(e) {
- var t = nl(e.currentTarget, "[data-pc-section=\"nodetogglebutton\"]");
+ var t = Zc(e.currentTarget, "[data-pc-section=\"nodetogglebutton\"]");
if (this.level === 0 && !this.expanded) return !1;
if (this.expanded && !this.leaf) return t.click(), !1;
var n = this.findBeforeClickableNode(e.currentTarget);
@@ -12954,7 +12876,7 @@ var l_ = {
if (r.key === t.key) return e;
if (r.children && r.children.length > 0) {
var i = n.removeNodeFromTree(r.children, t);
- e.push(a_(a_({}, r), {}, { children: i }));
+ e.push(e_(e_({}, r), {}, { children: i }));
} else e.push(r);
return e;
}, []);
@@ -12964,13 +12886,13 @@ var l_ = {
return e.key === t;
});
return a === -1 ? e.map(function(e) {
- return e.children && e.children.length > 0 ? a_(a_({}, e), {}, { children: i.insertNodeInSiblings(e.children, t, n, r) }) : e;
+ return e.children && e.children.length > 0 ? e_(e_({}, e), {}, { children: i.insertNodeInSiblings(e.children, t, n, r) }) : e;
}) : e.toSpliced(a + r, 0, n);
},
addNodeAsChild: function(e, t, n) {
var r = this;
return e.map(function(e) {
- return e.key === t ? a_(a_({}, e), {}, { children: [].concat(Qg(e.children || []), [n]) }) : e.children && e.children.length > 0 ? a_(a_({}, e), {}, { children: r.addNodeAsChild(e.children, t, n) }) : e;
+ return e.key === t ? e_(e_({}, e), {}, { children: [].concat(qg(e.children || []), [n]) }) : e.children && e.children.length > 0 ? e_(e_({}, e), {}, { children: r.addNodeAsChild(e.children, t, n) }) : e;
});
},
insertNodeOnDrop: function() {
@@ -13027,7 +12949,7 @@ var l_ = {
if (this.isNodeDraggable) {
e.dataTransfer.effectAllowed = "all", e.dataTransfer.setData("text", "data");
var t = e.currentTarget, n = t.cloneNode(!0), r = n.querySelector("[data-pc-section=\"nodetogglebutton\"]"), i = n.querySelector("[data-pc-name=\"pcnodecheckbox\"]");
- t.setAttribute("data-p-dragging", "true"), n.style.width = Jc(t) + "px", n.style.height = ll(t) + "px", n.setAttribute("data-pc-section", "drag-image"), r.style.visibility = "hidden", i?.remove(), document.body.appendChild(n), e.dataTransfer.setDragImage(n, 0, 0), setTimeout(function() {
+ t.setAttribute("data-p-dragging", "true"), n.style.width = Uc(t) + "px", n.style.height = il(t) + "px", n.setAttribute("data-pc-section", "drag-image"), r.style.visibility = "hidden", i?.remove(), document.body.appendChild(n), e.dataTransfer.setDragImage(n, 0, 0), setTimeout(function() {
return document.body.removeChild(n);
}, 0), this.$pcTree.dragDropService.startDrag({
node: this.node,
@@ -13060,21 +12982,21 @@ var l_ = {
});
},
setAllNodesTabIndexes: function() {
- var e = tl(this.$refs.currentNode.closest("[data-pc-section=\"rootchildren\"]"), "[role=\"treeitem\"]"), t = Qg(e).some(function(e) {
+ var e = Xc(this.$refs.currentNode.closest("[data-pc-section=\"rootchildren\"]"), "[role=\"treeitem\"]"), t = qg(e).some(function(e) {
return e.getAttribute("aria-selected") === "true" || e.getAttribute("aria-checked") === "true";
});
- if (Qg(e).forEach(function(e) {
+ if (qg(e).forEach(function(e) {
e.tabIndex = -1;
}), t) {
- var n = Qg(e).filter(function(e) {
+ var n = qg(e).filter(function(e) {
return e.getAttribute("aria-selected") === "true" || e.getAttribute("aria-checked") === "true";
});
n[0].tabIndex = 0;
- } else Qg(e)[0].tabIndex = 0;
+ } else qg(e)[0].tabIndex = 0;
},
setTabIndexForSelectionMode: function(e, t) {
if (this.selectionMode !== null) {
- var n = Qg(tl(this.$refs.currentNode.parentElement, "[role=\"treeitem\"]"));
+ var n = qg(Xc(this.$refs.currentNode.parentElement, "[role=\"treeitem\"]"));
e.currentTarget.tabIndex = t === !1 ? -1 : 0, n.every(function(e) {
return e.tabIndex === -1;
}) && (n[0].tabIndex = 0);
@@ -13086,13 +13008,13 @@ var l_ = {
findBeforeClickableNode: function(e) {
var t = e.closest("ul").closest("li");
if (t) {
- var n = nl(t, "button");
+ var n = Zc(t, "button");
return n && n.style.visibility !== "hidden" ? t : this.findBeforeClickableNode(e.previousElementSibling);
}
return null;
},
toggleCheckbox: function() {
- var e = this.selectionKeys ? a_({}, this.selectionKeys) : {}, t = !this.checked;
+ var e = this.selectionKeys ? e_({}, this.selectionKeys) : {}, t = !this.checked;
this.propagateDown(this.node, t, e), this.$emit("checkbox-change", {
node: this.node,
check: t,
@@ -13104,7 +13026,7 @@ var l_ = {
checked: !0,
partialChecked: !1
} : delete n[e.key], e.children && e.children.length) {
- var r = Zg(e.children), i;
+ var r = Kg(e.children), i;
try {
for (r.s(); !(i = r.n()).done;) {
var a = i.value;
@@ -13118,7 +13040,7 @@ var l_ = {
}
},
propagateUp: function(e) {
- var t = e.check, n = a_({}, e.selectionKeys), r = 0, i = !1, a = Zg(this.node.children), o;
+ var t = e.check, n = e_({}, e.selectionKeys), r = 0, i = !1, a = Kg(this.node.children), o;
try {
for (a.s(); !(o = a.n()).done;) {
var s = o.value;
@@ -13158,7 +13080,7 @@ var l_ = {
},
getParentNodeElement: function(e) {
var t = e.parentElement.parentElement;
- return rl(t, "role") === "treeitem" ? t : null;
+ return Qc(t, "role") === "treeitem" ? t : null;
},
focusNode: function(e) {
e.focus();
@@ -13230,15 +13152,15 @@ var l_ = {
}
},
components: {
- Checkbox: tp,
- ChevronDownIcon: Rp,
- ChevronRightIcon: Lg,
- CheckIcon: Tf,
- MinusIcon: Nf,
- SpinnerIcon: Sd
+ Checkbox: Xf,
+ ChevronDownIcon: Np,
+ ChevronRightIcon: Mg,
+ CheckIcon: bf,
+ MinusIcon: Of,
+ SpinnerIcon: _d
},
- directives: { ripple: lf }
-}, u_ = [
+ directives: { ripple: rf }
+}, a_ = [
"aria-label",
"aria-selected",
"aria-expanded",
@@ -13247,14 +13169,14 @@ var l_ = {
"aria-level",
"aria-checked",
"tabindex"
-], d_ = [
+], o_ = [
"draggable",
"data-p-selected",
"data-p-selectable"
-], f_ = ["data-p-leaf"];
-function p_(e, t, n, r, i, a) {
- var o = F("SpinnerIcon"), s = F("Checkbox"), c = F("TreeNode", !0), l = mi("ripple");
- return z(), B("li", G({
+], s_ = ["data-p-leaf"];
+function c_(e, t, n, r, i, a) {
+ var o = F("SpinnerIcon"), s = F("Checkbox"), c = F("TreeNode", !0), l = di("ripple");
+ return R(), z("li", W({
ref: "currentNode",
class: e.cx("node"),
role: "treeitem",
@@ -13270,12 +13192,12 @@ function p_(e, t, n, r, i, a) {
return a.onKeyDown && a.onKeyDown.apply(a, arguments);
}
}, a.getPTOptions("node")), [
- a.isPrevDropPointActive ? (z(), B("div", {
+ a.isPrevDropPointActive ? (R(), z("div", {
key: 0,
class: O(e.cx("dropPoint")),
"aria-hidden": "true"
- }, null, 2)) : W("", !0),
- H("div", G({
+ }, null, 2)) : U("", !0),
+ V("div", W({
class: e.cx("nodeContent"),
style: n.node.style,
draggable: a.isDraggable,
@@ -13307,7 +13229,7 @@ function p_(e, t, n, r, i, a) {
"data-p-selected": a.checkboxMode ? a.checked : a.selected,
"data-p-selectable": a.selectable
}), [
- qn((z(), B("button", G({
+ Wn((R(), z("button", W({
type: "button",
class: e.cx("nodeToggleButton"),
onClick: t[0] ||= function() {
@@ -13315,7 +13237,7 @@ function p_(e, t, n, r, i, a) {
},
tabindex: "-1",
"data-p-leaf": a.leaf
- }, a.getPTOptions("nodeToggleButton")), [n.node.loading && n.loadingMode === "icon" ? (z(), B(L, { key: 0 }, [n.templates.nodetoggleicon || n.templates.nodetogglericon ? (z(), V(pi(n.templates.nodetoggleicon || n.templates.nodetogglericon), {
+ }, a.getPTOptions("nodeToggleButton")), [n.node.loading && n.loadingMode === "icon" ? (R(), z(L, { key: 0 }, [n.templates.nodetoggleicon || n.templates.nodetogglericon ? (R(), B(ui(n.templates.nodetoggleicon || n.templates.nodetogglericon), {
key: 0,
node: n.node,
expanded: a.expanded,
@@ -13324,11 +13246,11 @@ function p_(e, t, n, r, i, a) {
"node",
"expanded",
"class"
- ])) : (z(), V(o, G({
+ ])) : (R(), B(o, W({
key: 1,
spin: "",
class: e.cx("nodeToggleIcon")
- }, a.getPTOptions("nodeToggleIcon")), null, 16, ["class"]))], 64)) : (z(), B(L, { key: 1 }, [n.templates.nodetoggleicon || n.templates.togglericon ? (z(), V(pi(n.templates.nodetoggleicon || n.templates.togglericon), {
+ }, a.getPTOptions("nodeToggleIcon")), null, 16, ["class"]))], 64)) : (R(), z(L, { key: 1 }, [n.templates.nodetoggleicon || n.templates.togglericon ? (R(), B(ui(n.templates.nodetoggleicon || n.templates.togglericon), {
key: 0,
node: n.node,
expanded: a.expanded,
@@ -13337,14 +13259,14 @@ function p_(e, t, n, r, i, a) {
"node",
"expanded",
"class"
- ])) : a.expanded ? (z(), V(pi(n.node.expandedIcon ? "span" : "ChevronDownIcon"), G({
+ ])) : a.expanded ? (R(), B(ui(n.node.expandedIcon ? "span" : "ChevronDownIcon"), W({
key: 1,
class: e.cx("nodeToggleIcon")
- }, a.getPTOptions("nodeToggleIcon")), null, 16, ["class"])) : (z(), V(pi(n.node.collapsedIcon ? "span" : "ChevronRightIcon"), G({
+ }, a.getPTOptions("nodeToggleIcon")), null, 16, ["class"])) : (R(), B(ui(n.node.collapsedIcon ? "span" : "ChevronRightIcon"), W({
key: 2,
class: e.cx("nodeToggleIcon")
- }, a.getPTOptions("nodeToggleIcon")), null, 16, ["class"]))], 64))], 16, f_)), [[l]]),
- a.checkboxMode ? (z(), V(s, {
+ }, a.getPTOptions("nodeToggleIcon")), null, 16, ["class"]))], 64))], 16, s_)), [[l]]),
+ a.checkboxMode ? (R(), B(s, {
key: 0,
defaultValue: a.checked,
binary: !0,
@@ -13356,7 +13278,7 @@ function p_(e, t, n, r, i, a) {
"data-p-partialchecked": a.partialChecked
}, {
icon: P(function(e) {
- return [n.templates.checkboxicon ? (z(), V(pi(n.templates.checkboxicon), {
+ return [n.templates.checkboxicon ? (R(), B(ui(n.templates.checkboxicon), {
key: 0,
checked: e.checked,
partialChecked: a.partialChecked,
@@ -13365,7 +13287,7 @@ function p_(e, t, n, r, i, a) {
"checked",
"partialChecked",
"class"
- ])) : W("", !0)];
+ ])) : U("", !0)];
}),
_: 1
}, 8, [
@@ -13375,16 +13297,16 @@ function p_(e, t, n, r, i, a) {
"unstyled",
"pt",
"data-p-partialchecked"
- ])) : W("", !0),
- n.templates.nodeicon ? (z(), V(pi(n.templates.nodeicon), G({
+ ])) : U("", !0),
+ n.templates.nodeicon ? (R(), B(ui(n.templates.nodeicon), W({
key: 1,
node: n.node,
class: [e.cx("nodeIcon")]
- }, a.getPTOptions("nodeIcon")), null, 16, ["node", "class"])) : (z(), B("span", G({
+ }, a.getPTOptions("nodeIcon")), null, 16, ["node", "class"])) : (R(), z("span", W({
key: 2,
class: [e.cx("nodeIcon"), n.node.icon]
}, a.getPTOptions("nodeIcon")), null, 16)),
- H("span", G({ class: e.cx("nodeLabel") }, a.getPTOptions("nodeLabel"), { onKeydown: t[1] ||= qs(function() {}, ["stop"]) }), [n.templates[n.node.type] || n.templates.default ? (z(), V(pi(n.templates[n.node.type] || n.templates.default), {
+ V("span", W({ class: e.cx("nodeLabel") }, a.getPTOptions("nodeLabel"), { onKeydown: t[1] ||= Hs(function() {}, ["stop"]) }), [n.templates[n.node.type] || n.templates.default ? (R(), B(ui(n.templates[n.node.type] || n.templates.default), {
key: 0,
node: n.node,
expanded: a.expanded,
@@ -13393,19 +13315,19 @@ function p_(e, t, n, r, i, a) {
"node",
"expanded",
"selected"
- ])) : (z(), B(L, { key: 1 }, [Za(k(a.label(n.node)), 1)], 64))], 16)
- ], 16, d_),
- a.isNextDropPointActive ? (z(), B("div", {
+ ])) : (R(), z(L, { key: 1 }, [Ja(k(a.label(n.node)), 1)], 64))], 16)
+ ], 16, o_),
+ a.isNextDropPointActive ? (R(), z("div", {
key: 1,
class: O(e.cx("dropPoint")),
"aria-hidden": "true"
- }, null, 2)) : W("", !0),
- a.hasChildren && a.expanded ? (z(), B("ul", G({
+ }, null, 2)) : U("", !0),
+ a.hasChildren && a.expanded ? (R(), z("ul", W({
key: 2,
class: e.cx("nodeChildren"),
role: "group"
- }, e.ptm("nodeChildren")), [(z(!0), B(L, null, _i(n.node.children, function(r, i) {
- return z(), V(c, {
+ }, e.ptm("nodeChildren")), [(R(!0), z(L, null, mi(n.node.children, function(r, i) {
+ return R(), B(c, {
key: r.key,
node: r,
parentNode: n.node,
@@ -13459,22 +13381,22 @@ function p_(e, t, n, r, i, a) {
"unstyled",
"pt"
]);
- }), 128))], 16)) : W("", !0)
- ], 16, u_);
+ }), 128))], 16)) : U("", !0)
+ ], 16, a_);
}
-l_.render = p_;
-function m_(e) {
+i_.render = c_;
+function l_(e) {
"@babel/helpers - typeof";
- return m_ = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return l_ = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, m_(e);
+ }, l_(e);
}
-function h_(e, t) {
+function u_(e, t) {
var n = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
if (!n) {
- if (Array.isArray(e) || (n = v_(e)) || t) {
+ if (Array.isArray(e) || (n = p_(e)) || t) {
n && (e = n);
var r = 0, i = function() {};
return {
@@ -13514,31 +13436,31 @@ function h_(e, t) {
}
};
}
-function g_(e) {
- return b_(e) || y_(e) || v_(e) || __();
+function d_(e) {
+ return h_(e) || m_(e) || p_(e) || f_();
}
-function __() {
+function f_() {
throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
-function v_(e, t) {
+function p_(e, t) {
if (e) {
- if (typeof e == "string") return x_(e, t);
+ if (typeof e == "string") return g_(e, t);
var n = {}.toString.call(e).slice(8, -1);
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? x_(e, t) : void 0;
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? g_(e, t) : void 0;
}
}
-function y_(e) {
+function m_(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
-function b_(e) {
- if (Array.isArray(e)) return x_(e);
+function h_(e) {
+ if (Array.isArray(e)) return g_(e);
}
-function x_(e, t) {
+function g_(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
return r;
}
-function S_(e, t) {
+function __(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
@@ -13548,42 +13470,42 @@ function S_(e, t) {
}
return n;
}
-function C_(e) {
+function v_(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] == null ? {} : arguments[t];
- t % 2 ? S_(Object(n), !0).forEach(function(t) {
- w_(e, t, n[t]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : S_(Object(n)).forEach(function(t) {
+ t % 2 ? __(Object(n), !0).forEach(function(t) {
+ y_(e, t, n[t]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : __(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
});
}
return e;
}
-function w_(e, t, n) {
- return (t = T_(t)) in e ? Object.defineProperty(e, t, {
+function y_(e, t, n) {
+ return (t = b_(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function T_(e) {
- var t = E_(e, "string");
- return m_(t) == "symbol" ? t : t + "";
+function b_(e) {
+ var t = x_(e, "string");
+ return l_(t) == "symbol" ? t : t + "";
}
-function E_(e, t) {
- if (m_(e) != "object" || !e) return e;
+function x_(e, t) {
+ if (l_(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (m_(r) != "object") return r;
+ if (l_(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var D_ = {
+var S_ = {
name: "Tree",
- extends: Gg,
+ extends: Bg,
inheritAttrs: !1,
emits: [
"node-expand",
@@ -13632,7 +13554,7 @@ var D_ = {
methods: {
initDragDropService: function() {
var e = this;
- this.dragDropService || (this.dragDropService = Yg(), this.dragStartCleanup = this.dragDropService.onDragStart(function(t) {
+ this.dragDropService || (this.dragDropService = Wg(), this.dragStartCleanup = this.dragDropService.onDragStart(function(t) {
e.dragNode = t.node, e.dragNodeSubNodes = t.subNodes, e.dragNodeIndex = t.index, e.dragNodeScope = t.scope;
}), this.dragStopCleanup = this.dragDropService.onDragStop(function() {
e.dragNode = null, e.dragNodeSubNodes = null, e.dragNodeIndex = null, e.dragNodeScope = null, e.dragHover = !1;
@@ -13643,7 +13565,7 @@ var D_ = {
},
onNodeToggle: function(e) {
var t = e.key;
- this.d_expandedKeys[t] ? (delete this.d_expandedKeys[t], this.$emit("node-collapse", e)) : (this.d_expandedKeys[t] = !0, this.$emit("node-expand", e)), this.d_expandedKeys = C_({}, this.d_expandedKeys), this.$emit("update:expandedKeys", this.d_expandedKeys);
+ this.d_expandedKeys[t] ? (delete this.d_expandedKeys[t], this.$emit("node-collapse", e)) : (this.d_expandedKeys[t] = !0, this.$emit("node-expand", e)), this.d_expandedKeys = v_({}, this.d_expandedKeys), this.$emit("update:expandedKeys", this.d_expandedKeys);
},
onNodeClick: function(e) {
if (this.selectionMode != null && e.node.selectable !== !1) {
@@ -13656,11 +13578,11 @@ var D_ = {
},
handleSelectionWithMetaKey: function(e) {
var t = e.originalEvent, n = e.node, r = t.metaKey || t.ctrlKey, i = this.isNodeSelected(n), a;
- return i && r ? (this.isSingleSelectionMode() ? a = {} : (a = C_({}, this.selectionKeys), delete a[n.key]), this.$emit("node-unselect", n)) : (this.isSingleSelectionMode() ? a = {} : this.isMultipleSelectionMode() && (a = r && this.selectionKeys ? C_({}, this.selectionKeys) : {}), a[n.key] = !0, this.$emit("node-select", n)), a;
+ return i && r ? (this.isSingleSelectionMode() ? a = {} : (a = v_({}, this.selectionKeys), delete a[n.key]), this.$emit("node-unselect", n)) : (this.isSingleSelectionMode() ? a = {} : this.isMultipleSelectionMode() && (a = r && this.selectionKeys ? v_({}, this.selectionKeys) : {}), a[n.key] = !0, this.$emit("node-select", n)), a;
},
handleSelectionWithoutMetaKey: function(e) {
var t = e.node, n = this.isNodeSelected(t), r;
- return this.isSingleSelectionMode() ? n ? (r = {}, this.$emit("node-unselect", t)) : (r = {}, r[t.key] = !0, this.$emit("node-select", t)) : n ? (r = C_({}, this.selectionKeys), delete r[t.key], this.$emit("node-unselect", t)) : (r = this.selectionKeys ? C_({}, this.selectionKeys) : {}, r[t.key] = !0, this.$emit("node-select", t)), r;
+ return this.isSingleSelectionMode() ? n ? (r = {}, this.$emit("node-unselect", t)) : (r = {}, r[t.key] = !0, this.$emit("node-select", t)) : n ? (r = v_({}, this.selectionKeys), delete r[t.key], this.$emit("node-unselect", t)) : (r = this.selectionKeys ? v_({}, this.selectionKeys) : {}, r[t.key] = !0, this.$emit("node-select", t)), r;
},
isSingleSelectionMode: function() {
return this.selectionMode === "single";
@@ -13688,12 +13610,12 @@ var D_ = {
if (e) {
var n = !1;
if (e.children) {
- var r = g_(e.children);
+ var r = d_(e.children);
e.children = [];
- var i = h_(r), a;
+ var i = u_(r), a;
try {
for (i.s(); !(a = i.n()).done;) {
- var o = a.value, s = C_({}, o);
+ var o = a.value, s = v_({}, o);
this.isFilterMatched(s, t) && (n = !0, e.children.push(s));
}
} catch (e) {
@@ -13706,11 +13628,11 @@ var D_ = {
}
},
isFilterMatched: function(e, t) {
- var n = t.searchFields, r = t.filterText, i = t.strict, a = !1, o = h_(n), s;
+ var n = t.searchFields, r = t.filterText, i = t.strict, a = !1, o = u_(n), s;
try {
for (o.s(); !(s = o.n()).done;) {
var c = s.value;
- String(fc(e, c)).toLocaleLowerCase(this.filterLocale).indexOf(r) > -1 && (a = !0);
+ String(sc(e, c)).toLocaleLowerCase(this.filterLocale).indexOf(r) > -1 && (a = !0);
}
} catch (e) {
o.e(e);
@@ -13737,7 +13659,7 @@ var D_ = {
},
isDescendantOf: function(e, t) {
if (!e || !e.children) return !1;
- var n = h_(e.children), r;
+ var n = u_(e.children), r;
try {
for (n.s(); !(r = n.n()).done;) {
var i = r.value;
@@ -13765,7 +13687,7 @@ var D_ = {
} else if (Array.isArray(t)) {
if (typeof e == "string") return t.indexOf(e) !== -1;
if (Array.isArray(e)) {
- var n = h_(e), r;
+ var n = u_(e), r;
try {
for (n.s(); !(r = n.n()).done;) {
var i = r.value;
@@ -13811,7 +13733,7 @@ var D_ = {
},
processTreeDrop: function(e, t) {
this.dragNodeSubNodes.splice(t, 1);
- var n = [].concat(g_(this.value || []), [e]);
+ var n = [].concat(d_(this.value || []), [e]);
this.$emit("update:value", n), this.dragDropService.stopDrag({ node: e });
},
onDrop: function(e) {
@@ -13847,10 +13769,10 @@ var D_ = {
},
computed: {
filteredValue: function() {
- var e = [], t = dc(this.filterBy) ? [this.filterBy] : this.filterBy.split(","), n = this.filterValue.trim().toLocaleLowerCase(this.filterLocale), r = this.filterMode === "strict", i = h_(this.value), a;
+ var e = [], t = oc(this.filterBy) ? [this.filterBy] : this.filterBy.split(","), n = this.filterValue.trim().toLocaleLowerCase(this.filterLocale), r = this.filterMode === "strict", i = u_(this.value), a;
try {
for (i.s(); !(a = i.n()).done;) {
- var o = a.value, s = C_({}, o), c = {
+ var o = a.value, s = v_({}, o), c = {
searchFields: t,
filterText: n,
strict: r
@@ -13885,23 +13807,23 @@ var D_ = {
}
},
components: {
- TreeNode: l_,
- InputText: dp,
- InputIcon: um,
- IconField: cm,
- SearchIcon: Kp,
- SpinnerIcon: Sd
+ TreeNode: i_,
+ InputText: op,
+ InputIcon: am,
+ IconField: rm,
+ SearchIcon: Vp,
+ SpinnerIcon: _d
}
};
-function O_(e) {
+function C_(e) {
"@babel/helpers - typeof";
- return O_ = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
+ return C_ = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
return typeof e;
} : function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
- }, O_(e);
+ }, C_(e);
}
-function k_(e, t) {
+function w_(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
@@ -13911,43 +13833,43 @@ function k_(e, t) {
}
return n;
}
-function A_(e) {
+function T_(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] == null ? {} : arguments[t];
- t % 2 ? k_(Object(n), !0).forEach(function(t) {
- j_(e, t, n[t]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : k_(Object(n)).forEach(function(t) {
+ t % 2 ? w_(Object(n), !0).forEach(function(t) {
+ E_(e, t, n[t]);
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : w_(Object(n)).forEach(function(t) {
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
});
}
return e;
}
-function j_(e, t, n) {
- return (t = M_(t)) in e ? Object.defineProperty(e, t, {
+function E_(e, t, n) {
+ return (t = D_(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
-function M_(e) {
- var t = N_(e, "string");
- return O_(t) == "symbol" ? t : t + "";
+function D_(e) {
+ var t = O_(e, "string");
+ return C_(t) == "symbol" ? t : t + "";
}
-function N_(e, t) {
- if (O_(e) != "object" || !e) return e;
+function O_(e, t) {
+ if (C_(e) != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
- if (O_(r) != "object") return r;
+ if (C_(r) != "object") return r;
throw TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
-var P_ = ["data-p"], F_ = ["data-p"], I_ = ["aria-labelledby", "aria-label"];
-function L_(e, t, n, r, i, a) {
+var k_ = ["data-p"], A_ = ["data-p"], j_ = ["aria-labelledby", "aria-label"];
+function M_(e, t, n, r, i, a) {
var o = F("SpinnerIcon"), s = F("InputText"), c = F("SearchIcon"), l = F("InputIcon"), u = F("IconField"), d = F("TreeNode");
- return z(), B("div", G({
+ return R(), z("div", W({
class: e.cx("root"),
onDragover: t[1] ||= function() {
return a.onDragOver && a.onDragOver.apply(a, arguments);
@@ -13963,36 +13885,36 @@ function L_(e, t, n, r, i, a) {
},
"data-p": a.containerDataP
}, e.ptmi("root")), [
- U(Vo, { name: "p-overlay-mask" }, {
+ H(Io, { name: "p-overlay-mask" }, {
default: P(function() {
- return [e.loading && e.loadingMode === "mask" ? (z(), B("div", G({
+ return [e.loading && e.loadingMode === "mask" ? (R(), z("div", W({
key: 0,
class: e.cx("mask")
}, e.ptm("mask")), [I(e.$slots, "loadingicon", { class: O(e.cx("loadingIcon")) }, function() {
- return [e.loadingIcon ? (z(), B("i", G({
+ return [e.loadingIcon ? (R(), z("i", W({
key: 0,
class: [
e.cx("loadingIcon"),
"pi-spin",
e.loadingIcon
]
- }, e.ptm("loadingIcon")), null, 16)) : (z(), V(o, G({
+ }, e.ptm("loadingIcon")), null, 16)) : (R(), B(o, W({
key: 1,
spin: "",
class: e.cx("loadingIcon")
}, e.ptm("loadingIcon")), null, 16, ["class"]))];
- })], 16)) : W("", !0)];
+ })], 16)) : U("", !0)];
}),
_: 3
}),
- e.filter ? (z(), V(u, {
+ e.filter ? (R(), B(u, {
key: 0,
unstyled: e.unstyled,
- pt: A_(A_({}, e.ptm("pcFilter")), e.ptm("pcFilterContainer")),
+ pt: T_(T_({}, e.ptm("pcFilter")), e.ptm("pcFilterContainer")),
class: O(e.cx("pcFilterContainer"))
}, {
default: P(function() {
- return [U(s, {
+ return [H(s, {
modelValue: i.filterValue,
"onUpdate:modelValue": t[0] ||= function(e) {
return i.filterValue = e;
@@ -14010,13 +13932,13 @@ function L_(e, t, n, r, i, a) {
"unstyled",
"onKeyup",
"pt"
- ]), U(l, {
+ ]), H(l, {
unstyled: e.unstyled,
pt: e.ptm("pcFilterIconContainer")
}, {
default: P(function() {
return [I(e.$slots, e.$slots.filtericon ? "filtericon" : "searchicon", { class: O(e.cx("filterIcon")) }, function() {
- return [U(c, G({ class: e.cx("filterIcon") }, e.ptm("filterIcon")), null, 16, ["class"])];
+ return [H(c, W({ class: e.cx("filterIcon") }, e.ptm("filterIcon")), null, 16, ["class"])];
})];
}),
_: 3
@@ -14027,8 +13949,8 @@ function L_(e, t, n, r, i, a) {
"unstyled",
"pt",
"class"
- ])) : W("", !0),
- H("div", G({
+ ])) : U("", !0),
+ V("div", W({
class: e.cx("wrapper"),
style: { maxHeight: e.scrollHeight },
"data-p": a.wrapperDataP
@@ -14038,19 +13960,19 @@ function L_(e, t, n, r, i, a) {
expandedKeys: e.expandedKeys,
selectionKeys: e.selectionKeys
}),
- a.empty ? a.empty && !a.$pcTreeSelect ? (z(), B("div", G({
+ a.empty ? a.empty && !a.$pcTreeSelect ? (R(), z("div", W({
key: 1,
class: e.cx("emptyMessage")
}, e.ptm("emptyMessage")), [I(e.$slots, "empty", {}, function() {
- return [Za(k(a.emptyMessageText), 1)];
- })], 16)) : W("", !0) : (z(), B("ul", G({
+ return [Ja(k(a.emptyMessageText), 1)];
+ })], 16)) : U("", !0) : (R(), z("ul", W({
key: 0,
class: e.cx("rootChildren"),
role: "tree",
"aria-labelledby": e.ariaLabelledby,
"aria-label": e.ariaLabel
- }, e.ptm("rootChildren")), [(z(!0), B(L, null, _i(a.valueToRender, function(t, n) {
- return z(), V(d, {
+ }, e.ptm("rootChildren")), [(R(!0), z(L, null, mi(a.valueToRender, function(t, n) {
+ return R(), B(d, {
key: t.key,
node: t,
rootNodes: a.valueToRender,
@@ -14098,14 +14020,14 @@ function L_(e, t, n, r, i, a) {
"unstyled",
"pt"
]);
- }), 128))], 16, I_)),
+ }), 128))], 16, j_)),
I(e.$slots, "footer", {
value: e.value,
expandedKeys: e.expandedKeys,
selectionKeys: e.selectionKeys
})
- ], 16, F_)
- ], 16, P_);
+ ], 16, A_)
+ ], 16, k_);
}
-D_.render = L_;
-export { qn as $, Qa as A, Nn as B, L as C, V as D, H as E, co as F, Yn as G, ti as H, Eo as I, F as J, _i as K, Zn as L, U as M, Gr as N, W as O, Fr as P, P as Q, Xn as R, qs as S, To as T, ai as U, ii as V, z as W, nr as X, Gi as Y, er as Z, $s as _, dh as a, Me as at, as as b, Cm as c, Wt as ct, tp as d, dn as dt, Ae as et, xf as f, an as ft, Wu as g, k as gt, qu as h, fe as ht, Hh as i, Zt as it, Za as j, B as k, bp as l, tn as lt, Xu as m, O as mt, Og as n, qt as nt, th as o, Ut as ot, Id as p, on as pt, I as q, hg as r, N as rt, Bm as s, en as st, D_ as t, je as tt, dp as u, M as ut, Vs as v, _r as w, Ys as x, Bs as y, Ti as z };
+S_.render = M_;
+export { Wn as $, Ya as A, Mn as B, L as C, B as D, V as E, ro as F, Kn as G, Qr as H, xo as I, F as J, mi as K, Jn as L, H as M, Hr as N, U as O, Mr as P, P as Q, qn as R, Hs as S, bo as T, ni as U, ti as V, R as W, $n as X, Hi as Y, Zn as Z, Js as _, oh as a, Me as at, es as b, vm as c, Ut as ct, Xf as d, un as dt, Ae as et, gf as f, rn as ft, zu as g, k as gt, Hu as h, fe as ht, Lh as i, Xt as it, Ja as j, z as k, hp as l, en as lt, Gu as m, O as mt, Cg as n, Kt as nt, Xm as o, Ht as ot, jd as p, an as pt, I as q, ug as r, N as rt, Fm as s, $t as st, S_ as t, je as tt, op as u, M as ut, Is as v, mr as w, Ws as x, Fs as y, Si as z };
diff --git a/dist/chunks/mjr-vue-vendor-CEDOnn2t.js b/dist/chunks/mjr-vue-vendor-Dn5oe7QV.js
similarity index 99%
rename from dist/chunks/mjr-vue-vendor-CEDOnn2t.js
rename to dist/chunks/mjr-vue-vendor-Dn5oe7QV.js
index 4cbe46f1..713427af 100644
--- a/dist/chunks/mjr-vue-vendor-CEDOnn2t.js
+++ b/dist/chunks/mjr-vue-vendor-Dn5oe7QV.js
@@ -1,4 +1,4 @@
-import { B as e, L as t, R as n, T as r, X as i, at as a, dt as o, et as s, it as c, nt as l, ot as u, rt as d, st as f, tt as p, ut as m } from "./mjr-primevue-C07IsEdU.js";
+import { B as e, L as t, R as n, T as r, X as i, at as a, dt as o, et as s, it as c, nt as l, ot as u, rt as d, st as f, tt as p, ut as m } from "./mjr-primevue-QrNPJaqR.js";
// node_modules/pinia/dist/pinia.js
var h = typeof window < "u", g, _ = (e) => g = e, v = () => t() && n(y) || g, y = Symbol();
function b(e) {
diff --git a/dist/chunks/tooltipShortcuts-Ury2eTek.js b/dist/chunks/tooltipShortcuts-BoJmznCQ.js
similarity index 95%
rename from dist/chunks/tooltipShortcuts-Ury2eTek.js
rename to dist/chunks/tooltipShortcuts-BoJmznCQ.js
index a6cce0d2..6d54d2d7 100644
--- a/dist/chunks/tooltipShortcuts-Ury2eTek.js
+++ b/dist/chunks/tooltipShortcuts-BoJmznCQ.js
@@ -1,8 +1,8 @@
-import { Vn as e, bn as t, fn as n, gn as r, in as i, kn as a, un as o, xn as s } from "./config-C9a-wT5M.js";
+import { Cn as e, Sn as t, Un as n, fn as r, jn as i, mn as a, on as o, vn as s } from "./config-D56TZeFo.js";
import { a as c, n as l } from "./graphTraversal-DTdQWkn5.js";
-import { C as u, S as d, b as f, x as p, y as m } from "./generationSectionState-DuXxSw-j.js";
-import { _ as ee, a as te, c as ne, d as re, f as ie, g as ae, h as oe, i as se, l as ce, m as le, n as ue, o as de, p as fe, r as pe, s as me, t as he, u as ge } from "./mjr-primevue-C07IsEdU.js";
-import { t as _e } from "./mjr-vue-vendor-CEDOnn2t.js";
+import { C as u, S as d, b as f, x as p, y as m } from "./generationSectionState-BR-TS47u.js";
+import { _ as ee, a as te, c as ne, d as re, f as ie, g as ae, h as oe, i as se, l as ce, m as le, n as ue, o as de, p as fe, r as pe, s as me, t as he, u as ge } from "./mjr-primevue-QrNPJaqR.js";
+import { t as _e } from "./mjr-vue-vendor-Dn5oe7QV.js";
// ui/features/viewer/floatingViewerProgress.ts
var h = "progress-update", g = "__MJR_MFV_PROGRESS_SERVICE__";
function ve() {
@@ -14,8 +14,8 @@ function ye(e, t) {
return n.detail = t, n;
}
var be = class {
- constructor(e, t = () => s()) {
- this.id = String(e || ""), this.promptApi = null, this.executedNodeIds = [], this.totalNodes = 0, this.currentlyExecuting = null, this.errorDetails = null, this._getApp = typeof t == "function" ? t : () => null;
+ constructor(t, n = () => e()) {
+ this.id = String(t || ""), this.promptApi = null, this.executedNodeIds = [], this.totalNodes = 0, this.currentlyExecuting = null, this.errorDetails = null, this._getApp = typeof n == "function" ? n : () => null;
}
setPrompt(e) {
let t = e && typeof e == "object" ? e.output : null;
@@ -63,8 +63,8 @@ var be = class {
this.errorDetails = e || null;
}
}, xe = class extends EventTarget {
- constructor({ getApi: n = (e) => t(e), getApp: r = () => s(), waitForApi: i = (t) => e(t) } = {}) {
- super(), this._getApi = n, this._getApp = r, this._waitForApi = i, this.promptsMap = /* @__PURE__ */ new Map(), this.currentExecution = null, this.lastQueueRemaining = 0, this._api = null, this._listenerEntries = [], this._initPromise = null, this._hydrations = /* @__PURE__ */ new Map();
+ constructor({ getApi: r = (e) => t(e), getApp: i = () => e(), waitForApi: a = (e) => n(e) } = {}) {
+ super(), this._getApi = r, this._getApp = i, this._waitForApi = a, this.promptsMap = /* @__PURE__ */ new Map(), this.currentExecution = null, this.lastQueueRemaining = 0, this._api = null, this._listenerEntries = [], this._initPromise = null, this._hydrations = /* @__PURE__ */ new Map();
}
getSnapshot() {
return {
@@ -246,11 +246,11 @@ function b(e, t) {
e._mediaProgressTextEl.textContent = n, e._mediaProgressEl.title = n || "", e._mediaProgressEl.classList.toggle("is-error", o), e._mediaProgressEl.classList.toggle("is-visible", !!n);
}
}
-function we(e, t) {
- let n = String(t || "").trim();
- if (!n) return !1;
+function we(t, n) {
+ let i = String(n || "").trim();
+ if (!i) return !1;
try {
- return o(n, s());
+ return r(i, e());
} catch (e) {
return console.debug?.(e), !1;
}
@@ -321,7 +321,7 @@ var x = /* @__PURE__ */ new Map(), S = null;
async function C(e) {
let t = Array.from(new Set(w(e).map((e) => D(e)).filter(Boolean)));
if (t.length && t.filter((e) => !x.has(e)).length) try {
- S ||= n("/object_info").then((e) => e?.ok ? e.json() : null).then((e) => {
+ S ||= a("/object_info").then((e) => e?.ok ? e.json() : null).then((e) => {
if (e && typeof e == "object") for (let [t, n] of Object.entries(e)) x.set(String(t), n);
return e;
}).catch(() => null), await S;
@@ -873,16 +873,16 @@ function dt(e, t, n = null) {
}
function G(e, t, n = null) {
if (!e) return !1;
- let i = String(e.type || "").toLowerCase();
- if (i === "number" || i === "int" || i === "float") {
+ let r = String(e.type || "").toLowerCase();
+ if (r === "number" || r === "int" || r === "float") {
let n = Number(t);
if (Number.isNaN(n)) return !1;
- let r = e.options ?? {}, a = r.min ?? -Infinity, o = r.max ?? Infinity, s = Math.min(o, Math.max(a, n));
- (i === "int" || r.precision === 0 || r.round === 1) && (s = Math.round(s)), e.value = s;
- } else e.value = i === "toggle" || i === "boolean" ? !!t : t;
+ let i = e.options ?? {}, a = i.min ?? -Infinity, o = i.max ?? Infinity, s = Math.min(o, Math.max(a, n));
+ (r === "int" || i.precision === 0 || i.round === 1) && (s = Math.round(s)), e.value = s;
+ } else e.value = r === "toggle" || r === "boolean" ? !!t : t;
try {
- let t = r(), o = n ?? e?.parent ?? null, s = e.value;
- e.callback?.(e.value, t, o, null, e), (i === "number" || i === "int" || i === "float") && (e.value = s), ft(e), a(o);
+ let t = s(), a = n ?? e?.parent ?? null, o = e.value;
+ e.callback?.(e.value, t, a, null, e), (r === "number" || r === "int" || r === "float") && (e.value = o), ft(e), i(a);
} catch (e) {
console.debug?.("[MFV] writeWidgetValue", e);
}
@@ -1301,15 +1301,15 @@ function Dt() {
let n = document.createElement("div");
n.className = "mjr-settings-head";
let r = document.createElement("div");
- r.className = "mjr-settings-title", r.textContent = i("settings.majoor.title", "Majoor Assets Manager Settings");
- let a = document.createElement("button");
- a.type = "button", a.className = "mjr-settings-close", a.textContent = "X", a.setAttribute("aria-label", i("btn.close", "Close")), a.addEventListener("click", Z), n.append(r, a);
- let o = document.createElement("div");
- o.className = "mjr-settings-tools";
+ r.className = "mjr-settings-title", r.textContent = o("settings.majoor.title", "Majoor Assets Manager Settings");
+ let i = document.createElement("button");
+ i.type = "button", i.className = "mjr-settings-close", i.textContent = "X", i.setAttribute("aria-label", o("btn.close", "Close")), i.addEventListener("click", Z), n.append(r, i);
+ let a = document.createElement("div");
+ a.className = "mjr-settings-tools";
let s = document.createElement("input");
- s.type = "search", s.className = "mjr-settings-search", s.placeholder = i("placeholder.searchSettings", "Search settings"), o.appendChild(s);
+ s.type = "search", s.className = "mjr-settings-search", s.placeholder = o("placeholder.searchSettings", "Search settings"), a.appendChild(s);
let c = document.createElement("div");
- return c.className = "mjr-settings-body", t.append(n, o, c), e.appendChild(t), document.body.appendChild(e), {
+ return c.className = "mjr-settings-body", t.append(n, a, c), e.appendChild(t), document.body.appendChild(e), {
body: c,
root: e,
search: s
@@ -1325,11 +1325,11 @@ function Z() {
}
}
}
-function Ot(e = s()) {
+function Ot(t = e()) {
if (typeof document > "u") return !1;
Y?.root?.isConnected || (Y = Dt());
- let t = u(e), n = () => Et(Y.body, t, String(Y.search.value || "").trim().toLowerCase());
- Y.search.oninput = n, Y.search.value = "", n(), Y.root.hidden = !1;
+ let n = u(t), r = () => Et(Y.body, n, String(Y.search.value || "").trim().toLowerCase());
+ Y.search.oninput = r, Y.search.value = "", r(), Y.root.hidden = !1;
try {
window.dispatchEvent(new CustomEvent(J, { detail: { open: !0 } }));
} catch (e) {
@@ -1338,8 +1338,8 @@ function Ot(e = s()) {
return setTimeout(() => Y?.search?.focus?.(), 0), !0;
}
// ui/app/openMajoorSettings.ts
-function Q(e = s()) {
- return Ot(e);
+function Q(t = e()) {
+ return Ot(t);
}
try {
typeof window < "u" && (window.MajoorAssetsManager = window.MajoorAssetsManager || {}, window.MajoorAssetsManager.openSettings = Q);
diff --git a/dist/entry.js b/dist/entry.js
index 8add150f..a242f1e9 100644
--- a/dist/entry.js
+++ b/dist/entry.js
@@ -1,24 +1,24 @@
-import { $n as e, A as t, At as n, Bt as r, C as i, Dn as a, F as o, Ft as s, Gn as c, Gt as l, Hn as u, I as d, In as f, Jn as p, Jt as m, Kn as h, Kt as g, Ln as _, M as v, Mt as y, N as b, Nn as x, O as S, Ot as C, P as w, Pn as T, Pt as E, Q as D, Qn as O, R as k, Rn as A, Rt as ee, S as j, St as M, T as N, Tn as te, Un as ne, Vt as P, Wn as re, Wt as F, Xn as I, Xt as ie, Yn as ae, Yt as oe, Zn as se, Zt as ce, _ as le, _t as ue, a as de, ar as fe, at as pe, b as me, bn as he, c as ge, cr as _e, ct as ve, d as ye, dr as be, dt as xe, er as Se, ft as Ce, h as we, in as L, ir as Te, it as Ee, j as De, jt as Oe, kt as ke, lr as Ae, lt as je, m as Me, nr as Ne, o as Pe, on as Fe, ot as Ie, p as Le, qn as Re, qt as ze, r as Be, rr as Ve, rt as He, s as Ue, sn as We, sr as Ge, st as Ke, t as R, tr as qe, tt as Je, u as Ye, ut as Xe, v as Ze, w as Qe, x as z, xn as $e, y as et, z as tt, zn as nt, zt as rt } from "./chunks/config-C9a-wT5M.js";
-import { a as it, i as at, n as ot, t as st } from "./chunks/graphTraversal-DTdQWkn5.js";
-import { _ as ct, c as lt, d as ut, f as dt, g as ft, h as pt, l as mt, m as ht, o as gt, p as _t, s as vt, u as yt } from "./chunks/floatingViewerManager-B_I-SRbd.js";
-import { A as bt, C as xt, D as St, E as Ct, M as wt, N as Tt, O as Et, T as Dt, _ as Ot, g as kt, h as At, j as jt, k as Mt, w as Nt } from "./chunks/generationSectionState-DuXxSw-j.js";
-import { n as Pt, r as B, t as Ft } from "./chunks/events-1iwo5blr.js";
-import { E as It, S as Lt, c as Rt, i as zt, l as Bt, n as Vt, o as Ht, r as Ut, s as Wt, t as Gt, u as Kt, x as qt, y as Jt } from "./chunks/tooltipShortcuts-Ury2eTek.js";
-import { A as Yt, B as Xt, C as Zt, D as Qt, E as $t, F as en, G as tn, H as nn, I as rn, J as an, K as on, L as sn, M as cn, N as ln, O as un, P as dn, R as fn, S as pn, T as mn, U as hn, V as gn, W as _n, X as vn, Y as yn, _ as bn, a as xn, b as Sn, c as Cn, d as wn, f as Tn, g as En, h as Dn, i as On, j as kn, k as An, l as jn, m as Mn, n as Nn, o as Pn, p as Fn, q as In, r as Ln, s as Rn, t as zn, u as Bn, v as Vn, w as Hn, x as Un, y as Wn, z as Gn } from "./chunks/TagsEditor-MUk741GH.js";
-import { $ as Kn, B as qn, C as V, D as Jn, E as H, F as Yn, G as Xn, H as Zn, J as Qn, K as $n, M as U, N as er, O as W, P as tr, Q as G, R as nr, S as rr, T as K, U as ir, V as ar, W as q, X as or, Z as sr, at as cr, b as lr, ct as ur, ft as dr, gt as J, ht as fr, j as pr, k as Y, lt as mr, mt as X, ot as hr, pt as Z, q as gr, st as Q, ut as _r, v as vr, w as yr, x as br, y as xr } from "./chunks/mjr-primevue-C07IsEdU.js";
-import { n as Sr, r as Cr } from "./chunks/mjr-vue-vendor-CEDOnn2t.js";
-import { app as wr } from "../../scripts/app.js";
-function Tr(e = null) {
+import { $ as e, $n as t, $t as n, A as r, At as i, B as a, Bn as o, Bt as s, C as c, Cn as l, Dn as u, F as d, Fn as f, Gn as p, Ht as m, I as h, In as g, It as _, Jn as v, Jt as y, Kn as b, Kt as x, L as S, Lt as C, M as w, Mt as T, N as E, Nt as D, O, P as k, Pt as A, Qn as j, Qt as M, Rn as N, S as ee, Sn as te, T as P, Ut as ne, Vn as re, Vt as ie, Wn as F, Xn as I, Xt as ae, Yn as oe, Yt as se, Z as ce, Zn as le, Zt as ue, _ as de, a as fe, ar as pe, at as me, b as he, c as ge, cn as _e, ct as ve, d as ye, dr as be, dt as xe, er as Se, et as Ce, ft as we, h as Te, ir as Ee, j as De, jt as Oe, kn as ke, ln as Ae, lr as je, lt as Me, m as Ne, mt as Pe, nr as Fe, o as Ie, on as L, or as Le, ot as Re, p as ze, pr as Be, pt as Ve, qn as He, qt as Ue, r as We, rr as Ge, rt as Ke, s as qe, sr as Je, st as Ye, t as R, tr as Xe, u as Ze, ur as Qe, ut as z, v as $e, w as et, wt as tt, x as nt, y as rt, yt as it, z as at, zn as ot } from "./chunks/config-D56TZeFo.js";
+import { a as st, i as ct, n as lt, t as ut } from "./chunks/graphTraversal-DTdQWkn5.js";
+import { _ as dt, c as ft, d as pt, f as mt, g as ht, h as gt, l as _t, m as vt, o as yt, p as bt, s as xt, u as St } from "./chunks/floatingViewerManager-D_aLLeau.js";
+import { A as Ct, C as wt, D as Tt, E as Et, M as Dt, N as Ot, O as kt, T as At, _ as jt, g as Mt, h as Nt, j as Pt, k as Ft, w as It } from "./chunks/generationSectionState-BR-TS47u.js";
+import { n as Lt, r as B, t as Rt } from "./chunks/events-1iwo5blr.js";
+import { E as zt, S as Bt, c as Vt, i as Ht, l as Ut, n as Wt, o as Gt, r as Kt, s as qt, t as Jt, u as Yt, x as Xt, y as Zt } from "./chunks/tooltipShortcuts-BoJmznCQ.js";
+import { A as Qt, B as $t, C as en, D as tn, E as nn, F as rn, G as an, H as on, I as sn, J as cn, K as ln, L as un, M as dn, N as fn, O as pn, P as mn, R as hn, S as gn, T as _n, U as vn, V as yn, W as bn, X as xn, Y as Sn, _ as Cn, a as wn, b as Tn, c as En, d as Dn, f as On, g as kn, h as An, i as jn, j as Mn, k as Nn, l as Pn, m as Fn, n as In, o as Ln, p as Rn, q as zn, r as Bn, s as Vn, t as Hn, u as Un, v as Wn, w as Gn, x as Kn, y as qn, z as Jn } from "./chunks/TagsEditor-NiAR71Jm.js";
+import { $ as Yn, B as Xn, C as V, D as Zn, E as H, F as Qn, G as $n, H as er, J as tr, K as nr, M as U, N as rr, O as W, P as ir, Q as G, R as ar, S as or, T as K, U as sr, V as cr, W as q, X as lr, Z as ur, at as dr, b as fr, ct as pr, ft as mr, gt as J, ht as hr, j as gr, k as Y, lt as _r, mt as X, ot as vr, pt as Z, q as yr, st as Q, ut as br, v as xr, w as Sr, x as Cr, y as wr } from "./chunks/mjr-primevue-QrNPJaqR.js";
+import { n as Tr, r as Er } from "./chunks/mjr-vue-vendor-Dn5oe7QV.js";
+import { app as Dr } from "../../scripts/app.js";
+function Or(e = null) {
return null;
}
-function Er() {
+function kr() {
return null;
}
try {
- typeof window < "u" && p && p.LIST;
+ typeof window < "u" && I && I.LIST;
} catch {}
// ui/integration/comfy_send_to_am.ts
-var Dr = "MajoorAssetsManager.SendTo", Or = "Send to Asset Manager", kr = /* @__PURE__ */ new Set([
+var Ar = "MajoorAssetsManager.SendTo", jr = "Send to Asset Manager", Mr = /* @__PURE__ */ new Set([
"SaveImage",
"PreviewImage",
"VHS_VideoCombine",
@@ -28,11 +28,11 @@ var Dr = "MajoorAssetsManager.SendTo", Or = "Send to Asset Manager", kr = /* @__
"SaveAnimatedPNG",
"SaveAudio"
]);
-function Ar(e) {
+function Nr(e) {
let t = String(e?.comfyClass || e?.type || "").trim();
- return kr.has(t);
+ return Mr.has(t);
}
-function jr(e) {
+function Pr(e) {
let t = [];
try {
let n = e?.imgs && Array.isArray(e.imgs) ? e.imgs : null, r = [];
@@ -60,15 +60,15 @@ function jr(e) {
} catch {}
return t;
}
-async function Mr(e) {
- let t = $e(), n = he(t);
- if (!e.length) nt({
+async function Fr(e) {
+ let t = l(), n = te(t);
+ if (!e.length) re({
severity: "warn",
summary: "Majoor Assets Manager",
detail: "No output to send (run the node first).",
life: 3500
});
- else if (!n || typeof n.fetchApi != "function") nt({
+ else if (!n || typeof n.fetchApi != "function") re({
severity: "error",
summary: "Majoor Assets Manager",
detail: "ComfyUI API unavailable.",
@@ -81,14 +81,14 @@ async function Mr(e) {
body: JSON.stringify({ items: e })
});
if (!r.ok && r.status !== 404) throw Error(`HTTP ${r.status}`);
- We(t, "majoor-assets"), nt({
+ Ae(t, "majoor-assets"), re({
severity: "success",
summary: "Majoor Assets Manager",
detail: `Sent ${e.length} item(s) to the asset grid.`,
life: 2500
});
} catch (e) {
- nt({
+ re({
severity: "error",
summary: "Majoor Assets Manager",
detail: `Failed to send: ${e?.message || e}`,
@@ -96,16 +96,16 @@ async function Mr(e) {
});
}
}
-function Nr() {
- let e = $e();
- !e || typeof e.registerExtension != "function" ? setTimeout(Nr, 100) : e.registerExtension({
- name: Dr,
+function Ir() {
+ let e = l();
+ !e || typeof e.registerExtension != "function" ? setTimeout(Ir, 100) : e.registerExtension({
+ name: Ar,
getNodeMenuItems(e) {
try {
- return Ar(e) ? [{
- content: Or,
+ return Nr(e) ? [{
+ content: jr,
callback: () => {
- Mr(jr(e));
+ Fr(Pr(e));
}
}] : [];
} catch {
@@ -114,11 +114,11 @@ function Nr() {
}
});
}
-Nr();
+Ir();
// ui/integration/majoor_save_placeholders.ts
-var Pr = "MajoorAssetsManager.SavePlaceholders", Fr = /* @__PURE__ */ new Set(["MajoorSaveImage", "MajoorSaveVideo"]), Ir = /dd?|MM?|hh?|mm?|ss?|yyy?y?/g;
-function Lr(e, t) {
- return e.replace(Ir, (e) => {
+var Lr = "MajoorAssetsManager.SavePlaceholders", Rr = /* @__PURE__ */ new Set(["MajoorSaveImage", "MajoorSaveVideo"]), zr = /dd?|MM?|hh?|mm?|ss?|yyy?y?/g;
+function Br(e, t) {
+ return e.replace(zr, (e) => {
if (e === "yyyy") return String(t.getFullYear());
if (e === "yy") return String(t.getFullYear()).substring(2, 4);
let n;
@@ -143,51 +143,51 @@ function Lr(e, t) {
return String(n).padStart(e.length, "0");
});
}
-var Rr = /[/?<>\\:*|"\x00-\x1F\x7F]/g;
-function zr(e) {
+var Vr = /[/?<>\\:*|"\x00-\x1F\x7F]/g;
+function Hr(e) {
let t = e?.nodes ?? e?._nodes;
return Array.isArray(t) ? t : [];
}
-function Br(e, t) {
+function Ur(e, t) {
return String(t ?? "").replace(/%([^%]+)%/g, (t, n) => {
let r = String(n).split(".");
- if (r.length !== 2) return r[0].startsWith("date:") ? Lr(r[0].substring(5), /* @__PURE__ */ new Date()) : t;
- let i = zr(e), a = i.filter((e) => e?.properties?.["Node name for S&R"] === r[0]);
+ if (r.length !== 2) return r[0].startsWith("date:") ? Br(r[0].substring(5), /* @__PURE__ */ new Date()) : t;
+ let i = Hr(e), a = i.filter((e) => e?.properties?.["Node name for S&R"] === r[0]);
a.length || (a = i.filter((e) => e?.title === r[0]));
let o = a[0];
if (!o) return t;
let s = Array.isArray(o.widgets) ? o.widgets.find((e) => e?.name === r[1]) : null;
- return s ? String(s.value ?? "").replace(Rr, "_") : t;
+ return s ? String(s.value ?? "").replace(Vr, "_") : t;
});
}
-function Vr(e, t) {
+function Wr(e, t) {
try {
let n = Array.isArray(e?.widgets) ? e.widgets.find((e) => e?.name === "filename_prefix") : null;
if (!n) return;
let r = n.serializeValue;
n.serializeValue = () => {
let i = typeof r == "function" ? r.call(n) : n.value;
- return Br(e?.graph || t?.graph, i);
+ return Ur(e?.graph || t?.graph, i);
};
} catch {}
}
-function Hr() {
- let e = $e();
- !e || typeof e.registerExtension != "function" ? setTimeout(Hr, 100) : e.registerExtension({
- name: Pr,
+function Gr() {
+ let e = l();
+ !e || typeof e.registerExtension != "function" ? setTimeout(Gr, 100) : e.registerExtension({
+ name: Lr,
nodeCreated(t) {
try {
let n = String(t?.comfyClass || t?.type || "");
- if (!Fr.has(n)) return;
- Vr(t, e);
+ if (!Rr.has(n)) return;
+ Wr(t, e);
} catch {}
}
});
}
-Hr();
+Gr();
// ui/app/bootstrap.ts
-var Ur = !1, Wr = null, Gr = !1, Kr = null;
-function qr() {
+var Kr = !1, qr = null, Jr = !1, Yr = null;
+function Xr() {
try {
let e = window?.__MJR_EXECUTION_RUNTIME__;
return !String(e?.active_prompt_id || "").trim();
@@ -195,26 +195,26 @@ function qr() {
return console.debug?.(e), !0;
}
}
-async function Jr(e = {}) {
- if (!R || typeof R != "object" || !R.AUTO_SCAN_ON_STARTUP || Ur) return;
+async function Zr(e = {}) {
+ if (!R || typeof R != "object" || !R.AUTO_SCAN_ON_STARTUP || Kr) return;
let t = Math.max(0, Number(e?.delayMs) || 0), n = e?.idleOnly !== !1;
- if (t > 0) Wr && clearTimeout(Wr), Wr = setTimeout(() => {
- Wr = null, Jr({
+ if (t > 0) qr && clearTimeout(qr), qr = setTimeout(() => {
+ qr = null, Zr({
...e,
delayMs: 0
});
}, t);
- else if (n && !qr()) Wr && clearTimeout(Wr), Wr = setTimeout(() => {
- Wr = null, Jr({
+ else if (n && !Xr()) qr && clearTimeout(qr), qr = setTimeout(() => {
+ qr = null, Zr({
...e,
delayMs: 0
});
}, 5e3);
else {
- Ur = !0;
+ Kr = !0;
try {
- ft("[Majoor] Starting startup scan of output directory...");
- let e = await me(p.SCAN, {
+ ht("[Majoor] Starting startup scan of output directory...");
+ let e = await he(I.SCAN, {
recursive: !0,
incremental: !0,
fast: !0,
@@ -222,30 +222,30 @@ async function Jr(e = {}) {
});
if (e.ok) {
let t = e.data;
- ft(`[Majoor] Startup scan complete - added: ${t.added}, updated: ${t.updated}, skipped: ${t.skipped}`);
+ ht(`[Majoor] Startup scan complete - added: ${t.added}, updated: ${t.updated}, skipped: ${t.skipped}`);
} else console.warn("[Majoor] Majoor [WARN]: Startup scan failed:", e.error);
} catch (e) {
console.error("[Majoor] ERROR: Startup scan error:", e);
}
}
}
-async function Yr() {
+async function Qr() {
try {
await Promise.allSettled([
- Pe(p.HEALTH),
- Pe(`${p.HEALTH_COUNTERS}?scope=output`),
- Pe(p.HEALTH_DB)
+ Ie(I.HEALTH),
+ Ie(`${I.HEALTH_COUNTERS}?scope=output`),
+ Ie(I.HEALTH_DB)
]);
} catch (e) {
console.debug?.(e);
}
}
-async function Xr(e = {}) {
- return Gr ? Kr || Promise.resolve() : (Gr = !0, Kr = (async () => {
- await Zr(), await Yr(), await Jr(e);
- })(), Kr);
+async function $r(e = {}) {
+ return Jr ? Yr || Promise.resolve() : (Jr = !0, Yr = (async () => {
+ await ei(), await Qr(), await Zr(e);
+ })(), Yr);
}
-function Zr() {
+function ei() {
return new Promise((e) => {
try {
if (typeof window > "u") {
@@ -264,26 +264,26 @@ function Zr() {
}
});
}
-async function Qr() {
+async function ti() {
try {
- ft("[Majoor] Testing API connection...");
- let e = await Pe(p.HEALTH);
- e?.ok ? ft("[Majoor] API connection successful, health:", e.data.overall) : console.error("[Majoor] ERROR: API health check failed:", e?.error);
+ ht("[Majoor] Testing API connection...");
+ let e = await Ie(I.HEALTH);
+ e?.ok ? ht("[Majoor] API connection successful, health:", e.data.overall) : console.error("[Majoor] ERROR: API health check failed:", e?.error);
} catch (e) {
console.error("[Majoor] ERROR: Failed to connect to API:", e);
}
}
// ui/app/style.ts
-function $r() {
+function ni() {
let e = "mjr-feed-selection-override";
if (typeof document > "u" || document.getElementById(e)) return;
let t = document.createElement("style");
t.id = e, t.textContent = "\n .mjr-bottom-feed .mjr-asset-card.is-selected,\n .mjr-bottom-feed .mjr-card.is-selected {\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mjr-accent, #5fb3ff) 78%, #ffffff 22%), 0 0 0 6px color-mix(in srgb, var(--mjr-accent, #5fb3ff) 34%, transparent), 0 0 24px color-mix(in srgb, var(--mjr-accent, #5fb3ff) 52%, transparent), 0 10px 28px rgba(0, 0, 0, 0.32) !important;\n outline: 2px solid color-mix(in srgb, var(--mjr-accent, #5fb3ff) 85%, #ffffff 15%) !important;\n outline-offset: 0 !important;\n border-color: color-mix(in srgb, var(--mjr-accent, #5fb3ff) 62%, var(--mjr-border, rgba(255, 255, 255, 0.12))) !important;\n overflow: visible !important;\n z-index: 12 !important;\n }\n ", document.head.appendChild(t);
}
-function ei({ enabled: e = !0 } = {}) {
+function ri({ enabled: e = !0 } = {}) {
if (!e) return;
let t = "mjr-theme-comfy-css";
- if (document.getElementById(t)) $r();
+ if (document.getElementById(t)) ni();
else try {
let e = new URL("data:text/css;base64,LyoqCiAqIE1ham9vciBBc3NldHMgTWFuYWdlciAtIENvbWZ5LWxpa2UgdGhlbWUgbGF5ZXIKICoKICogUlVMRVM6CiAqIC0gRG8gTk9UIGhhcmRjb2RlIGEgY3VzdG9tIHBhbGV0dGU7IHVzZSBleGlzdGluZyBDb21meVVJIENTUyB2YXJpYWJsZXMgdmlhIHZhciguLi4pLgogKiAtIEtlZXAgZXZlcnl0aGluZyBzY29wZWQgdW5kZXIgYC5tanItYXNzZXRzLW1hbmFnZXJgIHRvIGF2b2lkIGxlYWtpbmcgc3R5bGVzIHRvIENvbWZ5VUkgKGV4Y2VwdCBgLm1qci1wb3BvdmVyKmAgd2hpY2ggY2FuIGJlIHBvcnRhbGVkIHRvIGBkb2N1bWVudC5ib2R5YCkuCiAqLwoKLm1qci1hc3NldHMtbWFuYWdlciB7CiAgICAvKiBUeXBvZ3JhcGh5ICovCiAgICBmb250LWZhbWlseTogdmFyKAogICAgICAgIC0tY29tZnktZm9udCwKICAgICAgICB2YXIoCiAgICAgICAgICAgIC0tZm9udC1pbnRlciwKICAgICAgICAgICAgdWktc2Fucy1zZXJpZiwKICAgICAgICAgICAgc3lzdGVtLXVpLAogICAgICAgICAgICAtYXBwbGUtc3lzdGVtLAogICAgICAgICAgICAiU2Vnb2UgVUkiLAogICAgICAgICAgICBSb2JvdG8sCiAgICAgICAgICAgIEFyaWFsLAogICAgICAgICAgICBzYW5zLXNlcmlmCiAgICAgICAgKQogICAgKTsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM1OwogICAgY29sb3I6IHZhcigtLWZnLWNvbG9yLCB2YXIoLS1jb250ZW50LWZnLCB2YXIoLS1pbnB1dC10ZXh0LCAjZGRkKSkpOwoKICAgIC8qCiAgICAgKiBTdXJmYWNlcyAtIHByaW9yaXR5OiBDb21meVVJIHYxLjQyIGRlc2lnbi1zeXN0ZW0gdG9rZW4gLT4gbGVnYWN5IHRva2VuIC0+IGhhcmQgZmFsbGJhY2sKICAgICAqIE5ldyB0b2tlbnM6IC0taW50ZXJmYWNlLXBhbmVsLXN1cmZhY2UsIC0taW50ZXJmYWNlLW1lbnUtc3VyZmFjZSwgLS1pbnRlcmZhY2UtcGFuZWwtaG92ZXItc3VyZmFjZSwKICAgICAqICAgICAgICAgICAgIC0tbW9kYWwtY2FyZC1iYWNrZ3JvdW5kLCAtLWJ1dHRvbi1zdXJmYWNlLCAtLWJ1dHRvbi1ob3Zlci1zdXJmYWNlLAogICAgICogICAgICAgICAgICAgLS1pbnRlcmZhY2UtcGFuZWwtc2VsZWN0ZWQtc3VyZmFjZSwgLS1wcmltYXJ5LWJhY2tncm91bmQsIC0tbXV0ZWQtZm9yZWdyb3VuZCwKICAgICAqICAgICAgICAgICAgIC0tYm9yZGVyLWRlZmF1bHQsIC0tc3VjY2Vzcy1iYWNrZ3JvdW5kLCAtLXdhcm5pbmctYmFja2dyb3VuZCwgLS1kZXN0cnVjdGl2ZS1iYWNrZ3JvdW5kCiAgICAgKi8KICAgIC0tbWpyLXN1cmZhY2UtMDogdmFyKC0taW50ZXJmYWNlLXBhbmVsLXN1cmZhY2UsIHZhcigtLWNvbnRlbnQtYmcsICMxZTFlMWUpKTsKICAgIC0tbWpyLXN1cmZhY2UtMTogdmFyKC0taW50ZXJmYWNlLW1lbnUtc3VyZmFjZSwgdmFyKC0tY29tZnktbWVudS1iZywgIzJhMmEyYSkpOwogICAgLS1tanItc3VyZmFjZS0yOiB2YXIoLS1pbnRlcmZhY2UtcGFuZWwtaG92ZXItc3VyZmFjZSwgdmFyKC0tY29tZnktbWVudS1zZWNvbmRhcnktYmcsICMzMzMpKTsKICAgIC0tbWpyLXN1cmZhY2UtMzogdmFyKC0tbW9kYWwtY2FyZC1iYWNrZ3JvdW5kLCB2YXIoLS1jb21meS1tZW51LWJnLCAjMjIyKSk7CiAgICAtLW1qci1ib3JkZXI6IHZhcigtLWJvcmRlci1kZWZhdWx0LCB2YXIoLS1ib3JkZXItY29sb3IsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpKTsKICAgIC0tbWpyLW11dGVkOiB2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kLCB2YXIoLS1kZXNjcmlwLXRleHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSkpKTsKICAgIC0tbWpyLWFjY2VudDogdmFyKC0tcHJpbWFyeS1iYWNrZ3JvdW5kLCB2YXIoLS1jb21meS1hY2NlbnQsICM1ZmIzZmYpKTsKICAgIC0tbWpyLWFjY2VudC1ob3ZlcjogdmFyKC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWhvdmVyLCB2YXIoLS1jb21meS1hY2NlbnQsICM3ZWM4ZmYpKTsKICAgIC0tbWpyLWJ0bi1zdXJmYWNlOiB2YXIoLS1idXR0b24tc3VyZmFjZSwgdmFyKC0tbWpyLXN1cmZhY2UtMikpOwogICAgLS1tanItYnRuLWhvdmVyOiB2YXIoLS1idXR0b24taG92ZXItc3VyZmFjZSwgdmFyKC0tbWpyLXN1cmZhY2UtMikpOwogICAgLS1tanItc2VsZWN0ZWQtc3VyZmFjZTogdmFyKC0taW50ZXJmYWNlLXBhbmVsLXNlbGVjdGVkLXN1cmZhY2UsIHJnYmEoOTUsIDE3OSwgMjU1LCAwLjE1KSk7CgogICAgLyogUmFkaWkgLSB1c2UgQ29tZnlVSSBkZXNpZ24tc3lzdGVtIHJhZGl1cyB0b2tlbnMgd2hlbiBhdmFpbGFibGUgKi8KICAgIC0tbWpyLXItc206IHZhcigtLXJhZGl1cy1zbSwgOHB4KTsKICAgIC0tbWpyLXItbWQ6IHZhcigtLXJhZGl1cy1tZCwgMTBweCk7CiAgICAtLW1qci1yLWxnOiB2YXIoLS1yYWRpdXMtbGcsIDEycHgpOwoKICAgIC8qIFNwYWNpbmcgKi8KICAgIC0tbWpyLXBhZC1zbTogOHB4OwogICAgLS1tanItcGFkLW1kOiAxMnB4OwogICAgLS1tanItcGFkLWxnOiAxNnB4OwoKICAgIC8qIFNlbWFudGljIFN0YXR1cyBDb2xvcnMgLSBwcmVmZXIgQ29tZnlVSSB2MS40MiBzZW1hbnRpYyB0b2tlbnMgKi8KICAgIC0tbWpyLXN0YXR1cy1zdWNjZXNzOiB2YXIoLS1zdWNjZXNzLWJhY2tncm91bmQsIHZhcigtLWNvbWZ5LXN0YXR1cy1zdWNjZXNzLCAjNGNhZjUwKSk7CiAgICAtLW1qci1zdGF0dXMtd2FybmluZzogdmFyKC0td2FybmluZy1iYWNrZ3JvdW5kLCB2YXIoLS1jb21meS1zdGF0dXMtd2FybmluZywgI2ZmYTcyNikpOwogICAgLS1tanItc3RhdHVzLWVycm9yOiB2YXIoLS1kZXN0cnVjdGl2ZS1iYWNrZ3JvdW5kLCB2YXIoLS1jb21meS1zdGF0dXMtZXJyb3IsICNmNDQzMzYpKTsKICAgIC0tbWpyLXN0YXR1cy1pbmZvOiB2YXIoLS1jb21meS1zdGF0dXMtaW5mbywgIzIxOTZmMyk7CiAgICAtLW1qci1zdGF0dXMtbmV1dHJhbDogdmFyKC0tY29tZnktc3RhdHVzLW5ldXRyYWwsICM5ZTllOWUpOwogICAgLS1tanItc3Rhci1hY3RpdmU6ICNmZmQ0NWE7CgogICAgLyogQmFkZ2UgY29sb3JzIChvdmVycmlkZGVuIGJ5IHNldHRpbmdzKSAqLwogICAgLS1tanItYmFkZ2UtaW1hZ2U6ICMyMTk2ZjM7CiAgICAtLW1qci1iYWRnZS12aWRlbzogIzljMjdiMDsKICAgIC0tbWpyLWJhZGdlLWF1ZGlvOiAjZmY5ODAwOwogICAgLS1tanItYmFkZ2UtbW9kZWwzZDogIzRjYWY1MDsKICAgIC0tbWpyLWNhcmQtaG92ZXItY29sb3I6IHZhcigtLWludGVyZmFjZS1wYW5lbC1ob3Zlci1zdXJmYWNlLCAjM2QzZDNkKTsKICAgIC0tbWpyLWNhcmQtc2VsZWN0aW9uLWNvbG9yOiB2YXIoLS1pbnRlcmZhY2UtcGFuZWwtc2VsZWN0ZWQtc3VyZmFjZSwgIzRhOTBlMik7CiAgICAtLW1qci1yYXRpbmctY29sb3I6ICNmZjk1MDA7CiAgICAtLW1qci10YWctY29sb3I6ICM0YTkwZTI7Cn0KCi8qIE1ha2UgdGhlIHRoZW1lIHZpc2libHkgYXBwbHkgZXZlbiB3aXRoIGlubGluZSBzdHlsZXMgKi8KLm1qci1hc3NldHMtbWFuYWdlciAqIHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIubWpyLWFtLWNvbnRhaW5lciB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGhlaWdodDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hbS1oZWFkZXIgewogICAgcGFkZGluZzogMTRweCAxNnB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIpOwogICAgYmFja2dyb3VuZDogdmFyKC0tbWpyLXN1cmZhY2UtMSk7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDI7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hbS1oZWFkZXItcm93IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxMHB4OwogICAgbWluLWhlaWdodDogMjhweDsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIHJvdy1nYXA6IDEwcHg7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hbS1oZWFkZXItbGVmdCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDEwcHg7CiAgICBtaW4td2lkdGg6IDA7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hbS1oZWFkZXItYWN0aW9ucyB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDEwcHg7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGZsZXgtd3JhcDogd3JhcDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFtLWhlYWRlci10b29scyB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGdhcDogOHB4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLXRhYnMgewogICAgLyogUXVldWUtbGlrZSB0YWJzIChhY3RpdmUgcGlsbCwgb3RoZXJzIGFzIHRleHQpICovCiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlcjogbm9uZTsKICAgIHBhZGRpbmc6IDA7CiAgICBnYXA6IDEwcHg7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBmbGV4OiAxIDEgYXV0bzsKICAgIG1pbi13aWR0aDogMDsKICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICBvdmVyZmxvdy15OiBoaWRkZW47CiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci10YWJzOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICB3aWR0aDogMDsKICAgIGhlaWdodDogMDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLXRhYiB7CiAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29udGVudC1mZywgI2RkZCkgNjUlLCB0cmFuc3BhcmVudCk7CiAgICB0cmFuc2l0aW9uOgogICAgICAgIHRyYW5zZm9ybSAxMjBtcyBlYXNlLAogICAgICAgIGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZSwKICAgICAgICBjb2xvciAxMjBtcyBlYXNlLAogICAgICAgIGJvcmRlci1jb2xvciAxMjBtcyBlYXNlOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItdGFiOmhvdmVyIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCAjZGRkKTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA1NSUsIHRyYW5zcGFyZW50KTsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1ib3JkZXIpIDcwJSwgdHJhbnNwYXJlbnQpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItdGFiLmlzLWFjdGl2ZSB7CiAgICBjb2xvcjogdmFyKC0tY29udGVudC1mZywgI2ZmZik7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgODAlLCB0cmFuc3BhcmVudCk7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYm9yZGVyKSA4NSUsIHRyYW5zcGFyZW50KTsKICAgIGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjE4KTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWljb24tYnRuIHsKICAgIHdpZHRoOiAyOHB4OwogICAgaGVpZ2h0OiAyOHB4OwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcsIDAuNXJlbSk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tanItYm9yZGVyKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdXJmYWNlLTIpOwogICAgY29sb3I6IHZhcigtLWNvbnRlbnQtZmcsICNkZGQpOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgcGFkZGluZzogMDsKICAgIHRyYW5zaXRpb246CiAgICAgICAgdHJhbnNmb3JtIDEyMG1zIGVhc2UsCiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLAogICAgICAgIGJvcmRlci1jb2xvciAxMjBtcyBlYXNlOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItaWNvbi1idG46aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNDUlLCB2YXIoLS1tanItYm9yZGVyKSk7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgODAlLCB2YXIoLS1tanItYWNjZW50KSA4JSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1pY29uLWJ0bi5tanItY29udGV4dC1hY3RpdmUsCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1pY29uLWJ0bi5tanItcG9wb3Zlci1vcGVuIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDg1JSwgdmFyKC0tbWpyLWJvcmRlcikpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIpIDU1JSwgdmFyKC0tbWpyLWFjY2VudCkgMTIlKTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgMzUlLCB0cmFuc3BhcmVudCk7Cn0KCi8qIEZsb2F0aW5nIFZpZXdlciBidXR0b24gLSB0ZWFsIGdsb3cgd2hlbiB2aWV3ZXIgaXMgb3BlbiAqLwoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItaWNvbi1idG4ubWpyLW1mdi1idG4tYWN0aXZlIHsKICAgIGNvbG9yOiAjNGRkOWMwOwogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDc3LCAyMTcsIDE5MiwgMC41NSk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDc3LCAyMTcsIDE5MiwgMC4xKTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDc3LCAyMTcsIDE5MiwgMC4yNSk7Cn0KLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWljb24tYnRuLm1qci1tZnYtYnRuLWFjdGl2ZSAucGkgewogICAgb3BhY2l0eTogMTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWljb24tYnRuLm1qci1tZXNzYWdlLWJ0biB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBvdmVyZmxvdzogdmlzaWJsZTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWljb24tYnRuLm1qci1tZXNzYWdlLWhhcy11bnJlYWQgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNzUlLCB2YXIoLS1tanItYm9yZGVyKSk7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgNzIlLCB2YXIoLS1tanItYWNjZW50KSAxMSUpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItbWVzc2FnZS1iYWRnZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IC01cHg7CiAgICByaWdodDogLTZweDsKICAgIG1pbi13aWR0aDogMTZweDsKICAgIGhlaWdodDogMTZweDsKICAgIHBhZGRpbmc6IDAgNHB4OwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMSkgNTUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykpOwogICAgYmFja2dyb3VuZDogI2VmNTM1MDsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAxMHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMzUpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItaWNvbi1idG4gLnBpIHsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgb3BhY2l0eTogMC45Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItaWNvbi1idG46ZGlzYWJsZWQsCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1haS1jb250cm9sOmRpc2FibGVkIHsKICAgIG9wYWNpdHk6IDAuNTsKICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwLjQ1KTsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1ib3JkZXIpIDg4JSwgdHJhbnNwYXJlbnQpICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgOTIlLCB0cmFuc3BhcmVudCkgIWltcG9ydGFudDsKICAgIGNvbG9yOiB2YXIoLS1tanItbXV0ZWQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSkgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFpLWRpc2FibGVkIC5tanItYWktY29udHJvbDpob3ZlciB7CiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFpLWRpc2FibGVkLWJsb2NrIHsKICAgIG9wYWNpdHk6IDAuNTg7CiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwLjQ1KTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFpLWRpc2FibGVkLWJsb2NrIC5tanItYWktY29udHJvbCwKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFpLWRpc2FibGVkLWJsb2NrIGJ1dHRvbiB7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLyogUG9wb3ZlcnMgY2FuIGJlIG1vdmVkIHRvIGBkb2N1bWVudC5ib2R5YCAocG9ydGFsKSB0byBhdm9pZCBiZWluZyBjbGlwcGVkLiAqLwoubWpyLXBvcG92ZXIgewogICAgZm9udC1mYW1pbHk6IHZhcigKICAgICAgICAtLWNvbWZ5LWZvbnQsCiAgICAgICAgdmFyKAogICAgICAgICAgICAtLWZvbnQtaW50ZXIsCiAgICAgICAgICAgIHVpLXNhbnMtc2VyaWYsCiAgICAgICAgICAgIHN5c3RlbS11aSwKICAgICAgICAgICAgLWFwcGxlLXN5c3RlbSwKICAgICAgICAgICAgIlNlZ29lIFVJIiwKICAgICAgICAgICAgUm9ib3RvLAogICAgICAgICAgICBBcmlhbCwKICAgICAgICAgICAgc2Fucy1zZXJpZgogICAgICAgICkKICAgICk7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBsaW5lLWhlaWdodDogMS4zNTsKICAgIGNvbG9yOiB2YXIoLS1mZy1jb2xvciwgdmFyKC0tY29udGVudC1mZywgdmFyKC0taW5wdXQtdGV4dCwgI2RkZCkpKTsKCiAgICAvKiBQcm92aWRlIGZhbGxiYWNrcyB3aGVuIG91dHNpZGUgYC5tanItYXNzZXRzLW1hbmFnZXJgIHNjb3BlICovCiAgICAtLW1qci1zdXJmYWNlLTE6IHZhcigtLWludGVyZmFjZS1tZW51LXN1cmZhY2UsIHZhcigtLWNvbWZ5LW1lbnUtYmcsICMyYTJhMmEpKTsKICAgIC0tbWpyLWJvcmRlcjogdmFyKC0tYm9yZGVyLWRlZmF1bHQsIHZhcigtLWJvcmRlci1jb2xvciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSkpOwogICAgLS1tanItbXV0ZWQ6IHZhcigtLW11dGVkLWZvcmVncm91bmQsIHZhcigtLWRlc2NyaXAtdGV4dCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KSkpOwogICAgLS1tanItYWNjZW50OiB2YXIoLS1wcmltYXJ5LWJhY2tncm91bmQsIHZhcigtLWNvbWZ5LWFjY2VudCwgIzVmYjNmZikpOwogICAgLS1tanItcG9wb3Zlci16LWluZGV4OiAyMTQ3NDgzNjQ3OwoKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICBtaW4td2lkdGg6IDA7CiAgICB3aWR0aDogbWluKDI4MHB4LCBjYWxjKDEwMHZ3IC0gMjRweCkpOwogICAgbWF4LXdpZHRoOiBtaW4oMzYwcHgsIGNhbGMoMTAwdncgLSAyNHB4KSk7CiAgICBwYWRkaW5nOiAxMHB4OwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnLCAwLjVyZW0pOwogICAgYmFja2dyb3VuZDogdmFyKC0tbWpyLXN1cmZhY2UtMSwgdmFyKC0tY29tZnktbWVudS1iZywgIzJhMmEyYSkpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlciwgdmFyKC0tYm9yZGVyLWNvbG9yLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpKSk7CiAgICBib3gtc2hhZG93OiAwIDEycHggMjhweCByZ2JhKDAsIDAsIDAsIDAuMzUpOwogICAgei1pbmRleDogdmFyKC0tbWpyLXBvcG92ZXItei1pbmRleCk7CiAgICBtaW4taGVpZ2h0OiAwOwogICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgb3ZlcmZsb3cteTogYXV0bzsKICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICB0b3VjaC1hY3Rpb246IHBhbi15OwogICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwp9CgoubWpyLXBvcG92ZXItLWhpZGRlbiB7CiAgICBkaXNwbGF5OiBub25lOwp9CgoubWpyLWZpbHRlci1wb3BvdmVyIHsKICAgIG1pbi13aWR0aDogMzQwcHg7CiAgICB3aWR0aDogbWluKDM2MHB4LCBjYWxjKDEwMHZ3IC0gMjRweCkpOwogICAgcGFkZGluZzogMTJweDsKfQoKLm1qci1zb3J0LXBvcG92ZXIgewogICAgbWluLXdpZHRoOiAyMjBweDsKICAgIHdpZHRoOiBtaW4oMjYwcHgsIGNhbGMoMTAwdncgLSAyNHB4KSk7CiAgICBwYWRkaW5nOiAxMHB4Owp9CgoubWpyLWNvbGxlY3Rpb25zLXBvcG92ZXIgewogICAgbWluLXdpZHRoOiAyODBweDsKICAgIHdpZHRoOiBtaW4oMzIwcHgsIGNhbGMoMTAwdncgLSAyNHB4KSk7CiAgICBwYWRkaW5nOiAxMHB4Owp9CgoubWpyLXBpbm5lZC1mb2xkZXJzLXBvcG92ZXIgewogICAgbWluLXdpZHRoOiAyODBweDsKICAgIHdpZHRoOiBtaW4oMzQwcHgsIGNhbGMoMTAwdncgLSAyNHB4KSk7CiAgICBwYWRkaW5nOiAxMHB4Owp9CgoubWpyLXBpbm5lZC1mb2xkZXJzLXBvcG92ZXIgLm1qci1waW5uZWQtZm9sZGVycy1tZW51IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBnYXA6IDZweDsKfQoKLm1qci1waW5uZWQtZm9sZGVycy1wb3BvdmVyIC5tanItcGlubmVkLWZvbGRlcnMtZW1wdHkgewogICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgb3BhY2l0eTogMC43NTsKfQoKLm1qci1waW5uZWQtZm9sZGVycy1wb3BvdmVyIC5tanItcGlubmVkLWZvbGRlci1yb3cgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgd2lkdGg6IDEwMCU7Cn0KCi5tanItcGlubmVkLWZvbGRlcnMtcG9wb3ZlciAubWpyLXBpbm5lZC1mb2xkZXItb3BlbiB7CiAgICBmbGV4OiAxOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICB3aWR0aDogMTAwJTsKICAgIGdhcDogMTBweDsKICAgIHBhZGRpbmc6IDlweCAxMHB4OwogICAgYm9yZGVyLXJhZGl1czogOXB4OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjAsIDE5MCwgMjU1LCAwLjE4KTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMyksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSkpOwogICAgdHJhbnNpdGlvbjoKICAgICAgICBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwKICAgICAgICBiYWNrZ3JvdW5kIDEyMG1zIGVhc2U7Cn0KCi5tanItcGlubmVkLWZvbGRlcnMtcG9wb3ZlciAubWpyLXBpbm5lZC1mb2xkZXItb3Blbjpob3ZlciwKLm1qci1waW5uZWQtZm9sZGVycy1wb3BvdmVyIC5tanItcGlubmVkLWZvbGRlci1vcGVuOmZvY3VzLXZpc2libGUgewogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0NSwgMjA1LCAyNTUsIDAuNCk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDgwLCAxNDAsIDI1NSwgMC4xOCksIHJnYmEoMzIsIDEwMCwgMjAwLCAwLjE0KSk7Cn0KCi5tanItcGlubmVkLWZvbGRlcnMtcG9wb3ZlciAubWpyLXBpbm5lZC1mb2xkZXItbGFiZWwgewogICAgbWluLXdpZHRoOiAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBjb2xvcjogdmFyKC0tZmctY29sb3IsICNlNmVkZjcpOwp9CgoubWpyLXBpbm5lZC1mb2xkZXJzLXBvcG92ZXIgLm1qci1waW5uZWQtZm9sZGVyLXBhdGggewogICAgZmxleDogMCAxIGF1dG87CiAgICBtaW4td2lkdGg6IDA7CiAgICBtYXgtd2lkdGg6IDIyMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIG9wYWNpdHk6IDAuNjg7CiAgICBmb250LXNpemU6IDExcHg7Cn0KCi5tanItcGlubmVkLWZvbGRlcnMtcG9wb3ZlciAubWpyLXBpbm5lZC1mb2xkZXItdW5waW4gewogICAgd2lkdGg6IDQycHg7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHBhZGRpbmc6IDA7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgOTUsIDk1LCAwLjM1KTsKICAgIGJvcmRlci1yYWRpdXM6IDlweDsKICAgIG1hcmdpbi1sZWZ0OiA2cHg7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgNzAsIDcwLCAwLjE2KSwgcmdiYSgxNjAsIDIwLCAyMCwgMC4xMikpOwp9CgoubWpyLXBpbm5lZC1mb2xkZXJzLXBvcG92ZXIgLm1qci1waW5uZWQtZm9sZGVyLXVucGluIC5waSB7CiAgICBvcGFjaXR5OiAwLjg4OwogICAgY29sb3I6IHJnYmEoMjU1LCAxMzAsIDEzMCwgMC45Nik7Cn0KCi5tanItbWVzc2FnZXMtcG9wb3ZlciB7CiAgICBtaW4td2lkdGg6IDMyMHB4OwogICAgd2lkdGg6IG1pbig0NjBweCwgY2FsYygxMDB2dyAtIDI0cHgpKTsKICAgIHBhZGRpbmc6IDEwcHg7Cn0KCi5tanItaW5saW5lLWRpYWxvZy1tYXNrIHsKICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsKICAgIGluc2V0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDsKfQoKLm1qci1pbmxpbmUtZGlhbG9nLXJvb3QgewogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgIHdpZHRoOiAxMDAlOwogICAgcG9pbnRlci1ldmVudHM6IGF1dG87Cn0KCi5tanItaW5saW5lLWRpYWxvZy1jb250ZW50IHsKICAgIHBhZGRpbmc6IDA7Cn0KCi5tanItbWVzc2FnZXMtaGVhZCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGdhcDogOHB4OwogICAgZmxleC13cmFwOiB3cmFwOwogICAgbWFyZ2luLWJvdHRvbTogOHB4Owp9CgoubWpyLW1lc3NhZ2VzLXRhYnMgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA2cHg7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICBwYWRkaW5nOiAzcHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYm9yZGVyKSA4OCUsIHRyYW5zcGFyZW50KTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA3NCUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1tZXNzYWdlcy10YWIgewogICAgYXBwZWFyYW5jZTogbm9uZTsKICAgIGJvcmRlcjogMDsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb250ZW50LWZnLCAjZjFmMWYxKSA3NiUsIHRyYW5zcGFyZW50KTsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogNnB4OwogICAgZm9udC1zaXplOiAxMXB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdHJhbnNpdGlvbjoKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMTRzIGVhc2UsCiAgICAgICAgY29sb3IgMC4xNHMgZWFzZSwKICAgICAgICB0cmFuc2Zvcm0gMC4xNHMgZWFzZTsKfQoKLm1qci1tZXNzYWdlcy10YWI6aG92ZXIsCi5tanItbWVzc2FnZXMtdGFiOmZvY3VzLXZpc2libGUgewogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDE0JSwgdHJhbnNwYXJlbnQpOwogICAgY29sb3I6IHZhcigtLWNvbnRlbnQtZmcsICNmMWYxZjEpOwogICAgb3V0bGluZTogbm9uZTsKfQoKLm1qci1tZXNzYWdlcy10YWIuaXMtYWN0aXZlIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSAyMiUsIHZhcigtLW1qci1zdXJmYWNlLTIpKTsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCAjZmZmKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgMzQlLCB0cmFuc3BhcmVudCk7Cn0KCi5tanItbWVzc2FnZXMtcGFuZWxzIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBnYXA6IDhweDsKICAgIG1heC1oZWlnaHQ6IG1pbig1MnZoLCA0MjBweCk7Cn0KCi5tanItbWVzc2FnZXMtbGlzdCwKLm1qci1tZXNzYWdlcy1zaG9ydGN1dHMtcGFuZWwgewogICAgb3ZlcmZsb3cteTogYXV0bzsKICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47Cn0KCi5tanItdGFiLWNvdW50LWJhZGdlIHsKICAgIG1pbi13aWR0aDogMTZweDsKICAgIGhlaWdodDogMTZweDsKICAgIHBhZGRpbmc6IDAgNXB4OwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogOXB4OwogICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07CiAgICBsaW5lLWhlaWdodDogMTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSAyOCUsIHZhcigtLW1qci1zdXJmYWNlLTIpKTsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29udGVudC1mZywgI2ZmZikgOTIlLCB0cmFuc3BhcmVudCk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDQ4JSwgdHJhbnNwYXJlbnQpOwp9CgoubWpyLW1lc3NhZ2VzLXRpdGxlIHsKICAgIGZsZXg6IDEgMSBhdXRvOwogICAgbWluLXdpZHRoOiAwOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb250ZW50LWZnLCAjZGRkKSA4MiUsIHZhcigtLW1qci1tdXRlZCkpOwp9CgoubWpyLW1lc3NhZ2VzLWFjdGlvbnMgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgIGdhcDogNnB4OwogICAgZmxleC13cmFwOiB3cmFwOwp9CgoubWpyLW1lc3NhZ2VzLW1hcmstcmVhZC1idG4gewogICAgcGFkZGluZzogNHB4IDhweDsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7Cn0KCi5tanItbWVzc2FnZXMtc3Rhci1saW5rIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogNnB4OwogICAgcGFkZGluZzogNHB4IDhweDsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBjb2xvcjogdmFyKC0tY29udGVudC1mZywgI2YxZjFmMSk7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZjNjODRiIDQyJSwgdmFyKC0tbWpyLWJvcmRlcikpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsICNmM2M4NGIgMTIlLCB2YXIoLS1tanItc3VyZmFjZS0yKSk7Cn0KCi5tanItbWVzc2FnZXMtc3Rhci1saW5rOmhvdmVyLAoubWpyLW1lc3NhZ2VzLXN0YXItbGluazpmb2N1cy12aXNpYmxlIHsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKLm1qci1tZXNzYWdlcy1zdGFyLWljb24gewogICAgY29sb3I6ICNmM2M4NGI7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBsaW5lLWhlaWdodDogMTsKfQoKLm1qci1tZXNzYWdlcy1zdGFyLWxhYmVsIHsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KCi5tanItbWVzc2FnZXMtbGlzdCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ2FwOiA4cHg7Cn0KCi5tanItbWVzc2FnZXMtZW1wdHkgewogICAgcGFkZGluZzogOHB4IDZweDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIG9wYWNpdHk6IDAuNzI7Cn0KCi5tanItbWVzc2FnZS1pdGVtIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBnYXA6IDVweDsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgODYlLCB0cmFuc3BhcmVudCk7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgNTglLCB0cmFuc3BhcmVudCk7CiAgICBwYWRkaW5nOiA4cHg7Cn0KCi5tanItbWVzc2FnZS1pdGVtLS11bnJlYWQgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNTglLCB2YXIoLS1tanItYm9yZGVyKSk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDI2JSwgdHJhbnNwYXJlbnQpOwp9CgoubWpyLW1lc3NhZ2UtaXRlbS0td2FybmluZyB7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZjBiODVhIDYyJSwgdmFyKC0tbWpyLWJvcmRlcikpOwp9CgoubWpyLW1lc3NhZ2UtaXRlbS0tZXJyb3IgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2YzNmI2YiA2MiUsIHZhcigtLW1qci1ib3JkZXIpKTsKfQoKLm1qci1tZXNzYWdlLWl0ZW0tLXN1Y2Nlc3MgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzU4YzA3ZCA2MiUsIHZhcigtLW1qci1ib3JkZXIpKTsKfQoKLm1qci1tZXNzYWdlLWl0ZW0taGVhZCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGdhcDogOHB4Owp9CgoubWpyLW1lc3NhZ2UtaXRlbS10aXRsZS13cmFwIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgbWluLXdpZHRoOiAwOwogICAgZmxleDogMSAxIGF1dG87Cn0KCi5tanItbWVzc2FnZS1pdGVtLWVtb2ppIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgbGluZS1oZWlnaHQ6IDE7Cn0KCi5tanItbWVzc2FnZS1pdGVtLXRpdGxlIHsKICAgIG1pbi13aWR0aDogMDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBjb2xvcjogdmFyKC0tY29udGVudC1mZywgI2YxZjFmMSk7Cn0KCi5tanItbWVzc2FnZS1pdGVtLWNhdGVnb3J5IHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHBhZGRpbmc6IDFweCA2cHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDIwJSwgdmFyKC0tbWpyLXN1cmZhY2UtMikpOwogICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb250ZW50LWZnLCAjZmZmKSA4NiUsIHRyYW5zcGFyZW50KTsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KCi5tanItbWVzc2FnZS1pdGVtLW1ldGEgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgb3BhY2l0eTogMC43MjsKfQoKLm1qci1tZXNzYWdlLWl0ZW0tYm9keSB7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBvcGFjaXR5OiAwLjkyOwogICAgbGluZS1oZWlnaHQ6IDEuNDU7CiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwp9CgoubWpyLW1lc3NhZ2UtaXRlbS1hY3Rpb24gewogICAgZm9udC1zaXplOiAxMXB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiB2YXIoLS1tanItYWNjZW50LCB2YXIoLS1jb21meS1hY2NlbnQsICM1ZmIzZmYpKTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIHdpZHRoOiBmaXQtY29udGVudDsKfQoKLm1qci1tZXNzYWdlLWl0ZW0tYWN0aW9uOmhvdmVyIHsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwp9CgovKiBUb2FzdCBIaXN0b3J5IHRhYiAtIHVucmVhZCBpbmRpY2F0b3IgZG90ICovCi5tanItdGFiLXVucmVhZC1kb3QgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6IDZweDsKICAgIGhlaWdodDogNnB4OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYmFja2dyb3VuZDogdmFyKC0tbWpyLWFjY2VudCwgIzVmYjNmZik7CiAgICBtYXJnaW4tbGVmdDogNXB4OwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIGZsZXgtc2hyaW5rOiAwOwp9CgovKiBIaXN0b3J5IHBhbmVsICovCi5tanItbWVzc2FnZXMtaGlzdG9yeS1wYW5lbCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIG1pbi1oZWlnaHQ6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgoubWpyLWhpc3RvcnktaGVhZCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIHBhZGRpbmc6IDRweCAwIDZweDsKICAgIGZsZXgtc2hyaW5rOiAwOwp9CgoubWpyLWhpc3RvcnktaGVhZC1sYWJlbCB7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgb3BhY2l0eTogMC42MjsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwp9CgoubWpyLWhpc3RvcnktY2xlYXItYnRuIHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBvcGFjaXR5OiAwLjcyOwp9CgoubWpyLWhpc3RvcnktY2xlYXItYnRuOmhvdmVyIHsKICAgIG9wYWNpdHk6IDE7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgMTIlLCB0cmFuc3BhcmVudCk7Cn0KCi5tanItaGlzdG9yeS1saXN0IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBnYXA6IDRweDsKICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwp9CgoubWpyLWhpc3RvcnktaXRlbSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICBnYXA6IDhweDsKICAgIHBhZGRpbmc6IDZweCA4cHg7CiAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tanItYm9yZGVyLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdXJmYWNlLTIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCkpOwogICAgZm9udC1zaXplOiAxMnB4Owp9CgoubWpyLWhpc3RvcnktaXRlbS0tZXJyb3IgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2YzNmI2YiA1MCUsIHZhcigtLW1qci1ib3JkZXIpKTsKfQoKLm1qci1oaXN0b3J5LWl0ZW0tLXdhcm5pbmcgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2YwYjg1YSA1MCUsIHZhcigtLW1qci1ib3JkZXIpKTsKfQoKLm1qci1oaXN0b3J5LWl0ZW0tLXN1Y2Nlc3MgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzU4YzA3ZCA1MCUsIHZhcigtLW1qci1ib3JkZXIpKTsKfQoKLm1qci1oaXN0b3J5LWl0ZW0taWNvbiB7CiAgICBmbGV4LXNocmluazogMDsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjQ7Cn0KCi5tanItaGlzdG9yeS1pdGVtLWNvbnRlbnQgewogICAgbWluLXdpZHRoOiAwOwogICAgZGlzcGxheTogZ3JpZDsKICAgIGdhcDogNHB4Owp9CgoubWpyLWhpc3RvcnktaXRlbS1tc2cgewogICAgb3BhY2l0eTogMC45MjsKICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOwogICAgd29yZC1icmVhazogYnJlYWstd29yZDsKfQoKLm1qci1oaXN0b3J5LWl0ZW0tdGl0bGUgewogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICBvcGFjaXR5OiAwLjk2OwogICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7Cn0KCi5tanItaGlzdG9yeS1pdGVtLWRldGFpbCB7CiAgICBvcGFjaXR5OiAwLjg0OwogICAgbGluZS1oZWlnaHQ6IDEuNDU7CiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsKICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7Cn0KCi5tanItaGlzdG9yeS1pdGVtLW1ldGEgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDZweDsKICAgIGZsZXgtd3JhcDogd3JhcDsKfQoKLm1qci1oaXN0b3J5LWl0ZW0tdGltZSB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBvcGFjaXR5OiAwLjUyOwp9CgoubWpyLWhpc3RvcnktaXRlbS1jaGlwIHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgcGFkZGluZzogMnB4IDZweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1ib3JkZXIpIDgyJSwgdHJhbnNwYXJlbnQpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTMsIHZhcigtLW1qci1zdXJmYWNlLTIpKSA3OCUsIHRyYW5zcGFyZW50KTsKICAgIG9wYWNpdHk6IDAuNzY7Cn0KCi5tanItaGlzdG9yeS1pdGVtLWFjdGlvbiB7CiAgICBmb250LXNpemU6IDExcHg7CiAgICB3aWR0aDogZml0LWNvbnRlbnQ7CiAgICBjb2xvcjogdmFyKC0tbWpyLWFjY2VudCwgIzVmYjNmZik7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCi5tanItaGlzdG9yeS1pdGVtLWFjdGlvbjpob3ZlciB7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKfQoKLm1qci1oaXN0b3J5LWl0ZW0tcHJvZ3Jlc3MgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdhcDogNHB4Owp9CgoubWpyLWhpc3RvcnktaXRlbS1wcm9ncmVzcy1zdW1tYXJ5IHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIG9wYWNpdHk6IDAuNzQ7CiAgICBsaW5lLWhlaWdodDogMS4zNTsKICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOwp9CgoubWpyLWhpc3RvcnktaXRlbS1wcm9ncmVzcy1iYXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDZweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYm9yZGVyKSA3NSUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1oaXN0b3J5LWl0ZW0tcHJvZ3Jlc3MtZmlsbCB7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KAogICAgICAgIDkwZGVnLAogICAgICAgIHZhcigtLW1qci1hY2NlbnQsICM1ZmIzZmYpLAogICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCAjNThjMDdkIDcyJSwgdmFyKC0tbWpyLWFjY2VudCwgIzVmYjNmZikpCiAgICApOwp9CgoubWpyLXNob3J0Y3V0LWd1aWRlIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBnYXA6IDhweDsKfQoKLm1qci1zaG9ydGN1dC1ndWlkZS1pbnRybyB7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBsaW5lLWhlaWdodDogMS40NTsKICAgIG9wYWNpdHk6IDAuODQ7Cn0KCi5tanItc2hvcnRjdXQtc2VjdGlvbiB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ2FwOiA2cHg7CiAgICBwYWRkaW5nOiA4cHg7CiAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1ib3JkZXIpIDg0JSwgdHJhbnNwYXJlbnQpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTMsIHZhcigtLW1qci1zdXJmYWNlLTIpKSA3MiUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1zaG9ydGN1dC1zZWN0aW9uLXRpdGxlIHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29udGVudC1mZywgI2YxZjFmMSkgODglLCB0cmFuc3BhcmVudCk7Cn0KCi5tanItc2hvcnRjdXQtbGlzdCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ2FwOiA2cHg7Cn0KCi5tanItc2hvcnRjdXQtcm93IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxMzJweCwgMTYwcHgpIG1pbm1heCgwLCAxZnIpOwogICAgZ2FwOiA4cHg7CiAgICBhbGlnbi1pdGVtczogc3RhcnQ7Cn0KCi5tanItc2hvcnRjdXQta2V5IHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgbWluLWhlaWdodDogMjRweDsKICAgIHBhZGRpbmc6IDNweCA4cHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSAzOCUsIHZhcigtLW1qci1ib3JkZXIpKTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSAxMiUsIHZhcigtLW1qci1zdXJmYWNlLTIpKTsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29udGVudC1mZywgI2ZmZikgOTAlLCB0cmFuc3BhcmVudCk7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwp9CgoubWpyLXNob3J0Y3V0LWRlc2MgewogICAgbWluLXdpZHRoOiAwOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgIG9wYWNpdHk6IDAuOTI7Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA1NjBweCkgewogICAgLm1qci1zaG9ydGN1dC1yb3cgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgfQoKICAgIC5tanItc2hvcnRjdXQta2V5IHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICB9Cn0KCi5tanItZmlsdGVyLXBvcG92ZXIgLm1qci1maWx0ZXItaGVhZCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBnYXA6IDEwcHg7CiAgICBtYXJnaW46IDAgMCAxMHB4OwogICAgcGFkZGluZzogNHB4IDJweCAxMHB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYm9yZGVyKSA4NSUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1maWx0ZXItcG9wb3ZlciAubWpyLWZpbHRlci1oZWFkLWxlZnQgewogICAgbWluLXdpZHRoOiAwOwp9CgoubWpyLWZpbHRlci1wb3BvdmVyIC5tanItZmlsdGVyLWtpY2tlciB7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBmb250LXdlaWdodDogODAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDllbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQsICM1ZmIzZmYpIDY1JSwgdmFyKC0tY29udGVudC1mZywgI2RkZCkpOwp9CgoubWpyLWZpbHRlci1wb3BvdmVyIC5tanItZmlsdGVyLXN1YnRpdGxlIHsKICAgIG1hcmdpbi10b3A6IDJweDsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29udGVudC1mZywgI2RkZCkgNjIlLCB2YXIoLS1tanItbXV0ZWQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSkpKTsKfQoKLm1qci1maWx0ZXItcG9wb3ZlciAubWpyLWZpbHRlci1oZWFkLWFjdGlvbnMgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA4cHg7CiAgICBmbGV4OiAwIDAgYXV0bzsKfQoKLm1qci1maWx0ZXItcG9wb3ZlciAubWpyLWZpbHRlci1zdGFjayB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogOHB4Owp9CgoubWpyLWZpbHRlci1wb3BvdmVyIC5tanItZmlsdGVyLWFjdGl2ZS1jb3VudCB7CiAgICBtaW4td2lkdGg6IDIycHg7CiAgICBoZWlnaHQ6IDIycHg7CiAgICBwYWRkaW5nOiAwIDZweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQsICM1ZmIzZmYpIDU1JSwgdmFyKC0tbWpyLWJvcmRlcikpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQsICM1ZmIzZmYpIDE4JSwgdmFyKC0tbWpyLXN1cmZhY2UtMikpOwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBjb2xvcjogdmFyKC0tY29udGVudC1mZywgI2ZmZik7Cn0KCi5tanItZmlsdGVyLXBvcG92ZXIgLm1qci1maWx0ZXItY2xlYXItYWxsIHsKICAgIGhlaWdodDogMjRweDsKICAgIHBhZGRpbmc6IDAgOHB4OwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgNzUlLCB0cmFuc3BhcmVudCk7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBmb250LXdlaWdodDogNzAwOwp9CgoubWpyLWZpbHRlci1wb3BvdmVyIC5tanItcG9wb3Zlci1yb3cgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgZ2FwOiA4cHg7CiAgICBhbGlnbi1pdGVtczogc3RhcnQ7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Owp9CgoubWpyLWZpbHRlci1wb3BvdmVyIC5tanItcG9wb3Zlci1yb3ctLTNjb2wgewogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTsKfQoKLm1qci1maWx0ZXItcG9wb3ZlciAubWpyLXBvcG92ZXItcm93LS0zY29sIC5tanItcG9wb3Zlci1sYWJlbCB7CiAgICBncmlkLWNvbHVtbjogMSAvIC0xOwp9CgoubWpyLWZpbHRlci1wb3BvdmVyIC5tanItcG9wb3Zlci1sYWJlbCB7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb250ZW50LWZnLCAjZGRkKSA3MCUsIHZhcigtLW1qci1tdXRlZCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KSkpOwogICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsKfQoKLm1qci1maWx0ZXItcG9wb3ZlciAubWpyLXBvcG92ZXItdG9nZ2xlIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA2cHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBjb2xvcjogdmFyKC0tZmctY29sb3IsICNlNmVkZjcpOwogICAgcGFkZGluZzogNnB4IDhweDsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYm9yZGVyKSA4MCUsIHRyYW5zcGFyZW50KTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA2NiUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1maWx0ZXItcG9wb3ZlciAubWpyLXBvcG92ZXItdG9nZ2xlIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gewogICAgYWNjZW50LWNvbG9yOiB2YXIoLS1tanItYWNjZW50LCB2YXIoLS1jb21meS1hY2NlbnQsICM1ZmIzZmYpKTsKfQoKLm1qci1maWx0ZXItcG9wb3ZlciAubWpyLWZpbHRlci1ncm91cCB7CiAgICAtLW1qci1maWx0ZXItZ3JvdXAtYWNjZW50OiB2YXIoLS1tanItYWNjZW50LCAjN2FhMmZmKTsKICAgIHBhZGRpbmc6IDEwcHggMCA4cHg7CiAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSk7Cn0KCi5tanItZmlsdGVyLXBvcG92ZXIgLm1qci1maWx0ZXItZ3JvdXA6bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgIHBhZGRpbmctYm90dG9tOiAycHg7Cn0KCi5tanItZmlsdGVyLXBvcG92ZXIgLm1qci1maWx0ZXItZ3JvdXAtLWNvcmUgewogICAgLS1tanItZmlsdGVyLWdyb3VwLWFjY2VudDogIzU2YThmZjsKfQoKLm1qci1maWx0ZXItcG9wb3ZlciAubWpyLWZpbHRlci1ncm91cC0tbWVkaWEgewogICAgLS1tanItZmlsdGVyLWdyb3VwLWFjY2VudDogIzM1ZDA4YjsKfQoKLm1qci1maWx0ZXItcG9wb3ZlciAubWpyLWZpbHRlci1ncm91cC0tdGltZSB7CiAgICAtLW1qci1maWx0ZXItZ3JvdXAtYWNjZW50OiAjZjBiODRmOwp9CgoubWpyLWZpbHRlci1wb3BvdmVyIC5tanItZmlsdGVyLWdyb3VwLXRvZ2dsZSB7CiAgICB3aWR0aDogMTAwJTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZ2FwOiAxMHB4OwogICAgbWFyZ2luOiAwIDAgMTBweDsKICAgIGJvcmRlcjogMDsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgcGFkZGluZzogMnB4IDRweDsKfQoKLm1qci1maWx0ZXItcG9wb3ZlciAubWpyLWZpbHRlci1ncm91cC10aXRsZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDZweDsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWZpbHRlci1ncm91cC1hY2NlbnQpIDYyJSwgdmFyKC0tY29udGVudC1mZywgI2RkZCkpOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoubWpyLWZpbHRlci1wb3BvdmVyIC5tanItZmlsdGVyLWdyb3VwLXRpdGxlOjpiZWZvcmUgewogICAgY29udGVudDogIiI7CiAgICB3aWR0aDogNnB4OwogICAgaGVpZ2h0OiA2cHg7CiAgICBmbGV4OiAwIDAgNnB4OwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tanItZmlsdGVyLWdyb3VwLWFjY2VudCk7Cn0KCi5tanItZmlsdGVyLXBvcG92ZXIgLm1qci1maWx0ZXItZ3JvdXAtY2hldnJvbiB7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWZpbHRlci1ncm91cC1hY2NlbnQpIDc4JSwgdmFyKC0tbWpyLW11dGVkLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpKSk7Cn0KCi5tanItZmlsdGVyLXBvcG92ZXIgLm1qci1maWx0ZXItZ3JvdXAtYm9keSB7CiAgICBwYWRkaW5nLXRvcDogNHB4Owp9CgoubWpyLWZpbHRlci1wb3BvdmVyIC5tanItZmlsdGVyLWNhcmQgewogICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1ib3JkZXIpIDg4JSwgdHJhbnNwYXJlbnQpOwogICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgMTgwZGVnLAogICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA4NiUsIHRyYW5zcGFyZW50KSwKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMSkgODglLCB0cmFuc3BhcmVudCkKICAgICk7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7Cn0KCi5tanItZmlsdGVyLXBvcG92ZXIgLm1qci1maWx0ZXItY2FyZDpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDA7Cn0KCi5tanItZmlsdGVyLXBvcG92ZXIgLm1qci1maWx0ZXItY2FyZC0tYWdlbmRhIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgKICAgICAgICAxODBkZWcsCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsICNmMGI4NGYgOSUsIHZhcigtLW1qci1zdXJmYWNlLTIpKSwKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMSkgOTIlLCB0cmFuc3BhcmVudCkKICAgICk7Cn0KCi5tanItZmlsdGVyLXBvcG92ZXIgLm1qci1maWx0ZXItZ3JvdXA6bm90KC5pcy1vcGVuKSB7CiAgICBwYWRkaW5nLWJvdHRvbTogOHB4Owp9CgoubWpyLWZpbHRlci1wb3BvdmVyIC5tanItZmlsdGVyLWdyb3VwOm5vdCguaXMtb3BlbikgLm1qci1maWx0ZXItZ3JvdXAtdG9nZ2xlIHsKICAgIG1hcmdpbi1ib3R0b206IDA7Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA0NDBweCkgewogICAgLm1qci1maWx0ZXItcG9wb3ZlciAubWpyLWZpbHRlci1oZWFkIHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgfQoKICAgIC5tanItZmlsdGVyLXBvcG92ZXIgLm1qci1maWx0ZXItaGVhZC1hY3Rpb25zIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICB9Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hbS1oZWFkZXItaWNvbiB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgb3BhY2l0eTogMC45Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYW0taGVhZGVyLXRpdGxlIHsKICAgIG1hcmdpbjogMDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYW0tY29udGVudCB7CiAgICBmbGV4OiAxOwogICAgcGFkZGluZzogMTZweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIG1pbi1oZWlnaHQ6IDA7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1mb2xkZXItYnJlYWRjcnVtYiB7CiAgICAtLW1qci1icmVhZGNydW1iLWFjY2VudDogIzU2YThmZjsKICAgIC0tbWpyLWJyZWFkY3J1bWItY3VycmVudDogIzM1ZDA4YjsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA0cHg7CiAgICBwYWRkaW5nOiAzcHggNnB4OwogICAgbWFyZ2luOiAxcHggMCAzcHg7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBvcGFjaXR5OiAwLjc4OwogICAgb3ZlcmZsb3c6IGF1dG87CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1icmVhZGNydW1iLWFjY2VudCkgMjIlLCB0cmFuc3BhcmVudCk7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJyZWFkY3J1bWItYWNjZW50KSA5JSwgdHJhbnNwYXJlbnQpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZm9sZGVyLWJyZWFkY3J1bWIuaXMtdmlzaWJsZSB7CiAgICBkaXNwbGF5OiBmbGV4Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZm9sZGVyLWJyZWFkY3J1bWItYWN0aW9uIHsKICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJyZWFkY3J1bWItYWNjZW50KSA0MiUsIHRyYW5zcGFyZW50KTsKICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYnJlYWRjcnVtYi1hY2NlbnQpIDE2JSwgdHJhbnNwYXJlbnQpOwogICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYnJlYWRjcnVtYi1hY2NlbnQpIDc4JSwgI2ZmZmZmZik7CiAgICBmb250OiBpbmhlcml0OwogICAgY3Vyc29yOiBwb2ludGVyOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZm9sZGVyLWJyZWFkY3J1bWItYWN0aW9uOmRpc2FibGVkIHsKICAgIGN1cnNvcjogZGVmYXVsdDsKICAgIG9wYWNpdHk6IDAuNTg7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1mb2xkZXItYnJlYWRjcnVtYi1hY3Rpb246bm90KDpkaXNhYmxlZCk6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJyZWFkY3J1bWItYWNjZW50KSA2MiUsIHRyYW5zcGFyZW50KTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYnJlYWRjcnVtYi1hY2NlbnQpIDI0JSwgdHJhbnNwYXJlbnQpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZm9sZGVyLWJyZWFkY3J1bWItc2VnbWVudCB7CiAgICBtYXgtd2lkdGg6IDIyMHB4OwogICAgbWluLXdpZHRoOiAwOwogICAgcGFkZGluZzogMXB4IDVweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1icmVhZGNydW1iLWFjY2VudCkgOCUsIHRyYW5zcGFyZW50KTsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJyZWFkY3J1bWItYWNjZW50KSA3NiUsICNmZmZmZmYpOwogICAgZm9udDogaW5oZXJpdDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWZvbGRlci1icmVhZGNydW1iLXNlZ21lbnQ6bm90KDpkaXNhYmxlZCk6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJyZWFkY3J1bWItYWNjZW50KSAzOCUsIHRyYW5zcGFyZW50KTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYnJlYWRjcnVtYi1hY2NlbnQpIDE2JSwgdHJhbnNwYXJlbnQpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZm9sZGVyLWJyZWFkY3J1bWItc2VnbWVudC5pcy1jdXJyZW50LAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZm9sZGVyLWJyZWFkY3J1bWItc2VnbWVudDpkaXNhYmxlZCB7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYnJlYWRjcnVtYi1jdXJyZW50KSAzOCUsIHRyYW5zcGFyZW50KTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYnJlYWRjcnVtYi1jdXJyZW50KSAxNCUsIHRyYW5zcGFyZW50KTsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJyZWFkY3J1bWItY3VycmVudCkgNzQlLCAjZmZmZmZmKTsKICAgIGN1cnNvcjogZGVmYXVsdDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWZvbGRlci1icmVhZGNydW1iLXNlcGFyYXRvciB7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1icmVhZGNydW1iLWFjY2VudCkgNTglLCB2YXIoLS1tanItbXV0ZWQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42MikpKTsKICAgIG9wYWNpdHk6IDAuOTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLW1lZGlhLXNob3J0Y3V0cyB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDRweDsKICAgIGZsZXgtd3JhcDogd3JhcDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLW1lZGlhLXNob3J0Y3V0LWJ0biB7CiAgICB3aWR0aDogMjRweDsKICAgIGhlaWdodDogMjRweDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLW1lZGlhLXNob3J0Y3V0LWJ0biAucGkgewogICAgZm9udC1zaXplOiAxMXB4Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYW0tZHVwLWFsZXJ0IHsKICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IsICM1NTUpOwogICAgYmFja2dyb3VuZDogdmFyKC0tY29tZnktbWVudS1iZywgIzIyMik7CiAgICBjb2xvcjogdmFyKC0taW5wdXQtdGV4dCwgI2VlZSk7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGN1cnNvcjogcG9pbnRlcjsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFtLWJyb3dzZSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICBmbGV4OiAxOwogICAgbWluLWhlaWdodDogMDsKICAgIG1pbi13aWR0aDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1ib3JkZXIpIDc1JSwgdHJhbnNwYXJlbnQpOwogICAgcGFkZGluZy10b3A6IDRweDsKfQoKLyogU2Nyb2xsYmFycyAobWF0Y2ggQ29tZnlVSSBmZWVsKSAqLwoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYW0tZ3JpZC1zY3JvbGwgewogICAgZmxleDogMSAxIGF1dG87CiAgICBtaW4td2lkdGg6IDA7CiAgICBtaW4taGVpZ2h0OiAwOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb3ZlcmZsb3c6IGF1dG87CiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwogICAgdG91Y2gtYWN0aW9uOiBwYW4teTsKICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjsKICAgIHNjcm9sbGJhci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1ib3JkZXIpIDg1JSwgdmFyKC0tY29udGVudC1mZywgI2RkZCkpIHRyYW5zcGFyZW50Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYW0tZ3JpZC1zY3JvbGw6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgIHdpZHRoOiAxMHB4OwogICAgaGVpZ2h0OiAxMHB4Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYW0tZ3JpZC1zY3JvbGw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYW0tZ3JpZC1zY3JvbGw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA1NSUsIHZhcigtLWNvbnRlbnQtZmcsICNkZGQpKTsKICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYW0tZ3JpZC1zY3JvbGw6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA3MCUsIHZhcigtLWNvbnRlbnQtZmcsICNkZGQpKTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFtLWdyaWQtc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIgewogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hbS1jdXN0b20tY29udHJvbHMgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBmbGV4OiAxOwogICAgbWluLXdpZHRoOiAwOwogICAgZ2FwOiA4cHg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFtLXNlYXJjaCB7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMTBweDsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFtLXNlYXJjaCB7CiAgICBwYWRkaW5nLWJvdHRvbTogNnB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIpOwogICAgbWFyZ2luLWJvdHRvbTogNnB4Owp9CgovKiBDYXJkIE1ldGFkYXRhIENvbG9ycyAqLwoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItbWV0YS1kdXJhdGlvbiB7CiAgICBjb2xvcjogI2ZmYTcyNjsgLyogT3JhbmdlIGZvciBkdXJhdGlvbiAqLwogICAgZm9udC13ZWlnaHQ6IDUwMDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLW1ldGEtcmVzIHsKICAgIGNvbG9yOiAjNGZjM2Y3OyAvKiBMaWdodCBCbHVlIGZvciByZXNvbHV0aW9uICovCiAgICBmb250LXdlaWdodDogNTAwOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItbWV0YS1kYXRlIHsKICAgIGNvbG9yOiAjYjlmNmNhOyAvKiBQYWxlIEdyZWVuIGZvciBkYXRlICovCiAgICBmb250LXNpemU6IDAuOWVtOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLW1ldGEtdGltZSB7CiAgICBjb2xvcjogdmFyKC0tbWpyLW11dGVkLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpKTsKICAgIGZvbnQtc2l6ZTogMC45ZW07Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hbS1zdW1tYXJ5IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZ2FwOiAxMHB4OwogICAgbWFyZ2luOiAwIDAgNnB4IDA7CiAgICBwYWRkaW5nOiAwIDAgNHB4IDA7CiAgICBtaW4taGVpZ2h0OiAxNnB4OwogICAgZm9udC1zaXplOiAxMXB4OwogICAgY29sb3I6IHZhcigtLW1qci1tdXRlZCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KSk7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1ib3JkZXIpIDY1JSwgdHJhbnNwYXJlbnQpOwogICAgZmxleDogMCAwIGF1dG87Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hbS1zdW1tYXJ5LXRleHQgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFtLXN1bW1hcnktcmlnaHQgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA2cHg7CiAgICBtaW4td2lkdGg6IDA7CiAgICBmbGV4LXdyYXA6IHdyYXA7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hbS1jb250ZXh0LXBpbGxzIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogNXB4OwogICAgcm93LWdhcDogNHB4OwogICAgZmxleC13cmFwOiB3cmFwOwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWNvbnRleHQtcGlsbCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDZweDsKICAgIHBhZGRpbmc6IDNweCA3cHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSA1NSUsIHZhcigtLW1qci1ib3JkZXIpKTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA1NSUsIHZhcigtLW1qci1hY2NlbnQpIDEwJSk7CiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDE4JSwgdHJhbnNwYXJlbnQpOwogICAgY29sb3I6IHZhcigtLWNvbnRlbnQtZmcsICNkZGQpOwogICAgZm9udC1zaXplOiAxMC41cHg7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIG1pbi1oZWlnaHQ6IDIycHg7CiAgICBtYXgtd2lkdGg6IDIyMHB4Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY29udGV4dC1waWxsOmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDc1JSwgdmFyKC0tbWpyLWJvcmRlcikpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIpIDUwJSwgdmFyKC0tbWpyLWFjY2VudCkgMTQlKTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWNvbnRleHQtcGlsbC10ZXh0IHsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBvcGFjaXR5OiAwLjkyOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY29udGV4dC1waWxsLXggewogICAgd2lkdGg6IDIwcHg7CiAgICBoZWlnaHQ6IDIwcHg7CiAgICBwYWRkaW5nOiAwOwogICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1ib3JkZXIpIDc1JSwgdHJhbnNwYXJlbnQpOwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGNvbG9yOiB2YXIoLS1tanItbXV0ZWQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSkpOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgdHJhbnNpdGlvbjoKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsCiAgICAgICAgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2U7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jb250ZXh0LXBpbGwteDpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSA1NSUsIHZhcigtLW1qci1ib3JkZXIpKTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA3MCUsIHZhcigtLW1qci1hY2NlbnQpIDEwJSk7CiAgICBjb2xvcjogdmFyKC0tY29udGVudC1mZywgI2ZmZik7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hbS1zZWFyY2gtcGlsbCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMTBweDsKICAgIGhlaWdodDogMS43NXJlbTsKICAgIHBhZGRpbmc6IDAgMTBweDsKICAgIHdpZHRoOiAxMDAlOwogICAgbWF4LXdpZHRoOiBub25lOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnLCAwLjVyZW0pOwogICAgYmFja2dyb3VuZDogdmFyKC0tY29tZnktaW5wdXQtYmcsIHJnYmEoMCwgMCwgMCwgMC4yNSkpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlcik7CiAgICBmbGV4OiAxIDEgYXV0bzsKICAgIG1pbi13aWR0aDogMDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFtLXNlYXJjaC10b29scyB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDhweDsKICAgIGZsZXg6IDAgMCBhdXRvOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItcG9wb3Zlci1hbmNob3IgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwp9CgoubWpyLWFnZW5kYS1pbnB1dCB7CiAgICBkaXNwbGF5OiBub25lOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlcik7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb21meS1pbnB1dC1iZywgcmdiYSgwLCAwLCAwLCAwLjI1KSk7CiAgICBjb2xvcjogdmFyKC0taW5wdXQtdGV4dCwgI2RkZCk7CiAgICB0cmFuc2l0aW9uOgogICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLAogICAgICAgIGNvbG9yIDAuMnMgZWFzZSwKICAgICAgICBib3JkZXItY29sb3IgMC4ycyBlYXNlOwp9Ci5tanItYWdlbmRhLWlucHV0Lm1qci1hZ2VuZGEtZmlsbGVkIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peCgKICAgICAgICBpbiBzcmdiLAogICAgICAgIHZhcigtLW1qci1hY2NlbnQsIHZhcigtLWNvbWZ5LWFjY2VudCwgIzVmYjNmZikpIDQwJSwKICAgICAgICB2YXIoLS1tanItc3VyZmFjZS0yKSA2MCUKICAgICk7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peCgKICAgICAgICBpbiBzcmdiLAogICAgICAgIHZhcigtLW1qci1hY2NlbnQsIHZhcigtLWNvbWZ5LWFjY2VudCwgIzVmYjNmZikpIDgwJSwKICAgICAgICB2YXIoLS1tanItYm9yZGVyKQogICAgKTsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCAjZmZmKTsKfQoubWpyLWFnZW5kYS1pbnB1dC5tanItYWdlbmRhLWVtcHR5IHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA4NSUsIHRyYW5zcGFyZW50IDE1JSk7CiAgICBib3JkZXItY29sb3I6IHZhcigtLW1qci1ib3JkZXIpOwogICAgY29sb3I6IHZhcigtLW1qci1tdXRlZCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KSk7Cn0KCi5tanItYWdlbmRhLWNvbnRhaW5lciB7CiAgICB3aWR0aDogMTAwJTsKfQoKLm1qci1hZ2VuZGEtY2FsZW5kYXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDhweDsKICAgIHdpZHRoOiAxMDAlOwogICAgbWluLXdpZHRoOiAwOwp9CgoubWpyLWFnZW5kYS1oZWFkZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDhweDsKfQoKLm1qci1hZ2VuZGEtbW9udGggewogICAgZmxleDogMTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBjb2xvcjogdmFyKC0tY29udGVudC1mZywgI2RkZCk7CiAgICB1c2VyLXNlbGVjdDogbm9uZTsKfQoKLm1qci1hZ2VuZGEtbmF2IHsKICAgIHdpZHRoOiAzMnB4OwogICAgaGVpZ2h0OiAyOHB4OwogICAgcGFkZGluZzogMDsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7Cn0KCi5tanItYWdlbmRhLWdyaWQgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIG1pbm1heCgwLCAxZnIpKTsKICAgIGdhcDogNnB4OwogICAgd2lkdGg6IDEwMCU7Cn0KCi5tanItYWdlbmRhLXdlZWtkYXkgewogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgY29sb3I6IHZhcigtLW1qci1tdXRlZCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KSk7CiAgICB1c2VyLXNlbGVjdDogbm9uZTsKfQoKLm1qci1hZ2VuZGEtZGF5IHsKICAgIGhlaWdodDogMzBweDsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tanItYm9yZGVyKTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA1NSUsIHRyYW5zcGFyZW50KTsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCAjZGRkKTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgcGFkZGluZzogMDsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdHJhbnNpdGlvbjoKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsCiAgICAgICAgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2UsCiAgICAgICAgdHJhbnNmb3JtIDgwbXMgZWFzZTsKfQoKLm1qci1hZ2VuZGEtZGF5LWJhZGdlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogLTVweDsKICAgIHJpZ2h0OiAtNXB4OwogICAgbWluLXdpZHRoOiAxNnB4OwogICAgaGVpZ2h0OiAxNnB4OwogICAgcGFkZGluZzogMCA0cHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGJhY2tncm91bmQ6ICNlNTM5MzU7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCAjZTUzOTM1IDY1JSwgI2ZmZmZmZiAzNSUpOwogICAgZm9udC1zaXplOiAxMHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxNHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Owp9CgoubWpyLWFnZW5kYS1kYXk6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoCiAgICAgICAgaW4gc3JnYiwKICAgICAgICB2YXIoLS1tanItYm9yZGVyKSA1NSUsCiAgICAgICAgdmFyKC0tbWpyLWFjY2VudCwgdmFyKC0tY29tZnktYWNjZW50LCAjNWZiM2ZmKSkgNDUlCiAgICApOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KAogICAgICAgIGluIHNyZ2IsCiAgICAgICAgdmFyKC0tbWpyLXN1cmZhY2UtMikgNDUlLAogICAgICAgIHZhcigtLW1qci1hY2NlbnQsIHZhcigtLWNvbWZ5LWFjY2VudCwgIzVmYjNmZikpIDEwJQogICAgKTsKfQoKLm1qci1hZ2VuZGEtZGF5OmFjdGl2ZSB7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsKfQoKLm1qci1hZ2VuZGEtZGF5LS1ibGFuayB7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLm1qci1hZ2VuZGEtZGF5LS1oYXMtYXNzZXRzIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KAogICAgICAgIGluIHNyZ2IsCiAgICAgICAgdmFyKC0tbWpyLWFjY2VudCwgdmFyKC0tY29tZnktYWNjZW50LCAjNWZiM2ZmKSkgODAlLAogICAgICAgIHZhcigtLW1qci1ib3JkZXIpCiAgICApOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KAogICAgICAgIGluIHNyZ2IsCiAgICAgICAgdmFyKC0tbWpyLWFjY2VudCwgdmFyKC0tY29tZnktYWNjZW50LCAjNWZiM2ZmKSkgMTglLAogICAgICAgIHZhcigtLW1qci1zdXJmYWNlLTIpIDgyJQogICAgKTsKfQoKLm1qci1hZ2VuZGEtZGF5LS1zZWxlY3RlZCB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLW1qci1hY2NlbnQsIHZhcigtLWNvbWZ5LWFjY2VudCwgIzVmYjNmZikpOwogICAgYm94LXNoYWRvdzogMCAwIDAgMXB4CiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQsIHZhcigtLWNvbWZ5LWFjY2VudCwgIzVmYjNmZikpIDU1JSwgdHJhbnNwYXJlbnQpOwp9CgoubWpyLWFnZW5kYS1mb290ZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogOHB4OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9CgoubWpyLWFnZW5kYS1jbGVhciwKLm1qci1hZ2VuZGEtcmVmcmVzaCB7CiAgICBmbGV4OiAxOwp9CgoubWpyLW1lbnUsCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1tZW51IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiA0cHg7Cn0KCi5tanItcHJpbWUtbWVudS1saXN0LAoubWpyLXNvcnQtbWVudSBbZGF0YS1wYy1zZWN0aW9uPSJsaXN0Il0gewogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDA7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ2FwOiA2cHg7Cn0KCi5tanItcHJpbWUtbWVudSBbZGF0YS1wYy1zZWN0aW9uPSJpdGVtIl0sCi5tanItcHJpbWUtbWVudS1saXN0IFtkYXRhLXBjLXNlY3Rpb249Iml0ZW0iXSB7CiAgICBsaXN0LXN0eWxlOiBub25lOwp9CgoubWpyLXByaW1lLW1lbnUgW2RhdGEtcGMtc2VjdGlvbj0iaXRlbWNvbnRlbnQiXSB7CiAgICB3aWR0aDogMTAwJTsKfQoKLm1qci1tZW51LWl0ZW0sCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1tZW51LWl0ZW0gewogICAgYXBwZWFyYW5jZTogbm9uZTsKICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZ2FwOiAxMHB4OwogICAgd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgY29sb3I6IHZhcigtLWNvbnRlbnQtZmcsICNkZGQpOwogICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdHJhbnNpdGlvbjoKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsCiAgICAgICAgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2UsCiAgICAgICAgdHJhbnNmb3JtIDgwbXMgZWFzZTsKfQoKLm1qci1tZW51LWl0ZW06aG92ZXIsCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1tZW51LWl0ZW06aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgODAlLCB0cmFuc3BhcmVudCk7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgNTUlLCB0cmFuc3BhcmVudCk7Cn0KCi5tanItbWVudS1pdGVtOmFjdGl2ZSwKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLW1lbnUtaXRlbTphY3RpdmUgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7Cn0KCi5tanItbWVudS1pdGVtLWxhYmVsLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItbWVudS1pdGVtLWxhYmVsIHsKICAgIGZsZXg6IDEgMSBhdXRvOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIG1pbi13aWR0aDogMDsKfQoKLm1qci1tZW51LWl0ZW0tY2hlY2ssCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1tZW51LWl0ZW0tY2hlY2sgewogICAgZm9udC1zaXplOiAxMnB4OwogICAgd2lkdGg6IDE2cHg7CiAgICBmbGV4OiAwIDAgMTZweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG9wYWNpdHk6IDA7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDcyJSwgdmFyKC0tY29udGVudC1mZykpOwogICAgdHJhbnNpdGlvbjoKICAgICAgICBvcGFjaXR5IDEyMG1zIGVhc2UsCiAgICAgICAgY29sb3IgMTIwbXMgZWFzZTsKfQoKLm1qci1tZW51LWl0ZW0gLnBpLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItbWVudS1pdGVtIC5waSB7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBvcGFjaXR5OiAwLjk7Cn0KCi5tanItY29sbGVjdGlvbnMtbWVudSB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ2FwOiA2cHg7Cn0KCi5tanItbWVudS1pdGVtLWxhYmVsLS1pY29uIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgZmxleDogMSAxIGF1dG87CiAgICBtaW4td2lkdGg6IDA7Cn0KCi5tanItbWVudS1pdGVtLWxhYmVsLS1pY29uIC5waSB7CiAgICB3aWR0aDogMTZweDsKICAgIGZsZXg6IDAgMCAxNnB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgoubWpyLW1lbnUtaXRlbS1yaWdodCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDEwcHg7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIG1pbi13aWR0aDogMTZweDsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKfQoKLm1qci1tZW51LWl0ZW0taGludCB7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbnRlbnQtZmcpIDYyJSwgdmFyKC0tbWpyLW11dGVkKSk7CiAgICBvcGFjaXR5OiAwLjcyOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLm1qci1tZW51LWl0ZW0tY2hlY2stLXZpc2libGUsCi5tanItbWVudS1pdGVtLmlzLWFjdGl2ZSAubWpyLW1lbnUtaXRlbS1jaGVjayB7CiAgICBvcGFjaXR5OiAxOwp9CgoubWpyLW1lbnUtZGl2aWRlciB7CiAgICBoZWlnaHQ6IDFweDsKICAgIG1hcmdpbjogNHB4IDA7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgODAlLCB0cmFuc3BhcmVudCk7Cn0KCi5tanItbXV0ZWQgewogICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgb3BhY2l0eTogMC43NTsKfQoKLm1qci1zdGF0ZS1ibG9jayB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBsaW5lLWhlaWdodDogMS4zNTsKICAgIGNvbG9yOiB2YXIoLS1tanItbXV0ZWQpOwogICAgYm9yZGVyOiAxcHggZGFzaGVkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYm9yZGVyKSA4NSUsIHRyYW5zcGFyZW50KTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLW1qci1yLXNtKTsKICAgIHBhZGRpbmc6IDhweCAxMHB4OwogICAgbWFyZ2luOiA0cHggMDsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0xKSA3MCUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1zdGF0ZS1ibG9jay5pcy1lcnJvciwKLm1qci1jb250ZXh0LW1lbnUtbm90ZS5pcy1lcnJvciB7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdGF0dXMtZXJyb3IpIDgyJSwgdmFyKC0tY29udGVudC1mZykpOwogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN0YXR1cy1lcnJvcikgNDUlLCB2YXIoLS1tanItYm9yZGVyKSk7Cn0KCi5tanItY29sbGVjdGlvbi1yb3cgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgd2lkdGg6IDEwMCU7CiAgICBtaW4taGVpZ2h0OiA0OHB4Owp9CgoubWpyLWNvbGxlY3Rpb25zLXZpcnR1YWwtbGlzdCB7CiAgICB3aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBhdXRvOwogICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwp9CgoubWpyLWRlbGV0ZS1idG4gewogICAgd2lkdGg6IDQycHg7CiAgICBmbGV4OiAwIDAgNDJweDsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgcGFkZGluZzogMDsKICAgIG1hcmdpbi1sZWZ0OiA2cHg7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYm9yZGVyKSA2NSUsIHZhcigtLW1qci1zdGF0dXMtZXJyb3IpIDQ1JSk7Cn0KCi5tanItZGVsZXRlLWJ0bjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYm9yZGVyKSA0MCUsIHZhcigtLW1qci1zdGF0dXMtZXJyb3IpIDY1JSk7Cn0KCi5tanItZGVsZXRlLWJ0biAucGkgewogICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3RhdHVzLWVycm9yKSA3OCUsIHZhcigtLWNvbnRlbnQtZmcpKTsKfQoKLm1qci1zZWN0aW9uLXRpdGxlIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA2cHg7CiAgICBwYWRkaW5nOiA2cHggMTBweCAycHg7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4OwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIG9wYWNpdHk6IDAuODg7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbnRlbnQtZmcpIDcyJSwgdmFyKC0tbWpyLW11dGVkKSk7Cn0KCi5tanItc2VjdGlvbi10aXRsZS0tY3lhbiB7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICM2ZmQ0ZmYgNzglLCB2YXIoLS1jb250ZW50LWZnKSk7Cn0KCi5tanItc2VjdGlvbi10aXRsZS0tdmlvbGV0IHsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2M0OGRmZiA3OCUsIHZhcigtLWNvbnRlbnQtZmcpKTsKfQoKLm1qci1zZWN0aW9uLWhpbnQgewogICAgcGFkZGluZzogMCAxMHB4IDRweDsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbnRlbnQtZmcpIDU1JSwgdmFyKC0tbWpyLW11dGVkKSk7Cn0KCi5tanItbWVudS1pdGVtLS1zbWFydCwKLm1qci1tZW51LWl0ZW0tLWNsdXN0ZXIgewogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CgoubWpyLW1lbnUtaXRlbS0tY2x1c3RlciB7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnKTsKfQoKLm1qci1tZW51LWl0ZW0tLXNtYXJ0IC5waSB7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICM2ZmQ0ZmYgNzQlLCB2YXIoLS1jb250ZW50LWZnKSk7Cn0KCi5tanItbWVudS1pdGVtLS1jbHVzdGVyIC5waSB7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNjNDhkZmYgNzQlLCB2YXIoLS1jb250ZW50LWZnKSk7Cn0KCi5tanItbWVudS1pdGVtLS1zbWFydDpob3Zlcjpub3QoOmRpc2FibGVkKSwKLm1qci1tZW51LWl0ZW0tLWNsdXN0ZXI6aG92ZXI6bm90KDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgODAlLCB0cmFuc3BhcmVudCk7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgNTUlLCB0cmFuc3BhcmVudCk7Cn0KCi5tanItY2x1c3Rlci1yb3cgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDhweDsKICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgIHBhZGRpbmc6IDZweCA4cHg7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1tanItci1zbSk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tanItYm9yZGVyKTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0xKSA3MCUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1jbHVzdGVyLXRodW1icyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZ2FwOiAzcHg7CiAgICBmbGV4LXNocmluazogMDsKfQoKLm1qci1jbHVzdGVyLXRodW1iIHsKICAgIHdpZHRoOiAyOHB4OwogICAgaGVpZ2h0OiAyOHB4OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICBvcGFjaXR5OiAwLjg1OwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIpIDYwJSwgdHJhbnNwYXJlbnQpOwp9CgoubWpyLWNsdXN0ZXItaW5mbyB7CiAgICBmbGV4OiAxOwogICAgbWluLXdpZHRoOiAwOwp9CgoubWpyLWNsdXN0ZXItbmFtZSB7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnKTsKfQoKLm1qci1jbHVzdGVyLWNvdW50IHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29udGVudC1mZykgNTglLCB2YXIoLS1tanItbXV0ZWQpKTsKfQoKLm1qci1jbHVzdGVyLWNyZWF0ZS1idG4gewogICAgZmxleC1zaHJpbms6IDA7CiAgICBwYWRkaW5nOiAzcHggOHB4OwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlcik7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgNTUlLCB0cmFuc3BhcmVudCk7CiAgICBjb2xvcjogdmFyKC0tY29udGVudC1mZyk7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdHJhbnNpdGlvbjoKICAgICAgICBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwKICAgICAgICBiYWNrZ3JvdW5kIDEyMG1zIGVhc2UsCiAgICAgICAgb3BhY2l0eSAxMjBtcyBlYXNlOwp9CgoubWpyLWNsdXN0ZXItY3JlYXRlLWJ0bjpkaXNhYmxlZCB7CiAgICBvcGFjaXR5OiAwLjYyOwogICAgY3Vyc29yOiBkZWZhdWx0Owp9CgoubWpyLWNsdXN0ZXItY3JlYXRlLWJ0bjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYm9yZGVyKSA4MCUsIHRyYW5zcGFyZW50KTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA2MiUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFtLXNlYXJjaC1pY29uIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgY29sb3I6IHZhcigtLW1qci1tdXRlZCk7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hbS1zZWFyY2gtaWNvbiAucGkgewogICAgZm9udC1zaXplOiAxMnB4OwogICAgbGluZS1oZWlnaHQ6IDE7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hbS1zZWFyY2gtcGlsbCAubWpyLWlucHV0IHsKICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50OwogICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYW0tc2VhcmNoLXBpbGw6Zm9jdXMtd2l0aGluIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDY1JSwgdmFyKC0tbWpyLWJvcmRlcikpOwogICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSAxOCUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFtLWJyb3dzZSB7CiAgICBtYXJnaW4tdG9wOiAwOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYW0tZ3JpZC1zY3JvbGwgewogICAgcGFkZGluZy1yaWdodDogNHB4OwogICAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlOwp9CgovKiBHcmlkIGxheW91dCAqLwoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgLyogQXZvaWQgb3ZlcmZsb3cgd2hlbiB0aGUgcGFuZWwgYmVjb21lcyBuYXJyb3dlciB0aGFuIHRoZSBtaW4gY2FyZCBzaXplICovCiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgKICAgICAgICBhdXRvLWZpbGwsCiAgICAgICAgbWlubWF4KG1pbigxMDAlLCB2YXIoLS1tanItZ3JpZC1taW4tc2l6ZSwgMTgwcHgpKSwgMWZyKQogICAgKTsKICAgIGdhcDogdmFyKC0tbWpyLWdyaWQtZ2FwLCAxMHB4KTsKICAgIG1hcmdpbi10b3A6IDZweDsKICAgIG1pbi1oZWlnaHQ6IDA7Cn0KCi8qIENhcmQgc2VsZWN0aW9uICsgZm9jdXMgKGtlZXBzIGEgdmlzaWJsZSBpbmRpY2F0b3Igd2hlbiBzaWRlYmFyIGlzIG9wZW4pICovCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkIHsKICAgIG91dGxpbmU6IG5vbmU7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkLmlzLXNlbGVjdGVkIHsKICAgIGJveC1zaGFkb3c6CiAgICAgICAgMCAwIDAgM3B4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItY2FyZC1zZWxlY3Rpb24tY29sb3IpIDgwJSwgdmFyKC0tY29udGVudC1mZykpLAogICAgICAgIDAgMCAwIDZweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWNhcmQtc2VsZWN0aW9uLWNvbG9yKSAzMCUsIHRyYW5zcGFyZW50KSwKICAgICAgICAwIDAgMjBweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWNhcmQtc2VsZWN0aW9uLWNvbG9yKSA0MCUsIHRyYW5zcGFyZW50KSwKICAgICAgICAwIDEwcHggMjhweCByZ2JhKDAsIDAsIDAsIDAuMjgpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbWpyLXItbGcpOwogICAgLyogc2NhbGUoMC45NykgaW5zdGVhZCBvZiAwLjkyOiBzdWJ0bGUgaW5zZXQgZmVlbCB3aXRob3V0IHRoZSBhZ2dyZXNzaXZlCiAgICAgICBzaHJpbmsgdGhhdCBjYXVzZWQgYSB2aXNpYmxlIGJsaW5rIG9uIHJhcGlkIHNlbGVjdGlvbiBjaGFuZ2VzLiAqLwogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KSAhaW1wb3J0YW50OwogICAgei1pbmRleDogMTA7CiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tbWpyLWNhcmQtc2VsZWN0aW9uLWNvbG9yKTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmQ6Zm9jdXMtdmlzaWJsZSB7CiAgICBib3gtc2hhZG93OgogICAgICAgIDAgMCAwIDNweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgODAlLCB2YXIoLS1jb250ZW50LWZnKSksCiAgICAgICAgMCAwIDAgNnB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSAzMCUsIHRyYW5zcGFyZW50KSwKICAgICAgICAwIDAgMjBweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNDAlLCB0cmFuc3BhcmVudCksCiAgICAgICAgMCAxMHB4IDI4cHggcmdiYSgwLCAwLCAwLCAwLjI4KTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLW1qci1yLWxnKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NykgIWltcG9ydGFudDsKICAgIHotaW5kZXg6IDEwOwp9CgpAa2V5ZnJhbWVzIG1qci1saXZlLXBsYWNlaG9sZGVyLXNoZWVuIHsKICAgIDAlIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTU4JSk7CiAgICAgICAgb3BhY2l0eTogMC4xODsKICAgIH0KICAgIDUwJSB7CiAgICAgICAgb3BhY2l0eTogMC4zNDsKICAgIH0KICAgIDEwMCUgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1OCUpOwogICAgICAgIG9wYWNpdHk6IDAuMTg7CiAgICB9Cn0KCkBrZXlmcmFtZXMgbWpyLWxpdmUtcGxhY2Vob2xkZXItcHVsc2UgewogICAgMCUsCiAgICAxMDAlIHsKICAgICAgICBib3gtc2hhZG93OgogICAgICAgICAgICAwIDAgMCAxcHggcmdiYSgxMTgsIDIxNCwgMjU1LCAwLjM0KSwKICAgICAgICAgICAgMCAxMHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjI0KTsKICAgIH0KICAgIDUwJSB7CiAgICAgICAgYm94LXNoYWRvdzoKICAgICAgICAgICAgMCAwIDAgMXB4IHJnYmEoMTE4LCAyMTQsIDI1NSwgMC41MiksCiAgICAgICAgICAgIDAgMCAwIDRweCByZ2JhKDExOCwgMjE0LCAyNTUsIDAuMTIpLAogICAgICAgICAgICAwIDEycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMjgpOwogICAgfQp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1saXZlLXBsYWNlaG9sZGVyPSJ0cnVlIl0gewogICAgYW5pbWF0aW9uOiBtanItbGl2ZS1wbGFjZWhvbGRlci1wdWxzZSAxLjlzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1saXZlLXBsYWNlaG9sZGVyPSJ0cnVlIl0gLm1qci10aHVtYiB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItbGl2ZS1wbGFjZWhvbGRlci13YXNoIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAtOCU7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIHotaW5kZXg6IDE7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgMTE1ZGVnLAogICAgICAgIHJnYmEoOTgsIDE5OSwgMjU1LCAwKSAwJSwKICAgICAgICByZ2JhKDk4LCAxOTksIDI1NSwgMC4wOCkgMzAlLAogICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCkgNTAlLAogICAgICAgIHJnYmEoOTgsIDE5OSwgMjU1LCAwLjEyKSA3MCUsCiAgICAgICAgcmdiYSg5OCwgMTk5LCAyNTUsIDApIDEwMCUKICAgICk7CiAgICBhbmltYXRpb246IG1qci1saXZlLXBsYWNlaG9sZGVyLXNoZWVuIDIuMnMgbGluZWFyIGluZmluaXRlOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItbGl2ZS1waWxsIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNnB4OwogICAgcmlnaHQ6IDZweDsKICAgIHotaW5kZXg6IDEyOwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA2cHg7CiAgICBtaW4taGVpZ2h0OiAyNHB4OwogICAgcGFkZGluZzogMCA4cHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTAsIDE0LCAyMCwgMC43OCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDExOCwgMjE0LCAyNTUsIDAuMzQpOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Nik7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTsKICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMjQpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7CiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWxpdmUtcGlsbC1kb3QgewogICAgd2lkdGg6IDdweDsKICAgIGhlaWdodDogN3B4OwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBiYWNrZ3JvdW5kOiAjNzZkNmZmOwogICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMTE4LCAyMTQsIDI1NSwgMC4xNik7CiAgICBmbGV4OiAwIDAgYXV0bzsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmRbZGF0YS1tanItbGl2ZS1wbGFjZWhvbGRlcj0idHJ1ZSJdIC5tanItYXNzZXQtc3RhdHVzLWRvdCB7CiAgICBhbmltYXRpb246IG1qci1saXZlLXBsYWNlaG9sZGVyLXB1bHNlIDEuOXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KCi8qIEdyaWQgbG9hZGluZyBvdmVybGF5ICovCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1ncmlkLWxvYWRpbmctb3ZlcmxheSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBpbnNldDogMDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgIzAwMCAzNSUsIHRyYW5zcGFyZW50KTsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCAjZmZmKTsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLW1qci1yLWxnKTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1ncmlkLXNrZWxldG9uLWxheW91dCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTMycHgsIDFmcikpOwogICAgZ2FwOiAxMnB4Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZ3JpZC1za2VsZXRvbi1jYXJkIHsKICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpOwogICAgYmFja2dyb3VuZDogcmdiYSgxOTIsIDE5OCwgMjA2LCAwLjIpOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIC8qIG1pbi1oZWlnaHQgcmVtb3ZlZDogVnVlIHNrZWxldG9uQ2FyZFN0eWxlIHNldHMgYW4gZXhwbGljaXQgaGVpZ2h0IGRlcml2ZWQKICAgICAgIGZyb20gZXN0aW1hdGVSb3dIZWlnaHQuIEEgY29uZmxpY3RpbmcgbWluLWhlaWdodCBjYXVzZWQgc2tlbGV0b24gY2FyZHMgdG8KICAgICAgIGJlIHRhbGxlciB0aGFuIHRoZSBhY3R1YWwgY2FyZHMgdGhleSByZXBsYWNlLCBjYXVzaW5nIGEgbGF5b3V0IGp1bXAgd2hlbgogICAgICAgYXNzZXRzIGZpcnN0IGxvYWQuICovCiAgICBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1ncmlkLXNrZWxldG9uLXRodW1iIHsKICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7CiAgICB3aWR0aDogMTAwJTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgKICAgICAgICA5MGRlZywKICAgICAgICByZ2JhKDE1NiwgMTYyLCAxNzEsIDAuNTIpIDAlLAogICAgICAgIHJnYmEoMjIwLCAyMjUsIDIzMiwgMC43MikgNDUlLAogICAgICAgIHJnYmEoMTU2LCAxNjIsIDE3MSwgMC41MikgMTAwJQogICAgKTsKICAgIGJhY2tncm91bmQtc2l6ZTogMjQwJSAxMDAlOwogICAgYW5pbWF0aW9uOiBtanItZ3JpZC1za2VsZXRvbi1zaGltbWVyIDEuMnMgbGluZWFyIGluZmluaXRlOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZ3JpZC1za2VsZXRvbi1saW5lIHsKICAgIGhlaWdodDogMTBweDsKICAgIG1hcmdpbjogOHB4IDEwcHg7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgOTBkZWcsCiAgICAgICAgcmdiYSgxNjQsIDE3MCwgMTc5LCAwLjQ4KSAwJSwKICAgICAgICByZ2JhKDIxNCwgMjE5LCAyMjYsIDAuNykgNDUlLAogICAgICAgIHJnYmEoMTY0LCAxNzAsIDE3OSwgMC40OCkgMTAwJQogICAgKTsKICAgIGJhY2tncm91bmQtc2l6ZTogMjQwJSAxMDAlOwogICAgYW5pbWF0aW9uOiBtanItZ3JpZC1za2VsZXRvbi1zaGltbWVyIDEuMnMgbGluZWFyIGluZmluaXRlOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZ3JpZC1za2VsZXRvbi1saW5lLS10aXRsZSB7CiAgICB3aWR0aDogNzIlOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZ3JpZC1za2VsZXRvbi1saW5lLS1tZXRhIHsKICAgIHdpZHRoOiA0OCU7CiAgICBtYXJnaW4tdG9wOiAycHg7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Owp9CgpAa2V5ZnJhbWVzIG1qci1za2VsZXRvbi1zaGltbWVyIHsKICAgIDAlIHsKICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMjAlIDA7CiAgICB9CiAgICAxMDAlIHsKICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwJSAwOwogICAgfQp9CgpAa2V5ZnJhbWVzIG1qci1ncmlkLXNrZWxldG9uLXNoaW1tZXIgewogICAgMCUgewogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDsKICAgIH0KICAgIDEwMCUgewogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDAlIDA7CiAgICB9Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1ncmlkLXNrZWxldG9uLXNoaW1tZXIgewogICAgd2lsbC1jaGFuZ2U6IGJhY2tncm91bmQtcG9zaXRpb247Cn0KCi8qIEdlbmVyaWMgaGVhZGluZ3MgaW5zaWRlIHBhbmVsICovCi5tanItYXNzZXRzLW1hbmFnZXIgaDMsCi5tanItYXNzZXRzLW1hbmFnZXIgaDQgewogICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtOwp9CgovKiBQYW5lbHMgKi8KLm1qci1hc3NldHMtbWFuYWdlciAubWpyLXBhbmVsIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdXJmYWNlLTEpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlcik7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1tanItci1sZyk7CiAgICBib3gtc2hhZG93OiB2YXIoLS1pbnRlcmZhY2UtcGFuZWwtYm94LXNoYWRvdywgMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMjUpKTsKfQoKLyogVG9vbGJhciAqLwoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItdG9vbGJhciB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMTBweDsKICAgIHBhZGRpbmc6IHZhcigtLW1qci1wYWQtbWQpOwp9CgovKiBCdXR0b25zICovCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1idG4gewogICAgYXBwZWFyYW5jZTogbm9uZTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIpOwogICAgYmFja2dyb3VuZDogdmFyKC0tbWpyLXN1cmZhY2UtMik7CiAgICBjb2xvcjogdmFyKC0tY29udGVudC1mZywgI2RkZCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1tanItci1tZCk7CiAgICBwYWRkaW5nOiA3cHggMTBweDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB0cmFuc2l0aW9uOgogICAgICAgIGJhY2tncm91bmQgMTIwbXMgZWFzZSwKICAgICAgICBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwKICAgICAgICB0cmFuc2Zvcm0gODBtcyBlYXNlOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYnRuOmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDU1JSwgdmFyKC0tbWpyLWJvcmRlcikpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIpIDcwJSwgdmFyKC0tbWpyLWFjY2VudCkgMTAlKTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWJ0bjphY3RpdmUgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1idG46ZGlzYWJsZWQgewogICAgb3BhY2l0eTogMC41NTsKICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1idG4ubWpyLXByaW1hcnkgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNjAlLCB2YXIoLS1tanItYm9yZGVyKSk7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgMTQlLCB2YXIoLS1tanItc3VyZmFjZS0yKSk7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1idG4gewogICAgLyogT3ZlcnJpZGUgaW5saW5lIHN0eWxlcyBpZiBwcmVzZW50ICovCiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tanItYm9yZGVyKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdXJmYWNlLTIpOwogICAgY29sb3I6IHZhcigtLWNvbnRlbnQtZmcsICNkZGQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbWpyLXItbWQpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYnRuOmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDU1JSwgdmFyKC0tbWpyLWJvcmRlcikpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIpIDcwJSwgdmFyKC0tbWpyLWFjY2VudCkgMTAlKTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWJ0bi5tanItc3RhdHVzLXNjYW4gewogICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICBwYWRkaW5nOiA0cHggMTBweDsKICAgIGNvbG9yOiB2YXIoLS1tanItc3RhdHVzLWNvbG9yLCB2YXIoLS1jb250ZW50LWZnLCAjZGRkKSk7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3RhdHVzLWNvbG9yKSA2MCUsIHZhcigtLW1qci1ib3JkZXIpKTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3RhdHVzLWNvbG9yKSAxNCUsIHZhcigtLW1qci1zdXJmYWNlLTIpKTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWJ0bi5tanItc3RhdHVzLXNjYW46aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tanItc3RhdHVzLWNvbG9yKTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3RhdHVzLWNvbG9yKSAyNCUsIHZhcigtLW1qci1zdXJmYWNlLTIpKTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWJ0bi5tanItc3RhdHVzLXNjYW46Zm9jdXMtdmlzaWJsZSB7CiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tbWpyLXN0YXR1cy1jb2xvcik7CiAgICBvdXRsaW5lLW9mZnNldDogMnB4Owp9CgovKiBJbnB1dHMgLyBzZWxlY3RzICh1c2VkIGluc2lkZSBwb3J0YWxlZCBwb3BvdmVycyB0b28pICovCi5tanItaW5wdXQsCi5tanItc2VsZWN0LAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItaW5wdXQsCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1zZWxlY3QgewogICAgYXBwZWFyYW5jZTogbm9uZTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIpOwogICAgYmFja2dyb3VuZDogdmFyKC0tY29tZnktaW5wdXQtYmcsIHJnYmEoMCwgMCwgMCwgMC4yNSkpOwogICAgY29sb3I6IHZhcigtLWlucHV0LXRleHQsICNkZGQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbWpyLXItbWQpOwogICAgcGFkZGluZzogOHB4IDEwcHg7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBvdXRsaW5lOiBub25lOwogICAgd2lkdGg6IDEwMCU7CiAgICBtaW4td2lkdGg6IDA7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItbXV0ZWQpIDgwJSwgdHJhbnNwYXJlbnQpOwp9CgoubWpyLWlucHV0OmZvY3VzLAoubWpyLXNlbGVjdDpmb2N1cywKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWlucHV0OmZvY3VzLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItc2VsZWN0OmZvY3VzIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDY1JSwgdmFyKC0tbWpyLWJvcmRlcikpOwogICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSAyMCUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1pbnB1dCwKLm1qci1zZWxlY3QsCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1pbnB1dCwKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLXNlbGVjdCB7CiAgICAvKiBPdmVycmlkZSBpbmxpbmUgc3R5bGVzIGlmIHByZXNlbnQgKi8KICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIpOwogICAgYmFja2dyb3VuZDogdmFyKC0tY29tZnktaW5wdXQtYmcsIHJnYmEoMCwgMCwgMCwgMC4yNSkpOwogICAgY29sb3I6IHZhcigtLWlucHV0LXRleHQsICNkZGQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbWpyLXItbWQpOwogICAgcGFkZGluZzogOHB4IDEwcHg7Cn0KCi5tanItZmlsdGVyLXBvcG92ZXIgLm1qci1maWx0ZXItc2VsZWN0IHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGdhcDogOHB4OwogICAgbWluLWhlaWdodDogMzRweDsKICAgIHBhZGRpbmc6IDAgOXB4OwogICAgbGluZS1oZWlnaHQ6IDEuMjsKfQoKLm1qci1maWx0ZXItcG9wb3ZlciAubWpyLWZpbHRlci1zZWxlY3RbZGF0YS1wLWRpc2FibGVkPSJ0cnVlIl0gewogICAgb3BhY2l0eTogMC41NTsKICAgIGN1cnNvcjogZGVmYXVsdDsKfQoKLm1qci1maWx0ZXItcG9wb3ZlciAubWpyLWZpbHRlci1zZWxlY3QgW2RhdGEtcGMtc2VjdGlvbj0ibGFiZWwiXSB7CiAgICBmbGV4OiAxIDEgYXV0bzsKICAgIG1pbi13aWR0aDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KCi5tanItZmlsdGVyLXBvcG92ZXIgLm1qci1maWx0ZXItc2VsZWN0IFtkYXRhLXBjLXNlY3Rpb249ImRyb3Bkb3duIl0gewogICAgZmxleDogMCAwIGF1dG87CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHdpZHRoOiAxOHB4OwogICAgY29sb3I6IHZhcigtLW1qci1tdXRlZCwgdmFyKC0tZGVzY3JpcC10ZXh0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpKSk7Cn0KCi5tanItZmlsdGVyLXNlbGVjdC1wYW5lbCB7CiAgICBtaW4td2lkdGg6IHZhcigtLXAtc2VsZWN0LW92ZXJsYXktd2lkdGgsIDEycmVtKTsKICAgIG1heC13aWR0aDogbWluKDMyMHB4LCBjYWxjKDEwMHZ3IC0gMzJweCkpOwogICAgbWF4LWhlaWdodDogbWluKDMyMHB4LCBjYWxjKDEwMHZoIC0gMzJweCkpOwogICAgb3ZlcmZsb3c6IGF1dG87CiAgICBwYWRkaW5nOiA0cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tanItYm9yZGVyKTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLW1qci1yLW1kKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdXJmYWNlLTEsIHZhcigtLWNvbWZ5LW1lbnUtYmcsICMyYTJhMmEpKTsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCB2YXIoLS1pbnB1dC10ZXh0LCAjZGRkKSk7CiAgICBib3gtc2hhZG93OiAwIDEycHggMjhweCByZ2JhKDAsIDAsIDAsIDAuMzgpOwogICAgei1pbmRleDogY2FsYyh2YXIoLS1tanItcG9wb3Zlci16LWluZGV4LCAyMTQ3NDgzNjQ3KSArIDEpOwp9CgoubWpyLWZpbHRlci1zZWxlY3QtcGFuZWwgW2RhdGEtcGMtc2VjdGlvbj0ibGlzdCJdIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAycHg7CiAgICBwYWRkaW5nOiAwOwogICAgbWFyZ2luOiAwOwogICAgbGlzdC1zdHlsZTogbm9uZTsKfQoKLm1qci1maWx0ZXItc2VsZWN0LXBhbmVsIFtkYXRhLXBjLXNlY3Rpb249Im9wdGlvbiJdIHsKICAgIG1pbi1oZWlnaHQ6IDI4cHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHBhZGRpbmc6IDZweCA4cHg7CiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLW1qci1yLW1kKSAtIDJweCk7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBsaW5lLWhlaWdodDogMS4yNTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCB2YXIoLS1pbnB1dC10ZXh0LCAjZGRkKSk7Cn0KCi5tanItZmlsdGVyLXNlbGVjdC1wYW5lbCBbZGF0YS1wYy1zZWN0aW9uPSJvcHRpb24iXTpob3ZlciwKLm1qci1maWx0ZXItc2VsZWN0LXBhbmVsIFtkYXRhLXAtaGlnaGxpZ2h0PSJ0cnVlIl0gewogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDE4JSwgdHJhbnNwYXJlbnQpOwogICAgY29sb3I6IHZhcigtLWNvbnRlbnQtZmcsICNmZmYpOwp9CgovKiBUYWJzOiBvdmVycmlkZGVuIGFib3ZlIHdpdGggcXVldWUtbGlrZSBzdHlsZSAqLwoKLyogUmVtb3ZlZCByZWR1bmRhbnQgdGFiIGRlY2xhcmF0aW9ucyB0aGF0IHdlcmUgdXNpbmcgIWltcG9ydGFudCAqLwoKLyogTXV0ZWQgdGV4dCBoZWxwZXIgKi8KLm1qci1hc3NldHMtbWFuYWdlciAubWpyLW11dGVkIHsKICAgIGNvbG9yOiB2YXIoLS1tanItbXV0ZWQpOwp9CgovKiBHcmlkICsgY2FyZHMgKG92ZXJyaWRlIGlubGluZSBzdHlsZXMgZnJvbSBDYXJkLmpzKSAqLwoubWpyLWFzc2V0cy1tYW5hZ2VyICNtanItYXNzZXRzLWdyaWQgewogICAgZ2FwOiAxMHB4ICFpbXBvcnRhbnQ7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY2FyZCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tanItc3VyZmFjZS0xKSAhaW1wb3J0YW50OwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlcikgIWltcG9ydGFudDsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLW1qci1yLWxnKSAhaW1wb3J0YW50OwogICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OwogICAgbWluLXdpZHRoOiAwOwogICAgdHJhbnNpdGlvbjoKICAgICAgICB0cmFuc2Zvcm0gMTIwbXMgZWFzZSwKICAgICAgICBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwKICAgICAgICBib3gtc2hhZG93IDEyMG1zIGVhc2UgIWltcG9ydGFudDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmQ6aG92ZXIsCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jYXJkOmhvdmVyIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoCiAgICAgICAgaW4gc3JnYiwKICAgICAgICB2YXIoLS1tanItY2FyZC1zZWxlY3Rpb24tY29sb3IpIDU1JSwKICAgICAgICB2YXIoLS1tanItYm9yZGVyKQogICAgKSAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWpyLWNhcmQtaG92ZXItY29sb3IpICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93OiAwIDhweCAyMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSkgIWltcG9ydGFudDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmQgaW1nLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZCB2aWRlbywKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLXRodW1iLW1lZGlhIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OwogICAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLXRodW1iIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDEwMCU7CiAgICBhc3BlY3QtcmF0aW86IDEgLyAxOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTApIDgwJSwgdHJhbnNwYXJlbnQpOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWF1ZGlvLXRodW1iLAoubWpyLWJvdHRvbS1mZWVkIC5tanItYXVkaW8tdGh1bWIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaW5zZXQ6IDA7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGdhcDogMTBweDsKICAgIHBhZGRpbmc6IDE0cHggMTJweCAxMnB4OwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NCk7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGJhY2tncm91bmQ6CiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxOCUgMjAlLCByZ2JhKDc4LCAxODQsIDI1NSwgMC4zMiksIHRyYW5zcGFyZW50IDM4JSksCiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4OCUgNzIlLCByZ2JhKDgyLCAyMjAsIDE1NiwgMC4yNCksIHRyYW5zcGFyZW50IDQyJSksCiAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxOCwgMjYsIDM2LCAwLjk4KSwgcmdiYSg4LCAxMiwgMTgsIDAuOTgpKTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWF1ZGlvLXRodW1iLmhhcy1wb3N0ZXIsCi5tanItYm90dG9tLWZlZWQgLm1qci1hdWRpby10aHVtYi5oYXMtcG9zdGVyIHsKICAgIGJhY2tncm91bmQ6CiAgICAgICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSg0LCA2LCAxMCwgMC4yOCksIHJnYmEoNCwgNiwgMTAsIDAuODYpKSwKICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDUwJSA0MiUsIHJnYmEoNzgsIDE4NCwgMjU1LCAwLjIpLCB0cmFuc3BhcmVudCA1NCUpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBzYXR1cmF0ZSgxLjEpOwogICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IHNhdHVyYXRlKDEuMSk7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hdWRpby10aHVtYi1oZWFkLAoubWpyLWJvdHRvbS1mZWVkIC5tanItYXVkaW8tdGh1bWItaGVhZCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGdhcDogOHB4OwogICAgbWluLXdpZHRoOiAwOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXVkaW8tdGh1bWItaWNvbiwKLm1qci1ib3R0b20tZmVlZCAubWpyLWF1ZGlvLXRodW1iLWljb24gewogICAgd2lkdGg6IDI4cHg7CiAgICBoZWlnaHQ6IDI4cHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCk7CiAgICBib3gtc2hhZG93OiAwIDhweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4yMik7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hdWRpby10aHVtYi1raW5kLAoubWpyLWJvdHRvbS1mZWVkIC5tanItYXVkaW8tdGh1bWIta2luZCB7CiAgICBtYXgtd2lkdGg6IDYycHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgcGFkZGluZzogM3B4IDdweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI4KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMyk7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBmb250LXdlaWdodDogODAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDA7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hdWRpby10aHVtYi13YXZlZm9ybSwKLm1qci1ib3R0b20tZmVlZCAubWpyLWF1ZGlvLXRodW1iLXdhdmVmb3JtIHsKICAgIGZsZXg6IDE7CiAgICBtaW4taGVpZ2h0OiA0MnB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGdhcDogY2xhbXAoMnB4LCAyLjIlLCA1cHgpOwogICAgcGFkZGluZzogNHB4IDA7CiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgNHB4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjM0KSk7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hdWRpby10aHVtYi13YXZlZm9ybSBzcGFuLAoubWpyLWJvdHRvbS1mZWVkIC5tanItYXVkaW8tdGh1bWItd2F2ZWZvcm0gc3BhbiB7CiAgICB3aWR0aDogM3B4OwogICAgbWluLXdpZHRoOiAycHg7CiAgICBtYXgtd2lkdGg6IDVweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KSwgcmdiYSgxNjAsIDIyNCwgMjU1LCAwLjcyKSk7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hdWRpby10aHVtYi1tZXRhLAoubWpyLWJvdHRvbS1mZWVkIC5tanItYXVkaW8tdGh1bWItbWV0YSB7CiAgICBtaW4td2lkdGg6IDA7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogMnB4OwogICAgdGV4dC1zaGFkb3c6IDAgMnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjYyKTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWF1ZGlvLXRodW1iLXRpdGxlLAoubWpyLWJvdHRvbS1mZWVkIC5tanItYXVkaW8tdGh1bWItdGl0bGUgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICBsaW5lLWhlaWdodDogMS4yOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXVkaW8tdGh1bWItc3VidGl0bGUsCi5tanItYm90dG9tLWZlZWQgLm1qci1hdWRpby10aHVtYi1zdWJ0aXRsZSB7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGZvbnQtd2VpZ2h0OiA2NTA7CiAgICBsaW5lLWhlaWdodDogMS4yOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZCAubWpyLXdvcmtmbG93LXRodW1iLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY2FyZCAubWpyLXdvcmtmbG93LXRodW1iIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAwOwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBnYXA6IDdweDsKICAgIHBhZGRpbmc6IDE0cHggMTJweDsKICAgIGJhY2tncm91bmQ6CiAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg0NywgNTgsIDc2LCAwLjk0KSwgcmdiYSgxOCwgMjMsIDMyLCAwLjk4KSksCiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzMCUgMjUlLCByZ2JhKDc4LCAxODQsIDI1NSwgMC4yMiksIHRyYW5zcGFyZW50IDQyJSk7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgdGV4dC1zaGFkb3c6IDAgMXB4IDhweCByZ2JhKDAsIDAsIDAsIDAuNzIpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZCAubWpyLXRodW1iLm1qci10aHVtYi13b3JrZmxvdywKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWNhcmQgLm1qci10aHVtYi5tanItdGh1bWItd29ya2Zsb3cgewogICAgYXNwZWN0LXJhdGlvOiAxLjA4IC8gMTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmQgLm1qci13b3JrZmxvdy1jYXJkLWFjdGlvbnMsCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jYXJkIC5tanItd29ya2Zsb3ctY2FyZC1hY3Rpb25zIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogN3B4OwogICAgcmlnaHQ6IDdweDsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgZ2FwOiA0cHg7CiAgICB6LWluZGV4OiAxMjsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmQgLm1qci13b3JrZmxvdy1hY3Rpb24tYnRuLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY2FyZCAubWpyLXdvcmtmbG93LWFjdGlvbi1idG4gewogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgYXBwZWFyYW5jZTogbm9uZTsKICAgIHdpZHRoOiAyNHB4OwogICAgaGVpZ2h0OiAyNHB4OwogICAgbWluLXdpZHRoOiAyNHB4OwogICAgbWluLWhlaWdodDogMjRweDsKICAgIHBhZGRpbmc6IDA7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzQpOwogICAgYm9yZGVyLXJhZGl1czogN3B4OwogICAgYmFja2dyb3VuZDogcmdiYSg4LCAxMiwgMTgsIDAuNTgpOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDNweCk7CiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZCAubWpyLXdvcmtmbG93LWFjdGlvbi1idG46aG92ZXIsCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jYXJkIC5tanItd29ya2Zsb3ctYWN0aW9uLWJ0bjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI5LCA0MCwgNTgsIDAuNzgpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZCAubWpyLXdvcmtmbG93LWFjdGlvbi1idG4uaXMtYWN0aXZlLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY2FyZCAubWpyLXdvcmtmbG93LWFjdGlvbi1idG4uaXMtYWN0aXZlIHsKICAgIGNvbG9yOiAjZmZkNDVhOwogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjEyLCA5MCwgMC43KTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmQgLm1qci13b3JrZmxvdy10aHVtYiAucGksCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jYXJkIC5tanItd29ya2Zsb3ctdGh1bWIgLnBpIHsKICAgIGZvbnQtc2l6ZTogMS43NXJlbTsKICAgIG9wYWNpdHk6IDAuNzI7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkIC5tanItd29ya2Zsb3ctdGh1bWIuaGFzLXRodW1ibmFpbCwKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWNhcmQgLm1qci13b3JrZmxvdy10aHVtYi5oYXMtdGh1bWJuYWlsIHsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICBiYWNrZ3JvdW5kOgogICAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHRyYW5zcGFyZW50IDI0JSwgcmdiYSgwLCAwLCAwLCAwLjI4KSA1OCUsIHJnYmEoMCwgMCwgMCwgMC43OCkpLAogICAgICAgIGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLCAwLCAwLCAwLjM0KSwgdHJhbnNwYXJlbnQgMzQlLCB0cmFuc3BhcmVudCA2NiUsIHJnYmEoMCwgMCwgMCwgMC4zNCkpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZCAubWpyLXRodW1iLW1lZGlhLm1qci13b3JrZmxvdy1ncmFwaC1tYXAtcHJldmlldywKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWNhcmQgLm1qci10aHVtYi1tZWRpYS5tanItd29ya2Zsb3ctZ3JhcGgtbWFwLXByZXZpZXcgewogICAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDsKICAgIG9wYWNpdHk6IDAuNDY7CiAgICBmaWx0ZXI6IHNhdHVyYXRlKDAuNzUpIGNvbnRyYXN0KDAuODIpIGJyaWdodG5lc3MoMC43KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNik7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkIC5tanItd29ya2Zsb3ctdGh1bWIuaGFzLWdyYXBoLW1hcCwKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWNhcmQgLm1qci13b3JrZmxvdy10aHVtYi5oYXMtZ3JhcGgtbWFwIHsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgYmFja2dyb3VuZDoKICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDgsIDEwLCAxNCwgMC4zKSwgcmdiYSg4LCAxMCwgMTQsIDAuODIpKSwKICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDUwJSA0MiUsIHJnYmEoMCwgMCwgMCwgMC4xOCksIHJnYmEoMCwgMCwgMCwgMC42OCkgNzIlKTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmQgLm1qci13b3JrZmxvdy10aHVtYi5oYXMtZ3JhcGgtbWFwIC5tanItd29ya2Zsb3ctdGh1bWItdGl0bGUsCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jYXJkIC5tanItd29ya2Zsb3ctdGh1bWIuaGFzLWdyYXBoLW1hcCAubWpyLXdvcmtmbG93LXRodW1iLXRpdGxlIHsKICAgIHBhZGRpbmc6IDJweCA3cHg7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMzYpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZCAubWpyLXdvcmtmbG93LXRodW1iLmhhcy10aHVtYm5haWwgLnBpLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY2FyZCAubWpyLXdvcmtmbG93LXRodW1iLmhhcy10aHVtYm5haWwgLnBpIHsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkIC5tanItd29ya2Zsb3ctdGh1bWIuaGFzLWdyYXBoLW1hcCAucGksCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jYXJkIC5tanItd29ya2Zsb3ctdGh1bWIuaGFzLWdyYXBoLW1hcCAucGkgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgICBmb250LXNpemU6IDEuMTVyZW07CiAgICBvcGFjaXR5OiAwLjU1Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZCAubWpyLXdvcmtmbG93LXRodW1iLXRpdGxlLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY2FyZCAubWpyLXdvcmtmbG93LXRodW1iLXRpdGxlIHsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBmb250LXNpemU6IDAuODRyZW07CiAgICBmb250LXdlaWdodDogODAwOwogICAgbGluZS1oZWlnaHQ6IDEuMTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmQgLm1qci13b3JrZmxvdy10aHVtYi1tZXRhLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY2FyZCAubWpyLXdvcmtmbG93LXRodW1iLW1ldGEgewogICAgZGlzcGxheTogZmxleDsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZ2FwOiA0cHg7CiAgICBmb250LXNpemU6IDAuNjhyZW07Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkIC5tanItd29ya2Zsb3ctdGh1bWItbWV0YSBzcGFuLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY2FyZCAubWpyLXdvcmtmbG93LXRodW1iLW1ldGEgc3BhbiwKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmQgLm1qci1tZXRhLXdvcmtmbG93LXRhc2ssCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jYXJkIC5tanItbWV0YS13b3JrZmxvdy10YXNrLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZCAubWpyLW1ldGEtd29ya2Zsb3ctc3ViZ3JhcGhzLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY2FyZCAubWpyLW1ldGEtd29ya2Zsb3ctc3ViZ3JhcGhzIHsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7CiAgICBwYWRkaW5nOiAycHggNXB4OwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmQgLm1qci13b3JrZmxvdy10aHVtYi1tZXRhIHNwYW46bnRoLWNoaWxkKG4gKyA0KSwKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWNhcmQgLm1qci13b3JrZmxvdy10aHVtYi1tZXRhIHNwYW46bnRoLWNoaWxkKG4gKyA0KSB7CiAgICBkaXNwbGF5OiBub25lOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZCAubWpyLWNhcmQtbWV0YVtkYXRhLW1qci1raW5kPSJ3b3JrZmxvdyJdLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY2FyZCAubWpyLWNhcmQtbWV0YVtkYXRhLW1qci1raW5kPSJ3b3JrZmxvdyJdIHsKICAgIHBhZGRpbmc6IDdweCA5cHggIWltcG9ydGFudDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmQgLm1qci1jYXJkLW1ldGFbZGF0YS1tanIta2luZD0id29ya2Zsb3ciXSAubWpyLWNhcmQtZmlsZW5hbWUsCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jYXJkIC5tanItY2FyZC1tZXRhW2RhdGEtbWpyLWtpbmQ9IndvcmtmbG93Il0gLm1qci1jYXJkLWZpbGVuYW1lIHsKICAgIG1hcmdpbi1ib3R0b206IDNweCAhaW1wb3J0YW50OwogICAgZm9udC1zaXplOiAwLjc4cmVtICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMS4xNSAhaW1wb3J0YW50Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZCAubWpyLWNhcmQtbWV0YVtkYXRhLW1qci1raW5kPSJ3b3JrZmxvdyJdIC5tanItY2FyZC1tZXRhLXJvdywKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWNhcmQgLm1qci1jYXJkLW1ldGFbZGF0YS1tanIta2luZD0id29ya2Zsb3ciXSAubWpyLWNhcmQtbWV0YS1yb3cgewogICAgZm9udC1zaXplOiAwLjcycmVtICFpbXBvcnRhbnQ7CiAgICBvcGFjaXR5OiAwLjc0ICFpbXBvcnRhbnQ7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkIC5tanItY2FyZC1tZXRhW2RhdGEtbWpyLWtpbmQ9IndvcmtmbG93Il0gLm1qci1jYXJkLW1ldGEtcm93IC5tanItbWV0YS13b3JrZmxvdy10YXNrLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY2FyZCAubWpyLWNhcmQtbWV0YVtkYXRhLW1qci1raW5kPSJ3b3JrZmxvdyJdIC5tanItY2FyZC1tZXRhLXJvdyAubWpyLW1ldGEtd29ya2Zsb3ctdGFzayB7CiAgICBkaXNwbGF5OiBub25lOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZCAubWpyLXdvcmtmbG93LW1pc3NpbmctY2hpcCwKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWNhcmQgLm1qci13b3JrZmxvdy1taXNzaW5nLWNoaXAsCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkIC5tanItbWV0YS13b3JrZmxvdy1taXNzaW5nLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY2FyZCAubWpyLW1ldGEtd29ya2Zsb3ctbWlzc2luZyB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTkwLCA2NiwgMC4yOCk7CiAgICBjb2xvcjogcmdiYSgyNTUsIDIzNiwgMTgwLCAwLjk4KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyMDYsIDEwMSwgMC40NSk7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1ncmlkIC5tanItZ3JpZC1ncm91cC1zZXBhcmF0b3IgewogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgYXBwZWFyYW5jZTogbm9uZTsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgd2lkdGg6IDEwMCU7CiAgICBtaW4taGVpZ2h0OiAzMHB4OwogICAgbWFyZ2luOiAwIDAgOHB4OwogICAgcGFkZGluZzogNXB4IDlweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEodmFyKC0tbWpyLXdvcmtmbG93LWdyb3VwLWFjY2VudC1yZ2IsIDk1LCAxNzksIDI1NSksIDAuNDIpOwogICAgYm9yZGVyLXJhZGl1czogN3B4OwogICAgYmFja2dyb3VuZDoKICAgICAgICBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgICAgIDEzNWRlZywKICAgICAgICAgICAgcmdiYSh2YXIoLS1tanItd29ya2Zsb3ctZ3JvdXAtYWNjZW50LXJnYiwgOTUsIDE3OSwgMjU1KSwgMC4yMiksCiAgICAgICAgICAgIHJnYmEodmFyKC0tbWpyLXdvcmtmbG93LWdyb3VwLWFjY2VudC1yZ2IsIDk1LCAxNzksIDI1NSksIDAuMDgpCiAgICAgICAgKSwKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgNzglLCB0cmFuc3BhcmVudCk7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbnRlbnQtZmcsICNmZmYpIDkyJSwgdHJhbnNwYXJlbnQpOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZm9udDogaW5oZXJpdDsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWdyaWQgLm1qci1ncmlkLWdyb3VwLXNlcGFyYXRvcjpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tbWpyLXdvcmtmbG93LWdyb3VwLWFjY2VudC1yZ2IsIDk1LCAxNzksIDI1NSksIDAuNjYpOwogICAgYmFja2dyb3VuZDoKICAgICAgICBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgICAgIDEzNWRlZywKICAgICAgICAgICAgcmdiYSh2YXIoLS1tanItd29ya2Zsb3ctZ3JvdXAtYWNjZW50LXJnYiwgOTUsIDE3OSwgMjU1KSwgMC4zKSwKICAgICAgICAgICAgcmdiYSh2YXIoLS1tanItd29ya2Zsb3ctZ3JvdXAtYWNjZW50LXJnYiwgOTUsIDE3OSwgMjU1KSwgMC4xMikKICAgICAgICApLAogICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA4NCUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWdyaWQgLm1qci1ncmlkLWdyb3VwLXNlcGFyYXRvcjpmb2N1cy12aXNpYmxlIHsKICAgIG91dGxpbmU6IDJweCBzb2xpZCByZ2JhKHZhcigtLW1qci13b3JrZmxvdy1ncm91cC1hY2NlbnQtcmdiLCA5NSwgMTc5LCAyNTUpLCAwLjU1KTsKICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1ncmlkIC5tanItZ3JpZC1ncm91cC1zZXBhcmF0b3ItLWFjY2VudC0wIHsKICAgIC0tbWpyLXdvcmtmbG93LWdyb3VwLWFjY2VudC1yZ2I6IDk1LCAxNzksIDI1NTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWdyaWQgLm1qci1ncmlkLWdyb3VwLXNlcGFyYXRvci0tYWNjZW50LTEgewogICAgLS1tanItd29ya2Zsb3ctZ3JvdXAtYWNjZW50LXJnYjogNTUsIDIxMSwgMTU2Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZ3JpZCAubWpyLWdyaWQtZ3JvdXAtc2VwYXJhdG9yLS1hY2NlbnQtMiB7CiAgICAtLW1qci13b3JrZmxvdy1ncm91cC1hY2NlbnQtcmdiOiAyNDYsIDE3NywgNzU7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1ncmlkIC5tanItZ3JpZC1ncm91cC1zZXBhcmF0b3ItLWFjY2VudC0zIHsKICAgIC0tbWpyLXdvcmtmbG93LWdyb3VwLWFjY2VudC1yZ2I6IDIzOCwgMTA0LCAxMzY7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1ncmlkIC5tanItZ3JpZC1ncm91cC1zZXBhcmF0b3ItLWFjY2VudC00IHsKICAgIC0tbWpyLXdvcmtmbG93LWdyb3VwLWFjY2VudC1yZ2I6IDE1NywgMTMyLCAyMzg7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1ncmlkIC5tanItZ3JpZC1ncm91cC1zZXBhcmF0b3ItLWFjY2VudC01IHsKICAgIC0tbWpyLXdvcmtmbG93LWdyb3VwLWFjY2VudC1yZ2I6IDcxLCAxOTcsIDIyMjsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWdyaWQgLm1qci1ncmlkLWdyb3VwLXNlcGFyYXRvci0tYWNjZW50LTYgewogICAgLS1tanItd29ya2Zsb3ctZ3JvdXAtYWNjZW50LXJnYjogMTQ5LCAyMDcsIDgxOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZ3JpZCAubWpyLWdyaWQtZ3JvdXAtc2VwYXJhdG9yLS1hY2NlbnQtNyB7CiAgICAtLW1qci13b3JrZmxvdy1ncm91cC1hY2NlbnQtcmdiOiAyNDIsIDEzMCwgNzg7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1ncmlkIC5tanItZ3JpZC1ncm91cC1zZXBhcmF0b3ItY2hldnJvbiB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgd2lkdGg6IDE4cHg7CiAgICBoZWlnaHQ6IDE4cHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGNvbG9yOiByZ2IodmFyKC0tbWpyLXdvcmtmbG93LWdyb3VwLWFjY2VudC1yZ2IsIDk1LCAxNzksIDI1NSkpOwogICAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1tanItd29ya2Zsb3ctZ3JvdXAtYWNjZW50LXJnYiwgOTUsIDE3OSwgMjU1KSwgMC4xNCk7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1ncmlkIC5tanItZ3JpZC1ncm91cC1zZXBhcmF0b3ItY2hldnJvbiA+IC5waSB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBsaW5lLWhlaWdodDogMTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWdyaWQgLm1qci1ncmlkLWdyb3VwLXNlcGFyYXRvci10aXRsZSB7CiAgICBtaW4td2lkdGg6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgZm9udC13ZWlnaHQ6IDgwMDsKfQoKLm1qci13b3JrZmxvdy1waWNrZXItYmFja2Ryb3AgewogICAgcG9zaXRpb246IGZpeGVkOwogICAgaW5zZXQ6IDA7CiAgICB6LWluZGV4OiA5OTk5OTk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgcGFkZGluZzogMjRweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41OCk7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Owp9CgoubWpyLXdvcmtmbG93LXBpY2tlci1kaWFsb2cgewogICAgd2lkdGg6IG1pbig5MjBweCwgOTZ2dyk7CiAgICBtYXgtaGVpZ2h0OiBtaW4oNzYwcHgsIDkydmgpOwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMCwgIzExMTQxOCkgOTYlLCAjMDAwKTsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCAjZjVmNWY1KTsKICAgIGJveC1zaGFkb3c6IDAgMThweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC40OCk7Cn0KCi5tanItd29ya2Zsb3ctaW5mby1kaWFsb2cgewogICAgd2lkdGg6IG1pbig1NjBweCwgOTZ2dyk7Cn0KCi5tanItd29ya2Zsb3ctaW5mby1mb3JtIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CiAgICBnYXA6IDEycHg7CiAgICBwYWRkaW5nOiAxNHB4IDE4cHggNHB4Owp9CgoubWpyLXdvcmtmbG93LWluZm8tZm9ybSBsYWJlbCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogNnB4OwogICAgbWluLXdpZHRoOiAwOwp9CgoubWpyLXdvcmtmbG93LWluZm8tZm9ybSBsYWJlbC5pcy13aWRlIHsKICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7Cn0KCi5tanItd29ya2Zsb3ctaW5mby1mb3JtIHNwYW4gewogICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC42NCk7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBmb250LXdlaWdodDogNzUwOwogICAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLm1qci13b3JrZmxvdy1pbmZvLWZvcm0gaW5wdXQsCi5tanItd29ya2Zsb3ctaW5mby1mb3JtIHNlbGVjdCwKLm1qci13b3JrZmxvdy1pbmZvLWZvcm0gdGV4dGFyZWEgewogICAgd2lkdGg6IDEwMCU7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpOwogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjI2KTsKICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOTIpOwogICAgZm9udDogaW5oZXJpdDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIHBhZGRpbmc6IDlweCAxMHB4OwogICAgb3V0bGluZTogbm9uZTsKfQoKLm1qci13b3JrZmxvdy1pbmZvLWZvcm0gdGV4dGFyZWEgewogICAgcmVzaXplOiB2ZXJ0aWNhbDsKICAgIG1pbi1oZWlnaHQ6IDk2cHg7Cn0KCi5tanItd29ya2Zsb3ctcGlja2VyLWhlYWRlciwKLm1qci13b3JrZmxvdy1waWNrZXItZm9vdGVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZ2FwOiAxMnB4OwogICAgcGFkZGluZzogMTJweCAxNHB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsKfQoKLm1qci13b3JrZmxvdy1waWNrZXItZm9vdGVyIHsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOwogICAgYm9yZGVyLWJvdHRvbTogMDsKfQoKLm1qci13b3JrZmxvdy1waWNrZXItdGl0bGUgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA5cHg7CiAgICBtaW4td2lkdGg6IDA7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LXdlaWdodDogODAwOwp9CgoubWpyLXdvcmtmbG93LXBpY2tlci1pY29uLWJ0biwKLm1qci13b3JrZmxvdy1waWNrZXItYnRuIHsKICAgIGFwcGVhcmFuY2U6IG5vbmU7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpOwogICAgYm9yZGVyLXJhZGl1czogN3B4OwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIsICMyNTI4MmQpIDg4JSwgdHJhbnNwYXJlbnQpOwogICAgY29sb3I6IHZhcigtLWNvbnRlbnQtZmcsICNmNWY1ZjUpOwogICAgY3Vyc29yOiBwb2ludGVyOwp9CgoubWpyLXdvcmtmbG93LXBpY2tlci1pY29uLWJ0biB7CiAgICB3aWR0aDogMzJweDsKICAgIGhlaWdodDogMzJweDsKfQoKLm1qci13b3JrZmxvdy1waWNrZXItYnRuIHsKICAgIG1pbi1oZWlnaHQ6IDMycHg7CiAgICBwYWRkaW5nOiAwIDEycHg7CiAgICBmb250LXdlaWdodDogNzAwOwp9CgoubWpyLXdvcmtmbG93LXBpY2tlci1idG4uaXMtcHJpbWFyeSB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoNzcsIDE3MSwgMjQ3LCAwLjcpOwogICAgYmFja2dyb3VuZDogcmdiYSg3NywgMTcxLCAyNDcsIDAuMjIpOwp9CgoubWpyLXdvcmtmbG93LXBpY2tlci1idG46ZGlzYWJsZWQgewogICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgIG9wYWNpdHk6IDAuNDU7Cn0KCi5tanItd29ya2Zsb3ctcGlja2VyLXNvdXJjZSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZ2FwOiA4cHg7CiAgICBwYWRkaW5nOiA4cHggMTRweDsKICAgIGNvbG9yOiB2YXIoLS1tanItbXV0ZWQsICNhZWIzYmQpOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7Cn0KCi5tanItd29ya2Zsb3ctcGlja2VyLXNvdXJjZSBzdHJvbmcgewogICAgbWluLXdpZHRoOiAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCAjZjVmNWY1KTsKfQoKLm1qci13b3JrZmxvdy1waWNrZXItdG9vbGJhciB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMTgwcHgsIDFmcikgcmVwZWF0KDMsIG1pbm1heCgxMTBweCwgMTUwcHgpKTsKICAgIGdhcDogOHB4OwogICAgcGFkZGluZzogMTJweCAxNHB4Owp9CgoubWpyLXdvcmtmbG93LXBpY2tlci1kaWFsb2cuaXMtYXNzZXQtbW9kZSAubWpyLXdvcmtmbG93LXBpY2tlci10b29sYmFyIHsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDE4MHB4LCAxZnIpOwp9CgoubWpyLXdvcmtmbG93LXBpY2tlci1zZWFyY2gsCi5tanItd29ya2Zsb3ctcGlja2VyLXRvb2xiYXIgc2VsZWN0IHsKICAgIG1pbi1oZWlnaHQ6IDM0cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpOwogICAgYm9yZGVyLXJhZGl1czogN3B4OwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTEsICMxNzFhMWYpIDkyJSwgIzAwMCk7CiAgICBjb2xvcjogdmFyKC0tY29udGVudC1mZywgI2Y1ZjVmNSk7Cn0KCi5tanItd29ya2Zsb3ctcGlja2VyLXNlYXJjaCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgcGFkZGluZzogMCAxMHB4Owp9CgoubWpyLXdvcmtmbG93LXBpY2tlci1zZWFyY2ggaW5wdXQgewogICAgd2lkdGg6IDEwMCU7CiAgICBtaW4td2lkdGg6IDA7CiAgICBib3JkZXI6IDA7CiAgICBvdXRsaW5lOiAwOwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBjb2xvcjogaW5oZXJpdDsKfQoKLm1qci13b3JrZmxvdy1waWNrZXItdG9vbGJhciBzZWxlY3QgewogICAgcGFkZGluZzogMCA4cHg7Cn0KCi5tanItd29ya2Zsb3ctcGlja2VyLWJvZHkgewogICAgZmxleDogMSAxIGF1dG87CiAgICBtaW4taGVpZ2h0OiAyNjBweDsKICAgIG92ZXJmbG93OiBhdXRvOwogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE4MHB4LCAxZnIpKTsKICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0OwogICAgZ2FwOiAxMHB4OwogICAgcGFkZGluZzogMCAxNHB4IDE0cHg7Cn0KCi5tanItd29ya2Zsb3ctcGlja2VyLWNhcmQgewogICAgYXBwZWFyYW5jZTogbm9uZTsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDY4cHggbWlubWF4KDAsIDFmcik7CiAgICBnYXA6IDEwcHg7CiAgICBtaW4taGVpZ2h0OiA4NHB4OwogICAgcGFkZGluZzogOHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0xLCAjMTcxYTFmKSA5MiUsIHRyYW5zcGFyZW50KTsKICAgIGNvbG9yOiBpbmhlcml0OwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIGN1cnNvcjogcG9pbnRlcjsKfQoKLm1qci13b3JrZmxvdy1waWNrZXItZGlhbG9nLmlzLWFzc2V0LW1vZGUgLm1qci13b3JrZmxvdy1waWNrZXItY2FyZCB7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDc2cHggbWlubWF4KDAsIDFmcik7Cn0KCi5tanItd29ya2Zsb3ctcGlja2VyLWNhcmQ6aG92ZXIsCi5tanItd29ya2Zsb3ctcGlja2VyLWNhcmQuaXMtc2VsZWN0ZWQgewogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDc3LCAxNzEsIDI0NywgMC43Mik7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDc3LCAxNzEsIDI0NywgMC4xMik7Cn0KCi5tanItd29ya2Zsb3ctcGlja2VyLXRodW1iIHsKICAgIHdpZHRoOiA2OHB4OwogICAgYXNwZWN0LXJhdGlvOiAxIC8gMTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTsKfQoKLm1qci13b3JrZmxvdy1waWNrZXItdGh1bWIgaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY292ZXI7Cn0KCi5tanItd29ya2Zsb3ctcGlja2VyLWNhcmQtaW5mbyB7CiAgICBtaW4td2lkdGg6IDA7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZ2FwOiA0cHg7Cn0KCi5tanItd29ya2Zsb3ctcGlja2VyLWNhcmQtaW5mbyBzdHJvbmcsCi5tanItd29ya2Zsb3ctcGlja2VyLWNhcmQtaW5mbyBzcGFuLAoubWpyLXdvcmtmbG93LXBpY2tlci1jYXJkLWluZm8gc21hbGwgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLm1qci13b3JrZmxvdy1waWNrZXItY2FyZC1pbmZvIHN0cm9uZyB7CiAgICBmb250LXNpemU6IDEzcHg7Cn0KCi5tanItd29ya2Zsb3ctcGlja2VyLWNhcmQtaW5mbyBzcGFuLAoubWpyLXdvcmtmbG93LXBpY2tlci1jYXJkLWluZm8gc21hbGwgewogICAgY29sb3I6IHZhcigtLW1qci1tdXRlZCwgI2FlYjNiZCk7CiAgICBmb250LXNpemU6IDExcHg7Cn0KCi5tanItd29ya2Zsb3ctcGlja2VyLWVtcHR5IHsKICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7CiAgICBwYWRkaW5nOiAzMnB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgY29sb3I6IHZhcigtLW1qci1tdXRlZCwgI2FlYjNiZCk7Cn0KCi5tanItd29ya2Zsb3ctcGlja2VyLWVtcHR5LmlzLWVycm9yIHsKICAgIGNvbG9yOiAjZmZiNGI0Owp9CgpAbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHsKICAgIC5tanItd29ya2Zsb3ctcGlja2VyLWJhY2tkcm9wIHsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgfQoKICAgIC5tanItd29ya2Zsb3ctcGlja2VyLXRvb2xiYXIgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgIH0KCiAgICAubWpyLXdvcmtmbG93LXBpY2tlci1zZWFyY2ggewogICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7CiAgICB9Cn0KCi8qIEtlZXAgZ2VuZXJhdGlvbi10aW1lIGJhZGdlIHBpbm5lZCB0byB0aGUgdGh1bWJuYWlsIGNvcm5lciBhY3Jvc3MgZ3JpZC9mZWVkIHZhcmlhbnRzLiAqLwoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItdGh1bWIgPiAubWpyLWdlbnRpbWUtYmFkZ2UsCi5tanItYm90dG9tLWZlZWQgLm1qci10aHVtYiA+IC5tanItZ2VudGltZS1iYWRnZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsKICAgIHJpZ2h0OiA2cHggIWltcG9ydGFudDsKICAgIGJvdHRvbTogNnB4ICFpbXBvcnRhbnQ7CiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICB0b3A6IGF1dG8gIWltcG9ydGFudDsKICAgIHotaW5kZXg6IDEwICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAycHggNnB4ICFpbXBvcnRhbnQ7CiAgICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41NSkgIWltcG9ydGFudDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikgIWltcG9ydGFudDsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAxNWVtOwogICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsKICAgIHRleHQtc2hhZG93OgogICAgICAgIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuOSksCiAgICAgICAgMCAwIDEwcHggY29sb3ItbWl4KGluIHNyZ2IsIGN1cnJlbnRDb2xvciAzNSUsIHRyYW5zcGFyZW50KTsKICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpOwogICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTsKfQoKLyogS2VlcCByYXRpbmcvdGFncyBiYWRnZXMgYW5jaG9yZWQuIERvIG5vdCBmb3JjZSBkaXNwbGF5IGhlcmUgc28gZ3JpZCB2aXNpYmlsaXR5IHRvZ2dsZXMgc3RpbGwgY29udHJvbCBzaG93L2hpZGUuICovCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci10aHVtYiA+IC5tanItcmF0aW5nLWJhZGdlLAoubWpyLWJvdHRvbS1mZWVkIC5tanItdGh1bWIgPiAubWpyLXJhdGluZy1iYWRnZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsKICAgIHRvcDogNnB4ICFpbXBvcnRhbnQ7CiAgICByaWdodDogNnB4ICFpbXBvcnRhbnQ7CiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICBib3R0b206IGF1dG8gIWltcG9ydGFudDsKICAgIHotaW5kZXg6IDEwICFpbXBvcnRhbnQ7CiAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNTUpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTsKICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMXB4OwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTsKICAgIHRleHQtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgYW5pbWF0aW9uOiBtanItZmFkZS1pbiAwLjJzIGVhc2Utb3V0Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItdGh1bWIgPiAubWpyLXRhZ3MtYmFkZ2UsCi5tanItYm90dG9tLWZlZWQgLm1qci10aHVtYiA+IC5tanItdGFncy1iYWRnZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsKICAgIGxlZnQ6IDZweCAhaW1wb3J0YW50OwogICAgYm90dG9tOiA2cHggIWltcG9ydGFudDsKICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICB0b3A6IGF1dG8gIWltcG9ydGFudDsKICAgIHotaW5kZXg6IDEwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiAzcHggNnB4OwogICAgZm9udC1zaXplOiA5cHg7CiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDU2cHgpOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpOwogICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsKICAgIGFuaW1hdGlvbjogbWpyLWZhZGUtaW4gMC4ycyBlYXNlLW91dDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLXRodW1iLXBsYXkgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaW5zZXQ6IDA7CiAgICBkaXNwbGF5OiBncmlkOwogICAgcGxhY2UtaXRlbXM6IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogMjhweDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7CiAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjcpOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGVhc2U7Cn0KCi8qIC0tLSBIb3ZlciBpbmZvIG92ZXJsYXkgKHBvc2l0aXZlIHByb21wdCArIGdlbiB0aW1lKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTbGlkZXMgdXAgZnJvbSB0aGUgYm90dG9tIG9mIC5tanItdGh1bWIgb24gY2FyZCBob3Zlci4KICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIC0+IG5ldmVyIGJsb2NrcyB2aWRlbyBtb3VzZWVudGVyIC8gcGxheS1vbi1ob3Zlci4KICAgei1pbmRleDogMiAgICAgICAgICAgLT4gc2l0cyBhYm92ZSB0aGUgdGh1bWJuYWlsIGltYWdlLCBiZWxvdyB0aGUgcGxheSBpY29uLgogICBDb250cm9sbGVkIGJ5IHRoZSAubWpyLXNob3ctaG92ZXItaW5mbyBjbGFzcyBvbiB0aGUgZ3JpZCBjb250YWluZXIsIHdoaWNoCiAgIGlzIHRvZ2dsZWQgdmlhIHRoZSAiU2hvdyBwcm9tcHQgb24gaG92ZXIiIHNldHRpbmcuCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItY2FyZC1ob3Zlci1pbmZvIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvdHRvbTogMDsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIHBhZGRpbmc6IDIycHggOHB4IDdweDsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDAlLCByZ2JhKDAsIDAsIDAsIDAuNzgpIDEwMCUpOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBsaW5lLWhlaWdodDogMS40OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCk7CiAgICB0cmFuc2l0aW9uOgogICAgICAgIG9wYWNpdHkgMTUwbXMgZWFzZSwKICAgICAgICB0cmFuc2Zvcm0gMTUwbXMgZWFzZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAzcHg7CiAgICB6LWluZGV4OiAyOwp9Ci8qIE9ubHkgcmV2ZWFsIG9uIGhvdmVyIHdoZW4gdGhlIHNldHRpbmcgaXMgZW5hYmxlZCAoY2xhc3Mgb24gZ3JpZCBjb250YWluZXIpICovCi5tanItZ3JpZC5tanItc2hvdy1ob3Zlci1pbmZvIC5tanItY2FyZDpob3ZlciAubWpyLWNhcmQtaG92ZXItaW5mbyB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwp9Ci5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jYXJkLWhvdmVyLWluZm8gLm1qci1ob3Zlci1wcm9tcHQgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyOwogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7CiAgICBvcGFjaXR5OiAwLjk7CiAgICBmb250LXNpemU6IDkuNXB4Owp9Ci5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jYXJkLWhvdmVyLWluZm8gLm1qci1ob3Zlci1nZW50aW1lIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjEwLCAxMjAsIDAuOTUpOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGZvbnQtc2l6ZTogOXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogICAgLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWNhcmQtaG92ZXItaW5mbyB7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwbXM7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgfQp9CgovKiAtLS0gQ2FyZCBkZXRhaWxzIHBhbmVsIHNob3cvaGlkZSB2aWEgZ3JpZCBjb250YWluZXIgY2xhc3MgLS0tLS0tLS0tLS0tLS0tLQogICAubWpyLXNob3ctZGV0YWlscyBpcyB0b2dnbGVkIGJ5IGFwcGx5R3JpZFNldHRpbmdzQ2xhc3NlcygpIHdoZW4gdGhlCiAgICJTaG93IG1ldGFkYXRhIHBhbmVsIiBzZXR0aW5nIGNoYW5nZXMuICBEZWZhdWx0ID0gT0ZGIOKGkiBwYW5lbCBoaWRkZW4uCiAgIEhpZGluZyBoZXJlIGtlZXBzIGFjdHVhbCByb3cgaGVpZ2h0ID0gZXN0aW1hdGVSb3dIZWlnaHQobWV0YUhlaWdodD0wKSwKICAgcHJldmVudGluZyB0aGUgdmlydHVhbGl6ZXIgZnJvbSByZXBvc2l0aW9uaW5nIGFsbCByb3dzIG9uIG1lYXN1cmUKICAgKHdoaWNoIHdhcyB0aGUgcm9vdCBjYXVzZSBvZiB0aGUgInJlbG9hZCBpbXByZXNzaW9uIiBibGluaykuCiAgIE1hdGNoIHRoZSBib3R0b20tZmVlZCBwYXR0ZXJuIGF0IC5tanItYm90dG9tLWZlZWQgLm1qci1jYXJkLWluZm8uCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZ3JpZCAubWpyLWNhcmQtaW5mbyB7CiAgICBkaXNwbGF5OiBub25lOwp9Ci5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1ncmlkLm1qci1zaG93LWRldGFpbHMgLm1qci1jYXJkLWluZm8gewogICAgZGlzcGxheTogYmxvY2s7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jYXJkLW1ldGEgewogICAgcGFkZGluZzogOHB4IDEwcHg7CiAgICBmb250LXNpemU6IDExcHg7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jYXJkLWZpbGVuYW1lIHsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDhweDsKICAgIG1pbi13aWR0aDogMDsKICAgIG1hcmdpbi1ib3R0b206IDJweDsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWNhcmQtZGV0YWlscyB7CiAgICBjb2xvcjogdmFyKC0tbWpyLW11dGVkKTsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICBvcGFjaXR5OiAwLjg7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1jYXJkLWZpbGVuYW1lLXRleHQgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIG1pbi13aWR0aDogMDsKfQoKLyogUmF0aW5nICYgVGFncyBFZGl0b3JzICovCkBrZXlmcmFtZXMgZmFkZUluIHsKICAgIGZyb20gewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOwogICAgfQogICAgdG8gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgfQp9Ci8qKgogKiBBcmNoaXZlZCBDU1MgU3R5bGVzIC0gUmF0aW5nIGFuZCBUYWdzCiAqIFRoZXNlIHN0eWxlcyB3ZXJlIHJlbW92ZWQgZnJvbSB0aGVtZS1jb21meS5jc3MKICovCgovKiBBbmltYXRpb25zICovCkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHsKICAgIGZyb20gewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgfQogICAgdG8gewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgICAgICBvcGFjaXR5OiAxOwogICAgfQp9CgovKiBQb3BvdmVycyAqLwoubWpyLXJhdGluZy1wb3BvdmVyLAoubWpyLXRhZ3MtcG9wb3ZlciB7CiAgICBhbmltYXRpb246IGZhZGVJbiAwLjJzIGVhc2U7Cn0KCi5tanItcmF0aW5nLXBvcG92ZXIsCi5tanItdGFncy1wb3BvdmVyIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbWZ5LW1lbnUtYmcsICMyYTJhMmEpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpKTsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZywgMC41cmVtKTsKICAgIGJveC1zaGFkb3c6IDAgMTJweCAyOHB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7CiAgICBwYWRkaW5nOiA4cHg7Cn0KCi8qIFJhdGluZyBFZGl0b3IgKi8KLm1qci1yYXRpbmctZWRpdG9yIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogNHB4OwogICAgcGFkZGluZzogMnB4Owp9CgoubWpyLXJhdGluZy1zdGFyIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICBmb250LXNpemU6IDIwcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBwYWRkaW5nOiA0cHggNnB4OwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBjb2xvcjogdmFyKC0taW5wdXQtdGV4dCwgI2RkZCk7CiAgICB0cmFuc2l0aW9uOgogICAgICAgIHRyYW5zZm9ybSAxMjBtcyBlYXNlLAogICAgICAgIGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZSwKICAgICAgICBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwKICAgICAgICBjb2xvciAxMjBtcyBlYXNlOwogICAgb3V0bGluZTogbm9uZTsKfQoKLm1qci1yYXRpbmctc3Rhcjpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb21meS1hY2NlbnQsICM1ZmIzZmYpIDM1JSwgdHJhbnNwYXJlbnQpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbWZ5LW1lbnUtc2Vjb25kYXJ5LWJnLCAjMzMzKSA2NSUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1yYXRpbmctZWRpdG9yIC5tanItcmF0aW5nLXN0YXI6aG92ZXIgewogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpICFpbXBvcnRhbnQ7Cn0KCi5tanItcmF0aW5nLWVkaXRvciAubWpyLXJhdGluZy1zdGFyOmZvY3VzLXZpc2libGUgewogICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWZvY3VzLW91dGxpbmUtY29sb3IsICM0ZGFiZjcpOwogICAgb3V0bGluZS1vZmZzZXQ6IDJweDsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKfQoKLm1qci1yYXRpbmctZWRpdG9yIC5tanItcmF0aW5nLXN0YXI6YWN0aXZlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSkgIWltcG9ydGFudDsKfQoKLyogVGFncyBFZGl0b3IgKi8KLm1qci10YWdzLWVkaXRvciB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogOHB4OwogICAgcGFkZGluZzogMTJweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdXJmYWNlLTEsIHZhcigtLWNvbWZ5LW1lbnUtYmcsICMyYTJhMmEpKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbWpyLXItc20pOwogICAgYm94LXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSgwLCAwLCAwLCAwLjQ1KTsKICAgIG1pbi13aWR0aDogMjUwcHg7CiAgICBtYXgtd2lkdGg6IG1pbigzNTBweCwgY2FsYygxMDB2dyAtIDIwcHgpKTsKICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0Owp9CgoubWpyLXRhZ3MtZWRpdG9yLmlzLWRpc2FibGVkIHsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgb3BhY2l0eTogMC43Owp9CgoubWpyLXRhZ3MtZGlzcGxheSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC13cmFwOiB3cmFwOwogICAgZ2FwOiA2cHg7CiAgICBtaW4taGVpZ2h0OiAzMnB4Owp9CgoubWpyLXRhZ3MtZW1wdHkgewogICAgY29sb3I6IHZhcigtLW1qci1tdXRlZCk7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBmb250LXN0eWxlOiBpdGFsaWM7Cn0KCi5tanItdGFnLWNoaXAgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA0cHg7CiAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci10YWctY29sb3IpIDI0JSwgdHJhbnNwYXJlbnQpOwogICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci10YWctY29sb3IpIDQwJSwgdmFyKC0tbWpyLWJvcmRlcikpOwogICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGNvbG9yOiB2YXIoLS1tanItdGFnLWNvbG9yKTsKICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7Cn0KCi5tanItdGFnLWNoaXAtcmVtb3ZlIHsKICAgIGFwcGVhcmFuY2U6IG5vbmU7CiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgYm9yZGVyOiAwOwogICAgYm9yZGVyLXJhZGl1czogMDsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICBjb2xvcjogaW5oZXJpdDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDA7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIG9wYWNpdHk6IDAuNzsKfQoKLm1qci10YWctY2hpcC1yZW1vdmU6ZGlzYWJsZWQgewogICAgY3Vyc29yOiBkZWZhdWx0Owp9CgoubWpyLXRhZ3MtaW5wdXQtd3JhcCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5tanItdGFnLWlucHV0IHsKICAgIHdpZHRoOiAxMDAlOwogICAgcGFkZGluZzogNnB4IDhweDsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA3NSUsIHRyYW5zcGFyZW50KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIpOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgY29sb3I6IHZhcigtLWNvbnRlbnQtZmcpOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgb3V0bGluZTogbm9uZTsKfQoKLm1qci10YWctaW5wdXQ6Zm9jdXMgewogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIpIDg4JSwgdHJhbnNwYXJlbnQpICFpbXBvcnRhbnQ7CiAgICBib3JkZXItY29sb3I6IHZhcigtLW1qci1hY2NlbnQpICFpbXBvcnRhbnQ7Cn0KCi5tanItdGFnLWNoaXA6aG92ZXIgewogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci10YWctY29sb3IpIDM0JSwgdHJhbnNwYXJlbnQpICFpbXBvcnRhbnQ7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItdGFnLWNvbG9yKSA2MCUsIHZhcigtLW1qci1ib3JkZXIpKSAhaW1wb3J0YW50Owp9CgoubWpyLXRhZ3MtZHJvcGRvd24gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAxMDAlOwogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOwogICAgbWFyZ2luLXRvcDogNHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tbWpyLXN1cmZhY2UtMSwgdmFyKC0tY29tZnktbWVudS1iZywgIzJhMmEyYSkpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlcik7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBtYXgtaGVpZ2h0OiAxNTBweDsKICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICB6LWluZGV4OiAxMDAwOwp9CgoubWpyLXRhZ3MtZHJvcGRvd24gW2RhdGEtcGMtc2VjdGlvbj0ibGlzdCJdIHsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwp9CgoubWpyLXRhZ3MtZHJvcGRvd24gW2RhdGEtcGMtc2VjdGlvbj0ib3B0aW9uIl0gewogICAgbGlzdC1zdHlsZTogbm9uZTsKfQoKLm1qci10YWctc3VnZ2VzdGlvbiB7CiAgICBwYWRkaW5nOiA2cHggOHB4OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBjb2xvcjogdmFyKC0tbWpyLXRhZy1jb2xvcik7CiAgICBmb250LXNpemU6IDEycHg7Cn0KCi5tanItdGFnLXN1Z2dlc3Rpb24uaXMtYWN0aXZlLAoubWpyLXRhZy1zdWdnZXN0aW9uOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItdGFnLWNvbG9yKSAyOCUsIHRyYW5zcGFyZW50KSAhaW1wb3J0YW50Owp9CgovKiBCYWRnZXMgSW50ZXJhY3RpdmUgKi8KLm1qci1yYXRpbmctYmFkZ2UsCi5tanItdGFncy1iYWRnZSB7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwp9CgoubWpyLXJhdGluZy1iYWRnZSB7CiAgICBjb2xvcjogdmFyKC0tbWpyLXJhdGluZy1jb2xvcikgIWltcG9ydGFudDsKfQoKLm1qci10YWdzLWJhZGdlIHsKICAgIGNvbG9yOiB2YXIoLS1tanItdGFnLWNvbG9yKSAhaW1wb3J0YW50Owp9CgoubWpyLXJhdGluZy1iYWRnZTpob3ZlciwKLm1qci10YWdzLWJhZGdlOmhvdmVyIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7CiAgICBib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjUpOwp9CgovKiBTY3JvbGxiYXIgZm9yIHRhZ3MgZHJvcGRvd24gKi8KLm1qci10YWdzLWRyb3Bkb3duOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICB3aWR0aDogNnB4Owp9CgoubWpyLXRhZ3MtZHJvcGRvd246Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA2NSUsIHRyYW5zcGFyZW50KTsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKfQoKLm1qci10YWdzLWRyb3Bkb3duOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXRhZy1jb2xvcikgNDglLCB2YXIoLS1tanItYm9yZGVyKSk7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7Cn0KCi5tanItdGFncy1kcm9wZG93bjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci10YWctY29sb3IpIDY1JSwgdmFyKC0tbWpyLWJvcmRlcikpOwp9CgovKiBTaWRlYmFyIChjYW4gYmUgbGVmdCBvciByaWdodCkgKi8KLm1qci1zaWRlYmFyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDM7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7Cn0KCi5tanItd29ya2Zsb3ctdHJlZS13cmFwIHsKICAgIG1hcmdpbjogMCAwIDEycHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgODIlLCB0cmFuc3BhcmVudCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1tanItci1tZCwgOHB4KTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0xKSA3MiUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci13b3JrZmxvdy10cmVlIHsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCAjZWFlYWVhKTsKICAgIGZvbnQtc2l6ZTogMTJweDsKfQoKLm1qci13b3JrZmxvdy10cmVlLXNjcm9sbCB7CiAgICBvdmVyZmxvdzogYXV0bzsKICAgIHBhZGRpbmc6IDJweCA0cHggNnB4Owp9CgoubWpyLXdvcmtmbG93LXRyZWUtbGlzdCB7CiAgICBsaXN0LXN0eWxlOiBub25lOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKfQoKLm1qci13b3JrZmxvdy10cmVlLW5vZGUtY29udGVudCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogNnB4OwogICAgbWluLWhlaWdodDogMjhweDsKICAgIHBhZGRpbmc6IDRweCA2cHg7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1tanItci1zbSwgNnB4KTsKfQoKLm1qci13b3JrZmxvdy10cmVlLW5vZGUtY29udGVudDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgNTglLCB0cmFuc3BhcmVudCk7Cn0KCi5tanItd29ya2Zsb3ctdHJlZS10b2dnbGUgewogICAgd2lkdGg6IDE0cHg7CiAgICBoZWlnaHQ6IDIwcHg7CiAgICBwYWRkaW5nOiAwOwogICAgYm9yZGVyOiAwOwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBjb2xvcjogdmFyKC0tbWpyLW11dGVkLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjQpKTsKfQoKLm1qci13b3JrZmxvdy10cmVlLXRvZ2dsZVtkYXRhLXAtbGVhZj0idHJ1ZSJdIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKfQoKLm1qci13b3JrZmxvdy10cmVlLWljb24gewogICAgd2lkdGg6IDhweDsKICAgIGZsZXg6IDAgMCA4cHg7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDcwJSwgdmFyKC0tY29udGVudC1mZykpOwogICAgZm9udC1zaXplOiA3cHg7Cn0KCi5tanItd29ya2Zsb3ctdHJlZS1sYWJlbCB7CiAgICBtaW4td2lkdGg6IDA7CiAgICBmbGV4OiAxIDEgYXV0bzsKfQoKLm1qci13b3JrZmxvdy10cmVlLW5vZGUgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDhweDsKICAgIG1pbi13aWR0aDogMDsKfQoKLm1qci13b3JrZmxvdy10cmVlLW5vZGUtbmFtZSB7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9CgoubWpyLXdvcmtmbG93LXRyZWUtbm9kZS10eXBlIHsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLW11dGVkKSA3NSUsIHZhcigtLWNvbnRlbnQtZmcpKTsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KCi5tanItc2lkZWJhci5pcy1vcGVuIHsKICAgIC8qIEJvcmRlciBpcyBzZXQgZHluYW1pY2FsbHkgYmFzZWQgb24gcG9zaXRpb24gKi8KfQoKLm1qci1zaWRlYmFyIC5tanItc2lkZWJhci1oZWFkZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tbWpyLXN1cmZhY2UtMiwgIzMzMyk7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSk7Cn0KCi5tanItc2lkZWJhciAubWpyLXNpZGViYXItY29udGVudCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tanItc3VyZmFjZS0xLCAjMmEyYTJhKTsKfQoKLm1qci1zaWRlYmFyIC5tanItc2lkZWJhci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciB7CiAgICB3aWR0aDogOHB4Owp9CgoubWpyLXNpZGViYXIgLm1qci1zaWRlYmFyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTsKfQoKLm1qci1zaWRlYmFyIC5tanItc2lkZWJhci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7Cn0KCi5tanItc2lkZWJhciAubWpyLXNpZGViYXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOwp9CgovKiBDdXN0b20gUm9vdHMgUG9wb3ZlciBTdHlsaW5nICovCi5tanItY3VzdG9tLXBvcG92ZXIgewogICAgbWluLXdpZHRoOiAzMDBweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdXJmYWNlLTEsIHZhcigtLWNvbWZ5LW1lbnUtYmcsICMyYTJhMmEpKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIsIHZhcigtLWJvcmRlci1jb2xvciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSkpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnLCAwLjVyZW0pOwogICAgYm94LXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSgwLCAwLCAwLCAwLjM1KTsKICAgIHotaW5kZXg6IHZhcigtLW1qci1wb3BvdmVyLXotaW5kZXgpOwogICAgcGFkZGluZzogMTJweDsKfQoKLm1qci1jdXN0b20tcG9wb3ZlciAubWpyLXBvcG92ZXItcm93IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxMHB4OwogICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgIGZsZXgtd3JhcDogd3JhcDsKfQoKLm1qci1jdXN0b20tcG9wb3ZlciAubWpyLXBvcG92ZXItcm93Omxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMDsKfQoKLm1qci1jdXN0b20tcG9wb3ZlciAubWpyLXBvcG92ZXItbGFiZWwgewogICAgd2lkdGg6IDYwcHg7CiAgICBjb2xvcjogdmFyKC0tbWpyLW11dGVkLCB2YXIoLS1kZXNjcmlwLXRleHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSkpKTsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7Cn0KCi5tanItY3VzdG9tLXBvcG92ZXIgLm1qci1zZWxlY3QgewogICAgZmxleDogMTsKICAgIG1pbi13aWR0aDogMDsKfQoKLm1qci1jdXN0b20tcG9wb3ZlciAubWpyLWJ0biB7CiAgICBmbGV4OiAxOwogICAgbWluLXdpZHRoOiAwOwogICAgbWFyZ2luLXJpZ2h0OiA1cHg7Cn0KCi5tanItY3VzdG9tLXBvcG92ZXIgLm1qci1idG46bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tcmlnaHQ6IDA7Cn0KCi5tanItY3VzdG9tLXBvcG92ZXIgLm1qci1idG4ubWpyLXByaW1hcnkgewogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDE4JSwgdmFyKC0tbWpyLXN1cmZhY2UtMikpOwogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNjAlLCB2YXIoLS1tanItYm9yZGVyKSk7Cn0KCi5tanItY3VzdG9tLXBvcG92ZXIgLm1qci1idG4ubWpyLXByaW1hcnk6aG92ZXIgewogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDI1JSwgdmFyKC0tbWpyLXN1cmZhY2UtMikpOwogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgODAlLCB2YXIoLS1tanItYm9yZGVyKSk7Cn0KCi5tanItc2lkZWJhciAubWpyLXNpZGViYXItc2VjdGlvbiB7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwp9CgoubWpyLXNpZGViYXIgLm1qci1zaWRlYmFyLXNlY3Rpb246aG92ZXIgewogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpICFpbXBvcnRhbnQ7Cn0KCi8qIElubGluZSBTaWRlYmFyICh3aWR0aC1iYXNlZCB0cmFuc2l0aW9ucyBsaWtlIGFyY2hpdmVkIHZlcnNpb24pICovCi5tanItaW5saW5lLXNpZGViYXIgewogICAgd2lkdGg6IDA7CiAgICBtaW4td2lkdGg6IDA7CiAgICBtYXgtd2lkdGg6IDQ4MHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdXJmYWNlLTEsICMyYTJhMmEpOwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICB0cmFuc2l0aW9uOgogICAgICAgIHdpZHRoIDAuM3MgZWFzZSwKICAgICAgICBtaW4td2lkdGggMC4zcyBlYXNlOwp9CgoubWpyLWlubGluZS1zaWRlYmFyLmlzLW9wZW4gewogICAgd2lkdGg6IDQwMHB4OwogICAgbWluLXdpZHRoOiAyNjBweDsKfQoKLyogU3BhY2UgYmV0d2VlbiBzaWRlYmFyIGFuZCBncmlkICovCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hbS1icm93c2UgewogICAgZ2FwOiAwOwp9CgovKiBCb3JkZXIgYmFzZWQgb24gcG9zaXRpb24gKi8KLm1qci1pbmxpbmUtc2lkZWJhcltkYXRhLXBvc2l0aW9uPSJsZWZ0Il0gewogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSk7Cn0KCi5tanItaW5saW5lLXNpZGViYXJbZGF0YS1wb3NpdGlvbj0icmlnaHQiXSB7CiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpOwp9CgovKiBTaWRlYmFyIHBsYWNlaG9sZGVyICovCi5tanItc2lkZWJhci1wbGFjZWhvbGRlciB7CiAgICBwYWRkaW5nOiAyMHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgY29sb3I6IHZhcigtLW1qci1tdXRlZCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KSk7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9CgpAa2V5ZnJhbWVzIG1qci1mYWRlLWluIHsKICAgIGZyb20gewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5NSk7CiAgICB9CiAgICB0byB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgfQp9CgoKLyogTmF0aXZlIGRyb3Bkb3duczogaGludCBkYXJrIFVJIGFuZCBzdHlsZSBvcHRpb25zIHdoZW4gdGhlIGJyb3dzZXIgYWxsb3dzIGl0LiAqLwoKLyogPT09PT09PT09PSBDdXN0b20gVmlkZW8gQ29udHJvbHMgKG5vIG5hdGl2ZSBiYXIpID09PT09PT09PT0gKi8KCi5tanItdmlkZW8tY29udHJvbHMgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMTJweDsKICAgIHJpZ2h0OiAxMnB4OwogICAgYm90dG9tOiAxMnB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDhweDsKICAgIHBhZGRpbmc6IDhweCAxMHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7CiAgICBvcGFjaXR5OiAwOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7CiAgICB6LWluZGV4OiA1Owp9CgovKiBTaG93IGNvbnRyb2xzIG9uIGhvdmVyL2ZvY3VzICh2aWV3ZXIpLiAqLwoubWpyLXZpZGVvLWNvbnRyb2xzOmZvY3VzLXdpdGhpbiB7CiAgICBvcGFjaXR5OiAxOwogICAgcG9pbnRlci1ldmVudHM6IGF1dG87Cn0KCi8qIFByZXZpZXc6IGtlZXAgY29udHJvbHMgdmlzaWJsZSBiZWNhdXNlIHRoZSBhcmVhIGlzIHNtYWxsLiAqLwoubWpyLXZpZGVvLWNvbnRyb2xzLS1wcmV2aWV3IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IGF1dG87CiAgICByaWdodDogMTBweDsKICAgIHRvcDogYXV0bzsKICAgIGJvdHRvbTogMTBweDsKICAgIG9wYWNpdHk6IDE7CiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyOiBub25lOwogICAgcGFkZGluZzogMDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IGF1dG87CiAgICBoZWlnaHQ6IGF1dG87CiAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7CiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogbm9uZTsKfQoKLm1qci12aWRlby1wcmV2aWV3LWJ0biB7CiAgICB3aWR0aDogMzhweDsKICAgIGhlaWdodDogMzhweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40Mik7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9CgoubWpyLXZpZGVvLXByZXZpZXctYnRuOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KTsKfQoKLm1qci12aWRlby1wcmV2aWV3LWJ0biAucGkgewogICAgZm9udC1zaXplOiAxNnB4OwogICAgbGluZS1oZWlnaHQ6IDE7Cn0KCi8qIDAuLkluOiB0cmltbWVkLW91dCByYW5nZS4gKi8KCi8qIEluLi5PdXQ6IHNlbGVjdGVkIHBsYXliYWNrIHJhbmdlIGhpZ2hsaWdodC4gKi8KCi8qIE91dC4uRW5kOiBzaG93IG91dC1vZi1yYW5nZSBmcmFtZXMgYXMgYSBkaWZmZXJlbnQgY29sb3IuICovCgovKiA9PT09PT09PT09IENvbnRleHQgTWVudSBDb21wb25lbnQgPT09PT09PT09PSAqLwoubWpyLWNvbnRleHQtbWVudSB7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb21meS1tZW51LWJnKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7CiAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTsKICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAvKiBBYm92ZSB2aWV3ZXIgb3ZlcmxheSAoMTAwMDEpIGFuZCBNRlYgZGlhbG9nICgxMDAwMCkgKi8KICAgIHotaW5kZXg6IDEwMDAyOwogICAgZGlzcGxheTogbm9uZTsKICAgIHBhZGRpbmc6IDRweCAwOwogICAgYW5pbWF0aW9uOiBtanItY29udGV4dC1tZW51LWluIDAuMTVzIGVhc2Utb3V0Owp9CgoubWpyLWNvbnRleHQtbWVudSwKLm1qci1jb250ZXh0LW1lbnUgKiB7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Owp9CgpAa2V5ZnJhbWVzIG1qci1jb250ZXh0LW1lbnUtaW4gewogICAgZnJvbSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7CiAgICB9CiAgICB0byB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB9Cn0KCi5tanItY29udGV4dC1tZW51LWl0ZW0gewogICAgYXBwZWFyYW5jZTogbm9uZTsKICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICB3aWR0aDogMTAwJTsKICAgIGJvcmRlcjogMDsKICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICBtYXJnaW46IDA7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBjb2xvcjogdmFyKC0tZmctY29sb3IpOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM1OwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1czsKICAgIHVzZXItc2VsZWN0OiBub25lOwp9CgoubWpyLWNvbnRleHQtbWVudS1pdGVtOjotbW96LWZvY3VzLWlubmVyIHsKICAgIGJvcmRlcjogMDsKICAgIHBhZGRpbmc6IDA7Cn0KCi5tanItY29udGV4dC1tZW51LWl0ZW06aG92ZXIsCi5tanItY29udGV4dC1tZW51LWl0ZW06Zm9jdXMtdmlzaWJsZSB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb21meS1pbnB1dC1iZyk7CiAgICBvdXRsaW5lOiBub25lOwp9CgoubWpyLWNvbnRleHQtbWVudS1pdGVtLmlzLXRvbmUtZ3JhcGgtbWFwIHsKICAgIGNvbG9yOiAjZjVjNTQyOwp9CgoubWpyLWNvbnRleHQtbWVudS1pdGVtLmlzLXRvbmUtcmVuYW1lIHsKICAgIGNvbG9yOiAjNWRhOWZmOwp9CgoubWpyLWNvbnRleHQtbWVudS1pdGVtLmlzLXRvbmUtZGVsZXRlIHsKICAgIGNvbG9yOiAjZmY1ZjVmOwp9CgoubWpyLWNvbnRleHQtbWVudS1pdGVtLmlzLXRvbmUtZmxvYXRpbmctdmlld2VyIHsKICAgIGNvbG9yOiAjNWZkMzhkOwp9CgoubWpyLWNvbnRleHQtbWVudS1pdGVtLmlzLXRvbmUtZ3JhcGgtbWFwOmhvdmVyLAoubWpyLWNvbnRleHQtbWVudS1pdGVtLmlzLXRvbmUtZ3JhcGgtbWFwOmZvY3VzLXZpc2libGUgewogICAgYmFja2dyb3VuZDogcmdiYSgyNDUsIDE5NywgNjYsIDAuMTQpOwp9CgoubWpyLWNvbnRleHQtbWVudS1pdGVtLmlzLXRvbmUtcmVuYW1lOmhvdmVyLAoubWpyLWNvbnRleHQtbWVudS1pdGVtLmlzLXRvbmUtcmVuYW1lOmZvY3VzLXZpc2libGUgewogICAgYmFja2dyb3VuZDogcmdiYSg5MywgMTY5LCAyNTUsIDAuMTQpOwp9CgoubWpyLWNvbnRleHQtbWVudS1pdGVtLmlzLXRvbmUtZGVsZXRlOmhvdmVyLAoubWpyLWNvbnRleHQtbWVudS1pdGVtLmlzLXRvbmUtZGVsZXRlOmZvY3VzLXZpc2libGUgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDk1LCA5NSwgMC4xNCk7Cn0KCi5tanItY29udGV4dC1tZW51LWl0ZW0uaXMtdG9uZS1mbG9hdGluZy12aWV3ZXI6aG92ZXIsCi5tanItY29udGV4dC1tZW51LWl0ZW0uaXMtdG9uZS1mbG9hdGluZy12aWV3ZXI6Zm9jdXMtdmlzaWJsZSB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDk1LCAyMTEsIDE0MSwgMC4xNCk7Cn0KCi5tanItY29udGV4dC1tZW51LWl0ZW0uaXMtZGlzYWJsZWQgewogICAgY3Vyc29yOiBkZWZhdWx0OwogICAgb3BhY2l0eTogMC40NTsKfQoKLm1qci1jb250ZXh0LW1lbnUtaXRlbS5pcy1kaXNhYmxlZDpob3ZlciwKLm1qci1jb250ZXh0LW1lbnUtaXRlbS5pcy1kaXNhYmxlZDpmb2N1cy12aXNpYmxlIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CgoubWpyLWNvbnRleHQtbWVudS1zZXBhcmF0b3IgewogICAgaGVpZ2h0OiAxcHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ib3JkZXItY29sb3IpOwogICAgbWFyZ2luOiA0cHggMDsKfQoKLm1qci1jb250ZXh0LW1lbnUtaXRlbS1sZWZ0LAoubWpyLWNvbnRleHQtbWVudS1pdGVtLXJpZ2h0IHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMTBweDsKfQoKLm1qci1jb250ZXh0LW1lbnUtaXRlbS1sZWZ0IHsKICAgIGZsZXg6IDEgMSBhdXRvOwogICAgbWluLXdpZHRoOiAwOwp9CgoubWpyLWNvbnRleHQtbWVudS1pdGVtLXJpZ2h0IHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgbWFyZ2luLWxlZnQ6IDE2cHg7Cn0KCi5tanItY29udGV4dC1tZW51LWl0ZW0tbGVmdCBpIHsKICAgIHdpZHRoOiAxNnB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgb3BhY2l0eTogMC44MjsKfQoKLm1qci1jb250ZXh0LW1lbnUtaGludCB7CiAgICBvcGFjaXR5OiAwLjU4OwogICAgZm9udC1zaXplOiAxMXB4OwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoKLm1qci1jb250ZXh0LW1lbnUtc3VibWVudS1hcnJvdyB7CiAgICBvcGFjaXR5OiAwLjcyOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgbGluZS1oZWlnaHQ6IDE7Cn0KCi5tanItYWRkLXRvLWNvbGxlY3Rpb24tbWVudSB7CiAgICBtaW4td2lkdGg6IDI2MHB4OwogICAgbWF4LXdpZHRoOiBtaW4oMzYwcHgsIGNhbGMoMTAwdncgLSAxNnB4KSk7CiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7Cn0KCi5tanItY29udGV4dC1tZW51LXRpdGxlIHsKICAgIHBhZGRpbmc6IDhweCAxNHB4IDEwcHg7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLWZnLWNvbG9yKTsKICAgIG9wYWNpdHk6IDAuOTI7Cn0KCi5tanItY29udGV4dC1tZW51LW5vdGUgewogICAgcGFkZGluZzogMTBweCAxNHB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb250ZW50LWZnKSA3MiUsIHZhcigtLW1qci1tdXRlZCkpOwogICAgbGluZS1oZWlnaHQ6IDEuNDU7Cn0KCi5tanItZ3JpZC1wb3BvdmVyIHsKICAgIG1pbi13aWR0aDogMjUwcHg7CiAgICBtYXgtd2lkdGg6IG1pbigzNjBweCwgY2FsYygxMDB2dyAtIDE2cHgpKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdXJmYWNlLTEpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlcik7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1tanItci1zbSk7CiAgICBib3gtc2hhZG93OiAwIDEycHggMjhweCByZ2JhKDAsIDAsIDAsIDAuMzUpOwp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogICAgLm1qci12aWRlby1jb250cm9scywKICAgIC5tanItY29udGV4dC1tZW51IHsKICAgICAgICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7CiAgICB9Cn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIE1ham9vciBGbG9hdGluZyBWaWV3ZXIgKE1GVikgLSBwb3J0YWxlZCB0byBkb2N1bWVudC5ib2R5CiAgIFJlZGVjbGFyZXMgQ1NTIHZhcmlhYmxlcyBzbyB0aGUgcGFuZWwgd29ya3Mgb3V0c2lkZSAubWpyLWFzc2V0cy1tYW5hZ2VyCiAgIChzYW1lIHBhdHRlcm4gYXMgLm1qci1wb3BvdmVyKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKLm1qci1tZnYgewogICAgLS1tanItc3VyZmFjZS0wOiB2YXIoLS1jb250ZW50LWJnLCAjMWUxZTFlKTsKICAgIC0tbWpyLXN1cmZhY2UtMTogdmFyKC0tY29tZnktbWVudS1iZywgIzJhMmEyYSk7CiAgICAtLW1qci1zdXJmYWNlLTI6IHZhcigtLWNvbWZ5LW1lbnUtc2Vjb25kYXJ5LWJnLCAjMzMzKTsKICAgIC0tbWpyLWJvcmRlcjogdmFyKC0tYm9yZGVyLWNvbG9yLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpKTsKICAgIC0tbWpyLW11dGVkOiB2YXIoLS1kZXNjcmlwLXRleHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSkpOwogICAgLS1tanItYWNjZW50OiB2YXIoLS1jb21meS1hY2NlbnQsICM1ZmIzZmYpOwogICAgLS1tanItc3RhdHVzLXN1Y2Nlc3M6IHZhcigtLWNvbWZ5LXN0YXR1cy1zdWNjZXNzLCAjNGNhZjUwKTsKCiAgICBmb250LWZhbWlseTogdmFyKAogICAgICAgIC0tY29tZnktZm9udCwKICAgICAgICB1aS1zYW5zLXNlcmlmLAogICAgICAgIHN5c3RlbS11aSwKICAgICAgICAtYXBwbGUtc3lzdGVtLAogICAgICAgICJTZWdvZSBVSSIsCiAgICAgICAgUm9ib3RvLAogICAgICAgIEFyaWFsLAogICAgICAgIHNhbnMtc2VyaWYKICAgICk7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBsaW5lLWhlaWdodDogMS4zNTsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCB2YXIoLS1pbnB1dC10ZXh0LCAjZGRkKSk7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwoKICAgIC8qIFZpc3VhbCBjaHJvbWUgKi8KICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdXJmYWNlLTEpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlcik7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICBib3gtc2hhZG93OgogICAgICAgIDAgOHB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjU1KSwKICAgICAgICAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjMpOwp9CgoubWpyLW1mdiAqIHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KCmh0bWwubWpyLW1mdi1wb3BvdXQtZG9jdW1lbnQgewogICAgYmFja2dyb3VuZDoKICAgICAgICByYWRpYWwtZ3JhZGllbnQoCiAgICAgICAgICAgIDEyMDBweCA0MjBweCBhdCA1MCUgMCUsCiAgICAgICAgICAgIGNvbG9yLW1peCgKICAgICAgICAgICAgICAgIGluIHNyZ2IsCiAgICAgICAgICAgICAgICB2YXIoLS1wcmltYXJ5LWJhY2tncm91bmQsIHZhcigtLWNvbWZ5LWFjY2VudCwgIzVmYjNmZikpIDEwJSwKICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50CiAgICAgICAgICAgICksCiAgICAgICAgICAgIHRyYW5zcGFyZW50IDYyJQogICAgICAgICksCiAgICAgICAgbGluZWFyLWdyYWRpZW50KAogICAgICAgICAgICAxODBkZWcsCiAgICAgICAgICAgIGNvbG9yLW1peCgKICAgICAgICAgICAgICAgIGluIHNyZ2IsCiAgICAgICAgICAgICAgICB2YXIoLS1pbnRlcmZhY2UtcGFuZWwtc3VyZmFjZSwgdmFyKC0tY29udGVudC1iZywgIzE2MTkxZikpIDgyJSwKICAgICAgICAgICAgICAgICMwMDAgMTglCiAgICAgICAgICAgICksCiAgICAgICAgICAgIGNvbG9yLW1peCgKICAgICAgICAgICAgICAgIGluIHNyZ2IsCiAgICAgICAgICAgICAgICB2YXIoLS1pbnRlcmZhY2UtbWVudS1zdXJmYWNlLCB2YXIoLS1jb21meS1tZW51LWJnLCAjMWYyMjI3KSkgODQlLAogICAgICAgICAgICAgICAgIzAwMCAxNiUKICAgICAgICAgICAgKQogICAgICAgICk7Cn0KCmJvZHkubWpyLW1mdi1wb3BvdXQtYm9keSB7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKfQoKI21qci1tZnYtcG9wb3V0LXJvb3QsCi5tanItbWZ2LXBvcG91dC1yb290IHsKICAgIGlzb2xhdGlvbjogaXNvbGF0ZTsKfQoKLyogLS0gSGVhZGVyIChkcmFnIGhhbmRsZSkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1qci1tZnYtaGVhZGVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgcGFkZGluZzogNnB4IDEwcHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tanItc3VyZmFjZS0xKTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tanItYm9yZGVyKTsKICAgIGN1cnNvcjogbW92ZTsKICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgZmxleC1zaHJpbms6IDA7CiAgICBnYXA6IDZweDsKICAgIG1pbi1oZWlnaHQ6IDM0cHg7Cn0KCi5tanItbWZ2LWhlYWRlci10aXRsZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDEwcHg7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgb3BhY2l0eTogMC43ODsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIGZsZXg6IDE7CiAgICBsZXR0ZXItc3BhY2luZzogMC4yOHB4Owp9CgovKiAtLSBUb29sYmFyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5tanItbWZ2LXRvb2xiYXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDRweDsKICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMCkgNTAlLCB2YXIoLS1tanItc3VyZmFjZS0xKSA1MCUpOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIpOwogICAgZmxleC1zaHJpbms6IDA7CiAgICBtaW4taGVpZ2h0OiAzNnB4OwogICAgZmxleC13cmFwOiBub3dyYXA7CiAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgb3ZlcmZsb3cteTogaGlkZGVuOwogICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOwp9Ci5tanItbWZ2LXRvb2xiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KCi5tanItbWZ2LXRvb2xiYXItc2VwIHsKICAgIHdpZHRoOiAxcHg7CiAgICBoZWlnaHQ6IDE4cHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tanItYm9yZGVyKTsKICAgIG1hcmdpbjogMCAzcHg7CiAgICBmbGV4LXNocmluazogMDsKfQoKLm1qci1tZnYtcHJvZ3Jlc3MgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGhlaWdodDogMjJweDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tanItYm9yZGVyKTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0wKSA3MiUsICMwMDAgMjglKTsKICAgIGZsZXgtc2hyaW5rOiAwOwogICAgY3Vyc29yOiBkZWZhdWx0Owp9CgoubWpyLW1mdi1wcm9ncmVzcy5pcy1jbGlja2FibGUgewogICAgY3Vyc29yOiBwb2ludGVyOwp9CgoubWpyLW1mdi1wcm9ncmVzcy5pcy1jbGlja2FibGU6aG92ZXIgewogICAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMDMpOwp9CgoubWpyLW1mdi1wcm9ncmVzcy1iYXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAwJTsKICAgIHRyYW5zaXRpb246IHdpZHRoIDcwbXMgZWFzZS1pbi1vdXQ7Cn0KCi5tanItbWZ2LXByb2dyZXNzLWJhci0tbm9kZXMgewogICAgdG9wOiAwOwogICAgaGVpZ2h0OiA1MCU7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN0YXR1cy1zdWNjZXNzKSA2OCUsICMwYjM1MTMgMzIlKTsKfQoKLm1qci1tZnYtcHJvZ3Jlc3MtYmFyLS1zdGVwcyB7CiAgICB0b3A6IDUwJTsKICAgIGhlaWdodDogNTAlOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDY0JSwgIzBiMjM0MCAzNiUpOwp9CgoubWpyLW1mdi1wcm9ncmVzcy5pcy1lcnJvciAubWpyLW1mdi1wcm9ncmVzcy1iYXItLW5vZGVzLAoubWpyLW1mdi1wcm9ncmVzcy5pcy1lcnJvciAubWpyLW1mdi1wcm9ncmVzcy1iYXItLXN0ZXBzIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCAjZDk1MzRmIDc4JSwgIzRhMTQxNCAyMiUpOwp9CgoubWpyLW1mdi1wcm9ncmVzcy1vdmVybGF5IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAwOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KSwgcmdiYSgwLCAwLCAwLCAwLjE4KSk7CiAgICBtaXgtYmxlbmQtbW9kZTogc2NyZWVuOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KCi5tanItbWZ2LXByb2dyZXNzLXRleHQgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgei1pbmRleDogMjsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgaGVpZ2h0OiAxMDAlOwogICAgcGFkZGluZzogMCA4cHg7CiAgICBjb2xvcjogdmFyKC0tY29udGVudC1mZywgI2RkZCk7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgdGV4dC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjkpOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKfQoKLm1qci1tZnYtcGluLWdyb3VwIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IDJweDsKICAgIGZsZXgtc2hyaW5rOiAwOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoubWpyLW1mdi1waW4tYnRuIHsKICAgIHdpZHRoOiAyNnB4OwogICAgaGVpZ2h0OiAyNnB4OwogICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlcik7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tanItc3VyZmFjZS0yKTsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCAjZGRkKTsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBwYWRkaW5nOiAwOwogICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB0cmFuc2l0aW9uOgogICAgICAgIGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZSwKICAgICAgICBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwKICAgICAgICBjb2xvciAxMjBtcyBlYXNlLAogICAgICAgIGJveC1zaGFkb3cgMTIwbXMgZWFzZTsKfQoubWpyLW1mdi1waW4tYnRuOmhvdmVyIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDQ1JSwgdmFyKC0tbWpyLWJvcmRlcikpOwogICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIpIDgwJSwgdmFyKC0tbWpyLWFjY2VudCkgOCUpOwp9Ci5tanItbWZ2LXBpbi1idG4uaXMtcGlubmVkIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDU4JSwgI2ZmZmZmZiAxMiUpOwogICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIpIDQyJSwgdmFyKC0tbWpyLWFjY2VudCkgNTglKTsKICAgIGNvbG9yOiAjZWVmN2ZmOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSAyNCUsIHRyYW5zcGFyZW50KTsKfQoKLyogLS0gUGluIGdyb3VwOiBub3cgYSBkcm9wZG93biBtZW51IChkaXNwbGF5Om5vbmUgYnkgZGVmYXVsdCwgZmxleCB3aGVuIC5pcy1vcGVuKSAtLSAqLwoubWpyLW1mdi1waW4tZ3JvdXAgewogICAgZGlzcGxheTogbm9uZTsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDJweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogY2FsYygxMDAlICsgNHB4KTsKICAgIGxlZnQ6IDA7CiAgICB6LWluZGV4OiAxMDAxMDsKICAgIG1pbi13aWR0aDogNzBweDsKICAgIHBhZGRpbmc6IDRweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbWZ5LW1lbnUtYmcsICMyYTJhMmEpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSk7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC41NSk7Cn0KLm1qci1tZnYtcGluLWdyb3VwLmlzLW9wZW4gewogICAgZGlzcGxheTogZmxleDsKfQoubWpyLW1mdi1waW4tYnRuIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMzBweDsKICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYmFja2dyb3VuZDogbm9uZTsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCAjZGRkKTsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBwYWRkaW5nOiAwIDEwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB0cmFuc2l0aW9uOgogICAgICAgIGJhY2tncm91bmQgMTIwbXMgZWFzZSwKICAgICAgICBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwKICAgICAgICBjb2xvciAxMjBtcyBlYXNlOwp9Ci5tanItbWZ2LXBpbi1idG46aG92ZXIgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDM1JSwgdHJhbnNwYXJlbnQpOwp9Ci5tanItbWZ2LXBpbi1idG4uaXMtcGlubmVkIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDU4JSwgI2ZmZmZmZiAxMiUpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIsICMzMzMpIDQyJSwgdmFyKC0tbWpyLWFjY2VudCwgIzVmYjNmZikgNTglKTsKICAgIGNvbG9yOiAjZWVmN2ZmOwp9CgovKiAtLSBJY29uIERyb3Bkb3duIGNvbXBvbmVudCAoLm1qci1tZnYtaWRyb3ApIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoubWpyLW1mdi1pZHJvcCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBmbGV4LXNocmluazogMDsKfQoKLm1qci1tZnYtaWRyb3AtbWVudSB7CiAgICBkaXNwbGF5OiBub25lOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogMnB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgei1pbmRleDogMTAwMTA7CiAgICBtaW4td2lkdGg6IDExMHB4OwogICAgcGFkZGluZzogNHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tY29tZnktbWVudS1iZywgIzJhMmEyYSk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tanItYm9yZGVyLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpKTsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjU1KTsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLm1qci1tZnYtaWRyb3AtbWVudS5pcy1vcGVuIHsKICAgIGRpc3BsYXk6IGZsZXg7Cn0KCi5tanItbWZ2LWlkcm9wLWl0ZW0gewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDhweDsKICAgIHdpZHRoOiAxMDAlOwogICAgcGFkZGluZzogNnB4IDEwcHg7CiAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgYm9yZGVyOiBub25lOwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgY29sb3I6IHZhcigtLWlucHV0LXRleHQsICNkZGQpOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlOwp9Ci5tanItbWZ2LWlkcm9wLWl0ZW06aG92ZXIgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTsKfQoubWpyLW1mdi1pZHJvcC1pdGVtLmlzLXNlbGVjdGVkIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoOTUsIDE3OSwgMjU1LCAwLjE2KTsKICAgIGNvbG9yOiAjYThkOGZmOwp9Ci5tanItbWZ2LWlkcm9wLXRyaWdnZXJbYXJpYS1leHBhbmRlZD0idHJ1ZSJdIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgIWltcG9ydGFudDsKfQovKiBDaGFubmVsIHRyaWdnZXI6IHNsaWdodGx5IHdpZGVyIHRvIGZpdCAiUkdCIiAqLwoubWpyLW1mdi1jaC1sYWJlbCB7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtOwogICAgbGluZS1oZWlnaHQ6IDE7Cn0KCi8qIFRvb2xiYXIgaWNvbi1idXR0b24gcG9wb3ZlcnMgKGNoYW5uZWwsIGd1aWRlcywgcGluLCBmb3JtYXQgLSBzb3J0LXN0eWxlIGNvbnRleHQgbWVudXMpICovCi5tanItbWZ2LWNoLXBvcG92ZXIsCi5tanItbWZ2LWd1aWRlcy1wb3BvdmVyLAoubWpyLW1mdi1waW4tcG9wb3ZlciwKLm1qci1tZnYtZm9ybWF0LXBvcG92ZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbWluLXdpZHRoOiAxMjBweDsKICAgIHBhZGRpbmc6IDZweDsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZywgMC41cmVtKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdXJmYWNlLTEsIHZhcigtLWNvbWZ5LW1lbnUtYmcsICMyYTJhMmEpKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpOwogICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuNTUpOwogICAgei1pbmRleDogMTAwMTA7CiAgICBkaXNwbGF5OiBub25lOwp9Ci5tanItbWZ2LWNoLXBvcG92ZXIuaXMtb3BlbiwKLm1qci1tZnYtZ3VpZGVzLXBvcG92ZXIuaXMtb3BlbiwKLm1qci1tZnYtcGluLXBvcG92ZXIuaXMtb3BlbiwKLm1qci1tZnYtZm9ybWF0LXBvcG92ZXIuaXMtb3BlbiB7CiAgICBkaXNwbGF5OiBibG9jazsKfQovKiBUb29sYmFyIGljb24gaW1hZ2VzIC0gY2ggaWNvbiBpcyBibGFjayAoaW52ZXJ0ZWQpLCBndWlkZXMgaWNvbiBpcyBuYXRpdmUgd2hpdGUgKi8KLm1qci1tZnYtY2gtaWNvbiB7CiAgICB3aWR0aDogMThweDsKICAgIGhlaWdodDogMThweDsKICAgIGZpbHRlcjogaW52ZXJ0KDEpOwogICAgb3BhY2l0eTogMC44NTsKICAgIGRpc3BsYXk6IGJsb2NrOwp9Ci5tanItbWZ2LWd1aWRlcy1pY29uIHsKICAgIHdpZHRoOiAxOHB4OwogICAgaGVpZ2h0OiAxOHB4OwogICAgb3BhY2l0eTogMC44NTsKICAgIGRpc3BsYXk6IGJsb2NrOwp9Ci5tanItbWZ2LWNoLXRyaWdnZXJbYXJpYS1leHBhbmRlZD0idHJ1ZSJdLAoubWpyLW1mdi1ndWlkZXMtdHJpZ2dlclthcmlhLWV4cGFuZGVkPSJ0cnVlIl0sCi5tanItbWZ2LXBpbi10cmlnZ2VyW2FyaWEtZXhwYW5kZWQ9InRydWUiXSwKLm1qci1tZnYtZm9ybWF0LXRyaWdnZXJbYXJpYS1leHBhbmRlZD0idHJ1ZSJdIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgIWltcG9ydGFudDsKfQovKiBQaW4gc2xvdCBhY3RpdmUgc3RhdGUgKi8KLm1qci1tZnYtcGluLXBvcG92ZXIgLm1qci1tZW51LWl0ZW0uaXMtcGlubmVkIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoOTUsIDE3OSwgMjU1LCAwLjE2KTsKICAgIGNvbG9yOiAjYThkOGZmOwp9Ci5tanItbWZ2LXBpbi1wb3BvdmVyIC5tanItbWVudS1pdGVtLmlzLXBpbm5lZCAubWpyLW1lbnUtaXRlbS1jaGVjayB7CiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7Cn0KLyogRm9ybWF0IHBvcG92ZXI6IHNlcGFyYXRvciArIG9wYWNpdHkgc2xpZGVyIHJvdyAqLwoubWpyLW1mdi1mb3JtYXQtc2VwIHsKICAgIGhlaWdodDogMXB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tbWpyLWJvcmRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpKTsKICAgIG1hcmdpbjogNHB4IDJweDsKfQoubWpyLW1mdi1mb3JtYXQtc2xpZGVyLXJvdyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogNnB4OwogICAgcGFkZGluZzogNHB4IDhweCAycHg7Cn0KLm1qci1tZnYtZm9ybWF0LXNsaWRlci1sYWJlbCB7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBjb2xvcjogdmFyKC0taW5wdXQtdGV4dCwgI2RkZCk7CiAgICBvcGFjaXR5OiAwLjY1OwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGZsZXgtc2hyaW5rOiAwOwp9Ci5tanItbWZ2LWZvcm1hdC1wb3BvdmVyIGlucHV0W3R5cGU9InJhbmdlIl0gewogICAgZmxleDogMTsKICAgIG1pbi13aWR0aDogNzBweDsKICAgIGFjY2VudC1jb2xvcjogdmFyKC0tbWpyLWFjY2VudCwgIzVmYjNmZik7Cn0KLm1qci1tZnYtZm9ybWF0LXBvcG92ZXIgLm1qci1tZnYtdG9vbGJhci1yYW5nZS1vdXQgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgY29sb3I6IHZhcigtLWlucHV0LXRleHQsICNkZGQpOwogICAgb3BhY2l0eTogMC42NTsKICAgIG1pbi13aWR0aDogMzBweDsKICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgZmxleC1zaHJpbms6IDA7Cn0KCi5tanItbWZ2IC5tanItaWNvbi1idG4gewogICAgd2lkdGg6IDMwcHg7CiAgICBoZWlnaHQ6IDMwcHg7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGJvcmRlci1yYWRpdXM6IDdweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIpOwogICAgYmFja2dyb3VuZDogdmFyKC0tbWpyLXN1cmZhY2UtMik7CiAgICBjb2xvcjogdmFyKC0tY29udGVudC1mZywgI2RkZCk7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBwYWRkaW5nOiAwOwogICAgZmxleC1zaHJpbms6IDA7CiAgICB0cmFuc2l0aW9uOgogICAgICAgIHRyYW5zZm9ybSAxMjBtcyBlYXNlLAogICAgICAgIGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZSwKICAgICAgICBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwKICAgICAgICBjb2xvciAxMjBtcyBlYXNlLAogICAgICAgIGJveC1zaGFkb3cgMTIwbXMgZWFzZTsKfQoKLm1qci1tZnYgLm1qci1pY29uLWJ0bjpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSA0NSUsIHZhcigtLW1qci1ib3JkZXIpKTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA4MCUsIHZhcigtLW1qci1hY2NlbnQpIDglKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsKfQoKLm1qci1tZnYgLm1qci1pY29uLWJ0bjpmb2N1cy12aXNpYmxlIHsKICAgIG91dGxpbmU6IG5vbmU7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSA1OCUsIHZhcigtLW1qci1ib3JkZXIpKTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgMjQlLCB0cmFuc3BhcmVudCk7Cn0KCi5tanItbWZ2IC5tanItaWNvbi1idG4gLnBpIHsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgb3BhY2l0eTogMC45Owp9CgovKiBVbml2ZXJzYWwgYWN0aXZlIGhpZ2hsaWdodCAtIGFueSBhcmlhLXByZXNzZWQ9InRydWUiIGJ1dHRvbiBnZXRzIGFjY2VudCBnbG93LgogICBQbGFjZWQgYmVmb3JlIHRoZSBjb2xvcmVkIGFjdGl2ZSBjbGFzc2VzIHNvIHRoZXkgY2FuIG92ZXJyaWRlIHdpdGggdGhlaXIgb3duIGNvbG9yLiAqLwoubWpyLW1mdiAubWpyLWljb24tYnRuW2FyaWEtcHJlc3NlZD0idHJ1ZSJdIHsKICAgIGJvcmRlci1jb2xvcjogcmdiYSg5NSwgMTc5LCAyNTUsIDAuNTUpOwogICAgY29sb3I6IHZhcigtLW1qci1hY2NlbnQsICM1ZmIzZmYpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIsICMzMzMpIDgwJSwgdmFyKC0tbWpyLWFjY2VudCwgIzVmYjNmZikgMTUlKTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCwgIzVmYjNmZikgMjUlLCB0cmFuc3BhcmVudCk7Cn0KLm1qci1tZnYgLm1qci1pY29uLWJ0blthcmlhLXByZXNzZWQ9InRydWUiXSAucGkgewogICAgb3BhY2l0eTogMTsKfQoKLm1qci1tZnYgLm1qci1pY29uLWJ0bi5tanItbGl2ZS1hY3RpdmUgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN0YXR1cy1zdWNjZXNzKSA2MCUsIHZhcigtLW1qci1ib3JkZXIpKTsKICAgIGNvbG9yOiB2YXIoLS1tanItc3RhdHVzLXN1Y2Nlc3MpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIpIDgwJSwgdmFyKC0tbWpyLXN0YXR1cy1zdWNjZXNzKSAxMiUpOwogICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3RhdHVzLXN1Y2Nlc3MpIDI1JSwgdHJhbnNwYXJlbnQpOwp9CgoubWpyLW1mdiAubWpyLWljb24tYnRuLm1qci1saXZlLWFjdGl2ZSAucGkgewogICAgb3BhY2l0eTogMTsKfQoKLm1qci1tZnYgLm1qci1pY29uLWJ0bi5tanItcHJldmlldy1hY3RpdmUgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNjAlLCB2YXIoLS1tanItYm9yZGVyKSk7CiAgICBjb2xvcjogdmFyKC0tbWpyLWFjY2VudCk7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgODAlLCB2YXIoLS1tanItYWNjZW50KSAxMiUpOwogICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSAyNSUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1tZnYgLm1qci1pY29uLWJ0bi5tanItcHJldmlldy1hY3RpdmUgLnBpIHsKICAgIG9wYWNpdHk6IDE7Cn0KCi5tanItbWZ2IC5tanItaWNvbi1idG4ubWpyLW5vZGVzdHJlYW0tYWN0aXZlIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdGF0dXMtd2FybmluZywgI2ZmOTgwMCkgNjAlLCB2YXIoLS1tanItYm9yZGVyKSk7CiAgICBjb2xvcjogdmFyKC0tbWpyLXN0YXR1cy13YXJuaW5nLCAjZmY5ODAwKTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peCgKICAgICAgICBpbiBzcmdiLAogICAgICAgIHZhcigtLW1qci1zdXJmYWNlLTIpIDgwJSwKICAgICAgICB2YXIoLS1tanItc3RhdHVzLXdhcm5pbmcsICNmZjk4MDApIDEyJQogICAgKTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN0YXR1cy13YXJuaW5nLCAjZmY5ODAwKSAyNSUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1tZnYgLm1qci1pY29uLWJ0bi5tanItbm9kZXN0cmVhbS1hY3RpdmUgLnBpIHsKICAgIG9wYWNpdHk6IDE7Cn0KCi8qIFBvcC1pbiBtb2RlICh2aWV3ZXIgcG9wcGVkIG91dCk6IHJhaXNlIGJ1dHRvbiBjb250cmFzdC9icmlnaHRuZXNzICovCi5tanItbWZ2Lm1qci1tZnYtLXBvcHBlZCB7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgMTgwZGVnLAogICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0xKSA5MiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCkpLAogICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0wKSA5MiUsIHJnYmEoMCwgMCwgMCwgMC4xOCkpCiAgICApOwogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgNzQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpKTsKICAgIGJveC1zaGFkb3c6CiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpLAogICAgICAgIDAgMjRweCA1NnB4IHJnYmEoMCwgMCwgMCwgMC40Mik7Cn0KCi5tanItbWZ2Lm1qci1tZnYtLXBvcHBlZCAubWpyLW1mdi1oZWFkZXIgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KAogICAgICAgIDE4MGRlZywKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgODglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpKSwKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMSkgOTAlLCByZ2JhKDAsIDAsIDAsIDAuMjQpKQogICAgKTsKICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYm9yZGVyKSA3OCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCkpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpOwp9CgoubWpyLW1mdi5tanItbWZ2LS1wb3BwZWQgLm1qci1tZnYtaGVhZGVyLXRpdGxlIHsKICAgIG9wYWNpdHk6IDAuOTg7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbnRlbnQtZmcsICNlZWY0ZmYpIDk0JSwgI2ZmZmZmZiA2JSk7Cn0KCi5tanItbWZ2Lm1qci1tZnYtLXBvcHBlZCAubWpyLW1mdi10b29sYmFyIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgKICAgICAgICAxODBkZWcsCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTEpIDg4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KSksCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTApIDkwJSwgcmdiYSgwLCAwLCAwLCAwLjI0KSkKICAgICk7CiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgNzglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpKTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItbWZ2LXRvb2xiYXItc2VwIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYm9yZGVyKSA3OCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCkpOwp9CgoubWpyLW1mdi5tanItbWZ2LS1wb3BwZWQgLm1qci1tZnYtcHJvZ3Jlc3MgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KAogICAgICAgIDE4MGRlZywKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMCkgODIlLCAjMGExMTE4IDE4JSksCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTApIDkyJSwgIzAwMCA4JSkKICAgICk7CiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgNzglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpKTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItbWZ2LXByb2dyZXNzLXRleHQgewogICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb250ZW50LWZnLCAjZWVmNGZmKSA5NCUsICNmZmZmZmYgNiUpOwp9CgoubWpyLW1mdi5tanItbWZ2LS1wb3BwZWQgLm1qci1tZnYtY29udGVudCB7CiAgICBiYWNrZ3JvdW5kOgogICAgICAgIHJhZGlhbC1ncmFkaWVudCgKICAgICAgICAgICAgY2lyY2xlIGF0IHRvcCwKICAgICAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDEwJSwgdHJhbnNwYXJlbnQpIDAlLAogICAgICAgICAgICB0cmFuc3BhcmVudCA0MiUKICAgICAgICApLAogICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0wKSA4MiUsICMwMDAgMTglKTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItaWNvbi1idG4gewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgNzYlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgKICAgICAgICAxODBkZWcsCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIpIDg2JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSksCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTEpIDkyJSwgcmdiYSgwLCAwLCAwLCAwLjE4KSkKICAgICk7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbnRlbnQtZmcsICNkZGQpIDkyJSwgI2ZmZmZmZiA4JSkgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6CiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpLAogICAgICAgIDAgOHB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjE4KTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItaWNvbi1idG46aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNTIlLCB2YXIoLS1tanItYm9yZGVyKSk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgMTgwZGVnLAogICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA1OCUsIHZhcigtLW1qci1hY2NlbnQpIDQyJSksCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTEpIDYyJSwgdmFyKC0tbWpyLWFjY2VudCkgMzglKQogICAgKTsKICAgIGNvbG9yOiAjZjRmOGZmICFpbXBvcnRhbnQ7Cn0KCi5tanItbWZ2Lm1qci1tZnYtLXBvcHBlZCAubWpyLWljb24tYnRuIC5waSB7CiAgICBvcGFjaXR5OiAxOwogICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItaWNvbi1idG4ubWpyLWxpdmUtYWN0aXZlIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdGF0dXMtc3VjY2VzcykgNjAlLCAjZmZmZmZmIDQwJSk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgMTgwZGVnLAogICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3RhdHVzLXN1Y2Nlc3MpIDYyJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSksCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdGF0dXMtc3VjY2VzcykgMzYlLCB2YXIoLS1tanItc3VyZmFjZS0xKSA2NCUpCiAgICApOwogICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6CiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpLAogICAgICAgIDAgMCAwIDFweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN0YXR1cy1zdWNjZXNzKSAyNCUsIHRyYW5zcGFyZW50KSwKICAgICAgICAwIDAgMThweCByZ2JhKDc2LCAxNzUsIDgwLCAwLjE4KTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItaWNvbi1idG4ubWpyLXByZXZpZXctYWN0aXZlIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDU4JSwgI2ZmZmZmZiA0MiUpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KAogICAgICAgIDE4MGRlZywKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNjIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpKSwKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgMzYlLCB2YXIoLS1tanItc3VyZmFjZS0xKSA2NCUpCiAgICApOwogICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsKICAgIGJveC1zaGFkb3c6CiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpLAogICAgICAgIDAgMCAwIDFweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgMjQlLCB0cmFuc3BhcmVudCksCiAgICAgICAgMCAwIDE4cHggcmdiYSg5NSwgMTc5LCAyNTUsIDAuMTgpOwp9CgoubWpyLW1mdi5tanItbWZ2LS1wb3BwZWQgLm1qci1pY29uLWJ0bi5tanItbm9kZXN0cmVhbS1hY3RpdmUgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN0YXR1cy13YXJuaW5nLCAjZmY5ODAwKSA1OCUsICNmZmZmZmYgNDIlKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgKICAgICAgICAxODBkZWcsCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdGF0dXMtd2FybmluZywgI2ZmOTgwMCkgNjIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpKSwKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN0YXR1cy13YXJuaW5nLCAjZmY5ODAwKSAzNiUsIHZhcigtLW1qci1zdXJmYWNlLTEpIDY0JSkKICAgICk7CiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzoKICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMiksCiAgICAgICAgMCAwIDAgMXB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3RhdHVzLXdhcm5pbmcsICNmZjk4MDApIDI0JSwgdHJhbnNwYXJlbnQpLAogICAgICAgIDAgMCAxOHB4IHJnYmEoMjU1LCAxNTIsIDAsIDAuMTgpOwp9CgoubWpyLW1mdi5tanItbWZ2LS1wb3BwZWQgLm1qci1tZnYtcGluLWJ0biB7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYm9yZGVyKSA3NiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNikpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KAogICAgICAgIDE4MGRlZywKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgODQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpKSwKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMSkgOTIlLCByZ2JhKDAsIDAsIDAsIDAuMTgpKQogICAgKTsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29udGVudC1mZywgI2RkZCkgOTIlLCAjZmZmZmZmIDglKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItbWZ2LXBpbi1idG46aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNTIlLCB2YXIoLS1tanItYm9yZGVyKSk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgMTgwZGVnLAogICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yKSA1NiUsIHZhcigtLW1qci1hY2NlbnQpIDQ0JSksCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTEpIDY0JSwgdmFyKC0tbWpyLWFjY2VudCkgMzYlKQogICAgKTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItbWZ2LXBpbi1idG4uaXMtcGlubmVkIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDU4JSwgI2ZmZmZmZiA0MiUpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KAogICAgICAgIDE4MGRlZywKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNjIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpKSwKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgMzYlLCB2YXIoLS1tanItc3VyZmFjZS0xKSA2NCUpCiAgICApOwogICAgY29sb3I6ICNmZmZmZmY7Cn0KCi5tanItbWZ2Lm1qci1tZnYtLXBvcHBlZCAubWpyLXdzLXNpZGViYXIgewogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KAogICAgICAgIDE4MGRlZywKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMSkgOTQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpKSwKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMCkgOTQlLCByZ2JhKDAsIDAsIDAsIDAuMTgpKQogICAgKTsKICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgNzglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItbWZ2LWNvbnRlbnQtd3JhcHBlcltkYXRhLXNpZGViYXItcG9zPSJsZWZ0Il0gLm1qci13cy1zaWRlYmFyIHsKICAgIGJvcmRlci1yaWdodC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1ib3JkZXIpIDc4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KSk7Cn0KCi5tanItbWZ2Lm1qci1tZnYtLXBvcHBlZCAubWpyLXdzLXNpZGViYXItaGVhZGVyIHsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgKICAgICAgICAxODBkZWcsCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIpIDg0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSksCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTEpIDkyJSwgcmdiYSgwLCAwLCAwLCAwLjE4KSkKICAgICk7CiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgNzYlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpKTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItd3Mtc2lkZWJhci10aXRsZSB7CiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbnRlbnQtZmcsICNlZWY0ZmYpIDgyJSwgdmFyKC0tbWpyLW11dGVkKSAxOCUpOwogICAgb3BhY2l0eTogMC44ODsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItd3Mtbm9kZSB7CiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgNzIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpKTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItd3Mtbm9kZS1oZWFkZXIgewogICAgYmFja2dyb3VuZDoKICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKSwKICAgICAgICBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgICAgIDE4MGRlZywKICAgICAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTEpIDg2JSwgdmFyKC0tbWpyLWFjY2VudCkgMTQlKSwKICAgICAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTApIDg2JSwgcmdiYSgwLCAwLCAwLCAwLjE0KSkKICAgICAgICApOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpOwp9CgoubWpyLW1mdi5tanItbWZ2LS1wb3BwZWQgLm1qci13cy1ub2RlLXRpdGxlIHsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29udGVudC1mZywgI2VlZjRmZikgOTQlLCAjZmZmZmZmIDYlKTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItd3Mtd2lkZ2V0LWxhYmVsLAoubWpyLW1mdi5tanItbWZ2LS1wb3BwZWQgLm1qci13cy1zaWRlYmFyLWVtcHR5LAoubWpyLW1mdi5tanItbWZ2LS1wb3BwZWQgLm1qci13cy1ub2RlLWVtcHR5IHsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLW11dGVkKSA4NCUsICNmZmZmZmYgMTYlKTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItd3MtaW5wdXQgewogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTApIDc0JSwgIzA1MDcwYSAyNiUpOwogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgNzQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpKTsKICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItd3MtaW5wdXQ6Zm9jdXMgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNTglLCAjZmZmZmZmIDEwJSk7CiAgICBib3gtc2hhZG93OgogICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KSwKICAgICAgICAwIDAgMCAycHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDE4JSwgdHJhbnNwYXJlbnQpOwp9CgoubWpyLW1mdiAubWpyLWljb24tYnRuLm1qci1wb3Bpbi1hY3RpdmUgewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNTglLCAjZmZmZmZmIDQyJSk7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMikgNDUlLCB2YXIoLS1tanItYWNjZW50KSA1NSUpOwogICAgY29sb3I6ICNlZWY3ZmY7Cn0KCi8qIC0tIENvbnRlbnQgd3JhcHBlciAoaG9yaXpvbnRhbCBmbGV4OiBjb250ZW50ICsgc2lkZWJhcikgLS0tLS0tLS0tLS0tLS0gKi8KLm1qci1tZnYtY29udGVudC13cmFwcGVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4OiAxOwogICAgbWluLWhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7Cn0KCi8qIC0tIFNpZGViYXIgcG9zaXRpb24gdmFyaWFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0ibGVmdCJdIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7Cn0KLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImxlZnQiXSAubWpyLXdzLXNpZGViYXIgewogICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1tanItYm9yZGVyLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpKTsKfQoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gewogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gLm1qci13cy1zaWRlYmFyIHsKICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDA7CiAgICB0cmFuc2l0aW9uOgogICAgICAgIGhlaWdodCAwLjJzIGVhc2UsCiAgICAgICAgd2lkdGggMHM7Cn0KLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItd3Mtc2lkZWJhci5vcGVuIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAyMjBweDsKICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICBtaW4taGVpZ2h0OiAxMjBweDsKICAgIG1heC1oZWlnaHQ6IDY1JTsKfQoKLyogLS0gQ29udGVudCBhcmVhIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoubWpyLW1mdi1jb250ZW50IHsKICAgIGZsZXg6IDE7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgYmFja2dyb3VuZDogIzBkMGQwZDsKICAgIG1pbi1oZWlnaHQ6IDA7Cn0KCi5tanItbWZ2LWdlbi1zaWRlYmFyIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBmbGV4OiAwIDAgMzIwcHg7CiAgICB3aWR0aDogMzIwcHg7CiAgICBtaW4td2lkdGg6IDIxMHB4OwogICAgbWF4LXdpZHRoOiBtaW4oNDIlLCA0MjBweCk7CiAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgcGFkZGluZzogMTBweDsKICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE4LCAxOCwgMjAsIDAuOTYpOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44OCk7Cn0KCi5tanItbWZ2LWdlbi1zaWRlYmFyLm9wZW4gewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDEwcHg7Cn0KCi5tanItbWZ2LWNvbnRlbnQtd3JhcHBlcltkYXRhLXNpZGViYXItcG9zPSJsZWZ0Il0gLm1qci1tZnYtZ2VuLXNpZGViYXIgewogICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1tanItYm9yZGVyLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpKTsKICAgIGJvcmRlci1yaWdodDogbm9uZTsKfQoKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi1zaWRlYmFyIHsKICAgIGZsZXg6IDAgMCBjbGFtcCgxOTBweCwgMzIlLCAyODBweCk7CiAgICB3aWR0aDogMTAwJTsKICAgIG1heC13aWR0aDogbm9uZTsKICAgIG1pbi13aWR0aDogMDsKICAgIG1heC1oZWlnaHQ6IDQ2JTsKICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpOwp9CgoubWpyLW1mdi1nZW4tc2lkZWJhci10aXRsZSB7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDA7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KTsKfQoKLm1qci1tZnYtZ2VuLXNpZGViYXItc2VjdGlvbiB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogNnB4OwogICAgcGFkZGluZy10b3A6IDhweDsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7Cn0KCi5tanItbWZ2LWdlbi1zaWRlYmFyLXNlY3Rpb246Zmlyc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogMDsKICAgIGJvcmRlci10b3A6IG5vbmU7Cn0KCi5tanItbWZ2LWdlbi1zaWRlYmFyLWhlYWRpbmcgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzIpOwp9CgoubWpyLW1mdi1nZW4tc2lkZWJhci1ib2R5IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAxMHB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgbGluZS1oZWlnaHQ6IDEuNDU7CiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwp9CgoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gLm1qci1tZnYtZ2VuLXNpZGViYXIub3BlbiB7CiAgICBnYXA6IDZweDsKfQoKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi1zaWRlYmFyLXRpdGxlIHsKICAgIGZsZXg6IDAgMCBhdXRvOwp9CgoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gLm1qci1tZnYtZ2VuLXNpZGViYXItc2VjdGlvbiB7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIG1pbi1oZWlnaHQ6IGF1dG87CiAgICBwYWRkaW5nLXRvcDogNHB4Owp9CgoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gLm1qci1tZnYtZ2VuLXNpZGViYXItaGVhZGluZyB7CiAgICBkaXNwbGF5OiBub25lOwp9CgoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gLm1qci1tZnYtZ2VuLXNpZGViYXItYm9keSB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbHVtbnM6IDMgMTcwcHg7CiAgICBjb2x1bW4tZ2FwOiAxMHB4OwogICAgY29sdW1uLWZpbGw6IGJhbGFuY2U7CiAgICBtaW4taGVpZ2h0OiBhdXRvOwogICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgb3ZlcmZsb3cteTogdmlzaWJsZTsKICAgIHBhZGRpbmctcmlnaHQ6IDJweDsKICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjsKfQoKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi1zaWRlYmFyLWJvZHkgPiAqIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBicmVhay1pbnNpZGU6IGF2b2lkOwogICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOwogICAgbWluLXdpZHRoOiAwOwogICAgbWluLWhlaWdodDogMDsKICAgIG1hcmdpbi1ibG9jazogMCAxMHB4Owp9CgoubWpyLW1mdi1nZW4tdGltZS1iYWRnZSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGdhcDogMTJweDsKICAgIHBhZGRpbmc6IDhweCAxMHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjQsIDI1NSwgMTIyLCAwLjQyKTsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyMjQsIDI1NSwgMTIyLCAwLjE2KSwgcmdiYSg3NiwgMTc1LCA4MCwgMC4xKSk7CiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyMjQsIDI1NSwgMTIyLCAwLjEyKSBpbnNldDsKICAgIGN1cnNvcjogY29weTsKICAgIHRyYW5zaXRpb246CiAgICAgICAgYmFja2dyb3VuZCAwLjE2cyBlYXNlLAogICAgICAgIGJvcmRlci1jb2xvciAwLjE2cyBlYXNlLAogICAgICAgIGJveC1zaGFkb3cgMC4xNnMgZWFzZTsKfQoKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi10aW1lLWJhZGdlIHsKICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGJvcmRlci1yYWRpdXM6IDZweDsKfQoKLm1qci1tZnYtZ2VuLXRpbWUtbGFiZWwgewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43Mik7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKfQoKLm1qci1tZnYtZ2VuLXRpbWUtdmFsdWUgewogICAgY29sb3I6ICNlMGZmN2E7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBmb250LXdlaWdodDogODAwOwogICAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBNb25hY28sIG1vbm9zcGFjZTsKfQoKLm1qci1tZnYtZ2VuLWNhcmQgewogICAgLS1tanItbWZ2LWdlbi1hY2NlbnQ6ICMyMTk2ZjM7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogOHB4OwogICAgcGFkZGluZzogMTJweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItbWZ2LWdlbi1hY2NlbnQpIDQ1JSwgdHJhbnNwYXJlbnQpOwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KAogICAgICAgIDEzNWRlZywKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLW1mdi1nZW4tYWNjZW50KSAxNiUsIHRyYW5zcGFyZW50KSAwJSwKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLW1mdi1nZW4tYWNjZW50KSA4JSwgdHJhbnNwYXJlbnQpIDEwMCUKICAgICk7CiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1tZnYtZ2VuLWFjY2VudCkgMTQlLCB0cmFuc3BhcmVudCkgaW5zZXQ7CiAgICBjdXJzb3I6IGNvcHk7CiAgICB0cmFuc2l0aW9uOgogICAgICAgIGJhY2tncm91bmQgMC4xNnMgZWFzZSwKICAgICAgICBib3JkZXItY29sb3IgMC4xNnMgZWFzZSwKICAgICAgICBib3gtc2hhZG93IDAuMTZzIGVhc2U7Cn0KCi5tanItbWZ2LWNvbnRlbnQtd3JhcHBlcltkYXRhLXNpZGViYXItcG9zPSJib3R0b20iXSAubWpyLW1mdi1nZW4tY2FyZCB7CiAgICBtaW4taGVpZ2h0OiAwOwogICAgcGFkZGluZzogMTBweDsKfQoKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi1jYXJkLS1wb3NpdGl2ZS1wcm9tcHQsCi5tanItbWZ2LWNvbnRlbnQtd3JhcHBlcltkYXRhLXNpZGViYXItcG9zPSJib3R0b20iXSAubWpyLW1mdi1nZW4tY2FyZC0tbmVnYXRpdmUtcHJvbXB0LAoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gLm1qci1tZnYtZ2VuLWNhcmQtLXByb21wdCB7CiAgICBtaW4taGVpZ2h0OiAxMTBweDsKfQoKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi1jYXJkLS13b3JrZmxvdyB7CiAgICBtaW4taGVpZ2h0OiA1OHB4Owp9CgoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gLm1qci1tZnYtZ2VuLWNhcmQtLW1vZGVsLWFuZC1sb3JhLAoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gLm1qci1tZnYtZ2VuLWNhcmQtLW1vZGVscywKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi1jYXJkLS1zYW1wbGluZywKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi1jYXJkLS1nZW5lcmF0aW9uLXBpcGVsaW5lLAoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gLm1qci1tZnYtZ2VuLWNhcmQtLXRleHQtdG8taW1hZ2UsCi5tanItbWZ2LWNvbnRlbnQtd3JhcHBlcltkYXRhLXNpZGViYXItcG9zPSJib3R0b20iXSAubWpyLW1mdi1nZW4tY2FyZC0taW1hZ2UtdG8taW1hZ2UsCi5tanItbWZ2LWNvbnRlbnQtd3JhcHBlcltkYXRhLXNpZGViYXItcG9zPSJib3R0b20iXSAubWpyLW1mdi1nZW4tY2FyZC0taW5wYWludCwKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi1jYXJkLS11cHNjYWxlLAoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gLm1qci1tZnYtZ2VuLWNhcmQtLXJlZmluZSB7CiAgICBtaW4taGVpZ2h0OiA4NnB4Owp9CgoubWpyLW1mdi1nZW4tY2FyZC0tc2VlZCB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGJvcmRlci13aWR0aDogMnB4Owp9CgoubWpyLW1mdi1nZW4tY2FyZC0tY29tcGFjdCB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGdhcDogMTJweDsKfQoKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi1jYXJkLS1jb21wYWN0IHsKICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKfQoKLm1qci1tZnYtZ2VuLWNhcmQtLWNvbXBhY3QgLm1qci1tZnYtZ2VuLWNhcmQtdGl0bGUsCi5tanItbWZ2LWdlbi1jYXJkLS1jb21wYWN0IC5tanItbWZ2LWdlbi1jYXJkLXZhbHVlIHsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KCi5tanItbWZ2LWdlbi1jYXJkOmhvdmVyLAoubWpyLW1mdi1nZW4tdGltZS1iYWRnZTpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItbWZ2LWdlbi1hY2NlbnQsICNlMGZmN2EpIDcwJSwgdHJhbnNwYXJlbnQpOwogICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItbWZ2LWdlbi1hY2NlbnQsICNlMGZmN2EpIDI0JSwgdHJhbnNwYXJlbnQpCiAgICAgICAgaW5zZXQ7Cn0KCi5tanItbWZ2LWdlbi1jb3B5LWZsYXNoIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoNzYsIDE3NSwgODAsIDAuMjgpICFpbXBvcnRhbnQ7Cn0KCi5tanItbWZ2LWdlbi1jYXJkLXRpdGxlIHsKICAgIGNvbG9yOiB2YXIoLS1tanItbWZ2LWdlbi1hY2NlbnQpOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7Cn0KCi5tanItbWZ2LWdlbi1jYXJkLXZhbHVlIHsKICAgIGNvbG9yOiB2YXIoLS1mZy1jb2xvciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKSk7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBtaW4td2lkdGg6IDA7CiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwp9CgoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gLm1qci1tZnYtZ2VuLWNhcmQtdmFsdWUgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgLXdlYmtpdC1saW5lLWNsYW1wOiA1OwogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKfQoKLm1qci1tZnYtZ2VuLWNhcmQtdmFsdWUuaXMtY29tcGFjdCB7CiAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KCi5tanItbWZ2LWNvbnRlbnQtd3JhcHBlcltkYXRhLXNpZGViYXItcG9zPSJib3R0b20iXSAubWpyLW1mdi1nZW4tY2FyZC12YWx1ZS5pcy1jb21wYWN0IHsKICAgIHRleHQtYWxpZ246IGxlZnQ7Cn0KCi5tanItbWZ2LWdlbi1jYXJkLXZhbHVlLmlzLW11bHRpbGluZSB7CiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7Cn0KCi5tanItbWZ2LWdlbi1jYXJkLS1zZWVkIC5tanItbWZ2LWdlbi1jYXJkLXZhbHVlIHsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBmb250LWZhbWlseTogQ29uc29sYXMsIE1vbmFjbywgbW9ub3NwYWNlOwogICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgIGNvbG9yOiAjZmZmOwp9CgoubWpyLW1mdi1nZW4tY2FyZC12YWx1ZS5pcy1maWVsZHMgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgZ2FwOiA4cHg7Cn0KCi5tanItbWZ2LWNvbnRlbnQtd3JhcHBlcltkYXRhLXNpZGViYXItcG9zPSJib3R0b20iXSAubWpyLW1mdi1nZW4tY2FyZC12YWx1ZS5pcy1maWVsZHMgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDdweDsKICAgIC13ZWJraXQtbGluZS1jbGFtcDogdW5zZXQ7Cn0KCi5tanItbWZ2LWdlbi1jYXJkLXZhbHVlLmlzLWJyYW5jaC1ncm91cHMgewogICAgZ2FwOiAxMHB4Owp9CgoubWpyLW1mdi1nZW4tYnJhbmNoLWdyb3VwIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiA3cHg7CiAgICBtaW4td2lkdGg6IDA7CiAgICBwYWRkaW5nOiA4cHg7CiAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQ1KTsKfQoKLm1qci1tZnYtZ2VuLWJyYW5jaC10aXRsZSB7CiAgICBjb2xvcjogdmFyKC0tbWpyLW1mdi1nZW4tYWNjZW50KTsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoubWpyLW1mdi1nZW4tZmllbGQgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDc4cHgsIGF1dG8pIDFmcjsKICAgIGdhcDogMTBweDsKICAgIGFsaWduLWl0ZW1zOiBzdGFydDsKICAgIG1pbi13aWR0aDogMDsKfQoKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi1maWVsZCB7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCg1NHB4LCBhdXRvKSBtaW5tYXgoMCwgMWZyKTsKfQoKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi1maWVsZC12YWx1ZSB7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9CgoubWpyLW1mdi1nZW4tZmllbGQtbGFiZWwgewogICAgY29sb3I6IHZhcigtLW1qci1tdXRlZCwgcmdiYSgxODAsIDE4MCwgMTgwLCAwLjcyKSk7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBmb250LXdlaWdodDogNjAwOwp9CgoubWpyLW1mdi1nZW4tZmllbGQtdmFsdWUgewogICAgY29sb3I6IHZhcigtLWZnLWNvbG9yLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpKTsKICAgIG1pbi13aWR0aDogMDsKICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7Cn0KCi5tanItbWZ2LWdlbi1zaWRlYmFyLWJvZHkgc3Ryb25nIHsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBtYXJnaW4tcmlnaHQ6IDRweDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpOwp9CgoubWpyLW1mdi1nZW4tc2lkZWJhci1ib2R5IFtkYXRhLWZpZWxkPSJwcm9tcHQiXSBzdHJvbmcgewogICAgY29sb3I6ICM3ZWM4ZmY7Cn0KLm1qci1tZnYtZ2VuLXNpZGViYXItYm9keSBbZGF0YS1maWVsZD0ic2VlZCJdIHN0cm9uZyB7CiAgICBjb2xvcjogI2ZmZDQ3YTsKfQoubWpyLW1mdi1nZW4tc2lkZWJhci1ib2R5IFtkYXRhLWZpZWxkPSJtb2RlbCJdIHN0cm9uZyB7CiAgICBjb2xvcjogIzdkZGE4YTsKfQoubWpyLW1mdi1nZW4tc2lkZWJhci1ib2R5IFtkYXRhLWZpZWxkPSJsb3JhIl0gc3Ryb25nIHsKICAgIGNvbG9yOiAjZDQ4Y2ZmOwp9Ci5tanItbWZ2LWdlbi1zaWRlYmFyLWJvZHkgW2RhdGEtZmllbGQ9InNhbXBsZXIiXSBzdHJvbmcgewogICAgY29sb3I6ICNmZjlmN2E7Cn0KLm1qci1tZnYtZ2VuLXNpZGViYXItYm9keSBbZGF0YS1maWVsZD0ic2NoZWR1bGVyIl0gc3Ryb25nIHsKICAgIGNvbG9yOiAjZmY3YTlmOwp9Ci5tanItbWZ2LWdlbi1zaWRlYmFyLWJvZHkgW2RhdGEtZmllbGQ9ImNmZyJdIHN0cm9uZyB7CiAgICBjb2xvcjogIzdhOWZmZjsKfQoubWpyLW1mdi1nZW4tc2lkZWJhci1ib2R5IFtkYXRhLWZpZWxkPSJzdGVwIl0gc3Ryb25nIHsKICAgIGNvbG9yOiAjN2FmZmQ0Owp9Ci5tanItbWZ2LWdlbi1zaWRlYmFyLWJvZHkgW2RhdGEtZmllbGQ9ImdlblRpbWUiXSBzdHJvbmcgewogICAgY29sb3I6ICNlMGZmN2E7Cn0KCi5tanItbWZ2LWdlbi1zaWRlYmFyLWJvZHkgZGl2IHsKICAgIG1hcmdpbi1ib3R0b206IDVweDsKfQoKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi1zaWRlYmFyLWJvZHkgZGl2IHsKICAgIG1hcmdpbi1ib3R0b206IDA7Cn0KCi5tanItbWZ2LWNvbnRlbnQtd3JhcHBlcltkYXRhLXNpZGViYXItcG9zPSJib3R0b20iXSAubWpyLW1mdi1nZW4tc2lkZWJhci1ib2R5ID4gZGl2LAoubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gLm1qci1tZnYtZ2VuLXNpZGViYXItYm9keSA+IHNlY3Rpb24gewogICAgbWFyZ2luLWJsb2NrOiAwIDEwcHg7Cn0KCi5tanItbWZ2LWdlbi1zaWRlYmFyLWJvZHkgZGl2Omxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMDsKfQoKQGNvbnRhaW5lciAobWF4LXdpZHRoOiA3NjBweCkgewogICAgLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItbWZ2LWdlbi1zaWRlYmFyLWJvZHkgewogICAgICAgIGNvbHVtbnM6IGF1dG87CiAgICAgICAgY29sdW1uLWNvdW50OiAxOwogICAgICAgIGNvbHVtbi13aWR0aDogYXV0bzsKICAgIH0KCiAgICAubWpyLW1mdi1jb250ZW50LXdyYXBwZXJbZGF0YS1zaWRlYmFyLXBvcz0iYm90dG9tIl0gLm1qci1tZnYtZ2VuLXNpZGViYXItYm9keSA+ICogewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQp9CgoubWpyLW1mdi1vdmVybGF5LWNhbnZhcyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBpbnNldDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB6LWluZGV4OiAxMjsKfQoKLm1qci1tZnYtdG9vbGJhci1zZWxlY3QgewogICAgaGVpZ2h0OiAyNHB4OwogICAgcGFkZGluZzogMCA2cHg7CiAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICBib3JkZXI6IDAuOHB4IHNvbGlkIHJnYmEoMTk2LCAyMDIsIDIxMCwgMC4yNCk7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDIxMCwgMjE0LCAyMjAsIDAuMDYpLCByZ2JhKDIxMCwgMjE0LCAyMjAsIDAuMDIpKTsKICAgIGNvbG9yOiByZ2JhKDIzMCwgMjMzLCAyMzgsIDAuOTIpOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgb3V0bGluZTogbm9uZTsKfQoKLm1qci1tZnYtdG9vbGJhci1yYW5nZSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDZweDsKfQoKLm1qci1tZnYtdG9vbGJhci1yYW5nZSBpbnB1dFt0eXBlPSJyYW5nZSJdIHsKICAgIHdpZHRoOiA3MnB4OwogICAgYWNjZW50LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOwp9CgoubWpyLW1mdi10b29sYmFyLXJhbmdlLW91dCB7CiAgICBtaW4td2lkdGg6IDMwcHg7CiAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7Cn0KCi8qIEVWIHNsaWRlciBhY3RpdmUgc3RhdGUgKHZhbHVlICE9IDApICovCi5tanItbWZ2LXRvb2xiYXItcmFuZ2UuaXMtYWN0aXZlIGlucHV0W3R5cGU9InJhbmdlIl0gewogICAgYWNjZW50LWNvbG9yOiAjZjVjODQyOwp9Ci5tanItbWZ2LXRvb2xiYXItcmFuZ2UuaXMtYWN0aXZlIC5tanItbWZ2LXRvb2xiYXItcmFuZ2Utb3V0IHsKICAgIGNvbG9yOiAjZjVjODQyOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKfQoKLm1qci1tZnYtbWVkaWEtcHJvZ3Jlc3MgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAxMHB4OwogICAgbGVmdDogMTBweDsKICAgIHotaW5kZXg6IDY7CiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpOwogICAgcGFkZGluZzogNXB4IDlweDsKICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCkpIDg4JSwgdHJhbnNwYXJlbnQpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHJnYmEoNSwgOCwgMTQsIDAuODYpIDg2JSwgdmFyKC0tbWpyLXN1cmZhY2UtMCwgIzExMSkgMTQlKTsKICAgIGNvbG9yOiB2YXIoLS1jb250ZW50LWZnLCAjZjVmN2ZhKTsKICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjI4KTsKICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpOwogICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsKICAgIHRyYW5zaXRpb246CiAgICAgICAgb3BhY2l0eSAwLjE2cyBlYXNlLAogICAgICAgIHRyYW5zZm9ybSAwLjE2cyBlYXNlOwp9CgoubWpyLW1mdi1tZWRpYS1wcm9ncmVzcy5pcy12aXNpYmxlIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7Cn0KCi5tanItbWZ2LW1lZGlhLXByb2dyZXNzLmlzLWVycm9yIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdGF0dXMtZXJyb3IsICNmZjVjN2EpIDcyJSwgdHJhbnNwYXJlbnQpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHJnYmEoNjAsIDEwLCAxOCwgMC45KSA4MiUsIHZhcigtLW1qci1zdXJmYWNlLTAsICMxMTEpIDE4JSk7Cn0KCi5tanItbWZ2LW1lZGlhLXByb2dyZXNzLXRleHQgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7Cn0KCi8qIC0tIFdvcmtmbG93IFNpZGViYXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1qci13cy1zaWRlYmFyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgd2lkdGg6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZDogdmFyKC0tbWpyLXN1cmZhY2UtMSwgIzJhMmEyYSk7CiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpOwogICAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlOwogICAgZmxleC1zaHJpbms6IDA7Cn0KCi5tanItd3Mtc2lkZWJhci5vcGVuIHsKICAgIHdpZHRoOiAyNjBweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBtaW4td2lkdGg6IDE4MHB4OwogICAgbWF4LXdpZHRoOiA2NSU7CiAgICB0cmFuc2l0aW9uOiBub25lOwp9CgoubWpyLXdzLXNpZGViYXItaGVhZGVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgcGFkZGluZzogNnB4IDEwcHg7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSk7CiAgICBmbGV4LXNocmluazogMDsKICAgIG1pbi1oZWlnaHQ6IDM0cHg7Cn0KLm1qci13cy1zaWRlYmFyLXRpdGxlIHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgb3BhY2l0eTogMC42NTsKfQoubWpyLXdzLXNpZGViYXItYm9keSB7CiAgICBmbGV4OiAxOwogICAgbWluLWhlaWdodDogMDsKICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICBwYWRkaW5nOiAwOwp9Ci5tanItd3Mtc2lkZWJhci1lbXB0eSB7CiAgICBwYWRkaW5nOiAyNHB4IDE2cHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi8qIC0tIFRhYiBiYXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5tanItd3MtdGFiLWJhciB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1zaHJpbms6IDA7CiAgICBnYXA6IDJweDsKICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTgpOwp9CgoubWpyLXdzLXRhYiB7CiAgICBmbGV4OiAxOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGdhcDogNXB4OwogICAgcGFkZGluZzogNHB4IDhweDsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NSk7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdHJhbnNpdGlvbjoKICAgICAgICBiYWNrZ3JvdW5kIDAuMTVzLAogICAgICAgIGNvbG9yIDAuMTVzOwp9CgoubWpyLXdzLXRhYjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDcpOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7Cn0KCi5tanItd3MtdGFiLmlzLWFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDk5LCAxNTUsIDI1NSwgMC4xNSk7CiAgICBjb2xvcjogIzYzOWJmZjsKfQoKLyogLS0gTm9kZXMgdGFiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1qci13cy1ub2Rlcy10YWIgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4OiAxOwogICAgbWluLWhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi8qIEdyYXBoIE1hcCB0YWIgKi8KLm1qci13Z20gewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBtaW4taGVpZ2h0OiAxMDAlOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44Mik7Cn0KCi5tanItd2dtLW1hcC13cmFwIHsKICAgIGhlaWdodDogMTkwcHg7CiAgICBtaW4taGVpZ2h0OiAxNTBweDsKICAgIG1hcmdpbjogOHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTsKICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjIpOwp9CgoubWpyLXdnbS1wcmV2aWV3IHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zMik7Cn0KCi5tanItd2dtLXByZXZpZXcgLm1qci1tZnYtbWVkaWEsCi5tanItd2dtLXByZXZpZXcgLm1qci1tZnYtcGxheWVyLWhvc3QsCi5tanItd2dtLXByZXZpZXcgLm1qci1tb2RlbDNkLWhvc3QsCi5tanItd2dtLXByZXZpZXctbWVkaWEgewogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgbWF4LWhlaWdodDogMTAwJTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY29udGFpbjsKfQoKLm1qci13Z20tcHJldmlldy1lbXB0eSB7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTsKICAgIGZvbnQtc2l6ZTogMTFweDsKfQoKLm1qci13Z20tY2FudmFzIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBjdXJzb3I6IGdyYWI7CiAgICB0b3VjaC1hY3Rpb246IG5vbmU7Cn0KCi5tanItd2dtLWNhbnZhczphY3RpdmUgewogICAgY3Vyc29yOiBncmFiYmluZzsKfQoKLm1qci13Z20tLWxhcmdlIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbWluLWhlaWdodDogMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xOCk7Cn0KCi5tanItd2dtLS1sYXJnZSAubWpyLXdnbS1tYXAtd3JhcCB7CiAgICBmbGV4OiAxOwogICAgaGVpZ2h0OiBhdXRvOwogICAgbWluLWhlaWdodDogMDsKICAgIG1hcmdpbjogMDsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJvcmRlci1yYWRpdXM6IDA7Cn0KCi5tanItd2dtLS1sYXJnZSAubWpyLXdnbS1zdGF0dXMgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMTBweDsKICAgIHRvcDogMTBweDsKICAgIHotaW5kZXg6IDI7CiAgICBtYXgtd2lkdGg6IG1pbig0MjBweCwgY2FsYygxMDAlIC0gMjBweCkpOwogICAgcGFkZGluZzogNXB4IDhweDsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNTIpOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NCk7CiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTsKfQoKLm1qci13Z20tdG9vbGJhciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAxMHB4OwogICAgdG9wOiA0NnB4OwogICAgei1pbmRleDogMjsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgZ2FwOiA2cHg7CiAgICBtYXgtd2lkdGg6IG1pbig0MjBweCwgY2FsYygxMDAlIC0gMjBweCkpOwp9CgoubWpyLXdnbS1tb2RlIHsKICAgIG1pbi1oZWlnaHQ6IDI2cHg7CiAgICBwYWRkaW5nOiAzcHggOHB4OwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpOwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43Mik7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5tanItd2dtLW1vZGU6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0OSwgMTgzLCAyNTUsIDAuNDUpOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsKfQoKLm1qci13Z20tbW9kZS5pcy1hY3RpdmUgewogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDEyNCwgMTg2LCAyNTUsIDAuNjIpOwogICAgYmFja2dyb3VuZDogcmdiYSg3OSwgMTIzLCAyMTQsIDAuMjYpOwogICAgY29sb3I6IHJnYmEoMjM1LCAyNDUsIDI1NSwgMC45Nik7Cn0KCi5tanItd2dtLS1sYXJnZSAubWpyLXdnbS1kZXRhaWxzIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAxMHB4OwogICAgdG9wOiAxMHB4OwogICAgYm90dG9tOiAxMHB4OwogICAgei1pbmRleDogMjsKICAgIHdpZHRoOiBtaW4oMzIwcHgsIDM4JSk7CiAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgcGFkZGluZzogMTBweDsKICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE4LCAyMCwgMjYsIDAuODQpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpOwp9CgoubWpyLXdnbS0tbGFyZ2UgLm1qci13Z20tYWN0aW9uIHsKICAgIG1pbi1oZWlnaHQ6IDMwcHg7Cn0KCi5tanItd2dtLS1sYXJnZSAubWpyLXdnbS1wYXJhbSB7CiAgICBmb250LXNpemU6IDExcHg7Cn0KCi5tanItd2dtLXN0YXR1cyB7CiAgICBwYWRkaW5nOiAwIDEwcHggOHB4OwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40Mik7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBsaW5lLWhlaWdodDogMS4zNTsKfQoKLm1qci13Z20tZGV0YWlscyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogNnB4OwogICAgcGFkZGluZzogMCA4cHggMTBweDsKfQoKLm1qci13Z20tbm9kZS10aXRsZSB7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7Cn0KCi5tanItd2dtLW5vZGUtbWV0YSB7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgbWFyZ2luLXRvcDogLTRweDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDIpOwogICAgZm9udC1zaXplOiAxMHB4Owp9CgoubWpyLXdnbS1icmVhZGNydW1iIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA1cHg7CiAgICBtaW4td2lkdGg6IDA7CiAgICBtYXJnaW46IC0ycHggMCAycHg7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU4KTsKICAgIGZvbnQtc2l6ZTogMTFweDsKfQoKLm1qci13Z20tYnJlYWRjcnVtYi1pdGVtIHsKICAgIG1pbi13aWR0aDogMDsKICAgIG1heC13aWR0aDogMTQwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9CgoubWpyLXdnbS1icmVhZGNydW1iLXNlcCB7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMyKTsKfQoKLm1qci13Z20tYWN0aW9ucyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICBnYXA6IDRweDsKfQoKLm1qci13Z20tYWN0aW9uIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA3cHg7CiAgICBtaW4taGVpZ2h0OiAyOHB4OwogICAgcGFkZGluZzogNXB4IDhweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43Nik7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5tanItd2dtLWFjdGlvbjpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoOTksIDE1NSwgMjU1LCAwLjQ1KTsKICAgIGJhY2tncm91bmQ6IHJnYmEoOTksIDE1NSwgMjU1LCAwLjEyKTsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpOwp9CgoubWpyLXdnbS1hY3Rpb24uaXMtb2sgewogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDc2LCAxNzUsIDgwLCAwLjU1KTsKICAgIGNvbG9yOiByZ2JhKDE5MCwgMjU1LCAxOTYsIDAuOTYpOwp9CgoubWpyLXdnbS1wYXJhbXMgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdhcDogNHB4OwogICAgbWFyZ2luLXRvcDogMnB4Owp9CgoubWpyLXdnbS1wYXJhbSB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoNjRweCwgMC40MmZyKSBtaW5tYXgoMCwgMWZyKTsKICAgIGdhcDogOHB4OwogICAgcGFkZGluZzogNXB4IDdweDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xOCk7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBsaW5lLWhlaWdodDogMS4zNTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgdHJhbnNpdGlvbjoKICAgICAgICBiYWNrZ3JvdW5kIDEyMG1zIGVhc2UsCiAgICAgICAgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2U7Cn0KCi5tanItd2dtLXBhcmFtOmhvdmVyLAoubWpyLXdnbS1wYXJhbTpmb2N1cy12aXNpYmxlIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCk7CiAgICBvdXRsaW5lOiBub25lOwp9CgoubWpyLXdnbS1wYXJhbS5pcy1vayB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoNzksIDIxMCwgMTI1LCAwLjcpOwogICAgYmFja2dyb3VuZDogcmdiYSg3OSwgMjEwLCAxMjUsIDAuMTYpOwp9CgoubWpyLXdnbS1wYXJhbS5pcy1lcnJvciB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCA5MCwgOTAsIDAuNyk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgOTAsIDkwLCAwLjE2KTsKfQoKLm1qci13Z20tcGFyYW0ta2V5IHsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ4KTsKfQoKLm1qci13Z20tcGFyYW0tdmFsdWUgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpOwp9CgoubWpyLXdnbS1ub2RlLXZpc3VhbCB7CiAgICAtLW1qci13Z20tbm9kZS1hY2NlbnQ6IHJnYmEoMTE1LCAxNTUsIDI1NSwgMC44OCk7CiAgICAtLW1qci13Z20tbm9kZS1hY2NlbnQtc29mdDogcmdiYSgxMTUsIDE1NSwgMjU1LCAwLjIyKTsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBnYXA6IDhweDsKICAgIG1hcmdpbi10b3A6IDJweDsKICAgIHBhZGRpbmc6IDhweDsKICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItd2dtLW5vZGUtYWNjZW50KSAzNCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSk7CiAgICBib3gtc2hhZG93OgogICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSwKICAgICAgICAwIDEwcHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMjQpOwogICAgYmFja2dyb3VuZDoKICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXdnbS1ub2RlLWFjY2VudC1zb2Z0KSAxMDAlLCB0cmFuc3BhcmVudCksIHJnYmEoNDQsIDU2LCA4OCwgMC4yKSksCiAgICAgICAgcmdiYSgxMywgMTYsIDI0LCAwLjg1KTsKfQoKLm1qci13Z20tbm9kZS12aXN1YWw6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiIjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgaGVpZ2h0OiAycHg7CiAgICBtYXJnaW46IC04cHggLThweCA2cHg7CiAgICBib3JkZXItcmFkaXVzOiA2cHggNnB4IDAgMDsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tbWpyLXdnbS1ub2RlLWFjY2VudCksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpOwp9CgoubWpyLXdnbS1ub2RlLXZpc3VhbC5pcy1tb2RlbCB7CiAgICAtLW1qci13Z20tbm9kZS1hY2NlbnQ6IHJnYmEoMTI0LCAxODYsIDI1NSwgMC45KTsKICAgIC0tbWpyLXdnbS1ub2RlLWFjY2VudC1zb2Z0OiByZ2JhKDcwLCAxMjMsIDE4MSwgMC4zNCk7Cn0KCi5tanItd2dtLW5vZGUtdmlzdWFsLmlzLXNhbXBsZXIgewogICAgLS1tanItd2dtLW5vZGUtYWNjZW50OiByZ2JhKDE0MywgMjI4LCAxNjcsIDAuOSk7CiAgICAtLW1qci13Z20tbm9kZS1hY2NlbnQtc29mdDogcmdiYSg2NCwgMTMzLCA4OCwgMC4zNCk7Cn0KCi5tanItd2dtLW5vZGUtdmlzdWFsLmlzLXRleHQgewogICAgLS1tanItd2dtLW5vZGUtYWNjZW50OiByZ2JhKDI1NSwgMTkyLCAxMTQsIDAuOSk7CiAgICAtLW1qci13Z20tbm9kZS1hY2NlbnQtc29mdDogcmdiYSgxNTQsIDEwMiwgNDksIDAuMzQpOwp9CgoubWpyLXdnbS1ub2RlLXZpc3VhbC5pcy1tZWRpYSB7CiAgICAtLW1qci13Z20tbm9kZS1hY2NlbnQ6IHJnYmEoMTU0LCAxNzAsIDI1NSwgMC45KTsKICAgIC0tbWpyLXdnbS1ub2RlLWFjY2VudC1zb2Z0OiByZ2JhKDgzLCA5MywgMTY1LCAwLjM0KTsKfQoKLm1qci13Z20tbm9kZS12aXN1YWwuaXMtY29udHJvbCB7CiAgICAtLW1qci13Z20tbm9kZS1hY2NlbnQ6IHJnYmEoMjU1LCAxMzksIDE2OSwgMC45KTsKICAgIC0tbWpyLXdnbS1ub2RlLWFjY2VudC1zb2Z0OiByZ2JhKDE0NSwgNzAsIDk1LCAwLjM0KTsKfQoKLm1qci13Z20tbm9kZS12aXN1YWwuaXMtbG9naWMgewogICAgLS1tanItd2dtLW5vZGUtYWNjZW50OiByZ2JhKDE4OCwgMTY4LCAyNTUsIDAuOSk7CiAgICAtLW1qci13Z20tbm9kZS1hY2NlbnQtc29mdDogcmdiYSgxMDUsIDg2LCAxNTMsIDAuMzQpOwp9CgoubWpyLXdnbS1ub2RlLXZpc3VhbC1oZWFkZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBnYXA6IDhweDsKICAgIHBhZGRpbmctYm90dG9tOiA2cHg7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci13Z20tbm9kZS1hY2NlbnQpIDI1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KSk7Cn0KCi5tanItd2dtLW5vZGUtdmlzdWFsLXR5cGUgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiByZ2JhKDIzNiwgMjQ0LCAyNTUsIDAuOTQpOwogICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjM1KTsKfQoKLm1qci13Z20tbm9kZS12aXN1YWwtaWQgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgY29sb3I6IHJnYmEoMTk0LCAyMTMsIDI1NSwgMC43OCk7Cn0KCi5tanItd2dtLW5vZGUtcG9ydHMgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgIGdhcDogOHB4Owp9CgoubWpyLXdnbS1ub2RlLXBvcnRzLWNvbCB7CiAgICBtaW4td2lkdGg6IDA7Cn0KCi5tanItd2dtLW5vZGUtcG9ydHMtdGl0bGUgewogICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgZm9udC1zaXplOiAxMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ1KTsKfQoKLm1qci13Z20tbm9kZS1wb3J0cy1saXN0IHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBnYXA6IDNweDsKfQoKLm1qci13Z20tbm9kZS1wb3J0LAoubWpyLXdnbS1ub2RlLXBvcnQtZW1wdHkgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDZweDsKICAgIG1pbi1oZWlnaHQ6IDE4cHg7CiAgICBwYWRkaW5nOiAycHggNnB4OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNCk7Cn0KCi5tanItd2dtLW5vZGUtcG9ydC1lbXB0eSB7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI2KTsKfQoKLm1qci13Z20tbm9kZS1wb3J0LWRvdCB7CiAgICB3aWR0aDogOHB4OwogICAgaGVpZ2h0OiA4cHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCkgaW5zZXQ7Cn0KCi5tanItd2dtLW5vZGUtcG9ydC1kb3QuaXMtaW4gewogICAgYmFja2dyb3VuZDogcmdiYSgxMzUsIDE5NiwgMjU1LCAwLjkpOwp9CgoubWpyLXdnbS1ub2RlLXBvcnQtZG90LmlzLW91dCB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0NCwgMjM4LCAxNzQsIDAuOSk7Cn0KCi5tanItd2dtLW5vZGUtcG9ydC1uYW1lIHsKICAgIGZsZXg6IDE7CiAgICBtaW4td2lkdGg6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgZm9udC1zaXplOiAxMHB4OwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43OCk7Cn0KCi5tanItd2dtLW5vZGUtcG9ydC10eXBlIHsKICAgIGZsZXg6IDAgMCBhdXRvOwogICAgbWF4LXdpZHRoOiA0NSU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgZm9udC1zaXplOiA5cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIHBhZGRpbmc6IDFweCA1cHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpOwogICAgY29sb3I6IHJnYmEoMjI0LCAyMzYsIDI1NSwgMC45KTsKfQoKLm1qci13Z20tbm9kZS13aWRnZXRzIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBnYXA6IDRweDsKfQoKLm1qci13Z20tbm9kZS13aWRnZXRzLXRpdGxlIHsKICAgIG1hcmdpbi1ib3R0b206IDJweDsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NSk7Cn0KCi5tanItd2dtLW5vZGUtd2lkZ2V0LAoubWpyLXdnbS1ub2RlLXdpZGdldC1lbXB0eSB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoNzBweCwgMC40MmZyKSBtaW5tYXgoMCwgMWZyKTsKICAgIGdhcDogOHB4OwogICAgcGFkZGluZzogNHB4IDZweDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7Cn0KCi5tanItd2dtLW5vZGUtd2lkZ2V0IHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRyYW5zaXRpb246CiAgICAgICAgYmFja2dyb3VuZCAxMjBtcyBlYXNlLAogICAgICAgIGJvcmRlci1jb2xvciAxMjBtcyBlYXNlOwp9CgoubWpyLXdnbS1ub2RlLXdpZGdldDpob3ZlciwKLm1qci13Z20tbm9kZS13aWRnZXQ6Zm9jdXMtdmlzaWJsZSB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDkpOwogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7CiAgICBvdXRsaW5lOiBub25lOwp9CgoubWpyLXdnbS1ub2RlLXdpZGdldC5pcy1vayB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoNzksIDIxMCwgMTI1LCAwLjcpOwogICAgYmFja2dyb3VuZDogcmdiYSg3OSwgMjEwLCAxMjUsIDAuMTYpOwp9CgoubWpyLXdnbS1ub2RlLXdpZGdldC5pcy1lcnJvciB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCA5MCwgOTAsIDAuNyk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgOTAsIDkwLCAwLjE2KTsKfQoKLm1qci13Z20tbm9kZS13aWRnZXQtZW1wdHkgewogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTsKfQoKLm1qci13Z20tbm9kZS13aWRnZXQta2V5IHsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUyKTsKfQoKLm1qci13Z20tbm9kZS13aWRnZXQtdmFsdWUgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODgpOwp9CgoubWpyLXdnbS1ub2RlLXdpZGdldC5pcy1tdWx0aWxpbmUgewogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICBhbGlnbi1pdGVtczogc3RhcnQ7CiAgICBnYXA6IDRweDsKfQoKLm1qci13Z20tbm9kZS13aWRnZXQuaXMtbXVsdGlsaW5lIC5tanItd2dtLW5vZGUtd2lkZ2V0LWtleSB7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9CgoubWpyLXdnbS1ub2RlLXdpZGdldC5pcy1tdWx0aWxpbmUgLm1qci13Z20tbm9kZS13aWRnZXQtdmFsdWUgewogICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgd29yZC1icmVhazogYnJlYWstd29yZDsKICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOwogICAgbGluZS1oZWlnaHQ6IDEuMzU7CiAgICBtYXgtaGVpZ2h0OiA5LjJlbTsKICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7Cn0KCi5tanItd2dtLW5vZGUtd2lkZ2V0LmlzLW11bHRpbGluZS5pcy10ZXh0LWZpZWxkIC5tanItd2dtLW5vZGUtd2lkZ2V0LXZhbHVlIHsKICAgIG1heC1oZWlnaHQ6IDE2ZW07CiAgICBsaW5lLWhlaWdodDogMS40Owp9CgoubWpyLXdnbS1ub2RlLXdpZGdldC1tb3JlIHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDYpOwogICAgdGV4dC1hbGlnbjogcmlnaHQ7Cn0KCkBtZWRpYSAobWF4LXdpZHRoOiA4MjBweCkgewogICAgLm1qci13Z20tLWxhcmdlIC5tanItd2dtLWRldGFpbHMgewogICAgICAgIHdpZHRoOiBtaW4oMzgwcHgsIGNhbGMoMTAwJSAtIDIwcHgpKTsKICAgIH0KCiAgICAubWpyLXdnbS1ub2RlLXBvcnRzIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgIH0KfQoKLm1qci13cy1zZWFyY2gtd3JhcCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGZsZXgtc2hyaW5rOiAwOwogICAgcGFkZGluZzogNnB4IDhweDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tanItYm9yZGVyLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpKTsKfQoKLm1qci13cy1zZWFyY2gtaWNvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAxNnB4OwogICAgZm9udC1zaXplOiAxMXB4OwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgoubWpyLXdzLXNlYXJjaCB7CiAgICBmbGV4OiAxOwogICAgcGFkZGluZzogNHB4IDI4cHggNHB4IDI2cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMzUpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgb3V0bGluZTogbm9uZTsKfQoKLm1qci13cy1zZWFyY2g6OnBsYWNlaG9sZGVyIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjgpOwp9CgoubWpyLXdzLXNlYXJjaDpmb2N1cyB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoOTksIDE1NSwgMjU1LCAwLjUpOwp9CgoubWpyLXdzLXNlYXJjaC1jbGVhciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogMTRweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB3aWR0aDogMThweDsKICAgIGhlaWdodDogMThweDsKICAgIHBhZGRpbmc6IDA7CiAgICBib3JkZXI6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7Cn0KCi5tanItd3Mtc2VhcmNoLWNsZWFyOmhvdmVyIHsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpOwp9CgoubWpyLXdzLW5vZGVzLWxpc3QgewogICAgZmxleDogMTsKICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICBwYWRkaW5nOiA0cHggMDsKfQoKLm1qci13cy1ub2RlLXJvdyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogNnB4OwogICAgcGFkZGluZzogNXB4IDEwcHggNXB4IDEycHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsKICAgIG1pbi1oZWlnaHQ6IDMycHg7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXM7Cn0KCi5tanItd3Mtbm9kZS1yb3c6aG92ZXIgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTsKfQoKLm1qci13cy1ub2RlLXJvdy10eXBlIHsKICAgIGZsZXg6IDE7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc4KTsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7Cn0KCi5tanItd3Mtbm9kZS1yb3ctdGl0bGUgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICBtYXgtd2lkdGg6IDgwcHg7CiAgICBmbGV4LXNocmluazogMDsKfQoKLm1qci13cy1ub2RlLWxvY2F0ZSB7CiAgICBmbGV4LXNocmluazogMDsKICAgIHdpZHRoOiAyMnB4OwogICAgaGVpZ2h0OiAyMnB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHBhZGRpbmc6IDA7CiAgICBib3JkZXI6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNpdGlvbjoKICAgICAgICBvcGFjaXR5IDAuMXMsCiAgICAgICAgY29sb3IgMC4xcywKICAgICAgICBiYWNrZ3JvdW5kIDAuMXM7Cn0KCi5tanItd3Mtbm9kZS1yb3c6aG92ZXIgLm1qci13cy1ub2RlLWxvY2F0ZSB7CiAgICBvcGFjaXR5OiAxOwp9CgoubWpyLXdzLW5vZGUtbG9jYXRlOmhvdmVyIHsKICAgIGNvbG9yOiAjNjM5YmZmOwogICAgYmFja2dyb3VuZDogcmdiYSg5OSwgMTU1LCAyNTUsIDAuMTUpOwp9CgovKiAtLSBOb2RlIHNlY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoubWpyLXdzLXRyZWUtaXRlbSB7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSk7Cn0KLm1qci13cy10cmVlLWl0ZW0gPiAubWpyLXdzLW5vZGUgewogICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKfQoubWpyLXdzLXRyZWUtaXRlbS0tc3ViZ3JhcGggewogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQsICM1YjhhZjApIDQlLCB0cmFuc3BhcmVudCA5NiUpOwp9Ci5tanItd3Mtbm9kZSB7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSk7Cn0KLyogU3VidGxlIGhpZ2hsaWdodCB3aGVuIHRoaXMgbm9kZSBtYXRjaGVzIHRoZSBjdXJyZW50IGdyYXBoIHNlbGVjdGlvbi4gKi8KLm1qci13cy1ub2RlLmlzLXNlbGVjdGVkLWZyb20tZ3JhcGggewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDIxMCwgOTAsIDAuMDgpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDAgMCAwIHJnYmEoMjU1LCAyMTAsIDkwLCAwLjc1KTsKfQoubWpyLXdzLW5vZGUuaXMtc2VsZWN0ZWQtZnJvbS1ncmFwaCAubWpyLXdzLW5vZGUtaGVhZGVyIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCAjZmZkNDVhIDE4JSwgdmFyKC0tbWpyLXN1cmZhY2UtMSwgIzJhMmEyYSkgODIlKTsKfQoubWpyLXdzLW5vZGUuaXMtc2VsZWN0ZWQtZnJvbS1ncmFwaCAubWpyLXdzLW5vZGUtdHlwZSB7CiAgICBjb2xvcjogI2ZmZDQ1YTsKfQoubWpyLXdzLW5vZGUuaXMtc2VsZWN0ZWQtZnJvbS1ncmFwaCAubWpyLXdzLW5vZGUtdGl0bGUgewogICAgY29sb3I6IHJnYmEoMjU1LCAyMjQsIDEzMCwgMC44OCk7Cn0KLm1qci13cy1ub2RlLmlzLXNlbGVjdGVkLWZyb20tZ3JhcGggLm1qci13cy1ub2RlLXRvZ2dsZSwKLm1qci13cy1ub2RlLmlzLXNlbGVjdGVkLWZyb20tZ3JhcGggLm1qci13cy1sb2NhdGUsCi5tanItd3Mtbm9kZS5pcy1zZWxlY3RlZC1mcm9tLWdyYXBoIC5tanItd3Mtbm9kZS1raW5kIHsKICAgIGNvbG9yOiAjZmZkNDVhOwp9Ci5tanItd3Mtc2lkZWJhci1yZXNpemVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGJvdHRvbTogMDsKICAgIHdpZHRoOiAxNHB4OwogICAgei1pbmRleDogMjsKICAgIGN1cnNvcjogZXctcmVzaXplOwogICAgcG9pbnRlci1ldmVudHM6IGF1dG87Cn0KCi5tanItd3Mtc2lkZWJhci1yZXNpemVyOjpiZWZvcmUgewogICAgY29udGVudDogIiI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDUwJTsKICAgIGxlZnQ6IDUwJTsKICAgIHdpZHRoOiA0cHg7CiAgICBoZWlnaHQ6IDU2cHg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpOwogICAgb3BhY2l0eTogMDsKICAgIHRyYW5zaXRpb246CiAgICAgICAgb3BhY2l0eSAwLjE1cyBlYXNlLAogICAgICAgIGJhY2tncm91bmQgMC4xNXMgZWFzZTsKfQoKLm1qci13cy1zaWRlYmFyLm9wZW46aG92ZXIgLm1qci13cy1zaWRlYmFyLXJlc2l6ZXI6OmJlZm9yZSwKLm1qci13cy1zaWRlYmFyLmlzLXJlc2l6aW5nIC5tanItd3Mtc2lkZWJhci1yZXNpemVyOjpiZWZvcmUsCi5tanItd3Mtc2lkZWJhci1yZXNpemVyLmlzLWRyYWdnaW5nOjpiZWZvcmUgewogICAgb3BhY2l0eTogMTsKfQoKLm1qci13cy1zaWRlYmFyLmlzLXJlc2l6aW5nIC5tanItd3Mtc2lkZWJhci1yZXNpemVyOjpiZWZvcmUsCi5tanItd3Mtc2lkZWJhci1yZXNpemVyOmhvdmVyOjpiZWZvcmUsCi5tanItd3Mtc2lkZWJhci1yZXNpemVyLmlzLWRyYWdnaW5nOjpiZWZvcmUgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTsKfQoKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9InJpZ2h0Il0gLm1qci13cy1zaWRlYmFyLXJlc2l6ZXIgewogICAgcmlnaHQ6IDA7Cn0KCi5tanItbWZ2LWNvbnRlbnQtd3JhcHBlcltkYXRhLXNpZGViYXItcG9zPSJsZWZ0Il0gLm1qci13cy1zaWRlYmFyLXJlc2l6ZXIgewogICAgbGVmdDogMDsKfQoKLm1qci1tZnYtY29udGVudC13cmFwcGVyW2RhdGEtc2lkZWJhci1wb3M9ImJvdHRvbSJdIC5tanItd3Mtc2lkZWJhci1yZXNpemVyIHsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KLm1qci13cy1ub2RlLWhlYWRlciB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgcGFkZGluZzogNnB4IDEwcHg7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoCiAgICAgICAgaW4gc3JnYiwKICAgICAgICB2YXIoLS1tanItc3VyZmFjZS0wLCAjMWUxZTFlKSA0MCUsCiAgICAgICAgdmFyKC0tbWpyLXN1cmZhY2UtMSwgIzJhMmEyYSkgNjAlCiAgICApOwogICAgY3Vyc29yOiBkZWZhdWx0OwogICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTJzIGVhc2U7Cn0KLm1qci13cy1ub2RlLmlzLWNvbGxhcHNpYmxlIC5tanItd3Mtbm9kZS1oZWFkZXIgewogICAgY3Vyc29yOiBwb2ludGVyOwp9Ci5tanItd3Mtbm9kZS5pcy1jb2xsYXBzaWJsZSAubWpyLXdzLW5vZGUtaGVhZGVyOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peCgKICAgICAgICBpbiBzcmdiLAogICAgICAgIHZhcigtLW1qci1zdXJmYWNlLTAsICMxZTFlMWUpIDI4JSwKICAgICAgICB2YXIoLS1tanItc3VyZmFjZS0xLCAjMmEyYTJhKSA3MiUKICAgICk7Cn0KLm1qci13cy1ub2RlLmlzLWNvbGxhcHNpYmxlLmlzLWNvbGxhcHNlZCAubWpyLXdzLW5vZGUtaGVhZGVyOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peCgKICAgICAgICBpbiBzcmdiLAogICAgICAgIHZhcigtLW1qci1hY2NlbnQsICM1YjhhZjApIDglLAogICAgICAgIHZhcigtLW1qci1zdXJmYWNlLTEsICMyYTJhMmEpIDkyJQogICAgKTsKfQoubWpyLXdzLW5vZGUtdG9nZ2xlIHsKICAgIGZsZXg6IDAgMCBhdXRvOwp9Ci5tanItd3Mtbm9kZS10aXRsZS13cmFwIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4OiAxOwogICAgbWluLXdpZHRoOiAwOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogMXB4Owp9Ci5tanItd3Mtbm9kZS10eXBlIHsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBjb2xvcjogdmFyKC0tY29udGVudC1mZywgI2RkZCk7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwp9Ci5tanItd3Mtbm9kZS10aXRsZSB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ4KTsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7Cn0KLm1qci13cy1ub2RlLWtpbmQgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA0cHg7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIG1heC13aWR0aDogMTEwcHg7CiAgICBwYWRkaW5nOiAycHggNnB4OwogICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQsICM1YjhhZjApIDM4JSwgdHJhbnNwYXJlbnQgNjIlKTsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQsICM1YjhhZjApIDEyJSwgdHJhbnNwYXJlbnQgODglKTsKICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCwgIzViOGFmMCkgNzglLCAjZmZmZmZmIDIyJSk7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLm1qci13cy1ub2RlLWtpbmQgLnBpIHsKICAgIGZvbnQtc2l6ZTogMTBweDsKfQoubWpyLXdzLW5vZGUta2luZC1jb3VudCB7CiAgICBtaW4td2lkdGg6IDE0cHg7CiAgICBwYWRkaW5nOiAwIDNweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5tanItd3Mtbm9kZS5pcy1jb2xsYXBzZWQgLm1qci13cy1ub2RlLWJvZHkgewogICAgZGlzcGxheTogbm9uZTsKfQoubWpyLXdzLW5vZGUtYm9keSB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogNHB4OwogICAgcGFkZGluZzogNnB4IDEwcHg7Cn0KLm1qci13cy1ub2RlLWVtcHR5IHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgICBwYWRkaW5nOiA0cHggMDsKfQoKLyogLS0gTmVzdGVkIG5vZGVzIChpbnNpZGUgc3ViZ3JhcGhzKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoubWpyLXdzLW5vZGUtLW5lc3RlZCB7CiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYmEoOTEsIDEzOCwgMjQwLCAwLjM1KTsKfQoubWpyLXdzLW5vZGUtLW5lc3RlZCAubWpyLXdzLW5vZGUtaGVhZGVyIHsKICAgIHBhZGRpbmctbGVmdDogMTZweDsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peCgKICAgICAgICBpbiBzcmdiLAogICAgICAgIHZhcigtLW1qci1hY2NlbnQsICM1YjhhZjApIDUlLAogICAgICAgIHZhcigtLW1qci1zdXJmYWNlLTEsICMyYTJhMmEpIDk1JQogICAgKTsKfQoubWpyLXdzLW5vZGUtLW5lc3RlZC5pcy1jb2xsYXBzaWJsZSAubWpyLXdzLW5vZGUtaGVhZGVyOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peCgKICAgICAgICBpbiBzcmdiLAogICAgICAgIHZhcigtLW1qci1hY2NlbnQsICM1YjhhZjApIDEwJSwKICAgICAgICB2YXIoLS1tanItc3VyZmFjZS0xLCAjMmEyYTJhKSA5MCUKICAgICk7Cn0KCi8qIC0tIFN1YmdyYXBoIGNoaWxkcmVuIGdyb3VwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5tanItd3MtY2hpbGRyZW4tdG9nZ2xlIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA2cHg7CiAgICB3aWR0aDogMTAwJTsKICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAyMHB4OwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KAogICAgICAgIGluIHNyZ2IsCiAgICAgICAgdmFyKC0tbWpyLWFjY2VudCwgIzViOGFmMCkgNiUsCiAgICAgICAgdmFyKC0tbWpyLXN1cmZhY2UtMCwgIzFlMWUxZSkgOTQlCiAgICApOwogICAgYm9yZGVyOiBub25lOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpOwogICAgY29sb3I6IHZhcigtLW1qci1hY2NlbnQsICM1YjhhZjApOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIG9wYWNpdHk6IDAuODsKICAgIHRyYW5zaXRpb246CiAgICAgICAgb3BhY2l0eSAwLjFzIGVhc2UsCiAgICAgICAgYmFja2dyb3VuZCAwLjFzIGVhc2U7Cn0KLm1qci13cy1jaGlsZHJlbi10b2dnbGUtLW5lc3RlZCB7CiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7Cn0KLm1qci13cy1jaGlsZHJlbi10b2dnbGU6aG92ZXIgewogICAgb3BhY2l0eTogMTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peCgKICAgICAgICBpbiBzcmdiLAogICAgICAgIHZhcigtLW1qci1hY2NlbnQsICM1YjhhZjApIDEyJSwKICAgICAgICB2YXIoLS1tanItc3VyZmFjZS0wLCAjMWUxZTFlKSA4OCUKICAgICk7Cn0KLm1qci13cy1jaGlsZHJlbi10b2dnbGVbYXJpYS1leHBhbmRlZD0idHJ1ZSJdIHsKICAgIG9wYWNpdHk6IDE7Cn0KLm1qci13cy1jaGlsZHJlbiB7CiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYmEoOTEsIDEzOCwgMjQwLCAwLjI1KTsKICAgIG1hcmdpbi1sZWZ0OiA2cHg7CiAgICBwYWRkaW5nLWxlZnQ6IDZweDsKfQoKLm1qci13cy13aWRnZXQtcm93IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgIGdhcDogOHB4Owp9Ci5tanItd3Mtd2lkZ2V0LXJvdy0tYmxvY2sgewogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogMnB4Owp9Ci5tanItd3Mtd2lkZ2V0LXJvdy0tYmxvY2sgLm1qci13cy13aWRnZXQtbGFiZWwgewogICAgZmxleDogbm9uZTsKICAgIHBhZGRpbmctdG9wOiAwOwp9Ci5tanItd3Mtd2lkZ2V0LXJvdy0tYmxvY2sgLm1qci13cy13aWRnZXQtaW5wdXQgewogICAgd2lkdGg6IDEwMCU7Cn0KLm1qci13cy13aWRnZXQtbGFiZWwgewogICAgZmxleDogMCAwIDgwcHg7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBjb2xvcjogdmFyKC0tZGVzY3JpcC10ZXh0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpKTsKICAgIHBhZGRpbmctdG9wOiA1cHg7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwp9Ci5tanItd3Mtd2lkZ2V0LWlucHV0IHsKICAgIGZsZXg6IDE7CiAgICBtaW4td2lkdGg6IDA7Cn0KLm1qci13cy1pbnB1dCB7CiAgICB3aWR0aDogMTAwJTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbWZ5LWlucHV0LWJnLCAjMjIyKTsKICAgIGNvbG9yOiB2YXIoLS1pbnB1dC10ZXh0LCAjZGRkKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1qci1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgcGFkZGluZzogNHB4IDZweDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgb3V0bGluZTogbm9uZTsKICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxMjBtcyBlYXNlOwp9Ci5tanItd3MtaW5wdXQ6Zm9jdXMgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tanItYWNjZW50LCAjNWZiM2ZmKTsKfQoubWpyLXdzLXRleHRhcmVhIHsKICAgIHJlc2l6ZTogbm9uZTsKICAgIG1pbi1oZWlnaHQ6IDI4cHg7CiAgICBsaW5lLWhlaWdodDogMS40OwogICAgb3ZlcmZsb3cteTogaGlkZGVuOwp9Ci5tanItd3MtdGV4dC13cmFwcGVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAycHg7CiAgICBmbGV4OiAxOwogICAgbWluLXdpZHRoOiAwOwp9Ci5tanItd3MtdGV4dC13cmFwcGVyIC5tanItd3MtdGV4dGFyZWEgewogICAgd2lkdGg6IDEwMCU7Cn0KLm1qci13cy1leHBhbmQtYnRuIHsKICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOwogICAgYmFja2dyb3VuZDogbm9uZTsKICAgIGJvcmRlcjogbm9uZTsKICAgIGNvbG9yOiB2YXIoLS1tanItYWNjZW50LCAjNWZiM2ZmKTsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHBhZGRpbmc6IDAgNHB4OwogICAgb3BhY2l0eTogMC44Owp9Ci5tanItd3MtZXhwYW5kLWJ0bjpob3ZlciB7CiAgICBvcGFjaXR5OiAxOwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Cn0KLm1qci13cy1yZWFkb25seSB7CiAgICBvcGFjaXR5OiAwLjU7CiAgICBjdXJzb3I6IGRlZmF1bHQ7Cn0KLm1qci13cy1jaGVja2JveCB7CiAgICBhY2NlbnQtY29sb3I6IHZhcigtLW1qci1hY2NlbnQsICM1ZmIzZmYpOwogICAgd2lkdGg6IDE2cHg7CiAgICBoZWlnaHQ6IDE2cHg7CiAgICBtYXJnaW4tdG9wOiA0cHg7Cn0KLm1qci13cy10b2dnbGUtbGFiZWwgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KCi8qIC0tIExvY2F0ZSBidXR0b24gaW5zaWRlIG5vZGUgaGVhZGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5tanItd3MtbG9jYXRlIHsKICAgIHdpZHRoOiAyNHB4ICFpbXBvcnRhbnQ7CiAgICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDsKICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKICAgIG9wYWNpdHk6IDAuNTsKfQoubWpyLXdzLWxvY2F0ZTpob3ZlciB7CiAgICBvcGFjaXR5OiAxOwp9CgovKiAtLSBSdW4gYnV0dG9uIHN0YXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoubWpyLW1mdi1ydW4tY29udHJvbHMgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA0cHg7Cn0KLm1qci1tZnYtcnVuLWJ0biAucGkgewogICAgY29sb3I6IHZhcigtLW1qci1zdGF0dXMtc3VjY2VzcywgIzRjYWY1MCk7Cn0KLm1qci1tZnYtcnVuLWJ0bi5ydW5uaW5nIC5waSB7CiAgICBjb2xvcjogdmFyKC0tbWpyLW11dGVkLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpKTsKfQoubWpyLW1mdi1ydW4tYnRuLnN0b3BwaW5nIC5waSB7CiAgICBjb2xvcjogdmFyKC0tbWpyLXN0YXR1cy13YXJuaW5nLCAjZmZhNzI2KTsKfQoubWpyLW1mdi1ydW4tYnRuLmVycm9yIC5waSB7CiAgICBjb2xvcjogI2Y0NDMzNjsKfQoKLm1qci1tZnYtc3RvcC1idG4gLnBpIHsKICAgIGNvbG9yOiAjZWY1MzUwOwp9Ci5tanItbWZ2LXN0b3AtYnRuLmFjdGl2ZSAucGkgewogICAgY29sb3I6ICNmZjhhNjU7Cn0KLm1qci1tZnYtc3RvcC1idG4uc3RvcHBpbmcgLnBpIHsKICAgIGNvbG9yOiB2YXIoLS1tanItc3RhdHVzLXdhcm5pbmcsICNmZmE3MjYpOwp9CgovKiAtLSBGbG9hdGluZyBWaWV3ZXIgc2ltcGxlIHZpZGVvIHBsYXllciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5tanItbWZ2LXNpbXBsZS1wbGF5ZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLm1qci1tZnYtc2ltcGxlLXBsYXllci5pcy1hdWRpbyB7CiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDIwJSAyMCUsIHJnYmEoOTUsIDE3OSwgMjU1LCAwLjIpLCByZ2JhKDE4LCAyMCwgMjgsIDAuOTUpKTsKfQoKLm1qci1tZnYtc2ltcGxlLXBsYXllci1hdWRpby1iYWNrZHJvcCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBpbnNldDogMDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDsKICAgIHRleHQtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC40NSk7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIHBhZGRpbmc6IDE4cHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5tanItbWZ2LXNpbXBsZS1wbGF5ZXItY29udHJvbHMgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMTJweDsKICAgIHJpZ2h0OiAxMnB4OwogICAgYm90dG9tOiAxMnB4OwogICAgei1pbmRleDogMzA7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogOHB4OwogICAgcGFkZGluZzogOXB4IDEwcHg7CiAgICBib3JkZXItcmFkaXVzOiAxNHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMTAsIDEwLCAxNCwgMC43NiksIHJnYmEoMTYsIDE2LCAyNCwgMC41NSkpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpOwogICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7CiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKfQoKLm1qci1tZnYtc2ltcGxlLXBsYXllci1yb3cgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA4cHg7Cn0KCi5tanItbWZ2LXNpbXBsZS1wbGF5ZXItc2VlayB7CiAgICAtLW1qci1zZWVrLXBjdDogMCU7CiAgICBhcHBlYXJhbmNlOiBub25lOwogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDZweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgb3V0bGluZTogbm9uZTsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgKICAgICAgICB0byByaWdodCwKICAgICAgICAjZmYyZjUyIDAlLAogICAgICAgICNmZjJmNTIgdmFyKC0tbWpyLXNlZWstcGN0KSwKICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjQpIHZhcigtLW1qci1zZWVrLXBjdCksCiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KSAxMDAlCiAgICApOwogICAgY3Vyc29yOiBwb2ludGVyOwp9CgoubWpyLW1mdi1zaW1wbGUtcGxheWVyLXNlZWs6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsKICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAgIHdpZHRoOiAxMnB4OwogICAgaGVpZ2h0OiAxMnB4OwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpOwogICAgYmFja2dyb3VuZDogI2ZmMmY1MjsKfQoKLm1qci1tZnYtc2ltcGxlLXBsYXllci1zZWVrOjotbW96LXJhbmdlLXRodW1iIHsKICAgIHdpZHRoOiAxMnB4OwogICAgaGVpZ2h0OiAxMnB4OwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpOwogICAgYmFja2dyb3VuZDogI2ZmMmY1MjsKfQoKLm1qci1tZnYtc2ltcGxlLXBsYXllci1idG4gewogICAgd2lkdGg6IDMwcHg7CiAgICBoZWlnaHQ6IDMwcHg7CiAgICBtaW4td2lkdGg6IDMwcHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMik7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpOwp9CgoubWpyLW1mdi1zaW1wbGUtcGxheWVyLWJ0biAucGkgewogICAgZm9udC1zaXplOiAxM3B4OwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7Cn0KCi5tanItbWZ2LXNpbXBsZS1wbGF5ZXItYnRuLmlzLWRpc2FibGVkLAoubWpyLW1mdi1zaW1wbGUtcGxheWVyLXNlZWsuaXMtZGlzYWJsZWQgewogICAgb3BhY2l0eTogMC40NTsKICAgIGN1cnNvcjogZGVmYXVsdDsKfQoKLm1qci1tZnYtc2ltcGxlLXBsYXllci10aW1lIHsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwp9CgoubWpyLW1mdi1zaW1wbGUtcGxheWVyLWZyYW1lIHsKICAgIG1hcmdpbi1yaWdodDogMnB4OwogICAgcGFkZGluZzogM3B4IDhweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKfQoKLm1qci1tZnYtcGxheWVyLWhvc3QgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTsKfQoKLyogVGhlIE1GViB1c2VzIHRoZSAiLS12aWV3ZXIiIGNvbnRyb2wgdmFyaWFudCwgd2hpY2ggKHVubGlrZSAiLS12aWV3ZXJiYXIiKQogICBkb2VzIG5vdCBzaXplIHRoZSBuYXRpdmUgc2VlayBpbnB1dCBhbmQgcGFja3MgZnJhbWUvaW4vc2Vlay9vdXQvdGltZSBpbnRvIGEKICAgc2luZ2xlIHJvdy4gSW4gdGhlIG5hcnJvdyBNRlYgdGhlIHNlZWsgd3JhcCB0aGVuIGNvbGxhcHNlcyB0byB+MHB4IHdpZGUgYW5kCiAgIHRoZSBuYXRpdmUgaW5wdXQgdG8gMHB4IHRhbGwsIGxlYXZpbmcgYWxtb3N0IG5vIGNsaWNrIC8gZHJhZyB0YXJnZXQgZm9yCiAgIHNjcnViYmluZy4gR2l2ZSB0aGUgc2VlayBpdHMgb3duIGZ1bGwtd2lkdGggcm93IHdpdGggYSB1c2FibGUgaGl0IGFyZWEuICovCgovKiAtLSBTZXR0aW5ncyBidXR0b24gYWN0aXZlIHN0YXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoubWpyLW1mdi1zZXR0aW5ncy1idG4uYWN0aXZlIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KAogICAgICAgIGluIHNyZ2IsCiAgICAgICAgdmFyKC0tbWpyLWFjY2VudCwgIzVmYjNmZikgNTUlLAogICAgICAgIHZhcigtLW1qci1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpCiAgICApOwogICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KAogICAgICAgIGluIHNyZ2IsCiAgICAgICAgdmFyKC0tbWpyLXN1cmZhY2UtMiwgIzMzMykgNzAlLAogICAgICAgIHZhcigtLW1qci1hY2NlbnQsICM1ZmIzZmYpIDE4JQogICAgKTsKfQoubWpyLW1mdi1zZXR0aW5ncy1idG4uYWN0aXZlIC5waSB7CiAgICBjb2xvcjogdmFyKC0tbWpyLWFjY2VudCwgIzVmYjNmZik7Cn0KCi8qIC0tIENsb3NlIGJ1dHRvbiAocmVkKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLm1qci1tZnYgLm1qci1tZnYtY2xvc2UtYnRuIHsKICAgIGNvbG9yOiAjZTg1MDUwOwp9Ci5tanItbWZ2IC5tanItbWZ2LWNsb3NlLWJ0bjpob3ZlciB7CiAgICBjb2xvcjogI2ZmNmI2YjsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMyLCA4MCwgODAsIDAuMTUpOwp9CgovKiAtLSBFbXB0eSBzdGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5tanItbWZ2LWVtcHR5IHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAxMnB4Owp9CgovKiAtLSBDb21wYXJlIGxhYmVscyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5tanItbWZ2LWxhYmVsIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogOHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjU4KTsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAxMHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIHBhZGRpbmc6IDJweCA3cHg7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIHotaW5kZXg6IDIwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4Owp9CgoubWpyLW1mdi1sYWJlbC5sYWJlbC1sZWZ0IHsKICAgIGxlZnQ6IDhweDsKfQoubWpyLW1mdi1sYWJlbC5sYWJlbC1yaWdodCB7CiAgICByaWdodDogOHB4Owp9CgovKiAtLSBBQiBkaXZpZGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi5tanItbWZ2LWFiLWRpdmlkZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgYm90dG9tOiAwOwogICAgd2lkdGg6IDAuNXB4OwogICAgY3Vyc29yOiBjb2wtcmVzaXplOwogICAgei1pbmRleDogMTA7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODgpOwogICAgYm94LXNoYWRvdzoKICAgICAgICAwIDAgMCAwLjVweCByZ2JhKDAsIDAsIDAsIDAuNCksCiAgICAgICAgMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC40KTsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTAwbXMgZWFzZTsKfQoKLm1qci1tZnYtYWItZGl2aWRlcjo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIiOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgYm90dG9tOiAwOwogICAgbGVmdDogNTAlOwogICAgd2lkdGg6IDEycHg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7Cn0KCi5tanItbWZ2LWFiLWRpdmlkZXI6aG92ZXIsCi5tanItbWZ2LWFiLWRpdmlkZXI6YWN0aXZlIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1hY2NlbnQsICM1ZmIzZmYpOwp9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBNRlYgR2VvbWV0cnkgJiBMYXlvdXQgQ2xhc3NlcyAocmVwbGFjZXMgaW5saW5lIHN0eWxlcyBpbiBGbG9hdGluZ1ZpZXdlci5qcykKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCi8qIE1haW4gTUZWIGNvbnRhaW5lciBnZW9tZXRyeSAqLwoubWpyLW1mdiB7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IHZhcigtLW1qci1tZnYtdG9wLW9mZnNldCwgNjBweCk7CiAgICByaWdodDogMjBweDsKICAgIHdpZHRoOiA2NDBweDsKICAgIGhlaWdodDogMzYwcHg7CiAgICBtaW4td2lkdGg6IDIyMHB4OwogICAgbWluLWhlaWdodDogMTYwcHg7CiAgICAvKiBBbHdheXMgZmxleDsgdmlzaWJpbGl0eSArIG9wYWNpdHkgY29udHJvbCBzaG93L2hpZGUgc28gQ1NTIHRyYW5zaXRpb25zIHdvcmsuCiAgICAgICBwb2ludGVyLWV2ZW50czpub25lIHdoaWxlIGhpZGRlbiBwcmV2ZW50cyBhY2NpZGVudGFsIGludGVyYWN0aW9uLiAqLwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICByZXNpemU6IGJvdGg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgei1pbmRleDogMTAwMDA7CiAgICAvKiBIaWRkZW4gc3RhdGUgKi8KICAgIG9wYWNpdHk6IDA7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KSBzY2FsZSgwLjk4KTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDsKICAgIHRyYW5zaXRpb246CiAgICAgICAgb3BhY2l0eSAwLjE4cyBlYXNlLW91dCwKICAgICAgICB0cmFuc2Zvcm0gMC4xOHMgZWFzZS1vdXQsCiAgICAgICAgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4xOHM7Cn0KCi5tanItbWZ2Lm1qci1tZnYtLXJlc2l6aW5nIHsKICAgIHVzZXItc2VsZWN0OiBub25lOwp9CgoubWpyLW1mdi5pcy12aXNpYmxlIHsKICAgIG9wYWNpdHk6IDE7CiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwogICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7CiAgICB0cmFuc2l0aW9uOgogICAgICAgIG9wYWNpdHkgMC4xOHMgZWFzZS1vdXQsCiAgICAgICAgdHJhbnNmb3JtIDAuMThzIGVhc2Utb3V0LAogICAgICAgIHZpc2liaWxpdHkgMHMgbGluZWFyIDBzOwp9CgovKiBNZWRpYSBlbGVtZW50cyAoaW1nL3ZpZGVvKSBzaXppbmcgdmFyaWFudHMgKi8KLm1qci1tZnYtbWVkaWEgewogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIG1heC1oZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb250YWluOwogICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7Cn0KCi5tanItbWZ2LW1lZGlhLS1maXQtaGVpZ2h0IHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgbWF4LWhlaWdodDogMTAwJTsKICAgIG9iamVjdC1maXQ6IGNvbnRhaW47CiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjsKfQoKLm1qci1tZnYtbWVkaWEtLWZpbGwgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICBtYXgtaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOwogICAgZGlzcGxheTogYmxvY2s7Cn0KCi8qIEF1ZGlvIGNhcmQgaW5zaWRlIE1GViAqLwoubWpyLW1mdi1hdWRpby1jYXJkIHsKICAgIHdpZHRoOiBtaW4oOTIlLCA1NjBweCk7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogMTBweDsKICAgIHBhZGRpbmc6IDEycHg7CiAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNiksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMikpOwogICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMzUpOwp9CgoubWpyLW1mdi1hdWRpby1oZWFkIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA4cHg7CiAgICBtaW4td2lkdGg6IDA7Cn0KCi5tanItbWZ2LWF1ZGlvLWljb24gewogICAgY29sb3I6IHZhcigtLW1qci1iYWRnZS1hdWRpbywgI2ZmOTgwMCk7CiAgICBvcGFjaXR5OiAwLjk1Owp9CgoubWpyLW1mdi1hdWRpby10aXRsZSB7CiAgICBtaW4td2lkdGg6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsKfQoKLm1qci1tZnYtYXVkaW8tcGxheWVyIHsKICAgIHdpZHRoOiAxMDAlOwp9CgoubWpyLW1mdi1zaWRlLXBhbmVsIC5tanItbWZ2LWF1ZGlvLWNhcmQsCi5tanItbWZ2LWFiLWxheWVyIC5tanItbWZ2LWF1ZGlvLWNhcmQsCi5tanItbWZ2LWdyaWQtY2VsbCAubWpyLW1mdi1hdWRpby1jYXJkIHsKICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTsKfQoKLyogVmlkZW8gZWxlbWVudCBzcGVjaWZpYyBzdHlsZXMgKi8KLm1qci1tZnYtbWVkaWEtdmlkZW8gewogICAgLyogSW5oZXJpdHMgZnJvbSAubWpyLW1mdi1tZWRpYSBvciAubWpyLW1mdi1tZWRpYS0tZmlsbCAqLwp9CgovKiBOb2RlIFN0cmVhbSAtIGN1cnJlbnRseS1zdHJlYW1lZCBub2RlIGJhZGdlICh0b3AtbGVmdCBvZiBjb250ZW50IGFyZWEsCiAgIGZvbGxvd2luZyB0aGUgc2FtZSBvdmVybGF5IHBhdHRlcm4gYXMgLm1qci1tZnYtZ2VuaW5mbykuICovCi5tanItbWZ2LW5vZGUtb3ZlcmxheSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDhweDsKICAgIGxlZnQ6IDhweDsKICAgIHotaW5kZXg6IDEyOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgZm9udC1zaXplOiAxMXB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICBjb2xvcjogI2U2ZjNmZjsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42NSk7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyMCwgMTcwLCAyNDAsIDAuNDUpOwogICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC40KTsKICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpOwogICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KTsKICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTZweCk7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwp9Ci8qIEdlbiBpbmZvIG92ZXJsYXkgLSBhbGwgbW9kZXMgc2hhcmUgYmFzZSBsYXlvdXQgKi8KLm1qci1tZnYtZ2VuaW5mbywKLm1qci1tZnYtZ2VuaW5mby1hLAoubWpyLW1mdi1nZW5pbmZvLWIgewogICAgZGlzcGxheTogbm9uZTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDhweDsKICAgIHJpZ2h0OiA4cHg7CiAgICBib3R0b206IDhweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42NSk7CiAgICBjb2xvcjogI2ZmZjsKICAgIHBhZGRpbmc6IDhweCAxMHB4OwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgZm9udC1zaXplOiAxMXB4OwogICAgbWF4LWhlaWdodDogNDAlOwogICAgb3ZlcmZsb3cteTogYXV0bzsKICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjsKICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7CiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7CiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTsKICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuNCk7Cn0KCi8qIEtlZXAgR2VuIEluZm8gYWJvdmUgY3VzdG9tIHNpbXBsZS1wbGF5ZXIgY29udHJvbHMgd2hlbiBwcmVzZW50LiAqLwoubWpyLW1mdi1nZW5pbmZvLm1qci1tZnYtZ2VuaW5mby0tYWJvdmUtcGxheWVyLAoubWpyLW1mdi1nZW5pbmZvLWEubWpyLW1mdi1nZW5pbmZvLS1hYm92ZS1wbGF5ZXIsCi5tanItbWZ2LWdlbmluZm8tYi5tanItbWZ2LWdlbmluZm8tLWFib3ZlLXBsYXllciB7CiAgICB0b3A6IDhweDsKICAgIGJvdHRvbTogYXV0bzsKICAgIG1heC1oZWlnaHQ6IG1pbig0NSUsIGNhbGMoMTAwJSAtIDEyNHB4KSk7Cn0KCi8qIEZhbGxiYWNrOiB3aGVuIHNpbXBsZS1wbGF5ZXIgaXMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgYSBnZW5pbmZvIG92ZXJsYXksCiAgIG1vdmUgaXQgdXAgZXZlbiBpZiB0aGUgbW9kaWZpZXIgY2xhc3Mgd2FzIG5vdCBhdHRhY2hlZC4gKi8KLm1qci1tZnYtc2ltcGxlLXBsYXllciArIC5tanItbWZ2LWdlbmluZm8sCi5tanItbWZ2LXNpbXBsZS1wbGF5ZXIgKyAubWpyLW1mdi1nZW5pbmZvLWEsCi5tanItbWZ2LXNpbXBsZS1wbGF5ZXIgKyAubWpyLW1mdi1nZW5pbmZvLWIgewogICAgdG9wOiA4cHg7CiAgICBib3R0b206IGF1dG87CiAgICBtYXgtaGVpZ2h0OiBtaW4oNDUlLCBjYWxjKDEwMCUgLSAxMjRweCkpOwp9CgovKiBBQiBtb2RlIG92ZXJsYXlzIGFyZSBhdHRhY2hlZCBhdCBjb250YWluZXIgbGV2ZWw7IHNoaWZ0IHRoZW0gd2hlbiBBQiBsYXllcnMgdXNlIHNpbXBsZS1wbGF5ZXIuICovCi5tanItbWZ2LWFiLWNvbnRhaW5lcjpoYXMoLm1qci1tZnYtYWItbGF5ZXIgLm1qci1tZnYtc2ltcGxlLXBsYXllcikgLm1qci1tZnYtZ2VuaW5mby1hLAoubWpyLW1mdi1hYi1jb250YWluZXI6aGFzKC5tanItbWZ2LWFiLWxheWVyIC5tanItbWZ2LXNpbXBsZS1wbGF5ZXIpIC5tanItbWZ2LWdlbmluZm8tYiB7CiAgICB0b3A6IDhweDsKICAgIGJvdHRvbTogYXV0bzsKICAgIG1heC1oZWlnaHQ6IG1pbig0NSUsIGNhbGMoMTAwJSAtIDEyNHB4KSk7Cn0KCi8qIFNoYXJlZCBzdHlsZSBmb3IgYWxsIGdlbiBpbmZvIG92ZXJsYXkgdmFyaWFudHMgKi8KLm1qci1tZnYtZ2VuaW5mbyBzdHJvbmcsCi5tanItbWZ2LWdlbmluZm8tYSBzdHJvbmcsCi5tanItbWZ2LWdlbmluZm8tYiBzdHJvbmcgewogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIG1hcmdpbi1yaWdodDogNHB4OwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7IC8qIGRlZmF1bHQgLSBvdmVycmlkZGVuIHBlciBmaWVsZCBiZWxvdyAqLwp9CgovKiBQZXItZmllbGQgbGFiZWwgY29sb3JzICovCi5tanItbWZ2LWdlbmluZm8gW2RhdGEtZmllbGQ9InByb21wdCJdIHN0cm9uZywKLm1qci1tZnYtZ2VuaW5mby1hIFtkYXRhLWZpZWxkPSJwcm9tcHQiXSBzdHJvbmcsCi5tanItbWZ2LWdlbmluZm8tYiBbZGF0YS1maWVsZD0icHJvbXB0Il0gc3Ryb25nIHsKICAgIGNvbG9yOiAjN2VjOGZmOwp9IC8qIGJsdWUgICAtIFByb21wdCAqLwoKLm1qci1tZnYtZ2VuaW5mbyBbZGF0YS1maWVsZD0ic2VlZCJdIHN0cm9uZywKLm1qci1tZnYtZ2VuaW5mby1hIFtkYXRhLWZpZWxkPSJzZWVkIl0gc3Ryb25nLAoubWpyLW1mdi1nZW5pbmZvLWIgW2RhdGEtZmllbGQ9InNlZWQiXSBzdHJvbmcgewogICAgY29sb3I6ICNmZmQ0N2E7Cn0gLyogYW1iZXIgIC0gU2VlZCAgICovCgoubWpyLW1mdi1nZW5pbmZvIFtkYXRhLWZpZWxkPSJtb2RlbCJdIHN0cm9uZywKLm1qci1tZnYtZ2VuaW5mby1hIFtkYXRhLWZpZWxkPSJtb2RlbCJdIHN0cm9uZywKLm1qci1tZnYtZ2VuaW5mby1iIFtkYXRhLWZpZWxkPSJtb2RlbCJdIHN0cm9uZyB7CiAgICBjb2xvcjogIzdkZGE4YTsKfSAvKiBncmVlbiAgLSBNb2RlbCAgKi8KCi5tanItbWZ2LWdlbmluZm8gW2RhdGEtZmllbGQ9ImxvcmEiXSBzdHJvbmcsCi5tanItbWZ2LWdlbmluZm8tYSBbZGF0YS1maWVsZD0ibG9yYSJdIHN0cm9uZywKLm1qci1tZnYtZ2VuaW5mby1iIFtkYXRhLWZpZWxkPSJsb3JhIl0gc3Ryb25nIHsKICAgIGNvbG9yOiAjZDQ4Y2ZmOwp9IC8qIHZpb2xldCAtIExvUkEgICAqLwoKLm1qci1tZnYtZ2VuaW5mbyBbZGF0YS1maWVsZD0ic2FtcGxlciJdIHN0cm9uZywKLm1qci1tZnYtZ2VuaW5mby1hIFtkYXRhLWZpZWxkPSJzYW1wbGVyIl0gc3Ryb25nLAoubWpyLW1mdi1nZW5pbmZvLWIgW2RhdGEtZmllbGQ9InNhbXBsZXIiXSBzdHJvbmcgewogICAgY29sb3I6ICNmZjlmN2E7Cn0gLyogb3JhbmdlIC0gU2FtcGxlciAqLwoKLm1qci1tZnYtZ2VuaW5mbyBbZGF0YS1maWVsZD0ic2NoZWR1bGVyIl0gc3Ryb25nLAoubWpyLW1mdi1nZW5pbmZvLWEgW2RhdGEtZmllbGQ9InNjaGVkdWxlciJdIHN0cm9uZywKLm1qci1tZnYtZ2VuaW5mby1iIFtkYXRhLWZpZWxkPSJzY2hlZHVsZXIiXSBzdHJvbmcgewogICAgY29sb3I6ICNmZjdhOWY7Cn0gLyogcGluayAgIC0gU2NoZWR1bGVyICovCgoubWpyLW1mdi1nZW5pbmZvIFtkYXRhLWZpZWxkPSJjZmciXSBzdHJvbmcsCi5tanItbWZ2LWdlbmluZm8tYSBbZGF0YS1maWVsZD0iY2ZnIl0gc3Ryb25nLAoubWpyLW1mdi1nZW5pbmZvLWIgW2RhdGEtZmllbGQ9ImNmZyJdIHN0cm9uZyB7CiAgICBjb2xvcjogIzdhOWZmZjsKfSAvKiBpbmRpZ28gLSBDRkcgKi8KCi5tanItbWZ2LWdlbmluZm8gW2RhdGEtZmllbGQ9InN0ZXAiXSBzdHJvbmcsCi5tanItbWZ2LWdlbmluZm8tYSBbZGF0YS1maWVsZD0ic3RlcCJdIHN0cm9uZywKLm1qci1tZnYtZ2VuaW5mby1iIFtkYXRhLWZpZWxkPSJzdGVwIl0gc3Ryb25nIHsKICAgIGNvbG9yOiAjN2FmZmQ0Owp9IC8qIHRlYWwgICAtIFN0ZXAgKi8KCi5tanItbWZ2LWdlbmluZm8gW2RhdGEtZmllbGQ9ImdlblRpbWUiXSBzdHJvbmcsCi5tanItbWZ2LWdlbmluZm8tYSBbZGF0YS1maWVsZD0iZ2VuVGltZSJdIHN0cm9uZywKLm1qci1tZnYtZ2VuaW5mby1iIFtkYXRhLWZpZWxkPSJnZW5UaW1lIl0gc3Ryb25nIHsKICAgIGNvbG9yOiAjZTBmZjdhOwp9IC8qIGxpbWUgICAtIEdlbiBUaW1lICovCgoubWpyLW1mdi1nZW5pbmZvIGRpdiwKLm1qci1tZnYtZ2VuaW5mby1hIGRpdiwKLm1qci1tZnYtZ2VuaW5mby1iIGRpdiB7CiAgICBsaW5lLWhlaWdodDogMS4zNTsKICAgIG1hcmdpbi1ib3R0b206IDNweDsKfQoKLm1qci1tZnYtZ2VuaW5mbyBkaXY6bGFzdC1jaGlsZCwKLm1qci1tZnYtZ2VuaW5mby1hIGRpdjpsYXN0LWNoaWxkLAoubWpyLW1mdi1nZW5pbmZvLWIgZGl2Omxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMDsKfQoKLyogU2ltcGxlIG1vZGUgY29udGFpbmVyICovCi5tanItbWZ2LXNpbXBsZS1jb250YWluZXIgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogQUIgbW9kZSBjb250YWluZXIgKi8KLm1qci1tZnYtYWItY29udGFpbmVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQ6ICMwMDA7Cn0KCi8qIEFCIG1vZGUgbGF5ZXJzICovCi5tanItbWZ2LWFiLWxheWVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAwOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQoKLm1qci1tZnYtYWItbGF5ZXItLWIgewogICAgLyogY2xpcC1wYXRoIGFwcGxpZWQgaW5saW5lIGZvciBkeW5hbWljIGRpdmlkZXIgcG9zaXRpb24gKi8KfQoKLyogU2lkZS1ieS1zaWRlIG1vZGUgY29udGFpbmVyICovCi5tanItbWZ2LXNpZGUtY29udGFpbmVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGdhcDogMnB4OwogICAgYmFja2dyb3VuZDogIzExMTsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi8qIFNpZGUtYnktc2lkZSBoYWxmIHBhbmVscyAqLwoubWpyLW1mdi1zaWRlLXBhbmVsIHsKICAgIGZsZXg6IDE7CiAgICBtaW4td2lkdGg6IDA7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGJhY2tncm91bmQ6ICMwZDBkMGQ7Cn0KCi8qIEdyaWQgY29tcGFyZSAoMi0yKSBjb250YWluZXIgKi8KLm1qci1tZnYtZ3JpZC1jb250YWluZXIgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmcjsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgZ2FwOiAycHg7CiAgICBiYWNrZ3JvdW5kOiAjMTExOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLyogR3JpZCBjZWxscyAqLwoubWpyLW1mdi1ncmlkLWNlbGwgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOiAjMGQwZDBkOwogICAgbWluLXdpZHRoOiAwOwogICAgbWluLWhlaWdodDogMDsKfQoKLyogR2VuIGluZm8gb3ZlcmxheXMgZm9yIGdyaWQgY2VsbHMgQyBhbmQgRCAqLwoubWpyLW1mdi1nZW5pbmZvLWMsCi5tanItbWZ2LWdlbmluZm8tZCB7CiAgICBkaXNwbGF5OiBub25lOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogOHB4OwogICAgcmlnaHQ6IDhweDsKICAgIGJvdHRvbTogOHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjY1KTsKICAgIGNvbG9yOiAjZmZmOwogICAgcGFkZGluZzogOHB4IDEwcHg7CiAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBtYXgtaGVpZ2h0OiA0MCU7CiAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgb3ZlcnNjcm9sbC1iZWhhdmlvci15OiBjb250YWluOwogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwogICAgdG91Y2gtYWN0aW9uOiBwYW4teTsKICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7CiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KTsKICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpOwogICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC40KTsKfQoKLm1qci1tZnYtZ2VuaW5mby1jIHN0cm9uZywKLm1qci1tZnYtZ2VuaW5mby1kIHN0cm9uZyB7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbWFyZ2luLXJpZ2h0OiA0cHg7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTsKfQoKLyogUGVyLWZpZWxkIGxhYmVsIGNvbG9ycyBmb3IgQy9EIGdlbiBpbmZvIG92ZXJsYXlzICovCi5tanItbWZ2LWdlbmluZm8tYyBbZGF0YS1maWVsZD0icHJvbXB0Il0gc3Ryb25nLAoubWpyLW1mdi1nZW5pbmZvLWQgW2RhdGEtZmllbGQ9InByb21wdCJdIHN0cm9uZyB7CiAgICBjb2xvcjogIzdlYzhmZjsKfQoubWpyLW1mdi1nZW5pbmZvLWMgW2RhdGEtZmllbGQ9InNlZWQiXSBzdHJvbmcsCi5tanItbWZ2LWdlbmluZm8tZCBbZGF0YS1maWVsZD0ic2VlZCJdIHN0cm9uZyB7CiAgICBjb2xvcjogI2ZmZDQ3YTsKfQoubWpyLW1mdi1nZW5pbmZvLWMgW2RhdGEtZmllbGQ9Im1vZGVsIl0gc3Ryb25nLAoubWpyLW1mdi1nZW5pbmZvLWQgW2RhdGEtZmllbGQ9Im1vZGVsIl0gc3Ryb25nIHsKICAgIGNvbG9yOiAjN2RkYThhOwp9Ci5tanItbWZ2LWdlbmluZm8tYyBbZGF0YS1maWVsZD0ibG9yYSJdIHN0cm9uZywKLm1qci1tZnYtZ2VuaW5mby1kIFtkYXRhLWZpZWxkPSJsb3JhIl0gc3Ryb25nIHsKICAgIGNvbG9yOiAjZDQ4Y2ZmOwp9Ci5tanItbWZ2LWdlbmluZm8tYyBbZGF0YS1maWVsZD0ic2FtcGxlciJdIHN0cm9uZywKLm1qci1tZnYtZ2VuaW5mby1kIFtkYXRhLWZpZWxkPSJzYW1wbGVyIl0gc3Ryb25nIHsKICAgIGNvbG9yOiAjZmY5ZjdhOwp9Ci5tanItbWZ2LWdlbmluZm8tYyBbZGF0YS1maWVsZD0ic2NoZWR1bGVyIl0gc3Ryb25nLAoubWpyLW1mdi1nZW5pbmZvLWQgW2RhdGEtZmllbGQ9InNjaGVkdWxlciJdIHN0cm9uZyB7CiAgICBjb2xvcjogI2ZmN2E5ZjsKfQoubWpyLW1mdi1nZW5pbmZvLWMgW2RhdGEtZmllbGQ9ImNmZyJdIHN0cm9uZywKLm1qci1tZnYtZ2VuaW5mby1kIFtkYXRhLWZpZWxkPSJjZmciXSBzdHJvbmcgewogICAgY29sb3I6ICM3YTlmZmY7Cn0KLm1qci1tZnYtZ2VuaW5mby1jIFtkYXRhLWZpZWxkPSJzdGVwIl0gc3Ryb25nLAoubWpyLW1mdi1nZW5pbmZvLWQgW2RhdGEtZmllbGQ9InN0ZXAiXSBzdHJvbmcgewogICAgY29sb3I6ICM3YWZmZDQ7Cn0KCi8qIEdlbiBpbmZvIGFjdGl2ZSBzdGF0ZSAtIGJ1dHRvbiBnbG93cyB3aGVuIGF0IGxlYXN0IG9uZSBmaWVsZCBpcyBzZWxlY3RlZCAqLwoubWpyLW1mdiAubWpyLWljb24tYnRuLmlzLW9uIHsKICAgIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1tanItZ3JvdXAtYWNjZW50LCA5NSwgMTc5LCAyNTUpLCAwLjU1KTsKICAgIGNvbG9yOiB2YXIoLS1tanItYWNjZW50LCAjNWZiM2ZmKTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yLCAjMzMzKSA4MCUsIHZhcigtLW1qci1hY2NlbnQsICM1ZmIzZmYpIDE1JSk7CiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQsICM1ZmIzZmYpIDI1JSwgdHJhbnNwYXJlbnQpOwp9CgoubWpyLW1mdiAubWpyLWljb24tYnRuLmlzLW9wZW4gewogICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCwgIzVmYjNmZikgNjIlLCAjZmZmZmZmIDEyJSk7CiAgICBjb2xvcjogI2VlZjdmZjsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoOTUsIDE3OSwgMjU1LCAwLjI4KSwgcmdiYSg5NSwgMTc5LCAyNTUsIDAuMTQpKTsKICAgIGJveC1zaGFkb3c6CiAgICAgICAgaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCksCiAgICAgICAgMCAwIDAgMXB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50LCAjNWZiM2ZmKSAyNiUsIHRyYW5zcGFyZW50KTsKfQoKLm1qci1tZnYubWpyLW1mdi0tcG9wcGVkIC5tanItaWNvbi1idG4uaXMtb3BlbiB7CiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50Owp9CgovKiBHZW4gaW5mbyBkcm9wZG93biBwYW5lbCAqLwoubWpyLW1mdi1nZW4tZHJvcGRvd24gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgei1pbmRleDogMTAwMDE7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMSwgIzJhMmEyYSkgOTYlLCB0cmFuc3BhcmVudCk7CiAgICBjb2xvcjogdmFyKC0tY29udGVudC1mZywgI2RkZCk7CiAgICBwYWRkaW5nOiA2cHggNHB4OwogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTYsIDIwMiwgMjEwLCAwLjE4KTsKICAgIGJveC1zaGFkb3c6CiAgICAgICAgMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuNTUpLAogICAgICAgIDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICBkaXNwbGF5OiBub25lOwogICAgbWluLXdpZHRoOiAxNTBweDsKICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpOwogICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTsKfQoKLm1qci1tZnYtZ2VuLWRyb3Bkb3duOjpiZWZvcmUgewogICAgY29udGVudDogIkdFTiBJTkZPIjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1zaXplOiA5cHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4OwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7CiAgICBwYWRkaW5nOiAycHggMTBweCA2cHg7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxOTYsIDIwMiwgMjEwLCAwLjEpOwogICAgbWFyZ2luLWJvdHRvbTogNHB4Owp9CgoubWpyLW1mdi1nZW4tZHJvcGRvd24uaXMtdmlzaWJsZSB7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKLm1qci1tZnYtZ2VuLWRyb3Bkb3duLXJvdyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgcGFkZGluZzogNXB4IDEwcHg7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEwMG1zIGVhc2U7CiAgICB1c2VyLXNlbGVjdDogbm9uZTsKfQoKLm1qci1tZnYtZ2VuLWRyb3Bkb3duLXJvdzpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDcpOwp9CgoubWpyLW1mdi1nZW4tZHJvcGRvd24tcm93IGlucHV0W3R5cGU9ImNoZWNrYm94Il0gewogICAgd2lkdGg6IDEzcHg7CiAgICBoZWlnaHQ6IDEzcHg7CiAgICBhY2NlbnQtY29sb3I6IHZhcigtLW1qci1hY2NlbnQsICM1ZmIzZmYpOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZmxleC1zaHJpbms6IDA7Cn0KCi8qIFRyYW5zZm9ybSBmb3IgcGFuL3pvb20gLSBhcHBsaWVkIGlubGluZSBmb3IgZHluYW1pYyB2YWx1ZXMgKi8KLm1qci1tZnYtbWVkaWEtLXRyYW5zZm9ybSB7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7Cn0KCi8qIEN1cnNvciBmZWVkYmFjayBmb3IgcGFuL3pvb20gaW50ZXJhY3Rpb25zICovCi5tanItbWZ2LWNvbnRlbnQtLWdyYWIgewogICAgY3Vyc29yOiBncmFiOwp9CgoubWpyLW1mdi1jb250ZW50LS1ncmFiYmluZyB7CiAgICBjdXJzb3I6IGdyYWJiaW5nOwp9CgovKiBTaWRlYmFyIHRhYiBidXR0b246IGFsbG93IDItbGluZSBsYWJlbCB2aWEgXG4gaW4gbGFiZWwgc3RyaW5nICovCi5tYWpvb3ItYXNzZXRzLXRhYi1idXR0b24gLnNpZGUtYmFyLWJ1dHRvbi1sYWJlbCB7CiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7Cn0KCi8qIEJvdHRvbS1wYW5lbCBnZW5lcmF0ZWQgZmVlZDogY29tcGFjdCBjYXJkcyB3aXRoIG9ubHkgdGhlIGdlbmVyYXRpb24tdGltZSBwaWxsICovCi5tanItYm90dG9tLWZlZWQgewogICAgbWluLWhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5tanItYm90dG9tLWZlZWQgLm1qci1hbS1ncmlkLXNjcm9sbCB7CiAgICBmbGV4OiAxIDEgYXV0bzsKICAgIG1pbi1oZWlnaHQ6IDA7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvdmVyZmxvdzogYXV0bzsKICAgIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTsKICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjsKICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7CiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsKICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjsKICAgIHNjcm9sbGJhci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIsICMyZjM1NDApIDcwJSwgIzdmOGVhMyAzMCUpCiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTAsICMxNjE5MWYpIDg4JSwgIzAwMCAxMiUpOwp9CgoubWpyLWJvdHRvbS1mZWVkIC5tanItYW0tZ3JpZC1zY3JvbGw6Oi13ZWJraXQtc2Nyb2xsYmFyLAoubWpyLWZlZWQtZ3JvdXAtcG9wb3Zlci1ncmlkOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICB3aWR0aDogMTBweDsKICAgIGhlaWdodDogMTBweDsKfQoKLm1qci1ib3R0b20tZmVlZCAubWpyLWFtLWdyaWQtc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwKLm1qci1mZWVkLWdyb3VwLXBvcG92ZXItZ3JpZDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTIsICMyZjM1NDApIDcwJSwgIzdmOGVhMyAzMCUpOwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7Cn0KCi5tanItYm90dG9tLWZlZWQgLm1qci1hbS1ncmlkLXNjcm9sbDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssCi5tanItZmVlZC1ncm91cC1wb3BvdmVyLWdyaWQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0wLCAjMTYxOTFmKSA4OCUsICMwMDAgMTIlKTsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4Owp9CgoubWpyLWJvdHRvbS1mZWVkIC5tanItZ3JpZCB7CiAgICBnYXA6IDZweCAhaW1wb3J0YW50OwogICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgobWluKDEwMCUsIDEzMnB4KSwgMWZyKSkgIWltcG9ydGFudDsKICAgIG1pbi1oZWlnaHQ6IDA7CiAgICBoZWlnaHQ6IGF1dG87CiAgICBhbGlnbi1jb250ZW50OiBzdGFydDsKfQoKLm1qci1ib3R0b20tZmVlZCAubWpyLWNhcmQsCi5tanItYm90dG9tLWZlZWQgLm1qci1hc3NldC1jYXJkIHsKICAgIGJvcmRlci1yYWRpdXM6IDEycHggIWltcG9ydGFudDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMSkgOTIlLCAjMDAwIDglKSAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMjIpICFpbXBvcnRhbnQ7CiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKfQoKLm1qci1ib3R0b20tZmVlZCAubWpyLWNhcmQ6aG92ZXIsCi5tanItYm90dG9tLWZlZWQgLm1qci1hc3NldC1jYXJkOmhvdmVyIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KSAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjI4KSAhaW1wb3J0YW50OwoKICAgIC5tanItYm90dG9tLWZlZWQgLm1qci1hc3NldC1jYXJkLmlzLXNlbGVjdGVkIHsKICAgICAgICBib3gtc2hhZG93OgogICAgICAgICAgICAwIDAgMCAzcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1jYXJkLXNlbGVjdGlvbi1jb2xvcikgODAlLCB2YXIoLS1jb250ZW50LWZnKSksCiAgICAgICAgICAgIDAgMCAwIDZweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWNhcmQtc2VsZWN0aW9uLWNvbG9yKSAzMCUsIHRyYW5zcGFyZW50KSwKICAgICAgICAgICAgMCAwIDIwcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1jYXJkLXNlbGVjdGlvbi1jb2xvcikgNDAlLCB0cmFuc3BhcmVudCksCiAgICAgICAgICAgIDAgMTBweCAyOHB4IHJnYmEoMCwgMCwgMCwgMC4yOCkgIWltcG9ydGFudDsKICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tbWpyLWNhcmQtc2VsZWN0aW9uLWNvbG9yKSAhaW1wb3J0YW50OwogICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgICB9Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLXN0YWNrZWQ9InRydWUiXSwKLm1qci1ib3R0b20tZmVlZCAubWpyLWFzc2V0LWNhcmRbZGF0YS1tanItc3RhY2tlZD0idHJ1ZSJdIHsKICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLXN0YWNrZWQ9InRydWUiXSAubWpyLXRodW1iLAoubWpyLWJvdHRvbS1mZWVkIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1zdGFja2VkPSJ0cnVlIl0gLm1qci10aHVtYiB7CiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OwogICAgaXNvbGF0aW9uOiBpc29sYXRlOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1zdGFja2VkPSJ0cnVlIl0gLm1qci10aHVtYjo6YmVmb3JlLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1zdGFja2VkPSJ0cnVlIl0gLm1qci10aHVtYjo6YWZ0ZXIsCi5tanItYm90dG9tLWZlZWQgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLXN0YWNrZWQ9InRydWUiXSAubWpyLXRodW1iOjpiZWZvcmUsCi5tanItYm90dG9tLWZlZWQgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLXN0YWNrZWQ9InRydWUiXSAubWpyLXRodW1iOjphZnRlciB7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAwOwogICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgei1pbmRleDogLTE7CiAgICB0cmFuc2l0aW9uOgogICAgICAgIHRyYW5zZm9ybSAxNDBtcyBlYXNlLAogICAgICAgIG9wYWNpdHkgMTQwbXMgZWFzZTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmRbZGF0YS1tanItc3RhY2tlZD0idHJ1ZSJdIC5tanItdGh1bWI6OmJlZm9yZSwKLm1qci1ib3R0b20tZmVlZCAubWpyLWFzc2V0LWNhcmRbZGF0YS1tanItc3RhY2tlZD0idHJ1ZSJdIC5tanItdGh1bWI6OmJlZm9yZSB7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1cHgsIDVweCkgc2NhbGUoMC45ODUpOwogICAgYmFja2dyb3VuZDoKICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMykpLAogICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0xLCAjMjAyNDJiKSA4NCUsICMwMDAgMTYlKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7CiAgICBib3gtc2hhZG93OiAwIDhweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4xNik7CiAgICBvcGFjaXR5OiAwLjk7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLXN0YWNrZWQ9InRydWUiXSAubWpyLXRodW1iOjphZnRlciwKLm1qci1ib3R0b20tZmVlZCAubWpyLWFzc2V0LWNhcmRbZGF0YS1tanItc3RhY2tlZD0idHJ1ZSJdIC5tanItdGh1bWI6OmFmdGVyIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwcHgsIDEwcHgpIHNjYWxlKDAuOTcpOwogICAgYmFja2dyb3VuZDoKICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpKSwKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMCwgIzE2MTkxZikgODIlLCAjMDAwIDE4JSk7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpOwogICAgYm94LXNoYWRvdzogMCAxMnB4IDIycHggcmdiYSgwLCAwLCAwLCAwLjE0KTsKICAgIG9wYWNpdHk6IDAuNzU7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLXN0YWNrZWQ9InRydWUiXTpob3ZlciAubWpyLXRodW1iOjpiZWZvcmUsCi5tanItYm90dG9tLWZlZWQgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLXN0YWNrZWQ9InRydWUiXTpob3ZlciAubWpyLXRodW1iOjpiZWZvcmUgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNnB4LCA2cHgpIHNjYWxlKDAuOTg1KTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmRbZGF0YS1tanItc3RhY2tlZD0idHJ1ZSJdOmhvdmVyIC5tanItdGh1bWI6OmFmdGVyLAoubWpyLWJvdHRvbS1mZWVkIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1zdGFja2VkPSJ0cnVlIl06aG92ZXIgLm1qci10aHVtYjo6YWZ0ZXIgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTJweCwgMTJweCkgc2NhbGUoMC45Nyk7Cn0KCi5tanItYm90dG9tLWZlZWQgLm1qci10aHVtYiB7CiAgICBhc3BlY3QtcmF0aW86IDAuOTUgLyAxICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMCkgNzIlLCAjMDAwIDI4JSkgIWltcG9ydGFudDsKfQoKLm1qci1ib3R0b20tZmVlZCAubWpyLXRodW1iLXBsYXkgewogICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KAogICAgICAgIGNpcmNsZSBhdCBjZW50ZXIsCiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjE4KSwKICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMDQpIDM4JSwKICAgICAgICB0cmFuc3BhcmVudCA3MCUKICAgICk7Cn0KCi5tanItYm90dG9tLWZlZWQgLm1qci1iYWRnZS1leHQsCi5tanItYm90dG9tLWZlZWQgLm1qci1iYWRnZS1yYXRpbmcsCi5tanItYm90dG9tLWZlZWQgLm1qci1iYWRnZS10YWdzIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Mik7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKfQoKLyogLS0gRmVlZCBjYXJkIGluZm86IGRlZmF1bHQgaGlkZGVuLCB0b2dnbGVkIHZpYSBtanItZmVlZC1zaG93LSogY2xhc3NlcyBvbiAubWpyLWdyaWQgLS0gKi8KLm1qci1ib3R0b20tZmVlZCAubWpyLWNhcmQtaW5mbyB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOiA0cHggNnB4ICFpbXBvcnRhbnQ7CiAgICBtaW4td2lkdGg6IDA7Cn0KLm1qci1ib3R0b20tZmVlZCAubWpyLWdyaWQubWpyLWZlZWQtc2hvdy1pbmZvIC5tanItY2FyZC1pbmZvIHsKICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7Cn0KCi8qIEZlZWQgZmlsZW5hbWUgKi8KLm1qci1ib3R0b20tZmVlZCAubWpyLWNhcmQtZmlsZW5hbWUgewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Owp9Ci5tanItYm90dG9tLWZlZWQgLm1qci1ncmlkLm1qci1mZWVkLXNob3ctZmlsZW5hbWUgLm1qci1jYXJkLWZpbGVuYW1lIHsKICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7Cn0KCi8qIEZlZWQgZGltZW5zaW9ucyAvIGR1cmF0aW9uICovCi5tanItYm90dG9tLWZlZWQgLm1qci1tZXRhLXJlcywKLm1qci1ib3R0b20tZmVlZCAubWpyLW1ldGEtZHVyYXRpb24gewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Owp9Ci5tanItYm90dG9tLWZlZWQgLm1qci1ncmlkLm1qci1mZWVkLXNob3ctZGltZW5zaW9ucyAubWpyLW1ldGEtcmVzLAoubWpyLWJvdHRvbS1mZWVkIC5tanItZ3JpZC5tanItZmVlZC1zaG93LWRpbWVuc2lvbnMgLm1qci1tZXRhLWR1cmF0aW9uIHsKICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50Owp9CgovKiBGZWVkIGRhdGUvdGltZSAqLwoubWpyLWJvdHRvbS1mZWVkIC5tanItbWV0YS1kYXRlLAoubWpyLWJvdHRvbS1mZWVkIC5tanItbWV0YS10aW1lLXZhbCB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7Cn0KLm1qci1ib3R0b20tZmVlZCAubWpyLWdyaWQubWpyLWZlZWQtc2hvdy1kYXRlIC5tanItbWV0YS1kYXRlLAoubWpyLWJvdHRvbS1mZWVkIC5tanItZ3JpZC5tanItZmVlZC1zaG93LWRhdGUgLm1qci1tZXRhLXRpbWUtdmFsIHsKICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50Owp9CgovKiBGZWVkIGdlbmVyYXRpb24gdGltZSBiYWRnZSAqLwoubWpyLWJvdHRvbS1mZWVkIC5tanItbWV0YS1nZW50aW1lIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKfQoubWpyLWJvdHRvbS1mZWVkIC5tanItZ3JpZC5tanItZmVlZC1zaG93LWdlbnRpbWUgLm1qci1tZXRhLWdlbnRpbWUgewogICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsKfQoKLyogRmVlZCB3b3JrZmxvdyBkb3QgKi8KLm1qci1ib3R0b20tZmVlZCAubWpyLWNhcmQtZG90LXdyYXBwZXIgewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Owp9Ci5tanItYm90dG9tLWZlZWQgLm1qci1ncmlkLm1qci1mZWVkLXNob3ctZG90IC5tanItY2FyZC1kb3Qtd3JhcHBlciB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50Owp9CgovKiBGZWVkIGJhZGdlcyAqLwoubWpyLWJvdHRvbS1mZWVkIC5tanItYmFkZ2UtZXh0IHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKfQoubWpyLWJvdHRvbS1mZWVkIC5tanItZ3JpZC5tanItZmVlZC1zaG93LWJhZGdlcy1leHQgLm1qci1iYWRnZS1leHQgewogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Owp9CgoubWpyLWJvdHRvbS1mZWVkIC5tanItYmFkZ2UtcmF0aW5nIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKfQoubWpyLWJvdHRvbS1mZWVkIC5tanItZ3JpZC5tanItZmVlZC1zaG93LWJhZGdlcy1yYXRpbmcgLm1qci1iYWRnZS1yYXRpbmcgewogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Owp9CgoubWpyLWJvdHRvbS1mZWVkIC5tanItYmFkZ2UtdGFncyB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7Cn0KLm1qci1ib3R0b20tZmVlZCAubWpyLWdyaWQubWpyLWZlZWQtc2hvdy1iYWRnZXMtdGFncyAubWpyLWJhZGdlLXRhZ3MgewogICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50Owp9CgovKiBGZWVkIG1ldGEgcm93IHN0eWxpbmcgLSBmbGV4IGxheW91dCBzbyB2aXNpYmxlIGl0ZW1zIHN0YXkgc2VwYXJhdGVkICovCi5tanItYm90dG9tLWZlZWQgLm1qci1jYXJkLW1ldGEtcm93IHsKICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsKICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7CiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7CiAgICBnYXA6IDVweCAhaW1wb3J0YW50OwogICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OwogICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7CiAgICBvcGFjaXR5OiAwLjc4ICFpbXBvcnRhbnQ7CiAgICBmb250LXNpemU6IDAuOGVtICFpbXBvcnRhbnQ7CiAgICAvKiB0ZXh0LW92ZXJmbG93IGVsbGlwc2lzIGRvZXNuJ3QgYXBwbHkgb24gYSBmbGV4IGNvbnRhaW5lciBpdHNlbGYgKi8KfQovKiBFYWNoIG1ldGEgc3BhbiB0cnVuY2F0ZXMgaW5kaXZpZHVhbGx5IGlmIHRvbyBsb25nICovCi5tanItYm90dG9tLWZlZWQgLm1qci1jYXJkLW1ldGEtcm93ID4gc3BhbiB7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgbWluLXdpZHRoOiAwOwogICAgZmxleC1zaHJpbms6IDE7Cn0KLyogR2VudGltZSBiYWRnZSBhbmQgdGltZSB2YWx1ZSBzaG91bGQgc3RheSB2aXNpYmxlIChkb24ndCBzaHJpbmsgYXdheSkgKi8KLm1qci1ib3R0b20tZmVlZCAubWpyLWNhcmQtbWV0YS1yb3cgPiAubWpyLW1ldGEtZ2VudGltZSwKLm1qci1ib3R0b20tZmVlZCAubWpyLWNhcmQtbWV0YS1yb3cgPiAubWpyLW1ldGEtdGltZS12YWwgewogICAgZmxleC1zaHJpbms6IDA7Cn0KCi5tanItYm90dG9tLWZlZWQgLm1qci1ncmlkLm1qci1mZWVkLXNob3ctZ2VudGltZSAubWpyLW1ldGEtZ2VudGltZSB7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAzcHg7CiAgICBwYWRkaW5nOiAzcHggN3B4OwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwLCAxNCwgMjAsIDAuNzQpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTsKICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMjIpOwogICAgZm9udC1zaXplOiAxMHB4OwogICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDE1ZW07CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KTsKICAgIHRleHQtc2hhZG93OgogICAgICAgIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuOSksCiAgICAgICAgMCAwIDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTsKICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpOwogICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KTsKfQoKLyogLS0gQXVkaW8gLyAzRCBwbGFjZWhvbGRlciB0aHVtYm5haWxzIGluIHRoZSBmZWVkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCi8qIEF1ZGlvIGNhcmRzIHNob3cgdGhlIHdhdmVmb3JtIHNwcml0ZTsgZ2l2ZSBpdCBhIGRpc3RpbmN0IGJhY2tncm91bmQgc28gaXQKICAgZG9lc24ndCBsb29rIGxpa2UgYSBicm9rZW4gaW1hZ2UgcGxhY2Vob2xkZXIgaW4gdGhlIGZlZWQuICovCi5tanItYm90dG9tLWZlZWQgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLWtpbmQ9ImF1ZGlvIl0gLm1qci10aHVtYiwKLm1qci1ib3R0b20tZmVlZCAubWpyLWFzc2V0LWNhcmRbZGF0YS1tanItZXh0PSJtcDMiXSAubWpyLXRodW1iLAoubWpyLWJvdHRvbS1mZWVkIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1leHQ9IndhdiJdIC5tanItdGh1bWIsCi5tanItYm90dG9tLWZlZWQgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLWV4dD0ib2dnIl0gLm1qci10aHVtYiwKLm1qci1ib3R0b20tZmVlZCAubWpyLWFzc2V0LWNhcmRbZGF0YS1tanItZXh0PSJmbGFjIl0gLm1qci10aHVtYiB7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMCkgNjAlLCAjMWExZjJiIDQwJSkgIWltcG9ydGFudDsKfQoKLyogM0QgbW9kZWwgY2FyZHMgdXNlIGFuIGljb24gcGxhY2Vob2xkZXIgLSBhZGQgYSBzdWJ0bGUgZ3JhZGllbnQgc28gdGhleSByZWFkCiAgIGFzIGludGVudGlvbmFsIHJhdGhlciB0aGFuIG1pc3NpbmcuICovCi5tanItYm90dG9tLWZlZWQgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLWtpbmQ9Im1vZGVsM2QiXSAubWpyLXRodW1iLAoubWpyLWJvdHRvbS1mZWVkIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1leHQ9ImdsYiJdIC5tanItdGh1bWIsCi5tanItYm90dG9tLWZlZWQgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLWV4dD0iZ2x0ZiJdIC5tanItdGh1bWIsCi5tanItYm90dG9tLWZlZWQgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLWV4dD0ib2JqIl0gLm1qci10aHVtYiwKLm1qci1ib3R0b20tZmVlZCAubWpyLWFzc2V0LWNhcmRbZGF0YS1tanItZXh0PSJmYngiXSAubWpyLXRodW1iIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0wKSA1MCUsICMwZDExMTcgNTAlKSAhaW1wb3J0YW50Owp9CgovKiAtLSBGZWVkIGdyb3VwIGJ1dHRvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCi5tanItYm90dG9tLWZlZWQgLm1qci1mZWVkLWdyb3VwLWJ1dHRvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDM0cHg7CiAgICByaWdodDogNnB4OwogICAgei1pbmRleDogMTE7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGdhcDogNHB4OwogICAgbWluLXdpZHRoOiAyOHB4OwogICAgbWluLWhlaWdodDogMjhweDsKICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpOwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwLCAxNCwgMjAsIDAuNzQpOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Nik7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI0KTsKICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpOwogICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOwogICAgdHJhbnNpdGlvbjoKICAgICAgICBiYWNrZ3JvdW5kIDEyMG1zIGVhc2UsCiAgICAgICAgdHJhbnNmb3JtIDgwbXMgZWFzZTsKfQoKLm1qci1ib3R0b20tZmVlZCAubWpyLWZlZWQtZ3JvdXAtYnV0dG9uOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTgsIDI0LCAzNCwgMC45KTsKfQoKLm1qci1mZWVkLWdyb3VwLWJ1dHRvbi1pY29uIHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIG9wYWNpdHk6IDAuOTsKfQoKLm1qci1mZWVkLWdyb3VwLWJ1dHRvbi1jb3VudCB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDE7Cn0KCi8qIC0tIEZlZWQgZ3JvdXAgcG9wb3ZlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKLm1qci1mZWVkLWdyb3VwLXBvcG92ZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tY29tZnktbWVudS1iZywgIzIyMik7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IsICMzYTNhM2EpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbWpyLXItbGcsIDhweCk7CiAgICBib3gtc2hhZG93OiAwIDhweCAyOHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgoubWpyLWZlZWQtZ3JvdXAtcG9wb3Zlci10aXRsZSB7CiAgICBwYWRkaW5nOiA4cHggMTBweCA0cHg7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTsKICAgIG1hcmdpbi1ib3R0b206IDhweDsKfQoKLm1qci1mZWVkLWdyb3VwLXBvcG92ZXItZ3JpZCB7CiAgICBwYWRkaW5nOiA0cHggOHB4IDEwcHg7CiAgICBtYXgtaGVpZ2h0OiAzNjBweDsKICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlOwogICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwogICAgc2Nyb2xsYmFyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMiwgIzJmMzU0MCkgNzAlLCAjN2Y4ZWEzIDMwJSkKICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMCwgIzE2MTkxZikgODglLCAjMDAwIDEyJSk7Cn0KCi5tanItZmVlZC1ncm91cC1idXR0b24taWNvbiwKLm1qci1mZWVkLWdyb3VwLWJ1dHRvbi1jb3VudCB7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLm1qci1mZWVkLWdyb3VwLW1lbWJlci1jYXJkIHsKICAgIG1pbi13aWR0aDogMDsKfQoKLm1qci1mZWVkLWdyb3VwLW1lbWJlci1jYXJkIC5tanItdGh1bWIgewogICAgYXNwZWN0LXJhdGlvOiAxIC8gMSAhaW1wb3J0YW50Owp9CgoubWpyLWZlZWQtZ3JvdXAtbWVtYmVyLWNhcmQgLm1qci1jYXJkLWluZm8gewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItc3RhY2stZ3JvdXAtYnV0dG9uIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMzRweDsKICAgIHJpZ2h0OiA2cHg7CiAgICB6LWluZGV4OiAxMTsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZ2FwOiA0cHg7CiAgICBtaW4td2lkdGg6IDI4cHg7CiAgICBtaW4taGVpZ2h0OiAyOHB4OwogICAgcGFkZGluZzogNHB4IDhweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCk7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTAsIDE0LCAyMCwgMC43NCk7CiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk2KTsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yNCk7CiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KTsKICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAgIHRyYW5zaXRpb246CiAgICAgICAgYmFja2dyb3VuZCAxMjBtcyBlYXNlLAogICAgICAgIHRyYW5zZm9ybSA4MG1zIGVhc2U7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1zdGFjay1ncm91cC1idXR0b246aG92ZXIgewogICAgYmFja2dyb3VuZDogcmdiYSgxOCwgMjQsIDM0LCAwLjkpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItc3RhY2stZ3JvdXAtYnV0dG9uID4gKiB7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoKLm1qci1maWxtc3RyaXA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgIHdpZHRoOiA0cHg7CiAgICBoZWlnaHQ6IDRweDsKfQoKLm1qci1maWxtc3RyaXA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CgoubWpyLWZpbG1zdHJpcDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpOwp9CgoubWpyLWZpbG1zdHJpcDpob3Zlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKTsKfQoKLm1qci1maWxtc3RyaXAtYXVkaW8tdGh1bWIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaW5zZXQ6IDA7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGdhcDogNXB4OwogICAgcGFkZGluZzogN3B4OwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44Mik7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGJhY2tncm91bmQ6CiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAyNCUgMjQlLCByZ2JhKDc4LCAxODQsIDI1NSwgMC4yOCksIHRyYW5zcGFyZW50IDQyJSksCiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4NCUgNzAlLCByZ2JhKDgyLCAyMjAsIDE1NiwgMC4xOCksIHRyYW5zcGFyZW50IDQwJSksCiAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxOCwgMjUsIDM1LCAwLjk2KSwgcmdiYSg3LCAxMCwgMTUsIDAuOTgpKTsKfQoKLm1qci1maWxtc3RyaXAtYXVkaW8td2F2ZWZvcm0gewogICAgd2lkdGg6IDc2JTsKICAgIGhlaWdodDogMjRweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBnYXA6IDJweDsKfQoKLm1qci1maWxtc3RyaXAtYXVkaW8td2F2ZWZvcm0gc3BhbiB7CiAgICB3aWR0aDogMnB4OwogICAgbWluLWhlaWdodDogNHB4OwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTQpLCByZ2JhKDE0OCwgMjE4LCAyNTUsIDAuNjgpKTsKfQoKLm1qci1maWxtc3RyaXAtYXVkaW8tbGFiZWwgewogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIHBhZGRpbmc6IDJweCA1cHg7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yOCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7CiAgICBmb250LXNpemU6IDdweDsKICAgIGZvbnQtd2VpZ2h0OiA4MDA7CiAgICBsaW5lLWhlaWdodDogMTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLXN0YWNrLWdyb3VwLWJ1dHRvbi1jb3VudCB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDE7Cn0KCi8qIC0tIER1cGxpY2F0ZSBzdGFjayBidXR0b24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi8qIFNob3dzIG9uIHRoZSBwcmltYXJ5IGNhcmQgd2hlbiBzYW1lLWZpbGVuYW1lIGR1cGxpY2F0ZXMgZXhpc3QuICAgICAgICAgICAgICovCi8qIFBvc2l0aW9uZWQgYXQgYm90dG9tLXJpZ2h0IHRvIG5vdCBvdmVybGFwIHRoZSBzdGFjay1ncm91cCBidXR0b24gKHRvcC1yaWdodCkuICovCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1kdXAtc3RhY2stYnV0dG9uIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvdHRvbTogMzBweDsKICAgIHJpZ2h0OiA2cHg7CiAgICB6LWluZGV4OiAxMTsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZ2FwOiA0cHg7CiAgICBtaW4td2lkdGg6IDI4cHg7CiAgICBtaW4taGVpZ2h0OiAyOHB4OwogICAgcGFkZGluZzogNHB4IDhweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAxODAsIDAsIDAuMzgpOwogICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAxOCwgMCwgMC44Mik7CiAgICBjb2xvcjogcmdiYSgyNTUsIDIwMCwgNjAsIDAuOTYpOwogICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4zMik7CiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KTsKICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogICAgdHJhbnNpdGlvbjoKICAgICAgICBiYWNrZ3JvdW5kIDAuMTVzLAogICAgICAgIHRyYW5zZm9ybSA4MG1zIGVhc2U7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1kdXAtc3RhY2stYnV0dG9uOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoNTAsIDMwLCAwLCAwLjk0KTsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDE4MCwgMCwgMC42KTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWR1cC1zdGFjay1idXR0b24gPiAqIHsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItZHVwLXN0YWNrLWNvdW50IHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmRbZGF0YS1tanItZHVwLXN0YWNrZWQ9InRydWUiXSAubWpyLWR1cC1zdGFjay1idXR0b24gewogICAgYm94LXNoYWRvdzoKICAgICAgICAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjMyKSwKICAgICAgICAwIDAgMCAxcHggcmdiYSgyNTUsIDE4MCwgMCwgMC4yKTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmRbZGF0YS1tanItc3RhY2tlZD0idHJ1ZSJdIC5tanItc3RhY2stZ3JvdXAtYnV0dG9uLAoubWpyLWJvdHRvbS1mZWVkIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1zdGFja2VkPSJ0cnVlIl0gLm1qci1mZWVkLWdyb3VwLWJ1dHRvbiB7CiAgICBib3gtc2hhZG93OgogICAgICAgIDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMjQpLAogICAgICAgIDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1zdGFja2VkPSJ0cnVlIl06aG92ZXIsCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLWR1cC1zdGFja2VkPSJ0cnVlIl06aG92ZXIgewogICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7Cn0KCi8qIC0tIFZpc3VhbCBzdGFja2luZyBlZmZlY3QgLSBsYXllcmVkIGNhcmRzIGJlaGluZCB0aGUgbWFpbiBjYXJkIC0tLS0tLS0tLS0tLSAqLwovKiBDcmVhdGVzIHBzZXVkby1lbGVtZW50ICJjYXJkcyIgb2Zmc2V0IGJlaGluZCB0aGUgcHJpbWFyeSBjYXJkIHRvIHZpc3VhbGx5ICAgICovCi8qIGNvbW11bmljYXRlIHRoYXQgdGhpcyBjYXJkIHJlcHJlc2VudHMgYSBncm91cCBvZiBtdWx0aXBsZSBpbWFnZXMuICAgICAgICAgICAgKi8KLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmRbZGF0YS1tanItc3RhY2tlZD0idHJ1ZSJdIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDE7Cn0KCi5tanItYXNzZXRzLW1hbmFnZXIgLm1qci1hc3NldC1jYXJkW2RhdGEtbWpyLXN0YWNrZWQ9InRydWUiXTo6YmVmb3JlLAoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1zdGFja2VkPSJ0cnVlIl06OmFmdGVyIHsKICAgIGNvbnRlbnQ6ICIiOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaW5zZXQ6IDA7CiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0OwogICAgYmFja2dyb3VuZDogdmFyKC0tY29tZnktbWVudS1iZywgIzFhMWEyZSk7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB6LWluZGV4OiAtMTsKICAgIHRyYW5zaXRpb246CiAgICAgICAgdHJhbnNmb3JtIDE4MG1zIGVhc2UsCiAgICAgICAgb3BhY2l0eSAxODBtcyBlYXNlOwp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1zdGFja2VkPSJ0cnVlIl06OmJlZm9yZSB7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzcHgsIDNweCkgcm90YXRlKDFkZWcpOwogICAgb3BhY2l0eTogMC40NTsKfQoKLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFzc2V0LWNhcmRbZGF0YS1tanItc3RhY2tlZD0idHJ1ZSJdOjphZnRlciB7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg2cHgsIDZweCkgcm90YXRlKDIuMmRlZyk7CiAgICBvcGFjaXR5OiAwLjI1Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1zdGFja2VkPSJ0cnVlIl06aG92ZXI6OmJlZm9yZSB7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIDRweCkgcm90YXRlKDEuNWRlZyk7CiAgICBvcGFjaXR5OiAwLjU1Owp9CgoubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYXNzZXQtY2FyZFtkYXRhLW1qci1zdGFja2VkPSJ0cnVlIl06aG92ZXI6OmFmdGVyIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgOHB4KSByb3RhdGUoM2RlZyk7CiAgICBvcGFjaXR5OiAwLjM1Owp9CgoubWpyLXN0YWNrLWdyb3VwLXBvcG92ZXIgewogICAgd2lkdGg6IG1pbig0NDBweCwgOTJ2dyk7Cn0KCi5tanItc3RhY2stZ3JvdXAtbWVtYmVyLWNhcmQgewogICAgbWluLXdpZHRoOiAwOwp9CgoubWpyLXN0YWNrLWdyb3VwLW1lbWJlci1jYXJkIC5tanItdGh1bWIgewogICAgYXNwZWN0LXJhdGlvOiAxIC8gMSAhaW1wb3J0YW50Owp9CgoubWpyLXN0YWNrLWdyb3VwLW1lbWJlci1jYXJkIC5tanItY2FyZC1pbmZvIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqIExpZ2h0IG1vZGUgb3ZlcnJpZGVzIChDb21meVVJIHYxLjQyKyBpbXByb3ZlZCBsaWdodCB0aGVtZSkKICogVXNlcyBDb21meVVJIGRhdGEtdGhlbWUgYXR0cmlidXRlIHdoZW4gc2V0LCB3aXRoCiAqIHByZWZlcnMtY29sb3Itc2NoZW1lIGFzIGEgZmFsbGJhY2sgZm9yIG9sZGVyIHZlcnNpb25zLgogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIENvbWZ5VUkgc2V0cyBkYXRhLXRoZW1lPSJsaWdodCIgb24gPGh0bWw+IG9yIDxib2R5PiAqLwo6aXMoW2RhdGEtdGhlbWU9ImxpZ2h0Il0sIFtkYXRhLWNvbG9yLXNjaGVtZT0ibGlnaHQiXSkgLm1qci1hc3NldHMtbWFuYWdlciwKOmlzKFtkYXRhLXRoZW1lPSJsaWdodCJdLCBbZGF0YS1jb2xvci1zY2hlbWU9ImxpZ2h0Il0pIC5tanItcG9wb3ZlciB7CiAgICAtLW1qci1zdXJmYWNlLTA6IHZhcigtLWludGVyZmFjZS1wYW5lbC1zdXJmYWNlLCAjZjBmMGYwKTsKICAgIC0tbWpyLXN1cmZhY2UtMTogdmFyKC0taW50ZXJmYWNlLW1lbnUtc3VyZmFjZSwgI2ZhZmFmYSk7CiAgICAtLW1qci1zdXJmYWNlLTI6IHZhcigtLWludGVyZmFjZS1wYW5lbC1ob3Zlci1zdXJmYWNlLCAjZThlOGU4KTsKICAgIC0tbWpyLXN1cmZhY2UtMzogdmFyKC0tbW9kYWwtY2FyZC1iYWNrZ3JvdW5kLCAjZmZmZmZmKTsKICAgIC0tbWpyLWJvcmRlcjogdmFyKC0tYm9yZGVyLWRlZmF1bHQsIHJnYmEoMCwgMCwgMCwgMC4xNCkpOwogICAgLS1tanItbXV0ZWQ6IHZhcigtLW11dGVkLWZvcmVncm91bmQsIHJnYmEoMCwgMCwgMCwgMC41NSkpOwogICAgLS1tanItY2FyZC1ob3Zlci1jb2xvcjogdmFyKC0taW50ZXJmYWNlLXBhbmVsLWhvdmVyLXN1cmZhY2UsICNlMGUwZTApOwp9CgpAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBsaWdodCkgewogICAgLyogRmFsbGJhY2s6IG9ubHkgYXBwbHkgaWYgQ29tZnlVSSBoYXNuJ3Qgc2V0IGFuIGV4cGxpY2l0IGRhdGEtdGhlbWUgKi8KICAgIC5tanItYXNzZXRzLW1hbmFnZXI6bm90KFtkYXRhLXRoZW1lLWFwcGxpZWRdKSwKICAgIC5tanItcG9wb3Zlcjpub3QoW2RhdGEtdGhlbWUtYXBwbGllZF0pIHsKICAgICAgICAtLW1qci1zdXJmYWNlLTA6IHZhcigtLWludGVyZmFjZS1wYW5lbC1zdXJmYWNlLCAjZjBmMGYwKTsKICAgICAgICAtLW1qci1zdXJmYWNlLTE6IHZhcigtLWludGVyZmFjZS1tZW51LXN1cmZhY2UsICNmYWZhZmEpOwogICAgICAgIC0tbWpyLXN1cmZhY2UtMjogdmFyKC0taW50ZXJmYWNlLXBhbmVsLWhvdmVyLXN1cmZhY2UsICNlOGU4ZTgpOwogICAgICAgIC0tbWpyLXN1cmZhY2UtMzogdmFyKC0tbW9kYWwtY2FyZC1iYWNrZ3JvdW5kLCAjZmZmZmZmKTsKICAgICAgICAtLW1qci1ib3JkZXI6IHZhcigtLWJvcmRlci1kZWZhdWx0LCByZ2JhKDAsIDAsIDAsIDAuMTQpKTsKICAgICAgICAtLW1qci1tdXRlZDogdmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjU1KSk7CiAgICAgICAgLS1tanItY2FyZC1ob3Zlci1jb2xvcjogdmFyKC0taW50ZXJmYWNlLXBhbmVsLWhvdmVyLXN1cmZhY2UsICNlMGUwZTApOwogICAgfQp9CgovKiAtLS0gU2tlbGV0b24gbG9hZGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKLm1qci1jYXJkLXNrZWxldG9uIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdXJmYWNlLTEsICMyYTJhMmEpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLWJvcmRlciwgIzNhM2EzYSk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1tanItci1sZywgOHB4KTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAvKiBNYXRjaCAubWpyLXRodW1iIGFzcGVjdCByYXRpbyBzbyBza2VsZXRvbnMgaGF2ZSB0aGUgc2FtZSBmb290cHJpbnQgYXMgcmVhbCBjYXJkcy4gKi8KICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7Cn0KCi8qIFNoaW1tZXIgc3dlZXAgKi8KLm1qci1jYXJkLXNrZWxldG9uOjphZnRlciB7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAwOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KAogICAgICAgIDkwZGVnLAogICAgICAgIHRyYW5zcGFyZW50IDAlLAogICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0yLCAjM2EzYTNhKSA4MCUsIHRyYW5zcGFyZW50KSA1MCUsCiAgICAgICAgdHJhbnNwYXJlbnQgMTAwJQogICAgKTsKICAgIGFuaW1hdGlvbjogbWpyLXNoaW1tZXIgMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7Cn0KCkBrZXlmcmFtZXMgbWpyLXNoaW1tZXIgewogICAgZnJvbSB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsKICAgIH0KICAgIHRvIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7CiAgICB9Cn0KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgICAubWpyLWNhcmQtc2tlbGV0b246OmFmdGVyIHsKICAgICAgICBhbmltYXRpb246IG5vbmU7CiAgICB9Cn0KCi8qIC0tLSBSZXNwb25zaXZlIHN1bW1hcnkgYmFyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgovKgogKiBFbmFibGUgY29udGFpbmVyIHF1ZXJpZXMgb24gdGhlIHN1bW1hcnkgYmFyIHNvIGNoaWxkcmVuIGNhbiByZXNwb25kIHRvIGl0cwogKiBhY3R1YWwgcmVuZGVyZWQgd2lkdGggKGUuZy4gd2hlbiB0aGUgcGFuZWwgaXMgZG9ja2VkIGluIGEgbmFycm93IHNpZGViYXIpLgogKi8KLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFtLXN1bW1hcnkgewogICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplOwogICAgY29udGFpbmVyLW5hbWU6IG1qci1zdW1tYXJ5LWJhcjsKfQoKLyogQmVsb3cgfjM4MCBweDogaGlkZSB0aGUgcGlsbHMvcmlnaHQgc2VjdGlvbiB0byBwcmV2ZW50IG92ZXJmbG93LiAqLwpAY29udGFpbmVyIG1qci1zdW1tYXJ5LWJhciAobWF4LXdpZHRoOiAzODBweCkgewogICAgLm1qci1hc3NldHMtbWFuYWdlciAubWpyLWFtLXN1bW1hcnktcmlnaHQgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CiAgICAubWpyLWFzc2V0cy1tYW5hZ2VyIC5tanItYW0tc3VtbWFyeS10ZXh0IHsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICB9Cn0KCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAqIFN0dWRpbyB2aWV3ZXIgKG1haW4gdmlld2VyKSAtIC5tanItc3R1ZGlvCiAqIE5ldXRyYWwgZGFyayBzdGFnZSBzbyBnZW5lcmF0ZWQgY29sb3VycyBhcmUganVkZ2VkIGFjY3VyYXRlbHk7IGNocm9tZSB1c2VzCiAqIENvbWZ5VUkgdG9rZW5zIHRocm91Z2ggdGhlIC0tbWpyLSogYWxpYXNlcy4KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5tanItc3R1ZGlvIHsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIGluc2V0OiAwOwogICAgLyogQWJvdmUgdGhlIGZsb2F0aW5nIHZpZXdlciAoMTAwMDApICovCiAgICB6LWluZGV4OiAxMDAwMTsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bzsKICAgIGJhY2tncm91bmQ6ICMwZDBkMGY7CiAgICBjb2xvcjogdmFyKC0tZmctY29sb3IsICNlNmU2ZTYpOwogICAgb3V0bGluZTogbm9uZTsKICAgIC0tbWpyLXN0dWRpby1jaHJvbWU6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItc3VyZmFjZS0xLCAjMjMyMzI3KSA4OCUsIHRyYW5zcGFyZW50KTsKICAgIC0tbWpyLXN0dWRpby1saW5lOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlciwgI2ZmZjIpIDcwJSwgdHJhbnNwYXJlbnQpOwp9Ci5tanItc3R1ZGlvX19oZWFkZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDEycHg7CiAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdHVkaW8tY2hyb21lKTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tanItc3R1ZGlvLWxpbmUpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpOwogICAgbWluLXdpZHRoOiAwOwp9Ci5tanItc3R1ZGlvX19uYXYsCi5tanItc3R1ZGlvX19hY3Rpb25zIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA0cHg7CiAgICBmbGV4OiAwIDAgYXV0bzsKfQoubWpyLXN0dWRpb19fY291bnRlciB7CiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgY29sb3I6IHZhcigtLW1qci1tdXRlZCk7CiAgICBtaW4td2lkdGg6IDU0cHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLm1qci1zdHVkaW9fX3RpdGxlIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgbWluLXdpZHRoOiAwOwogICAgZmxleDogMSAxIGF1dG87Cn0KLm1qci1zdHVkaW9fX2ZpbGVuYW1lIHsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBmb250LXNpemU6IDEzLjVweDsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7Cn0KLm1qci1zdHVkaW9fX3N1bW1hcnkgewogICAgZm9udC1zaXplOiAxMS41cHg7CiAgICBjb2xvcjogdmFyKC0tbWpyLW11dGVkKTsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7Cn0KLm1qci1zdHVkaW8tYnRuIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZ2FwOiA0cHg7CiAgICBtaW4td2lkdGg6IDMwcHg7CiAgICBoZWlnaHQ6IDMwcHg7CiAgICBwYWRkaW5nOiAwIDdweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBjb2xvcjogaW5oZXJpdDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGZvbnQ6IGluaGVyaXQ7CiAgICBmb250LXNpemU6IDEycHg7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTJzLCBib3JkZXItY29sb3IgMC4xMnMsIGNvbG9yIDAuMTJzOwp9Ci5tanItc3R1ZGlvLWJ0bjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tZmctY29sb3IsICNmZmYpIDEwJSwgdHJhbnNwYXJlbnQpOwp9Ci5tanItc3R1ZGlvLWJ0bjpmb2N1cy12aXNpYmxlIHsKICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1tanItYWNjZW50KTsKICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7Cn0KLm1qci1zdHVkaW8tYnRuOmRpc2FibGVkIHsKICAgIG9wYWNpdHk6IDAuMzU7CiAgICBjdXJzb3I6IGRlZmF1bHQ7Cn0KLm1qci1zdHVkaW8tYnRuLmlzLW9uIHsKICAgIGNvbG9yOiB2YXIoLS1tanItYWNjZW50KTsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSAxNiUsIHRyYW5zcGFyZW50KTsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDQwJSwgdHJhbnNwYXJlbnQpOwp9Ci5tanItc3R1ZGlvLWJ0bi5pcy10ZXh0IHsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtOwp9Ci5tanItc3R1ZGlvLWJ0bi5pcy1jbG9zZTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN0YXR1cy1lcnJvciwgI2U1NDg0ZCkgMjglLCB0cmFuc3BhcmVudCk7Cn0KLm1qci1zdHVkaW8tY2hpcCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBoZWlnaHQ6IDIycHg7CiAgICBwYWRkaW5nOiAwIDhweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgZm9udC1zaXplOiAxMXB4OwogICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1mZy1jb2xvciwgI2ZmZikgOCUsIHRyYW5zcGFyZW50KTsKICAgIGNvbG9yOiB2YXIoLS1tanItbXV0ZWQpOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoubWpyLXN0dWRpby1zZWxlY3QgewogICAgaGVpZ2h0OiAyNnB4OwogICAgYm9yZGVyLXJhZGl1czogN3B4OwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLXN0dWRpby1saW5lKTsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBmb250OiBpbmhlcml0OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgcGFkZGluZzogMCA0cHg7Cn0KLm1qci1zdHVkaW9fX2JvZHkgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDMwMHB4LCAzODBweCk7CiAgICBtaW4taGVpZ2h0OiAwOwp9Ci5tanItc3R1ZGlvLmlzLWluc3BlY3Rvci1jbG9zZWQgLm1qci1zdHVkaW9fX2JvZHkgewogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTsKfQoubWpyLXN0dWRpb19fc3RhZ2UgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWluLXdpZHRoOiAwOwogICAgbWluLWhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KLm1qci1zdHVkaW9fX3Vuc3VwcG9ydGVkIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAwOwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBnYXA6IDEwcHg7CiAgICBjb2xvcjogdmFyKC0tbWpyLW11dGVkKTsKfQoubWpyLXN0dWRpb19fdW5zdXBwb3J0ZWQgLnBpIHsKICAgIGZvbnQtc2l6ZTogNDBweDsKfQoubWpyLXN0dWRpb19faW5zcGVjdG9yIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgbWluLWhlaWdodDogMDsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1zdXJmYWNlLTAsICMxYjFiMWUpOwogICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1tanItc3R1ZGlvLWxpbmUpOwp9Ci5tanItc3R1ZGlvX19yZXZpZXcgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDhweDsKICAgIHBhZGRpbmc6IDEycHggMTRweDsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tanItc3R1ZGlvLWxpbmUpOwp9Ci5tanItc3R1ZGlvX19yZXZpZXctcm93IHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxMHB4Owp9Ci5tanItc3R1ZGlvX19sYWJlbCB7CiAgICBmb250LXNpemU6IDExcHg7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsKICAgIGNvbG9yOiB2YXIoLS1tanItbXV0ZWQpOwp9Ci5tanItc3R1ZGlvX190YWJzIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IDJweDsKICAgIHBhZGRpbmc6IDZweCAxMHB4IDA7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbWpyLXN0dWRpby1saW5lKTsKfQoubWpyLXN0dWRpb19fdGFicyBidXR0b24gewogICAgYm9yZGVyOiBub25lOwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBjb2xvcjogdmFyKC0tbWpyLW11dGVkKTsKICAgIGZvbnQ6IGluaGVyaXQ7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBwYWRkaW5nOiA3cHggMTBweDsKICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGN1cnNvcjogcG9pbnRlcjsKfQoubWpyLXN0dWRpb19fdGFicyBidXR0b24uaXMtYWN0aXZlIHsKICAgIGNvbG9yOiB2YXIoLS1mZy1jb2xvciwgI2ZmZik7CiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1tanItYWNjZW50KTsKfQoubWpyLXN0dWRpb19fdGFiLWJvZHkgewogICAgZmxleDogMSAxIGF1dG87CiAgICBvdmVyZmxvdzogYXV0bzsKICAgIHBhZGRpbmc6IDEycHggMTRweCAxOHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDE0cHg7Cn0KLm1qci1zdHVkaW9fX2ZpbG1zdHJpcCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZ2FwOiA2cHg7CiAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tanItc3R1ZGlvLWNocm9tZSk7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbWpyLXN0dWRpby1saW5lKTsKICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjsKfQoubWpyLXN0dWRpb19fdGh1bWIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZmxleDogMCAwIGF1dG87CiAgICB3aWR0aDogNjRweDsKICAgIGhlaWdodDogNjRweDsKICAgIHBhZGRpbmc6IDA7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgb3BhY2l0eTogMC42OwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjEycywgYm9yZGVyLWNvbG9yIDAuMTJzLCB0cmFuc2Zvcm0gMC4xMnM7Cn0KLm1qci1zdHVkaW9fX3RodW1iOmhvdmVyIHsKICAgIG9wYWNpdHk6IDAuOTsKfQoubWpyLXN0dWRpb19fdGh1bWIuaXMtY3VycmVudCB7CiAgICBvcGFjaXR5OiAxOwogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tanItYWNjZW50KTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsKfQoubWpyLXN0dWRpb19fdGh1bWIgaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICBkaXNwbGF5OiBibG9jazsKfQoubWpyLXN0dWRpb19fdGh1bWItYmFkZ2UgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDRweDsKICAgIGJvdHRvbTogNHB4OwogICAgZm9udC1zaXplOiA5cHg7CiAgICBwYWRkaW5nOiAzcHg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNjUpOwogICAgY29sb3I6ICNmZmY7Cn0KCi8qIEltYWdlIHN0YWdlICovCi5tanItc3R1ZGlvLXN0YWdlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGN1cnNvcjogZ3JhYjsKICAgIHRvdWNoLWFjdGlvbjogbm9uZTsKfQoubWpyLXN0dWRpby1zdGFnZS5pcy1kcmFnZ2luZyB7CiAgICBjdXJzb3I6IGdyYWJiaW5nOwp9Ci5tanItc3R1ZGlvLXN0YWdlLmlzLWNoZWNrZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzJhMmEyYTsKICAgIGJhY2tncm91bmQtaW1hZ2U6CiAgICAgICAgbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjM2EzYTNhIDI1JSwgdHJhbnNwYXJlbnQgMjUlKSwKICAgICAgICBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjM2EzYTNhIDI1JSwgdHJhbnNwYXJlbnQgMjUlKSwKICAgICAgICBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50IDc1JSwgIzNhM2EzYSA3NSUpLAogICAgICAgIGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHRyYW5zcGFyZW50IDc1JSwgIzNhM2EzYSA3NSUpOwogICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDAgMTBweCwgMTBweCAtMTBweCwgLTEwcHggMDsKfQoubWpyLXN0dWRpby1zdGFnZV9fYm94IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDUwJTsKICAgIHRvcDogNTAlOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsKICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07Cn0KLm1qci1zdHVkaW8tc3RhZ2VfX2xheWVycyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBpbnNldDogMDsKICAgIGlzb2xhdGlvbjogaXNvbGF0ZTsKfQoubWpyLXN0dWRpby1zdGFnZV9faW1nIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIG1heC13aWR0aDogbm9uZTsKICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7Cn0KLm1qci1zdHVkaW8tc3RhZ2VfX2Vycm9yIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAwOwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBnYXA6IDhweDsKICAgIGNvbG9yOiB2YXIoLS1tanItbXV0ZWQpOwp9CgovKiBQbGF5ZXIgKi8KLm1qci1zdHVkaW8tcGxheWVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAwOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGJhY2tncm91bmQ6ICMwMDA7Cn0KLm1qci1zdHVkaW8tcGxheWVyLmNvbnRyb2xzLWhpZGRlbiB7CiAgICBjdXJzb3I6IG5vbmU7Cn0KLm1qci1zdHVkaW8tcGxheWVyX19tZWRpYSB7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICBtYXgtaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb250YWluOwogICAgZGlzcGxheTogYmxvY2s7Cn0KLm1qci1zdHVkaW8tcGxheWVyX19hdWRpby1hcnQgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxMnB4OwogICAgY29sb3I6IHZhcigtLW1qci1tdXRlZCk7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KLm1qci1zdHVkaW8tcGxheWVyX19hdWRpby1hcnQgLnBpIHsKICAgIGZvbnQtc2l6ZTogNjRweDsKICAgIGNvbG9yOiB2YXIoLS1tanItYWNjZW50KTsKfQoubWpyLXN0dWRpby1wbGF5ZXJfX2JpZy1wbGF5IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDUwJTsKICAgIHRvcDogNTAlOwogICAgd2lkdGg6IDcycHg7CiAgICBoZWlnaHQ6IDcycHg7CiAgICBtYXJnaW46IC0zNnB4IDAgMCAtMzZweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNDUpOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDI2cHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KTsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEycywgYmFja2dyb3VuZCAwLjEyczsKfQoubWpyLXN0dWRpby1wbGF5ZXJfX2JpZy1wbGF5OmhvdmVyIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNik7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCkgNTUlLCByZ2JhKDAsIDAsIDAsIDAuNCkpOwp9Ci5tanItc3R1ZGlvLXBsYXllci5pcy1hdWRpbyAubWpyLXN0dWRpby1wbGF5ZXJfX2JpZy1wbGF5IHsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KLm1qci1zdHVkaW8tcGxheWVyX19lcnJvciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb2xvcjogdmFyKC0tbWpyLXN0YXR1cy1lcnJvciwgI2ZmOGE4YSk7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICBwYWRkaW5nOiAxMHB4IDE0cHg7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7Cn0KLm1qci1zdHVkaW8tcGxheWVyX19jb250cm9scyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAxMnB4OwogICAgcmlnaHQ6IDEycHg7CiAgICBib3R0b206IDEycHg7CiAgICBwYWRkaW5nOiA2cHggMTBweCA4cHg7CiAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgYmFja2dyb3VuZDogcmdiYSgxMiwgMTIsIDE0LCAwLjcyKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7CiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7CiAgICBjb2xvcjogI2VlZTsKICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgdHJhbnNmb3JtIDAuMnM7Cn0KLm1qci1zdHVkaW8tcGxheWVyLmNvbnRyb2xzLWhpZGRlbiAubWpyLXN0dWRpby1wbGF5ZXJfX2NvbnRyb2xzIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5tanItc3R1ZGlvLXBsYXllcl9fdHJhY2sgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgaGVpZ2h0OiAxOHB4OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgdG91Y2gtYWN0aW9uOiBub25lOwp9Ci5tanItc3R1ZGlvLXBsYXllcl9fdHJhY2s6OmJlZm9yZSwKLm1qci1zdHVkaW8tcGxheWVyX19idWZmZXJlZCwKLm1qci1zdHVkaW8tcGxheWVyX19wcm9ncmVzcywKLm1qci1zdHVkaW8tcGxheWVyX19sb29wIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDdweDsKICAgIGhlaWdodDogNHB4OwogICAgYm9yZGVyLXJhZGl1czogMnB4Owp9Ci5tanItc3R1ZGlvLXBsYXllcl9fdHJhY2s6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiIjsKICAgIHJpZ2h0OiAwOwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTsKfQoubWpyLXN0dWRpby1wbGF5ZXJfX3RyYWNrOmhvdmVyOjpiZWZvcmUsCi5tanItc3R1ZGlvLXBsYXllcl9fdHJhY2s6aG92ZXIgLm1qci1zdHVkaW8tcGxheWVyX19idWZmZXJlZCwKLm1qci1zdHVkaW8tcGxheWVyX190cmFjazpob3ZlciAubWpyLXN0dWRpby1wbGF5ZXJfX3Byb2dyZXNzLAoubWpyLXN0dWRpby1wbGF5ZXJfX3RyYWNrOmhvdmVyIC5tanItc3R1ZGlvLXBsYXllcl9fbG9vcCB7CiAgICB0b3A6IDZweDsKICAgIGhlaWdodDogNnB4Owp9Ci5tanItc3R1ZGlvLXBsYXllcl9fYnVmZmVyZWQgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KTsKfQoubWpyLXN0dWRpby1wbGF5ZXJfX2xvb3AgewogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdGF0dXMtd2FybmluZywgI2Y1YTUyNCkgNTUlLCB0cmFuc3BhcmVudCk7Cn0KLm1qci1zdHVkaW8tcGxheWVyX19wcm9ncmVzcyB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tanItYWNjZW50KTsKfQoubWpyLXN0dWRpby1wbGF5ZXJfX3RodW1iIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogM3B4OwogICAgd2lkdGg6IDEycHg7CiAgICBoZWlnaHQ6IDEycHg7CiAgICBtYXJnaW4tbGVmdDogLTZweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDQ1JSwgdHJhbnNwYXJlbnQpOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLm1qci1zdHVkaW8tcGxheWVyX19ob3ZlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDIycHg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICBwYWRkaW5nOiAzcHggN3B4OwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLm1qci1zdHVkaW8tcGxheWVyX19yb3cgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDRweDsKICAgIGZsZXgtd3JhcDogd3JhcDsKfQoubWpyLXN0dWRpby1wbGF5ZXJfX3RpbWUgewogICAgZm9udC1zaXplOiAxMnB4OwogICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKICAgIG1hcmdpbjogMCA2cHg7Cn0KLm1qci1zdHVkaW8tcGxheWVyX190aW1lIC5pcy1kaW0gewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7Cn0KLm1qci1zdHVkaW8tcGxheWVyX19zcGFjZXIgewogICAgZmxleDogMSAxIGF1dG87Cn0KLm1qci1zdHVkaW8tcGxheWVyX19ncm91cCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDJweDsKfQoubWpyLXN0dWRpby1wbGF5ZXJfX3ZvbHVtZSB7CiAgICB3aWR0aDogODBweDsKICAgIGFjY2VudC1jb2xvcjogdmFyKC0tbWpyLWFjY2VudCk7Cn0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7CiAgICAubWpyLXN0dWRpb19fYm9keSB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCA0MCUpOwogICAgfQogICAgLm1qci1zdHVkaW9fX2luc3BlY3RvciB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLW1qci1zdHVkaW8tbGluZSk7CiAgICB9Cn0KLm1qci1zdHVkaW8tcGxheWVyX192b2x1bWUgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgd2lkdGg6IDgwcHg7CiAgICBoZWlnaHQ6IDE2cHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0b3VjaC1hY3Rpb246IG5vbmU7Cn0KLm1qci1zdHVkaW8tcGxheWVyX192b2x1bWU6OmJlZm9yZSwKLm1qci1zdHVkaW8tcGxheWVyX192b2x1bWUtZmlsbCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiA2cHg7CiAgICBoZWlnaHQ6IDRweDsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKfQoubWpyLXN0dWRpby1wbGF5ZXJfX3ZvbHVtZTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIiOwogICAgcmlnaHQ6IDA7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpOwp9Ci5tanItc3R1ZGlvLXBsYXllcl9fdm9sdW1lLWZpbGwgewogICAgYmFja2dyb3VuZDogI2ZmZjsKfQoKLyogU3R1ZGlvIHBsYXllciBpbnNpZGUgdGhlIGZsb2F0aW5nIHZpZXdlciAoY29tcGFjdCwgd2lkdGgtYXdhcmUpLiAqLwoubWpyLW1mdi1wbGF5ZXItaG9zdC0tc3R1ZGlvIHsKICAgIGJhY2tncm91bmQ6ICMwMDA7Cn0KLm1qci1zdHVkaW8tcGxheWVyLmlzLWNvbXBhY3QgLm1qci1zdHVkaW8tcGxheWVyX19jb250cm9scyB7CiAgICBsZWZ0OiA2cHg7CiAgICByaWdodDogNnB4OwogICAgYm90dG9tOiA2cHg7CiAgICBwYWRkaW5nOiA0cHggNnB4IDZweDsKICAgIGJvcmRlci1yYWRpdXM6IDlweDsKfQoubWpyLXN0dWRpby1wbGF5ZXIuaXMtY29tcGFjdCAubWpyLXN0dWRpby1idG4gewogICAgbWluLXdpZHRoOiAyNnB4OwogICAgaGVpZ2h0OiAyNnB4OwogICAgcGFkZGluZzogMCA1cHg7CiAgICBib3JkZXItcmFkaXVzOiA3cHg7Cn0KLm1qci1zdHVkaW8tcGxheWVyLmlzLWNvbXBhY3QgLm1qci1zdHVkaW8tcGxheWVyX190aW1lIHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIG1hcmdpbjogMCA0cHg7Cn0KLm1qci1zdHVkaW8tcGxheWVyLmlzLWNvbXBhY3QgLm1qci1zdHVkaW8tcGxheWVyX19iaWctcGxheSB7CiAgICB3aWR0aDogNTJweDsKICAgIGhlaWdodDogNTJweDsKICAgIG1hcmdpbjogLTI2cHggMCAwIC0yNnB4OwogICAgZm9udC1zaXplOiAxOHB4Owp9Ci5tanItc3R1ZGlvLXBsYXllci5pcy1jb21wYWN0IC5tanItc3R1ZGlvLXBsYXllcl9fdm9sdW1lIHsKICAgIHdpZHRoOiA1NnB4Owp9Ci5tanItc3R1ZGlvLXBsYXllci5pcy1jb21wYWN0IC5tanItc3R1ZGlvLXBsYXllcl9fYXVkaW8tYXJ0IC5waSB7CiAgICBmb250LXNpemU6IDQwcHg7Cn0KQGNvbnRhaW5lciAobWF4LXdpZHRoOiA1MjBweCkgewogICAgLm1qci1zdHVkaW8tcGxheWVyLmlzLWNvbXBhY3QgLm1qci1zdHVkaW8tcGxheWVyX192b2x1bWUsCiAgICAubWpyLXN0dWRpby1wbGF5ZXIuaXMtY29tcGFjdCAubWpyLXN0dWRpby1jaGlwIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQp9CkBjb250YWluZXIgKG1heC13aWR0aDogMzgwcHgpIHsKICAgIC5tanItc3R1ZGlvLXBsYXllci5pcy1jb21wYWN0IC5tanItc3R1ZGlvLXBsYXllcl9fZ3JvdXAsCiAgICAubWpyLXN0dWRpby1wbGF5ZXIuaXMtY29tcGFjdCAubWpyLXN0dWRpby1wbGF5ZXJfX3RpbWUgLmlzLWRpbSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KfQoKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICogRmxvYXRpbmcgdmlld2VyIHJlZnJlc2ggLSBhbGlnbmVkIHdpdGggdGhlIFN0dWRpbyB2aWV3ZXIuCiAqIFB1cmUgdmlzdWFsIGxheWVyIChhcHBlbmRlZCBsYXN0KTogZmxhdCBidXR0b25zIHRoYXQgbGlnaHQgdXAgb24gaG92ZXIgLwogKiB3aGVuIGFjdGl2ZSwgc29mdGVyIHdpbmRvdyBjaHJvbWUsIG5ldXRyYWwgc3RhZ2UuIFN0YXRlIGNvbG91cnMgKGxpdmUsCiAqIHByZXZpZXcsIG5vZGUgc3RyZWFtKSBrZWVwIHRoZWlyIGRlZGljYXRlZCBydWxlcyBhYm92ZS4KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5tanItbWZ2IHsKICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWJvcmRlcikgODAlLCB0cmFuc3BhcmVudCk7CiAgICBib3gtc2hhZG93OgogICAgICAgIDAgMThweCA0OHB4IHJnYmEoMCwgMCwgMCwgMC40NSksCiAgICAgICAgMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsKfQoubWpyLW1mdi1oZWFkZXIgewogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTEpIDkyJSwgdHJhbnNwYXJlbnQpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpOwp9Ci5tanItbWZ2LXRvb2xiYXIgewogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTEpIDcwJSwgdmFyKC0tbWpyLXN1cmZhY2UtMCkgMzAlKTsKICAgIGdhcDogMnB4Owp9Ci5tanItbWZ2IC5tanItaWNvbi1idG4gewogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogOHB4Owp9Ci5tanItbWZ2IC5tanItaWNvbi1idG46aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb250ZW50LWZnLCAjZmZmKSAxMCUsIHRyYW5zcGFyZW50KTsKICAgIHRyYW5zZm9ybTogbm9uZTsKfQoubWpyLW1mdiAubWpyLWljb24tYnRuW2FyaWEtcHJlc3NlZD0idHJ1ZSJdIHsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDQwJSwgdHJhbnNwYXJlbnQpOwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDE2JSwgdHJhbnNwYXJlbnQpOwogICAgYm94LXNoYWRvdzogbm9uZTsKfQoubWpyLW1mdiAubWpyLWljb24tYnRuLm1qci1saXZlLWFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN0YXR1cy1zdWNjZXNzKSAxNiUsIHRyYW5zcGFyZW50KTsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdGF0dXMtc3VjY2VzcykgNDUlLCB0cmFuc3BhcmVudCk7CiAgICBib3gtc2hhZG93OiBub25lOwp9Ci5tanItbWZ2IC5tanItaWNvbi1idG4ubWpyLXByZXZpZXctYWN0aXZlIHsKICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tanItYWNjZW50KSAxNiUsIHRyYW5zcGFyZW50KTsKICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1hY2NlbnQpIDQ1JSwgdHJhbnNwYXJlbnQpOwogICAgYm94LXNoYWRvdzogbm9uZTsKfQoubWpyLW1mdiAubWpyLW1mdi1zaW1wbGUtY29udGFpbmVyLAoubWpyLW1mdiAubWpyLW1mdi1wbGF5ZXItaG9zdCB7CiAgICBiYWNrZ3JvdW5kOiAjMGQwZDBmOwp9Ci5tanItbWZ2Lm1qci1tZnYtLXBvcHBlZCwKLm1qci1tZnYubWpyLW1mdi0tZGVza3RvcC1leHBhbmRlZCB7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgYm9yZGVyOiBub25lOwogICAgYm94LXNoYWRvdzogbm9uZTsKfQoKCi8qIOKUgOKUgOKUgCBTdHVkaW8gcmV2aWV3IHRvb2xzIChIVUQgcmFpbCwgY29tcGFyZSwgb3ZlcmxheXMpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqLwoubWpyLXN0dWRpby1meC1kZWZzIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAwOwogICAgaGVpZ2h0OiAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5tanItc3R1ZGlvLXN0YWdlLmlzLXByb2JpbmcsCi5tanItc3R1ZGlvLXBsYXllci5pcy1wcm9iaW5nIC5tanItc3R1ZGlvLXBsYXllcl9fc2NyZWVuIHsKICAgIGN1cnNvcjogY3Jvc3NoYWlyOwp9Ci5tanItc3R1ZGlvLXN0YWdlX19zaWRlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwp9Ci5tanItc3R1ZGlvLXN0YWdlX19kaXZpZGVyIHsKICAgIC0tbWpyLWs6IHZhcigtLW1qci1pbnYtc2NhbGUsIDEpOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgYm90dG9tOiAwOwogICAgd2lkdGg6IGNhbGMoMjRweCAqIHZhcigtLW1qci1rKSk7CiAgICBtYXJnaW4tbGVmdDogY2FsYygtMTJweCAqIHZhcigtLW1qci1rKSk7CiAgICBjdXJzb3I6IGV3LXJlc2l6ZTsKICAgIHotaW5kZXg6IDM7CiAgICB0b3VjaC1hY3Rpb246IG5vbmU7Cn0KLm1qci1zdHVkaW8tc3RhZ2VfX2RpdmlkZXI6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDUwJTsKICAgIHRvcDogMDsKICAgIGJvdHRvbTogMDsKICAgIHdpZHRoOiBjYWxjKDJweCAqIHZhcigtLW1qci1rKSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgYm94LXNoYWRvdzogMCAwIDAgY2FsYygxcHggKiB2YXIoLS1tanItaykpIHJnYmEoMCwgMCwgMCwgMC40NSk7Cn0KLm1qci1zdHVkaW8tc3RhZ2VfX2RpdmlkZXIuaXMtdmVydGljYWwgewogICAgdG9wOiBhdXRvOwogICAgYm90dG9tOiBhdXRvOwogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOwogICAgd2lkdGg6IGF1dG87CiAgICBoZWlnaHQ6IGNhbGMoMjRweCAqIHZhcigtLW1qci1rKSk7CiAgICBtYXJnaW4tbGVmdDogMDsKICAgIG1hcmdpbi10b3A6IGNhbGMoLTEycHggKiB2YXIoLS1tanItaykpOwogICAgY3Vyc29yOiBucy1yZXNpemU7Cn0KLm1qci1zdHVkaW8tc3RhZ2VfX2RpdmlkZXIuaXMtdmVydGljYWw6OmJlZm9yZSB7CiAgICBsZWZ0OiAwOwogICAgcmlnaHQ6IDA7CiAgICB0b3A6IDUwJTsKICAgIGJvdHRvbTogYXV0bzsKICAgIHdpZHRoOiBhdXRvOwogICAgaGVpZ2h0OiBjYWxjKDJweCAqIHZhcigtLW1qci1rKSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7Cn0KLm1qci1zdHVkaW8tc3RhZ2VfX2RpdmlkZXItZ3JpcCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA1MCU7CiAgICB0b3A6IDUwJTsKICAgIHdpZHRoOiAxOHB4OwogICAgaGVpZ2h0OiAzNHB4OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUodmFyKC0tbWpyLWspKTsKICAgIGJvcmRlci1yYWRpdXM6IDlweDsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjUpOwp9Ci5tanItc3R1ZGlvLXN0YWdlX19kaXZpZGVyLmlzLXZlcnRpY2FsIC5tanItc3R1ZGlvLXN0YWdlX19kaXZpZGVyLWdyaXAgewogICAgd2lkdGg6IDM0cHg7CiAgICBoZWlnaHQ6IDE4cHg7Cn0KLm1qci1zdHVkaW8tc3RhZ2VfX2RpdmlkZXIuaXMtYWN0aXZlIC5tanItc3R1ZGlvLXN0YWdlX19kaXZpZGVyLWdyaXAsCi5tanItc3R1ZGlvLXN0YWdlX19kaXZpZGVyOmhvdmVyIC5tanItc3R1ZGlvLXN0YWdlX19kaXZpZGVyLWdyaXAgewogICAgYmFja2dyb3VuZDogdmFyKC0tbWpyLWFjY2VudCwgIzRmYTNmZik7Cn0KLm1qci1zdHVkaW8tc3RhZ2VfX2FiIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDUwJTsKICAgIHRvcDogMTJweDsKICAgIHotaW5kZXg6IDQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZ2FwOiA2cHg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICBwYWRkaW5nOiAycHggMTBweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgZm9udDogNjAwIDExcHgvMjBweCB2YXIoLS1tanItZm9udCwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmKTsKICAgIGNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLm1qci1zdHVkaW8tc3RhZ2VfX2FiIC5pcy1zZXAgewogICAgb3BhY2l0eTogMC41Owp9CgoubWpyLXN0dWRpby1wbGF5ZXJfX3NjcmVlbiB7CiAgICBjdXJzb3I6IGNyb3NzaGFpcjsKfQoubWpyLXN0dWRpby1zdGFnZV9fc2lkZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKfQoubWpyLXN0dWRpby1zdGFnZV9fZGl2aWRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBib3R0b206IDA7CiAgICB3aWR0aDogMjRweDsKICAgIG1hcmdpbi1sZWZ0OiAtMTJweDsKICAgIGN1cnNvcjogZXctcmVzaXplOwogICAgei1pbmRleDogMzsKICAgIHRvdWNoLWFjdGlvbjogbm9uZTsKfQoubWpyLXN0dWRpby1zdGFnZV9fZGl2aWRlcjo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIiOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogNTAlOwogICAgdG9wOiAwOwogICAgYm90dG9tOiAwOwogICAgd2lkdGg6IDJweDsKICAgIG1hcmdpbi1sZWZ0OiAtMXB4OwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuNDUpOwp9Ci5tanItc3R1ZGlvLXN0YWdlX19kaXZpZGVyLmlzLXZlcnRpY2FsIHsKICAgIHRvcDogYXV0bzsKICAgIGJvdHRvbTogYXV0bzsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIHdpZHRoOiBhdXRvOwogICAgaGVpZ2h0OiAyNHB4OwogICAgbWFyZ2luLWxlZnQ6IDA7CiAgICBtYXJnaW4tdG9wOiAtMTJweDsKICAgIGN1cnNvcjogbnMtcmVzaXplOwp9Ci5tanItc3R1ZGlvLXN0YWdlX19kaXZpZGVyLmlzLXZlcnRpY2FsOjpiZWZvcmUgewogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOwogICAgdG9wOiA1MCU7CiAgICBib3R0b206IGF1dG87CiAgICB3aWR0aDogYXV0bzsKICAgIGhlaWdodDogMnB4OwogICAgbWFyZ2luLWxlZnQ6IDA7CiAgICBtYXJnaW4tdG9wOiAtMXB4Owp9Ci5tanItc3R1ZGlvLXN0YWdlX19kaXZpZGVyLWdyaXAgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogNTAlOwogICAgdG9wOiA1MCU7CiAgICB3aWR0aDogMThweDsKICAgIGhlaWdodDogMzRweDsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgYm9yZGVyLXJhZGl1czogOXB4OwogICAgYmFja2dyb3VuZDogI2ZmZjsKICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuNSk7Cn0KLm1qci1zdHVkaW8tc3RhZ2VfX2RpdmlkZXIuaXMtdmVydGljYWwgLm1qci1zdHVkaW8tc3RhZ2VfX2RpdmlkZXItZ3JpcCB7CiAgICB3aWR0aDogMzRweDsKICAgIGhlaWdodDogMThweDsKfQoubWpyLXN0dWRpby1zdGFnZV9fZGl2aWRlci5pcy1hY3RpdmUgLm1qci1zdHVkaW8tc3RhZ2VfX2RpdmlkZXItZ3JpcCwKLm1qci1zdHVkaW8tc3RhZ2VfX2RpdmlkZXI6aG92ZXIgLm1qci1zdHVkaW8tc3RhZ2VfX2RpdmlkZXItZ3JpcCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tanItYWNjZW50LCAjNGZhM2ZmKTsKfQoubWpyLXN0dWRpby1zdGFnZV9fYWIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiA4cHg7CiAgICB6LWluZGV4OiAyOwogICAgcGFkZGluZzogMXB4IDdweDsKICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgIGZvbnQ6IDYwMCAxMXB4LzE4cHggdmFyKC0tbWpyLWZvbnQsIHN5c3RlbS11aSwgc2Fucy1zZXJpZik7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5tanItc3R1ZGlvLXN0YWdlX19hYi5pcy1hIHsKICAgIGxlZnQ6IDhweDsKfQoubWpyLXN0dWRpby1zdGFnZV9fYWIuaXMtYiB7CiAgICByaWdodDogOHB4Owp9Ci5tanItc3R1ZGlvLXN0YWdlX19ib3ggLm1qci1zdHVkaW8tc3RhZ2VfX2FiIHsKICAgIC8qIEluc2lkZSB0aGUgem9vbWVkIGJveDoga2VlcCBsYWJlbHMgcmVhZGFibGUgYXQgYW55IHpvb20uICovCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKfQoKLm1qci1zdHVkaW8tcGxheWVyX19zY3JlZW4gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaW5zZXQ6IDA7Cn0KLm1qci1zdHVkaW8tcGxheWVyX19sYXllcnMgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaW5zZXQ6IDA7CiAgICBpc29sYXRpb246IGlzb2xhdGU7Cn0KLm1qci1zdHVkaW8tcGxheWVyX19tZWRpYS5pcy1iIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGluc2V0OiAwOwp9Ci5tanItc3R1ZGlvLXBsYXllcl9fc2NyZWVuLmlzLXNpZGUgLm1qci1zdHVkaW8tcGxheWVyX19sYXllcnMgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogOHB4Owp9Ci5tanItc3R1ZGlvLXBsYXllcl9fc2NyZWVuLmlzLXNpZGUgLm1qci1zdHVkaW8tcGxheWVyX19tZWRpYSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBpbnNldDogYXV0bzsKICAgIGZsZXg6IDEgMSAwOwogICAgbWluLXdpZHRoOiAwOwogICAgd2lkdGg6IGF1dG87Cn0KLm1qci1zdHVkaW8tcGxheWVyX19ib3ggewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLm1qci1zdHVkaW8tcGxheWVyX19ib3ggLm1qci1zdHVkaW8tc3RhZ2VfX2RpdmlkZXIgewogICAgcG9pbnRlci1ldmVudHM6IGF1dG87Cn0KCi5tanItc3R1ZGlvLWd1aWRlcywKLm1qci1zdHVkaW8temVicmEgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaW5zZXQ6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5tanItc3R1ZGlvLXplYnJhIHsKICAgIGltYWdlLXJlbmRlcmluZzogcGl4ZWxhdGVkOwp9Ci5tanItc3R1ZGlvLWd1aWRlc19fbGluZSB7CiAgICBzdHJva2U6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsKICAgIHN0cm9rZS13aWR0aDogMTsKfQoubWpyLXN0dWRpby1ndWlkZXNfX3NhZmUgewogICAgc3Ryb2tlOiByZ2JhKDI1NSwgMjEwLCA4MCwgMC44KTsKICAgIHN0cm9rZS13aWR0aDogMTsKICAgIHN0cm9rZS1kYXNoYXJyYXk6IDYgNDsKfQoubWpyLXN0dWRpby1ndWlkZXNfX21hc2stZWRnZSB7CiAgICBzdHJva2U6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsKICAgIHN0cm9rZS13aWR0aDogMTsKfQoKLm1qci1zdHVkaW8tbW9kZWwzZCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBpbnNldDogMDsKICAgIHBhZGRpbmc6IDEycHg7Cn0KLm1qci1zdHVkaW8tbW9kZWwzZF9faG9zdCB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKfQoKLyogSFVEIHJhaWwgKi8KLm1qci1zdHVkaW8tcmFpbCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAxMnB4OwogICAgdG9wOiAxMnB4OwogICAgei1pbmRleDogNTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgIGdhcDogOHB4OwogICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMjRweCk7Cn0KLm1qci1zdHVkaW8tcmFpbF9fYmFyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAycHg7CiAgICBwYWRkaW5nOiA1cHg7CiAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1qci1zdXJmYWNlLTEsICMxYzFjMjApIDgyJSwgdHJhbnNwYXJlbnQpOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWpyLXN0dWRpby1saW5lLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkpOwogICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMzUpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpOwogICAgb3ZlcmZsb3cteTogYXV0bzsKICAgIG1heC1oZWlnaHQ6IDEwMCU7CiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7Cn0KLm1qci1zdHVkaW8tcmFpbF9fYnRuIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgd2lkdGg6IDM0cHg7CiAgICBoZWlnaHQ6IDM0cHg7CiAgICBmbGV4OiAwIDAgYXV0bzsKICAgIGJvcmRlcjogMDsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgY29sb3I6IHZhcigtLW1qci10ZXh0LW11dGVkLCAjYjViNWJkKTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRyYW5zaXRpb246CiAgICAgICAgYmFja2dyb3VuZCAwLjEycyBlYXNlLAogICAgICAgIGNvbG9yIDAuMTJzIGVhc2U7Cn0KLm1qci1zdHVkaW8tcmFpbF9fYnRuOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7CiAgICBjb2xvcjogdmFyKC0tbWpyLXRleHQsICNmZmYpOwp9Ci5tanItc3R1ZGlvLXJhaWxfX2J0bjpmb2N1cy12aXNpYmxlIHsKICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1tanItYWNjZW50LCAjNGZhM2ZmKTsKICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4Owp9Ci5tanItc3R1ZGlvLXJhaWxfX2J0bi5pcy1vbiB7CiAgICBjb2xvcjogdmFyKC0tbWpyLWFjY2VudCwgIzRmYTNmZik7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLWFjY2VudCwgIzRmYTNmZikgMTYlLCB0cmFuc3BhcmVudCk7Cn0KLm1qci1zdHVkaW8tcmFpbF9fYnRuLmlzLW9wZW4gewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTsKICAgIGNvbG9yOiB2YXIoLS1tanItdGV4dCwgI2ZmZik7Cn0KLm1qci1zdHVkaW8tcmFpbF9fdGFnIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAxcHg7CiAgICBib3R0b206IDFweDsKICAgIG1pbi13aWR0aDogMTJweDsKICAgIHBhZGRpbmc6IDAgMnB4OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgZm9udDogNzAwIDhweC8xMXB4IHZhcigtLW1qci1mb250LCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYpOwogICAgYmFja2dyb3VuZDogdmFyKC0tbWpyLWFjY2VudCwgIzRmYTNmZik7CiAgICBjb2xvcjogI2ZmZjsKfQoubWpyLXN0dWRpby1yYWlsX19zZXAgewogICAgaGVpZ2h0OiAxcHg7CiAgICBtYXJnaW46IDNweCA2cHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tanItc3R1ZGlvLWxpbmUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSk7Cn0KLm1qci1zdHVkaW8tcmFpbF9fcGFuZWwgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogNTRweDsKICAgIHdpZHRoOiAyMzZweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAxMHB4OwogICAgcGFkZGluZzogMTJweDsKICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWpyLXN1cmZhY2UtMSwgIzFjMWMyMCkgOTIlLCB0cmFuc3BhcmVudCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tanItc3R1ZGlvLWxpbmUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSk7CiAgICBib3gtc2hhZG93OiAwIDEycHggMzJweCByZ2JhKDAsIDAsIDAsIDAuNDUpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpOwogICAgY29sb3I6IHZhcigtLW1qci10ZXh0LCAjZWVlKTsKICAgIGZvbnQtc2l6ZTogMTJweDsKfQoubWpyLXN0dWRpby1yYWlsX190aXRsZSB7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgY29sb3I6IHZhcigtLW1qci10ZXh0LCAjZmZmKTsKfQoubWpyLXN0dWRpby1yYWlsX19iIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA0cHg7Cn0KLm1qci1zdHVkaW8tcmFpbF9fYi1sYWJlbCB7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW1qci1hY2NlbnQsICM0ZmEzZmYpOwp9Ci5tanItc3R1ZGlvLXJhaWxfX2ItbmFtZSB7CiAgICBmbGV4OiAxIDEgYXV0bzsKICAgIG1pbi13aWR0aDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBjb2xvcjogdmFyKC0tbWpyLXRleHQtbXV0ZWQsICNiNWI1YmQpOwp9Ci5tanItc3R1ZGlvLXNlZyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZ2FwOiAycHg7CiAgICBwYWRkaW5nOiAycHg7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpOwp9Ci5tanItc3R1ZGlvLXNlZy5pcy13cmFwIHsKICAgIGZsZXgtd3JhcDogd3JhcDsKfQoubWpyLXN0dWRpby1zZWcgYnV0dG9uIHsKICAgIGZsZXg6IDEgMSBhdXRvOwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBnYXA6IDRweDsKICAgIG1pbi1oZWlnaHQ6IDI2cHg7CiAgICBwYWRkaW5nOiAwIDhweDsKICAgIGJvcmRlcjogMDsKICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgY29sb3I6IHZhcigtLW1qci10ZXh0LW11dGVkLCAjYjViNWJkKTsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLm1qci1zdHVkaW8tc2VnIGJ1dHRvbjpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbWpyLXRleHQsICNmZmYpOwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTsKfQoubWpyLXN0dWRpby1zZWcgYnV0dG9uLmlzLW9uIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLW1qci1hY2NlbnQsICM0ZmEzZmYpOwogICAgY29sb3I6ICNmZmY7Cn0KCi8qIFNsaWRlciAqLwoubWpyLXN0dWRpby1zbGlkZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDZweDsKfQoubWpyLXN0dWRpby1zbGlkZXJfX2hlYWQgewogICAgZGlzcGxheTogZmxleDsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGNvbG9yOiB2YXIoLS1tanItdGV4dC1tdXRlZCwgI2I1YjViZCk7CiAgICBmb250LXNpemU6IDExcHg7Cn0KLm1qci1zdHVkaW8tc2xpZGVyX192YWx1ZSB7CiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwogICAgY29sb3I6IHZhcigtLW1qci10ZXh0LCAjZmZmKTsKfQoubWpyLXN0dWRpby1zbGlkZXJfX3RyYWNrIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGhlaWdodDogMTZweDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRvdWNoLWFjdGlvbjogbm9uZTsKICAgIG91dGxpbmU6IG5vbmU7Cn0KLm1qci1zdHVkaW8tc2xpZGVyX190cmFjazo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIiOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOwogICAgdG9wOiA3cHg7CiAgICBoZWlnaHQ6IDNweDsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7Cn0KLm1qci1zdHVkaW8tc2xpZGVyX19maWxsIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDdweDsKICAgIGhlaWdodDogM3B4OwogICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tbWpyLWFjY2VudCwgIzRmYTNmZik7Cn0KLm1qci1zdHVkaW8tc2xpZGVyX19rbm9iIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMnB4OwogICAgd2lkdGg6IDEycHg7CiAgICBoZWlnaHQ6IDEycHg7CiAgICBtYXJnaW4tbGVmdDogLTZweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpOwp9Ci5tanItc3R1ZGlvLXNsaWRlcl9fdHJhY2s6Zm9jdXMtdmlzaWJsZSAubWpyLXN0dWRpby1zbGlkZXJfX2tub2IgewogICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLW1qci1hY2NlbnQsICM0ZmEzZmYpOwogICAgb3V0bGluZS1vZmZzZXQ6IDFweDsKfQoKLyogU2NvcGVzIEhVRCAqLwoubWpyLXN0dWRpby1zY29wZXMgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDEycHg7CiAgICB0b3A6IDEycHg7CiAgICB6LWluZGV4OiA0OwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDhweDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5tanItc3R1ZGlvLXNjb3Blc19fcGFuZWwgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgcGFkZGluZzogNnB4OwogICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTAsIDEwLCAxMiwgMC43Mik7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7Cn0KLm1qci1zdHVkaW8tc2NvcGVzX19wYW5lbCBjYW52YXMgewogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogMjU2cHg7CiAgICBoZWlnaHQ6IDExMHB4Owp9Ci5tanItc3R1ZGlvLXNjb3Blc19fcGFuZWwgY2FudmFzLmlzLXdhdmUgewogICAgaGVpZ2h0OiAxMjhweDsKfQoubWpyLXN0dWRpby1zY29wZXNfX2xhYmVsIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDEwcHg7CiAgICB0b3A6IDZweDsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7Cn0KCi8qIFByb2JlIC8gbG91cGUgKi8KLm1qci1zdHVkaW8tcHJvYmUgewogICAgcG9zaXRpb246IGZpeGVkOwogICAgaW5zZXQ6IDA7CiAgICB6LWluZGV4OiAxMDAwMTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5tanItc3R1ZGlvLXByb2JlX19sb3VwZSB7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTsKICAgIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjU1KTsKICAgIGJhY2tncm91bmQ6ICMxMTE7Cn0KLm1qci1zdHVkaW8tcHJvYmVfX2xvdXBlIGNhbnZhcyB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgaW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7Cn0KLm1qci1zdHVkaW8tcHJvYmVfX2Nyb3NzIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDUwJTsKICAgIHRvcDogNTAlOwogICAgd2lkdGg6IDEwcHg7CiAgICBoZWlnaHQ6IDEwcHg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7CiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjYpOwp9Ci5tanItc3R1ZGlvLXByb2JlX19jaGlwIHsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiA4cHg7CiAgICBwYWRkaW5nOiA1cHggOXB4OwogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgxMCwgMTAsIDEyLCAwLjg1KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udDogNTAwIDExcHgvMS4zIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBtb25vc3BhY2U7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci5tanItc3R1ZGlvLXByb2JlX19jaGlwIC5pcy1kaW0gewogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsKfQoubWpyLXN0dWRpby1wcm9iZV9fc3dhdGNoIHsKICAgIHdpZHRoOiAxNHB4OwogICAgaGVpZ2h0OiAxNHB4OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpOwp9CgovKiBBdWRpbyBzcGVjdHJ1bSAqLwoubWpyLXN0dWRpby1wbGF5ZXJfX2F1ZGlvLWFydC5oYXMtc3BlY3RydW0gewogICAgd2lkdGg6IG1pbig3MjBweCwgODYlKTsKfQoubWpyLXN0dWRpby1wbGF5ZXJfX3NwZWN0cnVtIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDE2MHB4Owp9Ci5tanItc3R1ZGlvLXBsYXllci5pcy1jb21wYWN0IC5tanItc3R1ZGlvLXBsYXllcl9fc3BlY3RydW0gewogICAgaGVpZ2h0OiA5MHB4Owp9CgovKiBGbG9hdGluZyB2aWV3ZXIgQS9CIHdpdGggdGhlIFN0dWRpbyBwbGF5ZXIgb24gQTogQSBpcyBvbiB0b3AgKHBvaW50ZXItdGhyb3VnaCksCiAgIG9ubHkgaXRzIHBpY3R1cmUgaXMgY2xpcHBlZCBhdCB0aGUgZGl2aWRlcjsgQiBzaG93cyB1bmRlcm5lYXRoLiAqLwoubWpyLW1mdi1hYi1jb250YWluZXIuaGFzLXN0dWRpby1hIHsKICAgIGJhY2tncm91bmQ6ICMwMDA7Cn0KLm1qci1tZnYtYWItY29udGFpbmVyLmhhcy1zdHVkaW8tYSAubWpyLW1mdi1hYi1sYXllcjpub3QoLm1qci1tZnYtYWItbGF5ZXItLWIpIHsKICAgIHotaW5kZXg6IDI7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoubWpyLW1mdi1hYi1jb250YWluZXIuaGFzLXN0dWRpby1hIC5tanItbWZ2LWFiLWxheWVyOm5vdCgubWpyLW1mdi1hYi1sYXllci0tYikgLm1qci1tZnYtcGxheWVyLWhvc3QsCi5tanItbWZ2LWFiLWNvbnRhaW5lci5oYXMtc3R1ZGlvLWEgLm1qci1tZnYtYWItbGF5ZXI6bm90KC5tanItbWZ2LWFiLWxheWVyLS1iKSAubWpyLXN0dWRpby1wbGF5ZXIgewogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Cn0KLm1qci1tZnYtYWItY29udGFpbmVyLmhhcy1zdHVkaW8tYSAubWpyLXN0dWRpby1wbGF5ZXJfX3NjcmVlbiB7CiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgIGNsaXAtcGF0aDogaW5zZXQoMCBjYWxjKDEwMCUgLSB2YXIoLS1tanItYWIteCwgNTAlKSkgMCAwKTsKfQoubWpyLW1mdi1hYi1jb250YWluZXIuaGFzLXN0dWRpby1hIC5tanItc3R1ZGlvLXBsYXllcl9fY29udHJvbHMsCi5tanItbWZ2LWFiLWNvbnRhaW5lci5oYXMtc3R1ZGlvLWEgLm1qci1zdHVkaW8tcGxheWVyX19iaWctcGxheSB7CiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKfQoubWpyLW1mdi1hYi1jb250YWluZXIuaGFzLXN0dWRpby1hIC5tanItbWZ2LWFiLWRpdmlkZXIgewogICAgei1pbmRleDogMTA7Cn0KLyogVGhlIGRpdmlkZXIgc3RvcHMgYWJvdmUgdGhlIHBsYXllciBjb250cm9scyBpbnN0ZWFkIG9mIGRyYXdpbmcgb3ZlciB0aGVtCiAgIChjbGlwLXBhdGggYWxzbyByZW1vdmVzIGl0cyBoaXQgYXJlYSB0aGVyZSkuICovCi5tanItbWZ2LWFiLWNvbnRhaW5lci5oYXMtc3R1ZGlvLWEgLm1qci1tZnYtYWItZGl2aWRlciB7CiAgICBjbGlwLXBhdGg6IGluc2V0KDAgLTIwcHggNzJweCAtMjBweCk7Cn0KLm1qci1tZnYtYWItY29udGFpbmVyLmhhcy1zdHVkaW8tYTpoYXMoLm1qci1zdHVkaW8tcGxheWVyLmNvbnRyb2xzLWhpZGRlbikgLm1qci1tZnYtYWItZGl2aWRlciB7CiAgICBjbGlwLXBhdGg6IG5vbmU7Cn0KCi8qIEIga2VlcHMgaXRzIG93biBhc3BlY3QgcmF0aW8gaW5zaWRlIEEncyBmcmFtZSAoQS9CIG9mIGRpZmZlcmVudCBzaXplcykuICovCi5tanItc3R1ZGlvLXN0YWdlX19pbWcuaXMtYiwKLm1qci1zdHVkaW8tc3RhZ2VfX3NpZGUgLm1qci1zdHVkaW8tc3RhZ2VfX2ltZyB7CiAgICBvYmplY3QtZml0OiBjb250YWluOwp9Cg==", "" + import.meta.url).toString(), n = document.createElement("link");
n.id = t, n.rel = "stylesheet", n.type = "text/css", n.href = e, n.onerror = () => {
@@ -294,7 +294,7 @@ function ei({ enabled: e = !0 } = {}) {
}
}, document.head.appendChild(n), n.onload = () => {
try {
- document.documentElement.dataset.mjrThemeComfy = "1", $r();
+ document.documentElement.dataset.mjrThemeComfy = "1", ni();
} catch (e) {
console.debug?.(e);
}
@@ -303,29 +303,29 @@ function ei({ enabled: e = !0 } = {}) {
console.warn("Majoor: failed to load Comfy theme CSS", e);
}
}
-$r();
+ni();
// ui/features/grid/gridApi.ts
-function ti() {
+function ii() {
let e = "mjr-grid-settings-styles";
if (document.getElementById(e)) return;
let t = document.createElement("style");
t.id = e, t.textContent = "\n .mjr-grid .mjr-asset-card,\n .mjr-grid .mjr-card {\n display: flex;\n flex-direction: column;\n }\n .mjr-grid .mjr-thumb {\n flex: 0 0 auto;\n width: 100%;\n aspect-ratio: 1 / 1;\n min-height: 0;\n position: relative;\n overflow: hidden;\n }\n .mjr-grid .mjr-thumb-media {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n }\n\n .mjr-grid .mjr-asset-card:hover {\n background-color: var(--mjr-card-hover-color) !important;\n }\n\n .mjr-grid .mjr-asset-card.is-selected {\n outline: 2px solid var(--mjr-card-selection-color) !important;\n box-shadow: 0 0 0 2px var(--mjr-card-selection-color) !important;\n }\n\n .mjr-grid .mjr-card-filename { display: none; }\n .mjr-grid.mjr-show-filename .mjr-card-filename { display: block; }\n\n .mjr-grid .mjr-card-dot-wrapper { display: none; }\n .mjr-grid.mjr-show-dot .mjr-card-dot-wrapper { display: inline-flex; }\n .mjr-grid .mjr-asset-status-dot {\n transition: color 0.3s ease, opacity 0.3s ease;\n }\n .mjr-grid .mjr-asset-status-dot.mjr-pulse-animation {\n animation: mjr-pulse 1.5s infinite;\n }\n @keyframes mjr-pulse {\n 0% { opacity: 1; }\n 50% { opacity: 0.4; }\n 100% { opacity: 1; }\n }\n\n .mjr-grid .mjr-meta-res { display: none; }\n .mjr-grid.mjr-show-dimensions .mjr-meta-res { display: inline; }\n\n .mjr-grid .mjr-meta-duration { display: none; }\n .mjr-grid.mjr-show-dimensions .mjr-meta-duration { display: inline; }\n\n .mjr-grid .mjr-meta-date { display: none; }\n .mjr-grid.mjr-show-date .mjr-meta-date { display: inline; }\n\n .mjr-grid .mjr-meta-gentime { display: none; }\n .mjr-grid.mjr-show-gentime .mjr-meta-gentime { display: inline; }\n\n .mjr-grid .mjr-badge-ext { display: none !important; }\n .mjr-grid.mjr-show-badges-ext .mjr-badge-ext { display: flex !important; }\n\n .mjr-grid .mjr-badge-rating { display: none !important; }\n .mjr-grid.mjr-show-badges-rating .mjr-badge-rating { display: flex !important; }\n\n .mjr-grid .mjr-badge-tags { display: none !important; }\n .mjr-grid.mjr-show-badges-tags .mjr-badge-tags { display: flex !important; }\n\n .mjr-grid .mjr-card-info { display: none !important; }\n .mjr-grid.mjr-show-details .mjr-card-info { display: block !important; }\n\n .mjr-card-meta-row > span + span::before {\n content: \" \"¢ \";\n opacity: 0.5;\n margin: 0 4px;\n }\n .mjr-card-meta-row > span[style*=\"display: none\"] + span::before {\n display: none;\n }\n ", document.head.appendChild(t);
}
-function ni(e) {
+function ai(e) {
if (!e) return;
- ti();
+ ii();
let t = (t, n) => {
n ? e.classList.add(t) : e.classList.remove(t);
};
t("mjr-show-filename", R.GRID_SHOW_DETAILS_FILENAME), t("mjr-show-dimensions", R.GRID_SHOW_DETAILS_DIMENSIONS), t("mjr-show-date", R.GRID_SHOW_DETAILS_DATE), t("mjr-show-gentime", R.GRID_SHOW_DETAILS_GENTIME), t("mjr-show-hover-info", R.GRID_SHOW_HOVER_INFO), t("mjr-show-dot", R.GRID_SHOW_WORKFLOW_DOT), t("mjr-show-badges-ext", R.GRID_SHOW_BADGES_EXTENSION), t("mjr-show-badges-rating", R.GRID_SHOW_BADGES_RATING), t("mjr-show-badges-tags", R.GRID_SHOW_BADGES_TAGS), t("mjr-show-details", R.GRID_SHOW_DETAILS), e.style.setProperty("--mjr-grid-min-size", `${R.GRID_MIN_SIZE}px`), e.style.setProperty("--mjr-grid-gap", `${R.GRID_GAP}px`), e.style.setProperty("--mjr-star-active", R.BADGE_STAR_COLOR), e.style.setProperty("--mjr-badge-image", R.BADGE_IMAGE_COLOR), e.style.setProperty("--mjr-badge-video", R.BADGE_VIDEO_COLOR), e.style.setProperty("--mjr-badge-audio", R.BADGE_AUDIO_COLOR), e.style.setProperty("--mjr-badge-model3d", R.BADGE_MODEL3D_COLOR), e.style.setProperty("--mjr-badge-duplicate-alert", R.BADGE_DUPLICATE_ALERT_COLOR), e.style.setProperty("--mjr-card-hover-color", R.UI_CARD_HOVER_COLOR), e.style.setProperty("--mjr-card-selection-color", R.UI_CARD_SELECTION_COLOR), e.style.setProperty("--mjr-rating-color", R.UI_RATING_COLOR), e.style.setProperty("--mjr-tag-color", R.UI_TAG_COLOR);
}
-function ri(e, { applySettingsClasses: t = !0 } = {}) {
+function oi(e, { applySettingsClasses: t = !0 } = {}) {
if (!e) return null;
if (e.id = "mjr-assets-grid", e.classList.add("mjr-grid"), e.tabIndex = 0, e.setAttribute("role", "grid"), t) {
- ni(e);
+ ai(e);
let t = () => {
requestAnimationFrame(() => {
- ni(e);
+ ai(e);
});
};
try {
@@ -343,7 +343,7 @@ function ri(e, { applySettingsClasses: t = !0 } = {}) {
}
return e;
}
-function ii(e, t, ...n) {
+function si(e, t, ...n) {
let r = {
_mjrCaptureAnchor: "captureAnchor",
_mjrDispose: "dispose",
@@ -366,70 +366,70 @@ function ii(e, t, ...n) {
console.debug?.(e);
}
}
-function ai(e, t = {}, n = {}) {
- return ii(e, "_mjrHydrateFromSnapshot", t, n) ?? !1;
+function ci(e, t = {}, n = {}) {
+ return si(e, "_mjrHydrateFromSnapshot", t, n) ?? !1;
}
-function oi(e, t = "*", n = {}) {
- return ii(e, "_mjrLoadAssets", t, n) ?? Promise.resolve({
+function li(e, t = "*", n = {}) {
+ return si(e, "_mjrLoadAssets", t, n) ?? Promise.resolve({
ok: !1,
error: "Grid API unavailable"
});
}
-function si(e, t, n = {}) {
- return ii(e, "_mjrLoadAssetsFromList", t, n) ?? Promise.resolve({
+function ui(e, t, n = {}) {
+ return si(e, "_mjrLoadAssetsFromList", t, n) ?? Promise.resolve({
ok: !1,
error: "Grid API unavailable"
});
}
-function ci(e) {
- return ii(e, "_mjrPrepareForScopeSwitch");
+function di(e) {
+ return si(e, "_mjrPrepareForScopeSwitch");
}
-function li(e) {
+function fi(e) {
try {
e?._mjrSettingsChangedCleanup?.();
} catch (e) {
console.debug?.(e);
}
- return ii(e, "_mjrDispose");
+ return si(e, "_mjrDispose");
}
-function ui(e) {
- return ii(e, "_mjrRefreshGrid");
+function pi(e) {
+ return si(e, "_mjrRefreshGrid");
}
-function di(e) {
- return ii(e, "_mjrCaptureAnchor") ?? null;
+function mi(e) {
+ return si(e, "_mjrCaptureAnchor") ?? null;
}
-function fi(e, t) {
- return ii(e, "_mjrRestoreAnchor", t);
+function hi(e, t) {
+ return si(e, "_mjrRestoreAnchor", t);
}
-function pi(e, t, n = {}) {
- return ii(e, "_mjrRemoveAssets", t, n) ?? {
+function gi(e, t, n = {}) {
+ return si(e, "_mjrRemoveAssets", t, n) ?? {
ok: !1,
removed: 0,
selectedIds: []
};
}
-function mi(e, t) {
- return !!ii(e, "_mjrUpsertAsset", t);
+function _i(e, t) {
+ return !!si(e, "_mjrUpsertAsset", t);
}
-function hi(e, t) {
- return !!ii(e, "_mjrUpsertAssetNow", t);
+function vi(e, t) {
+ return !!si(e, "_mjrUpsertAssetNow", t);
}
// ui/features/grid/AssetCardRenderer.ts
-function gi(e) {
+function yi(e) {
try {
return String(e || "").trim().toLowerCase();
} catch {
return "";
}
}
-function _i(e) {
+function bi(e) {
try {
return (String(e || "").split(".").pop() || "").toUpperCase();
} catch {
return "";
}
}
-function vi(e) {
+function xi(e) {
try {
let t = String(e || ""), n = t.lastIndexOf("."), r = n > 0 ? t.slice(0, n) : t;
return String(r || "").trim().toLowerCase();
@@ -437,14 +437,14 @@ function vi(e) {
return "";
}
}
-function yi(e, t) {
+function Si(e, t) {
if (!e || !Array.isArray(t) || t.length === 0 || (Number(e?.generation_time_ms ?? e?.metadata?.generation_time_ms ?? 0) || 0) > 0) return e;
let n = t.find((e) => (Number(e?.generation_time_ms ?? e?.metadata?.generation_time_ms ?? 0) || 0) > 0);
if (!n) return e;
let r = Number(n?.generation_time_ms ?? n?.metadata?.generation_time_ms ?? 0) || 0;
return r <= 0 || (e.generation_time_ms = r, !e.has_generation_data && n?.has_generation_data && (e.has_generation_data = n.has_generation_data)), e;
}
-function bi(e, t) {
+function Ci(e, t) {
let n = String(e?.kind || "").toLowerCase();
if (n) return n;
let r = /* @__PURE__ */ new Set([
@@ -480,29 +480,29 @@ function bi(e, t) {
]);
return r.has(t) ? "image" : i.has(t) ? "video" : a.has(t) ? "audio" : o.has(t) ? "model3d" : "unknown";
}
-function xi(e) {
+function wi(e) {
try {
return !!e()?.siblings?.hidePngSiblings;
} catch {
return !1;
}
}
-function Si(e) {
+function Ti(e) {
return `${String(e?.source || e?.type || "").trim().toLowerCase()}|${String(e?.root_id || e?.custom_root_id || "").trim().toLowerCase()}|${String(e?.subfolder || "").trim().toLowerCase()}`;
}
-function Ci(e) {
- let t = gi(e?.filename);
- return t ? `${Si(e)}|${t}` : "";
+function Ei(e) {
+ let t = yi(e?.filename);
+ return t ? `${Ti(e)}|${t}` : "";
}
-function wi(e, t = _i(e?.filename || "")) {
- let n = bi(e, t), r = String(e?.filename || "").trim();
+function Di(e, t = bi(e?.filename || "")) {
+ let n = Ci(e, t), r = String(e?.filename || "").trim();
if (!r) return "";
- let i = Si(e);
+ let i = Ti(e);
if (n === "model3d") return `${i}|model3d|${r.toLowerCase()}`;
- let a = vi(r);
+ let a = xi(r);
return a ? `${i}|media|${a}` : "";
}
-function Ti(e) {
+function Oi(e) {
let t = e.nonImageSiblingKeys || /* @__PURE__ */ new Set();
e.nonImageSiblingKeys = t;
let n = e.stemMap || /* @__PURE__ */ new Map();
@@ -517,10 +517,10 @@ function Ti(e) {
seenKeys: i
};
}
-function Ei(e, t = [], { assetKey: n = null, preserveHiddenCount: r = !1 } = {}) {
+function ki(e, t = [], { assetKey: n = null, preserveHiddenCount: r = !1 } = {}) {
let i = Number(e?.hiddenPngSiblings || 0) || 0;
e.seenKeys = /* @__PURE__ */ new Set(), e.assetIdSet = /* @__PURE__ */ new Set(), e.filenameCounts = /* @__PURE__ */ new Map(), e.nonImageSiblingKeys = /* @__PURE__ */ new Set(), e.stemMap = /* @__PURE__ */ new Map(), e.renderedFilenameMap = /* @__PURE__ */ new Map(), e.hiddenPngSiblings = r ? i : 0, typeof n == "function" && (e.assetKeyFn = n);
- let a = Ti(e);
+ let a = Oi(e);
for (let r of Array.isArray(t) ? t : []) if (r && typeof r == "object") {
try {
let e = r?.id == null ? "" : String(r.id);
@@ -535,24 +535,24 @@ function Ei(e, t = [], { assetKey: n = null, preserveHiddenCount: r = !1 } = {})
console.debug?.(e);
}
try {
- let t = Ci(r);
+ let t = Ei(r);
t && e.filenameCounts.set(t, (Number(e.filenameCounts.get(t) || 0) || 0) + 1);
} catch (e) {
console.debug?.(e);
}
try {
- let e = _i(r?.filename || ""), t = wi(r, e);
+ let e = bi(r?.filename || ""), t = Di(r, e);
if (!t) continue;
let n = a.stemMap.get(t);
n || (n = [], a.stemMap.set(t, n)), n.push(r);
- let i = bi(r, e);
+ let i = Ci(r, e);
(i === "video" || i === "audio" || i === "model3d" || e === "WEBP") && a.nonImageSiblingKeys.add(t);
} catch (e) {
console.debug?.(e);
}
}
}
-function Di(e, t, n) {
+function Ai(e, t, n) {
try {
t?.id != null && n.assetIdSet.delete(String(t.id));
} catch (e) {
@@ -565,20 +565,20 @@ function Di(e, t, n) {
console.debug?.(e);
}
}
-function Oi(e, t, n, r) {
+function ji(e, t, n, r) {
let i = n.stemMap.get(t);
if (!i?.length) return [];
let a = [];
for (let e = i.length - 1; e >= 0; e--) r(i[e]) && (a.push(i[e]), i.splice(e, 1));
return i.length || n.stemMap.delete(t), a;
}
-function ki(e, t, n) {
- if (!xi(n)) return {
+function Mi(e, t, n) {
+ if (!wi(n)) return {
hidden: !1,
hideEnabled: !1,
removed: []
};
- let r = Ti(t), i = String(e?.filename || ""), a = _i(i), o = bi(e, a), s = wi(e, a);
+ let r = Oi(t), i = String(e?.filename || ""), a = bi(i), o = Ci(e, a), s = Di(e, a);
if (!s) return {
hidden: !1,
hideEnabled: !0,
@@ -587,10 +587,10 @@ function ki(e, t, n) {
if (o === "video" || o === "audio" || o === "model3d" || a === "WEBP") return r.nonImageSiblingKeys.add(s), {
hidden: !1,
hideEnabled: !0,
- removed: Oi(t, s, r, (e) => _i(e?.filename || "") === "PNG")
+ removed: ji(t, s, r, (e) => bi(e?.filename || "") === "PNG")
};
if (a === "PNG") {
- let t = `${Si(e)}|model3d|${vi(i)}`;
+ let t = `${Ti(e)}|model3d|${xi(i)}`;
if (r.nonImageSiblingKeys.has(s) || r.nonImageSiblingKeys.has(t)) return {
hidden: !0,
hideEnabled: !0,
@@ -603,15 +603,15 @@ function ki(e, t, n) {
removed: []
};
}
-function Ai(e, t, n, r) {
- let i = xi(r.loadMajoorSettings), a = n.filenameCounts || /* @__PURE__ */ new Map();
+function Ni(e, t, n, r) {
+ let i = wi(r.loadMajoorSettings), a = n.filenameCounts || /* @__PURE__ */ new Map();
n.filenameCounts = a, r.clearGridMessage(e);
let o = r.ensureVirtualGrid(e, n);
if (!o) return 0;
i || (n.hiddenPngSiblings = 0), n.assetKeyFn = r.assetKey;
- let s = Ti(n), c = /* @__PURE__ */ new Map();
+ let s = Oi(n), c = /* @__PURE__ */ new Map();
for (let e of n.assets || []) {
- let t = Ci(e);
+ let t = Ei(e);
if (!t) continue;
let n = c.get(t);
n || (n = [], c.set(t, n)), n.push(e);
@@ -639,13 +639,13 @@ function Ai(e, t, n, r) {
} catch (e) {
console.debug?.(e);
}
- let t = _i(String(e?.filename || "")), i = ki(e, n, r.loadMajoorSettings);
+ let t = bi(String(e?.filename || "")), i = Mi(e, n, r.loadMajoorSettings);
for (let e of i.removed || []) f.add(e);
if (i.hidden) {
n.hiddenPngSiblings += 1;
continue;
}
- let a = Ci(e);
+ let a = Ei(e);
if (a) {
let t = c.get(a);
t || (t = [], c.set(a, t)), t.push(e);
@@ -653,7 +653,7 @@ function Ai(e, t, n, r) {
let o = r.assetKey(e);
if (!o || s.seenKeys.has(o) || e.id != null && s.assetIdSet.has(String(e.id))) continue;
s.seenKeys.add(o), e.id != null && s.assetIdSet.add(String(e.id)), d.push(e);
- let u = wi(e, t);
+ let u = Di(e, t);
if (u) {
let t = s.stemMap.get(u);
t || (t = [], s.stemMap.set(u, t)), t.push(e);
@@ -663,10 +663,10 @@ function Ai(e, t, n, r) {
if (f.size > 0) {
n.hiddenPngSiblings += f.size, n.assets = n.assets.filter((e) => !f.has(e));
for (let e = d.length - 1; e >= 0; e--) f.has(d[e]) && (d.splice(e, 1), l = Math.max(0, l - 1));
- for (let e of f) Di(n, e, s);
+ for (let e of f) Ai(n, e, s);
try {
for (let e of f) {
- let t = Ci(e);
+ let t = Ei(e);
if (!t) continue;
let n = c.get(t);
if (!n) continue;
@@ -687,7 +687,7 @@ function Ai(e, t, n, r) {
return l;
}
// ui/features/panel/views/popoverManager.ts
-function ji(e, t) {
+function Pi(e, t) {
if (!e || !t?.size) return !1;
for (let n of t.values()) {
let t = n?.popover || null;
@@ -702,7 +702,7 @@ function ji(e, t) {
}
return !1;
}
-function Mi(e) {
+function Fi(e) {
if (!e || e === document?.body) return !1;
try {
if (typeof e.matches == "function" && e.matches("[data-pc-name],[role='listbox'],[role='dialog'],[role='menu'],[role='tree'],[role='grid']")) return !0;
@@ -716,7 +716,7 @@ function Mi(e) {
].join(" ").toLowerCase();
return /\b(p-|p_)?(select|listbox|multiselect|datepicker|calendar|overlay|panel|menu|dialog|tooltip|popover)\b/.test(t);
}
-function Ni(e) {
+function Ii(e) {
let t = /* @__PURE__ */ new Map(), n = null, r = 0, i = [], a = !1, o = !1, s = !1, c = new AbortController(), l = new AbortController(), u = !1, d = null, f = (e, t = "y") => {
if (!e) return !1;
let n = globalThis.getComputedStyle?.(e), r = String(t === "x" ? n?.overflowX || n?.overflow || "" : n?.overflowY || n?.overflow || "");
@@ -802,7 +802,7 @@ function Ni(e) {
for (let e of t.values()) _(e.popover, e.anchor);
}));
}, y = (e) => {
- ji(e?.target, t) || v();
+ Pi(e?.target, t) || v();
}, b = () => {
if (t.size) {
try {
@@ -960,7 +960,7 @@ function Ni(e) {
try {
let e = n;
for (; e && e !== document.body && e.parentNode && e.parentNode !== document.body;) e = e.parentNode;
- if (e && e !== document.body && e.parentNode === document.body && Mi(e)) for (let e of t.values()) try {
+ if (e && e !== document.body && e.parentNode === document.body && Fi(e)) for (let e of t.values()) try {
if (!e?.popover) continue;
if (e.popover.querySelector("[data-pc-name][aria-expanded='true']") || e.popover.querySelector("[aria-expanded='true'][role='combobox']")) return;
} catch (e) {
@@ -1022,7 +1022,7 @@ function Ni(e) {
};
}
// ui/utils/filenames.ts
-var Pi = /* @__PURE__ */ new Set([
+var Li = /* @__PURE__ */ new Set([
"CON",
"PRN",
"AUX",
@@ -1045,17 +1045,17 @@ var Pi = /* @__PURE__ */ new Set([
"LPT7",
"LPT8",
"LPT9"
-]), Fi = 255;
-function Ii(e) {
+]), Ri = 255;
+function zi(e) {
try {
let t = String(e ?? "").trim();
if (!t) return {
valid: !1,
reason: "Filename cannot be empty"
};
- if (t.length > Fi) return {
+ if (t.length > Ri) return {
valid: !1,
- reason: `Filename is too long (max ${Fi} characters)`
+ reason: `Filename is too long (max ${Ri} characters)`
};
if (t.includes("/") || t.includes("\\")) return {
valid: !1,
@@ -1078,7 +1078,7 @@ function Ii(e) {
reason: "Filename cannot end with a dot or space"
};
let n = t.split(".")[0].toUpperCase();
- return Pi.has(n) ? {
+ return Li.has(n) ? {
valid: !1,
reason: "Filename uses a reserved Windows name"
} : {
@@ -1092,15 +1092,15 @@ function Ii(e) {
};
}
}
-function Li(e) {
+function Bi(e) {
try {
return String(e ?? "").trim();
} catch {
return "";
}
}
-function Ri(e) {
- let t = Li(e);
+function Vi(e) {
+ let t = Bi(e);
if (!t) return {
stem: "",
ext: ""
@@ -1114,40 +1114,40 @@ function Ri(e) {
ext: t.slice(n)
};
}
-function zi(e, t) {
- let n = Li(e);
+function Hi(e, t) {
+ let n = Bi(e);
if (!n) return "";
- let r = Ri(t);
- return !Ri(n).ext && r.ext ? `${n}${r.ext}` : n;
+ let r = Vi(t);
+ return !Vi(n).ext && r.ext ? `${n}${r.ext}` : n;
}
// ui/utils/deleteGuard.ts
-async function Bi(e, t) {
+async function Ui(e, t) {
if (!R.DELETE_CONFIRMATION) return !0;
let n = e > 1 ? L("dialog.deleteSelectedFiles", "Delete {count} selected files?", { count: e }) : L("dialog.deleteSingleFile", "Delete \"{label}\"?", { label: String(t || L("label.thisFile", "this file")) });
- return !!await jt(n, L("dialog.confirmDeleteTitle", "Majoor: Confirm delete"));
+ return !!await Pt(n, L("dialog.confirmDeleteTitle", "Majoor: Confirm delete"));
}
// ui/features/collections/contextmenu/addToCollectionMenuState.ts
-var Vi = hr({
+var Wi = vr({
open: !1,
x: 0,
y: 0,
assets: []
});
-function Hi() {
+function Gi() {
try {
window.dispatchEvent(new CustomEvent("mjr-close-all-menus"));
} catch (e) {
console.debug?.(e);
}
}
-function Ui({ x: e = 0, y: t = 0, assets: n = [] } = {}) {
- Hi(), Vi.open = Array.isArray(n) && n.length > 0, Vi.x = Number(e) || 0, Vi.y = Number(t) || 0, Vi.assets = Array.isArray(n) ? [...n] : [];
+function Ki({ x: e = 0, y: t = 0, assets: n = [] } = {}) {
+ Gi(), Wi.open = Array.isArray(n) && n.length > 0, Wi.x = Number(e) || 0, Wi.y = Number(t) || 0, Wi.assets = Array.isArray(n) ? [...n] : [];
}
-function Wi() {
- Vi.open = !1, Vi.x = 0, Vi.y = 0, Vi.assets = [];
+function qi() {
+ Wi.open = !1, Wi.x = 0, Wi.y = 0, Wi.assets = [];
}
// ui/features/collections/contextmenu/addToCollectionMenu.ts
-function Gi(e) {
+function Ji(e) {
if (!e || typeof e != "object") return null;
let t = e.filepath || e.path || e?.file_info?.filepath || "";
return t ? {
@@ -1155,20 +1155,20 @@ function Gi(e) {
filename: e.filename || "",
subfolder: e.subfolder || "",
type: (e.type || "output").toLowerCase(),
- root_id: be(e),
+ root_id: Be(e),
kind: e.kind || ""
} : null;
}
-async function Ki({ x: e, y: t, assets: n }) {
- let r = Array.isArray(n) ? n.map(Gi).filter(Boolean) : [];
- r.length ? Ui({
+async function Yi({ x: e, y: t, assets: n }) {
+ let r = Array.isArray(n) ? n.map(Ji).filter(Boolean) : [];
+ r.length ? Ki({
x: Number(e) || 0,
y: Number(t) || 0,
assets: r
- }) : F(L("toast.noValidAssetsSelected", "No valid assets selected."), "warning");
+ }) : x(L("toast.noValidAssetsSelected", "No valid assets selected."), "warning");
}
// ui/features/grid/GridKeyboard.ts
-var qi = {
+var Xi = {
OPEN_VIEWER: {
key: "Enter",
description: "Open selected in viewer"
@@ -1284,29 +1284,29 @@ var qi = {
key: "ArrowRight",
description: "Navigate right"
}
-}, Ji = null;
-function Yi() {
- return Ji ||= import("./chunks/viewerOpenRequest-WOJE90Gn.js").then((e) => e.n), Ji;
+}, Zi = null;
+function Qi() {
+ return Zi ||= import("./chunks/viewerOpenRequest-WOJE90Gn.js").then((e) => e.n), Zi;
}
-function Xi(e) {
+function $i(e) {
if (!e) return "";
let t = [];
e.ctrl && t.push("Ctrl"), e.shift && t.push("Shift"), e.alt && t.push("Alt");
let n = e.key;
return n === " " && (n = "Space"), n === "Delete" && (n = "Del"), n === "ArrowUp" && (n = "<-‘"), n === "ArrowDown" && (n = "<-“"), n === "ArrowLeft" && (n = "<-"), n === "ArrowRight" && (n = "->"), t.push(n.length === 1 ? n.toUpperCase() : n), t.join("+");
}
-function Zi(e, t) {
+function ea(e, t) {
if (!t || !e) return !1;
let n = e.key.toLowerCase() === t.key.toLowerCase() || e.key === t.key, r = !!t.ctrl === (e.ctrlKey || e.metaKey), i = !!t.shift === e.shiftKey, a = !!t.alt === e.altKey;
return n && r && i && a;
}
-var Qi = /* @__PURE__ */ new Map();
-function $i(e, t, n) {
+var ta = /* @__PURE__ */ new Map();
+function na(e, t, n) {
let r = e?.id;
if (!r) return;
let i = String(r);
try {
- let e = Qi.get(i);
+ let e = ta.get(i);
e && clearTimeout(e);
} catch (e) {
console.debug?.(e);
@@ -1318,37 +1318,37 @@ function $i(e, t, n) {
}
let a = setTimeout(async () => {
try {
- Qi.delete(i);
- let e = await N(r, t);
+ ta.delete(i);
+ let e = await P(r, t);
if (!e?.ok) {
- F(e?.error || L("toast.ratingUpdateFailed"), "error");
+ x(e?.error || L("toast.ratingUpdateFailed"), "error");
return;
}
- F(L("toast.ratingSetN", { n: t }), "success", 1500), Tt(Ft, {
+ x(L("toast.ratingSetN", { n: t }), "success", 1500), Ot(Rt, {
assetId: String(r),
rating: t
}, { warnPrefix: "[GridKeyboard]" });
} catch (e) {
- console.error("[GridKeyboard] Rating update failed:", e), F(L("toast.ratingUpdateError"), "error");
+ console.error("[GridKeyboard] Rating update failed:", e), x(L("toast.ratingUpdateError"), "error");
}
}, 350);
- Qi.set(i, a);
+ ta.set(i, a);
}
-function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n = () => [], getActiveAsset: r = () => null, onOpenDetails: i = () => {}, onOpenTagsEditor: a = () => {}, onSelectionChanged: o = () => {}, onAssetChanged: s = () => {} } = {}) {
+function ra({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n = () => [], getActiveAsset: r = () => null, onOpenDetails: i = () => {}, onOpenTagsEditor: a = () => {}, onSelectionChanged: o = () => {}, onAssetChanged: s = () => {} } = {}) {
if (!e) return {
bind: () => {},
unbind: () => {},
dispose: () => {}
};
let c = null, l = null, u = null, d = null, f = !1, p = !1, m = ({ assets: e = [], index: t = 0, mode: n = "" } = {}) => {
- Yi().then((r) => r.requestViewerOpen({
+ Qi().then((r) => r.requestViewerOpen({
assets: e,
index: t,
mode: n
})).catch((e) => console.debug?.(e));
}, h = () => {
try {
- pt(e);
+ gt(e);
} catch (e) {
console.debug?.(e);
}
@@ -1385,9 +1385,9 @@ function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n =
}
}, y = (e) => {
if (!e?.filepath) return !1;
- let t = Se(e.filepath), n = document.createElement("a");
- return n.href = t, n.download = e.filename || "download", document.body.appendChild(n), n.click(), document.body.removeChild(n), F(L("toast.downloadingFile", "Downloading {filename}...", { filename: e.filename }), "info", 3e3), !0;
- }, x = () => {
+ let t = Fe(e.filepath), n = document.createElement("a");
+ return n.href = t, n.download = e.filename || "download", document.body.appendChild(n), n.click(), document.body.removeChild(n), x(L("toast.downloadingFile", "Downloading {filename}...", { filename: e.filename }), "info", 3e3), !0;
+ }, b = () => {
try {
if (Array.isArray(t?.()?.assets) && t().assets.length) return t().assets;
} catch (e) {
@@ -1458,7 +1458,7 @@ function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n =
}, T = (t) => {
let n = String(t.key || "");
if (n !== "ArrowLeft" && n !== "ArrowRight" && n !== "ArrowUp" && n !== "ArrowDown" && n !== "Home" && n !== "End" || t.ctrlKey || t.altKey || t.metaKey) return !1;
- let r = x();
+ let r = b();
if (!Array.isArray(r) || r.length === 0) return !1;
let i = v(), a = String(i?.id || e?.dataset?.mjrSelectedAssetId || ""), s = r.findIndex((e) => String(e?.id || "") === a), c = s >= 0;
s < 0 && (s = 0);
@@ -1479,14 +1479,14 @@ function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n =
console.debug?.(e);
}
return !0;
- }, E = async (n) => {
+ }, D = async (n) => {
let r = n.target;
- if (r && (r.tagName === "INPUT" || r.tagName === "TEXTAREA" || r.isContentEditable) || vt() || gt().scope === "viewer") return;
+ if (r && (r.tagName === "INPUT" || r.tagName === "TEXTAREA" || r.isContentEditable) || xt() || yt().scope === "viewer") return;
if (document.activeElement !== document.body) {
let t = document.activeElement, n = e.contains(t), r = t && t.contains && t.contains(e), i = t?.closest?.(".mjr-asset-card");
if (!n && !r && !i) return;
} else {
- let t = ht();
+ let t = vt();
if (t && t !== e) return;
}
let c = () => {
@@ -1501,38 +1501,38 @@ function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n =
console.debug?.(e);
}
let l = g(), u = v(), d = t();
- if (Zi(n, qi.DOWNLOAD) && u?.filepath) {
+ if (ea(n, Xi.DOWNLOAD) && u?.filepath) {
c(), p = !0;
return;
}
- let f = !!gt().ratingHotkeysActive;
+ let f = !!yt().ratingHotkeysActive;
if (!n.ctrlKey && !n.altKey && !n.metaKey && !n.shiftKey) {
- if (!f && Zi(n, qi.RATING_1) && u?.id) {
- c(), $i(u, 1, s);
+ if (!f && ea(n, Xi.RATING_1) && u?.id) {
+ c(), na(u, 1, s);
return;
}
- if (!f && Zi(n, qi.RATING_2) && u?.id) {
- c(), $i(u, 2, s);
+ if (!f && ea(n, Xi.RATING_2) && u?.id) {
+ c(), na(u, 2, s);
return;
}
- if (!f && Zi(n, qi.RATING_3) && u?.id) {
- c(), $i(u, 3, s);
+ if (!f && ea(n, Xi.RATING_3) && u?.id) {
+ c(), na(u, 3, s);
return;
}
- if (!f && Zi(n, qi.RATING_4) && u?.id) {
- c(), $i(u, 4, s);
+ if (!f && ea(n, Xi.RATING_4) && u?.id) {
+ c(), na(u, 4, s);
return;
}
- if (!f && Zi(n, qi.RATING_5) && u?.id) {
- c(), $i(u, 5, s);
+ if (!f && ea(n, Xi.RATING_5) && u?.id) {
+ c(), na(u, 5, s);
return;
}
- if (!f && Zi(n, qi.RATING_RESET) && u?.id) {
- c(), $i(u, 0, s);
+ if (!f && ea(n, Xi.RATING_RESET) && u?.id) {
+ c(), na(u, 0, s);
return;
}
}
- if ((Zi(n, qi.OPEN_VIEWER) || Zi(n, qi.OPEN_VIEWER_ALT)) && l.length > 0) {
+ if ((ea(n, Xi.OPEN_VIEWER) || ea(n, Xi.OPEN_VIEWER_ALT)) && l.length > 0) {
c();
try {
if (l.length >= 2 && l.length <= 4) m({
@@ -1555,8 +1555,8 @@ function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n =
} catch (e) {
console.error("[GridKeyboard] Open viewer failed:", e);
}
- } else if (Zi(n, qi.METADATA_PANEL) && u) c(), i(u);
- else if (Zi(n, qi.COMPARE_AB) && l.length === 2) {
+ } else if (ea(n, Xi.METADATA_PANEL) && u) c(), i(u);
+ else if (ea(n, Xi.COMPARE_AB) && l.length === 2) {
c();
try {
m({
@@ -1567,7 +1567,7 @@ function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n =
} catch (e) {
console.debug?.(e);
}
- } else if (Zi(n, qi.SIDE_BY_SIDE) && l.length >= 2 && l.length <= 4) {
+ } else if (ea(n, Xi.SIDE_BY_SIDE) && l.length >= 2 && l.length <= 4) {
c();
try {
m({
@@ -1578,29 +1578,29 @@ function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n =
} catch (e) {
console.debug?.(e);
}
- } else if (Zi(n, qi.EDIT_TAGS) && u?.id) c(), a(u);
- else if (Zi(n, qi.ADD_TO_COLLECTION) && (l.length > 0 || u)) {
+ } else if (ea(n, Xi.EDIT_TAGS) && u?.id) c(), a(u);
+ else if (ea(n, Xi.ADD_TO_COLLECTION) && (l.length > 0 || u)) {
c();
let t = l.length > 0 ? l : [u], n = e.getBoundingClientRect();
- await Ki({
+ await Yi({
x: n.left + n.width / 2,
y: n.top + n.height / 2,
assets: t
});
} else {
- if (Zi(n, qi.REMOVE_FROM_COLLECTION)) {
+ if (ea(n, Xi.REMOVE_FROM_COLLECTION)) {
let e = d?.collectionId;
if (e && (l.length > 0 || u)) {
c();
try {
let t = (l.length > 0 ? l : [u]).map((e) => String(e?.filepath || e?.path || e?.file_info?.filepath || "").trim()).filter(Boolean);
if (!t.length) {
- F(L("toast.removeFromCollectionFailed", "No valid files to remove from collection"), "warning");
+ x(L("toast.removeFromCollectionFailed", "No valid files to remove from collection"), "warning");
return;
}
- let n = await ve(e, t);
+ let n = await z(e, t);
if (!n?.ok) {
- F(n?.error || L("toast.removeFromCollectionFailed", "Failed to remove from collection"), "error");
+ x(n?.error || L("toast.removeFromCollectionFailed", "Failed to remove from collection"), "error");
return;
}
try {
@@ -1608,54 +1608,54 @@ function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n =
} catch (e) {
console.debug?.(e);
}
- F(L("toast.removedFromCollection", "Removed from collection"), "success", 1400);
+ x(L("toast.removedFromCollection", "Removed from collection"), "success", 1400);
} catch (e) {
- F(L("toast.removeFromCollectionError", "Error removing from collection: {error}", { error: e?.message || String(e || "") }), "error");
+ x(L("toast.removeFromCollectionError", "Error removing from collection: {error}", { error: e?.message || String(e || "") }), "error");
}
return;
}
}
- if (Zi(n, qi.COPY_PATH) && u?.filepath) {
+ if (ea(n, Xi.COPY_PATH) && u?.filepath) {
c();
try {
- await navigator.clipboard.writeText(u.filepath), F(L("toast.pathCopied"), "success", 2e3);
+ await navigator.clipboard.writeText(u.filepath), x(L("toast.pathCopied"), "success", 2e3);
} catch {
- F(L("toast.pathCopyFailed"), "error");
+ x(L("toast.pathCopyFailed"), "error");
}
- } else if (Zi(n, qi.OPEN_IN_FOLDER) && u?.id) {
+ } else if (ea(n, Xi.OPEN_IN_FOLDER) && u?.id) {
c();
- let e = await Ke(u.id);
- e?.ok ? F(L("toast.openedInFolder"), "info", 2e3) : F(e?.error || L("toast.openFolderFailed"), "error");
- } else if (Zi(n, qi.RENAME) && u?.id) {
+ let e = await Me(u.id);
+ e?.ok ? x(L("toast.openedInFolder"), "info", 2e3) : x(e?.error || L("toast.openFolderFailed"), "error");
+ } else if (ea(n, Xi.RENAME) && u?.id) {
c();
- let e = u.filename || "", t = zi(await wt(L("dialog.rename.title", "Rename file"), e), e);
+ let e = u.filename || "", t = Hi(await Dt(L("dialog.rename.title", "Rename file"), e), e);
if (t && t !== e) {
- let e = Ii(t);
+ let e = zi(t);
if (!e.valid) {
- F(e.reason, "error");
+ x(e.reason, "error");
return;
}
try {
- let e = await je(u, t);
+ let e = await xe(u, t);
if (e?.ok) {
let n = e?.data?.asset;
- n && typeof n == "object" ? Object.assign(u, n) : (u.filename = t, u.filepath = u.filepath?.replace(/[^\\/]+$/, t), u.path &&= String(u.path).replace(/[^\\/]+$/, t), u.file_info && typeof u.file_info == "object" && (u.file_info.filename = t, u.file_info.filepath && (u.file_info.filepath = String(u.file_info.filepath).replace(/[^\\/]+$/, t)), u.file_info.path && (u.file_info.path = String(u.file_info.path).replace(/[^\\/]+$/, t)))), F(L("toast.fileRenamedSuccess"), "success");
+ n && typeof n == "object" ? Object.assign(u, n) : (u.filename = t, u.filepath = u.filepath?.replace(/[^\\/]+$/, t), u.path &&= String(u.path).replace(/[^\\/]+$/, t), u.file_info && typeof u.file_info == "object" && (u.file_info.filename = t, u.file_info.filepath && (u.file_info.filepath = String(u.file_info.filepath).replace(/[^\\/]+$/, t)), u.file_info.path && (u.file_info.path = String(u.file_info.path).replace(/[^\\/]+$/, t)))), x(L("toast.fileRenamedSuccess"), "success");
try {
window.dispatchEvent(new CustomEvent("mjr:reload-grid", { detail: { reason: "rename-keyboard" } }));
} catch (e) {
console.debug?.(e);
}
s();
- } else F(e?.error || L("toast.fileRenameFailed"), "error");
+ } else x(e?.error || L("toast.fileRenameFailed"), "error");
} catch (e) {
- F(L("toast.errorRenaming", "Error renaming file: {error}", { error: e?.message || String(e || "") }), "error");
+ x(L("toast.errorRenaming", "Error renaming file: {error}", { error: e?.message || String(e || "") }), "error");
}
}
- } else if ((Zi(n, qi.DELETE) || Zi(n, qi.DELETE_ALT)) && (u?.id || l.length > 0)) {
+ } else if ((ea(n, Xi.DELETE) || ea(n, Xi.DELETE_ALT)) && (u?.id || l.length > 0)) {
c();
let t = l.length > 0 ? l : [u], n = 0, r = 0, i = [];
for (let e of t) if (e?.id) try {
- (await b(e.id))?.ok ? (n++, i.push(String(e.id))) : r++;
+ (await E(e.id))?.ok ? (n++, i.push(String(e.id))) : r++;
} catch {
r++;
}
@@ -1666,7 +1666,7 @@ function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n =
} catch (e) {
console.debug?.(e);
}
- r === 0 ? F(L("toast.filesDeletedShort", "{n} files deleted", { n }), "success") : F(L("toast.filesDeletedShortPartial", "{success} deleted, {failed} failed", {
+ r === 0 ? x(L("toast.filesDeletedShort", "{n} files deleted", { n }), "success") : x(L("toast.filesDeletedShortPartial", "{success} deleted, {failed} failed", {
success: n,
failed: r
}), "warning");
@@ -1679,7 +1679,7 @@ function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n =
console.debug?.(e);
}
o();
- } else if (Zi(n, qi.SELECT_ALL)) {
+ } else if (ea(n, Xi.SELECT_ALL)) {
c();
let t = [];
try {
@@ -1704,7 +1704,7 @@ function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n =
console.debug?.(e);
}
o();
- } else if (Zi(n, qi.DESELECT_ALL)) {
+ } else if (ea(n, Xi.DESELECT_ALL)) {
c();
try {
typeof e?._mjrSetSelection == "function" ? e._mjrSetSelection([], "") : (_().filter((e) => e?.classList?.contains?.("is-selected")).forEach((e) => {
@@ -1716,19 +1716,19 @@ function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n =
o();
}
}
- }, D = (e) => {
- if (String(e?.key || "").toLowerCase() !== "s" || !p || (p = !1, vt()) || gt().scope === "viewer") return;
+ }, O = (e) => {
+ if (String(e?.key || "").toLowerCase() !== "s" || !p || (p = !1, xt()) || yt().scope === "viewer") return;
let t = v();
t?.filepath && (e.preventDefault?.(), e.stopPropagation?.(), e.stopImmediatePropagation?.(), y(t));
- }, O = () => {
- p = !1;
}, k = () => {
- f ||= (c = E, l = D, u = O, d = () => h(), document.addEventListener("keydown", c, !0), document.addEventListener("keyup", l, !0), document.addEventListener("dragstart", u, !0), e.addEventListener("pointerdown", d, !0), e.addEventListener("focusin", d, !0), !0);
+ p = !1;
}, A = () => {
+ f ||= (c = D, l = O, u = k, d = () => h(), document.addEventListener("keydown", c, !0), document.addEventListener("keyup", l, !0), document.addEventListener("dragstart", u, !0), e.addEventListener("pointerdown", d, !0), e.addEventListener("focusin", d, !0), !0);
+ }, j = () => {
if (f && c) {
document.removeEventListener("keydown", c, !0), l && document.removeEventListener("keyup", l, !0), u && document.removeEventListener("dragstart", u, !0), d && (e.removeEventListener("pointerdown", d, !0), e.removeEventListener("focusin", d, !0)), c = null, l = null, u = null, d = null, p = !1;
try {
- _t(e);
+ bt(e);
} catch (e) {
console.debug?.(e);
}
@@ -1738,36 +1738,36 @@ function ea({ gridContainer: e, getState: t = () => ({}), getSelectedAssets: n =
console.debug?.(e);
}
f = !1;
- for (let e of Qi.values()) try {
+ for (let e of ta.values()) try {
clearTimeout(e);
} catch (e) {
console.debug?.(e);
}
- Qi.clear();
+ ta.clear();
}
};
return {
- bind: k,
- unbind: A,
+ bind: A,
+ unbind: j,
dispose: () => {
- A();
- for (let e of Qi.values()) try {
+ j();
+ for (let e of ta.values()) try {
clearTimeout(e);
} catch (e) {
console.debug?.(e);
}
- Qi.clear();
+ ta.clear();
}
};
}
-function ta(e) {
- let t = qi[e];
- return t ? Xi(t) : "";
+function ia(e) {
+ let t = Xi[e];
+ return t ? $i(t) : "";
}
// ui/features/contextmenu/ratingUpdater.ts
-var na = 350, ra = /* @__PURE__ */ new Map();
-function ia(e) {
- let t = ra.get(e);
+var aa = 350, oa = /* @__PURE__ */ new Map();
+function sa(e) {
+ let t = oa.get(e);
if (t) {
try {
clearTimeout(t.timer);
@@ -1779,80 +1779,80 @@ function ia(e) {
} catch (e) {
console.debug?.(e);
}
- ra.delete(e);
+ oa.delete(e);
}
}
-function aa(e) {
- e && ia(String(e));
+function ca(e) {
+ e && sa(String(e));
}
-function oa() {
- for (let e of Array.from(ra.keys())) aa(e);
+function la() {
+ for (let e of Array.from(oa.keys())) ca(e);
}
-function sa(e, t, { onSuccess: n, onFailure: r, successMessage: i = null, errorMessage: a = null, warnPrefix: o = "[RatingUpdater]" } = {}) {
+function ua(e, t, { onSuccess: n, onFailure: r, successMessage: i = null, errorMessage: a = null, warnPrefix: o = "[RatingUpdater]" } = {}) {
if (!e) return;
- aa(e);
+ ca(e);
let s = new AbortController(), c = setTimeout(async () => {
- ra.delete(String(e));
+ oa.delete(String(e));
try {
- let o = await N(e, t, { signal: s.signal });
+ let o = await P(e, t, { signal: s.signal });
if (!o?.ok) {
- F(o?.error || a || "Failed to update rating", "error"), r?.(o);
+ x(o?.error || a || "Failed to update rating", "error"), r?.(o);
return;
}
- i && F(i, "success", 1500), n?.(o);
+ i && x(i, "success", 1500), n?.(o);
} catch (e) {
- ct(e, o, { showToast: !0 }), r?.(e);
+ dt(e, o, { showToast: !0 }), r?.(e);
}
- }, na);
- ra.set(String(e), {
+ }, aa);
+ oa.set(String(e), {
timer: c,
controller: s
});
}
// ui/features/workflows/workflowInfoState.ts
-var ca = hr({
+var da = vr({
open: !1,
workflow: null
});
-function la(e) {
- ca.workflow = e || null, ca.open = !0;
+function fa(e) {
+ da.workflow = e || null, da.open = !0;
}
-function ua() {
- ca.open = !1, ca.workflow = null;
+function pa() {
+ da.open = !1, da.workflow = null;
}
// ui/features/contextmenu/GridContextMenu.ts
-var da = 1, fa = null, pa = null;
-function ma() {
- return fa ||= import("./chunks/viewerOpenRequest-WOJE90Gn.js").then((e) => e.n), fa;
+var ma = 1, ha = null, ga = null;
+function _a() {
+ return ha ||= import("./chunks/viewerOpenRequest-WOJE90Gn.js").then((e) => e.n), ha;
}
-function ha() {
- return pa ||= import("./chunks/floatingViewerManager-B_I-SRbd.js").then((e) => e.n), pa;
+function va() {
+ return ga ||= import("./chunks/floatingViewerManager-D_aLLeau.js").then((e) => e.n), ga;
}
-function ga(e) {
+function ya(e) {
let t = String(e || "").trim().toLowerCase();
return t ? t.includes("open graph map") ? "graph-map" : t.includes("open in floating viewer") || t.includes("open floating viewer") ? "floating-viewer" : t.includes("rename") ? "rename" : t.includes("delete") ? "delete" : "" : "";
}
function $(e, t, n, r, { disabled: i = !1, closeOnSelect: a = !0, submenu: o = null } = {}) {
return {
- id: `mjr-grid-menu-item-${da++}`,
+ id: `mjr-grid-menu-item-${ma++}`,
type: "item",
label: String(e || ""),
iconClass: t ? String(t) : "",
rightHint: n ? String(n) : "",
- tone: ga(e),
+ tone: ya(e),
disabled: !!i,
closeOnSelect: a,
submenu: Array.isArray(o) && o.length ? o : null,
action: typeof r == "function" ? r : null
};
}
-function _a() {
+function ba() {
return {
- id: `mjr-grid-menu-separator-${da++}`,
+ id: `mjr-grid-menu-separator-${ma++}`,
type: "separator"
};
}
-var va = (e) => {
+var xa = (e) => {
let t = /* @__PURE__ */ new Set();
if (!e) return t;
try {
@@ -1874,7 +1874,7 @@ var va = (e) => {
console.debug?.(e);
}
return t;
-}, ya = (e) => {
+}, Sa = (e) => {
let t = [];
if (!e) return t;
try {
@@ -1910,11 +1910,11 @@ var va = (e) => {
}
return t;
};
-async function ba(e) {
+async function Ca(e) {
let t = String(e?.filepath || e?.path || e?.full_path || "").trim();
if (!t) return e;
try {
- let n = await Le(t, { timeoutMs: 25e3 }), r = n?.data?.workflow || n?.workflow || null, i = n?.data?.prompt || n?.prompt || null;
+ let n = await ze(t, { timeoutMs: 25e3 }), r = n?.data?.workflow || n?.workflow || null, i = n?.data?.prompt || n?.prompt || null;
return !r && !i ? e : {
...e,
workflow: r || e?.workflow,
@@ -1929,71 +1929,71 @@ async function ba(e) {
return console.debug?.(t), e;
}
}
-var xa = (e) => {
+var wa = (e) => {
try {
let t = e?.filepath || e?.path || e?.file_info?.filepath || "";
return t ? String(t) : "";
} catch {
return "";
}
-}, Sa = (e) => {
+}, Ta = (e) => {
if (!e || typeof e != "object") return null;
let t = String(e.filename || "").trim();
return t ? {
filename: t,
subfolder: e.subfolder || "",
type: String(e.type || e.source || "output").toLowerCase(),
- root_id: be(e) || void 0,
+ root_id: Be(e) || void 0,
kind: String(e.kind || "").toLowerCase()
} : null;
-}, Ca = (e) => {
+}, Ea = (e) => {
if (!e || typeof e != "object") return null;
let t = String(e.filename || e.name || "").trim();
return t ? {
filename: t,
subfolder: e.subfolder || "",
type: String(e.type || e.source || "output").toLowerCase(),
- root_id: be(e) || void 0
+ root_id: Be(e) || void 0
} : null;
};
-function wa(e, t = "") {
+function Da(e, t = "") {
if (!e) return;
let n = document.createElement("a");
n.href = e, t && (n.download = t), document.body.appendChild(n), n.click(), document.body.removeChild(n);
}
-async function Ta(e) {
- let t = (Array.isArray(e) ? e.filter((e) => !za(e)) : []).map(Ca).filter(Boolean);
+async function Oa(e) {
+ let t = (Array.isArray(e) ? e.filter((e) => !Ha(e)) : []).map(Ea).filter(Boolean);
if (t.length < 2) {
- F("Select at least two files to download a ZIP.", "warning", 2600);
+ x("Select at least two files to download a ZIP.", "warning", 2600);
return;
}
let n = "";
try {
- n = _e("mjr_", 24);
+ n = Qe("mjr_", 24);
} catch (e) {
- ct(e, "[GridContextMenu] Batch ZIP token", { showToast: R.DEBUG_VERBOSE_ERRORS }), F("Could not create a secure ZIP token.", "error");
+ dt(e, "[GridContextMenu] Batch ZIP token", { showToast: R.DEBUG_VERBOSE_ERRORS }), x("Could not create a secure ZIP token.", "error");
return;
}
- F(`Preparing ZIP for ${t.length} files...`, "info", 1800);
- let r = await me(p.BATCH_ZIP_CREATE, {
+ x(`Preparing ZIP for ${t.length} files...`, "info", 1800);
+ let r = await he(I.BATCH_ZIP_CREATE, {
token: n,
items: t,
strip_metadata: !1
});
if (!r?.ok) {
- F(r?.error || "Failed to create ZIP.", "error");
+ x(r?.error || "Failed to create ZIP.", "error");
return;
}
let i = r?.data?.filename || `Majoor_Batch_${t.length}.zip`;
- wa(I(n), i), F(`Downloading ${i}...`, "info", 3e3);
+ Da(j(n), i), x(`Downloading ${i}...`, "info", 3e3);
}
-async function Ea(e) {
+async function ka(e) {
let t = Array.isArray(e) ? e.filter(Boolean) : [], n = await Promise.all(t.map(async (e) => {
- let t = Sa(e);
+ let t = Ta(e);
if (!t) return null;
- let n = (await En({
- post: me,
- endpoint: p.STAGE_TO_INPUT,
+ let n = (await kn({
+ post: he,
+ endpoint: I.STAGE_TO_INPUT,
payload: t,
index: !1
}))?.relativePath;
@@ -2003,13 +2003,13 @@ async function Ea(e) {
droppedExt: String(t.filename || "").split(".").pop() || ""
} : null;
}));
- return bn({
- app: $e(),
+ return Cn({
+ app: l(),
items: n.filter(Boolean),
event: null
});
}
-var Da = (e) => {
+var Aa = (e) => {
if (e) {
try {
if (typeof e?._mjrSetSelection == "function") e._mjrSetSelection([], "");
@@ -2021,15 +2021,15 @@ var Da = (e) => {
} catch (e) {
console.debug?.(e);
}
- Tt("mjr:selection-changed", { selectedIds: [] }, {
+ Ot("mjr:selection-changed", { selectedIds: [] }, {
target: e,
warnPrefix: "[GridContextMenu]"
});
}
-}, Oa = (e, t, n, r) => {
+}, ja = (e, t, n, r) => {
if (!e) return;
try {
- Da(e);
+ Aa(e);
} catch (e) {
console.debug?.(e);
}
@@ -2049,7 +2049,7 @@ var Da = (e) => {
} catch (e) {
console.debug?.(e);
}
-}, ka = (e) => {
+}, Ma = (e) => {
let t = [];
if (!e) return t;
try {
@@ -2071,7 +2071,7 @@ var Da = (e) => {
console.debug?.(e);
}
return t;
-}, Aa = (e, t) => {
+}, Na = (e, t) => {
try {
let n = String(t ?? "");
return (e || []).findIndex((e) => String(e?.id ?? "") === n);
@@ -2079,16 +2079,16 @@ var Da = (e) => {
return -1;
}
};
-function ja(e) {
+function Pa(e) {
if (e == null) return null;
try {
- return document.querySelector(`[data-mjr-asset-id="${Lt(e)}"]`);
+ return document.querySelector(`[data-mjr-asset-id="${Bt(e)}"]`);
} catch (e) {
return console.debug?.(e), null;
}
}
-function Ma(e, t = null) {
- let n = ja(e?.id);
+function Fa(e, t = null) {
+ let n = Pa(e?.id);
if (!n || !n._mjrAsset || typeof n._mjrAsset != "object") return n;
try {
t && typeof t == "object" ? Object.assign(n._mjrAsset, t) : e && typeof e == "object" && Object.assign(n._mjrAsset, e);
@@ -2097,7 +2097,7 @@ function Ma(e, t = null) {
}
return n;
}
-var Na = (e) => {
+var Ia = (e) => {
try {
let t = e ? "grid-contextmenu" : "grid-contextmenu-global";
window?.dispatchEvent?.(new CustomEvent("mjr:reload-grid", { detail: { reason: t } }));
@@ -2105,7 +2105,7 @@ var Na = (e) => {
console.debug?.(e);
}
};
-async function Pa(e, t) {
+async function La(e, t) {
if (!e) return {
ok: !1,
error: "Missing asset"
@@ -2120,7 +2120,7 @@ async function Pa(e, t) {
ok: !1,
error: "Missing filename"
};
- let r = await me(p.INDEX_FILES, {
+ let r = await he(I.INDEX_FILES, {
files: [n],
incremental: !1
});
@@ -2129,24 +2129,24 @@ async function Pa(e, t) {
error: "Index refresh failed"
};
if (e?.id != null) try {
- let t = await Ue(e.id);
+ let t = await qe(e.id);
if (t?.ok && t?.data && typeof t.data == "object") {
Object.assign(e, t.data);
- let n = Ma(e, t.data), r = n?.querySelector?.(".mjr-workflow-dot");
+ let n = Fa(e, t.data), r = n?.querySelector?.(".mjr-workflow-dot");
if (r) {
- let e = _n(n._mjrAsset);
+ let e = bn(n._mjrAsset);
e && r.replaceWith(e);
}
}
} catch (e) {
console.debug?.(e);
}
- return Na(t), {
+ return Ia(t), {
ok: !0,
data: { refreshed: !0 }
};
}
-function Fa(e, t, n) {
+function Ra(e, t, n) {
let r = e?.id;
try {
e.rating = t;
@@ -2158,46 +2158,46 @@ function Fa(e, t, n) {
} catch (e) {
console.debug?.(e);
}
- r ? sa(String(r), t, {
+ r ? ua(String(r), t, {
successMessage: t > 0 ? `Rating set to ${t} stars` : "Rating cleared",
errorMessage: "Failed to update rating",
warnPrefix: "[GridContextMenu]",
onSuccess: () => {
- Tt(Ft, {
+ Ot(Rt, {
assetId: String(r),
rating: t
}, { warnPrefix: "[GridContextMenu]" });
},
onFailure: (e) => {
- ct(e, "[GridContextMenu] Rating update", { showToast: R.DEBUG_VERBOSE_ERRORS });
+ dt(e, "[GridContextMenu] Rating update", { showToast: R.DEBUG_VERBOSE_ERRORS });
}
- }) : N(e, t).catch((e) => {
- ct(e, "[GridContextMenu] Rating update", { showToast: R.DEBUG_VERBOSE_ERRORS });
+ }) : P(e, t).catch((e) => {
+ dt(e, "[GridContextMenu] Rating update", { showToast: R.DEBUG_VERBOSE_ERRORS });
});
}
-function Ia(e) {
+function za(e) {
let t = String(e?.scope || "").toLowerCase();
return t === "custom" || t === "input" || t === "output";
}
-function La() {
+function Ba() {
try {
- return !!(Mt()?.browser?.showFolders ?? !1);
+ return !!(Ft()?.browser?.showFolders ?? !1);
} catch {
return !1;
}
}
-function Ra(e) {
+function Va(e) {
return String(e?.scope || "").toLowerCase() === "workflow";
}
-function za(e) {
+function Ha(e) {
return String(e?.kind || "").toLowerCase() === "folder";
}
-function Ba(e) {
+function Ua(e) {
return String(e?.kind || "").toLowerCase() === "workflow";
}
-function Va(e) {
- if (!e || za(e) || Ba(e)) return !1;
- let t = xa(e);
+function Wa(e) {
+ if (!e || Ha(e) || Ua(e)) return !1;
+ let t = wa(e);
if (!t) return !1;
let n = String(e?.kind || "").toLowerCase();
if (n === "image" || n === "video") return !0;
@@ -2216,185 +2216,185 @@ function Va(e) {
"m4v"
].includes(r);
}
-async function Ha(e) {
- if (!e || za(e)) return null;
- let t = Jt(e);
+async function Ga(e) {
+ if (!e || Ha(e)) return null;
+ let t = Zt(e);
if (t) return t;
let n = e?.id;
if (n == null || n === "") return null;
try {
- let t = await Ue(n, { timeoutMs: 3e4 }), r = t?.data;
- if (t?.ok && r && typeof r == "object") return Object.assign(e, r), Jt(e);
+ let t = await qe(n, { timeoutMs: 3e4 }), r = t?.data;
+ if (t?.ok && r && typeof r == "object") return Object.assign(e, r), Zt(e);
} catch (e) {
console.debug?.(e);
}
return null;
}
-async function Ua(e) {
- let t = await Ha(e);
+async function Ka(e) {
+ let t = await Ga(e);
if (!t || typeof t != "object") {
- F(L("toast.assetWorkflowMissing", "No embedded ComfyUI workflow was found for this asset."), "warn", 2600);
+ x(L("toast.assetWorkflowMissing", "No embedded ComfyUI workflow was found for this asset."), "warn", 2600);
return;
}
- let n = $e(), r = te(t, n);
+ let n = l(), r = u(t, n);
if (!r.ok) {
- F(L("toast.workflowImportUnavailable", "ComfyUI workflow import is unavailable in this frontend."), "error");
+ x(L("toast.workflowImportUnavailable", "ComfyUI workflow import is unavailable in this frontend."), "error");
return;
}
let i = r.mode === "new-tab" ? L("toast.workflowLoadedNewTab", "Workflow loaded in a new ComfyUI tab.") : L("toast.workflowLoaded", "Workflow loaded");
- F(i, "success", 1800);
+ x(i, "success", 1800);
}
-async function Wa(e) {
+async function qa(e) {
let t = String(e?.filepath || e?.path || e?.full_path || "").trim();
if (!t) {
- F(L("toast.workflowMissingPath", "Workflow file path is missing."), "error");
+ x(L("toast.workflowMissingPath", "Workflow file path is missing."), "error");
return;
}
- let n = $e();
- if (a(n) === !0 && !await jt(L("dialog.workflowLoadReplaceDirty", "Current canvas has unsaved changes. Replace it with this workflow?"), L("tab.workflow", "Workflow"))) return;
- let r = await Le(t, { timeoutMs: 3e4 }), i = r?.data?.workflow || r?.workflow || null;
+ let n = l();
+ if (ke(n) === !0 && !await Pt(L("dialog.workflowLoadReplaceDirty", "Current canvas has unsaved changes. Replace it with this workflow?"), L("tab.workflow", "Workflow"))) return;
+ let r = await ze(t, { timeoutMs: 3e4 }), i = r?.data?.workflow || r?.workflow || null;
if (!r?.ok || !i || typeof i != "object") {
- F(r?.error || L("toast.workflowLoadFailed", "Failed to load workflow."), "error");
+ x(r?.error || L("toast.workflowLoadFailed", "Failed to load workflow."), "error");
return;
}
- let o = te(i, n);
- if (o.ok) {
+ let a = u(i, n);
+ if (a.ok) {
try {
- await Ze({ filepath: t }, { timeoutMs: 1e4 });
+ await $e({ filepath: t }, { timeoutMs: 1e4 });
} catch (e) {
console.debug?.(e);
}
- F(L("toast.workflowLoaded", "Workflow loaded"), "success", 1800);
+ x(L("toast.workflowLoaded", "Workflow loaded"), "success", 1800);
} else {
- let e = Se(t, { inline: !0 });
+ let e = Fe(t, { inline: !0 });
try {
e && typeof window < "u" && window.open(e, "_blank", "noopener,noreferrer");
} catch (e) {
console.debug?.(e);
}
- F(L("toast.workflowImportFallback", "ComfyUI workflow import is unavailable in this frontend. Opened workflow JSON for manual import."), "warn"), o.mode === "new-tab" && F(L("toast.workflowLoadedNewTab", "Workflow loaded in a new ComfyUI tab."), "success");
+ x(L("toast.workflowImportFallback", "ComfyUI workflow import is unavailable in this frontend. Opened workflow JSON for manual import."), "warn"), a.mode === "new-tab" && x(L("toast.workflowLoadedNewTab", "Workflow loaded in a new ComfyUI tab."), "success");
}
}
-function Ga(e) {
+function Ja(e) {
try {
window.dispatchEvent(new CustomEvent("mjr:reload-grid", { detail: { reason: e } }));
} catch (e) {
console.debug?.(e);
}
}
-async function Ka(e) {
- let t = String(e?.filepath || "").trim(), n = await de({ filepath: t }, { timeoutMs: 3e4 });
- n?.ok ? (F(L("toast.workflowSaved", "Workflow saved"), "success", 1800), Ga("workflow-duplicate")) : F(n?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
+async function Ya(e) {
+ let t = String(e?.filepath || "").trim(), n = await fe({ filepath: t }, { timeoutMs: 3e4 });
+ n?.ok ? (x(L("toast.workflowSaved", "Workflow saved"), "success", 1800), Ja("workflow-duplicate")) : x(n?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
}
-async function qa(e) {
- let t = String(e?.filepath || "").trim(), n = String(e?.display_name || e?.filename || "").replace(/\.json$/i, ""), r = await wt(L("ctx.renameWorkflow", "Rename workflow"), n, L("tab.workflow", "Workflow")), i = String(r || "").trim();
+async function Xa(e) {
+ let t = String(e?.filepath || "").trim(), n = String(e?.display_name || e?.filename || "").replace(/\.json$/i, ""), r = await Dt(L("ctx.renameWorkflow", "Rename workflow"), n, L("tab.workflow", "Workflow")), i = String(r || "").trim();
if (!i) return;
- let a = await et({
+ let a = await rt({
filepath: t,
name: i
}, { timeoutMs: 3e4 });
- a?.ok ? (F(L("toast.workflowUpdated", "Workflow updated"), "success", 1800), Ga("workflow-rename")) : F(a?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
+ a?.ok ? (x(L("toast.workflowUpdated", "Workflow updated"), "success", 1800), Ja("workflow-rename")) : x(a?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
}
-async function Ja(e) {
- let t = String(e?.filepath || "").trim(), n = String(e?.subfolder || "").trim(), r = await wt(L("dialog.workflowCategory", "Workflow category"), n, L("tab.workflow", "Workflow"));
+async function Za(e) {
+ let t = String(e?.filepath || "").trim(), n = String(e?.subfolder || "").trim(), r = await Dt(L("dialog.workflowCategory", "Workflow category"), n, L("tab.workflow", "Workflow"));
if (r == null) return;
- let i = await et({
+ let i = await rt({
filepath: t,
category: String(r || "")
}, { timeoutMs: 3e4 });
- i?.ok ? (F(L("toast.workflowUpdated", "Workflow updated"), "success", 1800), Ga("workflow-categorize")) : F(i?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
+ i?.ok ? (x(L("toast.workflowUpdated", "Workflow updated"), "success", 1800), Ja("workflow-categorize")) : x(i?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
}
-async function Ya(e) {
+async function Qa(e) {
let t = String(e?.filepath || "").trim();
if (!t) {
- F(L("toast.noFilePath"), "error");
+ x(L("toast.noFilePath"), "error");
return;
}
- let n = await we({
+ let n = await Te({
filepath: t,
limit: 12
}, { timeoutMs: 15e3 });
if (!n?.ok) {
- F(n?.error || L("toast.workflowLoadFailed", "Failed to load workflow."), "error");
+ x(n?.error || L("toast.workflowLoadFailed", "Failed to load workflow."), "error");
return;
}
let r = Array.isArray(n.data) ? n.data : [];
if (!r.length) {
- F(L("toast.workflowThumbnailNoCandidates", "No linked outputs are available for this workflow yet."), "warning", 2600);
+ x(L("toast.workflowThumbnailNoCandidates", "No linked outputs are available for this workflow yet."), "warning", 2600);
return;
}
- let i = await Tn({
+ let i = await On({
title: L("ctx.setWorkflowThumbnail", "Set workflow thumbnail"),
workflow: e,
items: r
});
if (!i?.filepath) return;
- let a = await Qe({
+ let a = await et({
filepath: t,
source_filepath: i.filepath
}, { timeoutMs: 3e4 });
- a?.ok ? (F(L("toast.workflowUpdated", "Workflow updated"), "success", 1800), Ga("workflow-thumbnail")) : F(a?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
+ a?.ok ? (x(L("toast.workflowUpdated", "Workflow updated"), "success", 1800), Ja("workflow-thumbnail")) : x(a?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
}
-async function Xa(e) {
+async function $a(e) {
let t = String(e?.filepath || "").trim();
if (!t) {
- F(L("toast.workflowMissingPath", "Workflow file path is missing."), "error");
+ x(L("toast.workflowMissingPath", "Workflow file path is missing."), "error");
return;
}
- let n = await Le(t, { timeoutMs: 3e4 });
+ let n = await ze(t, { timeoutMs: 3e4 });
if (!n?.ok) {
- F(n?.error || L("toast.workflowLoadFailed", "Failed to load workflow."), "error");
+ x(n?.error || L("toast.workflowLoadFailed", "Failed to load workflow."), "error");
return;
}
let r = n?.data?.workflow || n?.workflow || null;
if (!r || typeof r != "object") {
- F(L("toast.workflowLoadFailed", "Failed to load workflow."), "error");
+ x(L("toast.workflowLoadFailed", "Failed to load workflow."), "error");
return;
}
let i = String(e?.filename || e?.display_name || "workflow.json").replace(/[\\/:*?"<>|]+/g, "_").replace(/\.json$/i, "") || "workflow", a = new Blob([`${JSON.stringify(r, null, 2)}\n`], { type: "application/json" }), o = URL.createObjectURL(a);
try {
let e = document.createElement("a");
- e.href = o, e.download = `${i}.json`, e.rel = "noopener", document.body.appendChild(e), e.click(), e.remove(), F(L("toast.workflowExported", "Workflow exported"), "success", 1800);
+ e.href = o, e.download = `${i}.json`, e.rel = "noopener", document.body.appendChild(e), e.click(), e.remove(), x(L("toast.workflowExported", "Workflow exported"), "success", 1800);
} finally {
setTimeout(() => URL.revokeObjectURL(o), 5e3);
}
}
-async function Za(e) {
+async function eo(e) {
let t = String(e?.filepath || "").trim();
if (!t) {
- F(L("toast.workflowMissingPath", "Workflow file path is missing."), "error");
+ x(L("toast.workflowMissingPath", "Workflow file path is missing."), "error");
return;
}
- let n = await Ke({ filepath: t });
- n?.ok ? F(L("toast.openedInFolder", "Opened in folder"), "success", 1600) : F(n?.error || L("toast.openFolderFailed", "Failed to open folder."), "error");
+ let n = await Me({ filepath: t });
+ n?.ok ? x(L("toast.openedInFolder", "Opened in folder"), "success", 1600) : x(n?.error || L("toast.openFolderFailed", "Failed to open folder."), "error");
}
-async function Qa(e) {
- let t = xa(e);
+async function to(e) {
+ let t = wa(e);
if (!t) {
- F(L("toast.noFilePath"), "error");
+ x(L("toast.noFilePath"), "error");
return;
}
- let n = await Fn({
+ let n = await Rn({
title: L("ctx.assignAsWorkflowThumbnail", "Use as workflow thumbnail"),
sourceAsset: e
}), r = String(n?.filepath || "").trim();
if (!r) return;
let i = String(e?.kind || "").toLowerCase() === "video" || /\.(mp4|webm|mov|mkv|avi|m4v)$/i.test(t);
- F(i ? L("toast.workflowThumbnailConverting", "Preparing a 5 second animated workflow thumbnail...") : L("toast.workflowThumbnailApplying", "Applying workflow thumbnail..."), "info", 2200);
- let a = await Qe({
+ x(i ? L("toast.workflowThumbnailConverting", "Preparing a 5 second animated workflow thumbnail...") : L("toast.workflowThumbnailApplying", "Applying workflow thumbnail..."), "info", 2200);
+ let a = await et({
filepath: r,
source_filepath: t
}, { timeoutMs: i ? 75e3 : 3e4 });
- a?.ok ? (F(L("toast.workflowUpdated", "Workflow updated"), "success", 1800), Ga("workflow-thumbnail-assign")) : F(a?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
+ a?.ok ? (x(L("toast.workflowUpdated", "Workflow updated"), "success", 1800), Ja("workflow-thumbnail-assign")) : x(a?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
}
-async function $a(e) {
+async function no(e) {
let t = String(e?.filepath || "").trim();
- if (!await jt(L("dialog.deleteWorkflowConfirm", "Delete this workflow JSON and its adjacent thumbnail files?"), L("ctx.deleteWorkflow", "Delete workflow"))) return;
- let n = await Be({ filepath: t }, { timeoutMs: 3e4 });
- n?.ok ? (F(L("toast.workflowDeleted", "Workflow deleted"), "success", 1800), Ga("workflow-delete")) : F(n?.error || L("toast.fileDeleteFailed", "Failed to delete file."), "error");
+ if (!await Pt(L("dialog.deleteWorkflowConfirm", "Delete this workflow JSON and its adjacent thumbnail files?"), L("ctx.deleteWorkflow", "Delete workflow"))) return;
+ let n = await We({ filepath: t }, { timeoutMs: 3e4 });
+ n?.ok ? (x(L("toast.workflowDeleted", "Workflow deleted"), "success", 1800), Ja("workflow-delete")) : x(n?.error || L("toast.fileDeleteFailed", "Failed to delete file."), "error");
}
-function eo(e) {
- let t = va(e), n = ya(e), r = n.length || t.size;
+function ro(e) {
+ let t = xa(e), n = Sa(e), r = n.length || t.size;
return {
selectedIds: t,
selectedAssetsNow: n,
@@ -2403,62 +2403,62 @@ function eo(e) {
hasSelection: r > 0
};
}
-function to(e, t) {
+function io(e, t) {
let n = (e) => "*".repeat(e) + "o".repeat(Math.max(0, 5 - e)), r = (t) => {
- Ma(e, { rating: t });
+ Fa(e, { rating: t });
};
return [
$(n(5), "pi pi-star", null, async () => {
- Fa(e, 5, () => r(5));
+ Ra(e, 5, () => r(5));
}, { disabled: !t }),
$(n(4), "pi pi-star", null, async () => {
- Fa(e, 4, () => r(4));
+ Ra(e, 4, () => r(4));
}, { disabled: !t }),
$(n(3), "pi pi-star", null, async () => {
- Fa(e, 3, () => r(3));
+ Ra(e, 3, () => r(3));
}, { disabled: !t }),
$(n(2), "pi pi-star", null, async () => {
- Fa(e, 2, () => r(2));
+ Ra(e, 2, () => r(2));
}, { disabled: !t }),
$(n(1), "pi pi-star", null, async () => {
- Fa(e, 1, () => r(1));
+ Ra(e, 1, () => r(1));
}, { disabled: !t }),
- _a(),
+ ba(),
$(L("ctx.resetRating", "Reset rating"), "pi pi-star", "0", async () => {
- Fa(e, 0, () => r(0));
+ Ra(e, 0, () => r(0));
}, { disabled: !t })
];
}
-function no(e, t) {
+function ao(e, t) {
let n = String(t?.dataset?.mjrScope || "").toLowerCase();
if (n !== "input" && n !== "output") return e;
let r = String(e || "").trim().replaceAll("\\", "/");
return r ? `mjr://${n}/${r}` : `mjr://${n}`;
}
-function ro({ currentPath: e, gridContainer: n } = {}) {
+function oo({ currentPath: e, gridContainer: t } = {}) {
return [$(L("ctx.createFolderHere", "Create folder here..."), "pi pi-plus", null, async () => {
try {
- let r = await wt(L("dialog.newFolderName", "New folder name"), ""), i = String(r || "").trim();
+ let n = await Dt(L("dialog.newFolderName", "New folder name"), ""), i = String(n || "").trim();
if (!i) return;
- let a = await t({
+ let a = await r({
op: "create",
- path: no(e, n),
+ path: ao(e, t),
name: i
});
if (!a?.ok) {
- F(a?.error || "Failed to create folder", "error");
+ x(a?.error || "Failed to create folder", "error");
return;
}
- Na(n), F(L("toast.folderCreated", "Folder created: {name}", { name: i }), "success");
+ Ia(t), x(L("toast.folderCreated", "Folder created: {name}", { name: i }), "success");
} catch (e) {
- F(L("toast.createFolderFailedDetail", "Create folder failed: {error}", { error: e?.message || String(e || "") }), "error");
+ x(L("toast.createFolderFailedDetail", "Create folder failed: {error}", { error: e?.message || String(e || "") }), "error");
}
})];
}
-function io({ asset: e, gridContainer: n, panelState: r } = {}) {
+function so({ asset: e, gridContainer: t, panelState: n } = {}) {
let i = String(e?.filepath || "").trim(), a = [$(L("ctx.openFolder", "Open folder"), "pi pi-folder-open", null, () => {
try {
- n.dispatchEvent(new CustomEvent("mjr:open-folder-asset", {
+ t.dispatchEvent(new CustomEvent("mjr:open-folder-asset", {
bubbles: !0,
detail: { asset: e }
}));
@@ -2467,16 +2467,16 @@ function io({ asset: e, gridContainer: n, panelState: r } = {}) {
}
}), $(L("ctx.pinAsBrowserRoot"), "pi pi-bookmark", null, async () => {
if (!i) {
- F(L("toast.unableResolveFolderPath"), "error");
+ x(L("toast.unableResolveFolderPath"), "error");
return;
}
- let t = await wt(L("dialog.browserRootLabelOptional"), String(e?.filename || "")), n = await me(p.CUSTOM_ROOTS, {
+ let t = await Dt(L("dialog.browserRootLabelOptional"), String(e?.filename || "")), n = await he(I.CUSTOM_ROOTS, {
path: i,
label: String(t || "").trim() || void 0
});
- if (!n?.ok) F(n?.error || L("toast.pinFolderFailed"), "error");
+ if (!n?.ok) x(n?.error || L("toast.pinFolderFailed"), "error");
else {
- F(L("toast.folderPinnedAsBrowserRoot"), "success");
+ x(L("toast.folderPinnedAsBrowserRoot"), "success");
try {
window.dispatchEvent(new CustomEvent("mjr:custom-roots-changed", { detail: { preferredId: String(n?.data?.id || "") } }));
} catch (e) {
@@ -2484,86 +2484,86 @@ function io({ asset: e, gridContainer: n, panelState: r } = {}) {
}
}
})];
- return Ia(r) && i && a.push(_a(), $(L("ctx.createFolderHere"), "pi pi-plus", null, async () => {
+ return za(n) && i && a.push(ba(), $(L("ctx.createFolderHere"), "pi pi-plus", null, async () => {
try {
- let e = await wt(L("dialog.newFolderName"), ""), r = String(e || "").trim();
- if (!r) return;
- let a = await t({
+ let e = await Dt(L("dialog.newFolderName"), ""), n = String(e || "").trim();
+ if (!n) return;
+ let a = await r({
op: "create",
path: i,
- name: r
+ name: n
});
if (!a?.ok) {
- F(a?.error || L("toast.createFolderFailed"), "error");
+ x(a?.error || L("toast.createFolderFailed"), "error");
return;
}
- Na(n), F(L("toast.folderCreated", { name: r }), "success");
+ Ia(t), x(L("toast.folderCreated", { name: n }), "success");
} catch (e) {
- F(L("toast.createFolderFailedDetail", { error: e?.message || String(e || "") }), "error");
+ x(L("toast.createFolderFailedDetail", { error: e?.message || String(e || "") }), "error");
}
}), $(L("ctx.renameFolder"), "pi pi-pencil", null, async () => {
try {
- let r = String(e?.filename || "").trim(), a = await wt(L("dialog.renameFolder"), r), o = String(a || "").trim();
- if (!o || o === r) return;
- let s = await t({
+ let n = String(e?.filename || "").trim(), a = await Dt(L("dialog.renameFolder"), n), o = String(a || "").trim();
+ if (!o || o === n) return;
+ let s = await r({
op: "rename",
path: i,
name: o
});
if (!s?.ok) {
- F(s?.error || L("toast.renameFolderFailed"), "error");
+ x(s?.error || L("toast.renameFolderFailed"), "error");
return;
}
- Na(n), F(L("toast.folderRenamed"), "success");
+ Ia(t), x(L("toast.folderRenamed"), "success");
} catch (e) {
- F(L("toast.renameFolderFailedDetail", { error: e?.message || String(e || "") }), "error");
+ x(L("toast.renameFolderFailedDetail", { error: e?.message || String(e || "") }), "error");
}
}), $(L("ctx.moveFolder"), "pi pi-arrow-right", null, async () => {
try {
- let e = await wt(L("dialog.destinationDirectoryPath"), ""), r = String(e || "").trim();
- if (!r) return;
- let a = await t({
+ let e = await Dt(L("dialog.destinationDirectoryPath"), ""), n = String(e || "").trim();
+ if (!n) return;
+ let a = await r({
op: "move",
path: i,
- destination: r
+ destination: n
});
if (!a?.ok) {
- F(a?.error || L("toast.moveFolderFailed"), "error");
+ x(a?.error || L("toast.moveFolderFailed"), "error");
return;
}
- Na(n), F(L("toast.folderMoved"), "success");
+ Ia(t), x(L("toast.folderMoved"), "success");
} catch (e) {
- F(L("toast.moveFolderFailedDetail", { error: e?.message || String(e || "") }), "error");
+ x(L("toast.moveFolderFailedDetail", { error: e?.message || String(e || "") }), "error");
}
}), $(L("ctx.deleteFolder"), "pi pi-trash", null, async () => {
try {
- let r = String(e?.filename || L("label.thisFolder", "this folder"));
- if (!await jt(L("dialog.deleteFolderRecursive", { name: r }))) return;
- let a = await t({
+ let n = String(e?.filename || L("label.thisFolder", "this folder"));
+ if (!await Pt(L("dialog.deleteFolderRecursive", { name: n }))) return;
+ let a = await r({
op: "delete",
path: i,
recursive: !0
});
if (!a?.ok) {
- F(a?.error || L("toast.deleteFolderFailed"), "error");
+ x(a?.error || L("toast.deleteFolderFailed"), "error");
return;
}
- Na(n), F(L("toast.folderDeleted"), "success");
+ Ia(t), x(L("toast.folderDeleted"), "success");
} catch (e) {
- F(L("toast.deleteFolderFailedDetail", { error: e?.message || String(e || "") }), "error");
+ x(L("toast.deleteFolderFailedDetail", { error: e?.message || String(e || "") }), "error");
}
})), a;
}
-function ao({ asset: e, card: t, gridContainer: n, panelState: r, pointerX: i, pointerY: a, selection: o } = {}) {
- let { selectedAssetsNow: s, effectiveSelectionCount: c, isMultiSelected: l, hasSelection: u } = o, d = [], f = Ra(r), p = ({ assets: e = [], index: t = 0, mode: n = "" } = {}) => ma().then((r) => r.requestViewerOpen({
+function co({ asset: e, card: t, gridContainer: n, panelState: r, pointerX: i, pointerY: a, selection: o } = {}) {
+ let { selectedAssetsNow: s, effectiveSelectionCount: c, isMultiSelected: l, hasSelection: u } = o, d = [], f = Va(r), p = ({ assets: e = [], index: t = 0, mode: n = "" } = {}) => _a().then((r) => r.requestViewerOpen({
assets: e,
index: t,
mode: n
})).catch((e) => console.debug?.(e));
- if (Ba(e)) {
- if (d.push($(L("ctx.loadWorkflow", "Load workflow"), "pi pi-sitemap", null, () => Wa(e)), $(L("ctx.duplicateWorkflow", "Duplicate workflow"), "pi pi-copy", null, () => Ka(e)), $(L("ctx.renameWorkflow", "Rename workflow"), "pi pi-pencil", null, () => qa(e)), $(L("ctx.categorizeWorkflow", "Set workflow category"), "pi pi-folder", null, () => Ja(e)), $(L("ctx.setWorkflowThumbnail", "Set workflow thumbnail"), "pi pi-image", null, () => Ya(e)), $(L("ctx.editWorkflowInfo", "Edit infos"), "pi pi-info-circle", null, () => la(e)), $(L("ctx.exportWorkflow", "Export workflow"), "pi pi-download", null, () => Xa(e)), $(L("ctx.showInExplorer", "Show in Explorer"), "pi pi-folder-open", null, () => Za(e)), $(L("ctx.deleteWorkflow", "Delete workflow"), "pi pi-trash", null, () => $a(e)), _a()), f) return d.push($("Open Graph Map", "pi pi-sitemap", null, async () => {
+ if (Ua(e)) {
+ if (d.push($(L("ctx.loadWorkflow", "Load workflow"), "pi pi-sitemap", null, () => qa(e)), $(L("ctx.duplicateWorkflow", "Duplicate workflow"), "pi pi-copy", null, () => Ya(e)), $(L("ctx.renameWorkflow", "Rename workflow"), "pi pi-pencil", null, () => Xa(e)), $(L("ctx.categorizeWorkflow", "Set workflow category"), "pi pi-folder", null, () => Za(e)), $(L("ctx.setWorkflowThumbnail", "Set workflow thumbnail"), "pi pi-image", null, () => Qa(e)), $(L("ctx.editWorkflowInfo", "Edit infos"), "pi pi-info-circle", null, () => fa(e)), $(L("ctx.exportWorkflow", "Export workflow"), "pi pi-download", null, () => $a(e)), $(L("ctx.showInExplorer", "Show in Explorer"), "pi pi-folder-open", null, () => eo(e)), $(L("ctx.deleteWorkflow", "Delete workflow"), "pi pi-trash", null, () => no(e)), ba()), f) return d.push($("Open Graph Map", "pi pi-sitemap", null, async () => {
try {
- let t = await ba(e), { floatingViewerManager: n } = await ha();
+ let t = await Ca(e), { floatingViewerManager: n } = await va();
await n.openAssets({
assets: [t],
index: 0,
@@ -2574,9 +2574,9 @@ function ao({ asset: e, card: t, gridContainer: n, panelState: r, pointerX: i, p
}
})), d;
} else if (f) return d;
- d.push($("Open As New Tab", "pi pi-external-link", null, () => Ua(e)), $("Open Viewer", "pi pi-image", ta("OPEN_VIEWER"), () => {
+ d.push($("Open As New Tab", "pi pi-external-link", null, () => Ka(e)), $("Open Viewer", "pi pi-image", ia("OPEN_VIEWER"), () => {
try {
- let t = (u ? ya(n) : []).filter((e) => !za(e)), r = t.length;
+ let t = (u ? Sa(n) : []).filter((e) => !Ha(e)), r = t.length;
if (r >= 2 && r <= 4) {
p({
assets: t,
@@ -2584,7 +2584,7 @@ function ao({ asset: e, card: t, gridContainer: n, panelState: r, pointerX: i, p
});
return;
}
- let i = ka(n).filter((e) => !za(e)), a = Aa(i, e?.id);
+ let i = Ma(n).filter((e) => !Ha(e)), a = Na(i, e?.id);
if (!i.length || a < 0) return;
p({
assets: i,
@@ -2593,9 +2593,9 @@ function ao({ asset: e, card: t, gridContainer: n, panelState: r, pointerX: i, p
} catch (e) {
console.debug?.(e);
}
- }), $("Open in Floating Viewer", "pi pi-window-maximize", ta("OPEN_FLOATING_VIEWER"), async () => {
+ }), $("Open in Floating Viewer", "pi pi-window-maximize", ia("OPEN_FLOATING_VIEWER"), async () => {
try {
- let { floatingViewerManager: t } = await ha(), r = (u ? ya(n) : []).filter((e) => !za(e));
+ let { floatingViewerManager: t } = await va(), r = (u ? Sa(n) : []).filter((e) => !Ha(e));
if (r.length) {
await t.openAssets({
assets: r,
@@ -2611,11 +2611,11 @@ function ao({ asset: e, card: t, gridContainer: n, panelState: r, pointerX: i, p
console.debug?.(e);
}
}), $("Load Asset", "pi pi-upload", "L / L+Drop", async () => {
- let t = (u ? ya(n) : []).filter((e) => !za(e));
- await Ea(t.length ? t : [e]) || F("Failed to create a loader node for this asset.", "error");
+ let t = (u ? Sa(n) : []).filter((e) => !Ha(e));
+ await ka(t.length ? t : [e]) || x("Failed to create a loader node for this asset.", "error");
}), $("Open Graph Map", "pi pi-sitemap", null, async () => {
try {
- let t = await ba(e), { floatingViewerManager: n } = await ha();
+ let t = await Ca(e), { floatingViewerManager: n } = await va();
await n.openAssets({
assets: [t],
index: 0,
@@ -2624,17 +2624,17 @@ function ao({ asset: e, card: t, gridContainer: n, panelState: r, pointerX: i, p
} catch (e) {
console.debug?.(e);
}
- }), $(L("ctx.showMetadataPanel", "Show metadata panel"), "pi pi-info-circle", ta("METADATA_PANEL"), () => {
+ }), $(L("ctx.showMetadataPanel", "Show metadata panel"), "pi pi-info-circle", ia("METADATA_PANEL"), () => {
try {
- Oa(n, t, e, r);
+ ja(n, t, e, r);
let i = n?._mjrOpenDetails;
typeof i == "function" && i();
} catch (e) {
console.debug?.(e);
}
- })), Va(e) && d.push($(L("ctx.assignAsWorkflowThumbnail", "Use as workflow thumbnail"), "pi pi-image", null, () => Qa(e)));
- let m = (u ? s : []).filter((e) => !za(e)), h = m.length;
- h === 2 && d.push($("Compare A/B (2 selected)", "pi pi-clone", ta("COMPARE_AB"), () => {
+ })), Wa(e) && d.push($(L("ctx.assignAsWorkflowThumbnail", "Use as workflow thumbnail"), "pi pi-image", null, () => to(e)));
+ let m = (u ? s : []).filter((e) => !Ha(e)), h = m.length;
+ h === 2 && d.push($("Compare A/B (2 selected)", "pi pi-clone", ia("COMPARE_AB"), () => {
try {
p({
assets: m,
@@ -2644,7 +2644,7 @@ function ao({ asset: e, card: t, gridContainer: n, panelState: r, pointerX: i, p
} catch (e) {
console.debug?.(e);
}
- })), h >= 2 && h <= 4 && d.push($(`Side-by-side (2x2) (${h} selected)`, "pi pi-table", ta("SIDE_BY_SIDE"), () => {
+ })), h >= 2 && h <= 4 && d.push($(`Side-by-side (2x2) (${h} selected)`, "pi pi-table", ia("SIDE_BY_SIDE"), () => {
try {
p({
assets: m,
@@ -2654,38 +2654,38 @@ function ao({ asset: e, card: t, gridContainer: n, panelState: r, pointerX: i, p
} catch (e) {
console.debug?.(e);
}
- })), d.push($(L("ctx.openInFolder", "Open in folder"), "pi pi-folder-open", ta("OPEN_IN_FOLDER"), async () => {
- let t = await Ke(e);
- t?.ok ? F(L("toast.openedInFolder"), "info", 2e3) : F(t?.error || L("toast.openFolderFailed"), "error");
- }, { disabled: !(e?.id || xa(e)) }), $(L("ctx.collectFiles", "Collect files"), "pi pi-box", null, async () => {
- F(L("toast.collectingFiles", "Collecting files..."), "info", 2500);
+ })), d.push($(L("ctx.openInFolder", "Open in folder"), "pi pi-folder-open", ia("OPEN_IN_FOLDER"), async () => {
+ let t = await Me(e);
+ t?.ok ? x(L("toast.openedInFolder"), "info", 2e3) : x(t?.error || L("toast.openFolderFailed"), "error");
+ }, { disabled: !(e?.id || wa(e)) }), $(L("ctx.collectFiles", "Collect files"), "pi pi-box", null, async () => {
+ x(L("toast.collectingFiles", "Collecting files..."), "info", 2500);
let t = await De(e);
if (!t?.ok) {
- F(t?.error || L("toast.collectFilesFailed", "Collect files failed"), "error");
+ x(t?.error || L("toast.collectFilesFailed", "Collect files failed"), "error");
return;
}
let n = t?.data || {}, r = Array.isArray(n.missing) ? n.missing.length : 0, i = n.fallback_used ? L("toast.collectFallbackDir", "output folder (source folder not writable)") : L("toast.collectSameDir", "asset folder"), a = L("toast.collectedFiles", "Collected {name} in {where}", {
name: String(n.zip_name || "zip"),
where: i
});
- r > 0 && (a += ` — ${r} ${L("toast.collectMissingInputs", "input(s) missing")}`), F(a, r > 0 ? "warning" : "success", 6e3);
- }, { disabled: !xa(e) }), $(L("ctx.copyPath", "Copy path"), "pi pi-copy", ta("COPY_PATH"), async () => {
+ r > 0 && (a += ` — ${r} ${L("toast.collectMissingInputs", "input(s) missing")}`), x(a, r > 0 ? "warning" : "success", 6e3);
+ }, { disabled: !wa(e) }), $(L("ctx.copyPath", "Copy path"), "pi pi-copy", ia("COPY_PATH"), async () => {
let t = e?.filepath ? String(e.filepath) : "";
- if (!t) F(L("toast.noFilePath"), "error");
+ if (!t) x(L("toast.noFilePath"), "error");
else try {
- await navigator.clipboard.writeText(t), F(L("toast.pathCopied"), "success", 2e3);
+ await navigator.clipboard.writeText(t), x(L("toast.pathCopied"), "success", 2e3);
} catch (e) {
- console.warn(L("log.clipboardCopyFailed", "Clipboard copy failed"), e), F(L("toast.pathCopyFailed"), "error");
+ console.warn(L("log.clipboardCopyFailed", "Clipboard copy failed"), e), x(L("toast.pathCopyFailed"), "error");
}
- }), $(L("ctx.download", "Download"), "pi pi-download", ta("DOWNLOAD"), () => {
+ }), $(L("ctx.download", "Download"), "pi pi-download", ia("DOWNLOAD"), () => {
if (!e?.filepath) return;
- let t = Se(e.filepath), n = e.filename || "download";
- wa(t, n), F(L("toast.downloadingFile", "Downloading {filename}...", { filename: n }), "info", 3e3);
+ let t = Fe(e.filepath), n = e.filename || "download";
+ Da(t, n), x(L("toast.downloadingFile", "Downloading {filename}...", { filename: n }), "info", 3e3);
}, { disabled: !e?.filepath }), $(`Download selected as ZIP (${h})`, "pi pi-file-zip", null, async () => {
- await Ta(m);
- }, { disabled: h < 2 }), $("Add to collection...", "pi pi-bookmark", ta("ADD_TO_COLLECTION"), async () => {
- let t = ya(n);
- await Ki({
+ await Oa(m);
+ }, { disabled: h < 2 }), $("Add to collection...", "pi pi-bookmark", ia("ADD_TO_COLLECTION"), async () => {
+ let t = Sa(n);
+ await Yi({
x: i,
y: a,
assets: t.length ? t : [e]
@@ -2693,100 +2693,100 @@ function ao({ asset: e, card: t, gridContainer: n, panelState: r, pointerX: i, p
}));
let g = String(r?.collectionId || "").trim();
if (g) {
- let t = ya(n), r = (t.length ? t : [e]).map(xa).filter(Boolean), i = r.length > 1 ? `Remove from collection (${r.length})` : "Remove from collection";
+ let t = Sa(n), r = (t.length ? t : [e]).map(wa).filter(Boolean), i = r.length > 1 ? `Remove from collection (${r.length})` : "Remove from collection";
d.push($(i, "pi pi-bookmark", null, async () => {
if (!r.length) {
- F(L("toast.noFilePath"), "error");
+ x(L("toast.noFilePath"), "error");
return;
}
- let e = await ve(g, r);
- e?.ok ? Na(n) : F(e?.error || L("toast.removeFromCollectionFailed"), "error");
+ let e = await z(g, r);
+ e?.ok ? Ia(n) : x(e?.error || L("toast.removeFromCollectionFailed"), "error");
}));
}
- let _ = !!(e?.id || xa(e));
- return d.push(_a(), $(L("ctx.editTags", "Edit tags"), "pi pi-tags", ta("EDIT_TAGS"), () => {
- oo(i + 6, a + 6, e, () => {
- Ma(e, { tags: Array.isArray(e?.tags) ? [...e.tags] : [] });
+ let _ = !!(e?.id || wa(e));
+ return d.push(ba(), $(L("ctx.editTags", "Edit tags"), "pi pi-tags", ia("EDIT_TAGS"), () => {
+ lo(i + 6, a + 6, e, () => {
+ Fa(e, { tags: Array.isArray(e?.tags) ? [...e.tags] : [] });
});
- }, { closeOnSelect: !1 }), _a(), $(L("ctx.setRating", "Set rating"), "pi pi-star", "1-5 >", null, {
+ }, { closeOnSelect: !1 }), ba(), $(L("ctx.setRating", "Set rating"), "pi pi-star", "1-5 >", null, {
disabled: !_,
closeOnSelect: !1,
- submenu: to(e, _)
- }), _a(), $(L("ctx.resetIndexFile", "Reset index (this file)"), "pi pi-refresh", null, async () => {
+ submenu: io(e, _)
+ }), ba(), $(L("ctx.resetIndexFile", "Reset index (this file)"), "pi pi-refresh", null, async () => {
if (e?.filename || e?.id) {
- F(L("toast.rescanningFile", "Rescanning file..."), "info", 1600);
+ x(L("toast.rescanningFile", "Rescanning file..."), "info", 1600);
try {
- let t = await Pa(e, n);
- t?.ok ? F(L("toast.metadataRefreshed", "Metadata refreshed{suffix}", { suffix: "" }), "success", 1800) : F(t?.error || L("toast.resetFailed", "Failed to reset index"), "error");
+ let t = await La(e, n);
+ t?.ok ? x(L("toast.metadataRefreshed", "Metadata refreshed{suffix}", { suffix: "" }), "success", 1800) : x(t?.error || L("toast.resetFailed", "Failed to reset index"), "error");
} catch (e) {
- F(`${L("toast.resetFailed", "Failed to reset index")}: ${e?.message || String(e || "")}`, "error");
+ x(`${L("toast.resetFailed", "Failed to reset index")}: ${e?.message || String(e || "")}`, "error");
}
}
- }, { disabled: !(e?.filename || e?.id) }), $("Rename...", "pi pi-pencil", ta("RENAME"), async () => {
- if (!(e?.id || xa(e))) return;
- let t = e.filename || "", r = zi(await wt(L("dialog.rename.title", "Rename file"), t), t);
+ }, { disabled: !(e?.filename || e?.id) }), $("Rename...", "pi pi-pencil", ia("RENAME"), async () => {
+ if (!(e?.id || wa(e))) return;
+ let t = e.filename || "", r = Hi(await Dt(L("dialog.rename.title", "Rename file"), t), t);
if (!r || r === t) return;
- let i = Ii(r);
- if (!i.valid) F(i.reason, "error");
+ let i = zi(r);
+ if (!i.valid) x(i.reason, "error");
else try {
- let t = await je(e, r);
+ let t = await xe(e, r);
if (!t?.ok) {
- F(t?.error || L("toast.fileRenameFailed"), "error");
+ x(t?.error || L("toast.fileRenameFailed"), "error");
return;
}
let i = t?.data?.asset;
- i && typeof i == "object" ? (Object.assign(e, i), Ma(e, i)) : (e.filename = r, e.filepath &&= String(e.filepath).replace(/[^\\/]+$/, r), e.path &&= String(e.path).replace(/[^\\/]+$/, r), e.file_info && typeof e.file_info == "object" && (e.file_info.filename = r, e.file_info.filepath && (e.file_info.filepath = String(e.file_info.filepath).replace(/[^\\/]+$/, r)), e.file_info.path && (e.file_info.path = String(e.file_info.path).replace(/[^\\/]+$/, r))), Ma(e, {
+ i && typeof i == "object" ? (Object.assign(e, i), Fa(e, i)) : (e.filename = r, e.filepath &&= String(e.filepath).replace(/[^\\/]+$/, r), e.path &&= String(e.path).replace(/[^\\/]+$/, r), e.file_info && typeof e.file_info == "object" && (e.file_info.filename = r, e.file_info.filepath && (e.file_info.filepath = String(e.file_info.filepath).replace(/[^\\/]+$/, r)), e.file_info.path && (e.file_info.path = String(e.file_info.path).replace(/[^\\/]+$/, r))), Fa(e, {
filename: e.filename,
filepath: e.filepath,
path: e.path,
file_info: e.file_info
}));
- let a = ja(e.id)?.querySelector?.(".mjr-filename");
- a && (a.textContent = e.filename || r), F(L("toast.fileRenamedSuccess"), "success"), Na(n);
+ let a = Pa(e.id)?.querySelector?.(".mjr-filename");
+ a && (a.textContent = e.filename || r), x(L("toast.fileRenamedSuccess"), "success"), Ia(n);
} catch (e) {
- F(L("toast.errorRenaming", "Error renaming file: {error}", { error: e?.message || String(e || "") }), "error");
+ x(L("toast.errorRenaming", "Error renaming file: {error}", { error: e?.message || String(e || "") }), "error");
}
- }, { disabled: !(e?.id || xa(e)) })), l ? d.push($(`Delete ${c} files...`, "pi pi-trash", ta("DELETE"), async () => {
- if (await Bi(Number(c) || 0)) try {
+ }, { disabled: !(e?.id || wa(e)) })), l ? d.push($(`Delete ${c} files...`, "pi pi-trash", ia("DELETE"), async () => {
+ if (await Ui(Number(c) || 0)) try {
let t = 0, i = 0, a = [], o = 0, c = s.length ? s : [e];
- for (let e of c) (await b(e))?.ok ? (t += 1, e?.id == null ? o += 1 : a.push(String(e.id))) : i += 1;
+ for (let e of c) (await E(e))?.ok ? (t += 1, e?.id == null ? o += 1 : a.push(String(e.id))) : i += 1;
if (a.length) {
- let e = pi(n, a);
+ let e = gi(n, a);
r && Array.isArray(e?.selectedIds) && (r.selectedAssetIds = e.selectedIds, r.activeAssetId = e.selectedIds[0] || "");
}
- o > 0 && Na(n), i === 0 ? F(L("toast.filesDeletedSuccessN", "{n} files deleted successfully!", { n: t }), "success") : F(L("toast.filesDeletedPartial", "{success} files deleted, {failed} failed.", {
+ o > 0 && Ia(n), i === 0 ? x(L("toast.filesDeletedSuccessN", "{n} files deleted successfully!", { n: t }), "success") : x(L("toast.filesDeletedPartial", "{success} files deleted, {failed} failed.", {
success: t,
failed: i
}), "warning");
} catch (e) {
- F(L("toast.errorDeleting", "Error deleting file: {error}", { error: e?.message || String(e || "") }), "error");
+ x(L("toast.errorDeleting", "Error deleting file: {error}", { error: e?.message || String(e || "") }), "error");
}
- })) : d.push($(L("ctx.delete", "Delete"), "pi pi-trash", ta("DELETE"), async () => {
- if (await Bi(1, e?.filename)) try {
- let t = await b(e);
+ })) : d.push($(L("ctx.delete", "Delete"), "pi pi-trash", ia("DELETE"), async () => {
+ if (await Ui(1, e?.filename)) try {
+ let t = await E(e);
if (!t?.ok) {
- F(t?.error || L("toast.fileDeleteFailed"), "error");
+ x(t?.error || L("toast.fileDeleteFailed"), "error");
return;
}
if (e?.id) {
- let t = pi(n, [String(e.id)]);
+ let t = gi(n, [String(e.id)]);
r && Array.isArray(t?.selectedIds) && (r.selectedAssetIds = t.selectedIds, r.activeAssetId = t.selectedIds[0] || "");
- } else Na(n);
- F(L("toast.fileDeletedSuccess"), "success");
+ } else Ia(n);
+ x(L("toast.fileDeletedSuccess"), "success");
} catch (e) {
- F(L("toast.errorDeleting", "Error deleting file: {error}", { error: e?.message || String(e || "") }), "error");
+ x(L("toast.errorDeleting", "Error deleting file: {error}", { error: e?.message || String(e || "") }), "error");
}
- }, { disabled: !(e?.id || xa(e)) })), d;
+ }, { disabled: !(e?.id || wa(e)) })), d;
}
-function oo(e, t, n, r) {
- n && Gn({
+function lo(e, t, n, r) {
+ n && Jn({
x: e,
y: t,
asset: n,
onChanged: r
});
}
-function so({ gridContainer: e, getState: t = () => ({}) } = {}) {
+function uo({ gridContainer: e, getState: t = () => ({}) } = {}) {
if (!e) return;
if (e._mjrGridContextMenuBound && typeof e._mjrGridContextMenuUnbind == "function") return e._mjrGridContextMenuUnbind;
let n = async (n) => {
@@ -2796,15 +2796,15 @@ function so({ gridContainer: e, getState: t = () => ({}) } = {}) {
} catch {
return {};
}
- })(), i = qt(n.target, ".mjr-asset-card");
+ })(), i = Xt(n.target, ".mjr-asset-card");
if (!i) {
- if (!Ia(r)) return;
- let t = String(e?.dataset?.mjrScope || "").toLowerCase(), i = String(e?.dataset?.mjrSubfolder || "").trim(), a = (t === "input" || t === "output") && La();
+ if (!za(r)) return;
+ let t = String(e?.dataset?.mjrScope || "").toLowerCase(), i = String(e?.dataset?.mjrSubfolder || "").trim(), a = (t === "input" || t === "output") && Ba();
if (!i && !a) return;
- n.preventDefault(), n.stopPropagation(), sn({
+ n.preventDefault(), n.stopPropagation(), un({
x: n.clientX,
y: n.clientY,
- items: ro({
+ items: oo({
currentPath: i,
gridContainer: e
})
@@ -2814,11 +2814,11 @@ function so({ gridContainer: e, getState: t = () => ({}) } = {}) {
n.preventDefault(), n.stopPropagation();
let a = i._mjrAsset;
if (!a) return;
- let o = eo(e), s = za(a) ? io({
+ let o = ro(e), s = Ha(a) ? so({
asset: a,
gridContainer: e,
panelState: r
- }) : ao({
+ }) : co({
asset: a,
card: i,
gridContainer: e,
@@ -2827,7 +2827,7 @@ function so({ gridContainer: e, getState: t = () => ({}) } = {}) {
pointerY: n.clientY,
selection: o
});
- sn({
+ un({
x: n.clientX,
y: n.clientY,
items: s
@@ -2856,12 +2856,12 @@ function so({ gridContainer: e, getState: t = () => ({}) } = {}) {
console.debug?.(e);
}
try {
- oa();
+ la();
} catch (e) {
console.debug?.(e);
}
try {
- ln();
+ fn();
} catch (e) {
console.debug?.(e);
}
@@ -2869,8 +2869,8 @@ function so({ gridContainer: e, getState: t = () => ({}) } = {}) {
return e._mjrGridContextMenuUnbind = r, r;
}
// ui/features/panel/controllers/ratingHotkeysController.ts
-var co = Ft;
-function lo(e) {
+var fo = Rt;
+function po(e) {
let t = String(e ?? "");
try {
if (typeof CSS < "u" && typeof CSS.escape == "function") return CSS.escape(t);
@@ -2879,10 +2879,10 @@ function lo(e) {
}
return t.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1");
}
-function uo(e, t = null) {
+function mo(e, t = null) {
if (!e) return [];
try {
- let t = Array.from(yt(e));
+ let t = Array.from(St(e));
if (t.length) return t;
} catch (e) {
console.debug?.(e);
@@ -2895,14 +2895,14 @@ function uo(e, t = null) {
}
return [];
}
-function fo(e, t) {
+function ho(e, t) {
try {
- return e?.querySelector?.(`.mjr-asset-card[data-mjr-asset-id="${lo(t)}"]`);
+ return e?.querySelector?.(`.mjr-asset-card[data-mjr-asset-id="${po(t)}"]`);
} catch (e) {
return console.debug?.(e), null;
}
}
-function po(e, t, n) {
+function go(e, t, n) {
if (!e) return;
let r = e._mjrAsset;
r && (r.rating = n);
@@ -2915,7 +2915,7 @@ function po(e, t, n) {
console.debug?.(e);
}
}
-async function mo(e, t, n = 5) {
+async function _o(e, t, n = 5) {
let r = Math.max(1, Number(n) || 1), i = 0, a = [], o = async () => {
for (; i < e.length;) {
let n = i;
@@ -2930,22 +2930,22 @@ async function mo(e, t, n = 5) {
for (let t = 0; t < Math.min(r, e.length); t += 1) a.push(o());
await Promise.all(a);
}
-function ho({ gridContainer: e, createRatingBadge: t } = {}) {
+function vo({ gridContainer: e, createRatingBadge: t } = {}) {
let n = !1, r = null, i = null, a = async (e, t) => {
if (e != null) {
try {
- let n = await N(e, t);
+ let n = await P(e, t);
if (!n?.ok) {
- F(n?.error || L("toast.ratingUpdateFailed"), "error");
+ x(n?.error || L("toast.ratingUpdateFailed"), "error");
return;
}
- F(L("toast.ratingSetN", { n: t }), "success", 1500);
+ x(L("toast.ratingSetN", { n: t }), "success", 1500);
} catch {
- F(L("toast.ratingUpdateError"), "error");
+ x(L("toast.ratingUpdateError"), "error");
return;
}
try {
- window.dispatchEvent(new CustomEvent(co, { detail: {
+ window.dispatchEvent(new CustomEvent(fo, { detail: {
assetId: String(e),
rating: t
} }));
@@ -2957,8 +2957,8 @@ function ho({ gridContainer: e, createRatingBadge: t } = {}) {
return {
bind: () => {
if (!n && e) {
- n = !0, mt(!0), r = async (t) => {
- if (vt() || gt().scope === "viewer" || t.defaultPrevented) return;
+ n = !0, _t(!0), r = async (t) => {
+ if (xt() || yt().scope === "viewer" || t.defaultPrevented) return;
let n = (e) => !!(e?.isContentEditable || e?.closest?.("input, textarea, select, [contenteditable]:not([contenteditable='false'])"));
if (t.isComposing || n(t.target) || n(document.activeElement)) return;
let r = String(t.key || "");
@@ -2967,13 +2967,13 @@ function ho({ gridContainer: e, createRatingBadge: t } = {}) {
if (!i && !o && !s) return;
let c = r === "0" ? 0 : Number(r);
if (!Number.isFinite(c)) return;
- let l = uo(e, t.target);
- l.length && (t.preventDefault(), t.stopPropagation(), t.stopImmediatePropagation?.(), await mo(l, (e) => a(e, c), 5));
+ let l = mo(e, t.target);
+ l.length && (t.preventDefault(), t.stopPropagation(), t.stopImmediatePropagation?.(), await _o(l, (e) => a(e, c), 5));
}, i = (n) => {
let r = n?.detail || {}, i = r.assetId ?? r.id ?? null, a = Number(r.rating);
if (!i || !Number.isFinite(a)) return;
- let o = fo(e, i);
- o && po(o, t, a);
+ let o = ho(e, i);
+ o && go(o, t, a);
};
try {
window.addEventListener("keydown", r, { capture: !0 });
@@ -2981,7 +2981,7 @@ function ho({ gridContainer: e, createRatingBadge: t } = {}) {
console.debug?.(e);
}
try {
- window.addEventListener(co, i);
+ window.addEventListener(fo, i);
} catch (e) {
console.debug?.(e);
}
@@ -2989,14 +2989,14 @@ function ho({ gridContainer: e, createRatingBadge: t } = {}) {
},
dispose: () => {
if (n) {
- n = !1, mt(!1);
+ n = !1, _t(!1);
try {
window.removeEventListener("keydown", r, { capture: !0 });
} catch (e) {
console.debug?.(e);
}
try {
- window.removeEventListener(co, i);
+ window.removeEventListener(fo, i);
} catch (e) {
console.debug?.(e);
}
@@ -3006,7 +3006,7 @@ function ho({ gridContainer: e, createRatingBadge: t } = {}) {
};
}
// ui/features/grid/StackGroupCards.ts
-function go(e) {
+function yo(e) {
if (!e || e.dataset?.mjrOverlayButtonBound === "1") return e;
try {
e.dataset.mjrOverlayButtonBound = "1";
@@ -3025,7 +3025,7 @@ function go(e) {
};
return e.addEventListener("pointerdown", t), e.addEventListener("mousedown", n), e.addEventListener("touchstart", t, { passive: !0 }), e.addEventListener("dblclick", t), e.addEventListener("keydown", t), e.addEventListener("dragstart", n), e;
}
-function _o(e, t, n = null, r = "mjr-stack-group-button-count") {
+function bo(e, t, n = null, r = "mjr-stack-group-button-count") {
e.textContent = "";
let i = document.createElement("span");
if (i.className = t, e.appendChild(i), n != null) {
@@ -3033,24 +3033,24 @@ function _o(e, t, n = null, r = "mjr-stack-group-button-count") {
t.className = r, t.textContent = String(n), e.appendChild(t);
}
}
-function vo(e) {
+function xo(e) {
return String(e?.dataset?.mjrGroupStacks || "") === "1";
}
-function yo(e) {
+function So(e) {
let t = String(e?.stack_id || "").trim();
return t ? `stack:${t}` : "";
}
-function bo(e, t, n) {
- return vo(e) && yo(t) || n;
+function Co(e, t, n) {
+ return xo(e) && So(t) || n;
}
-function xo(e) {
+function wo(e) {
try {
e._mjrStackMembersCache?.clear?.();
} catch (e) {
console.debug?.(e);
}
}
-function So(e, t, n) {
+function To(e, t, n) {
if (!t || !n || t._mjrIsVue) return;
let r = !!n._mjrDupStack, i = Number(n._mjrDupCount || 0) || 0;
if (!r || i < 2) {
@@ -3060,7 +3060,7 @@ function So(e, t, n) {
}
t.dataset.mjrDupStacked = "true", t.dataset.mjrDupCount = String(i);
let a = t.querySelector(".mjr-dup-stack-button");
- a || (a = document.createElement("button"), a.type = "button", a.className = "mjr-dup-stack-button", a.setAttribute("aria-label", "Show all duplicates"), go(a), a.addEventListener("click", (e) => {
+ a || (a = document.createElement("button"), a.type = "button", a.className = "mjr-dup-stack-button", a.setAttribute("aria-label", "Show all duplicates"), yo(a), a.addEventListener("click", (e) => {
if (e.preventDefault(), e.stopPropagation(), a.dataset?.mjrStackOpening !== "1") try {
a.dataset.mjrStackOpening = "1", a.disabled = !0;
let e = a?._mjrGridContainer, t = a?._mjrAsset;
@@ -3086,21 +3086,21 @@ function So(e, t, n) {
}
}), t.appendChild(a)), a._mjrGridContainer = e, a._mjrAsset = n;
let o = `${i} duplicate${i > 1 ? "s" : ""}`;
- a.title = `${o} - click to compare all copies`, _o(a, "pi pi-copy", i, "mjr-dup-stack-count");
+ a.title = `${o} - click to compare all copies`, bo(a, "pi pi-copy", i, "mjr-dup-stack-count");
}
// ui/features/dnd/utils/log.ts
-var Co = () => {
+var Eo = () => {
try {
return !!window?.MJR_DND_DEBUG;
} catch {
return !1;
}
-}, wo = (...e) => {
- Co() && console.debug("[Majoor.DnD]", ...e);
-}, To = (e, { buildCustomViewURL: t, buildViewURL: n }) => {
+}, Do = (...e) => {
+ Eo() && console.debug("[Majoor.DnD]", ...e);
+}, Oo = (e, { buildCustomViewURL: t, buildViewURL: n }) => {
let r = String(e?.type || "output").toLowerCase();
- return r === "custom" ? t(e?.filename || "", e?.subfolder || "", be(e)) : r === "input" ? n(e?.filename || "", e?.subfolder || "", "input") : r === "temp" ? n(e?.filename || "", e?.subfolder || "", "temp") : n(e?.filename || "", e?.subfolder || "", "output");
-}, Eo = (e) => {
+ return r === "custom" ? t(e?.filename || "", e?.subfolder || "", Be(e)) : r === "input" ? n(e?.filename || "", e?.subfolder || "", "input") : r === "temp" ? n(e?.filename || "", e?.subfolder || "", "temp") : n(e?.filename || "", e?.subfolder || "", "output");
+}, ko = (e) => {
if (!e || typeof e != "object") return null;
let t = String(e.filename || "").trim();
if (!t || t.includes("/") || t.includes("\\") || t.includes("\0")) return null;
@@ -3113,41 +3113,41 @@ var Co = () => {
kind: o || void 0,
filepath: o === "workflow" && s ? s : void 0
};
-}, Do = Eo, Oo = (e, t) => {
+}, Ao = ko, jo = (e, t) => {
let n = e?.dataTransfer?.getData?.(t);
if (!n) return null;
try {
- return Eo(JSON.parse(n));
+ return ko(JSON.parse(n));
} catch {
return null;
}
-}, ko = /* @__PURE__ */ new WeakMap(), Ao = !1;
-function jo(e) {
- return e && ko.get(e) || null;
+}, Mo = /* @__PURE__ */ new WeakMap(), No = !1;
+function Po(e) {
+ return e && Mo.get(e) || null;
}
-function Mo(e, t) {
- return e ? typeof t == "function" ? (ko.set(e, t), t) : (ko.delete(e), null) : null;
+function Fo(e, t) {
+ return e ? typeof t == "function" ? (Mo.set(e, t), t) : (Mo.delete(e), null) : null;
}
-function No(e) {
- e && ko.delete(e);
+function Io(e) {
+ e && Mo.delete(e);
}
-function Po() {
- Ao = !0;
+function Lo() {
+ No = !0;
}
-function Fo() {
- return Ao ? (Ao = !1, !0) : !1;
+function Ro() {
+ return No ? (No = !1, !0) : !1;
}
-function Io() {
- Ao = !1;
+function zo() {
+ No = !1;
}
// ui/features/dnd/out/DragOut.ts
-var Lo = (e) => {
+var Bo = (e) => {
try {
return new URL(String(e || ""), window.location.href).href;
} catch {
return String(e || "");
}
-}, Ro = () => _e("mjr_", 24), zo = (e) => {
+}, Vo = () => Qe("mjr_", 24), Ho = (e) => {
let t = e && typeof e == "object" ? e : null;
if (!t) return null;
let n = t.filename || t.name;
@@ -3155,9 +3155,9 @@ var Lo = (e) => {
filename: n,
subfolder: t.subfolder || "",
type: String(t.type || "output").toLowerCase(),
- root_id: be(t) || void 0
+ root_id: Be(t) || void 0
} : null;
-}, Bo = (e, t) => {
+}, Uo = (e, t) => {
let n = [];
if (!e || !t) return n;
let r = t?.dataset?.mjrAssetId ? String(t.dataset.mjrAssetId) : "";
@@ -3207,33 +3207,33 @@ var Lo = (e) => {
t && typeof t == "object" && n.push(t);
}
return n;
-}, Vo = (e) => {
+}, Wo = (e) => {
if (!e || typeof e != "object") return "";
let t = e.filepath || e.path || e?.file_info?.filepath || "";
return t ? String(t) : "";
-}, Ho = ({ dt: e, asset: t, containerEl: n, card: r, viewUrl: i, stripMetadata: a = !1 }) => {
- if (!e || !t) return;
- let o = Bo(n, r);
- if (Array.isArray(o) && o.length > 1) {
- let t = o.map(zo).filter(Boolean);
+}, Go = ({ dt: e, asset: n, containerEl: r, card: i, viewUrl: a, stripMetadata: o = !1 }) => {
+ if (!e || !n) return;
+ let s = Uo(r, i);
+ if (Array.isArray(s) && s.length > 1) {
+ let t = s.map(Ho).filter(Boolean);
if (t.length > 1) {
let n = "";
try {
- n = Ro();
+ n = Vo();
} catch (e) {
console.warn("[DragOut] failed to create secure batch token", e);
}
if (n) {
try {
- me(p.BATCH_ZIP_CREATE, {
+ he(I.BATCH_ZIP_CREATE, {
token: n,
items: t,
- strip_metadata: !!a
+ strip_metadata: !!o
}).catch(() => {});
} catch (e) {
console.debug?.(e);
}
- let r = Lo(I(n)), i = a ? `Majoor_Clean_Batch_${t.length}.zip` : `Majoor_Batch_${t.length}.zip`;
+ let r = Bo(j(n)), i = o ? `Majoor_Clean_Batch_${t.length}.zip` : `Majoor_Batch_${t.length}.zip`;
try {
e.setData("text/uri-list", r), e.setData("DownloadURL", `application/zip:${i}:${r}`), e.effectAllowed = "copyMove";
} catch (e) {
@@ -3243,42 +3243,42 @@ var Lo = (e) => {
}
}
}
- let s = t.filename || t.name;
- if (!s) return;
- let c = a ? Vo(t) : "", l = Lo((c ? se(c) : "") || i), u = Qt(s);
+ let c = n.filename || n.name;
+ if (!c) return;
+ let l = o ? Wo(n) : "", u = Bo((l ? t(l) : "") || a), d = tn(c);
try {
- e.setData("text/uri-list", l), e.setData("DownloadURL", `${u}:${s}:${l}`), e.effectAllowed = "copyMove";
+ e.setData("text/uri-list", u), e.setData("DownloadURL", `${d}:${c}:${u}`), e.effectAllowed = "copyMove";
} catch (e) {
console.debug?.(e);
}
-}, Uo = (e, { asset: t, containerEl: n, card: r }) => {
+}, Ko = (e, { asset: t, containerEl: n, card: r }) => {
if (e && t) try {
let t = e?.dataTransfer?.dropEffect;
- !t || t === "none" || Fo();
+ !t || t === "none" || Ro();
return;
} catch (e) {
console.debug?.(e);
}
-}, Wo = () => {
- let e = $e();
+}, qo = () => {
+ let e = l();
return e && typeof e == "object" ? e : null;
-}, Go = (e) => To(e, {
- buildCustomViewURL: O,
- buildViewURL: fe
-}), Ko = !1, qo = !1, Jo = (e) => {
+}, Jo = (e) => Oo(e, {
+ buildCustomViewURL: Se,
+ buildViewURL: Je
+}), Yo = !1, Xo = !1, Zo = (e) => {
try {
return !!e?.closest?.("input, textarea, select, [contenteditable='true']");
} catch {
return !1;
}
-}, Yo = () => Ko === !0, Xo = () => qo === !0, Zo = (e) => [
+}, Qo = () => Yo === !0, $o = () => Xo === !0, es = (e) => [
String(e?.type || "output"),
String(e?.filename || ""),
String(e?.subfolder || ""),
- String(be(e) || "")
-].join("\n"), Qo = (e, t) => {
+ String(Be(e) || "")
+].join("\n"), ts = (e, t) => {
if (String(e?.type || e?.file_info?.type || "").toLowerCase() === "custom") return null;
- let n = Ge(String(e?.filepath || e?.path || e?.fullpath || e?.full_path || e?.file_info?.filepath || e?.file_info?.path || "")).trim();
+ let n = je(String(e?.filepath || e?.path || e?.fullpath || e?.full_path || e?.file_info?.filepath || e?.file_info?.path || "")).trim();
if (!n || !t) return null;
let r = n.toLowerCase(), i = t.toLowerCase();
for (let e of [
@@ -3306,20 +3306,20 @@ var Lo = (e) => {
};
}
return null;
-}, $o = (e) => {
+}, ns = (e) => {
if (!e || typeof e != "object") return null;
let t = String(e.filename || "").trim();
if (!t) return null;
- let n = Qo(e, t);
+ let n = ts(e, t);
return {
filename: t,
subfolder: n?.subfolder ?? e.subfolder ?? "",
type: n?.type ?? String(e.type || "output").toLowerCase(),
- root_id: be(e) || void 0,
+ root_id: Be(e) || void 0,
kind: String(e.kind || "").toLowerCase(),
filepath: String(e.filepath || e.path || e?.file_info?.filepath || "").trim() || void 0
};
-}, es = (e, t, n) => {
+}, rs = (e, t, n) => {
if (!e || !t || n == null) return !1;
let r = String(n);
try {
@@ -3333,10 +3333,10 @@ var Lo = (e) => {
console.debug?.(e);
}
return !1;
-}, ts = ({ dt: e, asset: t, payload: n, viewUrl: r }) => {
+}, is = ({ dt: e, asset: t, payload: n, viewUrl: r }) => {
if (!e || !t || !n) return;
let i = String(n.kind || "").toLowerCase() === "model3d" ? "3D" : n.kind, a = {
- id: t.id == null ? Zo(n) : String(t.id),
+ id: t.id == null ? es(n) : String(t.id),
name: t.filename || n.filename,
display_name: t.filename || n.filename,
filename: n.filename,
@@ -3352,46 +3352,46 @@ var Lo = (e) => {
},
tags: Array.isArray(t.tags) ? t.tags : []
};
- es(e, An, JSON.stringify(a)), r && es(e, "text/uri-list", r);
-}, ns = (e) => {
+ rs(e, Nn, JSON.stringify(a)), r && rs(e, "text/uri-list", r);
+}, as = (e) => {
let t = e && typeof e == "object" ? e : null;
if (!t) return [];
try {
let e = window?.__MJR_LAST_SELECTION_GRID__, n = typeof e?._mjrGetSelectedAssets == "function" ? e._mjrGetSelectedAssets() : [];
if (Array.isArray(n) && n.length > 1) {
- let e = n.map($o).filter(un), r = Zo(t);
- if (e.some((e) => Zo(e) === r)) return e;
+ let e = n.map(ns).filter(pn), r = es(t);
+ if (e.some((e) => es(e) === r)) return e;
}
} catch (e) {
console.debug?.(e);
}
return [t];
-}, rs = (e, t) => {
+}, os = (e, t) => {
try {
let n = typeof e?._mjrGetSelectedAssets == "function" ? e._mjrGetSelectedAssets() : [];
if (!Array.isArray(n) || n.length <= 1) return [];
- let r = n.map($o).filter(un), i = Zo(t);
- return r.some((e) => Zo(e) === i) ? r : [];
+ let r = n.map(ns).filter(pn), i = es(t);
+ return r.some((e) => es(e) === i) ? r : [];
} catch (e) {
return console.debug?.(e), [];
}
-}, is = (e, t) => {
+}, ss = (e, t) => {
try {
let t = e?.dataTransfer?.getData?.("application/x-mjr-assets") || "";
if (t) {
- let e = JSON.parse(t), n = (Array.isArray(e?.items) ? e.items : Array.isArray(e) ? e : []).map(Do).filter(un);
+ let e = JSON.parse(t), n = (Array.isArray(e?.items) ? e.items : Array.isArray(e) ? e : []).map(Ao).filter(pn);
if (n.length) return n;
}
} catch (e) {
console.debug?.(e);
}
- return ns(t);
-}, as = async (e) => {
+ return as(t);
+}, cs = async (e) => {
let t = Array.isArray(e) ? e.filter(Boolean) : [];
return t.length ? (await Promise.all(t.map(async (e) => {
- let t = (await En({
- post: me,
- endpoint: p.STAGE_TO_INPUT,
+ let t = (await kn({
+ post: he,
+ endpoint: I.STAGE_TO_INPUT,
payload: e,
index: !1
}))?.relativePath;
@@ -3401,43 +3401,43 @@ var Lo = (e) => {
droppedExt: String(e?.filename || "").split(".").pop() || ""
} : null;
}))).filter(Boolean) : [];
-}, os = /* @__PURE__ */ new Map(), ss = 6e4, cs = 20, ls = 5242880, us = 5e3, ds = 2e4, fs = 256, ps = 5e5, ms = /[\u0000-\u001f\u007f]/, hs = /\u0000/, gs = (e) => ms.test(String(e || "")), _s = (e) => hs.test(String(e || "")), vs = (e) => {
+}, ls = /* @__PURE__ */ new Map(), us = 6e4, ds = 20, fs = 5242880, ps = 5e3, ms = 2e4, hs = 256, gs = 5e5, _s = /[\u0000-\u001f\u007f]/, vs = /\u0000/, ys = (e) => _s.test(String(e || "")), bs = (e) => vs.test(String(e || "")), xs = (e) => {
if (!e || typeof e != "object" || Array.isArray(e)) return !1;
let t = Number(e.id);
if (!Number.isFinite(t)) return !1;
let n = e.type == null ? "" : String(e.type);
- if (n && (n.length > fs || gs(n))) return !1;
+ if (n && (n.length > hs || ys(n))) return !1;
let r = e.widgets_values;
if (Array.isArray(r)) {
- for (let e of r) if (typeof e == "string" && (e.length > ps || _s(e))) return !1;
+ for (let e of r) if (typeof e == "string" && (e.length > gs || bs(e))) return !1;
}
return !0;
-}, ys = (e) => {
+}, Ss = (e) => {
if (Array.isArray(e)) return e.length >= 4;
if (e && typeof e == "object") {
let t = Number(e.id);
return !!Number.isFinite(t);
}
return !1;
-}, bs = (e) => {
- if (!e || typeof e != "object" || !Array.isArray(e.nodes) || !Array.isArray(e.links) || e.nodes.length > us || e.links.length > ds || !e.nodes.every(vs) || !e.links.every(ys)) return !1;
+}, Cs = (e) => {
+ if (!e || typeof e != "object" || !Array.isArray(e.nodes) || !Array.isArray(e.links) || e.nodes.length > ps || e.links.length > ms || !e.nodes.every(xs) || !e.links.every(Ss)) return !1;
try {
let t = JSON.stringify(e).length;
- if (!Number.isFinite(t) || t <= 0 || t > ls) return !1;
+ if (!Number.isFinite(t) || t <= 0 || t > fs) return !1;
} catch {
return !1;
}
return !0;
-}, xs = () => {
+}, ws = () => {
let e = Date.now();
- for (let [t, n] of os.entries()) e - (n?.at || 0) > ss && os.delete(t);
- os.size > cs && Array.from(os.entries()).sort((e, t) => (e[1]?.at || 0) - (t[1]?.at || 0)).slice(0, os.size - cs).forEach(([e]) => os.delete(e));
-}, Ss = async (e, t = null) => {
- let n = e && typeof e == "object" ? e : null, r = be(n), i = Wo(), a = n?.filename ? `${n.type || "output"}:${n.filename}:${n.subfolder || ""}:${r}` : t ? `path:${t}` : null;
+ for (let [t, n] of ls.entries()) e - (n?.at || 0) > us && ls.delete(t);
+ ls.size > ds && Array.from(ls.entries()).sort((e, t) => (e[1]?.at || 0) - (t[1]?.at || 0)).slice(0, ls.size - ds).forEach(([e]) => ls.delete(e));
+}, Ts = async (e, t = null) => {
+ let n = e && typeof e == "object" ? e : null, r = Be(n), i = qo(), a = n?.filename ? `${n.type || "output"}:${n.filename}:${n.subfolder || ""}:${r}` : t ? `path:${t}` : null;
if (a) {
- let e = os.get(a);
- if (e && Date.now() - (e.at || 0) < ss) {
- if (e.workflow && bs(e.workflow)) try {
+ let e = ls.get(a);
+ if (e && Date.now() - (e.at || 0) < us) {
+ if (e.workflow && Cs(e.workflow)) try {
if (typeof i?.loadGraphData == "function") return i.loadGraphData(e.workflow), !0;
if (typeof i?.canvas?.graph?.configure == "function") {
i.canvas.graph.configure(e.workflow);
@@ -3458,22 +3458,22 @@ var Lo = (e) => {
try {
let e = null, o = null;
if (String(n?.kind || "").toLowerCase() === "workflow" && n?.filepath) {
- let e = await Le(String(n.filepath), { timeoutMs: 3e4 });
+ let e = await ze(String(n.filepath), { timeoutMs: 3e4 });
o = e?.ok && (e?.data?.workflow || e?.workflow) || null;
} else if (n?.filename) {
- let t = `${p.WORKFLOW_QUICK}?type=${encodeURIComponent(n.type || "output")}&filename=${encodeURIComponent(n.filename)}&subfolder=${encodeURIComponent(n.subfolder || "")}` + (r ? `&root_id=${encodeURIComponent(r)}` : ""), i = await Pe(t);
- i?.ok && i.workflow && (o = i.workflow), o || (e = `${p.METADATA}?workflow_only=1&type=${encodeURIComponent(n.type || "output")}&filename=${encodeURIComponent(n.filename)}&subfolder=${encodeURIComponent(n.subfolder || "")}&root_id=${encodeURIComponent(r)}`);
- } else t && (e = `${p.METADATA}?workflow_only=1&path=${encodeURIComponent(String(t))}`);
+ let t = `${I.WORKFLOW_QUICK}?type=${encodeURIComponent(n.type || "output")}&filename=${encodeURIComponent(n.filename)}&subfolder=${encodeURIComponent(n.subfolder || "")}` + (r ? `&root_id=${encodeURIComponent(r)}` : ""), i = await Ie(t);
+ i?.ok && i.workflow && (o = i.workflow), o || (e = `${I.METADATA}?workflow_only=1&type=${encodeURIComponent(n.type || "output")}&filename=${encodeURIComponent(n.filename)}&subfolder=${encodeURIComponent(n.subfolder || "")}&root_id=${encodeURIComponent(r)}`);
+ } else t && (e = `${I.METADATA}?workflow_only=1&path=${encodeURIComponent(String(t))}`);
if (!o && e) {
- let t = await Pe(e);
+ let t = await Ie(e);
if (!t?.ok || !t.data) return !1;
o = t.data?.workflow;
}
- if (!bs(o)) return !1;
- if (a && (os.set(a, {
+ if (!Cs(o)) return !1;
+ if (a && (ls.set(a, {
workflow: o,
at: Date.now()
- }), xs()), typeof i?.loadGraphData == "function") return i.loadGraphData(o), !0;
+ }), ws()), typeof i?.loadGraphData == "function") return i.loadGraphData(o), !0;
if (typeof i?.canvas?.graph?.configure == "function") {
i.canvas.graph.configure(o);
try {
@@ -3489,7 +3489,7 @@ var Lo = (e) => {
}
return !1;
};
-function Cs(e) {
+function Es(e) {
return (t) => {
let n = t?.dataTransfer;
if (!n) return;
@@ -3497,26 +3497,26 @@ function Cs(e) {
if (!r) return;
let i = r._mjrAsset;
if (!i || typeof i != "object") return;
- let a = String(i?.kind || "").toLowerCase(), o = Qo(i, String(i.filename || "")), s = o?.type ?? String(i?.type || "output").toLowerCase(), c = {
+ let a = String(i?.kind || "").toLowerCase(), o = ts(i, String(i.filename || "")), s = o?.type ?? String(i?.type || "output").toLowerCase(), c = {
filename: i.filename,
subfolder: o?.subfolder ?? i.subfolder ?? "",
type: s,
- root_id: be(i) || void 0,
+ root_id: Be(i) || void 0,
kind: a,
filepath: String(i.filepath || i.path || i?.file_info?.filepath || "").trim() || void 0
};
try {
- let t = Yo();
- es(n, Yt, JSON.stringify(c));
- let o = rs(e, c);
- o.length > 1 && es(n, kn, JSON.stringify({ items: o })), es(n, "text/plain", String(i.filename || ""));
- let s = a === "workflow" ? "" : Go(c);
- ts({
+ let t = Qo();
+ rs(n, Qt, JSON.stringify(c));
+ let o = os(e, c);
+ o.length > 1 && rs(n, Mn, JSON.stringify({ items: o })), rs(n, "text/plain", String(i.filename || ""));
+ let s = a === "workflow" ? "" : Jo(c);
+ is({
dt: n,
asset: i,
payload: c,
viewUrl: s
- }), Ho({
+ }), Go({
dt: n,
asset: i,
containerEl: e,
@@ -3529,7 +3529,7 @@ function Cs(e) {
}
try {
r.addEventListener("dragend", (t) => {
- Uo(t, {
+ Ko(t, {
asset: i,
containerEl: e,
card: r
@@ -3546,30 +3546,30 @@ function Cs(e) {
}
};
}
-var ws = (e) => {
+var Ds = (e) => {
if (!e) return () => {};
- let t = jo(e);
+ let t = Po(e);
if (typeof t == "function") return t;
- let n = Cs(e);
- return e.addEventListener("dragstart", n, !0), Mo(e, () => {
+ let n = Es(e);
+ return e.addEventListener("dragstart", n, !0), Fo(e, () => {
try {
e.removeEventListener("dragstart", n, !0);
} catch (e) {
console.debug?.(e);
}
- No(e);
+ Io(e);
});
-}, Ts = null, Es = 0;
-function Ds() {
+}, Os = null, ks = 0;
+function As() {
let e = (e) => {
- if (Jo(e?.target)) return;
+ if (Zo(e?.target)) return;
let t = String(e?.key || "").toLowerCase();
- t === "s" ? Ko = !0 : t === "l" && (qo = !0);
+ t === "s" ? Yo = !0 : t === "l" && (Xo = !0);
}, t = (e) => {
let t = String(e?.key || "").toLowerCase();
- t === "s" ? Ko = !1 : t === "l" && (qo = !1);
+ t === "s" ? Yo = !1 : t === "l" && (Xo = !1);
}, n = () => {
- Ko = !1, qo = !1;
+ Yo = !1, Xo = !1;
}, r = /* @__PURE__ */ new Set([
"mp3",
"wav",
@@ -3643,20 +3643,20 @@ function Ds() {
t && (i = t.resolvedStart === void 0 ? t.start : t.resolvedStart);
}
e._ghostSegmentId = null, e._ghostTrack = null, e._ghostInitialTimeline = null, e._previewSegments = null, e.render?.();
- let s = String(n || "").toLowerCase(), c = r.has(s), l = await En({
- post: me,
- endpoint: p.STAGE_TO_INPUT,
+ let s = String(n || "").toLowerCase(), c = r.has(s), l = await kn({
+ post: he,
+ endpoint: I.STAGE_TO_INPUT,
payload: t,
index: !1
});
if (!l?.name) {
- F(`Failed to stage: "${t?.filename}"`, "error");
+ x(`Failed to stage: "${t?.filename}"`, "error");
return;
}
- let { name: u, subfolder: d = "" } = l, f = d ? `${d}/${u}` : u, m = `/view?filename=${encodeURIComponent(u)}&type=input&subfolder=${encodeURIComponent(d)}`;
+ let { name: u, subfolder: d = "" } = l, f = d ? `${d}/${u}` : u, p = `/view?filename=${encodeURIComponent(u)}&type=input&subfolder=${encodeURIComponent(d)}`;
if (c) {
try {
- let t = await fetch(m);
+ let t = await fetch(p);
if (!t.ok) throw Error(`HTTP ${t.status}`);
let n = await t.arrayBuffer(), r = await new (window.AudioContext || window.webkitAudioContext)().decodeAudioData(n), a = typeof e.getFrameRate == "function" ? e.getFrameRate() : 25, o = Math.max(1, Math.ceil(r.duration * a)), s = r.getChannelData(0), c = Math.max(1, Math.floor(s.length / 200)), l = [];
for (let e = 0; e < 200; e++) {
@@ -3676,8 +3676,8 @@ function Ds() {
d = Math.max(d, e.start + e.length);
}
}
- let p = Date.now().toString(36) + Math.random().toString(36).slice(2, 7), h = {
- id: p,
+ let m = Date.now().toString(36) + Math.random().toString(36).slice(2, 7), h = {
+ id: m,
type: "audio",
start: d,
length: o,
@@ -3688,72 +3688,72 @@ function Ds() {
waveformPeaks: l
};
if (!e.timeline?.audioSegments) {
- wo("ltxdirector inject: no audioSegments", {});
+ Do("ltxdirector inject: no audioSegments", {});
return;
}
- e.timeline.audioSegments.push(h), e.timeline.audioSegments.sort((e, t) => e.start - t.start), e.selectionType = "audio", e.selectedIndex = e.timeline.audioSegments.findIndex((e) => e.id === p), e.updateUIFromSelection?.(), e.commitChanges?.(!0), e.render?.(), F(`Added audio to LTX Director: ${u}`, "success", 3e3), wo("drop ltxdirector inject audio", {
+ e.timeline.audioSegments.push(h), e.timeline.audioSegments.sort((e, t) => e.start - t.start), e.selectionType = "audio", e.selectedIndex = e.timeline.audioSegments.findIndex((e) => e.id === m), e.updateUIFromSelection?.(), e.commitChanges?.(!0), e.render?.(), x(`Added audio to LTX Director: ${u}`, "success", 3e3), Do("drop ltxdirector inject audio", {
file: u,
start: d
});
} catch (e) {
- console.error("[Majoor] LTX Director audio inject failed", e), F(`Audio decode failed for: ${u}`, "error");
+ console.error("[Majoor] LTX Director audio inject failed", e), x(`Audio decode failed for: ${u}`, "error");
}
return;
}
- let h = typeof e.getFrameRate == "function" ? e.getFrameRate() : 25, g = a(t, s), _ = h, v = i ?? 0;
+ let m = typeof e.getFrameRate == "function" ? e.getFrameRate() : 25, h = a(t, s), g = m, _ = i ?? 0;
if (i === null) {
let t = Array.isArray(e.timeline?.segments) ? [...e.timeline.segments] : [];
t.sort((e, t) => e.start - t.start);
for (let e of t) {
- if (v + _ <= e.start) break;
- v = Math.max(v, e.start + e.length);
+ if (_ + g <= e.start) break;
+ _ = Math.max(_, e.start + e.length);
}
}
- let y = Date.now().toString(36) + Math.random().toString(36).slice(2, 7), b;
- if (g) {
+ let v = Date.now().toString(36) + Math.random().toString(36).slice(2, 7), y;
+ if (h) {
let t = document.createElement("video");
- t.crossOrigin = "Anonymous", t.preload = "auto", t.muted = !0, t.playsInline = !0, t.src = m, b = {
- id: `${y}_v`,
- start: v,
- length: _,
+ t.crossOrigin = "Anonymous", t.preload = "auto", t.muted = !0, t.playsInline = !0, t.src = p, y = {
+ id: `${v}_v`,
+ start: _,
+ length: g,
trimStart: 0,
prompt: "",
type: "video",
- videoDurationFrames: _,
+ videoDurationFrames: g,
imageFile: f,
fileName: u,
videoEl: t
- }, o(e, b, t, h);
- } else b = {
- id: y,
- start: v,
- length: _,
+ }, o(e, y, t, m);
+ } else y = {
+ id: v,
+ start: _,
+ length: g,
prompt: "",
type: "image",
imageFile: f,
- imageB64: m
+ imageB64: p
};
if (!e.timeline?.segments) {
- wo("ltxdirector inject: no timeline", {});
+ Do("ltxdirector inject: no timeline", {});
return;
}
- if (e.timeline.segments.push(b), e.timeline.segments.sort((e, t) => e.start - t.start), g) try {
- e.retakeMode || e.growTimelineIfNeeded?.(b.start + b.length), e._ensureThumbnails?.(b);
+ if (e.timeline.segments.push(y), e.timeline.segments.sort((e, t) => e.start - t.start), h) try {
+ e.retakeMode || e.growTimelineIfNeeded?.(y.start + y.length), e._ensureThumbnails?.(y);
} catch (e) {
console.debug?.(e);
}
else {
let t = new Image();
t.onload = () => {
- b.imgObj = t, e.render?.();
- }, t.src = m;
+ y.imgObj = t, e.render?.();
+ }, t.src = p;
}
- let x = e.timeline.segments.findIndex((e) => e.id === y), S = g ? e.timeline.segments.findIndex((e) => e.id === b.id) : x;
- S >= 0 && (e.selectionType = "image", e.selectedIndex = S, e.updateUIFromSelection?.()), e.commitChanges?.(!0), e.render?.(), F(`Added ${g ? "video" : "image"} to LTX Director: ${u}`, "success", 3e3), wo("drop ltxdirector inject", {
+ let b = e.timeline.segments.findIndex((e) => e.id === v), S = h ? e.timeline.segments.findIndex((e) => e.id === y.id) : b;
+ S >= 0 && (e.selectionType = "image", e.selectedIndex = S, e.updateUIFromSelection?.()), e.commitChanges?.(!0), e.render?.(), x(`Added ${h ? "video" : "image"} to LTX Director: ${u}`, "success", 3e3), Do("drop ltxdirector inject", {
file: u,
- start: v,
+ start: _,
ext: s,
- isVideo: g
+ isVideo: h
});
};
return {
@@ -3761,39 +3761,39 @@ function Ds() {
onKeyUp: t,
onWindowBlur: n,
onDragOver: (e) => {
- let t = Wo();
+ let t = qo();
if (!Array.from(e?.dataTransfer?.types || []).includes("application/x-mjr-asset")) return;
- let n = Oo(e, Yt);
- if (!un(n)) return;
- let r = mn(t, e.clientX, e.clientY), i = r ? Hn(t, r, e.clientX, e.clientY) : null, a = String(n?.filename || "").split(".").pop() || "", o = r && !i ? $t(r, n, a) : null, s = r && !i && !o && !!r._timelineEditor;
- r && (i || o || s) ? (e.preventDefault(), s || (e.stopImmediatePropagation?.(), e.stopPropagation()), pn(t, r, Un), e.dataTransfer.dropEffect = "copy", i ? wo("dragover slot", {
+ let n = jo(e, Qt);
+ if (!pn(n)) return;
+ let r = _n(t, e.clientX, e.clientY), i = r ? Gn(t, r, e.clientX, e.clientY) : null, a = String(n?.filename || "").split(".").pop() || "", o = r && !i ? nn(r, n, a) : null, s = r && !i && !o && !!r._timelineEditor;
+ r && (i || o || s) ? (e.preventDefault(), s || (e.stopImmediatePropagation?.(), e.stopPropagation()), gn(t, r, Kn), e.dataTransfer.dropEffect = "copy", i ? Do("dragover slot", {
node: r?.title,
slot: i.input?.name
- }) : s ? wo("dragover ltxdirector", { node: r?.title }) : wo("dragover widget", {
+ }) : s ? Do("dragover ltxdirector", { node: r?.title }) : Do("dragover widget", {
node: r?.title,
widget: o?.name
- })) : (Zt(t, Un), Sn(t, e) && (e.preventDefault(), e.dataTransfer.dropEffect = "copy"));
+ })) : (en(t, Kn), Tn(t, e) && (e.preventDefault(), e.dataTransfer.dropEffect = "copy"));
},
onDrop: async (e) => {
- let t = Wo();
+ let t = qo();
if (!Array.from(e?.dataTransfer?.types || []).includes("application/x-mjr-asset")) return;
try {
if ((e?.target)?.closest?.(".mjr-folder-card")) return;
} catch {}
- let n = Oo(e, Yt);
- if (!un(n) || !Sn(t, e)) return;
- Po();
- let r = Xo(), i = r ? is(e, n) : [n], a = mn(t, e.clientX, e.clientY), o = a ? Hn(t, a, e.clientX, e.clientY) : null, c = String(n?.filename || "").split(".").pop() || "", l = a && !o ? $t(a, n, c) : null;
+ let n = jo(e, Qt);
+ if (!pn(n) || !Tn(t, e)) return;
+ Lo();
+ let r = $o(), i = r ? ss(e, n) : [n], a = _n(t, e.clientX, e.clientY), o = a ? Gn(t, a, e.clientX, e.clientY) : null, c = String(n?.filename || "").split(".").pop() || "", l = a && !o ? nn(a, n, c) : null;
if (a && o) {
- e.preventDefault(), e.stopImmediatePropagation?.(), e.stopPropagation(), Zt(t, Un);
- let r = await Dn({
- post: me,
- endpoint: p.STAGE_TO_INPUT,
+ e.preventDefault(), e.stopImmediatePropagation?.(), e.stopPropagation(), en(t, Kn);
+ let r = await An({
+ post: he,
+ endpoint: I.STAGE_TO_INPUT,
payload: n,
index: !1
});
if (!r) return;
- if (Vn({
+ if (Wn({
app: t,
payload: n,
relativePath: r,
@@ -3801,58 +3801,58 @@ function Ds() {
inputSlotIndex: o.index,
event: e
})) {
- wo("drop slot created and connected loader", {
+ Do("drop slot created and connected loader", {
node: a?.title,
slot: o.input?.name,
value: r
});
return;
}
- F(`Staged to input: ${r}`, "success", 4e3);
+ x(`Staged to input: ${r}`, "success", 4e3);
return;
}
if (a && !o && !l && a._timelineEditor && !r) {
- e.preventDefault(), e.stopImmediatePropagation?.(), e.stopPropagation(), Zt(t, Un), await s(a._timelineEditor, n, c);
+ e.preventDefault(), e.stopImmediatePropagation?.(), e.stopPropagation(), en(t, Kn), await s(a._timelineEditor, n, c);
return;
}
if (!a || !l) {
- if (Zt(t, Un), e.preventDefault(), e.stopImmediatePropagation?.(), e.stopPropagation(), r) {
- let r = await as(i), a = bn({
+ if (en(t, Kn), e.preventDefault(), e.stopImmediatePropagation?.(), e.stopPropagation(), r) {
+ let r = await cs(i), a = Cn({
app: t,
items: r,
event: e
});
if (a > 0) {
- wo("drop canvas created loaders", { count: a });
+ Do("drop canvas created loaders", { count: a });
return;
}
- F(`Failed to load file: "${n?.filename}". Staging failed.`, "error");
+ x(`Failed to load file: "${n?.filename}". Staging failed.`, "error");
return;
}
if (String(n?.kind || "").toLowerCase() === "workflow") {
- if (await Ss(n)) {
- wo("drop canvas loaded workflow", { file: n?.filename });
+ if (await Ts(n)) {
+ Do("drop canvas loaded workflow", { file: n?.filename });
return;
}
- F(`Failed to load workflow: "${n?.filename}".`, "error");
+ x(`Failed to load workflow: "${n?.filename}".`, "error");
return;
}
- let o = !a && !r, s = En({
- post: me,
- endpoint: p.STAGE_TO_INPUT,
+ let o = !a && !r, s = kn({
+ post: he,
+ endpoint: I.STAGE_TO_INPUT,
payload: n,
index: !1
- }), l = o ? Ss(n) : Promise.resolve(!1), [u, d] = await Promise.all([l, s]);
+ }), l = o ? Ts(n) : Promise.resolve(!1), [u, d] = await Promise.all([l, s]);
if (u) {
- wo("drop canvas loaded workflow", { file: n?.filename });
+ Do("drop canvas loaded workflow", { file: n?.filename });
return;
}
let f = d?.relativePath;
if (!f) {
- wo("drop canvas stage failed"), F(`Failed to load file: "${n?.filename}". Staging failed.`, "error");
+ Do("drop canvas stage failed"), x(`Failed to load file: "${n?.filename}". Staging failed.`, "error");
return;
}
- if (wo("drop canvas staged", { value: f }), bn({
+ if (Do("drop canvas staged", { value: f }), Cn({
app: t,
items: [{
payload: n,
@@ -3861,71 +3861,71 @@ function Ds() {
}],
event: e
})) {
- wo("drop canvas created loader", { value: f });
+ Do("drop canvas created loader", { value: f });
return;
}
- F(`Staged to input: ${f}`, "success", 4e3);
+ x(`Staged to input: ${f}`, "success", 4e3);
return;
}
- e.preventDefault(), e.stopImmediatePropagation?.(), e.stopPropagation(), Zt(t, Un);
- let u = await Dn({
- post: me,
- endpoint: p.STAGE_TO_INPUT,
+ e.preventDefault(), e.stopImmediatePropagation?.(), e.stopPropagation(), en(t, Kn);
+ let u = await An({
+ post: he,
+ endpoint: I.STAGE_TO_INPUT,
payload: n,
index: !1
});
- u && (Wn(l, u), Un(t), wo("drop inject", {
+ u && (qn(l, u), Kn(t), Do("drop inject", {
node: a?.title,
widget: l?.name,
value: u
}));
},
onDragLeave: () => {
- let e = Wo();
- Zt(e, Un), wo("dragleave");
+ let e = qo();
+ en(e, Kn), Do("dragleave");
}
};
}
-function Os() {
+function js() {
if (typeof window > "u" || !window?.addEventListener) return { dispose() {} };
- let { onKeyDown: e, onKeyUp: t, onWindowBlur: n, onDragOver: r, onDrop: i, onDragLeave: a } = Ds();
+ let { onKeyDown: e, onKeyUp: t, onWindowBlur: n, onDragOver: r, onDrop: i, onDragLeave: a } = As();
return window.addEventListener("keydown", e, !0), window.addEventListener("keyup", t, !0), window.addEventListener("blur", n, !0), window.addEventListener("dragover", r, !0), window.addEventListener("drop", i, !0), window.addEventListener("dragleave", a, !0), { dispose: () => {
try {
window.removeEventListener("keydown", e, !0), window.removeEventListener("keyup", t, !0), window.removeEventListener("blur", n, !0), window.removeEventListener("dragover", r, !0), window.removeEventListener("drop", i, !0), window.removeEventListener("dragleave", a, !0);
} catch (e) {
console.debug?.(e);
}
- Ko = !1, qo = !1;
+ Yo = !1, Xo = !1;
try {
- Zt(Wo(), Un);
+ en(qo(), Kn);
} catch (e) {
console.debug?.(e);
}
} };
}
-function ks() {
- Ts || (Ts = Os(), Es = 0), Es += 1;
+function Ms() {
+ Os || (Os = js(), ks = 0), ks += 1;
let e = !1;
return ({ force: t = !1 } = {}) => {
- e || (e = !0, As({ force: t }));
+ e || (e = !0, Ns({ force: t }));
};
}
-function As({ force: e = !1 } = {}) {
- if (!Ts) Es = 0, Io();
- else if (!e && Es > 1) --Es;
+function Ns({ force: e = !1 } = {}) {
+ if (!Os) ks = 0, zo();
+ else if (!e && ks > 1) --ks;
else {
- Es = 0;
+ ks = 0;
try {
- Ts.dispose?.();
+ Os.dispose?.();
} catch (e) {
console.debug?.(e);
}
- Ts = null, Io();
+ Os = null, zo();
}
}
// ui/features/grid/MediaBlobCache.ts
-var js = "__MJR_MEDIA_BLOB_CACHE__", Ms = 384, Ns = 3e5, Ps = 3e4, Fs = 15e3, Is = 6, Ls = 192, Rs = 3;
-function zs() {
+var Ps = "__MJR_MEDIA_BLOB_CACHE__", Fs = 384, Is = 3e5, Ls = 3e4, Rs = 15e3, zs = 6, Bs = 192, Vs = 3;
+function Hs() {
let e = /* @__PURE__ */ new Map(), t = null, n = 0, r = [];
function i() {
try {
@@ -3937,10 +3937,10 @@ function zs() {
return !1;
}
function a() {
- return i() ? Ls : Ms;
+ return i() ? Bs : Fs;
}
function o() {
- return i() ? Rs : Is;
+ return i() ? Vs : zs;
}
async function s(e) {
n >= o() && await new Promise((e) => r.push(e)), n += 1;
@@ -3953,7 +3953,7 @@ function zs() {
}
}
function c() {
- t ||= setInterval(l, Fs);
+ t ||= setInterval(l, Rs);
}
function l() {
try {
@@ -3975,7 +3975,7 @@ function zs() {
for (let [r, i] of e) i.refcount > 0 || i.expiresAt < n && (n = i.expiresAt, t = r);
t && (u(e.get(t)), e.delete(t));
}
- function f(e, t = Ns) {
+ function f(e, t = Is) {
e.expiresAt = Date.now() + t;
}
function p() {
@@ -3999,7 +3999,7 @@ function zs() {
r ? (r.hasError = !0, f(r)) : (e.size >= a() && d(), e.set(n, {
blobUrl: null,
refcount: 0,
- expiresAt: Date.now() + Ps,
+ expiresAt: Date.now() + Ls,
hasError: !0
}), p(), c());
} catch (e) {
@@ -4033,7 +4033,7 @@ function zs() {
return e.size >= a() && d(), e.set(r, {
blobUrl: g,
refcount: 1,
- expiresAt: Date.now() + Ns,
+ expiresAt: Date.now() + Is,
hasError: !1
}), p(), c(), g;
} catch (e) {
@@ -4045,7 +4045,7 @@ function zs() {
let n = m(t);
if (!n) return;
let r = e.get(n);
- r && (r.refcount = Math.max(0, r.refcount - 1), r.refcount <= 0 && f(r, Ps)), l(), p();
+ r && (r.refcount = Math.max(0, r.refcount - 1), r.refcount <= 0 && f(r, Ls)), l(), p();
} catch (e) {
console.debug?.(e);
}
@@ -4072,26 +4072,26 @@ function zs() {
dispose: y
};
}
-function Bs() {
+function Us() {
try {
- if (window[js]) return window[js];
+ if (window[Ps]) return window[Ps];
} catch (e) {
console.debug?.(e);
}
try {
- window[js]?.dispose?.();
+ window[Ps]?.dispose?.();
} catch (e) {
console.debug?.(e);
}
- let e = zs();
+ let e = Hs();
try {
- window[js] = e;
+ window[Ps] = e;
} catch (e) {
console.debug?.(e);
}
return e;
}
-var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
+var Ws = Us(), Gs = ["title"], Ks = /* @__PURE__ */ ir({
__name: "RatingBadge",
props: { rating: {
type: [Number, String],
@@ -4107,15 +4107,15 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
key: 0,
class: "mjr-rating-badge",
title: i.value
- }, [(q(!0), Y(V, null, $n(n.value, (e) => (q(), Y("span", {
+ }, [(q(!0), Y(V, null, nr(n.value, (e) => (q(), Y("span", {
key: e,
- style: fr({
+ style: hr({
color: "var(--mjr-rating-color, var(--mjr-star-active, #FFD45A))",
marginRight: e < n.value ? "2px" : "0"
})
- }, " ★ ", 4))), 128))], 8, Hs)) : W("", !0);
+ }, " ★ ", 4))), 128))], 8, Gs)) : W("", !0);
}
-}), Ws = ["title"], Gs = /* @__PURE__ */ tr({
+}), qs = ["title"], Js = /* @__PURE__ */ ir({
__name: "TagsBadge",
props: { tags: {
type: [Array, String],
@@ -4144,34 +4144,34 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
class: "mjr-tags-badge",
title: i.value,
style: { color: "var(--mjr-tag-color, #90CAF9)" }
- }, J(a.value), 9, Ws)) : W("", !0);
+ }, J(a.value), 9, qs)) : W("", !0);
}
-}), Ks = ["title"], qs = /* @__PURE__ */ tr({
+}), Ys = ["title"], Xs = /* @__PURE__ */ ir({
__name: "GenTimeBadge",
props: { genTimeMs: { default: 0 } },
setup(e) {
- let t = e, n = K(() => In(t.genTimeMs)), r = K(() => n.value > 0), i = K(() => tn(n.value)), a = K(() => on(n.value));
+ let t = e, n = K(() => zn(t.genTimeMs)), r = K(() => n.value > 0), i = K(() => an(n.value)), a = K(() => ln(n.value));
return (e, t) => r.value ? (q(), Y("div", {
key: 0,
class: "mjr-gentime-badge",
title: i.value.title,
- style: fr({ color: a.value })
- }, J(i.value.text), 13, Ks)) : W("", !0);
+ style: hr({ color: a.value })
+ }, J(i.value.text), 13, Ys)) : W("", !0);
}
-}), Js = {
+}), Zs = {
key: 0,
class: "mjr-live-placeholder-wash",
"aria-hidden": "true"
-}, Ys = ["title", "aria-label"], Xs = ["alt", "src"], Zs = { class: "mjr-workflow-thumb-title" }, Qs = { class: "mjr-workflow-thumb-meta" }, $s = { key: 0 }, ec = { key: 1 }, tc = { key: 2 }, nc = {
+}, Qs = ["title", "aria-label"], $s = ["alt", "src"], ec = { class: "mjr-workflow-thumb-title" }, tc = { class: "mjr-workflow-thumb-meta" }, nc = { key: 0 }, rc = { key: 1 }, ic = { key: 2 }, ac = {
key: 3,
class: "mjr-workflow-missing-chip"
-}, rc = ["alt", "src"], ic = {
+}, oc = ["alt", "src"], sc = {
key: 1,
class: "mjr-media-error-placeholder"
-}, ac = ["data-src", "poster"], oc = ["src"], sc = { class: "mjr-audio-thumb-head" }, cc = { class: "mjr-audio-thumb-kind" }, lc = {
+}, cc = ["data-src", "poster"], lc = ["src"], uc = { class: "mjr-audio-thumb-head" }, dc = { class: "mjr-audio-thumb-kind" }, fc = {
class: "mjr-audio-thumb-waveform",
"aria-hidden": "true"
-}, uc = { class: "mjr-audio-thumb-meta" }, dc = { class: "mjr-audio-thumb-title" }, fc = { class: "mjr-audio-thumb-subtitle" }, pc = ["src", "alt"], mc = {
+}, pc = { class: "mjr-audio-thumb-meta" }, mc = { class: "mjr-audio-thumb-title" }, hc = { class: "mjr-audio-thumb-subtitle" }, gc = ["src", "alt"], _c = {
key: 1,
class: "mjr-model3d-thumb-icon",
style: {
@@ -4182,23 +4182,23 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
"justify-content": "center",
color: "rgba(255,255,255,0.7)"
}
-}, hc = [
+}, vc = [
"data-mjr-ext",
"data-mjr-badge-bg",
"title"
-], gc = ["title"], _c = {
+], yc = ["title"], bc = {
key: 7,
class: "mjr-card-hover-info"
-}, vc = {
+}, xc = {
key: 0,
class: "mjr-hover-prompt"
-}, yc = {
+}, Sc = {
key: 1,
class: "mjr-hover-prompt mjr-hover-workflow-notes"
-}, bc = {
+}, Cc = {
key: 2,
class: "mjr-hover-gentime"
-}, xc = ["data-mjr-kind"], Sc = ["title"], Cc = {
+}, wc = ["data-mjr-kind"], Tc = ["title"], Ec = {
class: "mjr-card-meta-row",
style: {
"font-size": "0.85em",
@@ -4209,7 +4209,7 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
"text-overflow": "ellipsis",
"padding-right": "16px"
}
-}, wc = ["title"], Tc = ["title"], Ec = ["title"], Dc = {
+}, Dc = ["title"], Oc = ["title"], kc = ["title"], Ac = {
key: 0,
class: "mjr-meta-separator",
"aria-hidden": "true",
@@ -4217,7 +4217,7 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
opacity: "0.55",
margin: "0 3px"
}
-}, Oc = ["title"], kc = { class: "mjr-stack-group-button-count" }, Ac = { class: "mjr-dup-stack-count" }, jc = /* @__PURE__ */ tr({
+}, jc = ["title"], Mc = { class: "mjr-stack-group-button-count" }, Nc = { class: "mjr-dup-stack-count" }, Pc = /* @__PURE__ */ ir({
__name: "AssetCardInner",
props: { asset: {} },
emits: ["workflow-action"],
@@ -4242,7 +4242,7 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
async function i(e, t = {}) {
if (!e) return null;
try {
- return Vs.hasError(e) ? null : await Vs.acquireUrl(e, t) || null;
+ return Ws.hasError(e) ? null : await Ws.acquireUrl(e, t) || null;
} catch {
return null;
}
@@ -4255,13 +4255,13 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
let t = String(e.dataset?.src || "").trim();
if (!t || e.getAttribute("src")) return;
let n = (Number(e._mjrVideoLoadRequestId || 0) || 0) + 1;
- if (e._mjrVideoLoadRequestId = n, Vs.hasError(t)) {
+ if (e._mjrVideoLoadRequestId = n, Ws.hasError(t)) {
e.src = t, e._mjrSourceKey = t;
return;
}
- let r = await Vs.acquireUrl(t);
+ let r = await Ws.acquireUrl(t);
if (e._mjrVideoLoadRequestId !== n || !e.isConnected) {
- r && Vs.releaseUrl(t);
+ r && Ws.releaseUrl(t);
return;
}
r ? (e.src = r, e._mjrCachedSrc = t, e._mjrSourceKey = t) : (e.src = t, e._mjrSourceKey = t), e.load?.();
@@ -4282,7 +4282,7 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
}
try {
let t = String(e._mjrCachedSrc || "").trim();
- t && Vs.releaseUrl(t), e._mjrCachedSrc = "", e._mjrSourceKey = "";
+ t && Ws.releaseUrl(t), e._mjrCachedSrc = "", e._mjrSourceKey = "";
} catch (e) {
console.debug?.(e);
}
@@ -4353,26 +4353,26 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
function f(e) {
e && (u(e), s(e));
}
- let p = e, m = t, h = K(() => String(p.asset.kind || "image").toLowerCase()), g = K(() => h.value === "workflow"), _ = K(() => h.value === "image"), v = K(() => h.value === "video"), y = K(() => h.value === "audio"), b = K(() => h.value === "model3d"), x = K(() => ae(p.asset) || ""), S = K(() => String(p.asset.thumbnail_url || p.asset.graph_map_thumbnail_url || p.asset.thumb_url || p.asset.poster || "").trim()), C = K(() => !!String(p.asset.thumbnail_url || p.asset.thumb_url || p.asset.poster || "").trim()), w = K(() => g.value && !C.value && !!String(p.asset.graph_map_thumbnail_url || "").trim()), T = K(() => String(p.asset.preview_url || p.asset.previewUrl || p.asset.url || "").trim()), E = K(() => x.value), D = K(() => T.value || x.value), O = K(() => !v.value && !g.value ? "" : Te(p.asset, 384)), k = K(() => S.value || O.value), A = K(() => String(p.asset.filename || "")), ee = K(() => String(p.asset.display_name || p.asset.displayName || p.asset.name || A.value || "").trim()), j = K(() => {
+ let p = e, m = t, h = K(() => String(p.asset.kind || "image").toLowerCase()), g = K(() => h.value === "workflow"), _ = K(() => h.value === "image"), v = K(() => h.value === "video"), y = K(() => h.value === "audio"), b = K(() => h.value === "model3d"), x = K(() => le(p.asset) || ""), S = K(() => String(p.asset.thumbnail_url || p.asset.graph_map_thumbnail_url || p.asset.thumb_url || p.asset.poster || "").trim()), C = K(() => !!String(p.asset.thumbnail_url || p.asset.thumb_url || p.asset.poster || "").trim()), w = K(() => g.value && !C.value && !!String(p.asset.graph_map_thumbnail_url || "").trim()), T = K(() => String(p.asset.preview_url || p.asset.previewUrl || p.asset.url || "").trim()), E = K(() => x.value), D = K(() => T.value || x.value), O = K(() => !v.value && !g.value ? "" : Le(p.asset, 384)), k = K(() => S.value || O.value), A = K(() => String(p.asset.filename || "")), j = K(() => String(p.asset.display_name || p.asset.displayName || p.asset.name || A.value || "").trim()), M = K(() => {
let e = A.value;
return e.includes(".") ? e.split(".").pop().toUpperCase() : "";
- }), M = K(() => {
- let e = ee.value || A.value;
+ }), N = K(() => {
+ let e = j.value || A.value;
return e.includes(".") ? e.slice(0, e.lastIndexOf(".")) : e;
- }), N = K(() => String(p.asset.notes || "").trim()), te = K(() => r(`${p.asset.id || ""}:${A.value}:${p.asset.duration || ""}`)), ne = K(() => M.value || A.value || "Audio"), P = K(() => [me.value, j.value].filter(Boolean).join(" / ") || "Audio"), re = K(() => {
- let e = [A.value || ee.value], t = String(p.asset.subfolder || p.asset.file_info?.subfolder || "").trim(), n = String(p.asset.type || p.asset.source || p.asset.file_info?.type || "").trim();
- return t && e.push(`Subfolder: ${t}`), n && e.push(`Type: ${n}`), N.value && e.push(`Notes: ${N.value}`), e.filter(Boolean).join("\n");
- }), F = K(() => Number(p.asset.rating) || 0), I = K(() => p.asset.tags || []), ie = K(() => {
+ }), ee = K(() => String(p.asset.notes || "").trim()), te = K(() => r(`${p.asset.id || ""}:${A.value}:${p.asset.duration || ""}`)), P = K(() => N.value || A.value || "Audio"), ne = K(() => [me.value, M.value].filter(Boolean).join(" / ") || "Audio"), re = K(() => {
+ let e = [A.value || j.value], t = String(p.asset.subfolder || p.asset.file_info?.subfolder || "").trim(), n = String(p.asset.type || p.asset.source || p.asset.file_info?.type || "").trim();
+ return t && e.push(`Subfolder: ${t}`), n && e.push(`Type: ${n}`), ee.value && e.push(`Notes: ${ee.value}`), e.filter(Boolean).join("\n");
+ }), ie = K(() => Number(p.asset.rating) || 0), F = K(() => p.asset.tags || []), I = K(() => {
let e = p.asset.generation_time_ms ?? p.asset.metadata?.generation_time_ms ?? 0;
- return In(e);
- }), oe = K(() => ie.value > 0), se = K(() => tn(ie.value)), ce = K(() => on(ie.value)), le = K(() => String(p.asset.positive_prompt || "").trim()), ue = K(() => p.asset?._mjrLivePlaceholder === !0 || p.asset?.is_live_placeholder === !0 || String(p.asset?.id || "").trim().toLowerCase().startsWith("live:")), de = K(() => String(p.asset?._mjrLiveLabel || "In progress").trim() || "In progress"), fe = K(() => `${de.value}: waiting for indexed asset data`), pe = K(() => {
+ return zn(e);
+ }), ae = K(() => I.value > 0), oe = K(() => an(I.value)), se = K(() => ln(I.value)), ce = K(() => String(p.asset.positive_prompt || "").trim()), ue = K(() => p.asset?._mjrLivePlaceholder === !0 || p.asset?.is_live_placeholder === !0 || String(p.asset?.id || "").trim().toLowerCase().startsWith("live:")), de = K(() => String(p.asset?._mjrLiveLabel || "In progress").trim() || "In progress"), fe = K(() => `${de.value}: waiting for indexed asset data`), pe = K(() => {
let { width: e, height: t } = p.asset;
return e && t ? `${e}x${t}` : "";
- }), me = K(() => p.asset.duration ? jn(p.asset.duration) : ""), he = K(() => String(p.asset.task || p.asset.workflow_task || "").trim()), ge = K(() => String(p.asset.model_family || p.asset.modelFamily || "").trim()), _e = K(() => String(p.asset.runs_on || p.asset.runsOn || "").trim()), ve = K(() => Number(p.asset.node_count || p.asset.nodeCount || 0) || 0), ye = K(() => !!p.asset.favorite), be = K(() => Number(p.asset.subgraph_count || p.asset.subgraphCount || 0) || 0), xe = K(() => Number(p.asset.missing_nodes_count || p.asset.missingNodesCount || 0) || 0), Se = K(() => Number(p.asset.missing_models_count || p.asset.missingModelsCount || 0) || 0), Ce = K(() => xe.value > 0 || Se.value > 0), we = K(() => {
+ }), me = K(() => p.asset.duration ? Pn(p.asset.duration) : ""), he = K(() => String(p.asset.task || p.asset.workflow_task || "").trim()), ge = K(() => String(p.asset.model_family || p.asset.modelFamily || "").trim()), _e = K(() => String(p.asset.runs_on || p.asset.runsOn || "").trim()), ve = K(() => Number(p.asset.node_count || p.asset.nodeCount || 0) || 0), ye = K(() => !!p.asset.favorite), be = K(() => Number(p.asset.subgraph_count || p.asset.subgraphCount || 0) || 0), xe = K(() => Number(p.asset.missing_nodes_count || p.asset.missingNodesCount || 0) || 0), Se = K(() => Number(p.asset.missing_models_count || p.asset.missingModelsCount || 0) || 0), Ce = K(() => xe.value > 0 || Se.value > 0), we = K(() => {
if (!Ce.value) return "";
let e = [];
return xe.value > 0 && e.push(`${xe.value} node`), Se.value > 0 && e.push(`${Se.value} model`), `Missing: ${e.join(" / ")}`;
- }), L = K(() => p.asset.generation_time || p.asset.file_creation_time || p.asset.mtime || p.asset.created_at), Ee = K(() => L.value ? Cn(L.value) : ""), De = K(() => L.value ? Bn(L.value) : ""), Oe = K(() => [
+ }), Te = K(() => p.asset.generation_time || p.asset.file_creation_time || p.asset.mtime || p.asset.created_at), Ee = K(() => Te.value ? En(Te.value) : ""), De = K(() => Te.value ? Un(Te.value) : ""), Oe = K(() => [
pe.value ? {
key: "resolution",
className: "mjr-meta-res",
@@ -4397,13 +4397,13 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
title: `Time: ${De.value}`,
text: De.value
} : null,
- oe.value ? {
+ ae.value ? {
key: "gentime",
className: "mjr-meta-gentime",
- title: se.value.title,
- text: se.value.text,
+ title: oe.value.title,
+ text: oe.value.text,
style: {
- color: ce.value,
+ color: se.value,
fontWeight: "500"
}
} : null
@@ -4412,16 +4412,16 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
video: "var(--mjr-badge-video, #F44336)",
audio: "var(--mjr-badge-audio, #4CAF50)",
model3d: "var(--mjr-badge-model3d, #9C27B0)"
- }[h.value] || "var(--mjr-badge-image, #888)"), je = nr("mjrStackService", null), Me = K(() => !je || !String(p.asset.stack_id || "").trim() ? !1 : Number(p.asset.stack_asset_count || p.asset._mjrFeedGroupCount || 0) > 1), Ne = K(() => Number(p.asset.stack_asset_count || p.asset._mjrFeedGroupCount || 0) || 0), Pe = K(() => !!p.asset._mjrDupStack && Number(p.asset._mjrDupCount || 0) >= 2), Fe = K(() => Number(p.asset._mjrDupCount || 0) || 0), Ie = K(() => Pe.value && !Me.value), Le = Q(!1), Re = Q(!1);
+ }[h.value] || "var(--mjr-badge-image, #888)"), je = ar("mjrStackService", null), Me = K(() => !je || !String(p.asset.stack_id || "").trim() ? !1 : Number(p.asset.stack_asset_count || p.asset._mjrFeedGroupCount || 0) > 1), Ne = K(() => Number(p.asset.stack_asset_count || p.asset._mjrFeedGroupCount || 0) || 0), Pe = K(() => !!p.asset._mjrDupStack && Number(p.asset._mjrDupCount || 0) >= 2), Fe = K(() => Number(p.asset._mjrDupCount || 0) || 0), Ie = K(() => Pe.value && !Me.value), L = Q(!1), Re = Q(!1);
async function ze(e) {
- if (e.preventDefault(), e.stopPropagation(), !Le.value) {
- Le.value = !0;
+ if (e.preventDefault(), e.stopPropagation(), !L.value) {
+ L.value = !0;
try {
await je?.openStackGroup?.(p.asset);
} catch (e) {
console.debug?.(e);
} finally {
- Le.value = !1;
+ L.value = !1;
}
}
}
@@ -4440,19 +4440,19 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
let Ve = Q(null), He = Q(null), Ue = Q(null), We = Q(null), Ge = Q(!1), Ke = Q(!1), qe = Q(""), Je = 0, Ye = "", Xe = "", Ze = "";
function Qe() {
try {
- Ye && Vs.releaseUrl(Ye);
+ Ye && Ws.releaseUrl(Ye);
} catch (e) {
console.debug?.(e);
}
Ye = "";
}
- or(() => g.value ? S.value : _.value ? E.value : "", (e) => {
+ lr(() => g.value ? S.value : _.value ? E.value : "", (e) => {
let t = String(e || "").trim();
t && t !== Xe && (Ge.value = !1, Xe = "");
- }, { immediate: !0 }), or(() => b.value ? k.value : "", (e) => {
+ }, { immediate: !0 }), lr(() => b.value ? k.value : "", (e) => {
let t = String(e || "").trim();
t && t !== Ze && (Ke.value = !1, Ze = "");
- }, { immediate: !0 }), or(() => [_.value ? Ue.value : null, _.value ? E.value : ""], async ([e, t], n, r) => {
+ }, { immediate: !0 }), lr(() => [_.value ? Ue.value : null, _.value ? E.value : ""], async ([e, t], n, r) => {
if (!e || !t || Ge.value) return;
let o = Je += 1, s = new AbortController(), c = !1;
r(() => {
@@ -4463,12 +4463,12 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
if (qe.value && n === t || (e.dataset.mjrSourceKey = t, await a(), c || o !== Je || !e.isConnected)) return;
let r = await i(t, { signal: s.signal });
if (c || o !== Je || !e.isConnected) {
- r && r !== t && Vs.releaseUrl(t);
+ r && r !== t && Ws.releaseUrl(t);
return;
}
if (r && r !== qe.value) {
let e = Ye;
- qe.value = r, Ye = r === t ? "" : t, e && e !== Ye && Vs.releaseUrl(e);
+ qe.value = r, Ye = r === t ? "" : t, e && e !== Ye && Ws.releaseUrl(e);
} else !r && Ye && Ye !== t && (Qe(), qe.value = "");
} catch {}
}, { immediate: !0 });
@@ -4476,38 +4476,38 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
function $e() {
z.value = R.GRID_VIDEO_AUTOPLAY_MODE || "hover";
}
- Zn(() => {
+ er(() => {
window.addEventListener("mjr-settings-changed", $e);
- }), or(He, (e, t) => {
+ }), lr(He, (e, t) => {
if (t) try {
f(t);
} catch {}
if (e && Ve.value) try {
d(Ve.value, e, z.value);
} catch {}
- }), or(z, (e) => {
+ }), lr(z, (e) => {
let t = He.value, n = Ve.value;
t && n && d(n, t, e);
- }), or(D, (e, t) => {
+ }), lr(D, (e, t) => {
if (e === t) return;
let n = He.value, r = Ve.value;
n && r && (f(n), d(r, n, z.value));
- }, { flush: "post" }), ar(() => {
+ }, { flush: "post" }), cr(() => {
window.removeEventListener("mjr-settings-changed", $e), Je += 1, Qe();
let e = He.value;
if (e) try {
f(e);
} catch {}
- }), ir(() => {
- window.removeEventListener("mjr-settings-changed", $e);
}), sr(() => {
+ window.removeEventListener("mjr-settings-changed", $e);
+ }), ur(() => {
let e = We.value;
if (!e) return;
let t = p.asset;
t?.has_workflow ?? t?.hasWorkflow, t?.has_generation_data ?? t?.hasGenerationData, t?.has_ai_info ?? t?.hasAiInfo ?? t?.ai_indexed, t?.has_ai_auto_tags ?? t?.hasAiAutoTags ?? t?.auto_tags ?? t?.autoTags, t?.has_ai_enhanced_caption ?? t?.hasAiEnhancedCaption ?? t?.enhanced_caption ?? t?.enhancedCaption, t?.has_ai_vector ?? t?.hasAiVector ?? t?.vector_indexed ?? t?.vectorIndexed;
try {
e.textContent = "";
- let n = _n(t);
+ let n = bn(t);
n && e.appendChild(n);
} catch {}
});
@@ -4515,7 +4515,7 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
Ge.value = !0;
try {
let e = g.value ? S.value : E.value;
- Xe = String(e || "").trim(), Vs.markError(e);
+ Xe = String(e || "").trim(), Ws.markError(e);
} catch {}
}
function tt() {
@@ -4548,26 +4548,26 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
});
}
return (t, n) => {
- let r = Qn("MButton");
+ let r = tr("MButton");
return q(), Y(V, null, [
H("div", {
class: X(["mjr-thumb", { "mjr-thumb-workflow": g.value }]),
ref_key: "thumbRef",
ref: Ve
}, [
- ue.value ? (q(), Y("div", Js)) : W("", !0),
+ ue.value ? (q(), Y("div", Zs)) : W("", !0),
g.value ? (q(), Y(V, { key: 1 }, [
H("div", {
class: "mjr-workflow-card-actions",
- onClick: n[1] ||= rr(() => {}, ["stop"]),
- onDblclick: n[2] ||= rr(() => {}, ["stop"])
+ onClick: n[1] ||= or(() => {}, ["stop"]),
+ onDblclick: n[2] ||= or(() => {}, ["stop"])
}, [H("button", {
type: "button",
class: X(["mjr-workflow-action-btn", { "is-active": ye.value }]),
title: ye.value ? "Remove favorite" : "Add favorite",
"aria-label": ye.value ? "Remove favorite" : "Add favorite",
onClick: n[0] ||= (e) => rt("favorite", e)
- }, [H("i", { class: X(ye.value ? "pi pi-star-fill" : "pi pi-star") }, null, 2)], 10, Ys)], 32),
+ }, [H("i", { class: X(ye.value ? "pi pi-star-fill" : "pi pi-star") }, null, 2)], 10, Qs)], 32),
k.value && !Ge.value ? (q(), Y("img", {
key: 0,
class: X(["mjr-thumb-media", { "mjr-workflow-graph-map-preview": w.value }]),
@@ -4576,18 +4576,18 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
loading: "lazy",
src: k.value,
onError: et
- }, null, 42, Xs)) : W("", !0),
+ }, null, 42, $s)) : W("", !0),
H("div", { class: X(["mjr-workflow-thumb", {
"has-thumbnail": k.value && !Ge.value,
"has-graph-map": w.value && !Ge.value
}]) }, [
n[15] ||= H("i", { class: "pi pi-sitemap" }, null, -1),
- H("div", Zs, J(he.value || "Workflow"), 1),
- H("div", Qs, [
- ge.value ? (q(), Y("span", $s, J(ge.value), 1)) : W("", !0),
- _e.value ? (q(), Y("span", ec, J(_e.value), 1)) : W("", !0),
- ve.value ? (q(), Y("span", tc, J(ve.value) + " nodes", 1)) : W("", !0),
- Ce.value ? (q(), Y("span", nc, J(we.value), 1)) : W("", !0)
+ H("div", ec, J(he.value || "Workflow"), 1),
+ H("div", tc, [
+ ge.value ? (q(), Y("span", nc, J(ge.value), 1)) : W("", !0),
+ _e.value ? (q(), Y("span", rc, J(_e.value), 1)) : W("", !0),
+ ve.value ? (q(), Y("span", ic, J(ve.value) + " nodes", 1)) : W("", !0),
+ Ce.value ? (q(), Y("span", ac, J(we.value), 1)) : W("", !0)
])
], 2)
], 64)) : _.value ? (q(), Y(V, { key: 2 }, [Ge.value ? W("", !0) : (q(), Y("img", {
@@ -4600,7 +4600,7 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
loading: "lazy",
src: qe.value || E.value || void 0,
onError: et
- }, null, 40, rc)), Ge.value ? (q(), Y("div", ic, [...n[16] ||= [H("i", { class: "pi pi-image" }, null, -1)]])) : W("", !0)], 64)) : v.value ? (q(), Y(V, { key: 3 }, [H("video", {
+ }, null, 40, oc)), Ge.value ? (q(), Y("div", sc, [...n[16] ||= [H("i", { class: "pi pi-image" }, null, -1)]])) : W("", !0)], 64)) : v.value ? (q(), Y(V, { key: 3 }, [H("video", {
ref_key: "videoRef",
ref: He,
class: "mjr-thumb-media",
@@ -4614,22 +4614,22 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
draggable: !1,
tabindex: -1,
style: { "pointer-events": "none" }
- }, null, 8, ac), n[17] ||= H("div", { class: "mjr-thumb-play" }, [H("i", { class: "pi pi-play" })], -1)], 64)) : y.value ? (q(), Y(V, { key: 4 }, [k.value ? (q(), Y("img", {
+ }, null, 8, cc), n[17] ||= H("div", { class: "mjr-thumb-play" }, [H("i", { class: "pi pi-play" })], -1)], 64)) : y.value ? (q(), Y(V, { key: 4 }, [k.value ? (q(), Y("img", {
key: 0,
class: "mjr-thumb-media",
src: k.value,
draggable: !1,
alt: ""
- }, null, 8, oc)) : W("", !0), H("div", { class: X(["mjr-audio-thumb", { "has-poster": k.value }]) }, [
- H("div", sc, [n[18] ||= H("span", { class: "mjr-audio-thumb-icon" }, [H("i", { class: "pi pi-volume-up" })], -1), H("span", cc, J(j.value || "AUDIO"), 1)]),
- H("div", lc, [(q(!0), Y(V, null, $n(te.value, (e, t) => (q(), Y("span", {
+ }, null, 8, lc)) : W("", !0), H("div", { class: X(["mjr-audio-thumb", { "has-poster": k.value }]) }, [
+ H("div", uc, [n[18] ||= H("span", { class: "mjr-audio-thumb-icon" }, [H("i", { class: "pi pi-volume-up" })], -1), H("span", dc, J(M.value || "AUDIO"), 1)]),
+ H("div", fc, [(q(!0), Y(V, null, nr(te.value, (e, t) => (q(), Y("span", {
key: t,
- style: fr({
+ style: hr({
height: `${e.height}%`,
opacity: e.opacity
})
}, null, 4))), 128))]),
- H("div", uc, [H("span", dc, J(ne.value), 1), H("span", fc, J(P.value), 1)])
+ H("div", pc, [H("span", mc, J(P.value), 1), H("span", hc, J(ne.value), 1)])
], 2)], 64)) : b.value ? (q(), Y(V, { key: 5 }, [k.value && !Ke.value ? (q(), Y("img", {
key: 0,
class: "mjr-thumb-media",
@@ -4637,15 +4637,15 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
draggable: !1,
alt: A.value,
onError: tt
- }, null, 40, pc)) : (q(), Y("div", mc, [...n[19] ||= [H("i", {
+ }, null, 40, gc)) : (q(), Y("div", _c, [...n[19] ||= [H("i", {
class: "pi pi-box",
style: { "font-size": "2.5rem" }
}, null, -1)]]))], 64)) : W("", !0),
H("div", {
class: "mjr-file-badge mjr-badge-ext",
- "data-mjr-ext": j.value,
+ "data-mjr-ext": M.value,
"data-mjr-badge-bg": Ae.value,
- style: fr({
+ style: hr({
position: "absolute",
top: "6px",
left: "6px",
@@ -4659,18 +4659,18 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
pointerEvents: ke.value ? "auto" : "none",
cursor: ke.value ? "pointer" : "default"
}),
- title: ke.value ? `${j.value} - duplicate filename (${e.asset._mjrNameCollisionCount || 2} files)` : `${j.value} file`,
+ title: ke.value ? `${M.value} - duplicate filename (${e.asset._mjrNameCollisionCount || 2} files)` : `${M.value} file`,
onClick: nt
- }, J(j.value) + J(ke.value ? "+" : ""), 13, hc),
- U(Us, {
- rating: F.value,
+ }, J(M.value) + J(ke.value ? "+" : ""), 13, vc),
+ U(Ks, {
+ rating: ie.value,
class: "mjr-badge-rating"
}, null, 8, ["rating"]),
- U(Gs, {
- tags: I.value,
+ U(Js, {
+ tags: F.value,
class: "mjr-badge-tags"
}, null, 8, ["tags"]),
- U(qs, { "gen-time-ms": ie.value }, null, 8, ["gen-time-ms"]),
+ U(Xs, { "gen-time-ms": I.value }, null, 8, ["gen-time-ms"]),
ue.value ? (q(), Y("div", {
key: 6,
class: "mjr-live-pill",
@@ -4678,11 +4678,11 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
}, [n[20] ||= H("span", {
class: "mjr-live-pill-dot",
"aria-hidden": "true"
- }, null, -1), H("span", null, J(de.value), 1)], 8, gc)) : W("", !0),
- le.value || g.value && N.value || oe.value ? (q(), Y("div", _c, [
- le.value ? (q(), Y("div", vc, J(le.value), 1)) : W("", !0),
- g.value && N.value ? (q(), Y("div", yc, J(N.value), 1)) : W("", !0),
- oe.value ? (q(), Y("div", bc, "Time " + J(se.value.text), 1)) : W("", !0)
+ }, null, -1), H("span", null, J(de.value), 1)], 8, yc)) : W("", !0),
+ ce.value || g.value && ee.value || ae.value ? (q(), Y("div", bc, [
+ ce.value ? (q(), Y("div", xc, J(ce.value), 1)) : W("", !0),
+ g.value && ee.value ? (q(), Y("div", Sc, J(ee.value), 1)) : W("", !0),
+ ae.value ? (q(), Y("div", Cc, "Time " + J(oe.value.text), 1)) : W("", !0)
])) : W("", !0)
], 2),
H("div", {
@@ -4704,28 +4704,28 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
"margin-bottom": "4px",
"padding-right": "12px"
}
- }, J(M.value), 9, Sc),
- H("div", Cc, [g.value ? (q(), Y(V, { key: 0 }, [
+ }, J(N.value), 9, Tc),
+ H("div", Ec, [g.value ? (q(), Y(V, { key: 0 }, [
he.value ? (q(), Y("span", {
key: 0,
class: "mjr-meta-workflow-task",
title: `Task: ${he.value}`
- }, J(he.value), 9, wc)) : W("", !0),
+ }, J(he.value), 9, Dc)) : W("", !0),
be.value ? (q(), Y("span", {
key: 1,
class: "mjr-meta-workflow-subgraphs",
title: `${be.value} subgraph${be.value > 1 ? "s" : ""}`
- }, J(be.value) + " sub", 9, Tc)) : W("", !0),
+ }, J(be.value) + " sub", 9, Oc)) : W("", !0),
Ce.value ? (q(), Y("span", {
key: 2,
class: "mjr-meta-workflow-missing",
title: we.value
- }, J(we.value), 9, Ec)) : W("", !0)
- ], 64)) : W("", !0), (q(!0), Y(V, null, $n(Oe.value, (e, t) => (q(), Y(V, { key: e.key }, [t > 0 ? (q(), Y("span", Dc, "/")) : W("", !0), H("span", {
+ }, J(we.value), 9, kc)) : W("", !0)
+ ], 64)) : W("", !0), (q(!0), Y(V, null, nr(Oe.value, (e, t) => (q(), Y(V, { key: e.key }, [t > 0 ? (q(), Y("span", Ac, "/")) : W("", !0), H("span", {
class: X(e.className),
- style: fr(e.style || null),
+ style: hr(e.style || null),
title: e.title
- }, J(e.text), 15, Oc)], 64))), 128))]),
+ }, J(e.text), 15, jc)], 64))), 128))]),
H("div", {
ref_key: "dotWrapperRef",
ref: We,
@@ -4737,27 +4737,27 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
"z-index": "2"
}
}, null, 512)
- ], 8, xc),
- Me.value ? (q(), Jn(r, {
+ ], 8, wc),
+ Me.value ? (q(), Zn(r, {
key: 0,
type: "button",
class: "mjr-stack-group-button",
severity: "secondary",
text: "",
rounded: "",
- disabled: Le.value,
- "aria-busy": Le.value ? "true" : "false",
+ disabled: L.value,
+ "aria-busy": L.value ? "true" : "false",
"aria-label": `Open generation group in grid (${Ne.value} assets)`,
title: `Open generation group in grid (${Ne.value} assets)`,
onClick: ze,
- onPointerdown: n[3] ||= rr(() => {}, ["stop"]),
- onMousedown: n[4] ||= rr(() => {}, ["stop", "prevent"]),
- onTouchstartPassive: n[5] ||= rr(() => {}, ["stop"]),
- onDblclick: n[6] ||= rr(() => {}, ["stop"]),
- onKeydown: n[7] ||= rr(() => {}, ["stop"]),
- onDragstart: n[8] ||= rr(() => {}, ["stop", "prevent"])
+ onPointerdown: n[3] ||= or(() => {}, ["stop"]),
+ onMousedown: n[4] ||= or(() => {}, ["stop", "prevent"]),
+ onTouchstartPassive: n[5] ||= or(() => {}, ["stop"]),
+ onDblclick: n[6] ||= or(() => {}, ["stop"]),
+ onKeydown: n[7] ||= or(() => {}, ["stop"]),
+ onDragstart: n[8] ||= or(() => {}, ["stop", "prevent"])
}, {
- default: G(() => [n[21] ||= H("span", { class: "pi pi-clone" }, null, -1), H("span", kc, J(Ne.value), 1)]),
+ default: G(() => [n[21] ||= H("span", { class: "pi pi-clone" }, null, -1), H("span", Mc, J(Ne.value), 1)]),
_: 1
}, 8, [
"disabled",
@@ -4765,7 +4765,7 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
"aria-label",
"title"
])) : W("", !0),
- Ie.value ? (q(), Jn(r, {
+ Ie.value ? (q(), Zn(r, {
key: 1,
type: "button",
class: "mjr-dup-stack-button",
@@ -4777,14 +4777,14 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
"aria-label": `${Fe.value} duplicate${Fe.value > 1 ? "s" : ""} - click to compare all copies`,
title: `${Fe.value} duplicate${Fe.value > 1 ? "s" : ""} - click to compare all copies`,
onClick: Be,
- onPointerdown: n[9] ||= rr(() => {}, ["stop"]),
- onMousedown: n[10] ||= rr(() => {}, ["stop", "prevent"]),
- onTouchstartPassive: n[11] ||= rr(() => {}, ["stop"]),
- onDblclick: n[12] ||= rr(() => {}, ["stop"]),
- onKeydown: n[13] ||= rr(() => {}, ["stop"]),
- onDragstart: n[14] ||= rr(() => {}, ["stop", "prevent"])
+ onPointerdown: n[9] ||= or(() => {}, ["stop"]),
+ onMousedown: n[10] ||= or(() => {}, ["stop", "prevent"]),
+ onTouchstartPassive: n[11] ||= or(() => {}, ["stop"]),
+ onDblclick: n[12] ||= or(() => {}, ["stop"]),
+ onKeydown: n[13] ||= or(() => {}, ["stop"]),
+ onDragstart: n[14] ||= or(() => {}, ["stop", "prevent"])
}, {
- default: G(() => [n[22] ||= H("span", { class: "pi pi-copy" }, null, -1), H("span", Ac, J(Fe.value), 1)]),
+ default: G(() => [n[22] ||= H("span", { class: "pi pi-copy" }, null, -1), H("span", Nc, J(Fe.value), 1)]),
_: 1
}, 8, [
"disabled",
@@ -4795,23 +4795,23 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
], 64);
};
}
-}), Mc = [
+}), Fc = [
"data-mjr-asset-id",
"data-mjr-filename-key",
"data-mjr-stem",
"aria-label",
"aria-selected"
-], Nc = {
+], Ic = {
class: "mjr-card-info mjr-card-meta",
style: {
padding: "6px 8px",
"min-width": "0"
}
-}, Pc = ["title"], Fc = /*#__PURE__*/ ((e, t) => {
+}, Lc = ["title"], Rc = /*#__PURE__*/ ((e, t) => {
let n = e.__vccOpts || e;
for (let [e, r] of t) n[e] = r;
return n;
-})(/* @__PURE__ */ tr({
+})(/* @__PURE__ */ ir({
__name: "FolderCard",
props: {
asset: {},
@@ -4848,9 +4848,9 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
role: "button",
tabindex: 0,
draggable: "true",
- onDragover: rr(a, ["prevent"]),
+ onDragover: or(a, ["prevent"]),
onDragleave: o,
- onDrop: rr(s, ["stop", "prevent"]),
+ onDrop: or(s, ["stop", "prevent"]),
"data-mjr-asset-id": String(e.asset.id ?? ""),
"data-mjr-filename-key": String(e.asset.filename || "").toLowerCase(),
"data-mjr-ext": "FOLDER",
@@ -4876,7 +4876,7 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
}), H("path", {
fill: "#D9A730",
d: "M20 6H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2z"
- })])], -1), H("div", Nc, [H("div", {
+ })])], -1), H("div", Ic, [H("div", {
class: "mjr-card-filename",
title: e.asset.filename,
style: {
@@ -4885,15 +4885,15 @@ var Vs = Bs(), Hs = ["title"], Us = /* @__PURE__ */ tr({
"white-space": "nowrap",
"margin-bottom": "4px"
}
- }, J(e.asset.filename), 9, Pc), n[0] ||= H("div", { class: "mjr-card-meta-row" }, null, -1)])], 42, Mc));
+ }, J(e.asset.filename), 9, Lc), n[0] ||= H("div", { class: "mjr-card-meta-row" }, null, -1)])], 42, Fc));
}
}), [["__scopeId", "data-v-252fa951"]]);
// ui/vue/composables/useGridState.ts
-function Ic(e) {
+function zc(e) {
return Array.from(e || []).map((e) => String(e || "").trim()).filter(Boolean);
}
-function Lc() {
- let e = ur({
+function Bc() {
+ let e = pr({
query: "*",
offset: 0,
cursor: null,
@@ -4922,7 +4922,7 @@ function Lc() {
e.virtualGrid = { setItems(t) {
e.assets = Array.isArray(t) ? t.slice() : [];
} };
- let t = K(() => new Set(Ic(e.selectedIds)));
+ let t = K(() => new Set(zc(e.selectedIds)));
function n(t = "", { error: n = !1 } = {}) {
e.statusMessage = String(t || ""), e.statusError = !!n;
}
@@ -4942,14 +4942,14 @@ function Lc() {
e.query = String(t || "*") || "*", e.offset = 0, e.cursor = null, e.total = n == null ? null : Number(n) || 0, e.done = !!r, e.assets = [], o();
}
function c(t, n = "", { preserveAnchor: r = !1 } = {}) {
- let i = Array.from(new Set(Ic(t))), a = String(n || i[0] || "").trim();
+ let i = Array.from(new Set(zc(t))), a = String(n || i[0] || "").trim();
return e.selectedIds = i, e.activeId = a, r || (a ? e.selectionAnchorId = a : i.length || (e.selectionAnchorId = "")), {
selectedIds: i,
activeId: a
};
}
function l(t, { activeId: n = "" } = {}) {
- let r = new Set(Ic(t)), i = Ic(e.selectedIds).filter((e) => r.has(e)), a = String(n || e.activeId || i[0] || "").trim();
+ let r = new Set(zc(t)), i = zc(e.selectedIds).filter((e) => r.has(e)), a = String(n || e.activeId || i[0] || "").trim();
return c(i, r.has(a) ? a : i[0] || "", { preserveAnchor: !0 });
}
function u() {
@@ -4980,14 +4980,14 @@ function Lc() {
};
}
// ui/vue/composables/gridVisibility.ts
-function Rc(e) {
+function Vc(e) {
try {
return typeof e?.getClientRects != "function" || e.getClientRects().length > 0;
} catch (e) {
return console.debug?.(e), !1;
}
}
-function zc(e, { requireClientRect: t = !0 } = {}) {
+function Hc(e, { requireClientRect: t = !0 } = {}) {
if (!e || typeof e != "object") return !1;
try {
if (typeof document < "u" && document.hidden) return !1;
@@ -5012,14 +5012,14 @@ function zc(e, { requireClientRect: t = !0 } = {}) {
} catch (e) {
console.debug?.(e);
}
- return !t || Rc(e);
+ return !t || Vc(e);
}
-function Bc(e) {
- return zc(e, { requireClientRect: !0 });
+function Uc(e) {
+ return Hc(e, { requireClientRect: !0 });
}
-function Vc(e, t = null) {
+function Wc(e, t = null) {
let n = t || e;
- if (!Bc(n) || e && e !== n && !zc(e, { requireClientRect: !1 })) return !1;
+ if (!Uc(n) || e && e !== n && !Hc(e, { requireClientRect: !1 })) return !1;
try {
let e = Number(n?.clientWidth || 0) || 0, t = Number(n?.clientHeight || 0) || 0;
return e > 0 && t > 0;
@@ -5028,50 +5028,50 @@ function Vc(e, t = null) {
}
}
// ui/vue/grid/useGridQuery.ts
-function Hc(e, t = "") {
+function Gc(e, t = "") {
return String(e ?? t).trim() || String(t);
}
-function Uc(e, t = 0) {
+function Kc(e, t = 0) {
let n = Number(e);
return Number.isFinite(n) ? n : t;
}
-function Wc(e) {
+function qc(e) {
return e === !0 || e === 1 || String(e || "") === "1";
}
-function Gc(e = {}) {
- let t = Hc(e.q ?? e.query, "*") || "*", n = Object.prototype.hasOwnProperty.call(e, "resolutionCompare") ? String(e.resolutionCompare ?? "").trim().toLowerCase() : "gte", r = n === "lte" ? "lte" : n ? "gte" : "";
+function Jc(e = {}) {
+ let t = Gc(e.q ?? e.query, "*") || "*", n = Object.prototype.hasOwnProperty.call(e, "resolutionCompare") ? String(e.resolutionCompare ?? "").trim().toLowerCase() : "gte", r = n === "lte" ? "lte" : n ? "gte" : "";
return Object.freeze({
- scope: Hc(e.scope, "output").toLowerCase(),
+ scope: Gc(e.scope, "output").toLowerCase(),
q: t,
query: t,
- customRootId: Hc(e.customRootId),
- subfolder: Hc(e.subfolder),
- collectionId: Hc(e.collectionId),
- viewScope: Hc(e.viewScope),
- kind: Hc(e.kind).toLowerCase(),
- workflowOnly: Wc(e.workflowOnly),
- minRating: Uc(e.minRating, 0),
- minSizeMB: Uc(e.minSizeMB, 0),
- maxSizeMB: Uc(e.maxSizeMB, 0),
+ customRootId: Gc(e.customRootId),
+ subfolder: Gc(e.subfolder),
+ collectionId: Gc(e.collectionId),
+ viewScope: Gc(e.viewScope),
+ kind: Gc(e.kind).toLowerCase(),
+ workflowOnly: qc(e.workflowOnly),
+ minRating: Kc(e.minRating, 0),
+ minSizeMB: Kc(e.minSizeMB, 0),
+ maxSizeMB: Kc(e.maxSizeMB, 0),
resolutionCompare: r,
- minWidth: Uc(e.minWidth, 0),
- minHeight: Uc(e.minHeight, 0),
- maxWidth: Uc(e.maxWidth, 0),
- maxHeight: Uc(e.maxHeight, 0),
- workflowType: Hc(e.workflowType).toUpperCase(),
- workflowId: Hc(e.workflowId),
- workflowModel: Hc(e.workflowModel),
- workflowRunsOn: Hc(e.workflowRunsOn).toLowerCase(),
- dateRange: Hc(e.dateRange).toLowerCase(),
- dateExact: Hc(e.dateExact),
- metadataSearchMode: Hc(e.metadataSearchMode),
- sort: Hc(e.sort, "mtime_desc").toLowerCase(),
- semanticMode: e.semanticMode === void 0 || e.semanticMode === null ? void 0 : Wc(e.semanticMode),
- groupStacks: e.groupStacks === void 0 || e.groupStacks === null ? void 0 : Wc(e.groupStacks)
+ minWidth: Kc(e.minWidth, 0),
+ minHeight: Kc(e.minHeight, 0),
+ maxWidth: Kc(e.maxWidth, 0),
+ maxHeight: Kc(e.maxHeight, 0),
+ workflowType: Gc(e.workflowType).toUpperCase(),
+ workflowId: Gc(e.workflowId),
+ workflowModel: Gc(e.workflowModel),
+ workflowRunsOn: Gc(e.workflowRunsOn).toLowerCase(),
+ dateRange: Gc(e.dateRange).toLowerCase(),
+ dateExact: Gc(e.dateExact),
+ metadataSearchMode: Gc(e.metadataSearchMode),
+ sort: Gc(e.sort, "mtime_desc").toLowerCase(),
+ semanticMode: e.semanticMode === void 0 || e.semanticMode === null ? void 0 : qc(e.semanticMode),
+ groupStacks: e.groupStacks === void 0 || e.groupStacks === null ? void 0 : qc(e.groupStacks)
});
}
-function Kc(e = {}, t = {}) {
- return Gc({
+function Yc(e = {}, t = {}) {
+ return Jc({
scope: e.mjrScope,
q: e.mjrQuery,
customRootId: e.mjrCustomRootId,
@@ -5101,16 +5101,16 @@ function Kc(e = {}, t = {}) {
...t
});
}
-function qc(e = null, t = "*") {
+function Xc(e = null, t = "*") {
let n = e?.dataset || {};
- return Kc(n, { q: n.mjrQuery ?? t }).q;
+ return Yc(n, { q: n.mjrQuery ?? t }).q;
}
-function Jc(e = null, t = "mtime_desc") {
+function Zc(e = null, t = "mtime_desc") {
let n = e?.dataset || {};
- return Kc(n, { sort: n.mjrSort ?? t }).sort;
+ return Yc(n, { sort: n.mjrSort ?? t }).sort;
}
-function Yc(e = {}) {
- let t = Gc(e);
+function Qc(e = {}) {
+ let t = Jc(e);
return [
t.scope,
t.q,
@@ -5136,30 +5136,30 @@ function Yc(e = {}) {
t.dateExact
].join("|");
}
-function Xc(e = {}) {
- let t = Gc(e), n = t.viewScope && t.viewScope !== t.scope ? t.viewScope : "";
+function $c(e = {}) {
+ let t = Jc(e), n = t.viewScope && t.viewScope !== t.scope ? t.viewScope : "";
return !!(t.subfolder || t.customRootId || t.collectionId || n || t.kind || t.workflowOnly || t.minRating > 0 || t.minSizeMB > 0 || t.maxSizeMB > 0 || t.minWidth > 0 || t.minHeight > 0 || t.maxWidth > 0 || t.maxHeight > 0 || t.workflowType || t.workflowId || t.workflowModel || t.workflowRunsOn || t.dateRange || t.dateExact);
}
-function Zc(e = {}) {
- let t = Gc(e);
- return t.scope === "output" && t.q === "*" && t.sort === "mtime_desc" && !Xc(t);
+function el(e = {}) {
+ let t = Jc(e);
+ return t.scope === "output" && t.q === "*" && t.sort === "mtime_desc" && !$c(t);
}
// ui/features/grid/PersistentAssetCache.ts
-var Qc = "mjr-asset-cache", $c = 1, el = "snapshots", tl = 24, nl = 500, rl = 27e5, il = null;
-function al() {
- return il || (il = new Promise((e) => {
+var tl = "mjr-asset-cache", nl = 1, rl = "snapshots", il = 24, al = 500, ol = 27e5, sl = null;
+function cl() {
+ return sl || (sl = new Promise((e) => {
try {
- let t = indexedDB.open(Qc, $c);
+ let t = indexedDB.open(tl, nl);
t.onupgradeneeded = () => {
let e = t.result;
- e.objectStoreNames.contains(el) || e.createObjectStore(el, { keyPath: "key" });
+ e.objectStoreNames.contains(rl) || e.createObjectStore(rl, { keyPath: "key" });
}, t.onsuccess = () => e(t.result), t.onerror = () => e(null);
} catch {
e(null);
}
- }), il);
+ }), sl);
}
-function ol(e) {
+function ll(e) {
return !e || typeof e != "object" ? null : {
id: e.id,
filename: e.filename,
@@ -5184,39 +5184,39 @@ function ol(e) {
positive_prompt: e.positive_prompt
};
}
-function sl(e) {
+function ul(e) {
if (!e || typeof e != "object") return null;
let t = Number(e.at || 0);
- if (!t || Date.now() - t > rl) return null;
- let n = Array.isArray(e.assets) ? e.assets.map(ol).filter(Boolean) : [];
+ if (!t || Date.now() - t > ol) return null;
+ let n = Array.isArray(e.assets) ? e.assets.map(ll).filter(Boolean) : [];
return n.length ? {
...e,
assets: n
} : null;
}
-async function cl(e) {
- let t = await al();
+async function dl(e) {
+ let t = await cl();
if (!t) return null;
try {
- return t.transaction(el, e).objectStore(el);
+ return t.transaction(rl, e).objectStore(rl);
} catch {
return null;
}
}
-var ll = {
+var fl = {
async get(e) {
- let t = await cl("readonly");
+ let t = await dl("readonly");
return !t || !e ? null : await new Promise((n) => {
let r = t.get(e);
- r.onsuccess = () => n(sl(r.result)), r.onerror = () => n(null);
+ r.onsuccess = () => n(ul(r.result)), r.onerror = () => n(null);
});
},
async put(e, t) {
- let n = await cl("readwrite"), r = sl({
+ let n = await dl("readwrite"), r = ul({
...t,
key: e,
at: t?.at || Date.now(),
- assets: Array.isArray(t?.assets) ? t.assets.slice(0, nl) : []
+ assets: Array.isArray(t?.assets) ? t.assets.slice(0, al) : []
});
return !n || !e || !r ? !1 : (await new Promise((e) => {
let t = n.put(r);
@@ -5224,7 +5224,7 @@ var ll = {
}), this.prune(), !0);
},
async prune() {
- let e = await cl("readwrite");
+ let e = await dl("readwrite");
if (!e) return;
let t = await new Promise((t) => {
let n = [], r = e.openCursor();
@@ -5233,175 +5233,175 @@ var ll = {
if (!e) return t(n);
n.push(e.value), e.continue();
}, r.onerror = () => t(n);
- }), n = t.filter((e) => !sl(e)).map((e) => e.key), r = t.filter((e) => !n.includes(e.key)).sort((e, t) => Number(e.at || 0) - Number(t.at || 0)).slice(0, Math.max(0, t.length - tl)).map((e) => e.key);
+ }), n = t.filter((e) => !ul(e)).map((e) => e.key), r = t.filter((e) => !n.includes(e.key)).sort((e, t) => Number(e.at || 0) - Number(t.at || 0)).slice(0, Math.max(0, t.length - il)).map((e) => e.key);
for (let t of [...n, ...r]) e.delete(t);
}
-}, ul = /* @__PURE__ */ new Map(), dl = !0, fl = 8, pl = 200, ml = "mjr_grid_snapshot_cache_v2", hl = 18e5, gl = 1500, _l = !1, vl = null, yl = !1;
-function bl() {
- return dl;
+}, pl = /* @__PURE__ */ new Map(), ml = !0, hl = 8, gl = 200, _l = "mjr_grid_snapshot_cache_v2", vl = 18e5, yl = 1500, bl = !1, xl = null, Sl = !1;
+function Cl() {
+ return ml;
}
-function xl() {
+function wl() {
try {
- ul.clear(), Dl()?.removeItem?.(ml), globalThis?.sessionStorage?.removeItem?.(ml);
+ pl.clear(), Al()?.removeItem?.(_l), globalThis?.sessionStorage?.removeItem?.(_l);
} catch (e) {
console.debug?.(e);
}
}
-var Sl = /* @__PURE__ */ "id.filename.name.display_name.filepath.path.fullpath.full_path.file_info.subfolder.source.type.root_id.custom_root_id.kind.ext.size.mtime.generation_time.file_creation_time.created_at.updated_at.indexed_at.width.height.duration.thumbnail_url.thumb_url.preview_url.poster.url.rating.tags.has_workflow.hasWorkflow.has_generation_data.hasGenerationData.workflow_type.workflowType.workflow_id.workflowId.generation_time_ms.positive_prompt.enhanced_caption.auto_tags.has_ai_info.has_ai_vector.has_ai_auto_tags.has_ai_enhanced_caption.job_id.stack_id.source_node_id.source_node_type.date.date_exact".split(".");
-function Cl(e, t = "") {
+var Tl = /* @__PURE__ */ "id.filename.name.display_name.filepath.path.fullpath.full_path.file_info.subfolder.source.type.root_id.custom_root_id.kind.ext.size.mtime.generation_time.file_creation_time.created_at.updated_at.indexed_at.width.height.duration.thumbnail_url.thumb_url.preview_url.poster.url.rating.tags.has_workflow.hasWorkflow.has_generation_data.hasGenerationData.workflow_type.workflowType.workflow_id.workflowId.generation_time_ms.positive_prompt.enhanced_caption.auto_tags.has_ai_info.has_ai_vector.has_ai_auto_tags.has_ai_enhanced_caption.job_id.stack_id.source_node_id.source_node_type.date.date_exact".split(".");
+function El(e, t = "") {
try {
return String(e ?? t).trim();
} catch {
return String(t);
}
}
-function wl(e = {}) {
+function Dl(e = {}) {
return JSON.stringify({
- scope: Cl(e.scope || "output", "output"),
- query: Cl(e.query || e.q || "*", "*"),
- customRootId: Cl(e.customRootId || ""),
- subfolder: Cl(e.subfolder || ""),
- collectionId: Cl(e.collectionId || ""),
- viewScope: Cl(e.viewScope || ""),
- kind: Cl(e.kind || ""),
- workflowOnly: Cl(e.workflowOnly ? "1" : ""),
- minRating: Cl(e.minRating || ""),
- minSizeMB: Cl(e.minSizeMB || ""),
- maxSizeMB: Cl(e.maxSizeMB || ""),
- resolutionCompare: Cl(e.resolutionCompare || ""),
- minWidth: Cl(e.minWidth || ""),
- minHeight: Cl(e.minHeight || ""),
- maxWidth: Cl(e.maxWidth || ""),
- maxHeight: Cl(e.maxHeight || ""),
- workflowType: Cl(e.workflowType || "").toUpperCase(),
- workflowId: Cl(e.workflowId || ""),
- workflowModel: Cl(e.workflowModel || ""),
- workflowRunsOn: Cl(e.workflowRunsOn || "").toLowerCase(),
- dateRange: Cl(e.dateRange || ""),
- dateExact: Cl(e.dateExact || ""),
- sort: Cl(e.sort || "mtime_desc", "mtime_desc"),
- semanticMode: Cl(e.semanticMode ? "1" : "")
+ scope: El(e.scope || "output", "output"),
+ query: El(e.query || e.q || "*", "*"),
+ customRootId: El(e.customRootId || ""),
+ subfolder: El(e.subfolder || ""),
+ collectionId: El(e.collectionId || ""),
+ viewScope: El(e.viewScope || ""),
+ kind: El(e.kind || ""),
+ workflowOnly: El(e.workflowOnly ? "1" : ""),
+ minRating: El(e.minRating || ""),
+ minSizeMB: El(e.minSizeMB || ""),
+ maxSizeMB: El(e.maxSizeMB || ""),
+ resolutionCompare: El(e.resolutionCompare || ""),
+ minWidth: El(e.minWidth || ""),
+ minHeight: El(e.minHeight || ""),
+ maxWidth: El(e.maxWidth || ""),
+ maxHeight: El(e.maxHeight || ""),
+ workflowType: El(e.workflowType || "").toUpperCase(),
+ workflowId: El(e.workflowId || ""),
+ workflowModel: El(e.workflowModel || ""),
+ workflowRunsOn: El(e.workflowRunsOn || "").toLowerCase(),
+ dateRange: El(e.dateRange || ""),
+ dateExact: El(e.dateExact || ""),
+ sort: El(e.sort || "mtime_desc", "mtime_desc"),
+ semanticMode: El(e.semanticMode ? "1" : "")
});
}
-function Tl(e) {
+function Ol(e) {
if (!e || typeof e != "object") return null;
let t = {};
- for (let n of Sl) e[n] !== void 0 && (t[n] = e[n]);
+ for (let n of Tl) e[n] !== void 0 && (t[n] = e[n]);
return !t.type && t.source && (t.type = t.source), !t.source && t.type && (t.source = t.type), t.kind ||= e.kind || "image", Array.isArray(t.tags) && (t.tags = t.tags.slice(0, 80)), Array.isArray(t.auto_tags) && (t.auto_tags = t.auto_tags.slice(0, 80)), t;
}
-function El(e) {
+function kl(e) {
if (!e || typeof e != "object") return null;
let t = Number(e.at || 0) || 0;
- if (!t || Date.now() - t > hl) return null;
- let n = Array.isArray(e.assets) ? e.assets.map(Tl).filter(Boolean) : [];
+ if (!t || Date.now() - t > vl) return null;
+ let n = Array.isArray(e.assets) ? e.assets.map(Ol).filter(Boolean) : [];
if (!n.length) return null;
let r = Number(e.total ?? n.length), i = Number(e.offset ?? n.length);
return {
assets: n,
- title: Cl(e.title || "Cached", "Cached"),
+ title: El(e.title || "Cached", "Cached"),
at: t,
total: Number.isFinite(r) ? Math.max(0, r) : n.length,
offset: Number.isFinite(i) ? Math.max(n.length, i) : n.length,
done: !!e.done,
- query: Cl(e.query || "*", "*")
+ query: El(e.query || "*", "*")
};
}
-function Dl() {
+function Al() {
try {
return globalThis?.localStorage || null;
} catch {
return null;
}
}
-bl() || xl();
-function Ol(e) {
+Cl() || wl();
+function jl(e) {
try {
let t = globalThis?.sessionStorage;
if (!t || !e) return;
- let n = t.getItem?.(ml);
+ let n = t.getItem?.(_l);
if (!n) return;
- e.getItem?.(ml) || e.setItem(ml, n), t.removeItem(ml);
- } catch (e) {
- console.debug?.(e);
- }
-}
-function kl() {
- let e = Date.now();
- for (let [t, n] of ul.entries()) {
- let r = Number(n?.at || 0) || 0;
- (!r || e - r > hl) && ul.delete(t);
- }
- for (; ul.size > fl;) {
- let e = ul.keys().next().value;
- if (!e) break;
- ul.delete(e);
- }
-}
-function Al() {
- if (!bl()) _l = !0, xl();
- else if (!_l) {
- _l = !0;
- try {
- let e = Dl();
- Ol(e);
- let t = e?.getItem?.(ml);
- if (!t) return;
- let n = JSON.parse(t), r = Array.isArray(n?.entries) ? n.entries : [];
- for (let e of r) {
- if (!Array.isArray(e) || e.length < 2) continue;
- let t = String(e[0] || ""), n = El(e[1]);
- t && n && ul.set(t, n);
- }
- kl();
- } catch (e) {
- console.debug?.(e);
- }
- }
-}
-function jl() {
- if (!bl()) xl();
- else try {
- kl();
- let e = Dl();
- if (!e) return;
- let t = Array.from(ul.entries()).map(([e, t]) => [e, {
- ...t,
- assets: Array.isArray(t?.assets) ? t.assets.slice(0, pl) : []
- }]);
- e.setItem(ml, JSON.stringify({ entries: t }));
+ e.getItem?.(_l) || e.setItem(_l, n), t.removeItem(_l);
} catch (e) {
console.debug?.(e);
}
}
function Ml() {
- bl() ? (yl = !0, !vl && (vl = setTimeout(() => {
- vl = null, yl && (yl = !1, jl());
- }, gl))) : (xl(), yl = !1);
+ let e = Date.now();
+ for (let [t, n] of pl.entries()) {
+ let r = Number(n?.at || 0) || 0;
+ (!r || e - r > vl) && pl.delete(t);
+ }
+ for (; pl.size > hl;) {
+ let e = pl.keys().next().value;
+ if (!e) break;
+ pl.delete(e);
+ }
}
function Nl() {
- vl &&= (clearTimeout(vl), null), yl && (yl = !1, jl());
+ if (!Cl()) bl = !0, wl();
+ else if (!bl) {
+ bl = !0;
+ try {
+ let e = Al();
+ jl(e);
+ let t = e?.getItem?.(_l);
+ if (!t) return;
+ let n = JSON.parse(t), r = Array.isArray(n?.entries) ? n.entries : [];
+ for (let e of r) {
+ if (!Array.isArray(e) || e.length < 2) continue;
+ let t = String(e[0] || ""), n = kl(e[1]);
+ t && n && pl.set(t, n);
+ }
+ Ml();
+ } catch (e) {
+ console.debug?.(e);
+ }
+ }
}
-function Pl(e) {
- if (!bl()) return null;
- Al();
- let t = El(ul.get(e));
- return t ? (ul.delete(e), ul.set(e, t), Ml(), t) : (ul.delete(e), Ml(), null);
+function Pl() {
+ if (!Cl()) wl();
+ else try {
+ Ml();
+ let e = Al();
+ if (!e) return;
+ let t = Array.from(pl.entries()).map(([e, t]) => [e, {
+ ...t,
+ assets: Array.isArray(t?.assets) ? t.assets.slice(0, gl) : []
+ }]);
+ e.setItem(_l, JSON.stringify({ entries: t }));
+ } catch (e) {
+ console.debug?.(e);
+ }
}
-function Fl(e) {
- return bl() ? (Al(), !!El(ul.get(e))) : !1;
+function Fl() {
+ Cl() ? (Sl = !0, !xl && (xl = setTimeout(() => {
+ xl = null, Sl && (Sl = !1, Pl());
+ }, yl))) : (wl(), Sl = !1);
}
-function Il(e, t) {
- if (!bl() || !e || !t || typeof t != "object") return !1;
- let n = El({
+function Il() {
+ xl &&= (clearTimeout(xl), null), Sl && (Sl = !1, Pl());
+}
+function Ll(e) {
+ if (!Cl()) return null;
+ Nl();
+ let t = kl(pl.get(e));
+ return t ? (pl.delete(e), pl.set(e, t), Fl(), t) : (pl.delete(e), Fl(), null);
+}
+function Rl(e) {
+ return Cl() ? (Nl(), !!kl(pl.get(e))) : !1;
+}
+function zl(e, t) {
+ if (!Cl() || !e || !t || typeof t != "object") return !1;
+ let n = kl({
...t,
at: t.at || Date.now()
});
- return n ? (ul.delete(e), ul.set(e, n), Ml(), ll.put(String(e || ""), n).catch((e) => {
+ return n ? (pl.delete(e), pl.set(e, n), Fl(), fl.put(String(e || ""), n).catch((e) => {
console.debug?.(e);
}), !0) : !1;
}
// ui/vue/grid/useAssetCollection.ts
-function Ll(e) {
+function Bl(e) {
return !e || typeof e != "object" ? "" : [
e.source || e.type || "output",
e.root_id || e.custom_root_id || "",
@@ -5409,7 +5409,7 @@ function Ll(e) {
e.filename || e.filepath || e.path || e.fullpath || e.full_path || ""
].join("|").trim().toLowerCase();
}
-function Rl(e = [], { assetKey: t = Ll } = {}) {
+function Vl(e = [], { assetKey: t = Bl } = {}) {
let n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
for (let i of Array.isArray(e) ? e : []) {
if (!i || typeof i != "object") continue;
@@ -5421,12 +5421,12 @@ function Rl(e = [], { assetKey: t = Ll } = {}) {
byKey: r
};
}
-function zl(e, { assetKey: t = Ll } = {}) {
+function Hl(e, { assetKey: t = Bl } = {}) {
if (!e || typeof e != "object") return e;
- let n = Rl(Array.isArray(e.assets) ? e.assets : [], { assetKey: t });
+ let n = Vl(Array.isArray(e.assets) ? e.assets : [], { assetKey: t });
return e.assetIdSet = new Set(n.byId.keys()), e.seenKeys = new Set(n.byKey.keys()), e;
}
-function Bl(e, t = [], { assetKey: n = Ll } = {}) {
+function Ul(e, t = [], { assetKey: n = Bl } = {}) {
if (!e || typeof e != "object") return 0;
let r = new Set((Array.isArray(t) ? t : [t]).map((e) => e == null ? "" : typeof e == "object" && e?.id != null ? String(e.id) : String(e)).map((e) => e.trim()).filter(Boolean));
if (!r.size) return 0;
@@ -5434,10 +5434,10 @@ function Bl(e, t = [], { assetKey: n = Ll } = {}) {
return e.assets = (Array.isArray(e.assets) ? e.assets : []).filter((e) => {
let t = e?.id == null ? "" : String(e.id);
return !t || !r.has(t) || (i += 1, !1);
- }), i > 0 && zl(e, { assetKey: n }), i;
+ }), i > 0 && Hl(e, { assetKey: n }), i;
}
// ui/vue/grid/usePagedAssets.ts
-function Vl({ assets: e = [], count: t = null, limit: n = 0, offset: r = 0, total: i = null } = {}) {
+function Wl({ assets: e = [], count: t = null, limit: n = 0, offset: r = 0, total: i = null } = {}) {
let a = Array.isArray(e) ? e.length : 0, o = t == null ? a : Math.max(0, Number(t) || 0);
if (o <= 0) return 0;
let s = Math.max(0, Number(n) || 0), c = Math.max(0, Number(r) || 0), l = i == null ? null : Math.max(0, Number(i) || 0), u = l == null ? null : Math.max(0, l - c);
@@ -5446,7 +5446,7 @@ function Vl({ assets: e = [], count: t = null, limit: n = 0, offset: r = 0, tota
let d = Math.min(s, u ?? 0);
return d <= 0 ? o : Math.max(o, d);
}
-async function Hl({ fetchPage: e, applyPage: t, getLimit: n, canContinue: r = null, beforeApplyPage: i = null, onEmptyPage: a = null, maxEmptyPages: o = 6 } = {}) {
+async function Gl({ fetchPage: e, applyPage: t, getLimit: n, canContinue: r = null, beforeApplyPage: i = null, onEmptyPage: a = null, maxEmptyPages: o = 6 } = {}) {
if (typeof e != "function" || typeof t != "function") return {
ok: !1,
error: /* @__PURE__ */ Error("fetchPage and applyPage are required")
@@ -5502,8 +5502,8 @@ async function Hl({ fetchPage: e, applyPage: t, getLimit: n, canContinue: r = nu
lastResult: l
};
}
-function Ul({ query: e, collection: t, fetchPage: n, pageSize: r = 80, getPageSize: i = null } = {}) {
- let a = hr({
+function Kl({ query: e, collection: t, fetchPage: n, pageSize: r = 80, getPageSize: i = null } = {}) {
+ let a = vr({
offset: 0,
cursor: null,
total: null,
@@ -5533,7 +5533,7 @@ function Ul({ query: e, collection: t, fetchPage: n, pageSize: r = 80, getPageSi
};
}
function f(e, { limit: n = l() } = {}) {
- let r = Array.isArray(e?.assets) ? e.assets : [], i = e?.total == null ? null : Number(e.total) || 0, o = Vl({
+ let r = Array.isArray(e?.assets) ? e.assets : [], i = e?.total == null ? null : Number(e.total) || 0, o = Wl({
assets: r,
count: e?.count,
limit: Number(e?.limit || n) || n,
@@ -5598,7 +5598,7 @@ function Ul({ query: e, collection: t, fetchPage: n, pageSize: r = 80, getPageSi
let u = a.requestId;
a.loading = !0, a.error = null;
try {
- let n = await Hl({
+ let n = await Gl({
maxEmptyPages: o,
canContinue: t,
getLimit: e,
@@ -5658,12 +5658,12 @@ function Ul({ query: e, collection: t, fetchPage: n, pageSize: r = 80, getPageSi
};
}
// ui/vue/composables/useVirtualGrid.ts
-function Wl(e, t) {
+function ql(e, t) {
if (!t || typeof t != "object") return !1;
- let n = Kc(e?.dataset || {}), r = n.scope, i = n.subfolder.toLowerCase(), a = n.kind, o = n.workflowOnly, s = n.minRating, c = n.workflowType.toLowerCase(), l = String(n.workflowId || "").trim(), u = n.dateExact, d = String(t?.subfolder || "").trim().toLowerCase(), f = String(t?.type || t?.source || "output").trim().toLowerCase(), p = String(t?.kind || "").trim().toLowerCase(), m = String(t?.workflow_type || t?.workflowType || "").trim().toLowerCase(), h = String(t?.workflow_id || t?.workflowId || t?.metadata?.workflow_id || t?.metadata?.workflow?.id || "").trim(), g = String(t?.date_exact || t?.date || "").trim(), _ = t?.has_workflow ?? t?.hasWorkflow ?? null;
+ let n = Yc(e?.dataset || {}), r = n.scope, i = n.subfolder.toLowerCase(), a = n.kind, o = n.workflowOnly, s = n.minRating, c = n.workflowType.toLowerCase(), l = String(n.workflowId || "").trim(), u = n.dateExact, d = String(t?.subfolder || "").trim().toLowerCase(), f = String(t?.type || t?.source || "output").trim().toLowerCase(), p = String(t?.kind || "").trim().toLowerCase(), m = String(t?.workflow_type || t?.workflowType || "").trim().toLowerCase(), h = String(t?.workflow_id || t?.workflowId || t?.metadata?.workflow_id || t?.metadata?.workflow?.id || "").trim(), g = String(t?.date_exact || t?.date || "").trim(), _ = t?.has_workflow ?? t?.hasWorkflow ?? null;
return !(r && r !== "all" && f && f !== r || i && d !== i || a && p && p !== a || o && _ !== null && !_ || s > 0 && (Number(t?.rating || 0) || 0) < s || c && m !== c || l && h && h !== l || u && g && g !== u);
}
-async function Gl(e, t, n, r, i, { requestId: a = 0, signal: o = null, cursor: s = null } = {}) {
+async function Jl(e, t, n, r, i, { requestId: a = 0, signal: o = null, cursor: s = null } = {}) {
let c = (e) => {
if (typeof e == "string") return e;
if (e && typeof e == "object") {
@@ -5671,13 +5671,13 @@ async function Gl(e, t, n, r, i, { requestId: a = 0, signal: o = null, cursor: s
if (typeof e.target?.value == "string") return e.target.value;
}
return String(e || "");
- }, l = Kc(e?.dataset || {}), { scope: u, customRootId: d, subfolder: f, kind: p, workflowOnly: m, minRating: h, minSizeMB: g, maxSizeMB: _, resolutionCompare: v, minWidth: y, minHeight: b, maxWidth: x, maxHeight: S, workflowType: C, workflowId: w, workflowModel: T, workflowRunsOn: E, dateRange: D, dateExact: O, metadataSearchMode: k } = l, A = l.sort || "mtime_desc", ee = c(t).trim() || "*", j = /^\[object\s+HTML.*Element\]$/i.test(ee) ? "*" : ee, M = i.sanitizeQuery(j) || j;
+ }, l = Yc(e?.dataset || {}), { scope: u, customRootId: d, subfolder: f, kind: p, workflowOnly: m, minRating: h, minSizeMB: g, maxSizeMB: _, resolutionCompare: v, minWidth: y, minHeight: b, maxWidth: x, maxHeight: S, workflowType: C, workflowId: w, workflowModel: T, workflowRunsOn: E, dateRange: D, dateExact: O, metadataSearchMode: k } = l, A = l.sort || "mtime_desc", j = c(t).trim() || "*", M = /^\[object\s+HTML.*Element\]$/i.test(j) ? "*" : j, N = i.sanitizeQuery(M) || M;
try {
- let t = String(u || "").toLowerCase() === "output", c = Xc({
+ let t = String(u || "").toLowerCase() === "output", c = $c({
...l,
- q: M
- }), ee = t && Number(r ?? 0) === 0 && M === "*" && !c && String(A || "mtime_desc").toLowerCase() === "mtime_desc", j = !(t && (Number(r ?? 0) > 0 || ee)), N = !!l.groupStacks, te = Number(r ?? 0) > 0 ? null : s || null, ne = i.buildListURL({
- q: M,
+ q: N
+ }), j = t && Number(r ?? 0) === 0 && N === "*" && !c && String(A || "mtime_desc").toLowerCase() === "mtime_desc", M = !(t && (Number(r ?? 0) > 0 || j)), ee = !!l.groupStacks, te = Number(r ?? 0) > 0 ? null : s || null, P = i.buildListURL({
+ q: N,
limit: n,
offset: r,
scope: u,
@@ -5701,10 +5701,10 @@ async function Gl(e, t, n, r, i, { requestId: a = 0, signal: o = null, cursor: s
dateExact: O || null,
sort: A,
cursor: te,
- includeTotal: j,
- groupStacks: N,
+ includeTotal: M,
+ groupStacks: ee,
metadataMode: k || null
- }), P = await i.get(ne, {
+ }), ne = await i.get(P, {
timeoutMs: 12e4,
...o ? { signal: o } : {}
});
@@ -5718,23 +5718,23 @@ async function Gl(e, t, n, r, i, { requestId: a = 0, signal: o = null, cursor: s
} catch (e) {
console.debug?.(e);
}
- if (P.ok) {
- let e = P.data?.assets || [], t = Array.isArray(e) ? e.length : 0, n = P.data?.total;
+ if (ne.ok) {
+ let e = ne.data?.assets || [], t = Array.isArray(e) ? e.length : 0, n = ne.data?.total;
return {
ok: !0,
assets: e,
total: n == null ? null : Number(n ?? 0) || 0,
count: t,
- limit: Math.max(0, Number(P.data?.limit) || 0),
- offset: Math.max(0, Number(P.data?.offset) || 0),
- nextCursor: P.data?.next_cursor || P.data?.nextCursor || null,
- hasMore: typeof P.data?.has_more == "boolean" ? P.data.has_more : null,
+ limit: Math.max(0, Number(ne.data?.limit) || 0),
+ offset: Math.max(0, Number(ne.data?.offset) || 0),
+ nextCursor: ne.data?.next_cursor || ne.data?.nextCursor || null,
+ hasMore: typeof ne.data?.has_more == "boolean" ? ne.data.has_more : null,
sortKey: A,
- safeQuery: M
+ safeQuery: N
};
}
try {
- if (String(P?.code || "") === "ABORTED") return {
+ if (String(ne?.code || "") === "ABORTED") return {
ok: !1,
aborted: !0,
error: "Aborted"
@@ -5744,7 +5744,7 @@ async function Gl(e, t, n, r, i, { requestId: a = 0, signal: o = null, cursor: s
}
return {
ok: !1,
- error: P.error
+ error: ne.error
};
} catch (e) {
try {
@@ -5762,7 +5762,7 @@ async function Gl(e, t, n, r, i, { requestId: a = 0, signal: o = null, cursor: s
};
}
}
-function Kl(e, t) {
+function Yl(e, t) {
switch (t) {
case "mtime_desc": return -(Number(e?.mtime) || 0);
case "mtime_asc": return Number(e?.mtime) || 0;
@@ -5771,23 +5771,23 @@ function Kl(e, t) {
default: return -(Number(e?.mtime) || 0);
}
}
-function ql(e, t, n) {
+function Xl(e, t, n) {
if (n === "name_desc") {
let n = String(e?.filename || "").toLowerCase(), r = String(t?.filename || "").toLowerCase();
return n > r ? -1 : +(n < r);
}
- let r = Kl(e, n), i = Kl(t, n);
+ let r = Yl(e, n), i = Yl(t, n);
return r < i ? -1 : +(r > i);
}
-function Jl(e, t, n) {
+function Zl(e, t, n) {
return n === "name_asc" ? String(e) < String(t) : n === "name_desc" ? String(e) > String(t) : Number(e) < Number(t);
}
-function Yl(e, t, n) {
- let r = Kl(t, n);
- for (let t = 0; t < e.length; t++) if (Jl(r, Kl(e[t], n), n)) return t;
+function Ql(e, t, n) {
+ let r = Yl(t, n);
+ for (let t = 0; t < e.length; t++) if (Zl(r, Yl(e[t], n), n)) return t;
return e.length;
}
-function Xl(e, t) {
+function $l(e, t) {
let n = t.get(e);
return n || (n = {
pending: /* @__PURE__ */ new Map(),
@@ -5795,13 +5795,13 @@ function Xl(e, t) {
flushing: !1
}, t.set(e, n)), n;
}
-function Zl(e) {
+function eu(e) {
return String(e ?? "").trim().toLowerCase();
}
-function Ql(e) {
+function tu(e) {
return e?._mjrLivePlaceholder === !0 || e?.is_live_placeholder === !0 || String(e?.id || "").trim().toLowerCase().startsWith("live:");
}
-function $l(e) {
+function nu(e) {
if (!e || typeof e != "object") return e;
try {
delete e._mjrLivePlaceholder, delete e._mjrLiveStatus, delete e._mjrLiveLabel, delete e.is_live_placeholder;
@@ -5810,24 +5810,24 @@ function $l(e) {
}
return e;
}
-function eu(e) {
+function ru(e) {
if (!e || typeof e != "object") return "";
- let t = Zl(e?.type || e?.source || "output"), n = Zl(e?.root_id || e?.custom_root_id || ""), r = Zl(e?.subfolder || ""), i = Zl(e?.filename || "");
+ let t = eu(e?.type || e?.source || "output"), n = eu(e?.root_id || e?.custom_root_id || ""), r = eu(e?.subfolder || ""), i = eu(e?.filename || "");
if (i) return `${t}|${n}|${r}|${i}`;
- let a = Zl(e?.filepath || e?.path || e?.fullpath || e?.full_path || "");
+ let a = eu(e?.filepath || e?.path || e?.fullpath || e?.full_path || "");
return a ? `${t}|${n}|path|${a}` : "";
}
-function tu(e, t, n) {
+function iu(e, t, n) {
let r = Array.isArray(e?.assets) ? e.assets : [];
if (t) {
let e = r.findIndex((e) => String(e?.id || "") === t);
if (e > -1) return e;
}
- let i = eu(n);
- return i ? r.findIndex((e) => eu(e) === i) : -1;
+ let i = ru(n);
+ return i ? r.findIndex((e) => ru(e) === i) : -1;
}
-function nu(e, t) {
- return !t || typeof t != "object" || !e || typeof e != "object" ? !1 : Ql(t) ? !0 : ![
+function au(e, t) {
+ return !t || typeof t != "object" || !e || typeof e != "object" ? !1 : tu(t) ? !0 : ![
"filename",
"filepath",
"path",
@@ -5846,15 +5846,15 @@ function nu(e, t) {
"date"
].some((t) => Object.prototype.hasOwnProperty.call(e, t));
}
-function ru(e, t) {
+function ou(e, t) {
let n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set(), i = [], a = !1;
for (let o of Array.isArray(e?.assets) ? e.assets : []) {
let e = o?.id == null ? "" : String(o.id), s = t.assetKey(o);
e && n.has(e) || s && r.has(s) ? a = !0 : (e && n.add(e), s && r.add(s), i.push(o));
}
- a && (e.assets = i), zl(e, { assetKey: t.assetKey });
+ a && (e.assets = i), Hl(e, { assetKey: t.assetKey });
}
-function iu(e, t) {
+function su(e, t) {
let n = t.upsertState.get(e);
if (!n || n.pending.size === 0 || n.flushing) return;
n.flushing = !0, n.timer &&= (clearTimeout(n.timer), null);
@@ -5864,14 +5864,14 @@ function iu(e, t) {
try {
let n = !1;
for (let [a, o] of r.entries()) {
- let r = Ql(o);
+ let r = tu(o);
i.assetKeyFn = t.assetKey;
- let s = ki(o, i, t.loadMajoorSettings);
+ let s = Mi(o, i, t.loadMajoorSettings);
if (Array.isArray(s?.removed) && s.removed.length) {
let e = new Set(s.removed);
i.assets = i.assets.filter((t) => {
let n = !e.has(t);
- return n || Di(i, t, i), n;
+ return n || Ai(i, t, i), n;
});
try {
i.hiddenPngSiblings = (Number(i.hiddenPngSiblings || 0) || 0) + s.removed.length;
@@ -5891,31 +5891,31 @@ function iu(e, t) {
let c = i.assets.findIndex((e) => String(e.id) === a), l = c > -1 ? i.assets[c] : null, u = l ? {
...l,
...o
- } : o, d = c > -1 ? c : tu(i, a, u), f = d > -1 ? i.assets[d] : null, p = f ? {
+ } : o, d = c > -1 ? c : iu(i, a, u), f = d > -1 ? i.assets[d] : null, p = f ? {
...f,
...o
} : u, m = t.assetKey(u);
- if (!Wl(e, p)) {
+ if (!ql(e, p)) {
if (d > -1) {
- if (nu(o, f)) {
- Object.assign(f, o), r || $l(f), i.assets[d] = { ...f }, n = !0;
+ if (au(o, f)) {
+ Object.assign(f, o), r || nu(f), i.assets[d] = { ...f }, n = !0;
continue;
}
let [e] = i.assets.splice(d, 1);
- Di(i, e, i), n = !0;
+ Ai(i, e, i), n = !0;
}
} else if (d > -1) {
let e = t.assetKey(f);
- Object.assign(f, o), r || $l(f);
+ Object.assign(f, o), r || nu(f);
let a = { ...f }, s = t.assetKey(a);
i.assets[d] = a, e && e !== s && (i.seenKeys?.delete?.(e), s && i.seenKeys?.add?.(s)), n = !0;
} else if (!(i.seenKeys.has(m) || o.id != null && i.assetIdSet?.has?.(a))) {
- let t = Kc(e?.dataset || {}).sort || "mtime_desc", s = r ? u : $l({ ...u }), c = Yl(i.assets, s, t);
+ let t = Yc(e?.dataset || {}).sort || "mtime_desc", s = r ? u : nu({ ...u }), c = Ql(i.assets, s, t);
i.seenKeys.add(m), o.id != null && i.assetIdSet?.add?.(a), i.assets.splice(c, 0, s), n = !0;
}
}
if (n && a) {
- ru(i, t);
+ ou(i, t);
try {
e.dataset.mjrHiddenPngSiblings = String(Number(i.hiddenPngSiblings || 0) || 0);
} catch (e) {
@@ -5927,22 +5927,22 @@ function iu(e, t) {
if (n.flushing = !1, n.pending.size > 0 && !n.timer) {
let r = Math.min(16, t.debounceMs);
n.timer = setTimeout(() => {
- n.timer = null, iu(e, t);
+ n.timer = null, su(e, t);
}, r);
}
}
}
-function au(e, t, n) {
+function cu(e, t, n) {
if (!t || !t.id) return !1;
let r = n.getOrCreateState(e), i = String(t.id);
if (!n.ensureVirtualGrid(e, r)) return !1;
- let a = Xl(e, n.upsertState);
- return a.pending.set(i, t), a.pending.size >= n.maxBatchSize ? iu(e, n) : !a.timer && !a.flushing && (a.timer = setTimeout(() => {
- a.timer = null, iu(e, n);
+ let a = $l(e, n.upsertState);
+ return a.pending.set(i, t), a.pending.size >= n.maxBatchSize ? su(e, n) : !a.timer && !a.flushing && (a.timer = setTimeout(() => {
+ a.timer = null, su(e, n);
}, n.debounceMs)), !0;
}
// ui/vue/components/grid/gridDomBridge.ts
-function ou(e) {
+function lu(e) {
let t = String(e ?? "");
try {
if (typeof CSS < "u" && typeof CSS.escape == "function") return CSS.escape(t);
@@ -5951,7 +5951,7 @@ function ou(e) {
}
return t.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1");
}
-function su(e) {
+function uu(e) {
if (!e) return [];
try {
return Array.from(e.querySelectorAll?.(".mjr-asset-card") || []);
@@ -5959,7 +5959,7 @@ function su(e) {
return console.debug?.(e), [];
}
}
-function cu(e) {
+function du(e) {
if (!e) return null;
try {
return e.querySelector?.(".mjr-asset-card.is-selected") || null;
@@ -5967,46 +5967,46 @@ function cu(e) {
return console.debug?.(e), null;
}
}
-function lu(e, t) {
+function fu(e, t) {
if (!e) return null;
let n = String(t || "").trim();
if (!n) return null;
try {
- return e.querySelector?.(`.mjr-asset-card[data-mjr-asset-id="${ou(n)}"]`) || null;
+ return e.querySelector?.(`.mjr-asset-card[data-mjr-asset-id="${lu(n)}"]`) || null;
} catch (e) {
return console.debug?.(e), null;
}
}
-function uu(e, t = 0) {
+function pu(e, t = 0) {
let n = e?.dataset?.mjrShown, r = Number(n);
return Number.isFinite(r) ? Math.max(0, r) : Math.max(0, Number(t) || 0);
}
// ui/vue/composables/useGridLoader.ts
-var du = 200, fu = 50, pu = /* @__PURE__ */ new WeakMap(), mu = /* @__PURE__ */ new Set([
+var mu = 200, hu = 50, gu = /* @__PURE__ */ new WeakMap(), _u = /* @__PURE__ */ new Set([
"collection",
"filter",
"initial",
"scope",
"search",
"sort"
-]), hu = 0;
-function gu(e) {
+]), vu = 0;
+function yu(e) {
return new Promise((t) => setTimeout(t, Math.max(0, Number(e) || 0)));
}
-function _u(e) {
+function bu(e) {
if (!e || typeof e != "object") return "";
if (e.id != null && String(e.id).trim()) return `id:${String(e.id).trim()}`;
- let t = String(e?.type || e?.source || "output").trim().toLowerCase(), n = String(be(e) || "").trim().toLowerCase(), r = String(e?.subfolder || "").trim().toLowerCase(), i = String(e?.filename || "").trim().toLowerCase();
+ let t = String(e?.type || e?.source || "output").trim().toLowerCase(), n = String(Be(e) || "").trim().toLowerCase(), r = String(e?.subfolder || "").trim().toLowerCase(), i = String(e?.filename || "").trim().toLowerCase();
if (i) return `${t}|${n}|${r}|${i}`;
let a = String(e?.filepath || e?.path || e?.fullpath || e?.full_path || "").trim().toLowerCase();
return a ? `${t}|${n}|path|${a}` : "";
}
-function vu(e) {
+function xu(e) {
if (e == null) return e;
let t = String(e);
return t.trim() === "" ? t : t.trim() === "*" ? "*" : t.replace(/[\u0000-\u001f\u007f]+/g, " ").replace(/[<>]/g, " ").replace(/\s+/g, " ").trim() || t;
}
-function yu(e) {
+function Su(e) {
if (typeof e == "string") return e;
if (e && typeof e == "object") {
if (typeof e.value == "string") return e.value;
@@ -6022,13 +6022,13 @@ function yu(e) {
}
return String(e || "");
}
-function bu(e) {
+function Cu(e) {
return e ? typeof e == "object" && "value" in e ? e.value || null : e : null;
}
-async function xu() {
- await qn();
+async function wu() {
+ await Xn();
}
-function Su(e, t) {
+function Tu(e, t) {
let n = String(e || "Failed to load");
try {
let e = String(t?.message || t || "").trim(), r = e.toLowerCase();
@@ -6037,13 +6037,13 @@ function Su(e, t) {
return n;
}
}
-function Cu(e, t) {
+function Eu(e, t) {
let n = Math.max(1, Math.min(R.MAX_PAGE_SIZE, Number(e) || 1)), r = Math.max(0, Number(t) || 0);
if (r <= 0) return n;
let i = 2 ** Math.min(r, 5);
return Math.max(1, Math.min(R.MAX_PAGE_SIZE, n * i));
}
-function wu() {
+function Du() {
try {
let e = typeof navigator < "u" ? navigator : null, t = Number(e?.deviceMemory || 0) || 0;
if (t > 0 && t <= 4 || e?.connection?.saveData === !0) return !0;
@@ -6052,20 +6052,20 @@ function wu() {
}
return !1;
}
-function Tu() {
- return R.PREFETCH_NEXT_PAGE ? !wu() : !1;
+function Ou() {
+ return R.PREFETCH_NEXT_PAGE ? !Du() : !1;
}
-function Eu(e, t = {}) {
+function ku(e, t = {}) {
let n = Array.isArray(e.assets) ? e.assets : [];
- t.rebuildFromVisible && n.length ? Ei(e, n, {
+ t.rebuildFromVisible && n.length ? ki(e, n, {
assetKey: t.assetKey || e.assetKeyFn,
preserveHiddenCount: !!t.preserveHiddenCount
- }) : Ei(e, [], {
+ }) : ki(e, [], {
assetKey: t.assetKey || e.assetKeyFn,
preserveHiddenCount: !1
});
}
-function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingMessage: r, setStatusMessage: i, clearStatusMessage: a, resetAssets: o, setSelection: s, reconcileSelection: c, readScrollElement: l = () => null, readRenderedCards: u = () => [], scrollToAssetId: d = () => {}, canLoadMore: f = null } = {}) {
+function Au({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingMessage: r, setStatusMessage: i, clearStatusMessage: a, resetAssets: o, setSelection: s, reconcileSelection: c, readScrollElement: l = () => null, readRenderedCards: u = () => [], scrollToAssetId: d = () => {}, canLoadMore: f = null } = {}) {
let p = !1, m = null, h = null, g = {
pagesRequested: 0,
assetsReceived: 0,
@@ -6092,7 +6092,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
g.lastOperation = String(e || ""), t.reloadReason && (g.lastReloadReason = String(t.reloadReason || "")), t.appendReason && (g.lastAppendReason = String(t.appendReason || ""));
}
function y() {
- return bu(e);
+ return Cu(e);
}
function b() {
return C();
@@ -6128,7 +6128,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
...e,
counts: {
loaded: e.assets.length,
- visible: uu(y(), e.assets.length),
+ visible: pu(y(), e.assets.length),
total: e.pagination.total
},
metrics: { ...g }
@@ -6136,8 +6136,8 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
}
function C() {
let e = y();
- return Kc(e?.dataset || {}, {
- q: qc(e, t.query || "*"),
+ return Yc(e?.dataset || {}, {
+ q: Xc(e, t.query || "*"),
resolutionCompare: e?.dataset?.mjrFilterResolutionCompare || ""
});
}
@@ -6175,7 +6175,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
};
}
function D(e) {
- return mu.has(String(e || "").toLowerCase());
+ return _u.has(String(e || "").toLowerCase());
}
function O(e = null) {
try {
@@ -6193,9 +6193,9 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
} catch (e) {
console.debug?.(e);
}
- return Vc(y(), l());
+ return Wc(y(), l());
}
- function ee() {
+ function j() {
if (!R.DEFER_GRID_FETCH_DURING_EXECUTION) return !1;
try {
if (!Array.isArray(t.assets) || t.assets.length === 0) return !1;
@@ -6208,7 +6208,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
return console.debug?.(e), !1;
}
}
- function j() {
+ function M() {
try {
m?.timer && clearTimeout(m.timer);
} catch (e) {
@@ -6221,7 +6221,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
}
m = null;
}
- function M() {
+ function N() {
try {
h && clearTimeout(h);
} catch (e) {
@@ -6229,9 +6229,9 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
}
h = null;
}
- function N(e, n = R.PREFETCH_NEXT_PAGE_DELAY_MS) {
- if (!Tu()) return;
- M();
+ function ee(e, n = R.PREFETCH_NEXT_PAGE_DELAY_MS) {
+ if (!Ou()) return;
+ N();
let r = Math.max(0, Number(n) || 0);
h = setTimeout(() => {
h = null, !(t.requestId !== e || t.done || t.loading) && me().catch((e) => {
@@ -6240,15 +6240,15 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
}, r);
}
function te(e, t = {}) {
- j();
+ M();
let n = (() => {
try {
- return wl(C());
+ return Dl(C());
} catch (e) {
return console.debug?.(e), null;
}
})(), r = () => {
- if (ee()) {
+ if (j()) {
try {
m = {
...m,
@@ -6259,21 +6259,21 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
}
return;
}
- j();
+ M();
let i = y();
if (n) {
let e = null;
try {
- e = wl(C());
+ e = Dl(C());
} catch (e) {
console.debug?.(e);
}
if (e && e !== n) {
- ft("[Grid] Deferred execution reload skipped - scope/filter changed during execution");
+ ht("[Grid] Deferred execution reload skipped - scope/filter changed during execution");
return;
}
}
- let a = qc(i, e);
+ let a = Xc(i, e);
Promise.resolve().then(() => _e(a, {
...t || {},
reset: !0,
@@ -6292,18 +6292,18 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
console.debug?.(e);
}
}
- function ne(e, t = null) {
+ function P(e, t = null) {
if (!e || typeof e != "object") return "";
- let n = e.id == null ? `${e.type || ""}|${be(e)}|${e.filepath || ""}|${e.subfolder || ""}|${e.filename || ""}` : `id:${e.id}`;
+ let n = e.id == null ? `${e.type || ""}|${Be(e)}|${e.filepath || ""}|${e.subfolder || ""}|${e.filename || ""}` : `id:${e.id}`;
try {
- return bo(t || y() || globalThis?.__MJR_LAST_ASSETKEY_GRID__, e, n);
+ return Co(t || y() || globalThis?.__MJR_LAST_ASSETKEY_GRID__, e, n);
} catch (e) {
return console.debug?.(e), n;
}
}
- function P() {
+ function ne() {
try {
- let e = Mt?.() || {}, t = e.grid || {};
+ let e = Ft?.() || {}, t = e.grid || {};
return t.snapshotCacheEnabled === !0 || t.enableSnapshotCache === !0 || e.snapshotCacheEnabled === !0 || e.enableSnapshotCache === !0;
} catch (e) {
return console.debug?.(e), !1;
@@ -6311,17 +6311,17 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
}
function re(e = "") {
try {
- if (!P()) return;
+ if (!ne()) return;
let n = y(), r = Array.isArray(t.assets) ? t.assets : [];
if (!n || !r.length) return;
- let i = r.map(Tl).filter(Boolean);
+ let i = r.map(Ol).filter(Boolean);
if (!i.length) return;
- let a = i.length < r.length, o = Number(t.offset || i.length) || i.length, s = Number(t.total ?? i.length), c = Kc(n.dataset || {}, {
- q: qc(n, t.query || "*"),
+ let a = i.length < r.length, o = Number(t.offset || i.length) || i.length, s = Number(t.total ?? i.length), c = Yc(n.dataset || {}, {
+ q: Xc(n, t.query || "*"),
resolutionCompare: n.dataset?.mjrFilterResolutionCompare || ""
- }), l = wl(c);
+ }), l = Dl(c);
if (!l) return;
- Il(l, {
+ zl(l, {
assets: i,
title: String(e || "").trim(),
query: String(t.query || c.query || "*").trim() || "*",
@@ -6333,36 +6333,36 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
console.debug?.(e);
}
}
- function F() {
+ function ie() {
let e = y();
if (e) try {
- let t = pu.get(e);
+ let t = gu.get(e);
if (!t) return;
t.timer &&= (clearTimeout(t.timer), null), t.pending.clear(), t.flushing = !1;
} catch (e) {
console.debug?.(e);
}
}
- function I(e, n) {
- let r = _(), i = Array.isArray(n) ? n.length : 0, o = Ai(e, n, t, {
- loadMajoorSettings: Mt,
+ function F(e, n) {
+ let r = _(), i = Array.isArray(n) ? n.length : 0, o = Ni(e, n, t, {
+ loadMajoorSettings: Ft,
clearGridMessage: () => {
a();
},
ensureVirtualGrid: () => t.virtualGrid,
- setFileBadgeCollision: an,
- assetKey: (t) => ne(t, e),
- ensureDupStackCard: (e, t, n) => So(e, t, n)
+ setFileBadgeCollision: cn,
+ assetKey: (t) => P(t, e),
+ ensureDupStackCard: (e, t, n) => To(e, t, n)
});
return g.renderTimeMs += Math.max(0, _() - r), g.assetsReceived += i, g.visibleAssetsAdded += Number(o || 0) || 0, g.hiddenOrDedupedAssets += Math.max(0, i - (Number(o || 0) || 0)), o;
}
- function ie(e, t) {
+ function I(e, t) {
let n = String(t || "*").trim() || "*";
- return Yc(Kc(e?.dataset || {}, { q: n }));
+ return Qc(Yc(e?.dataset || {}, { q: n }));
}
function ae(e) {
- let t = C(), n = vu(yu(e).trim() || "*") || "*";
- return Zc({
+ let t = C(), n = xu(Su(e).trim() || "*") || "*";
+ return el({
...t,
q: n
});
@@ -6382,9 +6382,9 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
error: "Grid unavailable"
};
if (r === 0) {
- let s = ie(o, e), c = Er();
+ let s = I(o, e), c = kr();
if (c && c === s) {
- let o = Tr(s);
+ let o = Or(s);
if (o) try {
let s = await o;
if (Number(t.requestId) !== Number(i)) return {
@@ -6399,7 +6399,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
};
let c = s?.data?.assets;
if (s?.ok && Array.isArray(c)) {
- ft("[Grid] Using early-fetched data:", c.length, "assets");
+ ht("[Grid] Using early-fetched data:", c.length, "assets");
let t = s.data?.total ?? s.meta?.total ?? null;
return oe({
ok: !0,
@@ -6416,14 +6416,14 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
});
}
} catch (e) {
- ft("[Grid] Early fetch failed, falling back to normal fetch", e);
+ ht("[Grid] Early fetch failed, falling back to normal fetch", e);
}
}
}
- return oe(await Gl(o, e, n, r, {
- sanitizeQuery: vu,
- buildListURL: qe,
- get: Pe,
+ return oe(await Jl(o, e, n, r, {
+ sanitizeQuery: xu,
+ buildListURL: Ge,
+ get: Ie,
getGridState: () => t
}, {
requestId: i,
@@ -6435,7 +6435,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
offset: r
});
}
- let ce = Ul({
+ let ce = Kl({
query: {
get value() {
return t.query || "*";
@@ -6447,7 +6447,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
collection: {
append(e = []) {
let t = y();
- return t && e.length && Number(I(t, e) || 0) || 0;
+ return t && e.length && Number(F(t, e) || 0) || 0;
},
reset() {}
},
@@ -6506,12 +6506,12 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
console.debug?.(e);
}
let f = Array.isArray(t.selectedIds) ? t.selectedIds.join("|") : "", m = String(t.activeId || "");
- if (v("appendNextPage", { appendReason: "pagination" }), !A()) return !t.assets.length && !t.loading && Tu() && N(t.requestId, 400), {
+ if (v("appendNextPage", { appendReason: "pagination" }), !A()) return !t.assets.length && !t.loading && Ou() && ee(t.requestId, 400), {
ok: !0,
skipped: !0,
hidden: !0
};
- if (ee()) return {
+ if (j()) return {
ok: !0,
skipped: !0,
busy: !0
@@ -6529,7 +6529,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
let n = t.requestId, r = await ce.loadUntilVisible({
maxEmptyPages: 6,
canContinue: () => A(),
- getLimit: (e) => Cu(h, e),
+ getLimit: (e) => Eu(h, e),
beforeApplyPage: (e) => {
if (t.requestId !== n) return {
ok: !1,
@@ -6547,7 +6547,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
cursor: null,
total: null,
done: !1
- }), Eu(t), g.resetCount += 1, p = !1, null) : Array.isArray(t.assets) && t.assets.length ? (ft("[Grid LoadPage] empty response with cached visible assets - preserving cached view", {
+ }), ku(t), g.resetCount += 1, p = !1, null) : Array.isArray(t.assets) && t.assets.length ? (ht("[Grid LoadPage] empty response with cached visible assets - preserving cached view", {
offset: t.offset,
query: t.query
}), {
@@ -6558,18 +6558,18 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
}) : null;
},
onEmptyPage: (e) => {
- e.emptyPageIndex <= 0 || ft(`[Grid LoadPage] fetched adaptive page with no visible additions: offset=${t.offset}, fetched=${e.count}, consumed=${e.advanced}, added=${e.added}, limit=${e.limit}, done=${t.done}, visibleCount=${t.assets.length}, total=${t.total}`);
+ e.emptyPageIndex <= 0 || ht(`[Grid LoadPage] fetched adaptive page with no visible additions: offset=${t.offset}, fetched=${e.count}, consumed=${e.advanced}, added=${e.added}, limit=${e.limit}, done=${t.done}, visibleCount=${t.assets.length}, total=${t.total}`);
}
});
- if (de(), fe(), !r.ok) return r.aborted || r.stale || (ue({ done: !0 }), i(Su("Failed to load assets", r?.error || "Unknown error"), { error: !0 })), r;
+ if (de(), fe(), !r.ok) return r.aborted || r.stale || (ue({ done: !0 }), i(Tu("Failed to load assets", r?.error || "Unknown error"), { error: !0 })), r;
if (r.preservedCached) return r;
- if (t.done || r.added > 0) return re(t.query || qc(e, "*")), {
+ if (t.done || r.added > 0) return re(t.query || Xc(e, "*")), {
ok: !0,
count: r.count,
total: t.total
};
let a = r.lastResult || r.firstResult || r;
- return ft(`[Grid LoadPage] fetched one page with no visible additions: offset=${t.offset}, fetched=${r.count}, consumed=${a.advanced}, added=${a.added}, limit=${a.limit || h}, done=${t.done}, visibleCount=${t.assets.length}, total=${t.total}`), !t.done && Tu() && N(Number(t.requestId ?? 0) || 0, Math.min(R.PREFETCH_NEXT_PAGE_DELAY_MS ?? 700, 250)), {
+ return ht(`[Grid LoadPage] fetched one page with no visible additions: offset=${t.offset}, fetched=${r.count}, consumed=${a.advanced}, added=${a.added}, limit=${a.limit || h}, done=${t.done}, visibleCount=${t.assets.length}, total=${t.total}`), !t.done && Ou() && ee(Number(t.requestId ?? 0) || 0, Math.min(R.PREFETCH_NEXT_PAGE_DELAY_MS ?? 700, 250)), {
ok: !0,
count: r.count,
total: t.total,
@@ -6591,7 +6591,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
} catch (e) {
console.debug?.(e);
}
- return i(Su("Failed to load assets", e), { error: !0 }), {
+ return i(Tu("Failed to load assets", e), { error: !0 }), {
ok: !1,
error: e?.message || String(e)
};
@@ -6613,7 +6613,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
}
try {
let e = Date.now() - _;
- e < hu && await gu(hu - e);
+ e < vu && await yu(vu - e);
} catch (e) {
console.debug?.(e);
}
@@ -6630,21 +6630,21 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
}
let n = t.requestId, r = null;
try {
- r = wl(C());
+ r = Dl(C());
} catch (e) {
console.debug?.(e);
}
he = setTimeout(async () => {
- if (he = null, Number(t.requestId) !== Number(n) || ee() || !y()) return;
+ if (he = null, Number(t.requestId) !== Number(n) || j() || !y()) return;
if (r) {
let e = null;
try {
- e = wl(C());
+ e = Dl(C());
} catch (e) {
console.debug?.(e);
}
if (e && e !== r) {
- ft("[Grid] Snapshot head refresh skipped - context changed");
+ ht("[Grid] Snapshot head refresh skipped - context changed");
return;
}
}
@@ -6658,12 +6658,12 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
if (r) {
let e = null;
try {
- e = wl(C());
+ e = Dl(C());
} catch (e) {
console.debug?.(e);
}
if (e && e !== r) {
- ft("[Grid] Snapshot head refresh discarded - context changed mid-fetch");
+ ht("[Grid] Snapshot head refresh discarded - context changed mid-fetch");
return;
}
}
@@ -6672,7 +6672,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
if (i.total != null && ue({ total: i.total }), !a.length) return;
let o = 0;
for (let e of a) e && e.id != null && Ee(e) && (o += 1);
- o > 0 && (re(t.query || "*"), ft("[Grid] Snapshot head refresh: inserted", o, "new asset(s)"));
+ o > 0 && (re(t.query || "*"), ht("[Grid] Snapshot head refresh: inserted", o, "new asset(s)"));
} catch (e) {
console.debug?.("[Grid] Snapshot head refresh failed", e);
}
@@ -6693,19 +6693,19 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
} catch (e) {
console.debug?.(e);
}
- let d = yu(e).trim() || "*", f = /^\[object\s+HTML.*Element\]$/i.test(d) ? "*" : d, m = vu(f) || f;
+ let d = Su(e).trim() || "*", f = /^\[object\s+HTML.*Element\]$/i.test(d) ? "*" : d, m = xu(f) || f;
t.query = m;
let h = c ? E(m, i) : {
reason: "append",
nextContext: w(m)
};
- if (v("reload", { reloadReason: h.reason || "loadAssets" }), c && ee()) {
+ if (v("reload", { reloadReason: h.reason || "loadAssets" }), c && j()) {
let e = !1;
try {
let n = C();
n.query = m;
- let r = wl(n);
- if (P() && Fl(r) && (e = await L(n, { allowReplaceExisting: !0 }), t.requestId > s + +!!e)) return console.debug?.("[Grid] loadAssets aborted during deferral due to scope switch"), {
+ let r = Dl(n);
+ if (ne() && Rl(r) && (e = await we(n, { allowReplaceExisting: !0 }), t.requestId > s + +!!e)) return console.debug?.("[Grid] loadAssets aborted during deferral due to scope switch"), {
ok: !1,
aborted: !0
};
@@ -6739,15 +6739,15 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
} catch {
t.abortController = null;
}
- t.requestId = (Number(t.requestId) || 0) + 1, M(), F(), a(), p ? (t.query = m, ue({
+ t.requestId = (Number(t.requestId) || 0) + 1, N(), ie(), a(), p ? (t.query = m, ue({
offset: 0,
cursor: null,
total: null,
done: !1
- }), Eu(t, {
+ }), ku(t, {
rebuildFromVisible: !0,
preserveHiddenCount: !0,
- assetKey: (e) => ne(e, u)
+ assetKey: (e) => P(e, u)
})) : (o({
query: m,
total: null,
@@ -6757,10 +6757,10 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
cursor: null,
total: null,
done: !1
- }), Eu(t), g.resetCount += 1), n(m === "*" ? "Loading assets..." : `Searching for "${m}"...`);
+ }), ku(t), g.resetCount += 1), n(m === "*" ? "Loading assets..." : `Searching for "${m}"...`);
}
let _ = await me();
- return fe(), Tu() && _?.ok && !_?.skipped && !t.done && !_?.aborted && N(t.requestId), c && (pe({
+ return fe(), Ou() && _?.ok && !_?.skipped && !t.done && !_?.aborted && ee(t.requestId), c && (pe({
title: m,
showEmptyMessage: !(_?.skipped || _?.hidden || _?.aborted || _?.stale || _?.preservedCached || _?.busy)
}), O(h.nextContext)), {
@@ -6795,7 +6795,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
} catch {
t.abortController = null;
}
- t.requestId = (Number(t.requestId) || 0) + 1, F(), a(), h ? (t.query = String(c || "Collection"), ue({
+ t.requestId = (Number(t.requestId) || 0) + 1, ie(), a(), h ? (t.query = String(c || "Collection"), ue({
offset: 0,
cursor: null,
total: p.length,
@@ -6809,15 +6809,15 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
cursor: null,
total: p.length,
done: !0
- }), Eu(t), g.resetCount += 1), u ? (n(p.length ? `Loading ${c}...` : `${c} is empty`), t.loading = !0) : (r(), t.loading = !1);
+ }), ku(t), g.resetCount += 1), u ? (n(p.length ? `Loading ${c}...` : `${c} is empty`), t.loading = !0) : (r(), t.loading = !1);
}
try {
- let e = Jc(f, "mtime_desc"), n = p.sort((t, n) => ql(t, n, e));
+ let e = Zc(f, "mtime_desc"), n = p.sort((t, n) => Xl(t, n, e));
return l && h && (o({
query: String(c || "Collection"),
total: p.length,
done: !0
- }), Eu(t), g.resetCount += 1), I(f, n), ue({
+ }), ku(t), g.resetCount += 1), F(f, n), ue({
offset: n.length,
cursor: null,
total: n.length,
@@ -6828,14 +6828,14 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
total: n.length
};
} catch (e) {
- return i(Su("Failed to load collection", e), { error: !0 }), {
+ return i(Tu("Failed to load collection", e), { error: !0 }), {
ok: !1,
error: e?.message || String(e)
};
} finally {
if (u) try {
let e = Date.now() - m;
- e < hu && await gu(hu - e);
+ e < vu && await yu(vu - e);
} catch (e) {
console.debug?.(e);
}
@@ -6845,7 +6845,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
function ye() {
v("reload", { reloadReason: "scopeSwitch" });
try {
- xo(y());
+ wo(y());
} catch (e) {
console.debug?.(e);
}
@@ -6859,13 +6859,13 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
cursor: null,
total: null,
done: !1
- }), M(), F(), r(), a(), p = !0, s([], "");
+ }), N(), ie(), r(), a(), p = !0, s([], "");
}
- function xe() {
+ function be() {
t.virtualGrid?.setItems?.(t.assets || []);
}
- function Se(e, { updateSelection: n = !0 } = {}) {
- let r = Bl(t, e, { assetKey: (e) => ne(e, y()) });
+ function xe(e, { updateSelection: n = !0 } = {}) {
+ let r = Ul(t, e, { assetKey: (e) => P(e, y()) });
return r ? (Number.isFinite(Number(t.total)) && ue({ total: Math.max(0, Number(t.total || 0) - r) }), n && c(t.assets.map((e) => String(e?.id || "")).filter(Boolean), { activeId: t.activeId }), !t.assets.length && !t.loading && i("No assets found"), {
ok: !0,
removed: r,
@@ -6876,7 +6876,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
selectedIds: t.selectedIds.slice()
};
}
- function Ce() {
+ function Se() {
let e = y(), t = l();
if (!e || !t) return null;
let n = (e) => {
@@ -6887,7 +6887,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
} catch {
return !1;
}
- }, r = cu(e), i = u(), a = i.find((e) => n(e)) || i[0] || null, o = n(r) ? r : a;
+ }, r = du(e), i = u(), a = i.find((e) => n(e)) || i[0] || null, o = n(r) ? r : a;
if (!o) return null;
try {
let e = o.getBoundingClientRect(), n = t.getBoundingClientRect();
@@ -6900,17 +6900,17 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
return console.debug?.(e), null;
}
}
- async function we(e) {
+ async function Ce(e) {
let t = y(), n = l();
if (!t || !n || !e) return;
- await xu();
+ await wu();
let r = String(e.id || "").trim();
if (!r) {
n.scrollTop = Number(e.scrollTop || 0) || 0, g.scrollRestoreCount += 1;
return;
}
- d(r, { align: "start" }), await xu();
- let i = lu(t, r);
+ d(r, { align: "start" }), await wu();
+ let i = fu(t, r);
if (!i) n.scrollTop = Number(e.scrollTop || 0) || 0, g.scrollRestoreCount += 1;
else try {
let t = i.getBoundingClientRect(), r = n.getBoundingClientRect(), a = t.top - r.top - Number(e.top || 0);
@@ -6919,10 +6919,10 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
console.debug?.(t), n.scrollTop = Number(e.scrollTop || 0) || 0, g.scrollRestoreCount += 1;
}
}
- async function L(e = {}, n = {}) {
+ async function we(e = {}, n = {}) {
let i = y();
- if (!i || !P()) return !1;
- let s = wl(e), c = Pl(s);
+ if (!i || !ne()) return !1;
+ let s = Dl(e), c = Ll(s);
if (!c || !Array.isArray(c.assets) || !c.assets.length || !n.allowReplaceExisting && Array.isArray(t.assets) && t.assets.length) return !1;
g.lastResetReason = "snapshot";
try {
@@ -6935,11 +6935,11 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
} catch {
t.abortController = null;
}
- return t.requestId = (Number(t.requestId) || 0) + 1, M(), F(), o({
+ return t.requestId = (Number(t.requestId) || 0) + 1, N(), ie(), o({
query: c.query || n.title || "Cached",
total: Number(c.total ?? c.assets.length) || c.assets.length,
done: !!c.done
- }), Eu(t), g.resetCount += 1, a(), r(), t.loading = !1, I(i, c.assets), ue({
+ }), ku(t), g.resetCount += 1, a(), r(), t.loading = !1, F(i, c.assets), ue({
offset: Math.max(Number(c.assets.length || 0) || 0, Number(c.offset || c.assets.length) || c.assets.length),
cursor: c.cursor || null,
total: Number(c.total ?? c.assets.length) || c.assets.length,
@@ -6953,38 +6953,38 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
return {
getOrCreateState: () => t,
ensureVirtualGrid: () => t.virtualGrid,
- upsertState: pu,
- maxBatchSize: fu,
- debounceMs: du,
- assetKey: (t) => _u(t) || ne(t, e),
- loadMajoorSettings: Mt
+ upsertState: gu,
+ maxBatchSize: hu,
+ debounceMs: mu,
+ assetKey: (t) => bu(t) || P(t, e),
+ loadMajoorSettings: Ft
};
}
function Ee(e) {
v("upsertRealtime", { appendReason: "realtime" });
let t = y();
- return !t || !e || !e.id ? !1 : au(t, e, Te(t));
+ return !t || !e || !e.id ? !1 : cu(t, e, Te(t));
}
let De = !1;
function Oe(e) {
v("upsertRealtime", { appendReason: "realtimeImmediate" });
let t = y();
if (!t || !e || !e.id) return !1;
- let n = au(t, e, Te(t));
+ let n = cu(t, e, Te(t));
return n && !De && (De = !0, queueMicrotask(() => {
De = !1;
let e = y();
- e && iu(e, Te(e));
+ e && su(e, Te(e));
})), n;
}
function ke() {
re(t.query || "Cached");
try {
- Nl();
+ Il();
} catch (e) {
console.debug?.(e);
}
- j(), M();
+ M(), N();
try {
t.abortController?.abort?.();
} catch (e) {
@@ -6992,7 +6992,7 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
}
let e = y();
if (e) try {
- let t = Xl(e, pu);
+ let t = $l(e, gu);
t?.timer && (clearTimeout(t.timer), t.timer = null), t?.pending?.clear?.();
} catch (e) {
console.debug?.(e);
@@ -7017,11 +7017,11 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
loadAssetsFromList: ve,
loadNextPage: me,
prepareGridForScopeSwitch: ye,
- refreshGrid: xe,
- removeAssets: Se,
- captureAnchor: Ce,
- restoreAnchor: we,
- hydrateFromSnapshot: L,
+ refreshGrid: be,
+ removeAssets: xe,
+ captureAnchor: Se,
+ restoreAnchor: Ce,
+ hydrateFromSnapshot: we,
upsertAsset: Ee,
upsertAssetNow: Oe,
getCanonicalState: x,
@@ -7030,10 +7030,10 @@ function Du({ gridContainerRef: e, state: t, setLoadingMessage: n, clearLoadingM
};
}
// node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js
-function Ou(e) {
+function ju(e) {
return typeof e == "object" ? e.key : e;
}
-function ku(e, t) {
+function Mu(e, t) {
let n = e.length;
return new Proxy(e, { get(e, r, i) {
if (typeof r == "string") {
@@ -7062,7 +7062,7 @@ function ku(e, t) {
} });
}
// node_modules/@tanstack/virtual-core/dist/esm/utils.js
-function Au(e, t, n) {
+function Nu(e, t, n) {
let r = n.initialDeps ?? [], i, a = !0;
function o() {
let o = e();
@@ -7072,34 +7072,34 @@ function Au(e, t, n) {
r = e;
}, o;
}
-function ju(e, t) {
+function Pu(e, t) {
if (e === void 0) throw Error(`Unexpected undefined${t ? `: ${t}` : ""}`);
return e;
}
-var Mu = (e, t) => Math.abs(e - t) < 1.01, Nu = (e, t, n) => {
+var Fu = (e, t) => Math.abs(e - t) < 1.01, Iu = (e, t, n) => {
let r;
return Object.assign(function(...i) {
e.clearTimeout(r), r = e.setTimeout(() => t.apply(this, i), n);
}, { cancel: () => {
e.clearTimeout(r);
} });
-}, Pu, Fu = () => {
- if (Pu !== void 0) return Pu;
- if (typeof navigator > "u") return Pu = !1;
- if (/iP(hone|od|ad)/.test(navigator.userAgent)) return Pu = !0;
+}, Lu, Ru = () => {
+ if (Lu !== void 0) return Lu;
+ if (typeof navigator > "u") return Lu = !1;
+ if (/iP(hone|od|ad)/.test(navigator.userAgent)) return Lu = !0;
let e = navigator.maxTouchPoints;
- return Pu = navigator.platform === "MacIntel" && e !== void 0 && e > 0;
-}, Iu = (e) => {
+ return Lu = navigator.platform === "MacIntel" && e !== void 0 && e > 0;
+}, zu = (e) => {
let { offsetWidth: t, offsetHeight: n } = e;
return {
width: t,
height: n
};
-}, Lu = (e) => e, Ru = (e) => {
+}, Bu = (e) => e, Vu = (e) => {
let t = Math.max(e.startIndex - e.overscan, 0), n = Math.min(e.endIndex + e.overscan, e.count - 1) - t + 1, r = Array(n);
for (let e = 0; e < n; e++) r[e] = t + e;
return r;
-}, zu = (e, t) => {
+}, Hu = (e, t) => {
let n = e.scrollElement;
if (!n) return;
let r = e.targetWindow;
@@ -7111,7 +7111,7 @@ var Mu = (e, t) => Math.abs(e - t) < 1.01, Nu = (e, t, n) => {
height: Math.round(r)
});
};
- if (i(Iu(n)), !r.ResizeObserver) return () => {};
+ if (i(zu(n)), !r.ResizeObserver) return () => {};
let a = new r.ResizeObserver((t) => {
let r = () => {
let e = t[0];
@@ -7125,28 +7125,28 @@ var Mu = (e, t) => Math.abs(e - t) < 1.01, Nu = (e, t, n) => {
return;
}
}
- i(Iu(n));
+ i(zu(n));
};
e.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(r) : r();
});
return a.observe(n, { box: "border-box" }), () => {
a.unobserve(n);
};
-}, Bu = { passive: !0 }, Vu = typeof window > "u" || "onscrollend" in window, Hu = (e, t, n) => {
+}, Uu = { passive: !0 }, Wu = typeof window > "u" || "onscrollend" in window, Gu = (e, t, n) => {
let r = e.scrollElement;
if (!r) return;
let i = e.targetWindow;
if (!i) return;
- let a = e.options.useScrollendEvent && Vu, o = 0, s = a ? null : Nu(i, () => t(n(r), !1), e.options.isScrollingResetDelay), c = (e) => () => {
+ let a = e.options.useScrollendEvent && Wu, o = 0, s = a ? null : Iu(i, () => t(n(r), !1), e.options.isScrollingResetDelay), c = (e) => () => {
o = n(r), s?.(), t(o, e);
}, l = c(!0), u = c(!1);
- return r.addEventListener("scroll", l, Bu), a && r.addEventListener("scrollend", u, Bu), () => {
+ return r.addEventListener("scroll", l, Uu), a && r.addEventListener("scrollend", u, Uu), () => {
r.removeEventListener("scroll", l), a && r.removeEventListener("scrollend", u), s?.cancel();
};
-}, Uu = (e, t) => Hu(e, t, (t) => {
+}, Ku = (e, t) => Gu(e, t, (t) => {
let { horizontal: n, isRtl: r } = e.options;
return n ? t.scrollLeft * (r && -1 || 1) : t.scrollTop;
-}), Wu = (e, t, n) => {
+}), qu = (e, t, n) => {
if (n.options.useCachedMeasurements) {
let t = n.indexFromElement(e), r = n.options.getItemKey(t);
return n.itemSizeCache.get(r) ?? n.options.estimateSize(t);
@@ -7160,14 +7160,14 @@ var Mu = (e, t) => Math.abs(e - t) < 1.01, Nu = (e, t, n) => {
if (i !== void 0) return i;
}
return e[n.options.horizontal ? "offsetWidth" : "offsetHeight"];
-}, Gu = (e, { adjustments: t = 0, behavior: n }, r) => {
+}, Ju = (e, { adjustments: t = 0, behavior: n }, r) => {
var i, a;
(a = (i = r.scrollElement)?.scrollTo) == null || a.call(i, {
[r.options.horizontal ? "left" : "top"]: e + t,
behavior: n
});
};
-function Ku(e, t, n, r) {
+function Yu(e, t, n, r) {
if (t === 0) return !1;
let i = r(0), a = /* @__PURE__ */ new Set(), o = 0;
for (; o < e;) {
@@ -7181,7 +7181,7 @@ function Ku(e, t, n, r) {
for (let e = s; e < t; e++) if (a.has(r(e))) return !1;
return !0;
}
-var qu = class {
+var Xu = class {
constructor(e) {
this.unsubs = [], this.scrollElement = null, this.targetWindow = null, this.isScrolling = !1, this.scrollState = null, this.measurementsCache = [], this._singleLaneMeasurements = null, this.itemSizeCache = /* @__PURE__ */ new Map(), this.itemSizeCacheVersion = 0, this.laneAssignments = /* @__PURE__ */ new Map(), this.pendingMin = null, this.prevLanes = void 0, this.lanesChangedFlag = !1, this.lanesSettling = !1, this.pendingScrollAnchor = null, this.scrollRect = null, this.scrollOffset = null, this.scrollDirection = null, this.scrollAdjustments = 0, this._iosDeferredAdjustment = 0, this._iosTouching = !1, this._iosJustTouchEnded = !1, this._iosTouchEndTimerId = null, this._intendedScrollOffset = null, this._clampedAdjustment = null, this.elementsCache = /* @__PURE__ */ new Map(), this.now = () => {
var e;
@@ -7221,10 +7221,10 @@ var qu = class {
scrollPaddingStart: 0,
scrollPaddingEnd: 0,
horizontal: !1,
- getItemKey: Lu,
- rangeExtractor: Ru,
+ getItemKey: Bu,
+ rangeExtractor: Vu,
onChange: () => {},
- measureElement: Wu,
+ measureElement: qu,
initialRect: {
width: 0,
height: 0
@@ -7251,13 +7251,13 @@ var qu = class {
}
let n = this.options, r = null, i = null, a = !1;
if (n !== void 0 && n.enabled && t.enabled && t.anchorTo === "end" && this.scrollElement !== null) {
- let e = n.count, o = t.count, s = this.getMeasurements(), c = this._singleLaneMeasurements?.items ?? s, l = (e) => Ou(c[e]), u = e > 0 ? l(0) : null, d = e > 0 ? l(e - 1) : null;
+ let e = n.count, o = t.count, s = this.getMeasurements(), c = this._singleLaneMeasurements?.items ?? s, l = (e) => ju(c[e]), u = e > 0 ? l(0) : null, d = e > 0 ? l(e - 1) : null;
if (o !== e || e > 0 && o > 0 && (t.getItemKey(0) !== u || t.getItemKey(o - 1) !== d)) {
a = !0;
let c = e > 0 ? this.getVirtualItemForOffset(this.getScrollOffset()) ?? s[0] : null;
c && (r = [c.key, this.getScrollOffset() - c.start]);
let u = t.followOnAppend === !0 ? "auto" : t.followOnAppend || null;
- u && o > 0 && this.isAtEnd(n.scrollEndThreshold) && (e === 0 || t.getItemKey(o - 1) !== d) && (o > e || Ku(e, o, l, t.getItemKey)) && (i = u);
+ u && o > 0 && this.isAtEnd(n.scrollEndThreshold) && (e === 0 || t.getItemKey(o - 1) !== d) && (o > e || Yu(e, o, l, t.getItemKey)) && (i = u);
}
}
this.options = t, a && (this.pendingMin = 0, this.itemSizeCacheVersion++);
@@ -7282,7 +7282,7 @@ var qu = class {
}, this.notify = (e) => {
var t, n;
(n = (t = this.options).onChange) == null || n.call(t, this, e);
- }, this.maybeNotify = Au(() => (this.calculateRange(), [
+ }, this.maybeNotify = Nu(() => (this.calculateRange(), [
this.isScrolling,
this.range ? this.range.startIndex : null,
this.range ? this.range.endIndex : null
@@ -7320,11 +7320,11 @@ var qu = class {
let e = this.scrollElement, t = () => {
this._iosTouching = !0, this._iosJustTouchEnded = !1, this._iosTouchEndTimerId !== null && this.targetWindow != null && (this.targetWindow.clearTimeout(this._iosTouchEndTimerId), this._iosTouchEndTimerId = null);
}, n = () => {
- this._iosTouching = !1, Fu() && this.targetWindow != null && (this._iosJustTouchEnded = !0, this._iosTouchEndTimerId = this.targetWindow.setTimeout(() => {
+ this._iosTouching = !1, Ru() && this.targetWindow != null && (this._iosJustTouchEnded = !0, this._iosTouchEndTimerId = this.targetWindow.setTimeout(() => {
this._iosJustTouchEnded = !1, this._iosTouchEndTimerId = null, this._flushIosDeferredIfReady();
}, 150));
};
- e.addEventListener("touchstart", t, Bu), e.addEventListener("touchend", n, Bu), this.unsubs.push(() => {
+ e.addEventListener("touchstart", t, Uu), e.addEventListener("touchend", n, Uu), this.unsubs.push(() => {
e.removeEventListener("touchstart", t), e.removeEventListener("touchend", n), this._iosTouchEndTimerId !== null && this.targetWindow != null && (this.targetWindow.clearTimeout(this._iosTouchEndTimerId), this._iosTouchEndTimerId = null);
});
}
@@ -7336,7 +7336,7 @@ var qu = class {
let t = this.pendingScrollAnchor;
if (this.pendingScrollAnchor = null, t && this.scrollElement && this.options.enabled) {
let [e, n, r, i] = t;
- e !== null && !r && (Fu() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded) ? i !== 0 && (this._iosDeferredAdjustment += i) : this.scrollState?.behavior === "smooth" && !Mu(this.getScrollOffset() - i, this.scrollState.lastTargetOffset) || this._scrollToOffset(this.getScrollOffset(), {
+ e !== null && !r && (Ru() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded) ? i !== 0 && (this._iosDeferredAdjustment += i) : this.scrollState?.behavior === "smooth" && !Fu(this.getScrollOffset() - i, this.scrollState.lastTargetOffset) || this._scrollToOffset(this.getScrollOffset(), {
adjustments: void 0,
behavior: void 0
})), r && this.scrollToEnd({ behavior: r });
@@ -7365,7 +7365,7 @@ var qu = class {
adjustments: this.scrollAdjustments += n,
behavior: void 0
});
- }, this.rafId = null, this.getSize = () => this.options.enabled ? (this.scrollRect = this.scrollRect ?? this.options.initialRect, this.scrollRect[this.options.horizontal ? "width" : "height"]) : (this.scrollRect = null, 0), this.getScrollOffset = () => this.options.enabled ? (this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset == "function" ? this.options.initialOffset() : this.options.initialOffset), this.scrollOffset) : (this.scrollOffset = null, 0), this.getMeasurementOptions = Au(() => [
+ }, this.rafId = null, this.getSize = () => this.options.enabled ? (this.scrollRect = this.scrollRect ?? this.options.initialRect, this.scrollRect[this.options.horizontal ? "width" : "height"]) : (this.scrollRect = null, 0), this.getScrollOffset = () => this.options.enabled ? (this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset == "function" ? this.options.initialOffset() : this.options.initialOffset), this.scrollOffset) : (this.scrollOffset = null, 0), this.getMeasurementOptions = Nu(() => [
this.options.count,
this.options.paddingStart,
this.options.scrollMargin,
@@ -7383,7 +7383,7 @@ var qu = class {
lanes: a,
laneAssignmentMode: o,
gap: s
- }), { key: !1 }), this.isIndexInRange = (e) => e >= 0 && e < this.options.count, this.getMeasurements = Au(() => [this.getMeasurementOptions(), this.itemSizeCacheVersion], ({ count: e, paddingStart: t, scrollMargin: n, getItemKey: r, enabled: i, lanes: a, laneAssignmentMode: o, gap: s }, c) => {
+ }), { key: !1 }), this.isIndexInRange = (e) => e >= 0 && e < this.options.count, this.getMeasurements = Nu(() => [this.getMeasurementOptions(), this.itemSizeCacheVersion], ({ count: e, paddingStart: t, scrollMargin: n, getItemKey: r, enabled: i, lanes: a, laneAssignmentMode: o, gap: s }, c) => {
let l = this.itemSizeCache;
if (!i) return this.measurementsCache = [], this._singleLaneMeasurements = null, this.itemSizeCache.clear(), this.laneAssignments.clear(), [];
if (this.laneAssignments.size > e) for (let t of this.laneAssignments.keys()) t >= e && this.laneAssignments.delete(t);
@@ -7413,7 +7413,7 @@ var qu = class {
flat: a,
items: o
};
- let d = ku(o, a);
+ let d = Mu(o, a);
return this.measurementsCache = d, d;
}
let d = this.measurementsCache.slice(0, u), f = Array(a).fill(void 0), p = new Float64Array(a), m = 0;
@@ -7449,15 +7449,15 @@ var qu = class {
}, {
key: !1,
debug: () => this.options.debug
- }), this.calculateRange = Au(() => [
+ }), this.calculateRange = Nu(() => [
this.getMeasurements(),
this.getSize(),
this.getScrollOffset(),
this.options.lanes
- ], (e, t, n, r) => e.length === 0 || t === 0 ? (this.range = null, null) : (this.range = Xu(e, t, n, r, r === 1 && this._singleLaneMeasurements !== null ? this._singleLaneMeasurements.flat : null), this.range), {
+ ], (e, t, n, r) => e.length === 0 || t === 0 ? (this.range = null, null) : (this.range = $u(e, t, n, r, r === 1 && this._singleLaneMeasurements !== null ? this._singleLaneMeasurements.flat : null), this.range), {
key: !1,
debug: () => this.options.debug
- }), this.getVirtualIndexes = Au(() => {
+ }), this.getVirtualIndexes = Nu(() => {
let e = null, t = null, n = this.calculateRange();
return n && (e = n.startIndex, t = n.endIndex), this.maybeNotify.updateDeps([
this.isScrolling,
@@ -7523,7 +7523,7 @@ var qu = class {
let f = !1;
a ? f = this.applyScrollAdjustment(this.getTotalSize() - c) : d && (f = this.applyScrollAdjustment(s)), this.notify(f), this._retryClampedAdjustment();
}
- }, this.getVirtualItems = Au(() => [this.getVirtualIndexes(), this.getMeasurements()], (e, t) => {
+ }, this.getVirtualItems = Nu(() => [this.getVirtualIndexes(), this.getMeasurements()], (e, t) => {
let n = [];
for (let r = 0, i = e.length; r < i; r++) {
let i = t[e[r]];
@@ -7537,7 +7537,7 @@ var qu = class {
let t = this.getMeasurements();
if (t.length === 0) return;
let n = this._singleLaneMeasurements?.flat, r = this.options.lanes === 1 && n != null;
- return ju(t[Ju(0, t.length - 1, r ? (e) => n[e * 2] : (e) => ju(t[e]).start, e)]);
+ return Pu(t[Zu(0, t.length - 1, r ? (e) => n[e * 2] : (e) => Pu(t[e]).start, e)]);
}, this.getMaxScrollOffset = () => {
if (!this.scrollElement) return 0;
if ("scrollHeight" in this.scrollElement) return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;
@@ -7650,7 +7650,7 @@ var qu = class {
}
applyScrollAdjustment(e, t) {
if (e === 0) return !1;
- if (Fu() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) return this._iosDeferredAdjustment += e, !1;
+ if (Ru() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) return this._iosDeferredAdjustment += e, !1;
{
let n = this.getScrollOffset() + this.scrollAdjustments + e, r = this.scrollElement, i = r !== null && ("scrollHeight" in r || "document" in r) ? this.getMaxScrollOffset() : null;
return this._clampedAdjustment = i !== null && n > i + .5 ? {
@@ -7674,7 +7674,7 @@ var qu = class {
return;
}
let e = this.scrollState.index == null ? void 0 : this.getOffsetForIndex(this.scrollState.index, this.scrollState.align), t = e ? e[0] : this.scrollState.lastTargetOffset, n = t !== this.scrollState.lastTargetOffset;
- if (!n && Mu(t, this.getScrollOffset())) {
+ if (!n && Fu(t, this.getScrollOffset())) {
if (this.scrollState.stableFrames++, this.scrollState.stableFrames >= 1) {
this.getScrollOffset() !== t && this._scrollToOffset(t, {
adjustments: void 0,
@@ -7691,7 +7691,7 @@ var qu = class {
}
this.scheduleScrollReconcile();
}
-}, Ju = (e, t, n, r) => {
+}, Zu = (e, t, n, r) => {
for (; e <= t;) {
let i = (e + t) / 2 | 0, a = n(i);
if (a < r) e = i + 1;
@@ -7700,7 +7700,7 @@ var qu = class {
}
return e > 0 ? e - 1 : 0;
};
-function Yu(e, t, n) {
+function Qu(e, t, n) {
let r = 0;
for (; r <= t;) {
let i = (r + t) / 2 | 0, a = e[i * 2];
@@ -7710,21 +7710,21 @@ function Yu(e, t, n) {
}
return r > 0 ? r - 1 : 0;
}
-function Xu(e, t, n, r, i) {
+function $u(e, t, n, r, i) {
let a = e.length - 1;
if (e.length <= r) return {
startIndex: 0,
endIndex: a
};
if (r === 1 && i !== null) {
- let e = Yu(i, a, n), r = e, o = n + t;
+ let e = Qu(i, a, n), r = e, o = n + t;
for (; r < a && i[r * 2] + i[r * 2 + 1] < o;) r++;
return {
startIndex: e,
endIndex: r
};
}
- let o = Ju(0, a, (t) => e[t].start, n), s = o;
+ let o = Zu(0, a, (t) => e[t].start, n), s = o;
if (r === 1) for (; s < a && e[s].end < n + t;) s++;
else if (r > 1) {
let i = Array(r).fill(0);
@@ -7745,34 +7745,34 @@ function Xu(e, t, n, r, i) {
};
}
// node_modules/@tanstack/vue-virtual/dist/esm/index.js
-function Zu(e) {
- let t = new qu(Z(e)), n = mr(t), r = t._didMount();
- return or(() => Z(e).getScrollElement(), (e) => {
+function ed(e) {
+ let t = new Xu(Z(e)), n = _r(t), r = t._didMount();
+ return lr(() => Z(e).getScrollElement(), (e) => {
e && t._willUpdate();
- }, { immediate: !0 }), or(() => Z(e), (e) => {
+ }, { immediate: !0 }), lr(() => Z(e), (e) => {
t.setOptions({
...e,
onChange: (t, r) => {
var i;
- dr(n), (i = e.onChange) == null || i.call(e, t, r);
+ mr(n), (i = e.onChange) == null || i.call(e, t, r);
}
- }), t._willUpdate(), dr(n);
- }, { immediate: !0 }), cr(r), n;
+ }), t._willUpdate(), mr(n);
+ }, { immediate: !0 }), dr(r), n;
}
-function Qu(e) {
- return Zu(K(() => ({
- observeElementRect: zu,
- observeElementOffset: Uu,
- scrollToFn: Gu,
+function td(e) {
+ return ed(K(() => ({
+ observeElementRect: Hu,
+ observeElementOffset: Ku,
+ scrollToFn: Ju,
...Z(e)
})));
}
// ui/vue/grid/useGridVirtualRows.ts
-function $u(e, t = 0) {
+function nd(e, t = 0) {
let n = Number(Z(e));
return Number.isFinite(n) ? n : t;
}
-function ed(e = [], t = 1) {
+function rd(e = [], t = 1) {
let n = Array.isArray(e) ? e : [], r = Math.max(1, Number(t) || 1), i = [];
for (let e = 0; e < n.length; e += r) i.push({
index: Math.floor(e / r),
@@ -7780,22 +7780,22 @@ function ed(e = [], t = 1) {
});
return i;
}
-function td(e = [], t = 0, n = 1) {
+function id(e = [], t = 0, n = 1) {
let r = Array.isArray(e) ? e : [], i = Math.max(1, Number(n) || 1), a = Math.max(0, Number(t) || 0) * i;
return r.slice(a, a + i);
}
-function nd({ scrollRef: e, items: t, rows: n, columnCount: r, estimateRowHeight: i, overscan: a = 8, enabled: o = !0, measure: s = Wu } = {}) {
+function ad({ scrollRef: e, items: t, rows: n, columnCount: r, estimateRowHeight: i, overscan: a = 8, enabled: o = !0, measure: s = qu } = {}) {
let c = K(() => {
if (!Z(o)) return 0;
let e = Z(n);
if (Array.isArray(e)) return e.length;
- let i = Z(t) || [], a = Math.max(1, $u(r, 1));
+ let i = Z(t) || [], a = Math.max(1, nd(r, 1));
return Math.ceil((Array.isArray(i) ? i.length : 0) / a);
- }), l = Qu(K(() => ({
+ }), l = td(K(() => ({
count: c.value,
getScrollElement: () => Z(e) || null,
- estimateSize: () => Math.max(1, $u(i, 120)),
- overscan: Math.max(0, $u(a, 8)),
+ estimateSize: () => Math.max(1, nd(i, 120)),
+ overscan: Math.max(0, nd(a, 8)),
measureElement: s
})));
return {
@@ -7815,27 +7815,27 @@ function nd({ scrollRef: e, items: t, rows: n, columnCount: r, estimateRowHeight
groupKey: String(n?.groupKey || "")
};
});
- let i = Z(t) || [], a = Math.max(1, $u(r, 1));
+ let i = Z(t) || [], a = Math.max(1, nd(r, 1));
return l.value.getVirtualItems().map((e) => ({
key: e.key,
index: e.index,
virtual: e,
- items: td(i, e.index, a),
+ items: id(i, e.index, a),
kind: "assets",
title: "",
groupKey: ""
}));
}),
totalSize: K(() => l.value.getTotalSize()),
- getRowItems: (e) => td(Z(t) || [], e, $u(r, 1))
+ getRowItems: (e) => id(Z(t) || [], e, nd(r, 1))
};
}
// ui/vue/grid/useInfiniteTrigger.ts
-function rd(e, t = !0) {
+function od(e, t = !0) {
let n = Z(e);
return n == null ? t : !!n;
}
-function id({ rootRef: e, enabled: t = !0, canLoad: n = !0, loadMore: r, rootMargin: i = "900px", threshold: a = .01 } = {}) {
+function sd({ rootRef: e, enabled: t = !0, canLoad: n = !0, loadMore: r, rootMargin: i = "900px", threshold: a = .01 } = {}) {
let o = Q(null), s = null, c = !1;
function l() {
try {
@@ -7846,7 +7846,7 @@ function id({ rootRef: e, enabled: t = !0, canLoad: n = !0, loadMore: r, rootMar
s = null;
}
async function u() {
- if (!c && rd(t, !0) && rd(n, !0) && typeof r == "function") {
+ if (!c && od(t, !0) && od(n, !0) && typeof r == "function") {
c = !0;
try {
await r();
@@ -7866,7 +7866,7 @@ function id({ rootRef: e, enabled: t = !0, canLoad: n = !0, loadMore: r, rootMar
threshold: a
}), s.observe(t));
}
- return Yn() && (Zn(d), ar(l), or(() => [Z(e), o.value], () => d(), { flush: "post" })), {
+ return Qn() && (er(d), cr(l), lr(() => [Z(e), o.value], () => d(), { flush: "post" })), {
sentinelRef: o,
connect: d,
disconnect: l,
@@ -7874,48 +7874,48 @@ function id({ rootRef: e, enabled: t = !0, canLoad: n = !0, loadMore: r, rootMar
};
}
// ui/vue/grid/useGridDisplayAssets.ts
-var ad = ["_mjrNameCollisionCount", "_mjrNameCollisionPaths"];
-function od(e) {
- let t = gi(e?.filename);
+var cd = ["_mjrNameCollisionCount", "_mjrNameCollisionPaths"];
+function ld(e) {
+ let t = yi(e?.filename);
return t ? `${String(e?.source || e?.type || "").trim().toLowerCase()}|${String(e?.root_id || e?.custom_root_id || "").trim().toLowerCase()}|${String(e?.subfolder || "").trim().toLowerCase()}|${t}` : "";
}
-function sd(e) {
+function ud(e) {
return !!e;
}
-function cd(e, t, n) {
- _r(e)?.[t] !== n && (e[t] = n);
-}
-function ld(e, t) {
- let n = _r(e);
- n && Object.prototype.hasOwnProperty.call(n, t) && delete e[t];
-}
-function ud(e, t) {
- if (!Array.isArray(e) || e.length !== t.length) return !1;
- for (let n = 0; n < t.length; n++) if (_r(e[n]) !== _r(t[n])) return !1;
- return !0;
-}
-function dd(e) {
- cd(e, "_mjrNameCollision", !1);
- for (let t of ad) ld(e, t);
- cd(e, "_mjrDupStack", !1), cd(e, "_mjrDupMembers", null), cd(e, "_mjrDupCount", 0);
+function dd(e, t, n) {
+ br(e)?.[t] !== n && (e[t] = n);
}
function fd(e, t) {
- for (let t of ad) ld(e, t);
- cd(e, "_mjrNameCollision", !1), cd(e, "_mjrDupStack", !0), ud(_r(e)?._mjrDupMembers, t) || (e._mjrDupMembers = t.slice()), cd(e, "_mjrDupCount", t.length), yi(e, t);
+ let n = br(e);
+ n && Object.prototype.hasOwnProperty.call(n, t) && delete e[t];
}
-function pd(e, { collapseDuplicates: t = !0 } = {}) {
+function pd(e, t) {
+ if (!Array.isArray(e) || e.length !== t.length) return !1;
+ for (let n = 0; n < t.length; n++) if (br(e[n]) !== br(t[n])) return !1;
+ return !0;
+}
+function md(e) {
+ dd(e, "_mjrNameCollision", !1);
+ for (let t of cd) fd(e, t);
+ dd(e, "_mjrDupStack", !1), dd(e, "_mjrDupMembers", null), dd(e, "_mjrDupCount", 0);
+}
+function hd(e, t) {
+ for (let t of cd) fd(e, t);
+ dd(e, "_mjrNameCollision", !1), dd(e, "_mjrDupStack", !0), pd(br(e)?._mjrDupMembers, t) || (e._mjrDupMembers = t.slice()), dd(e, "_mjrDupCount", t.length), Si(e, t);
+}
+function gd(e, { collapseDuplicates: t = !0 } = {}) {
let n = Array.isArray(e) ? e : [];
if (!t) {
let e = [];
- for (let t of n) t && (dd(t), e.push(t));
+ for (let t of n) t && (md(t), e.push(t));
return e;
}
let r = /* @__PURE__ */ new Map(), i = [];
for (let e of n) {
if (!e) continue;
- let t = od(e);
+ let t = ld(e);
if (!t) {
- dd(e), i.push(e);
+ md(e), i.push(e);
continue;
}
let n = r.get(t);
@@ -7923,16 +7923,16 @@ function pd(e, { collapseDuplicates: t = !0 } = {}) {
}
for (let e of r.values()) {
let t = e[0];
- for (let n of e) (n !== t || e.length < 2) && dd(n);
- e.length >= 2 && fd(t, e);
+ for (let n of e) (n !== t || e.length < 2) && md(n);
+ e.length >= 2 && hd(t, e);
}
return i;
}
-function md(e) {
+function _d(e) {
let t = Array.isArray(e) ? e : [], n = [], r = /* @__PURE__ */ new Set();
for (let e of t) {
if (!e || typeof e != "object") continue;
- let t = { ..._r(e) };
+ let t = { ...br(e) };
delete t._mjrDupMembers, delete t._mjrDupStack, delete t._mjrDupCount, delete t._mjrDupHidden, delete t._mjrNameCollision, delete t._mjrNameCollisionCount, delete t._mjrNameCollisionPaths;
let i = String(t.id ?? "");
if (i) {
@@ -7944,7 +7944,7 @@ function md(e) {
return n;
}
// ui/vue/components/grid/VirtualAssetGridHost.vue?vue&type=script&setup=true&lang.ts
-var hd = {
+var vd = {
key: 0,
class: "mjr-grid-loading-overlay",
style: {
@@ -7959,19 +7959,19 @@ var hd = {
background: "rgba(20,22,28,0.55)",
"backdrop-filter": "blur(2px)"
}
-}, gd = { style: { width: "100%" } }, _d = { style: {
+}, yd = { style: { width: "100%" } }, bd = { style: {
"margin-top": "10px",
"font-size": "12px",
opacity: "0.68",
"text-align": "center"
-} }, vd = ["data-index"], yd = [
+} }, xd = ["data-index"], Sd = [
"aria-expanded",
"title",
"onClick"
-], bd = {
+], Cd = {
class: "mjr-grid-group-separator-chevron",
"aria-hidden": "true"
-}, xd = { class: "mjr-grid-group-separator-title" }, Sd = [
+}, wd = { class: "mjr-grid-group-separator-title" }, Td = [
"data-mjr-asset-id",
"data-mjr-filename-key",
"data-mjr-ext",
@@ -7987,21 +7987,21 @@ var hd = {
"onMousedown",
"onClick",
"onDblclick"
-], Cd = {
+], Ed = {
key: 3,
style: {
display: "flex",
"flex-direction": "column",
width: "100%"
}
-}, wd = [
+}, Dd = [
"aria-expanded",
"title",
"onClick"
-], Td = {
+], Od = {
class: "mjr-grid-group-separator-chevron",
"aria-hidden": "true"
-}, Ed = { class: "mjr-grid-group-separator-title" }, Dd = [
+}, kd = { class: "mjr-grid-group-separator-title" }, Ad = [
"data-mjr-asset-id",
"data-mjr-filename-key",
"data-mjr-ext",
@@ -8017,7 +8017,7 @@ var hd = {
"onMousedown",
"onClick",
"onDblclick"
-], Od = 501, kd = /* @__PURE__ */ tr({
+], jd = 501, Md = /* @__PURE__ */ ir({
__name: "VirtualAssetGridHost",
props: {
scrollElement: { default: null },
@@ -8042,23 +8042,23 @@ var hd = {
default: !0
}
},
- setup(e, { expose: n }) {
- let r = e, i = Q(null), o = Q(1024);
+ setup(e, { expose: t }) {
+ let n = e, i = Q(null), a = Q(1024);
Q(!0);
- let s = Q(0), c = Q(0), l = /* @__PURE__ */ new WeakMap(), u = 0, d = 0, f = 0, p = 0, m = 0, h = /* @__PURE__ */ new Map(), g = null, _ = null;
- function v() {
- return g ||= import("./chunks/viewerOpenRequest-WOJE90Gn.js").then((e) => e.n), g;
- }
+ let o = Q(0), s = Q(0), c = /* @__PURE__ */ new WeakMap(), d = 0, f = 0, p = 0, m = 0, h = 0, g = /* @__PURE__ */ new Map(), _ = null, v = null;
function y() {
- return _ ||= import("./chunks/floatingViewerManager-B_I-SRbd.js").then((e) => e.n), _;
+ return _ ||= import("./chunks/viewerOpenRequest-WOJE90Gn.js").then((e) => e.n), _;
}
- function b(e) {
+ function b() {
+ return v ||= import("./chunks/floatingViewerManager-D_aLLeau.js").then((e) => e.n), v;
+ }
+ function S(e) {
return (Array.isArray(e) ? e : []).slice().sort((e, t) => {
let n = Number(e?.mtime || e?.created_at || 0) || 0;
return (Number(t?.mtime || t?.created_at || 0) || 0) - n;
});
}
- Xn("mjrStackService", {
+ $n("mjrStackService", {
openStackGroup: async (e) => {
let t = i.value;
if (!t || !e) return;
@@ -8068,15 +8068,15 @@ var hd = {
t._mjrStackMembersCache ||= /* @__PURE__ */ new Map();
let a = t._mjrStackMembersCache.get(r);
if (!Array.isArray(a)) {
- let e = h.get(r);
- e || (e = Pe(Ve(n, { limit: Od }), { timeoutMs: 3e4 }).finally(() => {
- h.delete(r);
- }), h.set(r, e));
+ let e = g.get(r);
+ e || (e = Ie(pe(n, { limit: jd }), { timeoutMs: 3e4 }).finally(() => {
+ g.delete(r);
+ }), g.set(r, e));
let i = await e;
if (i?.ok && Array.isArray(i?.data)) a = i.data, t._mjrStackMembersCache.set(r, a);
else return;
}
- let o = b(a);
+ let o = S(a);
t.dispatchEvent(new CustomEvent(B.OPEN_STACK_GROUP, {
bubbles: !0,
detail: {
@@ -8090,7 +8090,7 @@ var hd = {
openDupGroup: (e) => {
let t = i.value;
if (!t || !e) return;
- let n = md(Array.isArray(e._mjrDupMembers) ? e._mjrDupMembers : [e]);
+ let n = _d(Array.isArray(e._mjrDupMembers) ? e._mjrDupMembers : [e]);
t.dispatchEvent(new CustomEvent(B.OPEN_STACK_GROUP, {
bubbles: !0,
detail: {
@@ -8102,28 +8102,28 @@ var hd = {
}));
}
});
- let { state: x, selectedIdSet: S, setLoadingMessage: C, clearLoadingMessage: w, setStatusMessage: T, clearStatusMessage: E, resetAssets: D, setSelection: O, reconcileSelection: k, getSelectedAssets: A, getActiveAsset: ee } = Lc();
- function M(e) {
+ let { state: C, selectedIdSet: w, setLoadingMessage: T, clearLoadingMessage: E, setStatusMessage: D, clearStatusMessage: O, resetAssets: k, setSelection: A, reconcileSelection: j, getSelectedAssets: M, getActiveAsset: N } = Bc();
+ function te(e) {
return e ? typeof e == "object" && "value" in e ? e.value || null : e : null;
}
- let N = K(() => M(r.scrollElement));
+ let P = K(() => te(n.scrollElement));
function ne() {
- return su(i.value);
+ return uu(i.value);
}
- function P(e, { align: t = "auto" } = {}) {
- let n = String(e || "").trim();
- if (!n) return;
- let i = (Array.isArray(Se.value) ? Se.value : []).findIndex((e) => String(e?.id || "") === n);
+ function re(e, { align: t = "auto" } = {}) {
+ let r = String(e || "").trim();
+ if (!r) return;
+ let i = (Array.isArray(Ce.value) ? Ce.value : []).findIndex((e) => String(e?.id || "") === r);
if (!(i < 0)) {
- if (r.virtualize) {
- let e = Math.floor(i / Math.max(1, Be.value));
+ if (n.virtualize) {
+ let e = Math.floor(i / Math.max(1, He.value));
try {
Qe.value.scrollToIndex(e, { align: t });
} catch (e) {
console.debug?.(e);
}
} else try {
- x.cardElements.get(n)?.scrollIntoView?.({
+ C.cardElements.get(r)?.scrollIntoView?.({
block: "nearest",
inline: "nearest"
});
@@ -8132,28 +8132,28 @@ var hd = {
}
}
}
- function re() {
- return Vc(i.value, N.value);
+ function ie() {
+ return Wc(i.value, P.value);
}
- let I = Du({
+ let F = Au({
gridContainerRef: i,
- state: x,
- setLoadingMessage: C,
- clearLoadingMessage: w,
- setStatusMessage: T,
- clearStatusMessage: E,
- resetAssets: D,
- setSelection: O,
- reconcileSelection: k,
- readScrollElement: () => N.value,
+ state: C,
+ setLoadingMessage: T,
+ clearLoadingMessage: E,
+ setStatusMessage: D,
+ clearStatusMessage: O,
+ resetAssets: k,
+ setSelection: A,
+ reconcileSelection: j,
+ readScrollElement: () => P.value,
readRenderedCards: ne,
- scrollToAssetId: P,
- canLoadMore: re
- }), { sentinelRef: ie } = id({
- rootRef: N,
+ scrollToAssetId: re,
+ canLoadMore: ie
+ }), { sentinelRef: I } = sd({
+ rootRef: P,
enabled: !0,
- canLoad: K(() => !x.loading && !x.done && re()),
- loadMore: () => I.loadNextPage(),
+ canLoad: K(() => !C.loading && !C.done && ie()),
+ loadMore: () => F.loadNextPage(),
rootMargin: "900px"
});
function ae(e) {
@@ -8165,7 +8165,7 @@ var hd = {
return n >= 0 ? t.slice(0, n).toLowerCase() : t.toLowerCase();
}
function se(e) {
- return S.value.has(String(e?.id || ""));
+ return w.value.has(String(e?.id || ""));
}
function ce(e) {
return String(e?.kind || "").toLowerCase() === "folder";
@@ -8174,7 +8174,7 @@ var hd = {
return String(e?.kind || "").toLowerCase() === "workflow";
}
function ue() {
- return String(we.value || "").trim().toLowerCase() === "workflow";
+ return String(Te.value || "").trim().toLowerCase() === "workflow";
}
function de(e) {
let t = String(e || "none").trim().toLowerCase();
@@ -8189,24 +8189,24 @@ var hd = {
for (let e = 0; e < t.length; e += 1) n = (n << 5) - n + t.charCodeAt(e), n |= 0;
return `hsl(${Math.abs(n) % 360}deg 68% 60%)`;
}
- function pe(e, t) {
+ function me(e, t) {
return !e || typeof e != "object" ? "Ungrouped" : t === "task" ? String(e?.task || e?.workflow_task || "").trim() || "Task: Unknown" : t === "model" ? String(e?.model_family || e?.workflow_model_family || e?.workflow_model || e?.model || "").trim() || "Model: Unknown" : t === "category" ? String(e?.category || e?.subfolder || e?.workflow_category || "").trim() || "Category: Uncategorized" : "Ungrouped";
}
- function me(e, t) {
+ function he(e, t) {
return (Array.isArray(e) ? e : []).slice().sort((e, n) => {
- let r = pe(e, t).toLowerCase(), i = pe(n, t).toLowerCase();
+ let r = me(e, t).toLowerCase(), i = me(n, t).toLowerCase();
if (r < i) return -1;
if (r > i) return 1;
let a = Number(e?.mtime || e?.created_at || 0) || 0;
return (Number(n?.mtime || n?.created_at || 0) || 0) - a;
});
}
- function he(e, t, n) {
- let r = me(e, n), i = [];
+ function ge(e, t, n) {
+ let r = he(e, n), i = [];
if (!r.length) return i;
let a = /* @__PURE__ */ new Map();
for (let e of r) {
- let t = le(e) ? pe(e, n) : "Other";
+ let t = le(e) ? me(e, n) : "Other";
a.has(t) || a.set(t, []), a.get(t).push(e);
}
let o = Array.from(a.keys());
@@ -8231,102 +8231,102 @@ var hd = {
}
return i;
}
- function ge(e) {
+ function _e(e) {
let t = i.value;
return !t || String(t.dataset?.mjrGroupStacks || "") !== "1" ? !1 : !!String(e?.stack_id || "").trim() && Number(e?.stack_asset_count || 0) > 1;
}
- function _e(e) {
+ function ve(e) {
return e?._mjrLivePlaceholder === !0 || e?.is_live_placeholder === !0 || String(e?.id || "").trim().toLowerCase().startsWith("live:");
}
- function ve() {
- let e = i.value;
- if (!e) return;
- let t = new Set((Array.isArray(x.selectedIds) ? x.selectedIds : []).map((e) => String(e || "").trim()).filter(Boolean));
- ut(e, t, x.activeId || "");
- try {
- t.size ? e.dataset.mjrSelectedAssetId = String(x.activeId || Array.from(t)[0] || "") : delete e.dataset.mjrSelectedAssetId;
- } catch (e) {
- console.debug?.(e);
- }
- }
function ye() {
let e = i.value;
if (!e) return;
- let t = Array.isArray(x.selectedIds) ? x.selectedIds.slice() : [], n = String(x.activeId || ""), a = `${t.join("|")}::${n}`;
- if (a === ye._lastSelectionKey) return;
- ye._lastSelectionKey = a;
+ let t = new Set((Array.isArray(C.selectedIds) ? C.selectedIds : []).map((e) => String(e || "").trim()).filter(Boolean));
+ pt(e, t, C.activeId || "");
+ try {
+ t.size ? e.dataset.mjrSelectedAssetId = String(C.activeId || Array.from(t)[0] || "") : delete e.dataset.mjrSelectedAssetId;
+ } catch (e) {
+ console.debug?.(e);
+ }
+ }
+ function be() {
+ let e = i.value;
+ if (!e) return;
+ let t = Array.isArray(C.selectedIds) ? C.selectedIds.slice() : [], r = String(C.activeId || ""), a = `${t.join("|")}::${r}`;
+ if (a === be._lastSelectionKey) return;
+ be._lastSelectionKey = a;
let o = {
selectedIds: t,
- activeId: n,
- selectedAssets: A()
+ activeId: r,
+ selectedAssets: M()
};
try {
e.dispatchEvent(new CustomEvent("mjr:selection-changed", { detail: o }));
} catch (e) {
console.debug?.(e);
}
- if (r.emitWindowSelectionEvents) try {
+ if (n.emitWindowSelectionEvents) try {
window.dispatchEvent(new CustomEvent("mjr:selection-changed", { detail: o }));
} catch (e) {
console.debug?.(e);
}
}
- ye._lastSelectionKey = "";
- let be = Q(""), xe = K(() => pd(x.assets, { collapseDuplicates: be.value !== "similar" })), Se = K(() => (Array.isArray(xe.value) ? xe.value : []).filter((e) => sd(e))), Ce = Q(/* @__PURE__ */ new Set()), we = Q(""), Te = K(() => {
- s.value;
+ be._lastSelectionKey = "";
+ let xe = Q(""), Se = K(() => gd(C.assets, { collapseDuplicates: xe.value !== "similar" })), Ce = K(() => (Array.isArray(Se.value) ? Se.value : []).filter((e) => ud(e))), we = Q(/* @__PURE__ */ new Set()), Te = Q(""), Ee = K(() => {
+ o.value;
let e = de(R.WORKFLOW_GRID_GROUP_BY);
- return e === "none" || we.value !== "workflow" ? "none" : e;
- }), Ee = K(() => {
- let e = Array.isArray(Se.value) ? Se.value : [];
+ return e === "none" || Te.value !== "workflow" ? "none" : e;
+ }), De = K(() => {
+ let e = Array.isArray(Ce.value) ? Ce.value : [];
if (!e.length) return [];
- let t = Te.value;
- return t === "none" ? [] : he(e, Be.value, t);
+ let t = Ee.value;
+ return t === "none" ? [] : ge(e, He.value, t);
});
- or(() => `${Te.value}::${Ee.value.map((e) => `${e.kind}:${e.groupKey}`).join("|")}`, () => {
- if (Te.value === "none") {
- Ce.value = /* @__PURE__ */ new Set();
+ lr(() => `${Ee.value}::${De.value.map((e) => `${e.kind}:${e.groupKey}`).join("|")}`, () => {
+ if (Ee.value === "none") {
+ we.value = /* @__PURE__ */ new Set();
return;
}
- let e = /* @__PURE__ */ new Set(), t = Ce.value;
- for (let n of Ee.value) {
+ let e = /* @__PURE__ */ new Set(), t = we.value;
+ for (let n of De.value) {
if (n?.kind !== "header") continue;
let r = String(n.groupKey || "");
r && t.has(r) && e.add(r);
}
- Ce.value = e;
+ we.value = e;
}, { immediate: !0 });
- function De(e) {
- let t = String(e || "");
- return t ? Ce.value.has(t) : !1;
- }
function Oe(e) {
let t = String(e || "");
- if (!t) return;
- let n = new Set(Ce.value);
- n.has(t) ? n.delete(t) : n.add(t), Ce.value = n;
+ return t ? we.value.has(t) : !1;
}
- function ke(e) {
+ function Ae(e) {
+ let t = String(e || "");
+ if (!t) return;
+ let n = new Set(we.value);
+ n.has(t) ? n.delete(t) : n.add(t), we.value = n;
+ }
+ function je(e) {
let t = String(e?.groupKey || e?.title || ""), n = 0;
for (let e = 0; e < t.length; e += 1) n = (n << 5) - n + t.charCodeAt(e) | 0;
return `mjr-grid-group-separator--accent-${Math.abs(n) % 8}`;
}
- let Ae = K(() => {
- let e = Array.isArray(Se.value) ? Se.value : [];
+ let Me = K(() => {
+ let e = Array.isArray(Ce.value) ? Ce.value : [];
if (!e.length) return [];
- if (Te.value === "none") return ed(e, Be.value);
- let t = Array.isArray(Ee.value) ? Ee.value : [], n = [];
- for (let e of t) e?.kind === "header" ? n.push(e) : De(String(e?.groupKey || "")) || n.push(e);
+ if (Ee.value === "none") return rd(e, He.value);
+ let t = Array.isArray(De.value) ? De.value : [], n = [];
+ for (let e of t) e?.kind === "header" ? n.push(e) : Oe(String(e?.groupKey || "")) || n.push(e);
return n;
});
- function je() {
+ function Ne() {
let e = i.value;
if (!e) return;
let t = {
- count: Array.isArray(Se.value) ? Se.value.length : 0,
- total: Number(x.total || 0) || 0
+ count: Array.isArray(Ce.value) ? Ce.value.length : 0,
+ total: Number(C.total || 0) || 0
};
try {
- e.dataset.mjrShown = String(t.count), e.dataset.mjrTotal = String(t.total), e.dataset.mjrHiddenPngSiblings = String(Number(x.hiddenPngSiblings || 0) || 0);
+ e.dataset.mjrShown = String(t.count), e.dataset.mjrTotal = String(t.total), e.dataset.mjrHiddenPngSiblings = String(Number(C.hiddenPngSiblings || 0) || 0);
} catch (e) {
console.debug?.(e);
}
@@ -8336,36 +8336,36 @@ var hd = {
console.debug?.(e);
}
}
- function Me(e) {
+ function Pe(e) {
if (!e?.id) return;
- let t = (Array.isArray(x.assets) ? x.assets : []).find((t) => String(t?.id || "") === String(e.id));
+ let t = (Array.isArray(C.assets) ? C.assets : []).find((t) => String(t?.id || "") === String(e.id));
if (t) try {
t.rating = e.rating, t.tags = e.tags;
} catch (e) {
console.debug?.(e);
}
}
- function Ne() {
+ function Fe() {
try {
window.dispatchEvent(new CustomEvent("mjr:open-sidebar", { detail: { tab: "details" } }));
} catch (e) {
console.debug?.(e);
}
}
- function Fe(e, t = 6) {
- let n = x.cardElements.get(e);
+ function Le(e, t = 6) {
+ let n = C.cardElements.get(e);
if (n) try {
n.focus?.({ preventScroll: !0 });
} catch (e) {
console.debug?.(e);
}
- else t <= 0 || requestAnimationFrame(() => Fe(e, t - 1));
- }
- function Ie(e) {
- let t = e?.detail || {}, n = String(t.assetId ?? t.id ?? "").trim();
- n && (Array.isArray(Se.value) ? Se.value : []).some((e) => String(e?.id || "") === n) && (O([n], n), ve(), ye(), P(n, { align: "center" }), setTimeout(() => Fe(n), 0));
+ else t <= 0 || requestAnimationFrame(() => Le(e, t - 1));
}
function Re(e) {
+ let t = e?.detail || {}, n = String(t.assetId ?? t.id ?? "").trim();
+ n && (Array.isArray(Ce.value) ? Ce.value : []).some((e) => String(e?.id || "") === n) && (A([n], n), ye(), be(), re(n, { align: "center" }), setTimeout(() => Le(n), 0));
+ }
+ function Be(e) {
if (!e) return;
e._mjrSelectionManagedByVue = !0;
try {
@@ -8378,139 +8378,139 @@ var hd = {
} catch (e) {
console.debug?.(e);
}
- ri(e, { applySettingsClasses: r.applyDefaultSettingsClasses });
+ oi(e, { applySettingsClasses: n.applyDefaultSettingsClasses });
try {
- gt = ws(e);
+ gt = Ds(e);
} catch (e) {
console.debug?.(e), gt = null;
}
- e._mjrPrimaryPointerSelectionUnbind = () => {}, e._mjrGetAssets = () => Array.isArray(Se.value) ? Se.value : [], e._mjrSetSelection = (e, t = "") => {
- let n = O(e, t);
- return ve(), ye(), n.selectedIds;
+ e._mjrPrimaryPointerSelectionUnbind = () => {}, e._mjrGetAssets = () => Array.isArray(Ce.value) ? Ce.value : [], e._mjrSetSelection = (e, t = "") => {
+ let n = A(e, t);
+ return ye(), be(), n.selectedIds;
};
let t = (e, t = {}) => {
- let n = I.removeAssets(e, t);
- return je(), n;
+ let n = F.removeAssets(e, t);
+ return Ne(), n;
};
e._mjrRemoveAssets = t, e._mjrGetRenderedCards = () => ne(), e._mjrScrollToAssetId = (e, t = {}) => {
- P(e, t);
- }, e._mjrHasAssetId = (e) => (Array.isArray(x.assets) ? x.assets : []).some((t) => String(t?.id || "") === String(e || "")), e._mjrGetGridState = () => x, e._mjrGetSelectedAssets = () => A(), e._mjrGetActiveAsset = () => ee(), e._mjrOnKeyboardAssetChanged = (e) => Me(e), e._mjrOpenKeyboardDetails = () => Ne();
- let n = () => (r.applyDefaultSettingsClasses && (ni(e), s.value += 1), I.refreshGrid()), i = () => {
- I.prepareGridForScopeSwitch(), I.dispose(), x.cardElements.clear(), e._mjrGridApi = null;
+ re(e, t);
+ }, e._mjrHasAssetId = (e) => (Array.isArray(C.assets) ? C.assets : []).some((t) => String(t?.id || "") === String(e || "")), e._mjrGetGridState = () => C, e._mjrGetSelectedAssets = () => M(), e._mjrGetActiveAsset = () => N(), e._mjrOnKeyboardAssetChanged = (e) => Pe(e), e._mjrOpenKeyboardDetails = () => Fe();
+ let r = () => (n.applyDefaultSettingsClasses && (ai(e), o.value += 1), F.refreshGrid()), i = () => {
+ F.prepareGridForScopeSwitch(), F.dispose(), C.cardElements.clear(), e._mjrGridApi = null;
};
e._mjrGridApi = {
- reload: (...e) => I.reload(...e),
- loadAssetsFromList: (...e) => I.loadAssetsFromList(...e),
- appendNextPage: (...e) => I.appendNextPage(...e),
- refreshHead: (...e) => I.refreshHead(...e),
- upsertRealtime: (...e) => I.upsertRealtime(...e),
- upsertRealtimeNow: (...e) => I.upsertAssetNow(...e),
- prepareForScopeSwitch: () => I.prepareGridForScopeSwitch(),
- refreshGrid: n,
- captureAnchor: () => I.captureAnchor(),
- restoreAnchor: (e) => I.restoreAnchor(e),
- hydrateFromSnapshot: (...e) => I.hydrateFromSnapshot(...e),
+ reload: (...e) => F.reload(...e),
+ loadAssetsFromList: (...e) => F.loadAssetsFromList(...e),
+ appendNextPage: (...e) => F.appendNextPage(...e),
+ refreshHead: (...e) => F.refreshHead(...e),
+ upsertRealtime: (...e) => F.upsertRealtime(...e),
+ upsertRealtimeNow: (...e) => F.upsertAssetNow(...e),
+ prepareForScopeSwitch: () => F.prepareGridForScopeSwitch(),
+ refreshGrid: r,
+ captureAnchor: () => F.captureAnchor(),
+ restoreAnchor: (e) => F.restoreAnchor(e),
+ hydrateFromSnapshot: (...e) => F.hydrateFromSnapshot(...e),
removeAssets: t,
dispose: i,
- getCanonicalState: () => I.getCanonicalState(),
- getDebugSnapshot: () => I.getDebugSnapshot()
- }, e._mjrLoadAssets = (...e) => I.loadAssets(...e), e._mjrLoadAssetsFromList = (...e) => I.loadAssetsFromList(...e), e._mjrPrepareForScopeSwitch = () => I.prepareGridForScopeSwitch(), e._mjrRefreshGrid = n, e._mjrCaptureAnchor = () => I.captureAnchor(), e._mjrRestoreAnchor = (e) => I.restoreAnchor(e), e._mjrHydrateFromSnapshot = (...e) => I.hydrateFromSnapshot(...e), e._mjrUpsertAsset = (e) => I.upsertAsset(e), e._mjrUpsertAssetNow = (e) => I.upsertAssetNow(e), e._mjrGetCanonicalState = () => I.getCanonicalState(), e._mjrGetDebugSnapshot = () => I.getDebugSnapshot(), e._mjrDispose = i;
+ getCanonicalState: () => F.getCanonicalState(),
+ getDebugSnapshot: () => F.getDebugSnapshot()
+ }, e._mjrLoadAssets = (...e) => F.loadAssets(...e), e._mjrLoadAssetsFromList = (...e) => F.loadAssetsFromList(...e), e._mjrPrepareForScopeSwitch = () => F.prepareGridForScopeSwitch(), e._mjrRefreshGrid = r, e._mjrCaptureAnchor = () => F.captureAnchor(), e._mjrRestoreAnchor = (e) => F.restoreAnchor(e), e._mjrHydrateFromSnapshot = (...e) => F.hydrateFromSnapshot(...e), e._mjrUpsertAsset = (e) => F.upsertAsset(e), e._mjrUpsertAssetNow = (e) => F.upsertAssetNow(e), e._mjrGetCanonicalState = () => F.getCanonicalState(), e._mjrGetDebugSnapshot = () => F.getDebugSnapshot(), e._mjrDispose = i;
}
- or(i, (e) => {
- e && (Re(e), ve(), je());
- }, { immediate: !0 }), or(() => `${(x.selectedIds || []).join("|")}::${String(x.activeId || "")}`, () => {
- i.value && (ve(), ye());
- }, { flush: "post" }), or(() => `${Array.isArray(Se.value) ? Se.value.length : 0}::${Number(x.total || 0)}::${Number(x.hiddenPngSiblings || 0)}`, () => {
- i.value && je();
+ lr(i, (e) => {
+ e && (Be(e), ye(), Ne());
+ }, { immediate: !0 }), lr(() => `${(C.selectedIds || []).join("|")}::${String(C.activeId || "")}`, () => {
+ i.value && (ye(), be());
+ }, { flush: "post" }), lr(() => `${Array.isArray(Ce.value) ? Ce.value.length : 0}::${Number(C.total || 0)}::${Number(C.hiddenPngSiblings || 0)}`, () => {
+ i.value && Ne();
}, {
flush: "post",
immediate: !0
});
- function ze() {
+ function Ve() {
let e = i.value, t = String(e?.dataset?.mjrBottomFeed || "").toLowerCase() === "true", n = Number(R.GRID_MIN_SIZE || 120) || 120;
return t ? Math.max(80, Number(R.FEED_GRID_MIN_SIZE || n) || n) : ue() ? Math.max(180, n) : Math.max(80, n);
}
- let Be = K(() => {
- s.value;
- let e = Math.max(0, Number(R.GRID_GAP || 10) || 10), t = ze(), n = Number(o.value || 0) || Number(N.value?.clientWidth || 0) || 0;
+ let He = K(() => {
+ o.value;
+ let e = Math.max(0, Number(R.GRID_GAP || 10) || 10), t = Ve(), n = Number(a.value || 0) || Number(P.value?.clientWidth || 0) || 0;
return n <= 0 ? 1 : Math.max(1, Math.floor((n + e) / (t + e)));
- }), He = K(() => (Number(o.value || 0) || Number(N.value?.clientWidth || 0) || 0) > 0), Ue = K(() => (s.value, Math.max(0, Number(R.GRID_GAP || 10) || 10))), We = K(() => {
- let e = Math.max(1, Be.value), t = Number(o.value || 0) || Number(N.value?.clientWidth || 0) || 0;
- return t <= 0 ? ze() : Math.max(80, Math.floor((t - Ue.value * Math.max(0, e - 1)) / e));
- }), Ge = K(() => {
- s.value;
- let e = !!R.GRID_SHOW_DETAILS, t = We.value, n = e ? 82 : 0;
- return Te.value === "none" ? t + n + Ue.value : Math.max(48, t + n + Ue.value);
- }), Ke = K(() => r.virtualize ? [] : Array.isArray(Ae.value) ? Ae.value : []);
- function qe(e) {
- if (!d) try {
- d = requestAnimationFrame(() => {
- d = 0;
+ }), Ue = K(() => (Number(a.value || 0) || Number(P.value?.clientWidth || 0) || 0) > 0), We = K(() => (o.value, Math.max(0, Number(R.GRID_GAP || 10) || 10))), Ge = K(() => {
+ let e = Math.max(1, He.value), t = Number(a.value || 0) || Number(P.value?.clientWidth || 0) || 0;
+ return t <= 0 ? Ve() : Math.max(80, Math.floor((t - We.value * Math.max(0, e - 1)) / e));
+ }), Ke = K(() => {
+ o.value;
+ let e = !!R.GRID_SHOW_DETAILS, t = Ge.value, n = e ? 82 : 0;
+ return Ee.value === "none" ? t + n + We.value : Math.max(48, t + n + We.value);
+ }), qe = K(() => n.virtualize ? [] : Array.isArray(Me.value) ? Me.value : []);
+ function Je(e) {
+ if (!f) try {
+ f = requestAnimationFrame(() => {
+ f = 0;
try {
- let t = typeof performance < "u" && typeof performance.now == "function" ? performance.now() : Date.now(), n = Number(e?.scrollTop || 0) || 0, r = Math.max(16, t - Number(m || t)), i = Math.abs(n - Number(p || n)) / Math.max(1, Ge.value) * (16 / r);
- c.value = Math.max(0, Math.min(20, i)), p = n, m = t, f && clearTimeout(f), f = setTimeout(() => {
- f = 0, c.value = 0;
+ let t = typeof performance < "u" && typeof performance.now == "function" ? performance.now() : Date.now(), n = Number(e?.scrollTop || 0) || 0, r = Math.max(16, t - Number(h || t)), i = Math.abs(n - Number(m || n)) / Math.max(1, Ke.value) * (16 / r);
+ s.value = Math.max(0, Math.min(20, i)), m = n, h = t, p && clearTimeout(p), p = setTimeout(() => {
+ p = 0, s.value = 0;
}, 140);
} catch (e) {
console.debug?.(e);
}
});
} catch (e) {
- console.debug?.(e), d = 0;
+ console.debug?.(e), f = 0;
}
}
- function Je() {
- if (d) {
- try {
- cancelAnimationFrame(d);
- } catch (e) {
- console.debug?.(e);
- }
- d = 0;
- }
+ function Ye() {
if (f) {
try {
- clearTimeout(f);
+ cancelAnimationFrame(f);
} catch (e) {
console.debug?.(e);
}
f = 0;
}
- c.value = 0;
+ if (p) {
+ try {
+ clearTimeout(p);
+ } catch (e) {
+ console.debug?.(e);
+ }
+ p = 0;
+ }
+ s.value = 0;
}
- let Ye = nd({
- scrollRef: N,
- items: Se,
- rows: Ae,
- columnCount: Be,
- estimateRowHeight: Ge,
+ let Xe = ad({
+ scrollRef: P,
+ items: Ce,
+ rows: Me,
+ columnCount: He,
+ estimateRowHeight: Ke,
overscan: K(() => {
- let e = Math.max(1, Ge.value), t = N.value?.clientHeight || 0;
+ let e = Math.max(1, Ke.value), t = P.value?.clientHeight || 0;
if (t <= 0) return 6;
- let n = Math.ceil(t / e), r = Math.ceil(c.value * 3);
+ let n = Math.ceil(t / e), r = Math.ceil(s.value * 3);
return Math.max(3, Math.min(30, n + r));
}),
- enabled: K(() => r.virtualize)
- }), Xe = Ye.rowCount, Qe = Ye.virtualizer, z = Ye.virtualRows, et = Ye.totalSize, tt = K(() => {
+ enabled: K(() => n.virtualize)
+ }), Ze = Xe.rowCount, Qe = Xe.virtualizer, z = Xe.virtualRows, et = Xe.totalSize, tt = K(() => {
let e = /* @__PURE__ */ new Map();
for (let t of z.value) e.set(t.index, t.virtual || t);
return e;
- }), nt = K(() => (s.value, !!R.GRID_SHOW_DETAILS)), rt = K(() => {
- let e = Math.max(1, Number(Be.value || 1));
+ }), nt = K(() => (o.value, !!R.GRID_SHOW_DETAILS)), rt = K(() => {
+ let e = Math.max(1, Number(He.value || 1));
return Math.max(12, Math.min(36, e * 4));
}), it = K(() => Array.from({ length: Number(rt.value || 12) }, (e, t) => t)), at = K(() => {
- let e = Math.max(80, Number(Ge.value || 0) - Number(Ue.value || 0)), t = Math.max(80, Number(We.value || 0));
+ let e = Math.max(80, Number(Ke.value || 0) - Number(We.value || 0)), t = Math.max(80, Number(Ge.value || 0));
return Math.max(0, e - t);
}), ot = K(() => ({
display: "grid",
- gridTemplateColumns: `repeat(${Math.max(1, Number(Be.value || 1))}, minmax(0, ${Math.max(80, Number(We.value || 0))}px))`,
- gap: `${Ue.value}px`,
+ gridTemplateColumns: `repeat(${Math.max(1, Number(He.value || 1))}, minmax(0, ${Math.max(80, Number(Ge.value || 0))}px))`,
+ gap: `${We.value}px`,
justifyContent: "start",
boxSizing: "border-box"
})), st = K(() => ({
width: "100%",
minWidth: "0",
- height: `${Math.max(80, Number(Ge.value || 0) - Number(Ue.value || 0))}px`,
+ height: `${Math.max(80, Number(Ke.value || 0) - Number(We.value || 0))}px`,
borderRadius: "12px",
border: "1px solid rgba(255,255,255,0.22)",
background: "rgba(192,198,206,0.20)",
@@ -8519,7 +8519,7 @@ var hd = {
boxSizing: "border-box"
})), ct = K(() => ({
width: "100%",
- height: `${Math.max(80, Number(We.value || 0))}px`,
+ height: `${Math.max(80, Number(Ge.value || 0))}px`,
background: "linear-gradient(90deg, rgba(168,174,182,0.40) 0%, rgba(220,225,232,0.54) 50%, rgba(168,174,182,0.40) 100%)",
backgroundSize: "220% 100%",
animation: "mjr-skeleton-shimmer 2.2s ease-in-out infinite"
@@ -8531,7 +8531,7 @@ var hd = {
background: "linear-gradient(90deg, rgba(162,168,176,0.38) 0%, rgba(214,219,226,0.52) 50%, rgba(162,168,176,0.38) 100%)",
backgroundSize: "220% 100%",
animation: "mjr-skeleton-shimmer 2.2s ease-in-out infinite"
- })), dt = K(() => ({
+ })), ut = K(() => ({
height: "10px",
margin: "0 10px 10px",
borderRadius: "8px",
@@ -8539,20 +8539,20 @@ var hd = {
background: "linear-gradient(90deg, rgba(160,166,173,0.34) 0%, rgba(208,214,221,0.48) 50%, rgba(160,166,173,0.34) 100%)",
backgroundSize: "220% 100%",
animation: "mjr-skeleton-shimmer 2.2s ease-in-out infinite"
- })), ft = K(() => ({
+ })), dt = K(() => ({
display: nt.value ? "block" : "none",
minHeight: `${Math.max(0, Number(at.value || 0))}px`
}));
- function pt() {
- let e = Number(N.value?.clientWidth || 0) || Number(i.value?.clientWidth || 0) || 0;
- e > 0 && (o.value = e);
+ function ft() {
+ let e = Number(P.value?.clientWidth || 0) || Number(i.value?.clientWidth || 0) || 0;
+ e > 0 && (a.value = e);
}
let mt = null, ht = null, gt = null, _t = !1;
function vt() {
let e = String(i.value?.dataset?.mjrScope || "").trim().toLowerCase();
- we.value !== e && (we.value = e);
+ Te.value !== e && (Te.value = e);
let t = String(i.value?.dataset?.mjrViewScope || "").trim().toLowerCase();
- be.value !== t && (be.value = t);
+ xe.value !== t && (xe.value = t);
}
function yt() {
Ut();
@@ -8572,9 +8572,9 @@ var hd = {
400
]) setTimeout(e, t);
}
- Zn(() => {
- yt(), window.addEventListener(B.VIEWER_ACTIVE_ASSET_CHANGED, Ie);
- }), or(i, (e) => {
+ er(() => {
+ yt(), window.addEventListener(B.VIEWER_ACTIVE_ASSET_CHANGED, Re);
+ }), lr(i, (e) => {
try {
ht?.disconnect?.();
} catch (e) {
@@ -8593,73 +8593,73 @@ var hd = {
console.debug?.(e), ht = null;
}
}
- }, { immediate: !0 }), or(N, (e, t) => {
+ }, { immediate: !0 }), lr(P, (e, t) => {
try {
mt?.disconnect?.();
} catch (e) {
console.debug?.(e);
}
if (e) {
- pt();
+ ft();
try {
mt = new ResizeObserver(() => {
- pt();
+ ft();
}), mt.observe(e);
} catch (e) {
console.debug?.(e), mt = null;
}
}
- }, { immediate: !0 }), or(() => Xe.value, async () => {
- He.value && (await qn(), Ct(), Wt());
- }), or(() => x.assets, async (e) => {
+ }, { immediate: !0 }), lr(() => Ze.value, async () => {
+ Ue.value && (await Xn(), Ct(), Wt());
+ }), lr(() => C.assets, async (e) => {
if (!Array.isArray(e) || e.length === 0) {
let e = i.value;
e?._mjrStackMembersCache && e._mjrStackMembersCache.clear();
}
- await qn(), Ct();
+ await Xn(), Ct();
});
function bt(e, t) {
- let n = String(t?.filename || "").trim().toLowerCase(), r = l.get(e);
+ let n = String(t?.filename || "").trim().toLowerCase(), r = c.get(e);
if (r && r !== n) {
- let t = x.renderedFilenameMap.get(r);
- t && (t.delete(e), t.size || x.renderedFilenameMap.delete(r));
+ let t = C.renderedFilenameMap.get(r);
+ t && (t.delete(e), t.size || C.renderedFilenameMap.delete(r));
}
if (!n) {
- l.delete(e);
+ c.delete(e);
return;
}
- let i = x.renderedFilenameMap.get(n);
- i || (i = /* @__PURE__ */ new Set(), x.renderedFilenameMap.set(n, i)), i.add(e), l.set(e, n);
+ let i = C.renderedFilenameMap.get(n);
+ i || (i = /* @__PURE__ */ new Set(), C.renderedFilenameMap.set(n, i)), i.add(e), c.set(e, n);
}
function xt(e) {
if (!e) return;
- let t = l.get(e);
+ let t = c.get(e);
if (!t) return;
- let n = x.renderedFilenameMap.get(t);
- n && (n.delete(e), n.size || x.renderedFilenameMap.delete(t)), l.delete(e);
+ let n = C.renderedFilenameMap.get(t);
+ n && (n.delete(e), n.size || C.renderedFilenameMap.delete(t)), c.delete(e);
}
function St(e) {
let t = String(e || "").trim().toLowerCase();
if (!t) return;
- let n = x.renderedFilenameMap.get(t);
+ let n = C.renderedFilenameMap.get(t);
for (let e of n || []) e?.dataset?.mjrDupHidden && delete e.dataset.mjrDupHidden;
}
function Ct() {
- for (let e of x.renderedFilenameMap.keys()) St(e);
+ for (let e of C.renderedFilenameMap.keys()) St(e);
}
function wt(e, t) {
- let n = String(e?.id || "").trim();
- if (!n) return;
+ let r = String(e?.id || "").trim();
+ if (!r) return;
if (!t) {
- let e = x.cardElements.get(n), t = e ? l.get(e) : "";
- xt(e), x.cardElements.delete(n), St(t);
+ let e = C.cardElements.get(r), t = e ? c.get(e) : "";
+ xt(e), C.cardElements.delete(r), St(t);
return;
}
let a = t?.$el ?? t;
if (a instanceof HTMLElement) {
- x.cardElements.set(n, a), a._mjrIsVue = !0, a._mjrAsset = e, a._mjrReactiveAsset = e, a.dataset.mjrKind = String(e?.kind || ""), bt(a, e), St(String(e?.filename || "").trim().toLowerCase());
+ C.cardElements.set(r, a), a._mjrIsVue = !0, a._mjrAsset = e, a._mjrReactiveAsset = e, a.dataset.mjrKind = String(e?.kind || ""), bt(a, e), St(String(e?.filename || "").trim().toLowerCase());
try {
- r.onCardRendered?.(a, e, i.value);
+ n.onCardRendered?.(a, e, i.value);
} catch (e) {
console.debug?.(e);
}
@@ -8700,45 +8700,45 @@ var hd = {
}
}
if (Dt(e?.target, e?.currentTarget)) return;
- let r = Array.isArray(x.assets) ? x.assets : [], i = r.findIndex((e) => String(e?.id || "") === n), a = Array.isArray(x.selectedIds) ? x.selectedIds.slice() : [];
+ let r = Array.isArray(C.assets) ? C.assets : [], i = r.findIndex((e) => String(e?.id || "") === n), a = Array.isArray(C.selectedIds) ? C.selectedIds.slice() : [];
if (e?.shiftKey && i >= 0) {
- let e = String(x.selectionAnchorId || x.activeId || n).trim(), t = r.findIndex((t) => String(t?.id || "") === e), a = t >= 0 ? t : i, o = Math.min(a, i), s = Math.max(a, i), c = r.slice(o, s + 1).map((e) => String(e?.id || "")).filter(Boolean);
- O(c, n);
+ let e = String(C.selectionAnchorId || C.activeId || n).trim(), t = r.findIndex((t) => String(t?.id || "") === e), a = t >= 0 ? t : i, o = Math.min(a, i), s = Math.max(a, i), c = r.slice(o, s + 1).map((e) => String(e?.id || "")).filter(Boolean);
+ A(c, n);
} else if (e?.ctrlKey || e?.metaKey) {
let e = new Set(a.map(String));
e.has(n) ? e.delete(n) : e.add(n);
let t = Array.from(e);
- O(t, e.has(n) ? n : t[0] || "");
+ A(t, e.has(n) ? n : t[0] || "");
} else {
- O([n], n);
+ A([n], n);
try {
- x.cardElements.get(n)?.focus?.({ preventScroll: !0 });
+ C.cardElements.get(n)?.focus?.({ preventScroll: !0 });
} catch (e) {
console.debug?.(e);
}
- ue() && le(t) && y().then((e) => e?.floatingViewerManager?.isGraphModeVisible?.() ? Pt(t) : null).catch((e) => console.debug?.(e));
+ ue() && le(t) && b().then((e) => e?.floatingViewerManager?.isGraphModeVisible?.() ? Nt(t) : null).catch((e) => console.debug?.(e));
}
}
function At(e, t) {
if (Number(e?.button ?? 0) !== 0) return;
let n = String(t?.id || "").trim();
if (!n) return;
- let r = Array.isArray(x.selectedIds) ? x.selectedIds.map(String).filter(Boolean) : [];
+ let r = Array.isArray(C.selectedIds) ? C.selectedIds.map(String).filter(Boolean) : [];
r.includes(n) && r.length > 1 && !e?.ctrlKey && !e?.metaKey && !e?.shiftKey ? (Ot.assetId = n, Ot.at = Date.now()) : (Ot.assetId = n, Ot.at = Date.now(), kt(e, t));
}
- async function Mt(e) {
- let t = (Array.isArray(x.assets) ? x.assets : []).filter((e) => !ce(e)), n = t.findIndex((t) => String(t?.id || "") === String(e?.id || ""));
+ async function jt(e) {
+ let t = (Array.isArray(C.assets) ? C.assets : []).filter((e) => !ce(e)), n = t.findIndex((t) => String(t?.id || "") === String(e?.id || ""));
if (!t.length || n < 0) return;
- let { requestViewerOpen: r } = await v();
+ let { requestViewerOpen: r } = await y();
r({
assets: t,
index: n
});
}
- function Nt(e, t = null) {
+ function Mt(e, t = null) {
let n = String(e?.id || "").trim();
if (!n) return;
- let r = x.cardElements.get(n);
+ let r = C.cardElements.get(n);
if (r instanceof HTMLElement) try {
let e = r.getBoundingClientRect(), n = Number(t?.clientX || t?.pageX || e.right - 8) || 0, i = Number(t?.clientY || t?.pageY || e.top + 10) || 0, a = new MouseEvent("contextmenu", {
bubbles: !0,
@@ -8752,13 +8752,13 @@ var hd = {
console.debug?.(e);
}
}
- async function Pt(e, { select: t = !1 } = {}) {
+ async function Nt(e, { select: t = !1 } = {}) {
try {
let n = String(e?.id || "").trim();
- t && n && O([n], n);
+ t && n && A([n], n);
let r = String(e?.filepath || e?.path || e?.full_path || "").trim(), i = e;
if (r) try {
- let t = await Le(r, { timeoutMs: 25e3 }), n = t?.data?.workflow || t?.workflow || null, a = t?.data?.prompt || t?.prompt || null;
+ let t = await ze(r, { timeoutMs: 25e3 }), n = t?.data?.workflow || t?.workflow || null, a = t?.data?.prompt || t?.prompt || null;
(n || a) && (i = {
...e,
workflow: n || e?.workflow,
@@ -8772,28 +8772,28 @@ var hd = {
} catch (e) {
console.debug?.(e);
}
- let { floatingViewerManager: a } = await y();
+ let { floatingViewerManager: a } = await b();
await a.openAssets({
assets: [i],
index: 0,
mode: "graph"
});
} catch (e) {
- console.debug?.(e), Ne();
+ console.debug?.(e), Fe();
}
}
async function Ft(e, t) {
let n = String(e?.type || "").trim().toLowerCase();
if (n && String(t?.kind || "").toLowerCase() === "workflow") {
if (n === "load") await It(t);
- else if (n === "inspect") await Pt(t, { select: !0 });
+ else if (n === "inspect") await Nt(t, { select: !0 });
else if (n === "favorite") {
let e = !!t.favorite, n = !e;
try {
t.favorite = n;
let e = String(t?.filepath || t?.path || t?.full_path || "").trim();
if (!e) throw Error("Missing workflow filepath");
- let r = await j({
+ let r = await ee({
filepath: e,
favorite: n
}, { timeoutMs: 12e3 });
@@ -8806,37 +8806,37 @@ var hd = {
}
}));
} catch (n) {
- console.debug?.(n), t.favorite = e, F(L("toast.workflowFavoriteFailed", "Failed to update workflow favorite."), "error");
+ console.debug?.(n), t.favorite = e, x(L("toast.workflowFavoriteFailed", "Failed to update workflow favorite."), "error");
}
- } else n === "menu" && Nt(t, e?.event || null);
+ } else n === "menu" && Mt(t, e?.event || null);
}
}
async function It(e) {
let t = String(e?.filepath || e?.path || e?.full_path || "").trim();
if (!t) {
- F(L("toast.workflowMissingPath", "Workflow file path is missing."), "error");
+ x(L("toast.workflowMissingPath", "Workflow file path is missing."), "error");
return;
}
- let n = $e();
- if (a(n) === !0 && !await jt(L("dialog.workflowLoadReplaceDirty", "Current canvas has unsaved changes. Replace it with this workflow?"), L("tab.workflow", "Workflow"))) return;
- let r = await Le(t, { timeoutMs: 3e4 }), i = r?.data?.workflow || r?.workflow || null;
- if (!r?.ok || !i || typeof i != "object") F(r?.error || L("toast.workflowLoadFailed", "Failed to load workflow."), "error");
- else if (!te(i, n).ok) F(L("toast.workflowImportUnavailable", "ComfyUI workflow import is unavailable in this frontend."), "error");
+ let n = l();
+ if (ke(n) === !0 && !await Pt(L("dialog.workflowLoadReplaceDirty", "Current canvas has unsaved changes. Replace it with this workflow?"), L("tab.workflow", "Workflow"))) return;
+ let r = await ze(t, { timeoutMs: 3e4 }), i = r?.data?.workflow || r?.workflow || null;
+ if (!r?.ok || !i || typeof i != "object") x(r?.error || L("toast.workflowLoadFailed", "Failed to load workflow."), "error");
+ else if (!u(i, n).ok) x(L("toast.workflowImportUnavailable", "ComfyUI workflow import is unavailable in this frontend."), "error");
else {
try {
- await Ze({ filepath: t }, { timeoutMs: 1e4 });
+ await $e({ filepath: t }, { timeoutMs: 1e4 });
} catch (e) {
console.debug?.(e);
}
- F(L("toast.workflowLoaded", "Workflow loaded"), "success", 1800);
+ x(L("toast.workflowLoaded", "Workflow loaded"), "success", 1800);
}
}
function Lt(e) {
try {
- if (typeof r.onCardDblclick == "function") {
- r.onCardDblclick({
+ if (typeof n.onCardDblclick == "function") {
+ n.onCardDblclick({
asset: e,
- assets: Array.isArray(x.assets) ? x.assets : [],
+ assets: Array.isArray(C.assets) ? C.assets : [],
gridContainer: i.value
});
return;
@@ -8852,24 +8852,24 @@ var hd = {
} catch (e) {
console.debug?.(e);
}
- else String(e?.kind || "").toLowerCase() === "workflow" ? It(e) : Mt(e);
+ else String(e?.kind || "").toLowerCase() === "workflow" ? It(e) : jt(e);
}
- async function Rt({ asset: e, folderPath: n }) {
- let r = String(e?.filepath || "").trim();
- if (r && n) try {
- let e = await t({
+ async function Rt({ asset: e, folderPath: t }) {
+ let n = String(e?.filepath || "").trim();
+ if (n && t) try {
+ let e = await r({
op: "move_file",
- path: r,
- destination: n
+ path: n,
+ destination: t
});
- e?.ok ? (F("Moved to folder", "success"), I.reload()) : F(e?.error || "Failed to move file", "error");
+ e?.ok ? (x("Moved to folder", "success"), F.reload()) : x(e?.error || "Failed to move file", "error");
} catch (e) {
- F(e?.message || "Failed to move file", "error");
+ x(e?.message || "Failed to move file", "error");
}
}
let zt = null, Bt = null, Vt = 0, Ht = "";
function Ut() {
- pt();
+ ft();
try {
Qe.value?.measure?.();
} catch (e) {
@@ -8877,9 +8877,9 @@ var hd = {
}
}
function Wt() {
- if (!u) try {
- u = requestAnimationFrame(() => {
- u = 0;
+ if (!d) try {
+ d = requestAnimationFrame(() => {
+ d = 0;
try {
Qe.value?.measure?.();
} catch (e) {
@@ -8887,7 +8887,7 @@ var hd = {
}
});
} catch (e) {
- console.debug?.(e), u = 0;
+ console.debug?.(e), d = 0;
try {
Qe.value?.measure?.();
} catch (e) {
@@ -8905,9 +8905,9 @@ var hd = {
}, 150);
}
function Kt(e) {
- if (!e || !r.virtualize) return () => {};
+ if (!e || !n.virtualize) return () => {};
let t = () => {
- qe(e);
+ Je(e);
};
e.addEventListener("scroll", t, { passive: !0 });
try {
@@ -8925,10 +8925,10 @@ var hd = {
} catch (e) {
console.debug?.(e);
}
- Je();
+ Ye();
};
}
- or(N, (e) => {
+ lr(P, (e) => {
try {
zt?.();
} catch (e) {
@@ -8948,25 +8948,25 @@ var hd = {
}
}
async function Jt() {
- if (!r.virtualize || !He.value || x.loading || x.done) return;
- let e = N.value;
+ if (!n.virtualize || !Ue.value || C.loading || C.done) return;
+ let e = P.value;
if (!e) return;
- let t = Array.isArray(x.assets) ? x.assets.length : 0, n = `${t}::${Be.value}`;
- if (!Bt && !(n === Ht && Date.now() - Vt < 500) && (await qn(), (Number(e.scrollHeight || 0) || 0) <= qt(e) + 40)) {
+ let t = Array.isArray(C.assets) ? C.assets.length : 0, r = `${t}::${He.value}`;
+ if (!Bt && !(r === Ht && Date.now() - Vt < 500) && (await Xn(), (Number(e.scrollHeight || 0) || 0) <= qt(e) + 40)) {
let e = t;
- Bt = Promise.resolve(I.loadNextPage()).catch((e) => console.debug?.(e)).finally(() => {
- let t = Array.isArray(x.assets) ? x.assets.length : 0;
- Vt = Date.now(), Ht = t === e ? n : "", Bt = null, setTimeout(() => {
+ Bt = Promise.resolve(F.loadNextPage()).catch((e) => console.debug?.(e)).finally(() => {
+ let t = Array.isArray(C.assets) ? C.assets.length : 0;
+ Vt = Date.now(), Ht = t === e ? r : "", Bt = null, setTimeout(() => {
Jt();
}, 0);
});
}
}
- or(() => `${Array.isArray(x.assets) ? x.assets.length : 0}::${Be.value}::${x.loading}::${x.done}`, () => {
+ lr(() => `${Array.isArray(C.assets) ? C.assets.length : 0}::${He.value}::${C.loading}::${C.done}`, () => {
Jt();
}, { flush: "post" });
function Yt(e) {
- if (e && r.virtualize) try {
+ if (e && n.virtualize) try {
Qe.value.measureElement(e);
} catch (e) {
console.debug?.(e);
@@ -8974,9 +8974,9 @@ var hd = {
}
function Xt() {
return {
- width: `${We.value}px`,
- flex: `0 0 ${We.value}px`,
- minWidth: `${We.value}px`
+ width: `${Ge.value}px`,
+ flex: `0 0 ${Ge.value}px`,
+ minWidth: `${Ge.value}px`
};
}
function Zt(e) {
@@ -8991,27 +8991,27 @@ var hd = {
transform: `translateY(${Number(t?.start || 0)}px)`,
width: "100%",
display: "flex",
- gap: `${Ue.value}px`,
- paddingBottom: `${Ue.value}px`,
+ gap: `${We.value}px`,
+ paddingBottom: `${We.value}px`,
boxSizing: "border-box"
};
}
function $t() {
return {
display: "flex",
- gap: `${Ue.value}px`,
- paddingBottom: `${Ue.value}px`,
+ gap: `${We.value}px`,
+ paddingBottom: `${We.value}px`,
boxSizing: "border-box"
};
}
function en() {
- s.value += 1, r.applyDefaultSettingsClasses && i.value && ni(i.value);
+ o.value += 1, n.applyDefaultSettingsClasses && i.value && ai(i.value);
}
- return or(() => r.applyDefaultSettingsClasses, () => {
- i.value && r.applyDefaultSettingsClasses && ni(i.value);
- }, { immediate: !0 }), ar(() => {
+ return lr(() => n.applyDefaultSettingsClasses, () => {
+ i.value && n.applyDefaultSettingsClasses && ai(i.value);
+ }, { immediate: !0 }), cr(() => {
try {
- window.removeEventListener(B.VIEWER_ACTIVE_ASSET_CHANGED, Ie);
+ window.removeEventListener(B.VIEWER_ACTIVE_ASSET_CHANGED, Re);
} catch (e) {
console.debug?.(e);
}
@@ -9041,13 +9041,13 @@ var hd = {
console.debug?.(e);
}
try {
- u && cancelAnimationFrame(u);
+ d && cancelAnimationFrame(d);
} catch (e) {
console.debug?.(e);
}
- u = 0, Je();
+ d = 0, Ye();
try {
- I.dispose();
+ F.dispose();
} catch (e) {
console.debug?.(e);
}
@@ -9067,62 +9067,62 @@ var hd = {
} catch (e) {
console.debug?.(e);
}
- }), or(i, (e) => {
+ }), lr(i, (e) => {
e && (_t ||= (window.addEventListener("mjr-settings-changed", en), window.addEventListener("mjr:keepalive-attached", Gt), !0));
- }, { immediate: !0 }), n({
+ }, { immediate: !0 }), t({
get gridContainer() {
return i.value;
},
get assets() {
- return Array.isArray(x.assets) ? x.assets : [];
+ return Array.isArray(C.assets) ? C.assets : [];
},
loadAssets(...e) {
- return I.loadAssets(...e);
+ return F.loadAssets(...e);
},
loadAssetsFromList(...e) {
- return I.loadAssetsFromList(...e);
+ return F.loadAssetsFromList(...e);
},
loadNextPage(...e) {
- return I.loadNextPage(...e);
+ return F.loadNextPage(...e);
},
appendNextPage(...e) {
- return I.appendNextPage(...e);
+ return F.appendNextPage(...e);
},
refreshHead(...e) {
- return I.refreshHead(...e);
+ return F.refreshHead(...e);
},
upsertRealtime(...e) {
- return I.upsertRealtime(...e);
+ return F.upsertRealtime(...e);
},
prepareGridForScopeSwitch(...e) {
- return I.prepareGridForScopeSwitch(...e);
+ return F.prepareGridForScopeSwitch(...e);
},
refreshGrid(...e) {
- return I.refreshGrid(...e);
+ return F.refreshGrid(...e);
},
removeAssets(...e) {
- return I.removeAssets(...e);
+ return F.removeAssets(...e);
},
upsertAsset(...e) {
- return I.upsertAsset(...e);
+ return F.upsertAsset(...e);
},
getCanonicalState(...e) {
- return I.getCanonicalState(...e);
+ return F.getCanonicalState(...e);
},
getDebugSnapshot(...e) {
- return I.getDebugSnapshot(...e);
+ return F.getDebugSnapshot(...e);
},
captureAnchor(...e) {
- return I.captureAnchor(...e);
+ return F.captureAnchor(...e);
},
restoreAnchor(...e) {
- return I.restoreAnchor(...e);
+ return F.restoreAnchor(...e);
},
hydrateFromSnapshot(...e) {
- return I.hydrateFromSnapshot(...e);
+ return F.hydrateFromSnapshot(...e);
},
dispose() {
- return I.dispose();
+ return F.dispose();
}
}), (t, n) => (q(), Y("div", {
ref_key: "gridContainerRef",
@@ -9135,27 +9135,27 @@ var hd = {
"min-height": "100%"
}
}, [
- Z(x).loading && !Z(x).assets.length ? (q(), Y("div", hd, [H("div", gd, [H("div", {
+ Z(C).loading && !Z(C).assets.length ? (q(), Y("div", vd, [H("div", yd, [H("div", {
class: "mjr-grid-skeleton-layout",
- style: fr(ot.value)
- }, [(q(!0), Y(V, null, $n(it.value, (e) => (q(), Y("div", {
+ style: hr(ot.value)
+ }, [(q(!0), Y(V, null, nr(it.value, (e) => (q(), Y("div", {
key: `sk-${e}`,
class: "mjr-grid-skeleton-card",
- style: fr(st.value)
+ style: hr(st.value)
}, [H("div", {
class: "mjr-grid-skeleton-thumb mjr-grid-skeleton-shimmer",
- style: fr(ct.value)
- }, null, 4), H("div", { style: fr(ft.value) }, [H("div", {
+ style: hr(ct.value)
+ }, null, 4), H("div", { style: hr(dt.value) }, [H("div", {
class: "mjr-grid-skeleton-line mjr-grid-skeleton-line--title mjr-grid-skeleton-shimmer",
- style: fr(lt.value)
+ style: hr(lt.value)
}, null, 4), H("div", {
class: "mjr-grid-skeleton-line mjr-grid-skeleton-line--meta mjr-grid-skeleton-shimmer",
- style: fr(dt.value)
- }, null, 4)], 4)], 4))), 128))], 4), H("div", _d, J(Z(x).loadingMessage || "Loading assets..."), 1)])])) : W("", !0),
- Z(x).statusMessage && !Z(x).assets.length && !Z(x).loading ? (q(), Y("div", {
+ style: hr(ut.value)
+ }, null, 4)], 4)], 4))), 128))], 4), H("div", bd, J(Z(C).loadingMessage || "Loading assets..."), 1)])])) : W("", !0),
+ Z(C).statusMessage && !Z(C).assets.length && !Z(C).loading ? (q(), Y("div", {
key: 1,
class: "mjr-grid-message",
- style: fr({
+ style: hr({
position: "absolute",
inset: "0",
zIndex: 3,
@@ -9167,41 +9167,41 @@ var hd = {
pointerEvents: "none",
fontSize: "14px",
lineHeight: "1.4",
- color: Z(x).statusError ? "var(--error-text, #f44336)" : "var(--muted-text, #bdbdbd)",
+ color: Z(C).statusError ? "var(--error-text, #f44336)" : "var(--muted-text, #bdbdbd)",
background: "rgba(0, 0, 0, 0.35)"
})
- }, J(Z(x).statusMessage), 5)) : W("", !0),
+ }, J(Z(C).statusMessage), 5)) : W("", !0),
e.virtualize ? (q(), Y("div", {
key: 2,
- style: fr({
+ style: hr({
height: `${Z(et)}px`,
position: "relative",
width: "100%",
gridColumn: "1 / -1"
})
- }, [(q(!0), Y(V, null, $n(Z(z), (e) => (q(), Y("div", {
+ }, [(q(!0), Y(V, null, nr(Z(z), (e) => (q(), Y("div", {
key: e.key,
ref_for: !0,
ref: Yt,
"data-index": e.index,
- style: fr(Qt(e.index))
+ style: hr(Qt(e.index))
}, [e.kind === "header" ? (q(), Y("button", {
key: 0,
type: "button",
- class: X(["mjr-grid-group-separator", ke(e)]),
- "aria-expanded": De(e.groupKey) ? "false" : "true",
- title: `${De(e.groupKey) ? "Open" : "Close"} group`,
- onClick: (t) => Oe(e.groupKey)
- }, [H("span", bd, [H("i", { class: X(["pi", De(e.groupKey) ? "pi-chevron-down" : "pi-chevron-up"]) }, null, 2)]), H("span", xd, J(e.title), 1)], 10, yd)) : e.items.length ? (q(!0), Y(V, { key: 1 }, $n(e.items, (e) => (q(), Y(V, { key: String(e.id) }, [ce(e) ? (q(), Jn(Fc, {
+ class: X(["mjr-grid-group-separator", je(e)]),
+ "aria-expanded": Oe(e.groupKey) ? "false" : "true",
+ title: `${Oe(e.groupKey) ? "Open" : "Close"} group`,
+ onClick: (t) => Ae(e.groupKey)
+ }, [H("span", Cd, [H("i", { class: X(["pi", Oe(e.groupKey) ? "pi-chevron-down" : "pi-chevron-up"]) }, null, 2)]), H("span", wd, J(e.title), 1)], 10, Sd)) : e.items.length ? (q(!0), Y(V, { key: 1 }, nr(e.items, (e) => (q(), Y(V, { key: String(e.id) }, [ce(e) ? (q(), Zn(Rc, {
key: 0,
ref_for: !0,
ref: Et(e),
asset: e,
selected: se(e),
- style: fr(Xt()),
- onMousedown: rr((t) => At(t, e), ["left"]),
+ style: hr(Xt()),
+ onMousedown: or((t) => At(t, e), ["left"]),
onClick: (t) => kt(t, e),
- onDblclick: rr((t) => Lt(e), ["stop"]),
+ onDblclick: or((t) => Lt(e), ["stop"]),
onDropAsset: Rt
}, null, 8, [
"asset",
@@ -9216,50 +9216,50 @@ var hd = {
ref: Et(e),
class: X(["mjr-asset-card mjr-card", {
"is-selected": se(e),
- "mjr-live-placeholder": _e(e)
+ "mjr-live-placeholder": ve(e)
}]),
role: "button",
tabindex: "0",
draggable: "true",
- style: fr(Xt()),
+ style: hr(Xt()),
"data-mjr-asset-id": String(e.id ?? ""),
"data-mjr-filename-key": String(e.filename || "").toLowerCase(),
"data-mjr-ext": ae(e),
"data-mjr-stem": oe(e),
"data-mjr-kind": String(e.kind || ""),
- "data-mjr-live-placeholder": _e(e) ? "true" : void 0,
- "data-mjr-stacked": ge(e) ? "true" : void 0,
- "data-mjr-stack-count": ge(e) ? String(e.stack_asset_count || 0) : void 0,
+ "data-mjr-live-placeholder": ve(e) ? "true" : void 0,
+ "data-mjr-stacked": _e(e) ? "true" : void 0,
+ "data-mjr-stack-count": _e(e) ? String(e.stack_asset_count || 0) : void 0,
"data-mjr-dup-stacked": e._mjrDupStack ? "true" : void 0,
"data-mjr-dup-count": e._mjrDupStack ? String(e._mjrDupCount || 0) : void 0,
"aria-label": `Asset ${e.filename || ""}`,
"aria-selected": se(e) ? "true" : "false",
- onMousedown: rr((t) => At(t, e), ["left"]),
+ onMousedown: or((t) => At(t, e), ["left"]),
onClick: (t) => kt(t, e),
- onDblclick: rr((t) => Lt(e), ["stop"])
- }, [U(jc, {
+ onDblclick: or((t) => Lt(e), ["stop"])
+ }, [U(Pc, {
asset: e,
onWorkflowAction: (t) => Ft(t, e)
- }, null, 8, ["asset", "onWorkflowAction"])], 46, Sd))], 64))), 128)) : W("", !0)], 12, vd))), 128))], 4)) : (q(), Y("div", Cd, [(q(!0), Y(V, null, $n(Ke.value, (e) => (q(), Y("div", {
+ }, null, 8, ["asset", "onWorkflowAction"])], 46, Td))], 64))), 128)) : W("", !0)], 12, xd))), 128))], 4)) : (q(), Y("div", Ed, [(q(!0), Y(V, null, nr(qe.value, (e) => (q(), Y("div", {
key: `${e.kind || "assets"}-${e.groupKey || ""}-${e.index ?? ""}`,
- style: fr($t())
+ style: hr($t())
}, [e.kind === "header" ? (q(), Y("button", {
key: 0,
type: "button",
- class: X(["mjr-grid-group-separator", ke(e)]),
- "aria-expanded": De(e.groupKey) ? "false" : "true",
- title: `${De(e.groupKey) ? "Open" : "Close"} group`,
- onClick: (t) => Oe(e.groupKey)
- }, [H("span", Td, [H("i", { class: X(["pi", De(e.groupKey) ? "pi-chevron-down" : "pi-chevron-up"]) }, null, 2)]), H("span", Ed, J(e.title), 1)], 10, wd)) : (q(!0), Y(V, { key: 1 }, $n(e.items, (e) => (q(), Y(V, { key: String(e.id) }, [ce(e) ? (q(), Jn(Fc, {
+ class: X(["mjr-grid-group-separator", je(e)]),
+ "aria-expanded": Oe(e.groupKey) ? "false" : "true",
+ title: `${Oe(e.groupKey) ? "Open" : "Close"} group`,
+ onClick: (t) => Ae(e.groupKey)
+ }, [H("span", Od, [H("i", { class: X(["pi", Oe(e.groupKey) ? "pi-chevron-down" : "pi-chevron-up"]) }, null, 2)]), H("span", kd, J(e.title), 1)], 10, Dd)) : (q(!0), Y(V, { key: 1 }, nr(e.items, (e) => (q(), Y(V, { key: String(e.id) }, [ce(e) ? (q(), Zn(Rc, {
key: 0,
ref_for: !0,
ref: Et(e),
asset: e,
selected: se(e),
- style: fr(Xt()),
- onMousedown: rr((t) => At(t, e), ["left"]),
+ style: hr(Xt()),
+ onMousedown: or((t) => At(t, e), ["left"]),
onClick: (t) => kt(t, e),
- onDblclick: rr((t) => Lt(e), ["stop"]),
+ onDblclick: or((t) => Lt(e), ["stop"]),
onDropAsset: Rt
}, null, 8, [
"asset",
@@ -9274,34 +9274,34 @@ var hd = {
ref: Et(e),
class: X(["mjr-asset-card mjr-card", {
"is-selected": se(e),
- "mjr-live-placeholder": _e(e)
+ "mjr-live-placeholder": ve(e)
}]),
role: "button",
tabindex: "0",
draggable: "true",
- style: fr(Xt()),
+ style: hr(Xt()),
"data-mjr-asset-id": String(e.id ?? ""),
"data-mjr-filename-key": String(e.filename || "").toLowerCase(),
"data-mjr-ext": ae(e),
"data-mjr-stem": oe(e),
"data-mjr-kind": String(e.kind || ""),
- "data-mjr-live-placeholder": _e(e) ? "true" : void 0,
- "data-mjr-stacked": ge(e) ? "true" : void 0,
- "data-mjr-stack-count": ge(e) ? String(e.stack_asset_count || 0) : void 0,
+ "data-mjr-live-placeholder": ve(e) ? "true" : void 0,
+ "data-mjr-stacked": _e(e) ? "true" : void 0,
+ "data-mjr-stack-count": _e(e) ? String(e.stack_asset_count || 0) : void 0,
"data-mjr-dup-stacked": e._mjrDupStack ? "true" : void 0,
"data-mjr-dup-count": e._mjrDupStack ? String(e._mjrDupCount || 0) : void 0,
"aria-label": `Asset ${e.filename || ""}`,
"aria-selected": se(e) ? "true" : "false",
- onMousedown: rr((t) => At(t, e), ["left"]),
+ onMousedown: or((t) => At(t, e), ["left"]),
onClick: (t) => kt(t, e),
- onDblclick: rr((t) => Lt(e), ["stop"])
- }, [U(jc, {
+ onDblclick: or((t) => Lt(e), ["stop"])
+ }, [U(Pc, {
asset: e,
onWorkflowAction: (t) => Ft(t, e)
- }, null, 8, ["asset", "onWorkflowAction"])], 46, Dd))], 64))), 128))], 4))), 128))])),
+ }, null, 8, ["asset", "onWorkflowAction"])], 46, Ad))], 64))), 128))], 4))), 128))])),
H("div", {
ref_key: "infiniteSentinelRef",
- ref: ie,
+ ref: I,
"aria-hidden": "true",
style: {
height: "1px",
@@ -9312,14 +9312,14 @@ var hd = {
}, null, 512)
], 512));
}
-}), Ad = 240, jd = 120, Md = 80, Nd = null, Pd = null;
-function Fd() {
- return Nd ||= import("./chunks/viewerOpenRequest-WOJE90Gn.js").then((e) => e.n), Nd;
+}), Nd = 240, Pd = 120, Fd = 80, Id = null, Ld = null;
+function Rd() {
+ return Id ||= import("./chunks/viewerOpenRequest-WOJE90Gn.js").then((e) => e.n), Id;
}
-function Id() {
- return Pd ||= import("./chunks/floatingViewerManager-B_I-SRbd.js").then((e) => e.n), Pd;
+function zd() {
+ return Ld ||= import("./chunks/floatingViewerManager-D_aLLeau.js").then((e) => e.n), Ld;
}
-function Ld(e) {
+function Bd(e) {
let t = document.createElement("button");
t.type = "button", t.className = "mjr-asset-card mjr-card mjr-feed-group-member-card", t.style.cssText = "display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:110px;padding:8px;border:1px solid var(--mjr-border,#444);border-radius:8px;background:var(--mjr-surface,#202020);color:inherit;text-align:left;overflow:hidden;";
try {
@@ -9330,7 +9330,7 @@ function Ld(e) {
let n = document.createElement("div");
return n.className = "mjr-feed-group-member-name", n.style.cssText = "font-size:11px;font-weight:600;line-height:1.3;word-break:break-word;", n.textContent = String(e?.filename || "Asset"), t.appendChild(n), t;
}
-function Rd(e) {
+function Vd(e) {
try {
if (typeof e?._mjrGetRenderedCards == "function") {
let t = e._mjrGetRenderedCards();
@@ -9345,11 +9345,11 @@ function Rd(e) {
return console.debug?.(e), [];
}
}
-function zd(e, t, n = "") {
+function Hd(e, t, n = "") {
let r = Array.isArray(t) ? t.map(String).filter(Boolean) : [];
- return dt(e, r, { activeId: n || r[0] || "" }, Rd);
+ return mt(e, r, { activeId: n || r[0] || "" }, Vd);
}
-function Bd(e) {
+function Ud(e) {
let t = e?.grid;
if (!t) return;
let n = (e) => {
@@ -9365,16 +9365,16 @@ function Bd(e) {
} catch (e) {
console.debug?.(e);
}
- let a = Rd(t), o = a.indexOf(n), s = yt(t);
+ let a = Vd(t), o = a.indexOf(n), s = St(t);
if (e.shiftKey && o >= 0) {
let n = Number.isFinite(Number(t._mjrLastSelectedIndex)) ? Number(t._mjrLastSelectedIndex) : o, r = Math.min(n, o), s = Math.max(n, o), c = a.slice(r, s + 1).map((e) => String(e?.dataset?.mjrAssetId || "").trim()).filter(Boolean);
- zd(t, c, i), t._mjrLastSelectedIndex = o, e.preventDefault(), e.stopPropagation();
+ Hd(t, c, i), t._mjrLastSelectedIndex = o, e.preventDefault(), e.stopPropagation();
} else if (e.ctrlKey || e.metaKey) {
s.has(i) ? s.delete(i) : s.add(i);
let n = Array.from(s);
- zd(t, n, s.has(i) ? i : n[0] || ""), o >= 0 && (t._mjrLastSelectedIndex = o), e.preventDefault(), e.stopPropagation();
+ Hd(t, n, s.has(i) ? i : n[0] || ""), o >= 0 && (t._mjrLastSelectedIndex = o), e.preventDefault(), e.stopPropagation();
} else {
- zd(t, [i], i), o >= 0 && (t._mjrLastSelectedIndex = o);
+ Hd(t, [i], i), o >= 0 && (t._mjrLastSelectedIndex = o);
try {
n.focus?.({ preventScroll: !0 });
} catch (e) {
@@ -9391,23 +9391,23 @@ function Bd(e) {
}
};
}
-var Vd = {
+var Wd = {
hosts: /* @__PURE__ */ new Set(),
pendingAssets: /* @__PURE__ */ new Map()
};
-function Hd(e) {
- if (!R.EXECUTION_GROUPING_ENABLED) return rf(e);
+function Gd(e) {
+ if (!R.EXECUTION_GROUPING_ENABLED) return sf(e);
let t = String(e?.stack_id || "").trim();
if (t) return `stack:${t}`;
let n = String(e?.job_id || "").trim();
- return n ? `job:${n}` : rf(e);
+ return n ? `job:${n}` : sf(e);
}
-function Ud(e) {
+function Kd(e) {
let t = /* @__PURE__ */ new Map();
for (let n of Array.isArray(e) ? e : []) {
- let e = of(n);
+ let e = lf(n);
if (!e) continue;
- let r = Hd(e), i = t.get(r);
+ let r = Gd(e), i = t.get(r);
i || (i = {
key: r,
members: []
@@ -9432,16 +9432,16 @@ function Ud(e) {
return (Number(t?.mtime || t?.created_at || 0) || 0) - n;
}), n;
}
-function Wd(e) {
+function qd(e) {
return Array.from(e?.assetsByKey?.values?.() || []);
}
-function Gd(e) {
+function Jd(e) {
return String(e ?? "").trim().toLowerCase();
}
-function Kd(e) {
+function Yd(e) {
return e?._mjrLivePlaceholder === !0 || e?.is_live_placeholder === !0 || String(e?.id || "").trim().toLowerCase().startsWith("live:");
}
-function qd(e) {
+function Xd(e) {
if (!e || typeof e != "object") return e;
try {
delete e._mjrLivePlaceholder, delete e._mjrLiveStatus, delete e._mjrLiveLabel, delete e.is_live_placeholder;
@@ -9450,19 +9450,19 @@ function qd(e) {
}
return e;
}
-function Jd(e) {
+function Zd(e) {
if (!e || typeof e != "object") return "";
- let t = Gd(e?.type || e?.source || "output"), n = Gd(e?.root_id || e?.custom_root_id || ""), r = Gd(e?.subfolder || ""), i = Gd(e?.filename || "");
+ let t = Jd(e?.type || e?.source || "output"), n = Jd(e?.root_id || e?.custom_root_id || ""), r = Jd(e?.subfolder || ""), i = Jd(e?.filename || "");
if (i) return `${t}|${n}|${r}|${i}`;
- let a = Gd(e?.filepath || e?.path || e?.fullpath || e?.full_path || "");
+ let a = Jd(e?.filepath || e?.path || e?.fullpath || e?.full_path || "");
return a ? `${t}|${n}|path|${a}` : "";
}
-function Yd(e, t) {
- let n = of(t);
+function Qd(e, t) {
+ let n = lf(t);
if (!e || typeof e.set != "function" || !n) return null;
- let r = rf(n), i = Jd(n), a = "";
+ let r = sf(n), i = Zd(n), a = "";
if (i) {
- for (let [t, n] of e.entries()) if (Jd(n) === i) {
+ for (let [t, n] of e.entries()) if (Zd(n) === i) {
a = t;
break;
}
@@ -9471,17 +9471,17 @@ function Yd(e, t) {
...o,
...n
} : n;
- return Kd(n) || qd(s), a && a !== r && e.delete(a), e.set(r, s), s;
+ return Yd(n) || Xd(s), a && a !== r && e.delete(a), e.set(r, s), s;
}
-function Xd(e, t) {
- return e ? (e.assetsByKey ||= /* @__PURE__ */ new Map(), Yd(e.assetsByKey, t)) : null;
+function $d(e, t) {
+ return e ? (e.assetsByKey ||= /* @__PURE__ */ new Map(), Qd(e.assetsByKey, t)) : null;
}
-function Zd(e) {
+function ef(e) {
e?.grid && e.loaded && (e._renderTimer ||= setTimeout(() => {
- e._renderTimer = null, nf(e);
- }, Md));
+ e._renderTimer = null, of(e);
+ }, Fd));
}
-function Qd(e, t, n = 0) {
+function tf(e, t, n = 0) {
let r = Array.isArray(t?._mjrFeedGroupAssets) ? t._mjrFeedGroupAssets.filter(Boolean) : [t].filter(Boolean);
if (!r.length) return;
let i = Math.max(0, Math.min(n, r.length - 1)), a = r[i] || null, o = String(a?.id || "").trim();
@@ -9491,14 +9491,14 @@ function Qd(e, t, n = 0) {
} catch (e) {
console.debug?.(e);
}
- zd(e.grid, [o], o);
+ Hd(e.grid, [o], o);
}
- Fd().then((e) => e.requestViewerOpen({
+ Rd().then((e) => e.requestViewerOpen({
assets: r,
index: i
})).catch((e) => console.debug?.(e));
}
-function $d(e, t) {
+function nf(e, t) {
let n = document.createElement("div");
n.className = "mjr-popover mjr-feed-group-popover", n.style.cssText = "display:none; width:min(440px, 92vw); padding:10px;";
let r = document.createElement("div");
@@ -9507,14 +9507,14 @@ function $d(e, t) {
i.className = "mjr-feed-group-popover-grid", i.style.cssText = "display:grid; grid-template-columns:repeat(auto-fill, minmax(110px, 1fr)); gap:8px; max-height:360px; overflow-y:auto; overscroll-behavior:contain;";
let a = Array.isArray(t?._mjrFeedGroupAssets) ? t._mjrFeedGroupAssets : [];
for (let r = 0; r < a.length; r += 1) {
- let o = a[r], s = Ld(o);
+ let o = a[r], s = Bd(o);
s.classList.add("mjr-feed-group-member-card"), r === 0 && s.classList.add("mjr-feed-group-member-card--cover"), s.addEventListener("click", (i) => {
- i.preventDefault(), i.stopPropagation(), e.popoverManager?.close?.(n), Qd(e, t, r);
+ i.preventDefault(), i.stopPropagation(), e.popoverManager?.close?.(n), tf(e, t, r);
}), i.appendChild(s);
}
return n.appendChild(i), e.root.appendChild(n), n;
}
-function ef(e, t, n) {
+function rf(e, t, n) {
if (!t || !n) return;
let r = Number(n?._mjrFeedGroupCount || 0) || 0;
if (r <= 1 || (t.dataset.mjrFeedGrouped = "true", t.dataset.mjrFeedGroupCount = String(r), t.dataset.mjrStacked = "true", t.dataset.mjrStackCount = String(r), t.querySelector(".mjr-feed-group-button"))) return;
@@ -9523,20 +9523,20 @@ function ef(e, t, n) {
let a = document.createElement("span");
a.className = "mjr-feed-group-button-icon pi pi-clone", i.appendChild(a);
let o = document.createElement("span");
- o.className = "mjr-feed-group-button-count", o.textContent = String(r), i.appendChild(o), i.style.cssText = "position:absolute; top:34px; right:6px; z-index:11;", go(i);
- let s = $d(e, n);
+ o.className = "mjr-feed-group-button-count", o.textContent = String(r), i.appendChild(o), i.style.cssText = "position:absolute; top:34px; right:6px; z-index:11;", yo(i);
+ let s = nf(e, n);
i.addEventListener("click", (t) => {
t.preventDefault(), t.stopPropagation(), e.popoverManager?.toggle?.(s, i);
}), t.appendChild(i);
}
-function tf(e, t) {
+function af(e, t) {
let n = new Map((Array.isArray(t) ? t : []).map((e) => [String(e?.id || "").trim(), e]).filter(([e]) => !!e));
- for (let t of Rd(e?.grid)) {
+ for (let t of Vd(e?.grid)) {
let r = String(t?.dataset?.mjrAssetId || "").trim(), i = n.get(r);
- i && ef(e, t, i);
+ i && rf(e, t, i);
}
}
-async function nf(e) {
+async function of(e) {
if (!e?.grid) return;
try {
e.popoverManager?.closeAll?.();
@@ -9549,19 +9549,19 @@ async function nf(e) {
} catch (e) {
console.debug?.(e);
}
- let t = Ud(Wd(e)), n = await si(e.grid, t, {
+ let t = Kd(qd(e)), n = await ui(e.grid, t, {
title: L("bottomFeed.title", "Generated Feed"),
reset: !0
});
- tf(e, t), Number(n?.count || 0) <= 0 ? (e.empty.textContent = L("bottomFeed.empty", "No generated assets yet."), e.empty.style.display = "") : e.empty.style.display = "none";
+ af(e, t), Number(n?.count || 0) <= 0 ? (e.empty.textContent = L("bottomFeed.empty", "No generated assets yet."), e.empty.style.display = "") : e.empty.style.display = "none";
}
-function rf(e) {
+function sf(e) {
let t = String(e?.id || "").trim();
if (t) return `id:${t}`;
let n = String(e?.filename || "").trim(), r = String(e?.subfolder || "").trim();
return `file:${String(e?.source || e?.type || "").trim()}:${r}:${n}`;
}
-function af(e) {
+function cf(e) {
let t = String(e || "").split(".").pop()?.toUpperCase() ?? "", n = /* @__PURE__ */ new Set([
"MP4",
"WEBM",
@@ -9588,63 +9588,63 @@ function af(e) {
]);
return n.has(t) ? "video" : r.has(t) ? "audio" : i.has(t) ? "model3d" : "image";
}
-function of(e) {
+function lf(e) {
if (!e || typeof e != "object") return null;
let t = { ...e };
- return !t.type && t.source && (t.type = t.source), !t.source && t.type && (t.source = t.type), t.kind ||= af(t.ext || t.filename || ""), t;
+ return !t.type && t.source && (t.type = t.source), !t.source && t.type && (t.source = t.type), t.kind ||= cf(t.ext || t.filename || ""), t;
}
-function sf(e) {
- let t = of(e);
+function uf(e) {
+ let t = lf(e);
if (!t) return null;
- let n = rf(t);
+ let n = sf(t);
if (!n) return null;
- let r = Jd(t), i = null;
- if (r) for (let [e, t] of Vd.pendingAssets.entries()) e !== n && Jd(t) === r && (i = t, Vd.pendingAssets.delete(e));
- let a = Vd.pendingAssets.get(n) || i || null, o = a ? {
+ let r = Zd(t), i = null;
+ if (r) for (let [e, t] of Wd.pendingAssets.entries()) e !== n && Zd(t) === r && (i = t, Wd.pendingAssets.delete(e));
+ let a = Wd.pendingAssets.get(n) || i || null, o = a ? {
...a,
...t
} : t;
- if (Kd(t) || qd(o), Vd.pendingAssets.set(n, o), Vd.pendingAssets.size > 64) {
- let e = Vd.pendingAssets.keys().next().value;
- e && Vd.pendingAssets.delete(e);
+ if (Yd(t) || Xd(o), Wd.pendingAssets.set(n, o), Wd.pendingAssets.size > 64) {
+ let e = Wd.pendingAssets.keys().next().value;
+ e && Wd.pendingAssets.delete(e);
}
return o;
}
-function cf() {
- return Array.from(Vd.pendingAssets.values());
+function df() {
+ return Array.from(Wd.pendingAssets.values());
}
-async function lf(e) {
+async function ff(e) {
if (e?.grid) {
e.empty.style.display = "none", e.empty.textContent = L("bottomFeed.loading", "Loading recent assets...");
try {
e.assetsByKey = /* @__PURE__ */ new Map();
let t = [], n = 0;
- for (; n < Ad;) {
- let r = qe({
+ for (; n < Nd;) {
+ let r = Ge({
q: "*",
- limit: Math.min(jd, Ad - n),
+ limit: Math.min(Pd, Nd - n),
offset: n,
scope: "output",
sort: "mtime_desc",
includeTotal: n === 0
- }), i = await Pe(r, { timeoutMs: 3e4 });
+ }), i = await Ie(r, { timeoutMs: 3e4 });
if (!i?.ok) throw Error(String(i?.error || "Failed to load feed assets"));
let a = Array.isArray(i?.data?.assets) ? i.data.assets : [];
if (!a.length) break;
for (let n of a) {
- let r = Xd(e, n);
+ let r = $d(e, n);
r && t.push(r);
}
- if (a.length < jd) break;
+ if (a.length < Pd) break;
n += a.length;
}
- for (let t of cf()) Xd(e, t);
- Vd.pendingAssets.clear();
- let r = Ud(Wd(e)), i = await si(e.grid, r, {
+ for (let t of df()) $d(e, t);
+ Wd.pendingAssets.clear();
+ let r = Kd(qd(e)), i = await ui(e.grid, r, {
title: L("bottomFeed.title", "Generated Feed"),
reset: !0
});
- tf(e, r), Number(i?.count || 0) <= 0 ? (e.empty.textContent = L("bottomFeed.empty", "No generated assets yet."), e.empty.style.display = "") : e.empty.style.display = "none";
+ af(e, r), Number(i?.count || 0) <= 0 ? (e.empty.textContent = L("bottomFeed.empty", "No generated assets yet."), e.empty.style.display = "") : e.empty.style.display = "none";
} catch (t) {
console.debug?.(t), e.empty.textContent = L("bottomFeed.loadFailed", "Failed to load generated assets."), e.empty.style.display = "";
} finally {
@@ -9652,21 +9652,21 @@ async function lf(e) {
}
}
}
-async function uf() {
- for (let e of Array.from(Vd.hosts)) try {
- await lf(e);
+async function pf() {
+ for (let e of Array.from(Wd.hosts)) try {
+ await ff(e);
} catch (e) {
console.debug?.(e);
}
}
-function df() {
- uf();
+function mf() {
+ pf();
}
-function ff(e) {
+function hf(e) {
let t = document.createElement("div");
t.textContent = L("bottomFeed.loading", "Loading recent assets..."), t.style.cssText = "font-size:11px; opacity:0.65; padding:4px 2px 8px 2px;", e.root.appendChild(t), e.empty = t;
}
-function pf(e) {
+function gf(e) {
if (!e) return;
let t = [
e,
@@ -9684,14 +9684,14 @@ function pf(e) {
console.debug?.(e);
}
}
-function mf(e) {
+function _f(e) {
if (!e) return;
let t = (t, n) => {
n ? e.classList.add(t) : e.classList.remove(t);
};
t("mjr-feed-show-info", R.FEED_SHOW_INFO), t("mjr-feed-show-filename", R.FEED_SHOW_FILENAME), t("mjr-feed-show-dimensions", R.FEED_SHOW_DIMENSIONS), t("mjr-feed-show-date", R.FEED_SHOW_DATE), t("mjr-feed-show-gentime", R.FEED_SHOW_GENTIME), t("mjr-show-hover-info", R.GRID_SHOW_HOVER_INFO), t("mjr-feed-show-dot", R.FEED_SHOW_WORKFLOW_DOT), t("mjr-feed-show-badges-ext", R.FEED_SHOW_BADGES_EXTENSION), t("mjr-feed-show-badges-rating", R.FEED_SHOW_BADGES_RATING), t("mjr-feed-show-badges-tags", R.FEED_SHOW_BADGES_TAGS);
}
-function hf(e, t = null) {
+function vf(e, t = null) {
let n = t || document.createElement("div");
n.classList.add("mjr-am-grid-scroll"), n.style.position = "relative", n.style.flex = "1 1 auto", n.style.minHeight = "0", n.style.height = "100%", n.style.overflow = "auto", n.style.scrollbarGutter = "stable", n.style.overscrollBehavior = "contain", n.style.webkitOverflowScrolling = "touch";
let r = () => {
@@ -9709,14 +9709,14 @@ function hf(e, t = null) {
}
}, a = document.createElement("div");
n.appendChild(a), e.root.appendChild(n);
- let { app: o } = Wt(kd, {
+ let { app: o } = qt(Md, {
scrollElement: n,
virtualize: !1,
applyDefaultSettingsClasses: !1,
emitWindowSelectionEvents: !0,
onCardRendered: (t, n) => {
try {
- ef(e, t, n);
+ rf(e, t, n);
} catch (e) {
console.debug?.(e);
}
@@ -9735,7 +9735,7 @@ function hf(e, t = null) {
else if (t === "c") {
e.preventDefault?.(), e.stopPropagation?.(), r();
try {
- Id().then(async ({ floatingViewerManager: e }) => {
+ zd().then(async ({ floatingViewerManager: e }) => {
await e.open(), e.toggleCompareAB();
}).catch((e) => console.debug?.(e));
} catch (e) {
@@ -9756,19 +9756,19 @@ function hf(e, t = null) {
}
};
}
-function gf(e) {
+function yf(e) {
let t = e?.grid;
if (!t) return [];
- let n = yt(t);
- return n.size ? Wd(e).filter((e) => n.has(String(e?.id || ""))) : [];
+ let n = St(t);
+ return n.size ? qd(e).filter((e) => n.has(String(e?.id || ""))) : [];
}
-function _f(e) {
+function bf(e) {
let t = e?.grid;
if (!t) return null;
let n = String(t.dataset?.mjrSelectedAssetId || "").trim();
- return n ? Wd(e).find((e) => String(e?.id || "") === n) || null : gf(e)[0] || null;
+ return n ? qd(e).find((e) => String(e?.id || "") === n) || null : yf(e)[0] || null;
}
-function vf(e) {
+function xf(e) {
let t = String(e ?? "");
try {
if (typeof CSS < "u" && typeof CSS.escape == "function") return CSS.escape(t);
@@ -9777,39 +9777,39 @@ function vf(e) {
}
return t.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1");
}
-function yf(e) {
+function Sf(e) {
let t = e?.grid;
if (!t) return;
let n = () => {
try {
- Zd(e);
+ ef(e);
} catch (e) {
console.debug?.(e);
}
};
- e.keyboard = ea({
+ e.keyboard = ra({
gridContainer: t,
- getState: () => ({ assets: Ud(Wd(e)) }),
- getSelectedAssets: () => gf(e),
- getActiveAsset: () => _f(e),
+ getState: () => ({ assets: Kd(qd(e)) }),
+ getSelectedAssets: () => yf(e),
+ getActiveAsset: () => bf(e),
onOpenTagsEditor: (e) => {
- let r = t.querySelector?.(`.mjr-asset-card[data-mjr-asset-id="${vf(e?.id || "")}"]`) || null, i = null;
+ let r = t.querySelector?.(`.mjr-asset-card[data-mjr-asset-id="${xf(e?.id || "")}"]`) || null, i = null;
try {
i = r?.getBoundingClientRect?.() || t.getBoundingClientRect();
} catch (e) {
console.debug?.(e);
}
- oo(Math.round((i?.left || 0) + Math.min((i?.width || 0) * .5, 160)), Math.round((i?.top || 0) + Math.min((i?.height || 0) * .5, 120)), e, n);
+ lo(Math.round((i?.left || 0) + Math.min((i?.width || 0) * .5, 160)), Math.round((i?.top || 0) + Math.min((i?.height || 0) * .5, 120)), e, n);
},
onAssetChanged: n
- }), e.keyboard.bind(), e.ratingHotkeys = ho({
+ }), e.keyboard.bind(), e.ratingHotkeys = vo({
gridContainer: t,
- createRatingBadge: nn
+ createRatingBadge: on
}), e.ratingHotkeys.bind();
}
-var bf = 60, xf = 600, Sf = 10;
-function Cf(e, t) {
- let n = Math.max(bf, Math.min(xf, Math.round(Number(t) / Sf) * Sf));
+var Cf = 60, wf = 600, Tf = 10;
+function Ef(e, t) {
+ let n = Math.max(Cf, Math.min(wf, Math.round(Number(t) / Tf) * Tf));
if (e?.grid) try {
e.grid.style.setProperty("--mjr-grid-min-size", `${n}px`);
} catch (e) {
@@ -9817,8 +9817,8 @@ function Cf(e, t) {
}
R.FEED_GRID_MIN_SIZE = n;
try {
- let e = Mt();
- e.feed.minSize = n, bt(e), Et(e);
+ let e = Ft();
+ e.feed.minSize = n, Ct(e), kt(e);
} catch (e) {
console.debug?.(e);
}
@@ -9835,27 +9835,27 @@ function Cf(e, t) {
}
return n;
}
-function wf(e) {
- let t = Math.max(bf, Number(R.FEED_GRID_MIN_SIZE || 120) || 120), n = document.createElement("div");
+function Df(e) {
+ let t = Math.max(Cf, Number(R.FEED_GRID_MIN_SIZE || 120) || 120), n = document.createElement("div");
n.className = "mjr-feed-toolbar", n.style.cssText = "display:flex; align-items:center; gap:5px; padding:0 2px 5px 2px; flex-shrink:0; user-select:none;";
let r = document.createElement("span");
r.textContent = L("bottomFeed.cardSize", "Cards:"), r.style.cssText = "font-size:11px; opacity:0.65; white-space:nowrap; flex-shrink:0;", n.appendChild(r);
let i = document.createElement("button");
i.type = "button", i.className = "mjr-feed-size-btn", i.textContent = "-", i.title = L("bottomFeed.cardSizeDecrease", "Decrease card size"), i.style.cssText = "width:20px; height:20px; padding:0; border:1px solid var(--mjr-border,#555); border-radius:4px; background:var(--mjr-surface,#2a2a2a); color:inherit; cursor:pointer; font-size:14px; line-height:1; flex-shrink:0; display:flex; align-items:center; justify-content:center;", n.appendChild(i);
let a = document.createElement("input");
- a.type = "range", a.className = "mjr-feed-size-slider", a.min = String(bf), a.max = String(xf), a.step = String(Sf), a.value = String(t), a.title = L("bottomFeed.cardSizeSlider", "Card size"), a.style.cssText = "flex:1 1 auto; min-width:40px; max-width:180px; height:4px; cursor:pointer; accent-color:var(--mjr-accent,#64b5f6);", n.appendChild(a);
+ a.type = "range", a.className = "mjr-feed-size-slider", a.min = String(Cf), a.max = String(wf), a.step = String(Tf), a.value = String(t), a.title = L("bottomFeed.cardSizeSlider", "Card size"), a.style.cssText = "flex:1 1 auto; min-width:40px; max-width:180px; height:4px; cursor:pointer; accent-color:var(--mjr-accent,#64b5f6);", n.appendChild(a);
let o = document.createElement("button");
o.type = "button", o.className = "mjr-feed-size-btn", o.textContent = "+", o.title = L("bottomFeed.cardSizeIncrease", "Increase card size"), o.style.cssText = i.style.cssText, n.appendChild(o);
let s = document.createElement("span");
s.className = "mjr-feed-size-display", s.textContent = `${t}px`, s.style.cssText = "font-size:11px; opacity:0.65; white-space:nowrap; min-width:36px; text-align:right; flex-shrink:0; font-variant-numeric:tabular-nums;", n.appendChild(s), i.addEventListener("click", () => {
- Cf(e, Number(a.value) - Sf);
+ Ef(e, Number(a.value) - Tf);
}), o.addEventListener("click", () => {
- Cf(e, Number(a.value) + Sf);
+ Ef(e, Number(a.value) + Tf);
}), a.addEventListener("input", () => {
- Cf(e, Number(a.value));
+ Ef(e, Number(a.value));
}), e.root.appendChild(n), e._sizeToolbar = n;
}
-function Tf(e, t = {}) {
+function Of(e, t = {}) {
let n = document.createElement("div");
n.className = "mjr-assets-manager mjr-bottom-feed", n.style.cssText = "padding:6px; height:100%; min-height:0; box-sizing:border-box; display:flex; flex-direction:column; overflow:hidden;", e.replaceChildren(n);
let r = {
@@ -9867,13 +9867,13 @@ function Tf(e, t = {}) {
assetsByKey: /* @__PURE__ */ new Map(),
popoverManager: null
};
- wf(r), ff(r), hf(r, t.gridWrapper ?? null), Bd(r), r.popoverManager = Ni(n), r._disposeContextMenu = so({
+ Df(r), hf(r), vf(r, t.gridWrapper ?? null), Ud(r), r.popoverManager = Ii(n), r._disposeContextMenu = uo({
gridContainer: r.grid,
getState: () => ({ scope: "output" })
- }), yf(r), mf(r.grid);
+ }), Sf(r), _f(r.grid);
let i = () => {
try {
- mf(r.grid);
+ _f(r.grid);
} catch (e) {
console.debug?.(e);
}
@@ -9886,42 +9886,42 @@ function Tf(e, t = {}) {
}
}, r;
}
-function Ef(e) {
+function kf(e) {
let t = new Set((Array.isArray(e) ? e : []).map((e) => String(e ?? "").trim()).filter(Boolean));
if (!t.size) return 0;
let n = 0;
- for (let [e, n] of Array.from(Vd.pendingAssets.entries())) t.has(String(n?.id ?? "").trim()) && Vd.pendingAssets.delete(e);
- for (let e of Array.from(Vd.hosts)) try {
+ for (let [e, n] of Array.from(Wd.pendingAssets.entries())) t.has(String(n?.id ?? "").trim()) && Wd.pendingAssets.delete(e);
+ for (let e of Array.from(Wd.hosts)) try {
let r = e?.assetsByKey;
if (!r?.size) continue;
let i = !1;
for (let [e, a] of Array.from(r.entries())) t.has(String(a?.id ?? "").trim()) && (r.delete(e), n += 1, i = !0);
- i && Zd(e);
+ i && ef(e);
} catch (e) {
console.debug?.(e);
}
return n;
}
-function Df(e) {
- let t = sf(e);
- if (t) for (let e of Array.from(Vd.hosts)) try {
- if (!e?.grid || (Xd(e, t), !e.loaded)) continue;
- e.empty.style.display = "none", Zd(e);
+function Af(e) {
+ let t = uf(e);
+ if (t) for (let e of Array.from(Wd.hosts)) try {
+ if (!e?.grid || ($d(e, t), !e.loaded)) continue;
+ e.empty.style.display = "none", ef(e);
} catch (e) {
console.debug?.(e);
}
}
-function Of(e, t = {}) {
- pf(e);
- let n = Tf(e, t);
+function jf(e, t = {}) {
+ gf(e);
+ let n = Of(e, t);
try {
e._mjrGeneratedFeedHost = n;
} catch (e) {
console.debug?.(e);
}
- return Vd.hosts.add(n), lf(n), n;
+ return Wd.hosts.add(n), ff(n), n;
}
-function kf(e) {
+function Mf(e) {
let t = e?._mjrGeneratedFeedHost || e || null;
if (!t) return;
let n = t.container || null;
@@ -9935,7 +9935,7 @@ function kf(e) {
}
console.debug?.(e);
}
- Vd.hosts.delete(t);
+ Wd.hosts.delete(t);
try {
t._disposeSelection?.();
} catch (e) {
@@ -9982,7 +9982,7 @@ function kf(e) {
console.debug?.(e);
}
try {
- li(t.grid);
+ fi(t.grid);
} catch (e) {
console.debug?.(e);
}
@@ -9993,24 +9993,24 @@ function kf(e) {
}
}
// ui/features/stacks/executionAssetBuffer.ts
-function Af(e) {
+function Nf(e) {
return String(e || "").trim();
}
-function jf(e) {
+function Pf(e) {
let t = String(e?.filename || "").trim(), n = String(e?.subfolder || "").trim();
return `${String(e?.type || "output").trim().toLowerCase()}|${String(e?.root_id || e?.custom_root_id || "").trim()}|${n}|${t}`;
}
-function Mf() {
+function Ff() {
let e = /* @__PURE__ */ new Map();
function t(t, n) {
- let r = Af(t);
+ let r = Nf(t);
if (!r) return [];
let i = Array.isArray(n) ? n : [];
if (!i.length) return [];
let a = e.get(r);
a || (a = /* @__PURE__ */ new Map(), e.set(r, a));
for (let e of i) {
- let t = jf(e);
+ let t = Pf(e);
t && a.set(t, {
...a.get(t) || {},
...e || {}
@@ -10019,13 +10019,13 @@ function Mf() {
return Array.from(a.values());
}
function n(t) {
- let n = Af(t);
+ let n = Nf(t);
if (!n) return [];
let r = e.get(n);
return e.delete(n), Array.from(r?.values?.() || []);
}
function r(t) {
- let n = Af(t);
+ let n = Nf(t);
n && e.delete(n);
}
return {
@@ -10036,7 +10036,7 @@ function Mf() {
};
}
// ui/features/stacks/finalizeQueue.ts
-function Nf({ defaultDelayMs: e = 900, postJob: t } = {}) {
+function If({ defaultDelayMs: e = 900, postJob: t } = {}) {
let n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), i = !1;
async function a() {
if (!i) {
@@ -10073,27 +10073,27 @@ function Nf({ defaultDelayMs: e = 900, postJob: t } = {}) {
};
}
// ui/features/stacks/liveAssetGate.ts
-function Pf(e) {
+function Lf(e) {
return String(e || "").trim();
}
-function Ff(e) {
+function Rf(e) {
let t = String(e?.filename || "").trim(), n = String(e?.filepath || "").trim(), r = String(e?.subfolder || "").trim();
return `${String(e?.type || e?.source || "output").trim().toLowerCase()}|${String(e?.root_id || e?.custom_root_id || "").trim()}|${r}|${t || n}`;
}
-function If(e, t) {
+function zf(e, t) {
return !t || String(e?.job_id || "").trim() === t ? e : {
...e || {},
job_id: t
};
}
-function Lf() {
+function Bf() {
let e = /* @__PURE__ */ new Map();
function t(t, { files: n = [], expectedCount: r = null } = {}) {
- let i = Pf(t);
+ let i = Lf(t);
if (!i) return;
let a = /* @__PURE__ */ new Set();
for (let e of Array.isArray(n) ? n : []) {
- let t = Ff(e);
+ let t = Rf(e);
t && a.add(t);
}
e.set(i, {
@@ -10103,13 +10103,13 @@ function Lf() {
});
}
function n(t) {
- let n = Pf(t);
+ let n = Lf(t);
n && e.delete(n);
}
function r(t) {
- let n = Pf(t?.job_id);
+ let n = Lf(t?.job_id);
if (n) return n;
- let r = Ff(t);
+ let r = Rf(t);
if (!r) return "";
let i = "", a = Infinity;
for (let [t, n] of e.entries()) n?.fileKeys?.has?.(r) && (n.markedAt ?? Infinity) < a && (a = n.markedAt ?? Infinity, i = t);
@@ -10122,7 +10122,7 @@ function Lf() {
jobId: "",
defer: !1
};
- let i = If(t, n), a = e.get(n);
+ let i = zf(t, n), a = e.get(n);
if (!a) return {
detail: i,
jobId: n,
@@ -10144,20 +10144,20 @@ function Lf() {
};
}
// ui/features/stacks/executionRuntimeController.ts
-var Rf = 2e3, zf = 2e3, Bf = /* @__PURE__ */ new Set([
+var Vf = 2e3, Hf = 2e3, Uf = /* @__PURE__ */ new Set([
"DB_MAINTENANCE",
"TIMEOUT",
"NETWORK_ERROR",
"SERVICE_UNAVAILABLE"
-]), Vf = 8, Hf = 1200, Uf = 15e3, Wf = 6e5, Gf = 500, Kf = 6, qf = 3e4, Jf = 500;
-function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensureExecutionRuntime: i, emitRuntimeStatus: a, refreshGeneratedFeedHosts: o, getActiveGridContainer: s }) {
- let c = Re({
- ttlMs: Rf,
- maxSize: zf
- }), l = Re({
- ttlMs: Wf,
- maxSize: Gf
- }), u = Math.max(0, Number(R.EXECUTION_IDLE_GRACE_MS) || 6e3), d = /* @__PURE__ */ new Map(), f = Mf(), p = Lf(), m = "", h = 0, g = null;
+]), Wf = 8, Gf = 1200, Kf = 15e3, qf = 6e5, Jf = 500, Yf = 6, Xf = 3e4, Zf = 500;
+function Qf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensureExecutionRuntime: i, emitRuntimeStatus: a, refreshGeneratedFeedHosts: o, getActiveGridContainer: s }) {
+ let c = oe({
+ ttlMs: Vf,
+ maxSize: Hf
+ }), l = oe({
+ ttlMs: qf,
+ maxSize: Jf
+ }), u = Math.max(0, Number(R.EXECUTION_IDLE_GRACE_MS) || 6e3), d = /* @__PURE__ */ new Map(), f = Ff(), p = Bf(), m = "", h = 0, g = null;
function _() {
try {
return typeof window > "u" ? !1 : window.__MJR_DEBUG_JOB_TRACKING__ === !0 || String(window.localStorage?.getItem("mjr.debug.jobTracking") || "").trim() === "1";
@@ -10229,7 +10229,7 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
console.debug?.(e);
}
}
- let S = Nf({
+ let S = If({
defaultDelayMs: 900,
async postJob(r) {
v("auto-stack:start", { job_id: r });
@@ -10267,7 +10267,7 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
}
function T(e) {
let t = Math.max(1, Number(e) || 1), n = Math.min(6, t - 1);
- return Math.min(Uf, Hf * 2 ** n);
+ return Math.min(Kf, Gf * 2 ** n);
}
function E() {
g &&= (clearTimeout(g), null);
@@ -10285,7 +10285,7 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
}
function O(e) {
let t = String(e?.code || "").trim().toUpperCase();
- return Bf.has(t);
+ return Uf.has(t);
}
function k(r, i = 1, a = {}) {
let o = Array.isArray(r) ? r : [];
@@ -10300,7 +10300,7 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
files: o.map((e) => String(e?.filename || e?.filepath || ""))
}), e(t.INDEX_FILES, s).then((e) => {
if (!e?.ok) {
- if (O(e) && i < Vf) {
+ if (O(e) && i < Wf) {
let e = T(i);
setTimeout(() => k(o, i + 1, a), e);
} else try {
@@ -10321,13 +10321,13 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
return console.debug?.(e), "";
}
}
- function ee(e) {
+ function j(e) {
return !Array.isArray(e) || !e.length ? "" : e.map((e) => String(e?.filepath || e?.filename || "")).filter(Boolean).sort().join("|");
}
- function j(e, t = {}, n = 1) {
+ function M(e, t = {}, n = 1) {
let r = Array.isArray(e) ? e : [];
if (!r.length) return;
- let i = ee(r);
+ let i = j(r);
if (!i) {
k(r, 1, t);
return;
@@ -10335,7 +10335,7 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
let a = d.get(i);
a?.timer && clearTimeout(a.timer);
let o = a?.firstAttemptAt ?? Date.now();
- if (Date.now() - o >= qf) {
+ if (Date.now() - o >= Xf) {
k(r, 1, t);
return;
}
@@ -10350,7 +10350,7 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
firstAttemptAt: o
});
}
- function M(e) {
+ function N(e) {
let t = String(e || "").trim();
if (!(!t || d.size <= 0)) for (let [e, n] of Array.from(d.entries())) {
try {
@@ -10361,7 +10361,7 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
d.delete(e), f.add(t, n?.files || []);
}
}
- function N() {
+ function ee() {
for (let [e, t] of Array.from(d.entries())) {
try {
t?.timer && clearTimeout(t.timer);
@@ -10380,20 +10380,20 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
file_count: Array.isArray(e) ? e.length : 0,
files: Array.isArray(e) ? e.map((e) => String(e?.filename || e?.filepath || "")) : []
}), !r) {
- if (n < Kf) {
- j(e, t, n);
+ if (n < Yf) {
+ M(e, t, n);
return;
}
k(e, 1, t);
} else f.add(r, e);
}
- function ne(e, t = 900) {
+ function P(e, t = 900) {
y() && (v("finalize:schedule", {
job_id: String(e || ""),
delay_ms: t
}), S.schedule(e, t));
}
- function P(r) {
+ function ne(r) {
let i = b(), a = String(r || "").trim();
if (!a) return;
let o = f.take(a);
@@ -10412,10 +10412,10 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
e?.ok ? (v("index:flush:done", {
prompt_id: a,
file_count: o.length
- }), i.allowLiveStackFinalize && ne(a, 1800)) : (i.allowLiveStackFinalize && p.clearPendingJob(a), n(Error(String(e?.error || "Indexing generated files failed")), "executionRuntime.executed.index"));
+ }), i.allowLiveStackFinalize && P(a, 1800)) : (i.allowLiveStackFinalize && p.clearPendingJob(a), n(Error(String(e?.error || "Indexing generated files failed")), "executionRuntime.executed.index"));
}).catch((e) => {
i.allowLiveStackFinalize && p.clearPendingJob(a), n(e, "executionRuntime.executed.index");
- }) : i.allowLiveStackFinalize && ne(a);
+ }) : i.allowLiveStackFinalize && P(a);
}
function re(e) {
let t = String(e || "").trim();
@@ -10427,7 +10427,7 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
return console.debug?.(e), !1;
}
}
- function F(e) {
+ function ie(e) {
if (!y()) return {
detail: e,
jobId: "",
@@ -10443,18 +10443,18 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
};
}
}
- function I(e) {
+ function F(e) {
let t = String(e?.kind || "").trim(), n = String(e?.filename || "").trim(), r = String(e?.filepath || "").trim();
return !!t && (!!n || !!r);
}
- function ie(e, { appRef: t }) {
+ function I(e, { appRef: t }) {
if (!b().useExecutionBuffer) return;
let n = w(r(e?.detail?.output));
if (!n.length) return;
let i = e?.detail?.prompt_id || e?.detail?.promptId, a = String(e?.detail?.node || e?.detail?.display_node || "").trim(), o = i ? l.get(String(i)) : null, s = o ? Math.max(0, Date.now() - o) : 0, c = "";
try {
if (a && t !== void 0) {
- let e = ot(it(t), a);
+ let e = lt(st(t), a);
e && (c = String(e.type || e.comfyClass || "").trim());
}
} catch (e) {
@@ -10496,9 +10496,9 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
progress_node: null,
progress_value: null,
progress_max: null
- }), n && M(n);
+ }), n && N(n);
}
- function oe(e, { setCurrentJobId: t }) {
+ function se(e, { setCurrentJobId: t }) {
let n = b(), r = e?.detail?.prompt_id || e?.detail?.promptId;
v("execution:end", {
type: String(e?.type || ""),
@@ -10512,11 +10512,11 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
}), r && String(e?.type || "") !== "execution_success" && (v("buffer:clear", {
prompt_id: String(r || ""),
reason: String(e?.type || "")
- }), E(), f.clear(r), n.allowLiveStackFinalize && p.clearPendingJob(r), N()), String(e?.type || "") === "execution_success" && D(() => {
- r && M(r), P(r);
- }, re(r) ? Math.min(u, Jf) : u);
+ }), E(), f.clear(r), n.allowLiveStackFinalize && p.clearPendingJob(r), ee()), String(e?.type || "") === "execution_success" && D(() => {
+ r && N(r), ne(r);
+ }, re(r) ? Math.min(u, Zf) : u);
}
- function se(e) {
+ function ce(e) {
if (!y()) return;
let t = [];
for (let [, n] of e instanceof Map ? e.entries() : []) {
@@ -10530,16 +10530,16 @@ function Yf({ post: e, ENDPOINTS: t, reportError: n, extractOutputFiles: r, ensu
}
return {
notifyStacksUpdated: x,
- prepareLiveAssetEvent: F,
- isRenderableLiveAsset: I,
- handleExecutedEvent: ie,
+ prepareLiveAssetEvent: ie,
+ isRenderableLiveAsset: F,
+ handleExecutedEvent: I,
handleExecutionStart: ae,
- handleExecutionEnd: oe,
- handleNodeOutputsUpdated: se
+ handleExecutionEnd: se,
+ handleNodeOutputsUpdated: ce
};
}
// ui/utils/extractOutputFiles.ts
-function Xf(e) {
+function $f(e) {
let t = [], n = /* @__PURE__ */ new Set(), r = 2e3, i = /\.(png|jpe?g|webp|gif|bmp|tiff?|avif|heic|heif|apng|hdr|svg|mp4|webm|mov|mkv|avi|m4v|mp3|wav|flac|ogg|glb|gltf|obj|fbx|ply|stl)$/i, a = typeof WeakSet < "u" ? /* @__PURE__ */ new WeakSet() : null, o = ({ type: e, subfolder: t, filename: n, path: r }) => r ? `path|${String(r).trim().toLowerCase()}` : `${e || ""}|${t || ""}|${n || ""}`.toLowerCase(), s = (e) => {
if (!e) return;
let r = e.path || e.filepath || e.fullpath || e.fullPath || e.full_path, i = e.filename;
@@ -10620,15 +10620,15 @@ function Xf(e) {
return u(e, 0), t;
}
// ui/features/runtime/sidebarAssetBadge.ts
-var Zf = "mjr-sidebar-asset-badge", Qf = "mjr-sidebar-tab-has-badge", $f = "mjr-sidebar-asset-badge-style", ep = 99, tp = 0, np = "majoor-assets", rp = !1, ip = /* @__PURE__ */ new Set();
-function ap() {
- if (typeof document > "u" || document.getElementById($f)) return;
+var ep = "mjr-sidebar-asset-badge", tp = "mjr-sidebar-tab-has-badge", np = "mjr-sidebar-asset-badge-style", rp = 99, ip = 0, ap = "majoor-assets", op = !1, sp = /* @__PURE__ */ new Set();
+function cp() {
+ if (typeof document > "u" || document.getElementById(np)) return;
let e = document.createElement("style");
- e.id = $f, e.textContent = `
- .${Qf} {
+ e.id = np, e.textContent = `
+ .${tp} {
position: relative !important;
}
- .${Zf} {
+ .${ep} {
position: absolute;
top: 3px;
right: 3px;
@@ -10652,7 +10652,7 @@ function ap() {
}
`, document.head?.appendChild(e);
}
-function op(e) {
+function lp(e) {
let t = String(e || "").trim();
if (!t) return [];
let n = (() => {
@@ -10671,91 +10671,91 @@ function op(e) {
`[href="#${n}"]`
];
}
-function sp(e) {
+function up(e) {
let t = `${e?.textContent || ""} ${e?.title || ""} ${e?.getAttribute?.("aria-label") || ""}`;
return /assets\s*manager|majoor/i.test(t);
}
-function cp(e) {
+function dp(e) {
return !e || typeof e != "object" ? !1 : typeof HTMLElement < "u" ? e instanceof HTMLElement : typeof e.querySelector == "function" && typeof e.appendChild == "function";
}
-function lp() {
+function fp() {
if (typeof document > "u") return null;
- for (let e of op(np)) {
+ for (let e of lp(ap)) {
let t = document.querySelector(e);
- if (cp(t)) return t;
+ if (dp(t)) return t;
}
let e = Array.from(document.querySelectorAll(".pi-folder, .pi-folder-open"));
for (let t of e) {
let e = t.closest?.("button,[role='tab'],a,.p-button,.comfyui-button,.sidebar-tab");
- if (cp(e) && sp(e)) return e;
+ if (dp(e) && up(e)) return e;
}
- return Array.from(document.querySelectorAll("button,[role='tab'],a,.p-button,.comfyui-button,.sidebar-tab")).find((e) => cp(e) && sp(e)) || null;
+ return Array.from(document.querySelectorAll("button,[role='tab'],a,.p-button,.comfyui-button,.sidebar-tab")).find((e) => dp(e) && up(e)) || null;
}
-function up() {
- ap();
- let e = lp();
+function pp() {
+ cp();
+ let e = fp();
if (!e) return !1;
- let t = e.querySelector(`:scope > .${Zf}`);
- return !fp() || tp <= 0 ? (t?.remove(), e.classList.remove(Qf), !0) : (t || (t = document.createElement("span"), t.className = Zf, t.setAttribute("aria-hidden", "true"), e.appendChild(t)), e.classList.add(Qf), t.textContent = tp > ep ? `${ep}+` : String(tp), !0);
+ let t = e.querySelector(`:scope > .${ep}`);
+ return !hp() || ip <= 0 ? (t?.remove(), e.classList.remove(tp), !0) : (t || (t = document.createElement("span"), t.className = ep, t.setAttribute("aria-hidden", "true"), e.appendChild(t)), e.classList.add(tp), t.textContent = ip > rp ? `${rp}+` : String(ip), !0);
}
-function dp() {
- up(), typeof requestAnimationFrame == "function" && requestAnimationFrame(() => up()), setTimeout(() => up(), 250), setTimeout(() => up(), 1e3);
+function mp() {
+ pp(), typeof requestAnimationFrame == "function" && requestAnimationFrame(() => pp()), setTimeout(() => pp(), 250), setTimeout(() => pp(), 1e3);
}
-function fp() {
+function hp() {
return R.SIDEBAR_ASSET_BADGE_ENABLED !== !1;
}
-function pp(e = null) {
+function gp(e = null) {
let t = String(e?.id || e?.asset_id || "").trim();
if (t) return `id:${t}`;
let n = String(e?.type || e?.source || "output").trim().toLowerCase(), r = String(e?.root_id || e?.custom_root_id || "").trim().toLowerCase(), i = String(e?.subfolder || e?.sub_folder || e?.subFolder || "").trim().toLowerCase(), a = String(e?.filename || "").trim().toLowerCase(), o = String(e?.filepath || e?.path || e?.fullpath || e?.full_path || "").trim().toLowerCase(), s = a || o;
return s ? `file:${n}|${r}|${i}|${s}` : "";
}
-function mp(e) {
+function _p(e) {
if (!e) return !0;
- if (ip.has(e)) return !1;
- if (ip.add(e), ip.size > 1e3) {
- let e = Array.from(ip).slice(-500);
- ip.clear();
- for (let t of e) ip.add(t);
+ if (sp.has(e)) return !1;
+ if (sp.add(e), sp.size > 1e3) {
+ let e = Array.from(sp).slice(-500);
+ sp.clear();
+ for (let t of e) sp.add(t);
}
return !0;
}
-function hp({ sidebarTabId: e } = {}) {
+function vp({ sidebarTabId: e } = {}) {
let t = String(e || "").trim();
- t && (np = t), !rp && typeof window < "u" && (rp = !0, window.addEventListener?.("mjr-settings-changed", (e) => {
- e?.detail?.key === "sidebar.assetBadgeEnabled" && (fp() || (tp = 0, ip.clear()), dp());
- })), dp();
+ t && (ap = t), !op && typeof window < "u" && (op = !0, window.addEventListener?.("mjr-settings-changed", (e) => {
+ e?.detail?.key === "sidebar.assetBadgeEnabled" && (hp() || (ip = 0, sp.clear()), mp());
+ })), mp();
}
-function gp(e = null) {
- fp() && mp(pp(e)) && (tp += 1, dp());
-}
-function _p() {
- tp = 0, ip.clear(), dp();
-}
-// ui/features/runtime/pendingGeneratedAssets.ts
-var vp = 0;
-function yp(e = 1) {
- let t = Math.max(1, Number(e) || 1);
- vp += t;
- try {
- window.__mjrPendingGeneratedAssetCount = vp;
- } catch {}
- return vp;
+function yp(e = null) {
+ hp() && _p(gp(e)) && (ip += 1, mp());
}
function bp() {
- let e = vp;
- vp = 0;
+ ip = 0, sp.clear(), mp();
+}
+// ui/features/runtime/pendingGeneratedAssets.ts
+var xp = 0;
+function Sp(e = 1) {
+ let t = Math.max(1, Number(e) || 1);
+ xp += t;
+ try {
+ window.__mjrPendingGeneratedAssetCount = xp;
+ } catch {}
+ return xp;
+}
+function Cp() {
+ let e = xp;
+ xp = 0;
try {
window.__mjrPendingGeneratedAssetCount = 0;
} catch {}
return e;
}
// ui/features/runtime/registerRealtimeListeners.ts
-var xp = 3e4, Sp = /* @__PURE__ */ new Map(), Cp = "live";
-function wp(e) {
+var wp = 3e4, Tp = /* @__PURE__ */ new Map(), Ep = "live";
+function Dp(e) {
return e === !0 || e === 1 || e === "1" ? !0 : e === !1 || e === 0 || e === "0" ? !1 : null;
}
-function Tp(e) {
+function Op(e) {
let t = [
e?.has_ai_vector,
e?.hasAiVector,
@@ -10765,25 +10765,25 @@ function Tp(e) {
e?.vectorIndexed
];
for (let e of t) {
- let t = wp(e);
+ let t = Dp(e);
if (t !== null) return t;
}
return !1;
}
-function Ep(e) {
- let t = Date.now(), n = Number(Sp.get(e) || 0);
- if (n > 0 && t - n < xp) return !0;
- if (Sp.set(e, t), Sp.size > 500) {
- let e = t - 5 * xp;
- for (let [t, n] of Sp.entries()) Number(n) < e && Sp.delete(t);
+function kp(e) {
+ let t = Date.now(), n = Number(Tp.get(e) || 0);
+ if (n > 0 && t - n < wp) return !0;
+ if (Tp.set(e, t), Tp.size > 500) {
+ let e = t - 5 * wp;
+ for (let [t, n] of Tp.entries()) Number(n) < e && Tp.delete(t);
}
return !1;
}
-function Dp(e) {
+function Ap(e) {
let t = String(e?.id || "").trim();
- t && (Tp(e) || Ep(t) || ee(t).catch((e) => console.debug?.("[Majoor] auto vector index failed", e)));
+ t && (Op(e) || kp(t) || s(t).catch((e) => console.debug?.("[Majoor] auto vector index failed", e)));
}
-function Op(e) {
+function jp(e) {
let t = String(e?.kind || "").trim().toLowerCase();
if (t) return t;
let n = String(e?.filename || e?.filepath || e?.path || e?.fullpath || "").trim(), r = n.includes(".") && n.split(".").pop()?.toLowerCase?.() || "";
@@ -10831,8 +10831,8 @@ function Op(e) {
"spz"
].includes(r) ? "model3d" : "unknown" : "";
}
-function kp(e, { jobId: t = "" } = {}) {
- let n = String(e?.filename || "").trim(), r = String(e?.filepath || e?.path || e?.fullpath || e?.full_path || "").trim(), i = String(e?.subfolder || e?.sub_folder || e?.subFolder || "").trim(), a = String(e?.type || e?.source || "output").trim().toLowerCase(), o = String(e?.root_id || e?.custom_root_id || "").trim(), s = Op(e);
+function Mp(e, { jobId: t = "" } = {}) {
+ let n = String(e?.filename || "").trim(), r = String(e?.filepath || e?.path || e?.fullpath || e?.full_path || "").trim(), i = String(e?.subfolder || e?.sub_folder || e?.subFolder || "").trim(), a = String(e?.type || e?.source || "output").trim().toLowerCase(), o = String(e?.root_id || e?.custom_root_id || "").trim(), s = jp(e);
if (!s || !n && !r) return null;
let c = n || r.split(/[/\\]/).filter(Boolean).pop() || "";
if (!c) return null;
@@ -10843,7 +10843,7 @@ function kp(e, { jobId: t = "" } = {}) {
c
].map((e) => String(e || "").trim().toLowerCase()).join("|"), d = Date.now() / 1e3, f = String(e?.job_id || t || "").trim();
return {
- id: `${Cp}:${u || l.toLowerCase()}`,
+ id: `${Ep}:${u || l.toLowerCase()}`,
filename: c,
filepath: l,
path: l,
@@ -10866,7 +10866,7 @@ function kp(e, { jobId: t = "" } = {}) {
_mjrLiveLabel: "In progress"
};
}
-function Ap(e) {
+function Np(e) {
let t = String(e || "");
try {
if (typeof CSS < "u" && typeof CSS.escape == "function") return CSS.escape(t);
@@ -10875,11 +10875,11 @@ function Ap(e) {
}
return t.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1");
}
-function jp(e, t) {
+function Pp(e, t) {
let n = String(e || "").trim().toLowerCase();
return n === "delete_db" ? t("btn.deleteDb", "Delete DB") : n === "reset_index" ? t("btn.resetIndex", "Reset index") : n === "restore_db" ? t("btn.dbRestore", "Restore DB") : t("btn.maintenance", "Maintenance");
}
-function Mp(e, t) {
+function Fp(e, t) {
let n = String(e || "").trim().toLowerCase(), r = String(t || "").trim().toLowerCase(), i = {
delete_db: [
"started",
@@ -10913,36 +10913,36 @@ function Mp(e, t) {
label: r.replace(/[_-]+/g, " ")
};
}
-async function Np({ api: e, runtime: t, executionRuntime: n, appRef: r, liveStreamModule: i, ensureExecutionRuntime: a, emitRuntimeStatus: o, getActiveGridContainer: s, pushGeneratedAsset: c, upsertAsset: l, upsertAssetNow: u, removeAssetsFromGrid: d, getEnrichmentState: f, setEnrichmentState: p, comfyToast: m, t: h, reportError: _, registerCleanableListener: v, syncExecutionBackendState: y }) {
+async function Ip({ api: e, runtime: t, executionRuntime: n, appRef: r, liveStreamModule: i, ensureExecutionRuntime: a, emitRuntimeStatus: o, getActiveGridContainer: s, pushGeneratedAsset: c, upsertAsset: l, upsertAssetNow: u, removeAssetsFromGrid: d, getEnrichmentState: f, setEnrichmentState: p, comfyToast: m, t: h, reportError: g, registerCleanableListener: _, syncExecutionBackendState: v }) {
e._mjrExecutedHandler = (e) => {
try {
n.handleExecutedEvent(e, { appRef: r });
} catch (e) {
- _(e, "entry.executed");
+ g(e, "entry.executed");
}
- }, v(t, e, "executed", e._mjrExecutedHandler), e._mjrExecutionStartHandler = (e) => {
+ }, _(t, e, "executed", e._mjrExecutedHandler), e._mjrExecutionStartHandler = (e) => {
try {
- n.handleExecutionStart(e, { setCurrentJobId: (e) => i?.setCurrentJobId(e) }), y?.({
+ n.handleExecutionStart(e, { setCurrentJobId: (e) => i?.setCurrentJobId(e) }), v?.({
active: !0,
promptId: e?.detail?.prompt_id || e?.detail?.promptId || ""
});
} catch (e) {
- _(e, "entry.execution_start");
+ g(e, "entry.execution_start");
}
}, e._mjrExecutionEndHandler = (e) => {
try {
- n.handleExecutionEnd(e, { setCurrentJobId: (e) => i?.setCurrentJobId(e) }), y?.({
+ n.handleExecutionEnd(e, { setCurrentJobId: (e) => i?.setCurrentJobId(e) }), v?.({
active: !1,
promptId: e?.detail?.prompt_id || e?.detail?.promptId || ""
});
} catch (e) {
- _(e, "entry.execution_end");
+ g(e, "entry.execution_end");
}
}, e._mjrStacksUpdatedHandler = (e) => {
try {
n.notifyStacksUpdated(e?.detail || {});
} catch (e) {
- _(e, "entry.stacks_updated");
+ g(e, "entry.stacks_updated");
}
}, e._mjrRuntimeStatusHandler = (e) => {
try {
@@ -10954,7 +10954,7 @@ async function Np({ api: e, runtime: t, executionRuntime: n, appRef: r, liveStre
queue_remaining: Number.isFinite(Number(t?.exec_info?.queue_remaining)) ? Number(t.exec_info.queue_remaining) : Number.isFinite(Number(t?.queue_remaining)) ? Number(t.queue_remaining) : a().queue_remaining
});
} catch (e) {
- _(e, "entry.runtime_status");
+ g(e, "entry.runtime_status");
}
}, e._mjrExecutionCachedHandler = (e) => {
try {
@@ -10964,9 +10964,9 @@ async function Np({ api: e, runtime: t, executionRuntime: n, appRef: r, liveStre
cached_nodes: Array.isArray(t?.nodes) ? t.nodes.slice() : []
});
} catch (e) {
- _(e, "entry.execution_cached");
+ g(e, "entry.execution_cached");
}
- }, v(t, e, "execution_start", e._mjrExecutionStartHandler), v(t, e, "execution_success", e._mjrExecutionEndHandler), v(t, e, "execution_error", e._mjrExecutionEndHandler), v(t, e, "execution_interrupted", e._mjrExecutionEndHandler), v(t, e, "mjr.stacks.updated", e._mjrStacksUpdatedHandler), v(t, e, "progress", e._mjrRuntimeStatusHandler), v(t, e, "status", e._mjrRuntimeStatusHandler), v(t, e, B.RUNTIME_STATUS, e._mjrRuntimeStatusHandler), v(t, e, "execution_cached", e._mjrExecutionCachedHandler);
+ }, _(t, e, "execution_start", e._mjrExecutionStartHandler), _(t, e, "execution_success", e._mjrExecutionEndHandler), _(t, e, "execution_error", e._mjrExecutionEndHandler), _(t, e, "execution_interrupted", e._mjrExecutionEndHandler), _(t, e, "mjr.stacks.updated", e._mjrStacksUpdatedHandler), _(t, e, "progress", e._mjrRuntimeStatusHandler), _(t, e, "status", e._mjrRuntimeStatusHandler), _(t, e, B.RUNTIME_STATUS, e._mjrRuntimeStatusHandler), _(t, e, "execution_cached", e._mjrExecutionCachedHandler);
function b() {
try {
window.__mjrLastAssetUpsert = Date.now(), window.__mjrLastAssetUpsertCount = (Number(window.__mjrLastAssetUpsertCount || 0) || 0) + 1;
@@ -10977,7 +10977,7 @@ async function Np({ api: e, runtime: t, executionRuntime: n, appRef: r, liveStre
function x(e, t, { immediate: n = !1, force: r = !1 } = {}) {
let i = String(t?.id || "").trim(), a = String(t?.kind || "").trim(), o = String(t?.filename || "").trim(), s = String(t?.filepath || "").trim(), c = !!a && (!!o || !!s), d = !1;
if (i) try {
- d = typeof e?._mjrHasAssetId == "function" ? !!e._mjrHasAssetId(i) : !!e.querySelector(`.mjr-asset-card[data-mjr-asset-id="${Ap(i)}"]`);
+ d = typeof e?._mjrHasAssetId == "function" ? !!e._mjrHasAssetId(i) : !!e.querySelector(`.mjr-asset-card[data-mjr-asset-id="${Np(i)}"]`);
} catch (e) {
console.debug?.(e);
}
@@ -11006,38 +11006,38 @@ async function Np({ api: e, runtime: t, executionRuntime: n, appRef: r, liveStre
if (n !== "output" && n !== "all") return;
let r = Array.isArray(e?.detail?.files) ? e.detail.files : [], i = String(e?.detail?.prompt_id || e?.detail?.promptId || "").trim();
for (let e of r) {
- let n = kp(e, { jobId: i });
+ let n = Mp(e, { jobId: i });
n && x(t, n, {
immediate: !0,
force: !0
});
}
} catch (e) {
- _(e, "entry.new_generation_output");
+ g(e, "entry.new_generation_output");
}
- }, v(t, window, B.NEW_GENERATION_OUTPUT, e._mjrNewGenerationOutputHandler), e._mjrAssetAddedHandler = (e) => {
+ }, _(t, window, B.NEW_GENERATION_OUTPUT, e._mjrNewGenerationOutputHandler), e._mjrAssetAddedHandler = (e) => {
try {
if (!e?.detail) return;
let t = n.prepareLiveAssetEvent(e.detail), r = t?.detail || e.detail;
if (t?.defer) return;
let i = n.isRenderableLiveAsset(r);
- i && c(r), Dp(r);
+ i && c(r), Ap(r);
let a = s();
if (!a) {
- i && yp();
+ i && Sp();
return;
}
let o = a.dataset?.mjrScope || "output";
if (o !== "output" && o !== "all") {
- i && yp();
+ i && Sp();
return;
}
let l = a.dataset?.mjrQuery || "*";
- String(l).trim() === "*" && i ? x(a, r, { immediate: !0 }) || yp() : i && yp();
+ String(l).trim() === "*" && i ? x(a, r, { immediate: !0 }) || Sp() : i && Sp();
} catch (e) {
- _(e, "entry.asset_added");
+ g(e, "entry.asset_added");
}
- }, v(t, e, "mjr-asset-added", e._mjrAssetAddedHandler), e._mjrAssetUpdatedHandler = (e) => {
+ }, _(t, e, "mjr-asset-added", e._mjrAssetAddedHandler), e._mjrAssetUpdatedHandler = (e) => {
try {
if (!e?.detail) return;
let t = n.prepareLiveAssetEvent(e.detail), r = t?.detail || e.detail;
@@ -11047,23 +11047,23 @@ async function Np({ api: e, runtime: t, executionRuntime: n, appRef: r, liveStre
if (!i) return;
x(i, r, { immediate: !0 });
} catch (e) {
- _(e, "entry.asset_updated");
+ g(e, "entry.asset_updated");
}
- }, v(t, e, "mjr-asset-updated", e._mjrAssetUpdatedHandler), e._mjrStructuredEventHandler = (e) => {
+ }, _(t, e, "mjr-asset-updated", e._mjrAssetUpdatedHandler), e._mjrStructuredEventHandler = (e) => {
try {
let t = e?.detail || {};
window.dispatchEvent(new CustomEvent(B.STRUCTURED_EVENT, { detail: t }));
} catch (e) {
console.debug?.(e);
}
- }, v(t, e, B.STRUCTURED_EVENT, e._mjrStructuredEventHandler), e._mjrScanCompleteHandler = (e) => {
+ }, _(t, e, B.STRUCTURED_EVENT, e._mjrStructuredEventHandler), e._mjrScanCompleteHandler = (e) => {
try {
let t = e?.detail || {};
window.dispatchEvent(new CustomEvent(B.SCAN_COMPLETE, { detail: t })), S(t);
} catch (e) {
console.debug?.(e);
}
- }, v(t, e, B.SCAN_COMPLETE, e._mjrScanCompleteHandler);
+ }, _(t, e, B.SCAN_COMPLETE, e._mjrScanCompleteHandler);
function S(e) {
if (globalThis?._mjrMaintenanceActive) return;
let t = Math.max(0, Number(e?.added) || 0), n = Math.max(0, Number(e?.pruned) || 0);
@@ -11094,7 +11094,7 @@ async function Np({ api: e, runtime: t, executionRuntime: n, appRef: r, liveStre
} catch (e) {
console.debug?.(e);
}
- }, v(t, e, B.ASSETS_REMOVED, e._mjrAssetsRemovedHandler), e._mjrCoreExecutionAssetsReadyHandler = (e) => {
+ }, _(t, e, B.ASSETS_REMOVED, e._mjrAssetsRemovedHandler), e._mjrCoreExecutionAssetsReadyHandler = (e) => {
try {
let t = e?.detail || {};
window.dispatchEvent(new CustomEvent(B.CORE_EXECUTION_ASSETS_READY, { detail: t }));
@@ -11107,27 +11107,27 @@ async function Np({ api: e, runtime: t, executionRuntime: n, appRef: r, liveStre
} catch (e) {
console.debug?.(e);
}
- }, v(t, e, B.CORE_EXECUTION_ASSETS_READY, e._mjrCoreExecutionAssetsReadyHandler), e._mjrScanProgressHandler = (e) => {
+ }, _(t, e, B.CORE_EXECUTION_ASSETS_READY, e._mjrCoreExecutionAssetsReadyHandler), e._mjrScanProgressHandler = (e) => {
try {
let t = e?.detail || {};
window.dispatchEvent(new CustomEvent(B.SCAN_PROGRESS, { detail: t }));
} catch (e) {
console.debug?.(e);
}
- }, v(t, e, B.SCAN_PROGRESS, e._mjrScanProgressHandler), e._mjrAssetIndexingHandler = (e) => {
+ }, _(t, e, B.SCAN_PROGRESS, e._mjrScanProgressHandler), e._mjrAssetIndexingHandler = (e) => {
try {
let t = e?.detail || {};
window.dispatchEvent(new CustomEvent(B.ASSET_INDEXING, { detail: t }));
} catch (e) {
console.debug?.(e);
}
- }, v(t, e, B.ASSET_INDEXING, e._mjrAssetIndexingHandler), e._mjrAssetIndexedHandler = (e) => {
+ }, _(t, e, B.ASSET_INDEXING, e._mjrAssetIndexingHandler), e._mjrAssetIndexedHandler = (e) => {
try {
let t = e?.detail || {};
if (window.dispatchEvent(new CustomEvent(B.ASSET_INDEXED, { detail: t })), !t) return;
let r = n.prepareLiveAssetEvent(t), i = r?.detail || t;
if (r?.defer) return;
- n.isRenderableLiveAsset(i) && (c(i), gp(i)), Dp(i);
+ n.isRenderableLiveAsset(i) && (c(i), yp(i)), Ap(i);
let a = s();
if (!a) return;
x(a, i, {
@@ -11137,14 +11137,14 @@ async function Np({ api: e, runtime: t, executionRuntime: n, appRef: r, liveStre
} catch (e) {
console.debug?.(e);
}
- }, v(t, e, B.ASSET_INDEXED, e._mjrAssetIndexedHandler), e._mjrEnrichmentStatusHandler = (e) => {
+ }, _(t, e, B.ASSET_INDEXED, e._mjrAssetIndexedHandler), e._mjrEnrichmentStatusHandler = (e) => {
try {
let t = e?.detail || {}, n = Number(t?.queued), r = Number(t?.queue_left), i = Number.isFinite(n) ? Math.max(0, Math.floor(n)) : Number.isFinite(r) ? Math.max(0, Math.floor(r)) : 0, a = !!t?.active || i > 0, o = f().active;
p(a, i), window.dispatchEvent(new CustomEvent(B.ENRICHMENT_STATUS, { detail: t })), o && !a && m(h("toast.enrichmentComplete", "Metadata enrichment complete"), "success", 2600);
} catch (e) {
console.debug?.(e);
}
- }, v(t, e, B.ENRICHMENT_STATUS, e._mjrEnrichmentStatusHandler), e._mjrDbRestoreStatusHandler = (e) => {
+ }, _(t, e, B.ENRICHMENT_STATUS, e._mjrEnrichmentStatusHandler), e._mjrDbRestoreStatusHandler = (e) => {
try {
let t = e?.detail || {}, n = String(t?.step || ""), r = String(t?.level || "info"), i = String(t?.operation || "");
window.dispatchEvent(new CustomEvent(B.DB_RESTORE_STATUS, { detail: t }));
@@ -11162,11 +11162,11 @@ async function Np({ api: e, runtime: t, executionRuntime: n, appRef: r, liveStre
if (!s) return;
let c = r === "error" || n === "failed" ? "error" : n === "done" ? "success" : "info", l = { history: {
trackId: `maintenance:${String(i || "db_restore").trim().toLowerCase() || "db_restore"}`,
- title: jp(i, h),
+ title: Pp(i, h),
detail: s,
status: n,
operation: String(i || "db_restore").trim().toLowerCase(),
- progress: Mp(i, n),
+ progress: Fp(i, n),
source: String(t?.name || "").trim() || "maintenance",
forceStore: !0
} };
@@ -11175,28 +11175,28 @@ async function Np({ api: e, runtime: t, executionRuntime: n, appRef: r, liveStre
"done",
"failed"
].includes(n)) {
- g(s, c, 0, l);
+ y(s, c, 0, l);
return;
}
m(s, c, n === "done" || n === "failed" ? 2800 : 1800, l);
} catch (e) {
console.debug?.(e);
}
- }, v(t, e, B.DB_RESTORE_STATUS, e._mjrDbRestoreStatusHandler);
+ }, _(t, e, B.DB_RESTORE_STATUS, e._mjrDbRestoreStatusHandler);
let C = (e) => {
try {
let t = Array.isArray(e?.detail?.ids) ? e.detail.ids.map((e) => String(e || "")).filter(Boolean) : [];
if (!t.length) return;
let n = s();
- n && d(n, t), Ef(t);
+ n && d(n, t), kf(t);
} catch (e) {
console.debug?.(e);
}
};
- v(t, window, B.ASSETS_DELETED, C), t && typeof t == "object" && (t.api = e, t.assetsDeletedHandler = C), console.debug("[Majoor] Real-time listener registered");
+ _(t, window, B.ASSETS_DELETED, C), t && typeof t == "object" && (t.api = e, t.assetsDeletedHandler = C), console.debug("[Majoor] Real-time listener registered");
}
// ui/features/runtime/entryDebugApi.ts
-function Pp({ resolveNodeStreamModule: e }) {
+function Lp({ resolveNodeStreamModule: e }) {
typeof window < "u" && (window.MajoorDebug = {
exportMetrics: () => window.MajoorMetrics?.exportMetrics?.(),
getMetrics: () => window.MajoorMetrics?.getMetricsReport?.(),
@@ -11211,16 +11211,16 @@ function Pp({ resolveNodeStreamModule: e }) {
}, console.debug?.("[Majoor] NodeStream API: window.MajoorNodeStream.mode, .listAdapters(), .getKnownNodeSets()"));
}
// ui/features/runtime/benignConsoleNoise.ts
-var Fp = ["ResizeObserver loop completed with undelivered notifications.", "ResizeObserver loop limit exceeded"];
-function Ip(e) {
+var Rp = ["ResizeObserver loop completed with undelivered notifications.", "ResizeObserver loop limit exceeded"];
+function zp(e) {
try {
let t = String(e?.message || e || "");
- return Fp.some((e) => t.includes(e));
+ return Rp.some((e) => t.includes(e));
} catch {
return !1;
}
}
-function Lp() {
+function Bp() {
if (typeof window > "u") return null;
try {
window.__MJR_BENIGN_CONSOLE_NOISE_FILTER__?.abort?.();
@@ -11235,7 +11235,7 @@ function Lp() {
}
let t = (e) => {
try {
- if (!Ip(e?.message || e?.error)) return;
+ if (!zp(e?.message || e?.error)) return;
e.preventDefault?.(), e.stopImmediatePropagation?.();
} catch (e) {
console.debug?.(e);
@@ -11260,7 +11260,7 @@ function Lp() {
return window.__MJR_BENIGN_CONSOLE_NOISE_FILTER__ = r, r;
}
// ui/features/geninfo/genInfoOverridePicker.ts
-var Rp = "Majoor.GenInfoOverridePicker", zp = "MajoorGenInfoOverride", Bp = L("genInfoOverride.autoFillFromWorkflow", "Auto fill from workflow"), Vp = L("genInfoOverride.pick", "Pick"), Hp = {
+var Vp = "Majoor.GenInfoOverridePicker", Hp = "MajoorGenInfoOverride", Up = L("genInfoOverride.autoFillFromWorkflow", "Auto fill from workflow"), Wp = L("genInfoOverride.pick", "Pick"), Gp = {
positive_prompt: [
"positive_prompt",
"prompt",
@@ -11283,7 +11283,7 @@ var Rp = "Majoor.GenInfoOverridePicker", zp = "MajoorGenInfoOverride", Bp = L("g
],
vae: ["vae", "vae_name"],
clip: ["clip", "clip_name"]
-}, Up = [
+}, Kp = [
{
field: "positive_prompt",
label: "prompt"
@@ -11328,14 +11328,14 @@ var Rp = "Majoor.GenInfoOverridePicker", zp = "MajoorGenInfoOverride", Bp = L("g
field: "denoise",
label: "denoise"
}
-], Wp = 0x10000000000000000, Gp = !1, Kp = !1;
-function qp(e, t) {
+], qp = 0x10000000000000000, Jp = !1, Yp = !1;
+function Xp(e, t) {
let n = (e.widgets ?? []).find((e) => e?.name === t);
if (n && n.value !== void 0 && n.value !== null && String(n.value).trim() !== "") return n.value;
let r = Array.isArray(e.widgets_values) ? e.widgets_values : [], i = (Array.isArray(e.widgets) ? e.widgets : []).findIndex((e) => e?.name === t);
return i >= 0 ? r[i] : void 0;
}
-function Jp(e, t, n, r, i) {
+function Zp(e, t, n, r, i) {
if (r == null || String(r).trim() === "") return;
let a = `${n}:${String(r).trim()}`;
t.has(a) || (t.add(a), e.push({
@@ -11345,42 +11345,42 @@ function Jp(e, t, n, r, i) {
source: i
}));
}
-function Yp(e, t, n) {
+function Qp(e, t, n) {
let r = t.toLowerCase();
- return !!((Hp[e] ?? [e]).some((e) => r === e || r.includes(e)) || e === "positive_prompt" && r === "text" && n.toLowerCase().includes("positive") || e === "negative_prompt" && (r.includes("negative") || n.toLowerCase().includes("negative")));
+ return !!((Gp[e] ?? [e]).some((e) => r === e || r.includes(e)) || e === "positive_prompt" && r === "text" && n.toLowerCase().includes("positive") || e === "negative_prompt" && (r.includes("negative") || n.toLowerCase().includes("negative")));
}
-function Xp(e, t = null) {
+function $p(e, t = null) {
let n = [], r = /* @__PURE__ */ new Set();
- for (let { graph: i, label: a } of st(e)) for (let e of at(i)) {
- if (String(e?.comfyClass || e?.type || "") === zp) continue;
+ for (let { graph: i, label: a } of ut(e)) for (let e of ct(i)) {
+ if (String(e?.comfyClass || e?.type || "") === Hp) continue;
let i = String(e?.title || e?.comfyClass || e?.type || `Node ${e?.id ?? ""}`).trim(), o = a === "Workflow" ? i : `${a} / ${i}`;
- for (let [t, i] of Object.entries(Hp)) for (let a of i) Jp(n, r, t, qp(e, a), o);
+ for (let [t, i] of Object.entries(Gp)) for (let a of i) Zp(n, r, t, Xp(e, a), o);
let s = Array.isArray(e.widgets) ? e.widgets : [], c = Array.isArray(e.widgets_values) ? e.widgets_values : [];
s.forEach((e, a) => {
let s = String(e?.name || "").toLowerCase(), l = e?.value ?? c[a];
- s.includes("positive") || s === "text" && String(i).toLowerCase().includes("positive") ? Jp(n, r, "positive_prompt", l, o) : s.includes("negative") && Jp(n, r, "negative_prompt", l, o), t && Yp(t, s, i) && Jp(n, r, t, l, `${o} / ${e?.name || `widget ${a + 1}`}`);
+ s.includes("positive") || s === "text" && String(i).toLowerCase().includes("positive") ? Zp(n, r, "positive_prompt", l, o) : s.includes("negative") && Zp(n, r, "negative_prompt", l, o), t && Qp(t, s, i) && Zp(n, r, t, l, `${o} / ${e?.name || `widget ${a + 1}`}`);
});
}
return t ? n.filter((e) => e.field === t).slice(0, 120) : n.slice(0, 80);
}
-function Zp(e, t) {
+function em(e, t) {
return (e.widgets ?? []).find((e) => e?.name === t);
}
-function Qp(e) {
- let t = Zp(e, "seed");
+function tm(e) {
+ let t = em(e, "seed");
t && (t.options = {
...t.options ?? {},
min: -1,
- max: Wp,
+ max: qp,
control_after_generate: !1
});
}
-function $p(e, t) {
+function nm(e, t) {
return t === "positive_prompt" ? e?.prompt ?? e?.positive_prompt : t === "negative_prompt" ? e?.negative_prompt ?? e?.negative : t === "loras_json" && Array.isArray(e?.loras) ? JSON.stringify(e.loras) : t === "custom_info_json" && Array.isArray(e?.custom_info) ? JSON.stringify(e.custom_info) : e?.[t];
}
-function em(e, t) {
+function rm(e, t) {
if (!e || !t || typeof t != "object") return 0;
- Qp(e);
+ tm(e);
let n = 0;
for (let r of [
"positive_prompt",
@@ -11398,16 +11398,16 @@ function em(e, t) {
"workflow_notes",
"custom_info_json"
]) {
- let i = $p(t, r);
+ let i = nm(t, r);
if (i == null) continue;
- let a = Zp(e, r);
- a && (tm(a, i, e, r), nm(a, i), n += 1);
+ let a = em(e, r);
+ a && (im(a, i, e, r), am(a, i), n += 1);
}
return n;
}
-function tm(e, t, n, r) {
+function im(e, t, n, r) {
if (r !== "seed") {
- Ht(e, t, n);
+ Gt(e, t, n);
return;
}
let i = Number(t);
@@ -11415,15 +11415,15 @@ function tm(e, t, n, r) {
e.options = {
...e.options ?? {},
min: -1,
- max: Wp,
+ max: qp,
control_after_generate: !1
}, e.value = Math.trunc(i);
try {
- e.callback?.(e.value, $e()?.canvas ?? null, n, null, e);
+ e.callback?.(e.value, l()?.canvas ?? null, n, null, e);
} catch {}
}
}
-function nm(e, t) {
+function am(e, t) {
let n = String(t ?? ""), r = [
e?.inputEl,
e?.element,
@@ -11436,62 +11436,62 @@ function nm(e, t) {
e.value = n;
} catch {}
}
-function rm(e, t, n) {
- let r = cm({ detail: { output: t } });
- if (r && em(e, r)) try {
+function om(e, t, n) {
+ let r = dm({ detail: { output: t } });
+ if (r && rm(e, r)) try {
e.setSize?.(e.computeSize?.()), e.graph?.setDirtyCanvas?.(!0, !0), e.graph?.change?.(), n?.graph?.setDirtyCanvas?.(!0, !0), n?.graph?.change?.(), n?.canvas?.setDirty?.(!0, !0), n?.canvas?.draw?.(!0, !0);
} catch {}
}
-function im(e, t, n = null) {
- let r = n || t.field, i = Zp(e, r);
- i && (tm(i, t.value, e, r), nm(i, t.value));
+function sm(e, t, n = null) {
+ let r = n || t.field, i = em(e, r);
+ i && (im(i, t.value, e, r), am(i, t.value));
}
-function am(e) {
+function cm(e) {
return !e || e.value === void 0 || e.value === null || String(e.value).trim() === "";
}
-function om(e, t) {
- let n = Xp(t), r = 0;
- for (let t of Object.keys(Hp)) {
- let i = Zp(e, t);
- if (!i || !am(i)) continue;
+function lm(e, t) {
+ let n = $p(t), r = 0;
+ for (let t of Object.keys(Gp)) {
+ let i = em(e, t);
+ if (!i || !cm(i)) continue;
let a = n.find((e) => e.field === t);
- a && (tm(i, a.value, e, t), nm(i, a.value), r += 1);
+ a && (im(i, a.value, e, t), am(i, a.value), r += 1);
}
- return t?.graph?.setDirtyCanvas?.(!0, !0), t?.graph?.change?.(), F({
+ return t?.graph?.setDirtyCanvas?.(!0, !0), t?.graph?.change?.(), x({
summary: "Majoor Gen Info",
detail: r ? `Filled ${r} empty override fields.` : "No empty matching fields found."
}, r ? "success" : "warning", 3e3), r;
}
-function sm(e, t) {
- if (e && String(e?.comfyClass || e?.type || "") === zp && (Qp(e), !(e.widgets ?? []).some((e) => e?.name === Bp) && typeof e.addWidget == "function")) {
- e.addWidget("button", Bp, null, () => om(e, t));
- for (let n of Up) {
- let r = `${Vp} ${n.label}`;
- (e.widgets ?? []).some((e) => e?.name === r) || e.addWidget("button", r, null, () => um(e, t, n.field));
+function um(e, t) {
+ if (e && String(e?.comfyClass || e?.type || "") === Hp && (tm(e), !(e.widgets ?? []).some((e) => e?.name === Up) && typeof e.addWidget == "function")) {
+ e.addWidget("button", Up, null, () => lm(e, t));
+ for (let n of Kp) {
+ let r = `${Wp} ${n.label}`;
+ (e.widgets ?? []).some((e) => e?.name === r) || e.addWidget("button", r, null, () => pm(e, t, n.field));
}
try {
e.setSize?.(e.computeSize?.()), t?.graph?.setDirtyCanvas?.(!0, !0);
} catch {}
}
}
-function cm(e) {
+function dm(e) {
let t = e?.detail?.output, n = t?.majoor_geninfo_override ?? t?.ui?.majoor_geninfo_override, r = Array.isArray(n) ? n[0] : n;
return r && typeof r == "object" ? r : null;
}
-function lm(e) {
- if (Kp) return;
+function fm(e) {
+ if (Yp) return;
let t = e?.api;
- t && typeof t.addEventListener == "function" && (Kp = !0, t.addEventListener("executed", (t) => {
+ t && typeof t.addEventListener == "function" && (Yp = !0, t.addEventListener("executed", (t) => {
let n = t?.detail?.node ?? t?.detail?.display_node;
if (!n) return;
- let r = ot(e, n);
- r && String(r?.comfyClass || r?.type || "") === zp && rm(r, t?.detail?.output, e);
+ let r = lt(e, n);
+ r && String(r?.comfyClass || r?.type || "") === Hp && om(r, t?.detail?.output, e);
}));
}
-function um(e, t, n = null) {
- let r = Xp(t, n);
+function pm(e, t, n = null) {
+ let r = $p(t, n);
if (!r.length) {
- F({
+ x({
summary: "Majoor Gen Info",
detail: n ? `No widget value found for ${n}.` : "No workflow parameters found."
}, "warning", 3e3);
@@ -11510,60 +11510,60 @@ function um(e, t, n = null) {
for (let t of r) {
let r = document.createElement("button");
r.type = "button", r.style.cssText = "width:100%;display:grid;grid-template-columns:130px 1fr 150px;gap:8px;text-align:left;background:#2b2b2b;color:#eee;border:1px solid #3d3d3d;border-radius:5px;padding:7px;margin:5px 0;cursor:pointer", r.innerHTML = `${t.label}`, r.children[1].textContent = String(t.value), r.children[2].textContent = t.source, r.onclick = () => {
- im(e, t, n), i.remove();
+ sm(e, t, n), i.remove();
}, a.appendChild(r);
}
i.appendChild(a), a.querySelector("[data-close]")?.addEventListener("click", () => i.remove()), i.addEventListener("click", (e) => {
e.target === i && i.remove();
}), document.body.appendChild(i);
}
-function dm(e, t) {
- if (String(e?.comfyClass || e?.type || "") !== zp) return [];
+function mm(e, t) {
+ if (String(e?.comfyClass || e?.type || "") !== Hp) return [];
let n = [{
content: L("genInfoOverride.pickFromWorkflow", "Pick Gen Info from workflow"),
- callback: () => um(e, t)
+ callback: () => pm(e, t)
}];
- for (let r of Up) n.push({
+ for (let r of Kp) n.push({
content: `Pick ${r.label}`,
- callback: () => um(e, t, r.field)
+ callback: () => pm(e, t, r.field)
});
return n.push({
- content: Bp,
- callback: () => om(e, t)
+ content: Up,
+ callback: () => lm(e, t)
}), n;
}
-function fm(e = null) {
- if (Gp) return;
- let t = e || $e();
- !t || typeof t.registerExtension != "function" ? setTimeout(() => fm(e), 100) : (Gp = !0, lm(t), t.registerExtension({
- name: Rp,
+function hm(e = null) {
+ if (Jp) return;
+ let t = e || l();
+ !t || typeof t.registerExtension != "function" ? setTimeout(() => hm(e), 100) : (Jp = !0, fm(t), t.registerExtension({
+ name: Vp,
async nodeCreated(e) {
- sm(e, t);
+ um(e, t);
},
getNodeMenuItems(e) {
- return dm(e, t);
+ return mm(e, t);
}
}), setTimeout(() => {
- for (let { graph: e } of st(t)) for (let n of at(e)) sm(n, t);
+ for (let { graph: e } of ut(t)) for (let n of ct(e)) um(n, t);
}, 0));
}
// ui/vue/composables/useDragDrop.ts
-function pm() {
+function gm() {
let e = null;
- Zn(() => {
+ er(() => {
try {
- e = ks() ?? null;
+ e = Ms() ?? null;
} catch (e) {
console.warn("[Majoor] useDragDrop: init failed", e);
}
- }), ir(() => {
+ }), sr(() => {
try {
e?.({ force: !0 });
} catch (e) {
console.debug?.(e);
}
try {
- As({ force: !0 });
+ Ns({ force: !0 });
} catch (e) {
console.debug?.(e);
}
@@ -11571,10 +11571,10 @@ function pm() {
});
}
// ui/vue/GlobalRuntime.vue
-var mm = /* @__PURE__ */ tr({
+var _m = /* @__PURE__ */ ir({
__name: "GlobalRuntime",
setup(e) {
- let t = er(() => import("./chunks/ViewerPortal-Sv96pbcb.js")), n = Q(!1), r = [
+ let t = rr(() => import("./chunks/ViewerPortal-CpLDC7XS.js")), n = Q(!1), r = [
B.OPEN_VIEWER,
B.MFV_OPEN,
B.MFV_TOGGLE,
@@ -11587,7 +11587,7 @@ var mm = /* @__PURE__ */ tr({
if (n.value) return;
n.value = !0;
let t = String(e?.type || ""), r = e?.detail ?? null;
- t && t !== B.OPEN_VIEWER && qn(() => {
+ t && t !== B.OPEN_VIEWER && Xn(() => {
try {
window.dispatchEvent(new CustomEvent(t, { detail: r }));
} catch (e) {
@@ -11595,21 +11595,21 @@ var mm = /* @__PURE__ */ tr({
}
});
}
- return pm(), Zn(() => {
+ return gm(), er(() => {
for (let e of r) try {
window.addEventListener(e, i, { once: !1 });
} catch (e) {
console.debug?.(e);
}
- }), ir(() => {
+ }), sr(() => {
for (let e of r) try {
window.removeEventListener(e, i);
} catch (e) {
console.debug?.(e);
}
- }), (e, r) => n.value ? (q(), Jn(Z(t), { key: 0 })) : W("", !0);
+ }), (e, r) => n.value ? (q(), Zn(Z(t), { key: 0 })) : W("", !0);
}
-}), hm = {
+}), vm = {
gridRenderCount: 0,
gridRenderTotalMs: 0,
searchQueryCount: 0,
@@ -11620,20 +11620,20 @@ var mm = /* @__PURE__ */ tr({
thumbnailLoadCount: 0,
thumbnailLoadFailures: 0,
errorCounts: {}
-}, gm = /* @__PURE__ */ new Map();
-function _m(e) {
+}, ym = /* @__PURE__ */ new Map();
+function bm(e) {
let t = performance.now();
- gm.set(e, t);
+ ym.set(e, t);
try {
performance.mark(`${e}-start`);
} catch {}
}
-function vm(e, t) {
- let n = gm.get(e);
+function xm(e, t) {
+ let n = ym.get(e);
if (!n) return console.warn(`[Majoor Metrics] Timer not found: ${e}`), 0;
let r = performance.now() - n;
- if (gm.delete(e), t) {
- let e = `${t}Count`, n = `${t}TotalMs`, i = hm;
+ if (ym.delete(e), t) {
+ let e = `${t}Count`, n = `${t}TotalMs`, i = vm;
typeof i[e] == "number" && (i[e]++, i[n] += r);
}
r > 100 && console.log(`[Majoor Metrics] ${e}: ${r.toFixed(2)}ms`);
@@ -11642,15 +11642,15 @@ function vm(e, t) {
} catch {}
return r;
}
-function ym(e) {
- return gm.has(e);
+function Sm(e) {
+ return ym.has(e);
}
-function bm(e) {
+function Cm(e) {
try {
performance.mark(`${e}-start`);
} catch {}
}
-function xm(e) {
+function wm(e) {
try {
performance.mark(`${e}-end`), performance.measure(e, `${e}-start`, `${e}-end`);
let t = performance.getEntriesByName(e)[0]?.duration || 0;
@@ -11659,47 +11659,47 @@ function xm(e) {
return null;
}
}
-function Sm(e, t = !1) {
- hm.apiCallCount++, hm.apiCallTotalMs += e, t && hm.apiErrorCount++;
+function Tm(e, t = !1) {
+ vm.apiCallCount++, vm.apiCallTotalMs += e, t && vm.apiErrorCount++;
}
-function Cm(e) {
- hm.gridRenderCount++, hm.gridRenderTotalMs += e;
+function Em(e) {
+ vm.gridRenderCount++, vm.gridRenderTotalMs += e;
}
-function wm(e) {
- hm.searchQueryCount++, hm.searchQueryTotalMs += e;
+function Dm(e) {
+ vm.searchQueryCount++, vm.searchQueryTotalMs += e;
}
-function Tm(e) {
- hm.thumbnailLoadCount++, e || hm.thumbnailLoadFailures++;
+function Om(e) {
+ vm.thumbnailLoadCount++, e || vm.thumbnailLoadFailures++;
}
-function Em(e, t) {
- hm.errorCounts[e] = (hm.errorCounts[e] || 0) + 1;
+function km(e, t) {
+ vm.errorCounts[e] = (vm.errorCounts[e] || 0) + 1;
}
-function Dm() {
+function Am() {
return {
- ...hm,
+ ...vm,
averages: {
- gridRenderMs: hm.gridRenderCount > 0 ? hm.gridRenderTotalMs / hm.gridRenderCount : 0,
- searchQueryMs: hm.searchQueryCount > 0 ? hm.searchQueryTotalMs / hm.searchQueryCount : 0,
- apiCallMs: hm.apiCallCount > 0 ? hm.apiCallTotalMs / hm.apiCallCount : 0
+ gridRenderMs: vm.gridRenderCount > 0 ? vm.gridRenderTotalMs / vm.gridRenderCount : 0,
+ searchQueryMs: vm.searchQueryCount > 0 ? vm.searchQueryTotalMs / vm.searchQueryCount : 0,
+ apiCallMs: vm.apiCallCount > 0 ? vm.apiCallTotalMs / vm.apiCallCount : 0
},
rates: {
- apiErrorRate: hm.apiCallCount > 0 ? (hm.apiErrorCount / hm.apiCallCount * 100).toFixed(2) + "%" : "0%",
- thumbnailFailureRate: hm.thumbnailLoadCount > 0 ? (hm.thumbnailLoadFailures / hm.thumbnailLoadCount * 100).toFixed(2) + "%" : "0%"
+ apiErrorRate: vm.apiCallCount > 0 ? (vm.apiErrorCount / vm.apiCallCount * 100).toFixed(2) + "%" : "0%",
+ thumbnailFailureRate: vm.thumbnailLoadCount > 0 ? (vm.thumbnailLoadFailures / vm.thumbnailLoadCount * 100).toFixed(2) + "%" : "0%"
}
};
}
-function Om(e) {
- let t = `${e}Count`, n = `${e}TotalMs`, r = hm, i = r[t], a = r[n];
+function jm(e) {
+ let t = `${e}Count`, n = `${e}TotalMs`, r = vm, i = r[t], a = r[n];
return i > 0 ? a / i : 0;
}
-function km() {
- let e = hm;
+function Mm() {
+ let e = vm;
Object.keys(e).forEach((t) => {
typeof e[t] == "number" ? e[t] = 0 : typeof e[t] == "object" && (e[t] = {});
- }), gm.clear(), console.log("[Majoor Metrics] Metrics reset");
+ }), ym.clear(), console.log("[Majoor Metrics] Metrics reset");
}
-function Am() {
- let e = Dm();
+function Nm() {
+ let e = Am();
console.group("[Majoor Assets Manager] Performance Metrics"), console.table({
"Grid Renders": e.gridRenderCount,
"Avg Grid Render": `${e.averages.gridRenderMs.toFixed(2)}ms`,
@@ -11712,26 +11712,69 @@ function Am() {
"Thumbnail Loads": e.thumbnailLoadCount,
"Thumbnail Failures": e.thumbnailLoadFailures,
"Failure Rate": e.rates.thumbnailFailureRate
- }), Object.keys(hm.errorCounts).length > 0 && console.log("Error Counts:", hm.errorCounts), console.groupEnd();
+ }), Object.keys(vm.errorCounts).length > 0 && console.log("Error Counts:", vm.errorCounts), console.groupEnd();
}
typeof window < "u" && (window.MajoorMetrics = {
- startTimer: _m,
- endTimer: vm,
- hasTimer: ym,
- mark: bm,
- measure: xm,
- trackApiCall: Sm,
- trackGridRender: Cm,
- trackSearchQuery: wm,
- trackThumbnailLoad: Tm,
- trackError: Em,
- getMetricsReport: Dm,
- getAverageDuration: Om,
- resetMetrics: km,
- exportMetrics: Am
+ startTimer: bm,
+ endTimer: xm,
+ hasTimer: Sm,
+ mark: Cm,
+ measure: wm,
+ trackApiCall: Tm,
+ trackGridRender: Em,
+ trackSearchQuery: Dm,
+ trackThumbnailLoad: Om,
+ trackError: km,
+ getMetricsReport: Am,
+ getAverageDuration: jm,
+ resetMetrics: Mm,
+ exportMetrics: Nm
});
+// ui/features/status/emptyTrashAction.ts
+function Pm(e, t, n, r) {
+ try {
+ return e.translate(t, n, r);
+ } catch {
+ return n;
+ }
+}
+async function Fm(e) {
+ let t = (t, n, r) => Pm(e, t, n, r), n = null;
+ try {
+ n = await e.getStatus();
+ } catch (n) {
+ return e.toast(String(n?.message || n || t("toast.trashStatusFailed", "Failed to check trash")), "error", 4500), "error";
+ }
+ if (!n?.ok) return e.toast(String(n?.error || t("toast.trashStatusFailed", "Failed to check trash")), "error", 4500), "error";
+ let r = n?.data || {};
+ if (r?.supported === !1) return e.toast(t("toast.trashUnsupported", "Trash is not supported on this platform"), "info", 3e3), "unsupported";
+ let i = Number(r?.count) || 0;
+ if (!i) return e.toast(t("toast.trashIsEmpty", "Trash is empty"), "info", 2200), "empty";
+ let a = Number(r?.bytes) || 0, o = t("dialog.emptyTrash.confirm", "Permanently delete {count} trashed files ({size}) that came from Majoor's folders? This cannot be undone.", {
+ count: i,
+ size: e.formatBytes(a)
+ }), s = !1;
+ try {
+ s = !!await e.confirm(o, t("dialog.emptyTrash.title", "Empty trash?"));
+ } catch {
+ s = !1;
+ }
+ if (!s) return "cancelled";
+ let c = null;
+ try {
+ c = await e.empty();
+ } catch (n) {
+ return e.toast(String(n?.message || n || t("toast.trashEmptyFailed", "Failed to empty trash")), "error", 4500), "error";
+ }
+ if (!c?.ok) return e.toast(String(c?.error || t("toast.trashEmptyFailed", "Failed to empty trash")), "error", 4500), "error";
+ let l = Number(c?.data?.removed) || 0, u = Array.isArray(c?.data?.failed) ? c.data.failed : [], d = Number(c?.data?.skipped_dirs) || 0;
+ return e.toast(t("toast.trashRemoved", "{count} files removed ({size})", {
+ count: l,
+ size: e.formatBytes(Number(c?.data?.bytes) || 0)
+ }), "success", 3200), u.length && e.toast(t("toast.trashFailures", "{count} entries could not be removed", { count: u.length }), "warning", 4500), d > 0 && e.toast(t("toast.trashSkippedDirs", "{count} directories in the trash were not removed", { count: d }), "warning", 4500), "removed";
+}
// ui/features/status/StatusDot.ts
-var jm = [{
+var Im = [{
key: "exiftool",
labelKey: "tool.exiftool",
hintKey: "tool.exiftool.hint"
@@ -11739,24 +11782,24 @@ var jm = [{
key: "ffprobe",
labelKey: "tool.ffprobe",
hintKey: "tool.ffprobe.hint"
-}], Mm = !1, Nm = null, Pm = null, Fm = "__MJR_STATUS_DOT_CACHE__", Im = {
+}], Lm = !1, Rm = null, zm = null, Bm = "__MJR_STATUS_DOT_CACHE__", Vm = {
ACTIVE: "active",
COOLDOWN: "cooldown",
IDLE: "idle"
-}, Lm = {
- [Im.ACTIVE]: 2e3,
- [Im.COOLDOWN]: 1e4,
- [Im.IDLE]: 6e4
+}, Hm = {
+ [Vm.ACTIVE]: 2e3,
+ [Vm.COOLDOWN]: 1e4,
+ [Vm.IDLE]: 6e4
};
-function Rm(e) {
- Mm = !!e;
+function Um(e) {
+ Lm = !!e;
try {
- globalThis._mjrMaintenanceActive = Mm;
+ globalThis._mjrMaintenanceActive = Lm;
} catch (e) {
console.debug?.(e);
}
}
-function zm(e) {
+function Wm(e) {
let t = Number(e);
if (!Number.isFinite(t) || t <= 0) return "0 B";
let n = [
@@ -11770,7 +11813,7 @@ function zm(e) {
let a = r >= 100 ? 0 : r >= 10 ? 1 : 2;
return `${r.toFixed(a)} ${n[i]}`;
}
-function Bm(e, t, n = null) {
+function Gm(e, t, n = null) {
if (e && (e.replaceChildren(), (Array.isArray(t) ? t.filter((e) => e != null && String(e).trim() !== "") : []).forEach((t, n) => {
n > 0 && e.appendChild(document.createElement("br")), e.appendChild(document.createTextNode(String(t)));
}), n != null && String(n).trim() !== "")) {
@@ -11779,7 +11822,7 @@ function Bm(e, t, n = null) {
t.style.fontSize = "11px", t.style.opacity = "0.6", t.textContent = String(n), e.appendChild(t);
}
}
-function Vm(e, t = []) {
+function Km(e, t = []) {
if (!e) return;
let n = Array.isArray(t) ? t.filter((e) => e && String(e.label || "").trim()) : [];
if (!n.length) return;
@@ -11799,7 +11842,7 @@ function Vm(e, t = []) {
}
e.appendChild(r);
}
-function Hm(e, { totalAssets: t = 0, withWorkflows: n = 0, withGenerationData: r = 0 } = {}) {
+function qm(e, { totalAssets: t = 0, withWorkflows: n = 0, withGenerationData: r = 0 } = {}) {
let i = Math.max(0, Number(t || e?.total_assets || 0) || 0);
if (i <= 0) return [];
let a = (e, t = i) => {
@@ -11845,13 +11888,13 @@ function Hm(e, { totalAssets: t = 0, withWorkflows: n = 0, withGenerationData: r
} : null
].filter(Boolean);
}
-function Um(e, t, n) {
+function Jm(e, t, n) {
if (!e) return;
e.replaceChildren(), e.appendChild(document.createTextNode(String(t || ""))), e.appendChild(document.createElement("br"));
let r = document.createElement("span");
r.style.fontSize = "11px", r.style.opacity = "0.7", r.textContent = String(n || ""), e.appendChild(r);
}
-function Wm(e, t = "neutral", n = {}) {
+function Ym(e, t = "neutral", n = {}) {
if (!e) return;
let r = n?.toast !== !1, i = {
neutral: {
@@ -11910,30 +11953,30 @@ function Wm(e, t = "neutral", n = {}) {
workflow: L("status.toast.workflow", "Index status: workflow scope")
}, i = t === "error" ? "error" : t === "warning" ? "warning" : t === "success" ? "success" : "info";
try {
- F(r[t] || r.info, i, 1800, { noHistory: !0 });
+ x(r[t] || r.info, i, 1800, { noHistory: !0 });
} catch (e) {
console.debug?.(e);
}
}
}
}
-function Gm(e) {
+function Xm(e) {
let t = String(e || "").toLowerCase();
return t === "all" ? L("scope.allFull", "All (Inputs + Outputs)") : t === "input" || t === "inputs" ? L("scope.input", "Inputs") : t === "custom" ? L("scope.custom", "Browser") : t === "workflow" ? L("scope.workflow", "Workflow") : L("scope.output", "Outputs");
}
-function Km(e, t = "") {
- if (!e || typeof e != "object") return t ? L("status.watcher.disabledScoped", "Watcher: disabled ({scope})", { scope: Gm(t) }) : L("status.watcher.disabled", "Watcher: disabled");
+function Zm(e, t = "") {
+ if (!e || typeof e != "object") return t ? L("status.watcher.disabledScoped", "Watcher: disabled ({scope})", { scope: Xm(t) }) : L("status.watcher.disabled", "Watcher: disabled");
let n = !!e.enabled, r = e.scope ? String(e.scope) : "";
- return n ? r ? L("status.watcher.enabledScoped", `Watcher: enabled (${r})`, { scope: Gm(r) }) : L("status.watcher.enabled", "Watcher: enabled") : r || t ? L("status.watcher.disabledScoped", "Watcher: disabled ({scope})", { scope: Gm(t && r && r !== t ? t : r || t) }) : L("status.watcher.disabled", "Watcher: disabled");
+ return n ? r ? L("status.watcher.enabledScoped", `Watcher: enabled (${r})`, { scope: Xm(r) }) : L("status.watcher.enabled", "Watcher: enabled") : r || t ? L("status.watcher.disabledScoped", "Watcher: disabled ({scope})", { scope: Xm(t && r && r !== t ? t : r || t) }) : L("status.watcher.disabled", "Watcher: disabled");
}
-function qm(e = "status-action") {
+function Qm(e = "status-action") {
try {
window?.dispatchEvent?.(new CustomEvent("mjr:reload-grid", { detail: { reason: String(e || "status-action") } }));
} catch (e) {
console.debug?.(e);
}
}
-function Jm(e = "status-action", t = {}) {
+function $m(e = "status-action", t = {}) {
try {
window?.dispatchEvent?.(new CustomEvent("mjr-grid-dirty", { detail: {
reason: String(e || "status-action"),
@@ -11943,14 +11986,14 @@ function Jm(e = "status-action", t = {}) {
console.debug?.(e);
}
}
-async function Ym(e = "") {
- return await jt(L("dialog.vectorsReset.keepQuestion", "Keep existing AI vectors?\n\nConfirm = keep vectors\nCancel = continue without vectors"), e || L("dialog.vectorsReset.title", "AI vectors"));
+async function eh(e = "") {
+ return await Pt(L("dialog.vectorsReset.keepQuestion", "Keep existing AI vectors?\n\nConfirm = keep vectors\nCancel = continue without vectors"), e || L("dialog.vectorsReset.title", "AI vectors"));
}
-function Xm(e = {}) {
+function th(e = {}) {
let t = typeof e?.getScanContext == "function" ? e.getScanContext : null;
- Rm(!1);
+ Um(!1);
let n = document.createElement("div");
- n.style.cssText = "margin-bottom: 20px; padding: 12px; background: var(--bg-color, #1a1a1a); border-radius: 6px; border: 1px solid var(--border-color, #333); cursor: pointer; transition: all 0.2s;", Wm(n, "info", { toast: !1 });
+ n.style.cssText = "margin-bottom: 20px; padding: 12px; background: var(--bg-color, #1a1a1a); border-radius: 6px; border: 1px solid var(--border-color, #333); cursor: pointer; transition: all 0.2s;", Ym(n, "info", { toast: !1 });
let r = document.createElement("div");
r.style.cssText = "display: flex; align-items: center; gap: 10px; margin-bottom: 8px;";
let i = document.createElement("span");
@@ -11967,21 +12010,21 @@ function Xm(e = {}) {
l.id = "mjr-status-text", l.style.cssText = "font-size: 12px; opacity: 0.8;", l.textContent = L("status.checking");
let u = document.createElement("div");
u.id = "mjr-status-capabilities", u.style.cssText = "font-size: 11px; opacity: 0.75; margin-top: 10px; display: flex; gap: 6px; flex-wrap: wrap;", u.textContent = L("status.discoveringTools"), c.appendChild(l), c.appendChild(u);
+ let d = document.createElement("div");
+ d.id = "mjr-tools-status", d.style.cssText = "font-size: 11px; opacity: 0.7; margin-top: 10px;", d.textContent = L("status.toolStatusChecking", "Tool status: checking..."), c.appendChild(d);
let f = document.createElement("div");
- f.id = "mjr-tools-status", f.style.cssText = "font-size: 11px; opacity: 0.7; margin-top: 10px;", f.textContent = L("status.toolStatusChecking", "Tool status: checking..."), c.appendChild(f);
- let p = document.createElement("div");
- p.style.cssText = "margin-top: 10px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap;";
- let m = document.createElement("select");
- m.style.cssText = "\n min-width: 240px;\n padding: 4px 8px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(255,255,255,0.2);\n background: rgba(255,255,255,0.04);\n color: inherit;\n ", m.title = L("status.dbBackupSelectHint", "Select a DB backup to restore");
- let h = !1, _ = null, v = (e) => {
- m.replaceChildren();
+ f.style.cssText = "margin-top: 10px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap;";
+ let p = document.createElement("select");
+ p.style.cssText = "\n min-width: 240px;\n padding: 4px 8px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(255,255,255,0.2);\n background: rgba(255,255,255,0.04);\n color: inherit;\n ", p.title = L("status.dbBackupSelectHint", "Select a DB backup to restore");
+ let m = !1, g = null, v = (e) => {
+ p.replaceChildren();
let t = document.createElement("option");
- t.value = "", t.textContent = String(e || ""), t.disabled = !0, t.selected = !0, m.appendChild(t), h = !1, m.disabled = !0, _ && (_.disabled = !0);
+ t.value = "", t.textContent = String(e || ""), t.disabled = !0, t.selected = !0, p.appendChild(t), m = !1, p.disabled = !0, g && (g.disabled = !0);
};
v(L("status.dbBackupLoading", "Loading DB backups..."));
let b = async (e = "") => {
try {
- let t = await pe();
+ let t = await Ye();
if (!t?.ok) {
v(L("status.dbBackupNone", "No DB backup found"));
return;
@@ -11991,57 +12034,57 @@ function Xm(e = {}) {
v(L("status.dbBackupNone", "No DB backup found"));
return;
}
- m.replaceChildren();
+ p.replaceChildren();
let r = !1;
for (let t of n) {
let n = String(t?.name || "");
if (!n) continue;
- let i = Number(t?.mtime || 0), a = Number(t?.size_bytes || 0), o = i > 0 ? (/* @__PURE__ */ new Date(i * 1e3)).toLocaleString() : "", s = `${n}${o ? ` (${o}` : ""}${a > 0 ? `, ${zm(a)}` : ""}${o ? ")" : ""}`, c = document.createElement("option");
- c.value = n, c.textContent = s, e && e === n && (c.selected = !0, r = !0), m.appendChild(c);
+ let i = Number(t?.mtime || 0), a = Number(t?.size_bytes || 0), o = i > 0 ? (/* @__PURE__ */ new Date(i * 1e3)).toLocaleString() : "", s = `${n}${o ? ` (${o}` : ""}${a > 0 ? `, ${Wm(a)}` : ""}${o ? ")" : ""}`, c = document.createElement("option");
+ c.value = n, c.textContent = s, e && e === n && (c.selected = !0, r = !0), p.appendChild(c);
}
- h = m.childNodes.length > 0, m.disabled = !h, h && !r && m.childNodes[0] && (m.value = String(m.childNodes[0]?.value || "")), _ && (_.disabled = !h);
+ m = p.childNodes.length > 0, p.disabled = !m, m && !r && p.childNodes[0] && (p.value = String(p.childNodes[0]?.value || "")), g && (g.disabled = !m);
} catch {
v(L("status.dbBackupNone", "No DB backup found"));
}
};
- b(), p.appendChild(m);
- let x = document.createElement("button");
- x.type = "button", x.textContent = L("btn.dbSave", "Save DB"), x.title = L("status.dbSaveHint", "Save a DB snapshot into archive folder"), x.style.cssText = "\n padding: 5px 10px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(120,200,255,0.35);\n background: transparent;\n color: inherit;\n cursor: pointer;\n ", x.onclick = async (e) => {
- e.stopPropagation(), Rm(!0);
- let r = x.textContent, a = !!_?.disabled;
- x.disabled = !0, _ && (_.disabled = !0), x.textContent = L("btn.saving", "Saving..."), i.style.background = "var(--mjr-status-info, #64B5F6)", Wm(n, "info");
+ b(), f.appendChild(p);
+ let C = document.createElement("button");
+ C.type = "button", C.textContent = L("btn.dbSave", "Save DB"), C.title = L("status.dbSaveHint", "Save a DB snapshot into archive folder"), C.style.cssText = "\n padding: 5px 10px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(120,200,255,0.35);\n background: transparent;\n color: inherit;\n cursor: pointer;\n ", C.onclick = async (e) => {
+ e.stopPropagation(), Um(!0);
+ let r = C.textContent, a = !!g?.disabled;
+ C.disabled = !0, g && (g.disabled = !0), C.textContent = L("btn.saving", "Saving..."), i.style.background = "var(--mjr-status-info, #64B5F6)", Ym(n, "info");
try {
- let e = await Ce();
+ let e = await Pe();
if (e?.ok) {
let t = String(e?.data?.name || "").trim(), n = Number(e?.data?.size_bytes || 0);
- F(L("toast.dbSaveSuccess", "Database backup saved"), "success", 2200, { history: {
+ x(L("toast.dbSaveSuccess", "Database backup saved"), "success", 2200, { history: {
title: L("btn.dbSave", "Save DB"),
- detail: t ? `${t}${n > 0 ? ` | ${zm(n)}` : ""}` : L("toast.dbSaveSuccess", "Database backup saved"),
+ detail: t ? `${t}${n > 0 ? ` | ${Wm(n)}` : ""}` : L("toast.dbSaveSuccess", "Database backup saved"),
operation: "save_db",
source: t || "archive",
forceStore: !0
} }), await b(t);
- } else F(e?.error || L("toast.dbSaveFailed", "Failed to save DB backup"), "error");
+ } else x(e?.error || L("toast.dbSaveFailed", "Failed to save DB backup"), "error");
} catch (e) {
- F(e?.message || L("toast.dbSaveFailed", "Failed to save DB backup"), "error");
+ x(e?.message || L("toast.dbSaveFailed", "Failed to save DB backup"), "error");
} finally {
- Rm(!1), x.disabled = !1, _ && (_.disabled = a || !h), x.textContent = r;
+ Um(!1), C.disabled = !1, g && (g.disabled = a || !m), C.textContent = r;
try {
let e = t ? t() : null;
- await ah(i, l, u, e, null, { force: !0 });
+ await uh(i, l, u, e, null, { force: !0 });
} catch (e) {
console.debug?.(e);
}
}
- }, p.appendChild(x), _ = document.createElement("button"), _.type = "button", _.textContent = L("btn.dbRestore", "Restore"), _.title = L("status.dbRestoreHint", "Restore selected DB backup"), _.style.cssText = "\n padding: 5px 10px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(255,180,80,0.35);\n background: transparent;\n color: inherit;\n cursor: pointer;\n ", _.onclick = async (e) => {
+ }, f.appendChild(C), g = document.createElement("button"), g.type = "button", g.textContent = L("btn.dbRestore", "Restore"), g.title = L("status.dbRestoreHint", "Restore selected DB backup"), g.style.cssText = "\n padding: 5px 10px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(255,180,80,0.35);\n background: transparent;\n color: inherit;\n cursor: pointer;\n ", g.onclick = async (e) => {
e.stopPropagation();
- let r = String(m.value || "");
+ let r = String(p.value || "");
if (!r) {
- F(L("toast.dbRestoreSelect", "Select a DB backup first"), "warning", 2e3);
+ x(L("toast.dbRestoreSelect", "Select a DB backup first"), "warning", 2e3);
return;
}
- if (!await jt(`${L("dialog.dbRestore.confirm", "Restore selected DB backup? Current DB will be replaced.")}\n\n${r}`, L("btn.dbRestore", "Restore DB"))) return;
- F(L("toast.dbRestoreStarted", "DB restore started"), "info", 1800, { history: {
+ if (!await Pt(`${L("dialog.dbRestore.confirm", "Restore selected DB backup? Current DB will be replaced.")}\n\n${r}`, L("btn.dbRestore", "Restore DB"))) return;
+ x(L("toast.dbRestoreStarted", "DB restore started"), "info", 1800, { history: {
trackId: "maintenance:restore_db",
title: L("btn.dbRestore", "Restore DB"),
detail: r,
@@ -12049,49 +12092,49 @@ function Xm(e = {}) {
source: r,
status: "started",
forceStore: !0
- } }), Rm(!0);
- let a = _.textContent, o = !!x.disabled;
- _.disabled = !0, x.disabled = !0, m.disabled = !0, _.textContent = L("btn.restoring", "Restoring..."), i.style.background = "var(--mjr-status-warning, #FFA726)", Wm(n, "warning");
+ } }), Um(!0);
+ let a = g.textContent, o = !!C.disabled;
+ g.disabled = !0, C.disabled = !0, p.disabled = !0, g.textContent = L("btn.restoring", "Restoring..."), i.style.background = "var(--mjr-status-warning, #FFA726)", Ym(n, "warning");
try {
- let e = await xe({
+ let e = await Ve({
name: r,
useLatest: !1
});
- e?.ok ? await b(String(e?.data?.name || r || "")) : F(e?.error || L("toast.dbRestoreFailed", "Failed to restore DB backup"), "error");
+ e?.ok ? await b(String(e?.data?.name || r || "")) : x(e?.error || L("toast.dbRestoreFailed", "Failed to restore DB backup"), "error");
} catch (e) {
- F(e?.message || L("toast.dbRestoreFailed", "Failed to restore DB backup"), "error");
+ x(e?.message || L("toast.dbRestoreFailed", "Failed to restore DB backup"), "error");
} finally {
- Rm(!1), _.disabled = !h, x.disabled = o, m.disabled = !h, _.textContent = a, qm("db-restore");
+ Um(!1), g.disabled = !m, C.disabled = o, p.disabled = !m, g.textContent = a, Qm("db-restore");
try {
let e = t ? t() : null;
- await ah(i, l, u, e, null, { force: !0 });
+ await uh(i, l, u, e, null, { force: !0 });
} catch (e) {
console.debug?.(e);
}
}
- }, p.appendChild(_), c.appendChild(p);
- let S = document.createElement("div");
- S.style.cssText = "margin-top: 10px; display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap;";
- let C = document.createElement("div");
- C.style.cssText = "margin-top: 8px; font-size: 11px; opacity: 0.9; line-height: 1.35; white-space: pre-wrap;", C.textContent = "";
- let w = (e, t = "neutral") => {
+ }, f.appendChild(g), c.appendChild(f);
+ let w = document.createElement("div");
+ w.style.cssText = "margin-top: 10px; display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap;";
+ let T = document.createElement("div");
+ T.style.cssText = "margin-top: 8px; font-size: 11px; opacity: 0.9; line-height: 1.35; white-space: pre-wrap;", T.textContent = "";
+ let E = (e, t = "neutral") => {
let n = String(e || "").trim();
- C.textContent = n, n ? t === "error" ? (C.style.color = "var(--error-text-color, #ff8a80)", C.style.opacity = "1") : t === "success" ? (C.style.color = "var(--success-text-color, #a5d6a7)", C.style.opacity = "1") : t === "info" ? (C.style.color = "var(--input-text, #cfd8dc)", C.style.opacity = "0.95") : (C.style.color = "inherit", C.style.opacity = "0.9") : (C.style.color = "inherit", C.style.opacity = "0.9");
- }, T, D = document.createElement("button");
- D.type = "button", D.textContent = L("btn.resetIndex"), D.title = L("status.resetIndexHint", "Reset index cache (requires allowResetIndex in settings)."), D.style.cssText = "\n padding: 5px 12px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(255,255,255,0.25);\n background: transparent;\n color: inherit;\n cursor: pointer;\n transition: border 0.2s, background 0.2s;\n ", D.onmouseenter = () => {
- D.style.borderColor = "rgba(255,255,255,0.6)", D.style.background = "rgba(255,255,255,0.08)";
- }, D.onmouseleave = () => {
- D.style.borderColor = "rgba(255,255,255,0.25)", D.style.background = "transparent";
- }, D.onclick = async (e) => {
+ T.textContent = n, n ? t === "error" ? (T.style.color = "var(--error-text-color, #ff8a80)", T.style.opacity = "1") : t === "success" ? (T.style.color = "var(--success-text-color, #a5d6a7)", T.style.opacity = "1") : t === "info" ? (T.style.color = "var(--input-text, #cfd8dc)", T.style.opacity = "0.95") : (T.style.color = "inherit", T.style.opacity = "0.9") : (T.style.color = "inherit", T.style.opacity = "0.9");
+ }, D, O = document.createElement("button");
+ O.type = "button", O.textContent = L("btn.resetIndex"), O.title = L("status.resetIndexHint", "Reset index cache (requires allowResetIndex in settings)."), O.style.cssText = "\n padding: 5px 12px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(255,255,255,0.25);\n background: transparent;\n color: inherit;\n cursor: pointer;\n transition: border 0.2s, background 0.2s;\n ", O.onmouseenter = () => {
+ O.style.borderColor = "rgba(255,255,255,0.6)", O.style.background = "rgba(255,255,255,0.08)";
+ }, O.onmouseleave = () => {
+ O.style.borderColor = "rgba(255,255,255,0.25)", O.style.background = "transparent";
+ }, O.onclick = async (e) => {
e.stopPropagation();
- let r = await Ym(L("btn.resetIndex", "Reset index"));
- if (!await jt(r ? L("dialog.resetIndex.confirmKeepVectors", "This will reset index data and rescan files while keeping existing AI vectors.\n\nContinue?") : L("dialog.resetIndex.msg", "This will delete the database and rescan all files. Continue?"), L("dialog.resetIndex.title", "Reset index?"))) return;
- Rm(!0);
- let a = D.textContent;
- D.disabled = !0, T.disabled = !0, D.textContent = L("btn.resetting"), i.style.background = "var(--mjr-status-info, #64B5F6)", Wm(n, "info");
+ let r = await eh(L("btn.resetIndex", "Reset index"));
+ if (!await Pt(r ? L("dialog.resetIndex.confirmKeepVectors", "This will reset index data and rescan files while keeping existing AI vectors.\n\nContinue?") : L("dialog.resetIndex.msg", "This will delete the database and rescan all files. Continue?"), L("dialog.resetIndex.title", "Reset index?"))) return;
+ Um(!0);
+ let a = O.textContent;
+ O.disabled = !0, D.disabled = !0, O.textContent = L("btn.resetting"), i.style.background = "var(--mjr-status-info, #64B5F6)", Ym(n, "info");
try {
let e = t ? t() : {}, a = String(e?.scope || "output").toLowerCase(), o = e?.customRootId || e?.custom_root_id || e?.root_id || null, s = a === "custom" && !o;
- (await Xe({
+ (await we({
scope: s ? "all" : a,
customRootId: s ? null : o,
reindex: !0,
@@ -12103,54 +12146,54 @@ function Xm(e = {}) {
clear_assets: !r,
preserve_vectors: r,
rebuild_fts: !0
- }))?.ok ? (i.style.background = "var(--mjr-status-success, #4CAF50)", Wm(n, "success")) : (i.style.background = "var(--mjr-status-error, #f44336)", Wm(n, "error"));
+ }))?.ok ? (i.style.background = "var(--mjr-status-success, #4CAF50)", Ym(n, "success")) : (i.style.background = "var(--mjr-status-error, #f44336)", Ym(n, "error"));
} catch {
- i.style.background = "var(--mjr-status-error, #f44336)", Wm(n, "error");
+ i.style.background = "var(--mjr-status-error, #f44336)", Ym(n, "error");
} finally {
- Rm(!1), D.disabled = !1, T.disabled = !1, D.textContent = a, qm("index-reset");
+ Um(!1), O.disabled = !1, D.disabled = !1, O.textContent = a, Qm("index-reset");
try {
let e = t ? t() : null;
- await ah(i, l, u, e, null, { force: !0 });
+ await uh(i, l, u, e, null, { force: !0 });
} catch (e) {
console.debug?.(e);
}
}
};
- let O = document.createElement("button");
- O.type = "button", O.textContent = "Backfill vectors", O.title = "Compute missing AI vector embeddings for existing assets.", O.style.cssText = "\n padding: 5px 12px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(0, 188, 212, 0.45);\n background: transparent;\n color: inherit;\n cursor: pointer;\n transition: border 0.2s, background 0.2s;\n ", O.onmouseenter = () => {
- O.style.borderColor = "rgba(0, 188, 212, 0.8)", O.style.background = "rgba(0, 188, 212, 0.12)";
- }, O.onmouseleave = () => {
- O.style.borderColor = "rgba(0, 188, 212, 0.45)", O.style.background = "transparent";
- }, O.onclick = async (e) => {
+ let k = document.createElement("button");
+ k.type = "button", k.textContent = "Backfill vectors", k.title = "Compute missing AI vector embeddings for existing assets.", k.style.cssText = "\n padding: 5px 12px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(0, 188, 212, 0.45);\n background: transparent;\n color: inherit;\n cursor: pointer;\n transition: border 0.2s, background 0.2s;\n ", k.onmouseenter = () => {
+ k.style.borderColor = "rgba(0, 188, 212, 0.8)", k.style.background = "rgba(0, 188, 212, 0.12)";
+ }, k.onmouseleave = () => {
+ k.style.borderColor = "rgba(0, 188, 212, 0.45)", k.style.background = "transparent";
+ }, k.onclick = async (e) => {
e.stopPropagation();
let r = t ? t() : {}, a = String(r?.scope || "output").toLowerCase(), o = String(r?.customRootId || r?.custom_root_id || r?.root_id || "").trim();
if (a === "custom" && !o) {
- F(L("status.customBrowserScanDisabledHint", "Use Outputs, Inputs, or All to run indexing scans"), "warning", 2600), w("Backfill skipped - Browser scope has no selected custom root.", "warning");
+ x(L("status.customBrowserScanDisabledHint", "Use Outputs, Inputs, or All to run indexing scans"), "warning", 2600), E("Backfill skipped - Browser scope has no selected custom root.", "warning");
return;
}
- let s = a || "output", c = Gm(s), d = { history: {
+ let s = a || "output", c = Xm(s), d = { history: {
trackId: `vector-backfill:status:${s}:${o || "default"}`,
title: "Vector Backfill",
source: c,
operation: "vector_backfill",
forceStore: !0
} };
- Rm(!0);
- let f = O.textContent, p = D.textContent;
- O.disabled = !0, D.disabled = !0, T.disabled = !0, O.textContent = "Backfilling...", w(`Backfill started (${c})...`, "info"), g({
+ Um(!0);
+ let f = k.textContent, p = O.textContent;
+ k.disabled = !0, O.disabled = !0, D.disabled = !0, k.textContent = "Backfilling...", E(`Backfill started (${c})...`, "info"), y({
summary: "Vector Backfill",
detail: `Started (${c})`
}, "info", 0, { history: {
...d.history,
status: "started",
detail: `Started (${c})`
- } }), i.style.background = "var(--mjr-status-info, #64B5F6)", Wm(n, "info");
+ } }), i.style.background = "var(--mjr-status-info, #64B5F6)", Ym(n, "info");
try {
let e = {
scope: s,
onProgress: (e) => {
let t = String(e?.status || "").toLowerCase(), n = e?.progress || e?.result || {}, r = Number(n?.candidates || n?.processed || 0), i = Number(n?.candidate_total || r || 0), a = Number(n?.eligible_total || n?.total_assets || 0), o = Number(n?.indexed || 0), s = Number(n?.skipped || 0), l = Number(n?.errors || 0);
- if (t === "queued") w("Backfill queued...", "info"), g({
+ if (t === "queued") E("Backfill queued...", "info"), y({
summary: "Vector Backfill",
detail: `Queued (${c})`
}, "info", 0, { history: {
@@ -12166,7 +12209,7 @@ function Xm(e = {}) {
} });
else if (t === "running" || r > 0 || i > 0 || a > 0 || o > 0 || s > 0 || l > 0) {
let e = a > 0 ? `Indexed ${o}/${a} assets, candidates ${i}, skipped ${s}, errors ${l}` : `Candidates ${r}, indexed ${o}, skipped ${s}, errors ${l}`;
- w(a > 0 ? `Backfill running - indexed ${o}/${a} assets, candidates ${i}, skipped ${s}, errors ${l}` : `Backfill running - candidates ${r}, indexed ${o}, skipped ${s}, errors ${l}`, "info"), g({
+ E(a > 0 ? `Backfill running - indexed ${o}/${a} assets, candidates ${i}, skipped ${s}, errors ${l}` : `Backfill running - candidates ${r}, indexed ${o}, skipped ${s}, errors ${l}`, "info"), y({
summary: "Vector Backfill",
detail: e
}, "info", 0, { history: {
@@ -12189,7 +12232,7 @@ function Xm(e = {}) {
}
};
s === "custom" && o && (e.customRootId = o);
- let t = await E(64, e);
+ let t = await _(64, e);
if (t?.ok) {
let e = String(t?.data?.status || "").toLowerCase(), r = !!t?.data?.pending || [
"queued",
@@ -12198,7 +12241,7 @@ function Xm(e = {}) {
].includes(e), a = t?.data?.progress || {}, o = Number(t?.data?.processed ?? a?.candidates ?? 0), s = Number(t?.data?.indexed ?? a?.indexed ?? 0), c = Number(t?.data?.skipped ?? a?.skipped ?? 0), l = Number(t?.data?.errors ?? a?.errors ?? 0);
if (r) {
let e = String(t?.data?.backfill_id || "").trim(), r = L("toast.vectorBackfillRunning", "Vector backfill still running in background{job}.", { job: e ? ` (${e.slice(0, 8)})` : "" });
- F(r, "info", 4200, { history: {
+ x(r, "info", 4200, { history: {
...d.history,
status: "running",
detail: `Running in background${e ? ` (${e.slice(0, 8)})` : ""}.`,
@@ -12211,8 +12254,8 @@ function Xm(e = {}) {
errors: l,
label: "running"
}
- } }), w(`Backfill running in background - candidates ${o}, indexed ${s}, skipped ${c}, errors ${l}`, "info"), i.style.background = "var(--mjr-status-info, #64B5F6)", Wm(n, "info");
- } else F(L("toast.vectorBackfillComplete", "Vector backfill complete! Processed: {processed}, Indexed: {indexed}, Skipped: {skipped}", {
+ } }), E(`Backfill running in background - candidates ${o}, indexed ${s}, skipped ${c}, errors ${l}`, "info"), i.style.background = "var(--mjr-status-info, #64B5F6)", Ym(n, "info");
+ } else x(L("toast.vectorBackfillComplete", "Vector backfill complete! Processed: {processed}, Indexed: {indexed}, Skipped: {skipped}", {
processed: o,
indexed: s,
skipped: c
@@ -12229,14 +12272,14 @@ function Xm(e = {}) {
errors: l,
label: "done"
}
- } }), w(`Backfill OK - processed ${o}, indexed ${s}, skipped ${c}`, "success"), i.style.background = "var(--mjr-status-success, #4CAF50)", Wm(n, "success");
+ } }), E(`Backfill OK - processed ${o}, indexed ${s}, skipped ${c}`, "success"), i.style.background = "var(--mjr-status-success, #4CAF50)", Ym(n, "success");
} else {
let e = String(t?.error || L("toast.vectorBackfillFailedGeneric", "Backfill failed")), r = String(t?.code || "").trim(), a = Number(t?.status || 0) || 0, o = [
r ? `code=${r}` : "",
a ? `status=${a}` : "",
e
].filter(Boolean).join(" | ");
- F(o, "error", 4500, { history: {
+ x(o, "error", 4500, { history: {
...d.history,
status: "failed",
detail: o,
@@ -12244,11 +12287,11 @@ function Xm(e = {}) {
label: "failed",
errors: 1
}
- } }), w(`Backfill ? - ${o}\nSee console for full payload.`, "error"), console.error("[Majoor] Vector backfill failed response", t), i.style.background = "var(--mjr-status-error, #f44336)", Wm(n, "error");
+ } }), E(`Backfill ? - ${o}\nSee console for full payload.`, "error"), console.error("[Majoor] Vector backfill failed response", t), i.style.background = "var(--mjr-status-error, #f44336)", Ym(n, "error");
}
} catch (e) {
let t = String(e?.message || e || "Backfill failed");
- F(t, "error", 4500, { history: {
+ x(t, "error", 4500, { history: {
...d.history,
status: "failed",
detail: t,
@@ -12256,60 +12299,94 @@ function Xm(e = {}) {
label: "failed",
errors: 1
}
- } }), w(`Backfill EXCEPTION - ${t}\nSee console for stack trace.`, "error"), console.error("[Majoor] Vector backfill exception", e), i.style.background = "var(--mjr-status-error, #f44336)", Wm(n, "error");
+ } }), E(`Backfill EXCEPTION - ${t}\nSee console for stack trace.`, "error"), console.error("[Majoor] Vector backfill exception", e), i.style.background = "var(--mjr-status-error, #f44336)", Ym(n, "error");
} finally {
- Rm(!1), O.disabled = !1, D.disabled = !1, T.disabled = !1, O.textContent = f, D.textContent = p, qm("vector-backfill");
+ Um(!1), k.disabled = !1, O.disabled = !1, D.disabled = !1, k.textContent = f, O.textContent = p, Qm("vector-backfill");
try {
let e = t ? t() : null;
- await ah(i, l, u, e, null, { force: !0 });
+ await uh(i, l, u, e, null, { force: !0 });
} catch (e) {
console.debug?.(e);
}
}
- }, T = document.createElement("button"), T.type = "button", T.textContent = L("btn.memoryPurge", "Memory purge"), T.title = L("tooltip.memoryPurge", "Unload Majoor AI models, ask ComfyUI to unload loaded models, and clear torch cache when idle."), T.style.cssText = "\n padding: 5px 12px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(156, 204, 101, 0.45);\n background: transparent;\n color: inherit;\n cursor: pointer;\n transition: border 0.2s, background 0.2s;\n ", T.onmouseenter = () => {
- T.style.borderColor = "rgba(156, 204, 101, 0.85)", T.style.background = "rgba(156, 204, 101, 0.12)";
- }, T.onmouseleave = () => {
- T.style.borderColor = "rgba(156, 204, 101, 0.45)", T.style.background = "transparent";
- }, T.onclick = async (e) => {
+ }, D = document.createElement("button"), D.type = "button", D.textContent = L("btn.memoryPurge", "Memory purge"), D.title = L("tooltip.memoryPurge", "Unload Majoor AI models, ask ComfyUI to unload loaded models, and clear torch cache when idle."), D.style.cssText = "\n padding: 5px 12px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(156, 204, 101, 0.45);\n background: transparent;\n color: inherit;\n cursor: pointer;\n transition: border 0.2s, background 0.2s;\n ", D.onmouseenter = () => {
+ D.style.borderColor = "rgba(156, 204, 101, 0.85)", D.style.background = "rgba(156, 204, 101, 0.12)";
+ }, D.onmouseleave = () => {
+ D.style.borderColor = "rgba(156, 204, 101, 0.45)", D.style.background = "transparent";
+ }, D.onclick = async (e) => {
e.stopPropagation();
- let r = T.textContent;
- T.disabled = !0, O.disabled = !0, D.disabled = !0, T.textContent = L("btn.memoryPurging", "Purging..."), w(L("status.memoryPurgeStarted", "Memory purge started..."), "info"), i.style.background = "var(--mjr-status-info, #64B5F6)", Wm(n, "info");
+ let r = D.textContent;
+ D.disabled = !0, k.disabled = !0, O.disabled = !0, D.textContent = L("btn.memoryPurging", "Purging..."), E(L("status.memoryPurgeStarted", "Memory purge started..."), "info"), i.style.background = "var(--mjr-status-info, #64B5F6)", Ym(n, "info");
try {
- let e = await y();
+ let e = await A();
if (e?.ok) {
let t = e?.data?.comfy_models ? L("toast.memoryPurgeComplete", "Memory purge complete. Majoor AI and ComfyUI model caches were released.") : L("toast.memoryPurgeCompleteMajoorOnly", "Memory purge complete. Majoor AI caches were released.");
- F(t, "success", 3200), w(t, "success"), i.style.background = "var(--mjr-status-success, #4CAF50)", Wm(n, "success");
+ x(t, "success", 3200), E(t, "success"), i.style.background = "var(--mjr-status-success, #4CAF50)", Ym(n, "success");
} else {
let t = String(e?.error || "Memory purge failed");
- F(t, "error", 4500), w(t, "error"), i.style.background = "var(--mjr-status-error, #f44336)", Wm(n, "error");
+ x(t, "error", 4500), E(t, "error"), i.style.background = "var(--mjr-status-error, #f44336)", Ym(n, "error");
}
} catch (e) {
let t = String(e?.message || e || "Memory purge failed");
- F(t, "error", 4500), w(t, "error"), i.style.background = "var(--mjr-status-error, #f44336)", Wm(n, "error");
+ x(t, "error", 4500), E(t, "error"), i.style.background = "var(--mjr-status-error, #f44336)", Ym(n, "error");
} finally {
- T.disabled = !1, O.disabled = !1, D.disabled = !1, T.textContent = r;
+ D.disabled = !1, k.disabled = !1, O.disabled = !1, D.textContent = r;
try {
let e = t ? t() : null;
- await ah(i, l, u, e, null, { force: !0 });
+ await uh(i, l, u, e, null, { force: !0 });
} catch (e) {
console.debug?.(e);
}
}
- }, S.appendChild(O), S.appendChild(T), S.appendChild(D), c.appendChild(C);
- let k = document.createElement("button");
- k.type = "button", k.textContent = L("btn.deleteDb"), k.title = L("tooltip.deleteDb", "Force-delete database and rebuild from scratch"), k.style.cssText = "\n padding: 5px 12px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(255,80,80,0.4);\n background: transparent;\n color: inherit;\n cursor: pointer;\n transition: border 0.2s, background 0.2s;\n ", k.onmouseenter = () => {
- k.style.borderColor = "rgba(255,80,80,0.8)", k.style.background = "rgba(255,80,80,0.12)";
- }, k.onmouseleave = () => {
- k.style.borderColor = "rgba(255,80,80,0.4)", k.style.background = "transparent";
- }, k.onclick = async (e) => {
- e.stopPropagation();
- let r = await Ym(L("btn.deleteDb", "Delete DB"));
- if (!await jt(r ? L("dialog.dbDelete.keepVectorsConfirm", "This will reset index data and keep existing AI vectors. Database files will not be force-deleted.\n\nContinue?") : L("dialog.dbDelete.confirm", "This will permanently delete the index database and rebuild it from scratch. All ratings, tags, and cached metadata will be lost.\n\nContinue?"), L("btn.deleteDb", "Delete DB"))) return;
- Rm(!0);
- let a = k.textContent;
- k.disabled = !0, k.textContent = r ? L("btn.resetting", "Resetting...") : L("btn.deletingDb"), D.disabled = !0, T.disabled = !0, i.style.background = "var(--mjr-status-info, #64B5F6)", Wm(n, "info");
+ };
+ let j = document.createElement("button");
+ j.type = "button", j.textContent = L("btn.emptyTrash", "Empty trash"), j.title = L("status.emptyTrashHint", "Permanently remove files Majoor sent to the freedesktop trash (requires allowDelete in settings)."), j.style.cssText = "\n padding: 5px 12px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(255,167,38,0.45);\n background: transparent;\n color: inherit;\n cursor: pointer;\n transition: border 0.2s, background 0.2s;\n ", j.onmouseenter = () => {
+ j.style.borderColor = "rgba(255,167,38,0.85)", j.style.background = "rgba(255,167,38,0.12)";
+ }, j.onmouseleave = () => {
+ j.style.borderColor = "rgba(255,167,38,0.45)", j.style.background = "transparent";
+ }, (async () => {
try {
- (r ? await Xe({
+ let e = await Ce();
+ if (e?.ok && e?.data?.supported === !1) {
+ j.style.display = "none";
+ return;
+ }
+ let t = await ce();
+ t?.ok && t?.data?.prefs && t.data.prefs.allow_delete === !1 && (j.disabled = !0, j.title = L("status.emptyTrashDisabled", "Empty trash is disabled. Enable 'allow_delete' in settings or set MAJOOR_ALLOW_DELETE=1."));
+ } catch (e) {
+ console.debug?.(e);
+ }
+ })(), j.onclick = async (e) => {
+ e.stopPropagation(), Um(!0);
+ let t = j.textContent;
+ j.disabled = !0, O.disabled = !0, D.disabled = !0, j.textContent = L("btn.emptyTrashRunning", "Emptying...");
+ try {
+ await Fm({
+ getStatus: Ce,
+ empty: h,
+ confirm: (e, t) => Promise.resolve(Pt(e, t)),
+ toast: (e, t, n, r) => x(e, t, n, r),
+ formatBytes: Wm,
+ translate: (e, t, n) => L(e, t, n)
+ });
+ } finally {
+ Um(!1), j.disabled = !1, O.disabled = !1, D.disabled = !1, j.textContent = t;
+ }
+ }, w.appendChild(k), w.appendChild(D), w.appendChild(O), w.appendChild(j), c.appendChild(T);
+ let M = document.createElement("button");
+ M.type = "button", M.textContent = L("btn.deleteDb"), M.title = L("tooltip.deleteDb", "Force-delete database and rebuild from scratch"), M.style.cssText = "\n padding: 5px 12px;\n font-size: 11px;\n border-radius: 6px;\n border: 1px solid rgba(255,80,80,0.4);\n background: transparent;\n color: inherit;\n cursor: pointer;\n transition: border 0.2s, background 0.2s;\n ", M.onmouseenter = () => {
+ M.style.borderColor = "rgba(255,80,80,0.8)", M.style.background = "rgba(255,80,80,0.12)";
+ }, M.onmouseleave = () => {
+ M.style.borderColor = "rgba(255,80,80,0.4)", M.style.background = "transparent";
+ }, M.onclick = async (e) => {
+ e.stopPropagation();
+ let r = await eh(L("btn.deleteDb", "Delete DB"));
+ if (!await Pt(r ? L("dialog.dbDelete.keepVectorsConfirm", "This will reset index data and keep existing AI vectors. Database files will not be force-deleted.\n\nContinue?") : L("dialog.dbDelete.confirm", "This will permanently delete the index database and rebuild it from scratch. All ratings, tags, and cached metadata will be lost.\n\nContinue?"), L("btn.deleteDb", "Delete DB"))) return;
+ Um(!0);
+ let a = M.textContent;
+ M.disabled = !0, M.textContent = r ? L("btn.resetting", "Resetting...") : L("btn.deletingDb"), O.disabled = !0, D.disabled = !0, i.style.background = "var(--mjr-status-info, #64B5F6)", Ym(n, "info");
+ try {
+ (r ? await we({
scope: "all",
reindex: !0,
maintenance_force: !0,
@@ -12320,53 +12397,53 @@ function Xm(e = {}) {
clear_assets: !1,
preserve_vectors: !0,
rebuild_fts: !0
- }) : await d())?.ok ? (globalThis._mjrCorruptToastShown = !1, i.style.background = "var(--mjr-status-success, #4CAF50)", Wm(n, "success")) : (i.style.background = "var(--mjr-status-error, #f44336)", Wm(n, "error"));
+ }) : await S())?.ok ? (globalThis._mjrCorruptToastShown = !1, i.style.background = "var(--mjr-status-success, #4CAF50)", Ym(n, "success")) : (i.style.background = "var(--mjr-status-error, #f44336)", Ym(n, "error"));
} catch {
- i.style.background = "var(--mjr-status-error, #f44336)", Wm(n, "error");
+ i.style.background = "var(--mjr-status-error, #f44336)", Ym(n, "error");
} finally {
- Rm(!1), k.disabled = !1, k.textContent = a, D.disabled = !1, T.disabled = !1, qm(r ? "index-reset-preserve-vectors" : "db-force-delete");
+ Um(!1), M.disabled = !1, M.textContent = a, O.disabled = !1, D.disabled = !1, Qm(r ? "index-reset-preserve-vectors" : "db-force-delete");
try {
let e = t ? t() : null;
- await ah(i, l, u, e, null, { force: !0 });
+ await uh(i, l, u, e, null, { force: !0 });
} catch (e) {
console.debug?.(e);
}
}
- }, S.appendChild(k), c.appendChild(S), n.appendChild(r), n.appendChild(c);
- let A = n.querySelector("#mjr-status-title");
- A && A.addEventListener("click", (e) => {
+ }, w.appendChild(M), c.appendChild(w), n.appendChild(r), n.appendChild(c);
+ let N = n.querySelector("#mjr-status-title");
+ N && N.addEventListener("click", (e) => {
e.stopPropagation();
let t = n.querySelector("#mjr-status-body");
if (!t) return;
let r = t.style.display === "none";
- nh(n, !r);
- }), nh(n, !0), n.onmouseenter = () => {
+ sh(n, !r);
+ }), sh(n, !0), n.onmouseenter = () => {
n.style.transform = "translateY(-1px)";
}, n.onmouseleave = () => {
- n.style.transform = "", Wm(n, n.dataset?.mjrStatusTone || "neutral", { toast: !1 });
+ n.style.transform = "", Ym(n, n.dataset?.mjrStatusTone || "neutral", { toast: !1 });
};
let ee = async (e) => {
try {
let r = e?.detail || {}, a = String(r?.step || "");
if (!a) return;
let o = a === "started" || a === "stopping_workers" || a === "resetting_db" || a === "delete_db" || a === "recreate_db" || a === "replacing_files" || a === "restarting_scan";
- if (o ? Rm(!0) : (a === "failed" || a === "done") && Rm(!1), !n?.isConnected || !i?.isConnected || !l?.isConnected) return;
+ if (o ? Um(!0) : (a === "failed" || a === "done") && Um(!1), !n?.isConnected || !i?.isConnected || !l?.isConnected) return;
if (o) {
- i.style.background = "var(--mjr-status-info, #64B5F6)", Wm(n, "info", { toast: !1 }), Um(l, L("status.pending", "Pending..."), L("status.dbRestoreInProgress", "Database restore in progress"));
+ i.style.background = "var(--mjr-status-info, #64B5F6)", Ym(n, "info", { toast: !1 }), Jm(l, L("status.pending", "Pending..."), L("status.dbRestoreInProgress", "Database restore in progress"));
return;
}
if (a === "failed") {
- i.style.background = "var(--mjr-status-error, #f44336)", Wm(n, "error", { toast: !1 }), Bm(l, [L("status.error", "Error"), String(r?.message || L("toast.dbRestoreFailed", "Failed to restore DB backup"))]);
+ i.style.background = "var(--mjr-status-error, #f44336)", Ym(n, "error", { toast: !1 }), Gm(l, [L("status.error", "Error"), String(r?.message || L("toast.dbRestoreFailed", "Failed to restore DB backup"))]);
return;
}
if (a === "done") {
- i.style.background = "var(--mjr-status-success, #4CAF50)", Wm(n, "success", { toast: !1 });
+ i.style.background = "var(--mjr-status-success, #4CAF50)", Ym(n, "success", { toast: !1 });
let e = String(r?.operation || ""), a = e === "delete_db" ? L("toast.dbDeleteSuccess", "Database deleted and rebuilt. Files are being reindexed.") : e === "reset_index" ? L("toast.resetStarted", "Index reset started. Files will be reindexed in the background.") : L("toast.dbRestoreSuccess", "Database backup restored");
- Um(l, L("status.ready", "Ready"), a);
+ Jm(l, L("status.ready", "Ready"), a);
try {
let e = t ? t() : null;
setTimeout(() => {
- ah(i, l, u, e, null, { force: !0 });
+ uh(i, l, u, e, null, { force: !0 });
}, 600);
} catch (e) {
console.debug?.(e);
@@ -12377,12 +12454,12 @@ function Xm(e = {}) {
}
};
try {
- let e = Nm;
- typeof e == "function" && window.removeEventListener("mjr-db-restore-status", e), Nm = ee, n._mjrDbRestoreStatusHandler = ee, window.addEventListener("mjr-db-restore-status", ee);
+ let e = Rm;
+ typeof e == "function" && window.removeEventListener("mjr-db-restore-status", e), Rm = ee, n._mjrDbRestoreStatusHandler = ee, window.addEventListener("mjr-db-restore-status", ee);
} catch (e) {
console.debug?.(e);
}
- let j = (e) => {
+ let te = (e) => {
try {
let t = e?.detail || {}, n = Number(t?.queue_remaining), r = Number(t?.progress_value), i = Number(t?.progress_max), a = Array.isArray(t?.cached_nodes) ? t.cached_nodes.length : 0, o = String(t?.active_prompt_id || "").trim(), s = [
Number.isFinite(r) && Number.isFinite(i) && i > 0 ? L("status.runtimeProgress", "Runtime progress: {value}/{max}", {
@@ -12395,27 +12472,27 @@ function Xm(e = {}) {
].filter(Boolean);
if (!s.length) return;
let c = l?.querySelector?.("span");
- c ? c.textContent = s.join(" | ") : Um(l, L("status.ready", "Ready"), s.join(" | "));
+ c ? c.textContent = s.join(" | ") : Jm(l, L("status.ready", "Ready"), s.join(" | "));
} catch (e) {
console.debug?.(e);
}
};
try {
- let e = Pm;
- typeof e == "function" && window.removeEventListener(B.RUNTIME_STATUS, e), Pm = j, window.addEventListener(B.RUNTIME_STATUS, j);
+ let e = zm;
+ typeof e == "function" && window.removeEventListener(B.RUNTIME_STATUS, e), zm = te, window.addEventListener(B.RUNTIME_STATUS, te);
} catch (e) {
console.debug?.(e);
}
return n;
}
-async function Zm(e, t, n = null, r = null) {
- if (Mm) {
- F(L("status.maintenanceBusy", "Database maintenance in progress. Please wait."), "warning", 2200);
+async function nh(e, t, n = null, r = null) {
+ if (Lm) {
+ x(L("status.maintenanceBusy", "Database maintenance in progress. Please wait."), "warning", 2200);
return;
}
let i = t?.closest?.("#mjr-status-body")?.parentElement || t?.closest?.("div"), a = String(r?.scope || "output").toLowerCase(), o = r?.customRootId || r?.custom_root_id || r?.root_id || null;
if (a === "custom" && !o) {
- e.style.background = "var(--mjr-status-info, #64B5F6)", Wm(i, "info"), Um(t, L("status.customBrowserScanDisabled", "Custom browser mode: scan is disabled"), L("status.customBrowserScanDisabledHint", "Use Outputs, Inputs, or All to run indexing scans"));
+ e.style.background = "var(--mjr-status-info, #64B5F6)", Ym(i, "info"), Jm(t, L("status.customBrowserScanDisabled", "Custom browser mode: scan is disabled"), L("status.customBrowserScanDisabledHint", "Use Outputs, Inputs, or All to run indexing scans"));
return;
}
try {
@@ -12423,7 +12500,7 @@ async function Zm(e, t, n = null, r = null) {
if (n && typeof n == "object") {
let r = e - Number(n.at || 0);
if (r >= 0 && r < 6e5) {
- Um(t, L("status.scanInProgress", "Scan already running..."), L("status.scanInProgressHint", "Please wait for the current scan to finish"));
+ Jm(t, L("status.scanInProgress", "Scan already running..."), L("status.scanInProgressHint", "Please wait for the current scan to finish"));
return;
}
}
@@ -12443,15 +12520,15 @@ async function Zm(e, t, n = null, r = null) {
}
}, c = null;
try {
- let e = await Pe(p.ROOTS);
+ let e = await Ie(I.ROOTS);
e.ok && (c = e.data);
} catch (e) {
console.debug?.(e);
}
if (!c) {
- let n = await Pe(p.CONFIG);
+ let n = await Ie(I.CONFIG);
if (!n.ok) {
- e.style.background = "var(--mjr-status-error, #f44336)", Wm(i, "error"), t.textContent = L("status.errorGetConfig"), s();
+ e.style.background = "var(--mjr-status-error, #f44336)", Ym(i, "error"), t.textContent = L("status.errorGetConfig"), s();
return;
}
c = { output_directory: n.data.output_directory };
@@ -12462,7 +12539,7 @@ async function Zm(e, t, n = null, r = null) {
let e = Array.isArray(c?.custom_roots) ? c.custom_roots : [], t = o ? e.find((e) => e?.id === o) : null;
u = t?.path ? ` (${t.path})` : "";
} else a === "output" && (u = c?.output_directory ? ` (${c.output_directory})` : "");
- e.style.background = "var(--mjr-status-info, #64B5F6)", Wm(i, "info"), Um(t, L("status.scanningScope", `Scanning ${l}${u}...`, {
+ e.style.background = "var(--mjr-status-info, #64B5F6)", Ym(i, "info"), Jm(t, L("status.scanningScope", `Scanning ${l}${u}...`, {
scope: l,
detail: u
}), L("status.scanningHint", "This may take a while"));
@@ -12470,187 +12547,187 @@ async function Zm(e, t, n = null, r = null) {
scope: a,
recursive: !0,
incremental: !0,
- fast: !!(Mt()?.scan?.fastMode ?? !0),
+ fast: !!(Ft()?.scan?.fastMode ?? !0),
background_metadata: !0
};
if (a === "custom") {
if (!o) {
- e.style.background = "var(--mjr-status-error, #f44336)", Wm(i, "error"), t.textContent = L("status.selectCustomFolder"), s();
+ e.style.background = "var(--mjr-status-error, #f44336)", Ym(i, "error"), t.textContent = L("status.selectCustomFolder"), s();
return;
}
d.custom_root_id = o;
}
let f;
try {
- f = await me(p.SCAN, d);
+ f = await he(I.SCAN, d);
} finally {
s();
}
if (f?.ok) {
let r = f.data;
- e.style.background = "var(--mjr-status-success, #4CAF50)", Wm(i, "success"), Um(t, L("toast.scanComplete"), L("status.scanStats", `Added: ${r.added || 0} - Updated: ${r.updated || 0} - Skipped: ${r.skipped || 0}`, {
+ e.style.background = "var(--mjr-status-success, #4CAF50)", Ym(i, "success"), Jm(t, L("toast.scanComplete"), L("status.scanStats", `Added: ${r.added || 0} - Updated: ${r.updated || 0} - Skipped: ${r.skipped || 0}`, {
added: r.added || 0,
updated: r.updated || 0,
skipped: r.skipped || 0
- })), Jm("scan-complete", { stats: {
+ })), $m("scan-complete", { stats: {
added: r.added || 0,
updated: r.updated || 0,
skipped: r.skipped || 0
} }), setTimeout(() => {
- ah(e, t, n);
+ uh(e, t, n);
}, 2e3);
- } else e.style.background = "var(--mjr-status-error, #f44336)", Wm(i, "error"), Bm(t, [L("toast.scanFailed") + `: ${f?.error || "Unknown error"}`]), setTimeout(() => {
- ah(e, t, n);
+ } else e.style.background = "var(--mjr-status-error, #f44336)", Ym(i, "error"), Gm(t, [L("toast.scanFailed") + `: ${f?.error || "Unknown error"}`]), setTimeout(() => {
+ uh(e, t, n);
}, 3e3);
}
-function Qm(e, t, n) {
+function rh(e, t, n) {
let r = document.createElement("span");
return r.style.cssText = "\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 6px;\n border-radius: 999px;\n background: rgba(255, 255, 255, 0.05);\n border: 1px solid rgba(255, 255, 255, 0.1);\n ", r.textContent = `${t ? "OK" : "ERR"} ${e}`, r.title = t ? L("status.toolAvailable", `${e} available`, { tool: e }) : n || L("status.toolUnavailable", `${e} unavailable`, { tool: e }), r.style.opacity = t ? "1" : "0.75", r;
}
-function $m(e, t = {}, n = {}) {
+function ih(e, t = {}, n = {}) {
if (!e) return;
if (e.replaceChildren(), !t || Object.keys(t).length === 0) {
e.textContent = L("status.discoveringTools");
return;
}
let r = document.createElement("div");
- r.style.display = "flex", r.style.flexWrap = "wrap", r.style.gap = "10px", r.style.alignItems = "flex-start", jm.forEach(({ key: e, labelKey: i, hintKey: a }) => {
+ r.style.display = "flex", r.style.flexWrap = "wrap", r.style.gap = "10px", r.style.alignItems = "flex-start", Im.forEach(({ key: e, labelKey: i, hintKey: a }) => {
let o = !!t[e], s = n[e], c = L(i, e), l = L(a, "");
- r.appendChild(th({
+ r.appendChild(oh({
label: c,
hint: l
}, o, s));
}), e.appendChild(r);
}
-function eh(e, t = null, n = {}) {
+function ah(e, t = null, n = {}) {
if (!e) return;
let r = e.parentElement;
if (!r) return;
let i = r.querySelector("#mjr-tools-status");
if (!i) return;
let a = n && Object.keys(n).length > 0;
- i.textContent = !t && !a ? L("status.toolStatusChecking", "Tool status: checking...") : jm.map(({ key: e, labelKey: r }) => {
+ i.textContent = !t && !a ? L("status.toolStatusChecking", "Tool status: checking...") : Im.map(({ key: e, labelKey: r }) => {
let i = L(r, e), a = t && e in t ? t[e] : void 0, o = e in n ? n[e] : void 0, s = a === void 0 ? o : a, c = s == null ? L("status.unknown", "unknown") : s ? L("status.available", "available") : L("status.missing", "missing"), l = t?.versions?.[e];
return l ? `${i}: ${c} - ${l}` : `${i}: ${c}`;
}).join(" | ");
}
-function th({ label: e, hint: t }, n, r) {
+function oh({ label: e, hint: t }, n, r) {
let i = document.createElement("div");
i.style.cssText = "\n display: flex;\n flex-direction: column;\n gap: 3px;\n padding: 6px 8px;\n border-radius: 8px;\n background: rgba(255, 255, 255, 0.03);\n border: 1px solid rgba(255, 255, 255, 0.08);\n min-width: 170px;\n ";
- let a = Qm(e, n, t);
+ let a = rh(e, n, t);
a.style.fontWeight = "500", i.appendChild(a);
let o = document.createElement("span");
return o.style.fontSize = "10px", o.style.opacity = "0.7", o.style.wordBreak = "break-all", o.textContent = L("status.path", "Path") + `: ${r || L("status.pathAuto", "auto / not configured")}`, i.appendChild(o), i;
}
-function nh(e, t) {
+function sh(e, t) {
let n = e.querySelector("#mjr-status-body"), r = e.querySelector("#mjr-status-title-indicator");
n && r && (t ? (n.style.display = "none", r.textContent = ">") : (n.style.display = "", r.textContent = "v"));
}
-function rh(e, t) {
+function ch(e, t) {
let n = !!e?.database?.available, r = t?.diagnostics || {}, i = !!r?.malformed, a = !!r?.locked;
return !n || i ? L("status.dbHealthError", "DB health: error") : a ? L("status.dbHealthLocked", "DB health: locked") : L("status.dbHealthOk", "DB health: ok");
}
-function ih(e, t) {
+function lh(e, t) {
let n = Number(e?.total_assets || 0), r = e?.last_index_end, i = e?.last_scan_end, a = t === "all" ? L("scope.all", "Inputs + Outputs") : t === "input" ? L("scope.input", "Inputs") : t === "custom" ? L("scope.custom", "Custom") : t === "workflow" ? L("scope.workflow", "Workflow") : L("scope.output", "Outputs");
return !Number.isFinite(n) || n <= 0 ? `${L("status.indexHealthEmpty", "Index health: empty")} (${a})` : !r && !i ? `${L("status.indexHealthPartial", "Index health: partial")} (${a})` : `${L("status.indexHealthOk", "Index health: ok")} (${a})`;
}
-async function ah(e, t, n = null, r = null, i = null, a = {}) {
- let o = t?.closest?.("#mjr-status-body")?.parentElement || t?.closest?.("div"), s = a?.signal || null, c = !!a?.force;
+async function uh(t, n, r = null, i = null, a = null, o = {}) {
+ let s = n?.closest?.("#mjr-status-body")?.parentElement || n?.closest?.("div"), c = o?.signal || null, l = !!o?.force;
try {
- if (!e?.isConnected || !t?.isConnected) return null;
+ if (!t?.isConnected || !n?.isConnected) return null;
} catch (e) {
console.debug?.(e);
}
try {
- if (!c && Mm) return null;
+ if (!l && Lm) return null;
} catch (e) {
console.debug?.(e);
}
- i && typeof i == "object" && (i.lastCode = null, i.lastStatus = null);
- let l = String(r?.scope || "output").toLowerCase(), u = l === "workflow" ? "all" : l, d = r?.customRootId || r?.custom_root_id || r?.root_id || null, f = l === "custom" && !d, m = f ? `${p.HEALTH_COUNTERS}?scope=all` : u === "custom" ? `${p.HEALTH_COUNTERS}?scope=custom&custom_root_id=${encodeURIComponent(String(d || ""))}` : `${p.HEALTH_COUNTERS}?scope=${encodeURIComponent(u || "output")}`, h = !!a?.lightweight, g = !(!c && i && typeof i == "object" && Number(i._scanAuxBackoffUntil || 0) > Date.now()) && (c || !h || !(i && typeof i == "object" && i._auxCached)), _, v, y, b = null;
+ a && typeof a == "object" && (a.lastCode = null, a.lastStatus = null);
+ let u = String(i?.scope || "output").toLowerCase(), d = u === "workflow" ? "all" : u, f = i?.customRootId || i?.custom_root_id || i?.root_id || null, p = u === "custom" && !f, m = p ? `${I.HEALTH_COUNTERS}?scope=all` : d === "custom" ? `${I.HEALTH_COUNTERS}?scope=custom&custom_root_id=${encodeURIComponent(String(f || ""))}` : `${I.HEALTH_COUNTERS}?scope=${encodeURIComponent(d || "output")}`, h = !!o?.lightweight, g = !(!l && a && typeof a == "object" && Number(a._scanAuxBackoffUntil || 0) > Date.now()) && (l || !h || !(a && typeof a == "object" && a._auxCached)), _, v, y, b = null;
if (g) {
- let [e, t, n] = await Promise.all([
- Pe(m, s ? { signal: s } : void 0),
- Pe(p.HEALTH, s ? { signal: s } : void 0),
- Pe(p.HEALTH_DB, s ? { signal: s } : void 0)
+ let [t, n, r] = await Promise.all([
+ Ie(m, c ? { signal: c } : void 0),
+ Ie(I.HEALTH, c ? { signal: c } : void 0),
+ Ie(I.HEALTH_DB, c ? { signal: c } : void 0)
]);
- _ = e, v = t, y = n;
+ _ = t, v = n, y = r;
try {
- let e = await D(s ? { signal: s } : void 0);
- e?.ok && (b = e.data);
+ let t = await e(c ? { signal: c } : void 0);
+ t?.ok && (b = t.data);
} catch (e) {
console.debug?.(e);
}
- i && typeof i == "object" && (i._auxCached = !0, i._healthCache = v, i._dbDiagCache = y, i._toolsCache = b);
- } else _ = await Pe(m, s ? { signal: s } : void 0), v = i?._healthCache || null, y = i?._dbDiagCache || null, b = i?._toolsCache || null;
+ a && typeof a == "object" && (a._auxCached = !0, a._healthCache = v, a._dbDiagCache = y, a._toolsCache = b);
+ } else _ = await Ie(m, c ? { signal: c } : void 0), v = a?._healthCache || null, y = a?._dbDiagCache || null, b = a?._toolsCache || null;
try {
- if (s?.aborted) return null;
+ if (c?.aborted) return null;
} catch (e) {
console.debug?.(e);
}
try {
- if (!e?.isConnected || !t?.isConnected) return null;
+ if (!t?.isConnected || !n?.isConnected) return null;
} catch (e) {
console.debug?.(e);
}
- if (i && typeof i == "object" && (i.lastCode = _?.code || null, i.lastStatus = typeof _?.status == "number" ? _.status : null), _.ok) {
- let r = _.data;
- i && typeof i == "object" && (i._scanAuxBackoffUntil = r?.scan_active ? Date.now() + 3e4 : 0);
- let a = r.total_assets || 0, c = r.with_workflows - 0, u = r.with_generation_data - 0, p = Math.max(0, Number(c || 0) || 0), m = r.last_scan_end, h = m ? new Date(m).toLocaleString() : "N/A", g = r.tool_availability || {}, x = r.tool_paths || {}, S = L("status.dbSize", "Database size: {size}", { size: zm(r.db_size_bytes || 0) }), C = v?.ok && v?.data && v.data.vector || {}, w = C?.enabled !== !1, T = !!C?.loaded, E = !!C?.degraded, D = String(C?.last_error || "").trim(), O = w ? E ? `AI vector: degraded${D ? ` (${D})` : ""}` : T ? "AI vector: loaded" : "AI vector: initializing" : "AI vector: disabled", k = rh(v?.data || null, y?.data || null), A = ih(r, f ? "all" : l), ee = !!(v?.ok && v?.data?.database?.available), j = y?.ok && y?.data?.diagnostics || {}, M = !!j?.malformed, N = !!j?.locked, te = !!j?.maintenance_active;
- Rm(te);
- let ne = Math.max(0, Number(r?.enrichment_queue_length || 0) || 0), P = yn().active || ne > 0;
- vn(P, ne);
- let re = Number(a) > 0, F = !!(r?.last_index_end || r?.last_scan_end), I = re && F, ie = "success";
- te || P ? ie = "info" : !ee || M ? ie = "error" : (N || !I || E) && (ie = "warning");
- let ae = l === "workflow", oe = f && ie !== "error" ? "browser" : ae && ie !== "error" ? "workflow" : ie, se = r.watcher;
+ if (a && typeof a == "object" && (a.lastCode = _?.code || null, a.lastStatus = typeof _?.status == "number" ? _.status : null), _.ok) {
+ let e = _.data;
+ a && typeof a == "object" && (a._scanAuxBackoffUntil = e?.scan_active ? Date.now() + 3e4 : 0);
+ let i = e.total_assets || 0, o = e.with_workflows - 0, l = e.with_generation_data - 0, d = Math.max(0, Number(o || 0) || 0), m = e.last_scan_end, h = m ? new Date(m).toLocaleString() : "N/A", g = e.tool_availability || {}, x = e.tool_paths || {}, S = L("status.dbSize", "Database size: {size}", { size: Wm(e.db_size_bytes || 0) }), C = v?.ok && v?.data && v.data.vector || {}, w = C?.enabled !== !1, T = !!C?.loaded, E = !!C?.degraded, D = String(C?.last_error || "").trim(), O = w ? E ? `AI vector: degraded${D ? ` (${D})` : ""}` : T ? "AI vector: loaded" : "AI vector: initializing" : "AI vector: disabled", k = ch(v?.data || null, y?.data || null), A = lh(e, p ? "all" : u), j = !!(v?.ok && v?.data?.database?.available), M = y?.ok && y?.data?.diagnostics || {}, N = !!M?.malformed, ee = !!M?.locked, te = !!M?.maintenance_active;
+ Um(te);
+ let P = Math.max(0, Number(e?.enrichment_queue_length || 0) || 0), ne = Sn().active || P > 0;
+ xn(ne, P);
+ let re = Number(i) > 0, ie = !!(e?.last_index_end || e?.last_scan_end), F = re && ie, I = "success";
+ te || ne ? I = "info" : !j || N ? I = "error" : (ee || !F || E) && (I = "warning");
+ let ae = u === "workflow", oe = p && I !== "error" ? "browser" : ae && I !== "error" ? "workflow" : I, se = e.watcher;
try {
if (!se || typeof se.enabled != "boolean") {
- let e = await Je(s ? { signal: s } : void 0);
- e?.ok && e.data && (se = {
- enabled: !!e.data.enabled,
- scope: r?.watcher?.scope || l,
- custom_root_id: d || null
+ let t = await Ke(c ? { signal: c } : void 0);
+ t?.ok && t.data && (se = {
+ enabled: !!t.data.enabled,
+ scope: e?.watcher?.scope || u,
+ custom_root_id: f || null
});
}
} catch (e) {
console.debug?.(e);
}
- let ce = ae ? L("status.watcher.disabledScoped", "Watcher: disabled ({scope})", { scope: L("scope.workflow", "Workflow") }) : f ? L("status.watcher.disabledScoped", "Watcher: disabled ({scope})", { scope: L("scope.customBrowser", "Browser") }) : Km(se, l), le = P ? L("status.enrichmentQueue", "Metadata enrichment queue: {count}", { count: ne }) : L("status.enrichmentIdle", "Metadata enrichment: idle");
- $m(n, g, x), eh(n, b, g);
- let ue = l === "all" ? L("scope.allFull", "All (Inputs + Outputs)") : l === "input" ? L("scope.input", "Inputs") : l === "custom" ? L("scope.customBrowser", "Browser") : l === "workflow" ? L("scope.workflow", "Workflow") : L("scope.output", "Outputs");
- return ie === "error" ? (e.style.background = "var(--mjr-status-error, #f44336)", Wm(o, "error"), Um(t, L("status.dbCorrupted", "Database appears corrupted or unavailable."), [
+ let ce = ae ? L("status.watcher.disabledScoped", "Watcher: disabled ({scope})", { scope: L("scope.workflow", "Workflow") }) : p ? L("status.watcher.disabledScoped", "Watcher: disabled ({scope})", { scope: L("scope.customBrowser", "Browser") }) : Zm(se, u), le = ne ? L("status.enrichmentQueue", "Metadata enrichment queue: {count}", { count: P }) : L("status.enrichmentIdle", "Metadata enrichment: idle");
+ ih(r, g, x), ah(r, b, g);
+ let ue = u === "all" ? L("scope.allFull", "All (Inputs + Outputs)") : u === "input" ? L("scope.input", "Inputs") : u === "custom" ? L("scope.customBrowser", "Browser") : u === "workflow" ? L("scope.workflow", "Workflow") : L("scope.output", "Outputs");
+ return I === "error" ? (t.style.background = "var(--mjr-status-error, #f44336)", Ym(s, "error"), Jm(n, L("status.dbCorrupted", "Database appears corrupted or unavailable."), [
k,
A,
S,
ce
- ].filter(Boolean).join(" | ")), r) : f ? (e.style.background = "var(--mjr-status-browser, #26A69A)", Wm(o, "browser"), Um(t, L("status.ready", "Ready"), [L("status.browserMetricsHidden", "Browser mode: global DB/index metrics hidden"), ce].filter(Boolean).join(" | ")), r) : ae ? (e.style.background = "#d481c3", Wm(o, oe), Bm(t, [
- L("status.workflowsIndexed", `${p.toLocaleString()} workflows indexed (${ue})`, {
- count: p.toLocaleString(),
+ ].filter(Boolean).join(" | ")), e) : p ? (t.style.background = "var(--mjr-status-browser, #26A69A)", Ym(s, "browser"), Jm(n, L("status.ready", "Ready"), [L("status.browserMetricsHidden", "Browser mode: global DB/index metrics hidden"), ce].filter(Boolean).join(" | ")), e) : ae ? (t.style.background = "#d481c3", Ym(s, oe), Gm(n, [
+ L("status.workflowsIndexed", `${d.toLocaleString()} workflows indexed (${ue})`, {
+ count: d.toLocaleString(),
scope: ue
}),
- L("status.assetsCountReference", `Asset records in DB: ${a.toLocaleString()}`, { count: a.toLocaleString() }),
+ L("status.assetsCountReference", `Asset records in DB: ${i.toLocaleString()}`, { count: i.toLocaleString() }),
le,
O,
k,
A,
S,
ce
- ], L("status.lastScan", `Last scan: ${h}`, { date: h })), r) : (a === 0 ? (e.style.background = oe === "browser" ? "var(--mjr-status-browser, #26A69A)" : ie === "info" ? "var(--mjr-status-info, #64B5F6)" : ie === "warning" ? "var(--mjr-status-warning, #FFA726)" : "var(--mjr-status-success, #4CAF50)", Wm(o, oe), Um(t, L("status.noAssets", `No assets indexed yet (${ue})`, { scope: ue }), [
+ ], L("status.lastScan", `Last scan: ${h}`, { date: h })), e) : (i === 0 ? (t.style.background = oe === "browser" ? "var(--mjr-status-browser, #26A69A)" : I === "info" ? "var(--mjr-status-info, #64B5F6)" : I === "warning" ? "var(--mjr-status-warning, #FFA726)" : "var(--mjr-status-success, #4CAF50)", Ym(s, oe), Jm(n, L("status.noAssets", `No assets indexed yet (${ue})`, { scope: ue }), [
L("status.clickToScan", "Click the dot to start a scan"),
O,
k,
A,
S,
ce
- ].filter(Boolean).join(" | "))) : (e.style.background = oe === "browser" ? "var(--mjr-status-browser, #26A69A)" : ie === "info" ? "var(--mjr-status-info, #64B5F6)" : ie === "warning" ? "var(--mjr-status-warning, #FFA726)" : "var(--mjr-status-success, #4CAF50)", Wm(o, oe), Bm(t, [
- L("status.assetsIndexed", `${a.toLocaleString()} assets indexed (${ue})`, {
- count: a.toLocaleString(),
+ ].filter(Boolean).join(" | "))) : (t.style.background = oe === "browser" ? "var(--mjr-status-browser, #26A69A)" : I === "info" ? "var(--mjr-status-info, #64B5F6)" : I === "warning" ? "var(--mjr-status-warning, #FFA726)" : "var(--mjr-status-success, #4CAF50)", Ym(s, oe), Gm(n, [
+ L("status.assetsIndexed", `${i.toLocaleString()} assets indexed (${ue})`, {
+ count: i.toLocaleString(),
scope: ue
}),
- dh(r),
- L("status.withWorkflows", `With workflows: ${c} - Generation data: ${u}`, {
- workflows: c,
- gendata: u
+ gh(e),
+ L("status.withWorkflows", `With workflows: ${o} - Generation data: ${l}`, {
+ workflows: o,
+ gendata: l
}),
le,
O,
@@ -12658,34 +12735,34 @@ async function ah(e, t, n = null, r = null, i = null, a = {}) {
A,
S,
ce
- ], L("status.lastScan", `Last scan: ${h}`, { date: h })), Vm(t, Hm(r, {
- totalAssets: a,
- withWorkflows: c,
- withGenerationData: u
- }))), r);
+ ], L("status.lastScan", `Last scan: ${h}`, { date: h })), Km(n, qm(e, {
+ totalAssets: i,
+ withWorkflows: o,
+ withGenerationData: l
+ }))), e);
}
- if ($m(n, {}, {}), eh(n, b), e.style.background = "var(--mjr-status-error, #f44336)", Wm(o, "error"), _?.code === "INVALID_RESPONSE" && _?.status === 404) Um(t, L("status.apiNotFound", "Majoor API endpoints not found (404)"), L("status.apiNotFoundHint", "Backend routes are not loaded. Restart ComfyUI and check the terminal for Majoor import errors."));
+ if (ih(r, {}, {}), ah(r, b), t.style.background = "var(--mjr-status-error, #f44336)", Ym(s, "error"), _?.code === "INVALID_RESPONSE" && _?.status === 404) Jm(n, L("status.apiNotFound", "Majoor API endpoints not found (404)"), L("status.apiNotFoundHint", "Backend routes are not loaded. Restart ComfyUI and check the terminal for Majoor import errors."));
else {
let e = String(_?.error || "").toLowerCase();
- e.includes("malform") || e.includes("corrupt") || e.includes("disk image") ? (Um(t, L("status.dbCorrupted"), L("status.dbCorruptedHint")), globalThis._mjrCorruptToastShown || (globalThis._mjrCorruptToastShown = !0, F(L("toast.resetFailedCorrupt"), "error", 8e3))) : Bm(t, [_.error || L("status.errorChecking", "Error checking status")]);
+ e.includes("malform") || e.includes("corrupt") || e.includes("disk image") ? (Jm(n, L("status.dbCorrupted"), L("status.dbCorruptedHint")), globalThis._mjrCorruptToastShown || (globalThis._mjrCorruptToastShown = !0, x(L("toast.resetFailedCorrupt"), "error", 8e3))) : Gm(n, [_.error || L("status.errorChecking", "Error checking status")]);
}
if (_.code === "SERVICE_UNAVAILABLE") {
- let i = oh(e, t, n, r);
- t.appendChild(document.createElement("br")), t.appendChild(i);
+ let e = dh(t, n, r, i);
+ n.appendChild(document.createElement("br")), n.appendChild(e);
}
return null;
}
-function oh(e, t, n = null, r = null) {
+function dh(e, t, n = null, r = null) {
let i = document.createElement("button");
return i.textContent = L("btn.retryServices"), i.style.cssText = "\n padding: 4px 10px;\n margin-top: 6px;\n font-size: 11px;\n border-radius: 4px;\n border: 1px solid rgba(255,255,255,0.3);\n background: transparent;\n color: white;\n cursor: pointer;\n ", i.onclick = async () => {
i.disabled = !0, i.textContent = L("btn.retrying");
- let a = await me(p.RETRY_SERVICES, {});
- i.disabled = !1, i.textContent = L("btn.retryServices"), a.ok ? ah(e, t, n, r) : (Bm(t, [a.error || L("status.retryFailed", "Retry failed")]), t.appendChild(document.createElement("br")), t.appendChild(i));
+ let a = await he(I.RETRY_SERVICES, {});
+ i.disabled = !1, i.textContent = L("btn.retryServices"), a.ok ? uh(e, t, n, r) : (Gm(t, [a.error || L("status.retryFailed", "Retry failed")]), t.appendChild(document.createElement("br")), t.appendChild(i));
}, i;
}
-function sh() {
+function fh() {
try {
- let e = localStorage?.getItem?.(Fm);
+ let e = localStorage?.getItem?.(Bm);
if (!e) return null;
let t = JSON.parse(e);
return t && typeof t == "object" ? t : null;
@@ -12693,15 +12770,15 @@ function sh() {
return console.debug?.(e), null;
}
}
-function ch(e) {
+function ph(e) {
try {
if (!e || typeof e != "object") return;
- localStorage?.setItem?.(Fm, JSON.stringify(e));
+ localStorage?.setItem?.(Bm, JSON.stringify(e));
} catch (e) {
console.debug?.(e);
}
}
-function lh(e) {
+function mh(e) {
let t = [], n = (e, r = 0) => {
if (!(!e || r > 2)) {
if (typeof e == "number" && Number.isFinite(e)) t.push(e);
@@ -12714,23 +12791,23 @@ function lh(e) {
};
return n(e, 0), t;
}
-function uh(e) {
+function hh(e) {
if (!e || typeof e != "object") return !1;
- if (Mm) return !0;
+ if (Lm) return !0;
try {
- if (yn()?.active) return !0;
+ if (Sn()?.active) return !0;
} catch (e) {
console.debug?.(e);
}
- return lh(e).some((e) => Number(e) > 0);
+ return mh(e).some((e) => Number(e) > 0);
}
-function dh(e) {
+function gh(e) {
let t = [];
e.images && t.push(`Images: ${e.images}`), e.videos && t.push(`Videos: ${e.videos}`), e.audio && t.push(`Audio: ${e.audio}`);
let n = e.model3d || e.by_kind?.model3d || 0;
return n && t.push(`3D: ${n}`), t.length ? t.join(" - ") : "Images: 0 - Videos: 0";
}
-function fh(e) {
+function _h(e) {
if (!e || typeof e != "object") return "";
let t = (e) => e == null ? null : typeof e == "number" ? Number.isFinite(e) ? e : null : typeof e == "boolean" || typeof e == "string" ? e : null;
return JSON.stringify({
@@ -12748,23 +12825,23 @@ function fh(e) {
}
});
}
-function ph(e, t, n) {
- let r = sh();
+function vh(e, t, n) {
+ let r = fh();
if (!r) return !1;
try {
- $m(n, r.tool_availability || {}, r.tool_paths || {});
+ ih(n, r.tool_availability || {}, r.tool_paths || {});
} catch (e) {
console.debug?.(e);
}
try {
- return e.style.background = "var(--mjr-status-info, #64B5F6)", Um(t, L("status.cached", "Last known status"), L("status.checking", "Checking status...")), !0;
+ return e.style.background = "var(--mjr-status-info, #64B5F6)", Jm(t, L("status.cached", "Last known status"), L("status.checking", "Checking status...")), !0;
} catch (e) {
return console.debug?.(e), !1;
}
}
-function mh(e, t, n) {
- let r = fh(t), i = r && r !== String(n?.lastSignature || ""), a = uh(t), o = e || Im.ACTIVE, s = Number(n?.cooldownStablePolls || 0) || 0;
- return a || i ? (o = Im.ACTIVE, s = 0) : o === Im.ACTIVE ? (o = Im.COOLDOWN, s = 0) : o === Im.COOLDOWN ? (s += 1, s >= 3 && (o = Im.IDLE, s = 0)) : (o = i ? Im.ACTIVE : Im.IDLE, s = 0), {
+function yh(e, t, n) {
+ let r = _h(t), i = r && r !== String(n?.lastSignature || ""), a = hh(t), o = e || Vm.ACTIVE, s = Number(n?.cooldownStablePolls || 0) || 0;
+ return a || i ? (o = Vm.ACTIVE, s = 0) : o === Vm.ACTIVE ? (o = Vm.COOLDOWN, s = 0) : o === Vm.COOLDOWN ? (s += 1, s >= 3 && (o = Vm.IDLE, s = 0)) : (o = i ? Vm.ACTIVE : Vm.IDLE, s = 0), {
nextState: o,
signature: r,
hasChange: i,
@@ -12772,14 +12849,14 @@ function mh(e, t, n) {
cooldownStablePolls: s
};
}
-function hh(e, t, n, r = null, i = null, a = null) {
+function bh(e, t, n, r = null, i = null, a = null) {
let o = "__MJR_STATUS_POLL_DISPOSE__", s = {
lastCode: null,
lastStatus: null,
_pollTick: 0,
_auxCached: !1
}, c = {
- mode: Im.ACTIVE,
+ mode: Vm.ACTIVE,
cooldownStablePolls: 0,
lastSignature: ""
}, l = typeof AbortController < "u" ? new AbortController() : null, u = async () => {
@@ -12789,14 +12866,14 @@ function hh(e, t, n, r = null, i = null, a = null) {
console.debug?.(e);
}
s._pollTick = Number(s._pollTick || 0) + 1;
- let n = s._pollTick > 1 && s._pollTick % 4 != 0, o = await ah(e, t, r, typeof a == "function" ? a() : null, s, {
+ let n = s._pollTick > 1 && s._pollTick % 4 != 0, o = await uh(e, t, r, typeof a == "function" ? a() : null, s, {
signal: l?.signal || null,
lightweight: n,
- force: !!Mm || s._pollTick <= 1
+ force: !!Lm || s._pollTick <= 1
});
if (o && typeof o == "object") {
- ch(o);
- let e = mh(c.mode, o, c);
+ ph(o);
+ let e = yh(c.mode, o, c);
c.mode = e.nextState, c.lastSignature = e.signature, c.cooldownStablePolls = e.cooldownStablePolls;
}
if (o && typeof i == "function") try {
@@ -12806,7 +12883,7 @@ function hh(e, t, n, r = null, i = null, a = null) {
}
return o;
};
- ph(e, t, r), u();
+ vh(e, t, r), u();
try {
n._mjrStatusPollDispose?.();
} catch (e) {
@@ -12827,7 +12904,7 @@ function hh(e, t, n, r = null, i = null, a = null) {
}
return 1;
}, h = () => {
- let e = Lm[c.mode] || Math.max(250, Number(R.STATUS_POLL_INTERVAL) || 2e3), t = p ? Math.max(3e4, e) : f > 0 ? Math.min(6e4, Math.round(e * Math.min(8, 1 + f))) : e, r = Math.min(12e4, Math.round(t * m()));
+ let e = Hm[c.mode] || Math.max(250, Number(R.STATUS_POLL_INTERVAL) || 2e3), t = p ? Math.max(3e4, e) : f > 0 ? Math.min(6e4, Math.round(e * Math.min(8, 1 + f))) : e, r = Math.min(12e4, Math.round(t * m()));
d = setTimeout(async () => {
try {
if (l?.signal?.aborted) return;
@@ -12835,7 +12912,7 @@ function hh(e, t, n, r = null, i = null, a = null) {
console.debug?.(e);
}
let e = await u();
- if (p = s.lastCode === "INVALID_RESPONSE" && s.lastStatus === 404, e ? f = 0 : p ? f = Math.min(999, f + 1) : (f = Math.min(999, f + 1), c.mode = Im.ACTIVE, c.cooldownStablePolls = 0), p && f >= 3) try {
+ if (p = s.lastCode === "INVALID_RESPONSE" && s.lastStatus === 404, e ? f = 0 : p ? f = Math.min(999, f + 1) : (f = Math.min(999, f + 1), c.mode = Vm.ACTIVE, c.cooldownStablePolls = 0), p && f >= 3) try {
n._mjrStatusPollDispose?.();
} catch (e) {
console.debug?.(e);
@@ -12858,54 +12935,54 @@ function hh(e, t, n, r = null, i = null, a = null) {
}
h();
for (let i of n.querySelectorAll("#mjr-status-dot, #mjr-status-scan")) i.onclick = (n) => {
- n.stopPropagation(), Zm(e, t, r, typeof a == "function" ? a() : null);
+ n.stopPropagation(), nh(e, t, r, typeof a == "function" ? a() : null);
}, i.title = L("btn.scan", "Scan");
}
// ui/vue/composables/useActiveAsset.ts
-var gh = mr(null), _h = mr(null);
-function vh() {
+var xh = _r(null), Sh = _r(null);
+function Ch() {
return {
- activeAsset: gh,
- onUpdateCallback: _h
+ activeAsset: xh,
+ onUpdateCallback: Sh
};
}
-function yh(e, t) {
- _h.value = typeof t == "function" ? t : null, gh.value = e ?? null;
+function wh(e, t) {
+ Sh.value = typeof t == "function" ? t : null, xh.value = e ?? null;
}
-function bh() {
- gh.value = null, _h.value = null;
+function Th() {
+ xh.value = null, Sh.value = null;
}
-function xh(e, t) {
- if (gh.value && e) {
- gh.value = {
- ...gh.value,
+function Eh(e, t) {
+ if (xh.value && e) {
+ xh.value = {
+ ...xh.value,
...e
};
try {
- let e = t ?? _h.value;
- typeof e == "function" && e(gh.value);
+ let e = t ?? Sh.value;
+ typeof e == "function" && e(xh.value);
} catch {}
}
}
// ui/components/sidebar/SidebarView.ts
-var Sh = 360, Ch = 240, wh = 640;
-function Th() {
+var Dh = 360, Oh = 240, kh = 640;
+function Ah() {
try {
- let e = Mt(), t = Number(e?.sidebar?.widthPx);
- return Number.isFinite(t) ? Math.max(Ch, Math.min(wh, Math.round(t))) : Sh;
+ let e = Ft(), t = Number(e?.sidebar?.widthPx);
+ return Number.isFinite(t) ? Math.max(Oh, Math.min(kh, Math.round(t))) : Dh;
} catch {
- return Sh;
+ return Dh;
}
}
-function Eh(e, t) {
+function jh(e, t) {
if (!e) return;
let n = String(e?.dataset?.position || "right").toLowerCase() === "left", r = "var(--mjr-border, rgba(255,255,255,0.12))";
if (t) {
- let t = `${Th()}px`;
+ let t = `${Ah()}px`;
e.style.flex = `0 0 ${t}`, e.style.width = t, e.style.maxWidth = t, e.style.minWidth = "0", e.style.overflow = "hidden", e.style.borderLeft = n ? "none" : `1px solid ${r}`, e.style.borderRight = n ? `1px solid ${r}` : "none";
} else e.style.flex = "0 0 0px", e.style.width = "0", e.style.maxWidth = "0", e.style.minWidth = "0", e.style.overflow = "hidden", e.style.borderLeft = "none", e.style.borderRight = "none";
}
-function Dh(e) {
+function Mh(e) {
if (e == null) return !1;
let t = e;
if (typeof e == "string") {
@@ -12924,10 +13001,10 @@ function Dh(e) {
}
return !1;
}
-function Oh(e) {
- return e ? !!(e.geninfo || e.prompt || Dh(e.metadata_raw)) : !1;
+function Nh(e) {
+ return e ? !!(e.geninfo || e.prompt || Mh(e.metadata_raw)) : !1;
}
-async function kh(e, t, n) {
+async function Ph(e, t, n) {
if (!e || !t) return;
let r = String(t?.kind || "").toLowerCase() === "folder";
try {
@@ -12936,7 +13013,7 @@ async function kh(e, t, n) {
console.debug?.(e);
}
let i = e._requestSeq = (e._requestSeq || 0) + 1;
- e._currentFetchAbortController?.abort?.(), e._currentFetchAbortController = null, e.classList.add("is-open"), Eh(e, !0), e._currentAsset = t, e._currentFullAsset = t, e._ratingTagsSection = null, yh(t, n);
+ e._currentFetchAbortController?.abort?.(), e._currentFetchAbortController = null, e.classList.add("is-open"), jh(e, !0), e._currentAsset = t, e._currentFullAsset = t, e._ratingTagsSection = null, wh(t, n);
let a = () => {
e._currentFetchAbortController?.abort?.();
let t = typeof AbortController < "u" ? new AbortController() : null;
@@ -12945,7 +13022,7 @@ async function kh(e, t, n) {
e._requestSeq === i && e._currentAsset === t && (e._currentFullAsset = {
...e._currentFullAsset ?? t,
...r
- }, xh(r, n));
+ }, Eh(r, n));
};
(async () => {
if (e._requestSeq !== i || e._currentAsset !== t) return;
@@ -12967,8 +13044,8 @@ async function kh(e, t, n) {
}
let c = () => e._currentFullAsset ?? t;
try {
- if (t.id && !Oh(c())) {
- let e = await Ue(t.id, n);
+ if (t.id && !Nh(c())) {
+ let e = await qe(t.id, n);
if (s?.aborted) return;
e?.ok && e.data && o(e.data);
}
@@ -12976,10 +13053,10 @@ async function kh(e, t, n) {
s?.aborted || console.warn("Failed to load full asset metadata:", e);
}
if (!s?.aborted) {
- if (!Oh(c())) {
+ if (!Nh(c())) {
let e = String(c()?.filename || "").trim(), t = String(c()?.type || "output").trim().toLowerCase(), r = String(c()?.subfolder || "").trim(), i = String(c()?.root_id || c()?.rootId || "").trim();
if (e) try {
- let a = await Ye({
+ let a = await Ze({
type: t,
filename: e,
subfolder: r,
@@ -13005,9 +13082,9 @@ async function kh(e, t, n) {
}
})();
}
-function Ah(e) {
+function Fh(e) {
if (e) {
- e._requestSeq = (e._requestSeq || 0) + 1, e.classList.remove("is-open"), Eh(e, !1), e._currentAsset = null, e._currentFullAsset = null, e._currentFetchAbortController?.abort?.(), e._currentFetchAbortController = null, bh();
+ e._requestSeq = (e._requestSeq || 0) + 1, e.classList.remove("is-open"), jh(e, !1), e._currentAsset = null, e._currentFullAsset = null, e._currentFetchAbortController?.abort?.(), e._currentFetchAbortController = null, Th();
try {
e.dispatchEvent?.(new CustomEvent("mjr:sidebar-closed", { bubbles: !0 }));
} catch (e) {
@@ -13016,14 +13093,14 @@ function Ah(e) {
}
}
// ui/stores/usePanelStore.ts
-var jh = "mjr_panel_state", Mh = /* @__PURE__ */ new Set([
+var Ih = "mjr_panel_state", Lh = /* @__PURE__ */ new Set([
"output",
"input",
"all",
"custom",
"workflow"
]);
-function Nh(e, t = !1) {
+function Rh(e, t = !1) {
if (typeof e == "boolean") return e;
if (typeof e == "string") {
let t = e.trim().toLowerCase();
@@ -13042,71 +13119,71 @@ function Nh(e, t = !1) {
}
return !!t;
}
-function Ph(e, t = 0) {
+function zh(e, t = 0) {
let n = Number(e);
return Number.isFinite(n) ? n : t;
}
-function Fh(e, t = "") {
+function Bh(e, t = "") {
return e == null ? t : String(e);
}
-function Ih(e, t = 0, n = Infinity) {
- return Math.max(t, Math.min(n, Math.floor(Ph(e, t))));
+function Vh(e, t = 0, n = Infinity) {
+ return Math.max(t, Math.min(n, Math.floor(zh(e, t))));
}
-function Lh(e) {
- let t = Fh(e || "output").toLowerCase(), n = t === "outputs" ? "output" : t === "inputs" ? "input" : t;
- return Mh.has(n) ? n : "output";
+function Hh(e) {
+ let t = Bh(e || "output").toLowerCase(), n = t === "outputs" ? "output" : t === "inputs" ? "input" : t;
+ return Lh.has(n) ? n : "output";
}
-function Rh(e) {
+function Uh(e) {
if (!e || typeof e != "object") return {};
let t = e;
return {
- scope: Lh(t.scope),
- customRootId: Fh(t.customRootId),
- customRootLabel: Fh(t.customRootLabel),
- currentFolderRelativePath: Fh(t.currentFolderRelativePath || t.subfolder),
- collectionId: Fh(t.collectionId),
- collectionName: Fh(t.collectionName),
- kindFilter: Fh(t.kindFilter),
- dateRangeFilter: Fh(t.dateRangeFilter),
- dateExactFilter: Fh(t.dateExactFilter),
- workflowOnly: Nh(t.workflowOnly, !1),
- minRating: Ih(t.minRating, 0, 5),
- minSizeMB: Math.max(0, Ph(t.minSizeMB, 0)),
- maxSizeMB: Math.max(0, Ph(t.maxSizeMB, 0)),
+ scope: Hh(t.scope),
+ customRootId: Bh(t.customRootId),
+ customRootLabel: Bh(t.customRootLabel),
+ currentFolderRelativePath: Bh(t.currentFolderRelativePath || t.subfolder),
+ collectionId: Bh(t.collectionId),
+ collectionName: Bh(t.collectionName),
+ kindFilter: Bh(t.kindFilter),
+ dateRangeFilter: Bh(t.dateRangeFilter),
+ dateExactFilter: Bh(t.dateExactFilter),
+ workflowOnly: Rh(t.workflowOnly, !1),
+ minRating: Vh(t.minRating, 0, 5),
+ minSizeMB: Math.max(0, zh(t.minSizeMB, 0)),
+ maxSizeMB: Math.max(0, zh(t.maxSizeMB, 0)),
resolutionCompare: t.resolutionCompare === "lte" ? "lte" : "gte",
- minWidth: Ih(t.minWidth),
- minHeight: Ih(t.minHeight),
- maxWidth: Ih(t.maxWidth),
- maxHeight: Ih(t.maxHeight),
- workflowType: Fh(t.workflowType),
- workflowId: Fh(t.workflowId || t.workflow_id),
- workflowModelFilter: Fh(t.workflowModelFilter || t.workflowModel || t.workflow_model),
- workflowRunsOnFilter: Fh(t.workflowRunsOnFilter || t.workflowRunsOn || t.runs_on),
- sort: Fh(t.sort || "mtime_desc"),
- searchQuery: Fh(t.searchQuery),
+ minWidth: Vh(t.minWidth),
+ minHeight: Vh(t.minHeight),
+ maxWidth: Vh(t.maxWidth),
+ maxHeight: Vh(t.maxHeight),
+ workflowType: Bh(t.workflowType),
+ workflowId: Bh(t.workflowId || t.workflow_id),
+ workflowModelFilter: Bh(t.workflowModelFilter || t.workflowModel || t.workflow_model),
+ workflowRunsOnFilter: Bh(t.workflowRunsOnFilter || t.workflowRunsOn || t.runs_on),
+ sort: Bh(t.sort || "mtime_desc"),
+ searchQuery: Bh(t.searchQuery),
metadataSearchMode: String(t.metadataSearchMode || "AND").toUpperCase() === "OR" ? "OR" : "AND",
- scrollTop: Ih(t.scrollTop),
- activeAssetId: Fh(t.activeAssetId),
- selectedAssetIds: Array.isArray(t.selectedAssetIds) ? t.selectedAssetIds.map((e) => Fh(e).trim()).filter(Boolean).slice(0, 5e3) : [],
- sidebarOpen: Nh(t.sidebarOpen, !1)
+ scrollTop: Vh(t.scrollTop),
+ activeAssetId: Bh(t.activeAssetId),
+ selectedAssetIds: Array.isArray(t.selectedAssetIds) ? t.selectedAssetIds.map((e) => Bh(e).trim()).filter(Boolean).slice(0, 5e3) : [],
+ sidebarOpen: Rh(t.sidebarOpen, !1)
};
}
-function zh() {
+function Wh() {
try {
- let e = localStorage.getItem(jh);
- if (e) return Rh(JSON.parse(e));
+ let e = localStorage.getItem(Ih);
+ if (e) return Uh(JSON.parse(e));
} catch {}
return {};
}
-function Bh(e) {
+function Gh(e) {
try {
let t = { ...e };
- delete t.lastGridCount, delete t.lastGridTotal, delete t.viewScope, delete t.similarResults, delete t.similarTitle, delete t.similarSourceAssetId, localStorage.setItem(jh, JSON.stringify(t));
+ delete t.lastGridCount, delete t.lastGridTotal, delete t.viewScope, delete t.similarResults, delete t.similarTitle, delete t.similarSourceAssetId, localStorage.setItem(Ih, JSON.stringify(t));
} catch {}
}
-var Vh = Sr("mjr-panel", () => {
- let e = zh(), t = Q(e.scope || "output"), n = Q(e.customRootId || ""), r = Q(e.customRootLabel || ""), i = Q(e.currentFolderRelativePath || ""), a = Q(e.collectionId || ""), o = Q(e.collectionName || ""), s = Q(e.kindFilter || ""), c = Q(e.dateRangeFilter || ""), l = Q(e.dateExactFilter || ""), u = Q(e.workflowOnly || !1), d = Q(e.minRating || 0), f = Q(e.minSizeMB || 0), p = Q(e.maxSizeMB || 0), m = Q(e.resolutionCompare || "gte"), h = Q(e.minWidth || 0), g = Q(e.minHeight || 0), _ = Q(e.maxWidth || 0), v = Q(e.maxHeight || 0), y = Q(e.workflowType || ""), b = Q(e.workflowId || ""), x = Q(e.workflowModelFilter || ""), S = Q(e.workflowRunsOnFilter || ""), C = Q(e.sort || "mtime_desc"), w = Q(e.searchQuery || ""), T = Q(e.metadataSearchMode || "AND"), E = Q(e.scrollTop || 0), D = Q(e.activeAssetId || ""), O = Q(e.selectedAssetIds || []), k = Q(e.sidebarOpen || !1), A = Q(0), ee = Q(0), j = Q(""), M = Q([]), N = Q(""), te = Q(""), ne = null;
- or([
+var Kh = Tr("mjr-panel", () => {
+ let e = Wh(), t = Q(e.scope || "output"), n = Q(e.customRootId || ""), r = Q(e.customRootLabel || ""), i = Q(e.currentFolderRelativePath || ""), a = Q(e.collectionId || ""), o = Q(e.collectionName || ""), s = Q(e.kindFilter || ""), c = Q(e.dateRangeFilter || ""), l = Q(e.dateExactFilter || ""), u = Q(e.workflowOnly || !1), d = Q(e.minRating || 0), f = Q(e.minSizeMB || 0), p = Q(e.maxSizeMB || 0), m = Q(e.resolutionCompare || "gte"), h = Q(e.minWidth || 0), g = Q(e.minHeight || 0), _ = Q(e.maxWidth || 0), v = Q(e.maxHeight || 0), y = Q(e.workflowType || ""), b = Q(e.workflowId || ""), x = Q(e.workflowModelFilter || ""), S = Q(e.workflowRunsOnFilter || ""), C = Q(e.sort || "mtime_desc"), w = Q(e.searchQuery || ""), T = Q(e.metadataSearchMode || "AND"), E = Q(e.scrollTop || 0), D = Q(e.activeAssetId || ""), O = Q(e.selectedAssetIds || []), k = Q(e.sidebarOpen || !1), A = Q(0), j = Q(0), M = Q(""), N = Q([]), ee = Q(""), te = Q(""), P = null;
+ lr([
t,
n,
r,
@@ -13137,8 +13214,8 @@ var Vh = Sr("mjr-panel", () => {
O,
k
], () => {
- ne && clearTimeout(ne), ne = setTimeout(() => {
- ne = null, Bh({
+ P && clearTimeout(P), P = setTimeout(() => {
+ P = null, Gh({
scope: t.value,
customRootId: n.value,
customRootLabel: r.value,
@@ -13171,36 +13248,36 @@ var Vh = Sr("mjr-panel", () => {
});
}, 750);
}, { deep: !0 });
- let P = (e) => {
- if (e.key === jh && e.newValue) try {
- let n = Rh(JSON.parse(e.newValue));
+ let ne = (e) => {
+ if (e.key === Ih && e.newValue) try {
+ let n = Uh(JSON.parse(e.newValue));
n.scope !== void 0 && (t.value = n.scope), n.customRootLabel !== void 0 && (r.value = n.customRootLabel), n.searchQuery !== void 0 && (w.value = n.searchQuery), n.metadataSearchMode !== void 0 && (T.value = n.metadataSearchMode), n.sort !== void 0 && (C.value = n.sort), n.sidebarOpen !== void 0 && (k.value = n.sidebarOpen);
} catch {}
};
try {
- window.addEventListener("storage", P);
+ window.addEventListener("storage", ne);
} catch {}
- cr(() => {
+ dr(() => {
try {
- window.removeEventListener("storage", P);
+ window.removeEventListener("storage", ne);
} catch {}
});
function re() {
s.value = "", c.value = "", l.value = "", u.value = !1, d.value = 0, f.value = 0, p.value = 0, m.value = "gte", h.value = 0, g.value = 0, _.value = 0, v.value = 0, y.value = "", b.value = "", x.value = "", S.value = "", w.value = "";
}
- function F() {
+ function ie() {
O.value = [], D.value = "";
}
- function I(e, t = "") {
+ function F(e, t = "") {
O.value = Array.isArray(e) ? e.map(String).filter(Boolean) : [], D.value = t || O.value[0] || "";
}
- function ie(e, s = {}) {
- t.value = e, i.value = s.folder || "", a.value = s.collectionId || "", o.value = s.collectionName || "", n.value = s.customRootId || "", r.value = s.customRootLabel || "", j.value = "", M.value = [], N.value = "", te.value = "", F();
+ function I(e, s = {}) {
+ t.value = e, i.value = s.folder || "", a.value = s.collectionId || "", o.value = s.collectionName || "", n.value = s.customRootId || "", r.value = s.customRootLabel || "", M.value = "", N.value = [], ee.value = "", te.value = "", ie();
}
async function ae() {
let e = String(n.value || "").trim();
if (e) try {
- let a = await Pe("/mjr/am/custom-roots"), o = (Array.isArray(a?.data) ? a.data : []).find((t) => String(t?.id || "") === e);
+ let a = await Ie("/mjr/am/custom-roots"), o = (Array.isArray(a?.data) ? a.data : []).find((t) => String(t?.id || "") === e);
if (!o) {
n.value = "", r.value = "", t.value === "custom" && (t.value = "output", i.value = "");
return;
@@ -13240,29 +13317,29 @@ var Vh = Sr("mjr-panel", () => {
selectedAssetIds: O,
sidebarOpen: k,
lastGridCount: A,
- lastGridTotal: ee,
- viewScope: j,
- similarResults: M,
- similarTitle: N,
+ lastGridTotal: j,
+ viewScope: M,
+ similarResults: N,
+ similarTitle: ee,
similarSourceAssetId: te,
resetFilters: re,
- clearSelection: F,
- setSelection: I,
- navigateToScope: ie,
+ clearSelection: ie,
+ setSelection: F,
+ navigateToScope: I,
validatePersistedCustomRoot: ae
};
});
// ui/stores/getOptionalPanelStore.ts
-function Hh() {
+function qh() {
try {
- return Cr() ? Vh() : null;
+ return Er() ? Kh() : null;
} catch {
return null;
}
}
// ui/stores/panelStateBridge.ts
-function Uh(e, t = []) {
- let n = Hh();
+function Jh(e, t = []) {
+ let n = qh();
return {
panelStore: n,
hydrateStoreFromLegacy: () => {},
@@ -13289,12 +13366,12 @@ function Uh(e, t = []) {
};
}
// ui/features/panel/messages/messageCenter.ts
-var Wh = "mjr_panel_messages_v1", Gh = "mjr_panel_messages_last_read_v1", Kh = "mjr_panel_messages_dismissed_builtin_ids_v1", qh = 120, Jh = "/mjr/am/user-guide", Yh = /* @__PURE__ */ new Set([
+var Yh = "mjr_panel_messages_v1", Xh = "mjr_panel_messages_last_read_v1", Zh = "mjr_panel_messages_dismissed_builtin_ids_v1", Qh = 120, $h = "/mjr/am/user-guide", eg = /* @__PURE__ */ new Set([
"info",
"success",
"warning",
"error"
-]), Xh = "mjr:panel-messages-changed", Zh = !1, Qh = [], $h = Object.freeze([
+]), tg = "mjr:panel-messages-changed", ng = !1, rg = [], ig = Object.freeze([
{
id: "whats-new-2026-07-09-version-2-5-0",
title: "New Version 2.5.0",
@@ -13417,7 +13494,7 @@ var Wh = "mjr_panel_messages_v1", Gh = "mjr_panel_messages_last_read_v1", Kh = "
bodyKey: "msg.whatsNew.body.localUserGuide",
actionLabel: "User Guide",
actionLabelKey: "label.userGuide",
- actionUrl: Jh
+ actionUrl: $h
},
{
id: "tip-2026-04-07-output-folder-override",
@@ -13599,27 +13676,27 @@ var Wh = "mjr_panel_messages_v1", Gh = "mjr_panel_messages_last_read_v1", Kh = "
actionLabelKey: "label.settingsGuide",
actionUrl: "docs/SETTINGS_CONFIGURATION.md"
}
-]), eg = new Set($h.map((e) => String(e?.id || "").trim()).filter(Boolean));
-function tg(e, t = 0) {
+]), ag = new Set(ig.map((e) => String(e?.id || "").trim()).filter(Boolean));
+function og(e, t = 0) {
let n = Number(e);
return Number.isFinite(n) ? n : t;
}
-function ng() {
+function sg() {
return Date.now();
}
-function rg() {
- return Ae(`msg-${ng()}-`, 6);
+function cg() {
+ return be(`msg-${sg()}-`, 6);
}
-function ig(e) {
+function lg(e) {
let t = String(e || "").trim().toLowerCase();
- return t === "warn" ? "warning" : t === "danger" ? "error" : Yh.has(t) ? t : "info";
+ return t === "warn" ? "warning" : t === "danger" ? "error" : eg.has(t) ? t : "info";
}
-function ag(e) {
- return eg.has(String(e || "").trim());
+function ug(e) {
+ return ag.has(String(e || "").trim());
}
-function og(e = {}) {
+function dg(e = {}) {
return {
- id: String(e?.id || "").trim() || rg(),
+ id: String(e?.id || "").trim() || cg(),
title: String(e?.title || "").trim() || "Info",
titleKey: String(e?.titleKey || "").trim(),
emoji: String(e?.emoji || "").trim(),
@@ -13627,14 +13704,14 @@ function og(e = {}) {
bodyKey: String(e?.bodyKey || "").trim(),
category: String(e?.category || "").trim() || "Info",
categoryKey: String(e?.categoryKey || "").trim(),
- createdAt: tg(e?.createdAt, ng()),
- level: ig(e?.level),
+ createdAt: og(e?.createdAt, sg()),
+ level: lg(e?.level),
actionLabel: String(e?.actionLabel || "").trim(),
actionLabelKey: String(e?.actionLabelKey || "").trim(),
actionUrl: String(e?.actionUrl || "").trim()
};
}
-function sg(e, t) {
+function fg(e, t) {
try {
let n = localStorage.getItem(e);
return n ? JSON.parse(n) : t;
@@ -13642,87 +13719,87 @@ function sg(e, t) {
return t;
}
}
-function cg(e, t) {
+function pg(e, t) {
try {
localStorage.setItem(e, JSON.stringify(t));
} catch {}
}
-function lg() {
+function mg() {
try {
- return tg(localStorage.getItem(Gh), 0);
+ return og(localStorage.getItem(Xh), 0);
} catch {
return 0;
}
}
-function ug(e) {
+function hg(e) {
try {
- localStorage.setItem(Gh, String(tg(e, ng())));
+ localStorage.setItem(Xh, String(og(e, sg())));
} catch {}
}
-function dg() {
- let e = sg(Kh, []);
- return new Set((Array.isArray(e) ? e : []).map((e) => String(e || "").trim()).filter((e) => ag(e)));
+function gg() {
+ let e = fg(Zh, []);
+ return new Set((Array.isArray(e) ? e : []).map((e) => String(e || "").trim()).filter((e) => ug(e)));
}
-function fg() {
- Qh.sort((e, t) => Number(t.createdAt || 0) - Number(e.createdAt || 0)), Qh.length > qh && (Qh = Qh.slice(0, qh));
+function _g() {
+ rg.sort((e, t) => Number(t.createdAt || 0) - Number(e.createdAt || 0)), rg.length > Qh && (rg = rg.slice(0, Qh));
}
-function pg() {
- cg(Wh, Qh);
+function vg() {
+ pg(Yh, rg);
}
-function mg() {
- let e = dg(), t = !1;
- for (let n of $h) {
- let r = og(n);
+function yg() {
+ let e = gg(), t = !1;
+ for (let n of ig) {
+ let r = dg(n);
if (e.has(r.id)) continue;
- let i = Qh.findIndex((e) => e.id === r.id);
+ let i = rg.findIndex((e) => e.id === r.id);
if (i < 0) {
- Qh.push(r), t = !0;
+ rg.push(r), t = !0;
continue;
}
- let a = Qh[i], o = {
+ let a = rg[i], o = {
...a,
...r,
- createdAt: tg(a?.createdAt, r.createdAt)
+ createdAt: og(a?.createdAt, r.createdAt)
};
- JSON.stringify(a) !== JSON.stringify(o) && (Qh[i] = o, t = !0);
+ JSON.stringify(a) !== JSON.stringify(o) && (rg[i] = o, t = !0);
}
- return t ? (fg(), pg(), !0) : !1;
+ return t ? (_g(), vg(), !0) : !1;
}
-function hg() {
+function bg() {
try {
- window.dispatchEvent(new CustomEvent(Xh, { detail: {
- total: Qh.length,
- unread: yg()
+ window.dispatchEvent(new CustomEvent(tg, { detail: {
+ total: rg.length,
+ unread: wg()
} }));
} catch (e) {
console.debug?.(e);
}
}
-function gg() {
- if (Zh) return;
- Zh = !0;
- let e = sg(Wh, []);
- Qh = (Array.isArray(e) ? e : []).map(og), fg();
+function xg() {
+ if (ng) return;
+ ng = !0;
+ let e = fg(Yh, []);
+ rg = (Array.isArray(e) ? e : []).map(dg), _g();
}
-function _g() {
- gg(), mg() && hg();
+function Sg() {
+ xg(), yg() && bg();
}
-function vg() {
- return gg(), Qh.map((e) => ({ ...e }));
+function Cg() {
+ return xg(), rg.map((e) => ({ ...e }));
}
-function yg() {
- gg();
- let e = lg();
- return Qh.reduce((t, n) => t + +(Number(n.createdAt || 0) > e), 0);
+function wg() {
+ xg();
+ let e = mg();
+ return rg.reduce((t, n) => t + +(Number(n.createdAt || 0) > e), 0);
}
-function bg() {
- return gg(), lg();
+function Tg() {
+ return xg(), mg();
}
-function xg({ upTo: e = ng() } = {}) {
- gg(), ug(tg(e, ng())), hg();
+function Eg({ upTo: e = sg() } = {}) {
+ xg(), hg(og(e, sg())), bg();
}
// ui/features/panel/messages/shortcutGuide.ts
-var Sg = Object.freeze([
+var Dg = Object.freeze([
{
id: "panel",
titleKey: "msg.shortcuts.section.panel",
@@ -13931,18 +14008,18 @@ var Sg = Object.freeze([
])
}
]);
-function Cg() {
- return Sg.map((e) => ({
+function Og() {
+ return Dg.map((e) => ({
...e,
items: Array.isArray(e.items) ? e.items.map((e) => ({ ...e })) : []
}));
}
-function wg() {
+function kg() {
let e = document.createElement("div");
e.className = "mjr-shortcut-guide";
let t = document.createElement("div");
t.className = "mjr-shortcut-guide-intro", t.textContent = L("msg.shortcuts.intro", "Current keyboard shortcuts grouped by section for quick reference."), e.appendChild(t);
- for (let t of Cg()) {
+ for (let t of Og()) {
let n = document.createElement("section");
n.className = "mjr-shortcut-section";
let r = document.createElement("div");
@@ -13962,18 +14039,18 @@ function wg() {
return e;
}
// ui/features/panel/messages/messagePopoverController.ts
-var Tg = /* @__PURE__ */ new Set([
+var Ag = /* @__PURE__ */ new Set([
"info",
"success",
"warning",
"error"
-]), Eg = 2200, Dg = /* @__PURE__ */ new Set([
+]), jg = 2200, Mg = /* @__PURE__ */ new Set([
"started",
"queued",
"running",
"pending",
"in_progress"
-]), Og = /* @__PURE__ */ new Set([
+]), Ng = /* @__PURE__ */ new Set([
"succeeded",
"success",
"complete",
@@ -13984,7 +14061,7 @@ var Tg = /* @__PURE__ */ new Set([
"cancelled",
"canceled"
]);
-function kg(e) {
+function Pg(e) {
let t = Number(e);
if (!Number.isFinite(t) || t <= 0) return "";
try {
@@ -13999,15 +14076,15 @@ function kg(e) {
return "";
}
}
-function Ag(e, t, n, r) {
+function Fg(e, t, n, r) {
let i = String(e?.[t] || "").trim(), a = String(e?.[n] || r || "").trim() || String(r || "");
return i ? L(i, a) : a;
}
-function jg(e) {
+function Ig(e) {
let t = String(e || "").trim().toLowerCase();
- return t === "warn" ? "warning" : t === "danger" ? "error" : Tg.has(t) ? t : "info";
+ return t === "warn" ? "warning" : t === "danger" ? "error" : Ag.has(t) ? t : "info";
}
-function Mg(e) {
+function Lg(e) {
let t = String(e || "").trim();
if (!t) return "";
try {
@@ -14017,13 +14094,13 @@ function Mg(e) {
return "";
}
}
-function Ng(e) {
+function Rg(e) {
let t = String(e?.emoji || "").trim();
if (t) return t;
- let n = jg(e?.level);
+ let n = Ig(e?.level);
return n === "success" ? "OK" : n === "warning" ? "WARN" : n === "error" ? "ERR" : "INFO";
}
-function Pg(e) {
+function zg(e) {
switch (String(e || "").toLowerCase()) {
case "success": return "OK";
case "warning": return "WARN";
@@ -14031,22 +14108,22 @@ function Pg(e) {
default: return "Tip";
}
}
-function Fg(e) {
+function Bg(e) {
if (e?.persistent) return "persistent";
let t = Number(e?.durationMs);
return !Number.isFinite(t) || t <= 0 ? "" : t < 1e4 ? `${(t / 1e3).toFixed(1)}s` : `${Math.round(t / 1e3)}s`;
}
-function Ig(e) {
+function Vg(e) {
let t = String(e || "").trim().toLowerCase();
return t ? t.replace(/[_-]+/g, " ") : "";
}
-function Lg(e) {
+function Hg(e) {
let t = e?.progress;
if (!t || typeof t != "object") return "";
let n = String(t.label || "").trim(), r = Number(t.current), i = Number(t.total), a = Number(t.indexed), o = Number(t.skipped), s = Number(t.errors), c = [];
return n && c.push(n), Number.isFinite(r) && Number.isFinite(i) && i > 0 && c.push(`${r}/${i}`), Number.isFinite(a) && c.push(`indexed ${a}`), Number.isFinite(o) && c.push(`skipped ${o}`), Number.isFinite(s) && s > 0 && c.push(`errors ${s}`), c.join(" | ");
}
-function Rg(e) {
+function Ug(e) {
let t = e?.progress;
if (!t || typeof t != "object") return null;
let n = Number(t.percent);
@@ -14054,14 +14131,14 @@ function Rg(e) {
let r = Number(t.current), i = Number(t.total);
return Number.isFinite(r) && Number.isFinite(i) && i > 0 ? Math.max(0, Math.min(100, Math.round(r / i * 100))) : null;
}
-function zg(e) {
+function Wg(e) {
return String(e?.trackId || "").trim() || [
String(e?.operation || "").trim(),
String(e?.source || "").trim(),
String(e?.title || "").trim()
].filter(Boolean).join(":");
}
-function Bg({ activeTab: e = "messages", title: t = null, messagePopover: n = null, messageTabBtn: r = null, historyTabBtn: i = null, shortcutsTabBtn: a = null, messageList: o = null, historyPanel: s = null, shortcutsPanel: c = null, markReadBtn: l = null } = {}) {
+function Gg({ activeTab: e = "messages", title: t = null, messagePopover: n = null, messageTabBtn: r = null, historyTabBtn: i = null, shortcutsTabBtn: a = null, messageList: o = null, historyPanel: s = null, shortcutsPanel: c = null, markReadBtn: l = null } = {}) {
let u = e === "messages", d = e === "history", f = e === "shortcuts", p = u ? L("label.messages", "Messages") : d ? L("label.toastHistory", "History") : L("msg.shortcuts.title", "Shortcut Guide");
try {
r?.classList.toggle("is-active", u), r?.setAttribute("aria-selected", u ? "true" : "false"), r?.setAttribute("tabindex", u ? "0" : "-1"), i?.classList.toggle("is-active", d), i?.setAttribute("aria-selected", d ? "true" : "false"), i?.setAttribute("tabindex", d ? "0" : "-1"), a?.classList.toggle("is-active", f), a?.setAttribute("aria-selected", f ? "true" : "false"), a?.setAttribute("tabindex", f ? "0" : "-1");
@@ -14074,8 +14151,8 @@ function Bg({ activeTab: e = "messages", title: t = null, messagePopover: n = nu
console.debug?.(e);
}
}
-function Vg({ messageBtn: e = null, messagePopover: t = null, title: n = null, messageList: r = null, historyTabBtn: i = null, historyTabBadge: a = null, historyTabCount: o = null, historyPanel: s = null, shortcutsPanel: c = null, messageTabBtn: l = null, messageTabBadge: u = null, shortcutsTabBtn: d = null, markReadBtn: f = null, popovers: p = null, onBeforeToggle: h = null, signal: g = null } = {}) {
- _g();
+function Kg({ messageBtn: e = null, messagePopover: t = null, title: r = null, messageList: i = null, historyTabBtn: a = null, historyTabBadge: o = null, historyTabCount: s = null, historyPanel: c = null, shortcutsPanel: l = null, messageTabBtn: u = null, messageTabBadge: d = null, shortcutsTabBtn: f = null, markReadBtn: p = null, popovers: m = null, onBeforeToggle: h = null, signal: g = null } = {}) {
+ Sg();
let _ = "messages", v = !1, y = null, b = /* @__PURE__ */ new Set(), x = () => {
if (y) {
try {
@@ -14087,15 +14164,15 @@ function Vg({ messageBtn: e = null, messagePopover: t = null, title: n = null, m
}
}, S = () => {
if (!v || _ !== "history" || t?.style?.display !== "block") return;
- let e = ie();
+ let e = M();
for (let n of e) {
- let e = zg(n);
+ let e = Wg(n);
if (!e || !b.has(e)) continue;
let r = String(n?.status || "").trim().toLowerCase();
- if (Og.has(r)) {
+ if (Ng.has(r)) {
x(), y = setTimeout(() => {
- y = null, v && _ === "history" && t?.style?.display === "block" && (p?.close?.(t), v = !1, b.clear(), C(), A());
- }, Eg);
+ y = null, v && _ === "history" && t?.style?.display === "block" && (m?.close?.(t), v = !1, b.clear(), C(), A());
+ }, jg);
return;
}
}
@@ -14112,16 +14189,16 @@ function Vg({ messageBtn: e = null, messagePopover: t = null, title: n = null, m
console.debug?.(e);
}
}, w = () => {
- if (!r) return;
- let e = vg(), t = bg();
- if (r.replaceChildren(), !e.length) {
+ if (!i) return;
+ let e = Cg(), t = Tg();
+ if (i.replaceChildren(), !e.length) {
let e = document.createElement("div");
- e.className = "mjr-messages-empty", e.textContent = L("msg.noMessages", "No messages for now."), r.appendChild(e);
+ e.className = "mjr-messages-empty", e.textContent = L("msg.noMessages", "No messages for now."), i.appendChild(e);
} else for (let n of e) {
let e = document.createElement("article");
e.className = "mjr-message-item";
- let i = jg(n?.level);
- e.classList.add(`mjr-message-item--${i}`);
+ let r = Ig(n?.level);
+ e.classList.add(`mjr-message-item--${r}`);
let a = Number(n?.createdAt || 0);
a > Number(t || 0) && e.classList.add("mjr-message-item--unread");
let o = document.createElement("div");
@@ -14129,25 +14206,25 @@ function Vg({ messageBtn: e = null, messagePopover: t = null, title: n = null, m
let s = document.createElement("div");
s.className = "mjr-message-item-title-wrap";
let c = document.createElement("span");
- c.className = "mjr-message-item-emoji", c.textContent = Ng(n), c.setAttribute("aria-hidden", "true");
+ c.className = "mjr-message-item-emoji", c.textContent = Rg(n), c.setAttribute("aria-hidden", "true");
let l = document.createElement("div");
- l.className = "mjr-message-item-title", l.textContent = Ag(n, "titleKey", "title", L("label.info", "Info"));
+ l.className = "mjr-message-item-title", l.textContent = Fg(n, "titleKey", "title", L("label.info", "Info"));
let u = document.createElement("span");
- u.className = "mjr-message-item-category", u.textContent = Ag(n, "categoryKey", "category", L("label.info", "Info")), s.appendChild(c), s.appendChild(l), o.appendChild(s), o.appendChild(u);
+ u.className = "mjr-message-item-category", u.textContent = Fg(n, "categoryKey", "category", L("label.info", "Info")), s.appendChild(c), s.appendChild(l), o.appendChild(s), o.appendChild(u);
let d = document.createElement("div");
- d.className = "mjr-message-item-meta", d.textContent = kg(a);
+ d.className = "mjr-message-item-meta", d.textContent = Pg(a);
let f = document.createElement("div");
- f.className = "mjr-message-item-body", f.textContent = Ag(n, "bodyKey", "body", ""), e.appendChild(o), d.textContent && e.appendChild(d), f.textContent && e.appendChild(f);
- let p = Mg(n?.actionUrl), m = Ag(n, "actionLabelKey", "actionLabel", L("label.readMe", "Read Me"));
+ f.className = "mjr-message-item-body", f.textContent = Fg(n, "bodyKey", "body", ""), e.appendChild(o), d.textContent && e.appendChild(d), f.textContent && e.appendChild(f);
+ let p = Lg(n?.actionUrl), m = Fg(n, "actionLabelKey", "actionLabel", L("label.readMe", "Read Me"));
if (p && m) {
let t = document.createElement("a");
t.className = "mjr-message-item-action", t.href = p, t.target = "_blank", t.rel = "noopener noreferrer", t.textContent = m, e.appendChild(t);
}
- r.appendChild(e);
+ i.appendChild(e);
}
}, T = () => {
- if (!s) return;
- let e = ie(), t = s.querySelector(".mjr-history-list");
+ if (!c) return;
+ let e = M(), t = c.querySelector(".mjr-history-list");
if (!t) {
let e = document.createElement("div");
e.className = "mjr-history-head";
@@ -14155,8 +14232,8 @@ function Vg({ messageBtn: e = null, messagePopover: t = null, title: n = null, m
n.className = "mjr-history-head-label", n.textContent = L("label.recentActivity", "Recent activity");
let r = document.createElement("button");
r.type = "button", r.className = "mjr-btn mjr-history-clear-btn", r.textContent = L("btn.clearHistory", "Clear"), r.title = L("tooltip.clearToastHistory", "Clear toast history"), r.addEventListener("click", (e) => {
- e.stopPropagation(), m(), T();
- }, g ? { signal: g } : void 0), e.appendChild(n), e.appendChild(r), t = document.createElement("div"), t.className = "mjr-history-list", s.replaceChildren(e, t);
+ e.stopPropagation(), ae(), T();
+ }, g ? { signal: g } : void 0), e.appendChild(n), e.appendChild(r), t = document.createElement("div"), t.className = "mjr-history-list", c.replaceChildren(e, t);
}
if (t.replaceChildren(), !e.length) {
let e = document.createElement("div");
@@ -14165,7 +14242,7 @@ function Vg({ messageBtn: e = null, messagePopover: t = null, title: n = null, m
let e = document.createElement("div");
e.className = `mjr-history-item mjr-history-item--${String(n.type || "info")}`;
let r = document.createElement("span");
- r.className = "mjr-history-item-icon", r.textContent = Pg(n.type), r.setAttribute("aria-hidden", "true");
+ r.className = "mjr-history-item-icon", r.textContent = zg(n.type), r.setAttribute("aria-hidden", "true");
let i = document.createElement("div");
i.className = "mjr-history-item-content";
let a = String(n.title || "").trim(), o = String(n.detail || "").trim(), s = String(n.message || "").trim(), c = a || s, l = a && o ? o : a ? "" : o, u = document.createElement("div");
@@ -14175,14 +14252,14 @@ function Vg({ messageBtn: e = null, messagePopover: t = null, title: n = null, m
let f = document.createElement("div");
f.className = "mjr-history-item-meta";
let p = document.createElement("span");
- p.className = "mjr-history-item-time", p.textContent = kg(n.createdAt);
+ p.className = "mjr-history-item-time", p.textContent = Pg(n.createdAt);
let m = document.createElement("span");
- m.className = "mjr-history-item-chip", m.textContent = Fg(n);
+ m.className = "mjr-history-item-chip", m.textContent = Bg(n);
let h = document.createElement("span");
h.className = "mjr-history-item-chip", h.textContent = String(n.source || "").trim();
let g = document.createElement("span");
- g.className = "mjr-history-item-chip", g.textContent = Ig(n.status), i.appendChild(u), d.textContent && i.appendChild(d), p.textContent && f.appendChild(p), m.textContent && f.appendChild(m), g.textContent && f.appendChild(g), h.textContent && f.appendChild(h), f.childNodes.length && i.appendChild(f);
- let _ = Lg(n), v = Rg(n);
+ g.className = "mjr-history-item-chip", g.textContent = Vg(n.status), i.appendChild(u), d.textContent && i.appendChild(d), p.textContent && f.appendChild(p), m.textContent && f.appendChild(m), g.textContent && f.appendChild(g), h.textContent && f.appendChild(h), f.childNodes.length && i.appendChild(f);
+ let _ = Hg(n), v = Ug(n);
if (_ || v !== null) {
let e = document.createElement("div");
if (e.className = "mjr-history-item-progress", _) {
@@ -14197,7 +14274,7 @@ function Vg({ messageBtn: e = null, messagePopover: t = null, title: n = null, m
}
i.appendChild(e);
}
- let y = Mg(n?.actionUrl), b = String(n?.actionLabel || "").trim();
+ let y = Lg(n?.actionUrl), b = String(n?.actionLabel || "").trim();
if (y && b) {
let e = document.createElement("a");
e.className = "mjr-history-item-action", e.href = y, e.target = "_blank", e.rel = "noopener noreferrer", e.textContent = b, i.appendChild(e);
@@ -14209,39 +14286,39 @@ function Vg({ messageBtn: e = null, messagePopover: t = null, title: n = null, m
let n = Math.max(0, Number(t || 0) || 0);
n <= 0 ? (e.style.display = "none", e.textContent = "") : (e.style.display = "inline-flex", e.textContent = n > 99 ? "99+" : String(n));
}, D = () => {
- let e = oe();
- a && (a.style.display = e > 0 ? "inline-block" : "none"), E(o, e);
+ let e = ue();
+ o && (o.style.display = e > 0 ? "inline-block" : "none"), E(s, e);
}, O = () => {
- c && (c.childNodes.length > 0 || c.replaceChildren(wg()));
+ l && (l.childNodes.length > 0 || l.replaceChildren(kg()));
}, k = () => {
- if (!f) return;
- let e = Math.max(0, Number(yg() || 0) || 0);
- f.disabled = e <= 0, f.title = e > 0 ? L("tooltip.markMessagesRead", "Mark all messages as read") : L("tooltip.noUnreadMessages", "No unread messages");
+ if (!p) return;
+ let e = Math.max(0, Number(wg() || 0) || 0);
+ p.disabled = e <= 0, p.title = e > 0 ? L("tooltip.markMessagesRead", "Mark all messages as read") : L("tooltip.noUnreadMessages", "No unread messages");
}, A = () => {
- let t = Math.max(0, Number(yg() || 0) || 0);
+ let t = Math.max(0, Number(wg() || 0) || 0);
if (e) {
let n = e.querySelector(".mjr-message-badge"), r = t > 0 ? L("tooltip.openMessagesUnread", "Messages ({count} unread)", { count: t }) : L("tooltip.openMessages", "Messages and updates");
e.classList.toggle("mjr-message-has-unread", t > 0), e.title = r, e.setAttribute("aria-label", r), n && (t <= 0 ? (n.style.display = "none", n.textContent = "") : (n.style.display = "inline-flex", n.textContent = t > 9 ? "9+" : String(t)));
}
- E(u, t), k();
- }, ee = () => {
+ E(d, t), k();
+ }, j = () => {
A(), D(), t?.style?.display === "block" && (_ === "messages" && w(), _ === "history" && T());
- }, j = g ? { signal: g } : void 0;
+ }, N = g ? { signal: g } : void 0;
try {
- window.addEventListener(Xh, ee, j);
+ window.addEventListener(tg, j, N);
} catch (e) {
console.debug?.(e);
}
try {
- window.addEventListener(ze, () => {
+ window.addEventListener(se, () => {
if (D(), t?.style?.display === "block" && _ === "history" && T(), v) {
- for (let e of ie()) {
- let t = String(e?.status || "").trim().toLowerCase(), n = zg(e);
- n && Dg.has(t) && b.add(n);
+ for (let e of M()) {
+ let t = String(e?.status || "").trim().toLowerCase(), n = Wg(e);
+ n && Mg.has(t) && b.add(n);
}
S();
}
- }, j);
+ }, N);
} catch (e) {
console.debug?.(e);
}
@@ -14250,9 +14327,9 @@ function Vg({ messageBtn: e = null, messagePopover: t = null, title: n = null, m
} catch (e) {
console.debug?.(e);
}
- let M = null;
+ let ee = null;
try {
- typeof MutationObserver < "u" && t && (M = new MutationObserver(C), M.observe(t, {
+ typeof MutationObserver < "u" && t && (ee = new MutationObserver(C), ee.observe(t, {
attributes: !0,
attributeFilter: ["style"]
}));
@@ -14260,85 +14337,85 @@ function Vg({ messageBtn: e = null, messagePopover: t = null, title: n = null, m
console.debug?.(e);
}
try {
- g?.addEventListener?.("abort", () => M?.disconnect?.(), { once: !0 });
+ g?.addEventListener?.("abort", () => ee?.disconnect?.(), { once: !0 });
} catch (e) {
console.debug?.(e);
}
- A(), D(), C(), Bg({
+ A(), D(), C(), Gg({
activeTab: _,
- title: n,
+ title: r,
messagePopover: t,
- messageTabBtn: l,
- historyTabBtn: i,
- shortcutsTabBtn: d,
- messageList: r,
- historyPanel: s,
- shortcutsPanel: c,
- markReadBtn: f
+ messageTabBtn: u,
+ historyTabBtn: a,
+ shortcutsTabBtn: f,
+ messageList: i,
+ historyPanel: c,
+ shortcutsPanel: l,
+ markReadBtn: p
});
- let N = () => {
- _ = "messages", Bg({
+ let te = () => {
+ _ = "messages", Gg({
activeTab: _,
- title: n,
+ title: r,
messagePopover: t,
- messageTabBtn: l,
- historyTabBtn: i,
- shortcutsTabBtn: d,
- messageList: r,
- historyPanel: s,
- shortcutsPanel: c,
- markReadBtn: f
- }), w(), xg(), A();
- }, te = () => {
- _ = "history", Bg({
+ messageTabBtn: u,
+ historyTabBtn: a,
+ shortcutsTabBtn: f,
+ messageList: i,
+ historyPanel: c,
+ shortcutsPanel: l,
+ markReadBtn: p
+ }), w(), Eg(), A();
+ }, P = () => {
+ _ = "history", Gg({
activeTab: _,
- title: n,
+ title: r,
messagePopover: t,
- messageTabBtn: l,
- historyTabBtn: i,
- shortcutsTabBtn: d,
- messageList: r,
- historyPanel: s,
- shortcutsPanel: c,
- markReadBtn: f
- }), T(), ce(), D();
+ messageTabBtn: u,
+ historyTabBtn: a,
+ shortcutsTabBtn: f,
+ messageList: i,
+ historyPanel: c,
+ shortcutsPanel: l,
+ markReadBtn: p
+ }), T(), n(), D();
}, ne = () => {
- _ = "shortcuts", Bg({
+ _ = "shortcuts", Gg({
activeTab: _,
- title: n,
+ title: r,
messagePopover: t,
- messageTabBtn: l,
- historyTabBtn: i,
- shortcutsTabBtn: d,
- messageList: r,
- historyPanel: s,
- shortcutsPanel: c,
- markReadBtn: f
+ messageTabBtn: u,
+ historyTabBtn: a,
+ shortcutsTabBtn: f,
+ messageList: i,
+ historyPanel: c,
+ shortcutsPanel: l,
+ markReadBtn: p
}), O();
- }, P = (e) => {
- e === "messages" ? N() : e === "history" ? te() : ne();
- }, re = () => {
- if (t && p && e) {
+ }, re = (e) => {
+ e === "messages" ? te() : e === "history" ? P() : ne();
+ }, ie = () => {
+ if (t && m && e) {
if (t?.style?.display !== "block") {
try {
typeof h == "function" && h();
} catch (e) {
console.debug?.(e);
}
- p.toggle(t, e);
+ m.toggle(t, e);
}
- te(), v = !0, x(), b.clear();
- for (let e of ie()) {
- let t = String(e?.status || "").trim().toLowerCase(), n = zg(e);
- n && Dg.has(t) && b.add(n);
+ P(), v = !0, x(), b.clear();
+ for (let e of M()) {
+ let t = String(e?.status || "").trim().toLowerCase(), n = Wg(e);
+ n && Mg.has(t) && b.add(n);
}
S(), C(), A();
}
};
try {
window.addEventListener(B.OPEN_MESSAGE_HISTORY, () => {
- re();
- }, j);
+ ie();
+ }, N);
} catch (e) {
console.debug?.(e);
}
@@ -14352,58 +14429,58 @@ function Vg({ messageBtn: e = null, messagePopover: t = null, title: n = null, m
if (n === "arrowright") {
e.preventDefault();
let t = F[(r + 1) % F.length];
- P(t), t === "messages" && l?.focus?.(), t === "history" && i?.focus?.(), t === "shortcuts" && d?.focus?.();
+ re(t), t === "messages" && u?.focus?.(), t === "history" && a?.focus?.(), t === "shortcuts" && f?.focus?.();
} else if (n === "arrowleft") {
e.preventDefault();
let t = F[(r + F.length - 1) % F.length];
- P(t), t === "messages" && l?.focus?.(), t === "history" && i?.focus?.(), t === "shortcuts" && d?.focus?.();
- } else n === "home" ? (e.preventDefault(), N(), l?.focus?.()) : n === "end" ? (e.preventDefault(), ne(), d?.focus?.()) : (n === " " || n === "enter") && (e.preventDefault(), P(t));
+ re(t), t === "messages" && u?.focus?.(), t === "history" && a?.focus?.(), t === "shortcuts" && f?.focus?.();
+ } else n === "home" ? (e.preventDefault(), te(), u?.focus?.()) : n === "end" ? (e.preventDefault(), ne(), f?.focus?.()) : (n === " " || n === "enter") && (e.preventDefault(), re(t));
}
};
- return e?.addEventListener("click", (a) => {
- if (t && p && e) {
- a.stopPropagation(), v = !1, b.clear(), x(), _ = "messages", w(), O(), Bg({
+ return e?.addEventListener("click", (n) => {
+ if (t && m && e) {
+ n.stopPropagation(), v = !1, b.clear(), x(), _ = "messages", w(), O(), Gg({
activeTab: _,
- title: n,
+ title: r,
messagePopover: t,
- messageTabBtn: l,
- historyTabBtn: i,
- shortcutsTabBtn: d,
- messageList: r,
- historyPanel: s,
- shortcutsPanel: c,
- markReadBtn: f
+ messageTabBtn: u,
+ historyTabBtn: a,
+ shortcutsTabBtn: f,
+ messageList: i,
+ historyPanel: c,
+ shortcutsPanel: l,
+ markReadBtn: p
});
try {
typeof h == "function" && h();
} catch (e) {
console.debug?.(e);
}
- p.toggle(t, e), t?.style?.display === "block" && xg(), C(), A();
+ m.toggle(t, e), t?.style?.display === "block" && Eg(), C(), A();
}
- }, j), l?.addEventListener("click", (e) => {
- e.preventDefault(), e.stopPropagation(), N();
- }, j), l?.addEventListener("keydown", (e) => I(e, "messages"), j), i?.addEventListener("click", (e) => {
- e.preventDefault(), e.stopPropagation(), v = !1, b.clear(), x(), te();
- }, j), i?.addEventListener("keydown", (e) => I(e, "history"), j), d?.addEventListener("click", (e) => {
+ }, N), u?.addEventListener("click", (e) => {
+ e.preventDefault(), e.stopPropagation(), te();
+ }, N), u?.addEventListener("keydown", (e) => I(e, "messages"), N), a?.addEventListener("click", (e) => {
+ e.preventDefault(), e.stopPropagation(), v = !1, b.clear(), x(), P();
+ }, N), a?.addEventListener("keydown", (e) => I(e, "history"), N), f?.addEventListener("click", (e) => {
e.preventDefault(), e.stopPropagation(), ne();
- }, j), d?.addEventListener("keydown", (e) => I(e, "shortcuts"), j), f?.addEventListener("click", (e) => {
- e.preventDefault(), e.stopPropagation(), xg(), w(), A();
- }, j), {
- refresh: ee,
+ }, N), f?.addEventListener("keydown", (e) => I(e, "shortcuts"), N), p?.addEventListener("click", (e) => {
+ e.preventDefault(), e.stopPropagation(), Eg(), w(), A();
+ }, N), {
+ refresh: j,
render: w,
updateButtonState: A,
- showMessagesTab: N,
- showHistoryTab: te,
+ showMessagesTab: te,
+ showHistoryTab: P,
showShortcutsTab: ne,
- openHistoryPopover: re,
+ openHistoryPopover: ie,
close: () => {
- t && p && (p.close(t), v = !1, b.clear(), x(), C());
+ t && m && (m.close(t), v = !1, b.clear(), x(), C());
}
};
}
// ui/features/panel/controllers/query.ts
-function Hg(e) {
+function qg(e) {
let t = e;
for (let e = 0; e < 3 && t && typeof t == "object" && "value" in t; e += 1) {
let e = t.value;
@@ -14412,8 +14489,8 @@ function Hg(e) {
}
return t;
}
-function Ug(e) {
- let t = Hg(e);
+function Jg(e) {
+ let t = qg(e);
if (!t) return null;
let n = String(t?.tagName || "").toUpperCase();
if (n === "INPUT" || n === "TEXTAREA") return t;
@@ -14427,13 +14504,13 @@ function Ug(e) {
}
return null;
}
-function Wg(e) {
- let t = Ug(e), n = t ? t.value : typeof e?.value == "string" ? e.value : "";
+function Yg(e) {
+ let t = Jg(e), n = t ? t.value : typeof e?.value == "string" ? e.value : "";
return String(n || "").trim() || "*";
}
// ui/features/panel/controllers/gridController.ts
-function Gg({ gridContainer: e, loadAssets: t, loadAssetsFromList: n, getCollectionAssets: i, disposeGrid: a, getQuery: o, searchInputEl: s, state: c }) {
- let { read: l, write: u } = Uh(c, /* @__PURE__ */ "scope.customRootId.currentFolderRelativePath.kindFilter.workflowOnly.minRating.minSizeMB.maxSizeMB.resolutionCompare.minWidth.minHeight.maxWidth.maxHeight.workflowType.workflowId.workflowModelFilter.workflowRunsOnFilter.dateRangeFilter.dateExactFilter.sort.activeAssetId.selectedAssetIds.collectionId.collectionName.viewScope.similarResults.similarTitle.similarSourceAssetId.lastGridCount.lastGridTotal".split(".")), d = !1, f = !1, p = {}, m = 0, h = 0, g = 3e4, _ = async (e, t = g) => {
+function Xg({ gridContainer: e, loadAssets: t, loadAssetsFromList: n, getCollectionAssets: r, disposeGrid: i, getQuery: a, searchInputEl: o, state: s }) {
+ let { read: c, write: l } = Jh(s, /* @__PURE__ */ "scope.customRootId.currentFolderRelativePath.kindFilter.workflowOnly.minRating.minSizeMB.maxSizeMB.resolutionCompare.minWidth.minHeight.maxWidth.maxHeight.workflowType.workflowId.workflowModelFilter.workflowRunsOnFilter.dateRangeFilter.dateExactFilter.sort.activeAssetId.selectedAssetIds.collectionId.collectionName.viewScope.similarResults.similarTitle.similarSourceAssetId.lastGridCount.lastGridTotal".split(".")), u = !1, d = !1, f = {}, p = 0, h = 0, g = 3e4, _ = async (e, t = g) => {
let n = null;
try {
let r = new Promise((e, r) => {
@@ -14448,13 +14525,13 @@ function Gg({ gridContainer: e, loadAssets: t, loadAssetsFromList: n, getCollect
}
}, v = () => {
try {
- return s?.dataset?.mjrSemanticMode === "1";
+ return o?.dataset?.mjrSemanticMode === "1";
} catch {
return !1;
}
}, y = () => {
try {
- return !!(Mt()?.ai?.vectorSearchEnabled ?? !0);
+ return !!(Ft()?.ai?.vectorSearchEnabled ?? !0);
} catch {
return !0;
}
@@ -14467,44 +14544,44 @@ function Gg({ gridContainer: e, loadAssets: t, loadAssetsFromList: n, getCollect
} catch {
return String(t || "").trim();
}
- }, x = (e = []) => !Array.isArray(e) || e.length === 0 ? !1 : e.some((e) => {
+ }, S = (e = []) => !Array.isArray(e) || e.length === 0 ? !1 : e.some((e) => {
if (String(e?._matchType || e?.matchType || "").trim().toLowerCase().includes("semantic")) return !0;
let t = Number(e?._vectorScore ?? e?.vectorScore ?? NaN);
return Number.isFinite(t) && t > 0;
- }), S = () => {
- let e = String(l("currentFolderRelativePath", "") || "").trim();
+ }), C = () => {
+ let e = String(c("currentFolderRelativePath", "") || "").trim();
return {
- subfolder: (l("scope", "output") !== "custom" || l("customRootId", "")) && e ? e : null,
- kind: l("kindFilter", "") || null,
- hasWorkflow: l("workflowOnly", !1) ? !0 : null,
- minRating: Number(l("minRating", 0) || 0) > 0 ? Number(l("minRating", 0) || 0) : null,
- minSizeMB: Number(l("minSizeMB", 0) || 0) > 0 ? Number(l("minSizeMB", 0) || 0) : null,
- maxSizeMB: Number(l("maxSizeMB", 0) || 0) > 0 ? Number(l("maxSizeMB", 0) || 0) : null,
- minWidth: Number(l("minWidth", 0) || 0) > 0 ? Number(l("minWidth", 0) || 0) : null,
- minHeight: Number(l("minHeight", 0) || 0) > 0 ? Number(l("minHeight", 0) || 0) : null,
- maxWidth: Number(l("maxWidth", 0) || 0) > 0 ? Number(l("maxWidth", 0) || 0) : null,
- maxHeight: Number(l("maxHeight", 0) || 0) > 0 ? Number(l("maxHeight", 0) || 0) : null,
- workflowType: String(l("workflowType", "") || "").trim().toUpperCase() || null,
- workflowId: String(l("workflowId", "") || "").trim() || null,
- workflowModel: String(l("workflowModelFilter", "") || "").trim() || null,
- runsOn: String(l("workflowRunsOnFilter", "") || "").trim().toLowerCase() || null,
- dateRange: String(l("dateRangeFilter", "") || "").trim().toLowerCase() || null,
- dateExact: String(l("dateExactFilter", "") || "").trim() || null
+ subfolder: (c("scope", "output") !== "custom" || c("customRootId", "")) && e ? e : null,
+ kind: c("kindFilter", "") || null,
+ hasWorkflow: c("workflowOnly", !1) ? !0 : null,
+ minRating: Number(c("minRating", 0) || 0) > 0 ? Number(c("minRating", 0) || 0) : null,
+ minSizeMB: Number(c("minSizeMB", 0) || 0) > 0 ? Number(c("minSizeMB", 0) || 0) : null,
+ maxSizeMB: Number(c("maxSizeMB", 0) || 0) > 0 ? Number(c("maxSizeMB", 0) || 0) : null,
+ minWidth: Number(c("minWidth", 0) || 0) > 0 ? Number(c("minWidth", 0) || 0) : null,
+ minHeight: Number(c("minHeight", 0) || 0) > 0 ? Number(c("minHeight", 0) || 0) : null,
+ maxWidth: Number(c("maxWidth", 0) || 0) > 0 ? Number(c("maxWidth", 0) || 0) : null,
+ maxHeight: Number(c("maxHeight", 0) || 0) > 0 ? Number(c("maxHeight", 0) || 0) : null,
+ workflowType: String(c("workflowType", "") || "").trim().toUpperCase() || null,
+ workflowId: String(c("workflowId", "") || "").trim() || null,
+ workflowModel: String(c("workflowModelFilter", "") || "").trim() || null,
+ runsOn: String(c("workflowRunsOnFilter", "") || "").trim().toLowerCase() || null,
+ dateRange: String(c("dateRangeFilter", "") || "").trim().toLowerCase() || null,
+ dateExact: String(c("dateExactFilter", "") || "").trim() || null
};
- }, C = async (e = "") => {
+ }, w = async (e = "") => {
let t = Date.now();
if (t - Number(h || 0) < 15e3) return;
h = t;
try {
- let e = await r();
+ let e = await m();
if (e?.ok && e?.data) {
let t = Number(e.data?.total || 0) || 0, n = Number(e.data?.eligible_total || 0) || 0, r = Number(e.data?.coverage_ratio ?? NaN);
if (t <= 10) {
- F(L("toast.aiSearchNeedsBackfill", "AI search index is almost empty ({count} vectors). Run Enrich, then Vector Backfill for existing assets.", { count: t }), "warn", 6500);
+ x(L("toast.aiSearchNeedsBackfill", "AI search index is almost empty ({count} vectors). Run Enrich, then Vector Backfill for existing assets.", { count: t }), "warn", 6500);
return;
}
if (n > 0 && Number.isFinite(r) && r > 0 && r < .75) {
- F(L("toast.aiSearchPartiallyIndexed", "AI search index is only partially built ({indexed}/{eligible}, {percent}%). Run Vector Backfill for existing assets.", {
+ x(L("toast.aiSearchPartiallyIndexed", "AI search index is only partially built ({indexed}/{eligible}, {percent}%). Run Vector Backfill for existing assets.", {
indexed: t,
eligible: n,
percent: Math.round(r * 100)
@@ -14514,24 +14591,24 @@ function Gg({ gridContainer: e, loadAssets: t, loadAssetsFromList: n, getCollect
}
} catch {}
let n = b(e, L("toast.aiSearchUnavailable", "AI search is currently unavailable. Falling back to normal search."));
- F(n, "warn", 5200);
- }, w = async (r, i = {}) => {
+ x(n, "warn", 5200);
+ }, T = async (r, i = {}) => {
let a = String(r || "").trim(), o = /^ai:\s*/i.test(a);
o && (a = a.replace(/^ai:\s*/i, "").trim());
- let s = y(), c = s && v();
+ let s = y(), l = s && v();
if (!s) return await t(e, a || "*", i);
- let u = c || o, d = !1, f = "";
+ let u = l || o, d = !1, f = "";
if (u && a && a !== "*") {
d = !0;
- let t = S();
+ let t = C();
try {
- let r = await He(a, {
+ let r = await me(a, {
topK: 100,
- scope: l("scope", "output") || "output",
- customRootId: l("customRootId", "") || "",
+ scope: c("scope", "output") || "output",
+ customRootId: c("customRootId", "") || "",
...t
});
- if (r?.ok && Array.isArray(r.data) && r.data.length > 0 && x(r.data)) return await n(e, r.data, {
+ if (r?.ok && Array.isArray(r.data) && r.data.length > 0 && S(r.data)) return await n(e, r.data, {
title: `AI Search: "${a}" (${r.data.length} results)`,
reset: !0,
...i
@@ -14541,10 +14618,10 @@ function Gg({ gridContainer: e, loadAssets: t, loadAssetsFromList: n, getCollect
f = b(e, f), console.debug?.("[Majoor] Hybrid search failed, trying pure semantic", e);
}
try {
- let r = await rt(a, {
+ let r = await ie(a, {
topK: 100,
- scope: l("scope", "output") || "output",
- customRootId: l("customRootId", "") || "",
+ scope: c("scope", "output") || "output",
+ customRootId: c("customRootId", "") || "",
...t
});
if (r?.ok && Array.isArray(r.data) && r.data.length > 0) return await n(e, r.data, {
@@ -14558,44 +14635,44 @@ function Gg({ gridContainer: e, loadAssets: t, loadAssetsFromList: n, getCollect
}
}
let p = await t(e, a || "*", i);
- return d && f && (Number(p?.count || 0) || 0) === 0 && C(f), p;
- }, T = async (t = {}) => {
- let r = String(e.dataset.mjrViewScope || "").trim().toLowerCase(), a = String(l("viewScope", c?.viewScope || "") || "").trim().toLowerCase();
- e.dataset.mjrScope = l("scope", "output"), e.dataset.mjrViewScope = a, e.dataset.mjrCustomRootId = l("customRootId", "") || "";
- let s = l("currentFolderRelativePath", "") || "";
- e.dataset.mjrSubfolder = s, e.dataset.mjrFilterKind = l("kindFilter", "") || "", e.dataset.mjrFilterWorkflowOnly = l("workflowOnly", !1) ? "1" : "0", e.dataset.mjrFilterMinRating = String(l("minRating", 0) || 0), e.dataset.mjrFilterMinSizeMB = String(l("minSizeMB", 0) || 0), e.dataset.mjrFilterMaxSizeMB = String(l("maxSizeMB", 0) || 0), e.dataset.mjrFilterResolutionCompare = String(l("resolutionCompare", "gte") || "gte"), e.dataset.mjrFilterMinWidth = String(l("minWidth", 0) || 0), e.dataset.mjrFilterMinHeight = String(l("minHeight", 0) || 0), e.dataset.mjrFilterMaxWidth = String(l("maxWidth", 0) || 0), e.dataset.mjrFilterMaxHeight = String(l("maxHeight", 0) || 0), e.dataset.mjrFilterWorkflowType = String(l("workflowType", "") || ""), e.dataset.mjrFilterWorkflowId = String(l("workflowId", "") || ""), e.dataset.mjrFilterWorkflowModel = String(l("workflowModelFilter", "") || ""), e.dataset.mjrFilterWorkflowRunsOn = String(l("workflowRunsOnFilter", "") || ""), e.dataset.mjrFilterDateRange = l("dateRangeFilter", "") || "", e.dataset.mjrFilterDateExact = l("dateExactFilter", "") || "", e.dataset.mjrSort = l("sort", "mtime_desc") || "mtime_desc", e.dataset.mjrCollectionId = l("collectionId", "") || "", e.dataset.mjrSemanticMode = v() ? "1" : "0";
+ return d && f && (Number(p?.count || 0) || 0) === 0 && w(f), p;
+ }, E = async (t = {}) => {
+ let i = String(e.dataset.mjrViewScope || "").trim().toLowerCase(), o = String(c("viewScope", s?.viewScope || "") || "").trim().toLowerCase();
+ e.dataset.mjrScope = c("scope", "output"), e.dataset.mjrViewScope = o, e.dataset.mjrCustomRootId = c("customRootId", "") || "";
+ let u = c("currentFolderRelativePath", "") || "";
+ e.dataset.mjrSubfolder = u, e.dataset.mjrFilterKind = c("kindFilter", "") || "", e.dataset.mjrFilterWorkflowOnly = c("workflowOnly", !1) ? "1" : "0", e.dataset.mjrFilterMinRating = String(c("minRating", 0) || 0), e.dataset.mjrFilterMinSizeMB = String(c("minSizeMB", 0) || 0), e.dataset.mjrFilterMaxSizeMB = String(c("maxSizeMB", 0) || 0), e.dataset.mjrFilterResolutionCompare = String(c("resolutionCompare", "gte") || "gte"), e.dataset.mjrFilterMinWidth = String(c("minWidth", 0) || 0), e.dataset.mjrFilterMinHeight = String(c("minHeight", 0) || 0), e.dataset.mjrFilterMaxWidth = String(c("maxWidth", 0) || 0), e.dataset.mjrFilterMaxHeight = String(c("maxHeight", 0) || 0), e.dataset.mjrFilterWorkflowType = String(c("workflowType", "") || ""), e.dataset.mjrFilterWorkflowId = String(c("workflowId", "") || ""), e.dataset.mjrFilterWorkflowModel = String(c("workflowModelFilter", "") || ""), e.dataset.mjrFilterWorkflowRunsOn = String(c("workflowRunsOnFilter", "") || ""), e.dataset.mjrFilterDateRange = c("dateRangeFilter", "") || "", e.dataset.mjrFilterDateExact = c("dateExactFilter", "") || "", e.dataset.mjrSort = c("sort", "mtime_desc") || "mtime_desc", e.dataset.mjrCollectionId = c("collectionId", "") || "", e.dataset.mjrSemanticMode = v() ? "1" : "0";
try {
- e.dataset.mjrQuery = String(o?.() ?? "*") || "*";
+ e.dataset.mjrQuery = String(a?.() ?? "*") || "*";
} catch (e) {
console.debug?.(e);
}
- e.dataset.mjrGroupStacks = R.EXECUTION_GROUPING_ENABLED && (l("scope", "output") === "output" || l("scope", "output") === "all") ? "1" : "0";
+ e.dataset.mjrGroupStacks = R.EXECUTION_GROUPING_ENABLED && (c("scope", "output") === "output" || c("scope", "output") === "all") ? "1" : "0";
try {
- let t = Array.isArray(l("selectedAssetIds", [])) ? l("selectedAssetIds", []).filter(Boolean).map(String) : [];
- t.length ? (e.dataset.mjrSelectedAssetIds = JSON.stringify(t), e.dataset.mjrSelectedAssetId = String(l("activeAssetId", "") || t[0] || "")) : (delete e.dataset.mjrSelectedAssetIds, delete e.dataset.mjrSelectedAssetId);
+ let t = Array.isArray(c("selectedAssetIds", [])) ? c("selectedAssetIds", []).filter(Boolean).map(String) : [];
+ t.length ? (e.dataset.mjrSelectedAssetIds = JSON.stringify(t), e.dataset.mjrSelectedAssetId = String(c("activeAssetId", "") || t[0] || "")) : (delete e.dataset.mjrSelectedAssetIds, delete e.dataset.mjrSelectedAssetId);
} catch (e) {
console.debug?.(e);
}
- if (l("scope", "output") === "custom" && !l("customRootId", "") && !l("currentFolderRelativePath", "") && u("currentFolderRelativePath", ""), l("collectionId", "")) {
- let t = await i?.(l("collectionId", ""));
+ if (c("scope", "output") === "custom" && !c("customRootId", "") && !c("currentFolderRelativePath", "") && l("currentFolderRelativePath", ""), c("collectionId", "")) {
+ let t = await r?.(c("collectionId", ""));
if (t?.ok && t.data && Array.isArray(t.data.assets)) {
- let r = l("collectionName", "") ? `Collection: ${l("collectionName", "")}` : "Collection", i = await n(e, t.data.assets, {
+ let r = c("collectionName", "") ? `Collection: ${c("collectionName", "")}` : "Collection", i = await n(e, t.data.assets, {
title: r,
reset: !0
});
try {
- u("lastGridCount", Number(i?.count || 0) || 0), u("lastGridTotal", Number(i?.total || 0) || 0), e.dispatchEvent?.(new CustomEvent("mjr:grid-stats", { detail: i || {} }));
+ l("lastGridCount", Number(i?.count || 0) || 0), l("lastGridTotal", Number(i?.total || 0) || 0), e.dispatchEvent?.(new CustomEvent("mjr:grid-stats", { detail: i || {} }));
} catch (e) {
console.debug?.(e);
}
return;
}
- u("collectionId", ""), u("collectionName", "");
+ l("collectionId", ""), l("collectionName", "");
}
- let d = a;
+ let d = o;
if (d === "similar") {
- let r = Array.isArray(l("similarResults", [])) ? l("similarResults", []) : [], i = Array.isArray(c?.similarResults) ? c.similarResults : [], a = r.length > 0 ? r : i, o = String(l("similarSourceAssetId", c?.similarSourceAssetId || "") || "").trim(), s = await n(e, a, {
- title: String(l("similarTitle", c?.similarTitle || "") || L("search.similarResults", "Similar to asset #{id} ({n} results)", {
+ let r = Array.isArray(c("similarResults", [])) ? c("similarResults", []) : [], i = Array.isArray(s?.similarResults) ? s.similarResults : [], a = r.length > 0 ? r : i, o = String(c("similarSourceAssetId", s?.similarSourceAssetId || "") || "").trim(), u = await n(e, a, {
+ title: String(c("similarTitle", s?.similarTitle || "") || L("search.similarResults", "Similar to asset #{id} ({n} results)", {
id: o || "?",
n: a.length
})).trim() || "Similar",
@@ -14603,13 +14680,13 @@ function Gg({ gridContainer: e, loadAssets: t, loadAssetsFromList: n, getCollect
...t
});
try {
- u("lastGridCount", Number(s?.count || 0) || 0), u("lastGridTotal", Number(s?.total || 0) || 0), e.dispatchEvent?.(new CustomEvent("mjr:grid-stats", { detail: s || {} }));
+ l("lastGridCount", Number(u?.count || 0) || 0), l("lastGridTotal", Number(u?.total || 0) || 0), e.dispatchEvent?.(new CustomEvent("mjr:grid-stats", { detail: u || {} }));
} catch (e) {
console.debug?.(e);
}
return;
}
- let f = r === "similar" && d !== "similar", p = await w(o(), {
+ let f = i === "similar" && d !== "similar", p = await T(a(), {
...t,
preserveVisibleUntilReady: t.preserveVisibleUntilReady ?? !f
});
@@ -14620,46 +14697,46 @@ function Gg({ gridContainer: e, loadAssets: t, loadAssetsFromList: n, getCollect
console.debug?.(e);
}
try {
- u("lastGridCount", Number(p?.count || 0) || 0), u("lastGridTotal", Number(p?.total || 0) || 0), e.dispatchEvent?.(new CustomEvent("mjr:grid-stats", { detail: p || {} }));
+ l("lastGridCount", Number(p?.count || 0) || 0), l("lastGridTotal", Number(p?.total || 0) || 0), e.dispatchEvent?.(new CustomEvent("mjr:grid-stats", { detail: p || {} }));
} catch (e) {
console.debug?.(e);
}
- }, E = null, D = async () => {
- if (f = !0, !d) {
- d = !0;
+ }, D = null, O = async () => {
+ if (d = !0, !u) {
+ u = !0;
try {
- for (; f;) {
- let e = { ...p || {} };
- p = {}, f = !1;
+ for (; d;) {
+ let e = { ...f || {} };
+ f = {}, d = !1;
try {
- let t = y() && (v() || String(o?.() || "").length >= 12);
- await _(() => T(e), t ? 15e4 : g);
+ let t = y() && (v() || String(a?.() || "").length >= 12);
+ await _(() => E(e), t ? 15e4 : g);
} catch (e) {
try {
let t = Date.now();
- t - Number(m || 0) > 2e3 && (m = t, console.warn("[Majoor] Grid reload failed", e));
+ t - Number(p || 0) > 2e3 && (p = t, console.warn("[Majoor] Grid reload failed", e));
} catch (e) {
console.debug?.(e);
}
}
}
} finally {
- d = !1;
+ u = !1;
}
}
};
return { reloadGrid: (e = {}) => new Promise((t, n) => {
- p = {
- ...p || {},
+ f = {
+ ...f || {},
...e || {}
- }, E && clearTimeout(E), E = setTimeout(() => {
- E = null, D().then(t).catch(n);
+ }, D && clearTimeout(D), D = setTimeout(() => {
+ D = null, O().then(t).catch(n);
}, 30);
}) };
}
// ui/features/panel/controllers/browserNavigationController.ts
-function Kg({ state: e, gridContainer: t, folderBreadcrumb: n, folderBreadcrumbController: r = null, customSelect: i, reloadGrid: a, clearSelection: o = null, onContextChanged: s = null, lifecycleSignal: c = null } = {}) {
- let { read: l, write: u } = Uh(e, [
+function Zg({ state: e, gridContainer: t, folderBreadcrumb: n, folderBreadcrumbController: r = null, customSelect: i, reloadGrid: a, clearSelection: o = null, onContextChanged: s = null, lifecycleSignal: c = null } = {}) {
+ let { read: l, write: u } = Jh(e, [
"scope",
"customRootId",
"currentFolderRelativePath"
@@ -14892,8 +14969,8 @@ function Kg({ state: e, gridContainer: t, folderBreadcrumb: n, folderBreadcrumbC
};
}
// ui/features/panel/controllers/scopeController.ts
-function qg({ state: e, tabButtons: t, customMenuBtn: n, customPopover: r, popovers: i, reloadGrid: a, reconcileSelection: o = null, onChanged: s = null, onScopeChanged: c = null, onBeforeReload: l = null }) {
- let u = 0, { panelStore: d, read: f, write: p, controllerState: m } = Uh(e, [
+function Qg({ state: e, tabButtons: t, customMenuBtn: n, customPopover: r, popovers: i, reloadGrid: a, reconcileSelection: o = null, onChanged: s = null, onScopeChanged: c = null, onBeforeReload: l = null }) {
+ let u = 0, { panelStore: d, read: f, write: p, controllerState: m } = Jh(e, [
"scope",
"customRootId",
"currentFolderRelativePath",
@@ -15008,33 +15085,33 @@ function qg({ state: e, tabButtons: t, customMenuBtn: n, customPopover: r, popov
};
}
// ui/features/panel/controllers/contextController.ts
-var Jg = (e, t) => {
+var $g = (e, t) => {
if (e) try {
e.value = t;
} catch (e) {
console.debug?.(e);
}
-}, Yg = (e, t) => {
+}, e_ = (e, t) => {
if (e) try {
e.checked = !!t;
} catch (e) {
console.debug?.(e);
}
};
-function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsBtn: i, searchInputEl: a, kindSelect: o, wfCheckbox: s, workflowTypeSelect: c, workflowIdInput: l, workflowModelInput: u, workflowRunsOnSelect: d, ratingSelect: f, minSizeInput: p, maxSizeInput: m, minWidthInput: h, minHeightInput: g, maxWidthInput: _, maxHeightInput: v, resolutionPresetSelect: y, dateRangeSelect: b, dateExactInput: x, scopeController: S, sortController: C, updateSummaryBar: w, reloadGrid: T, extraActions: E = null, getExtraContext: D = null } = {}) {
- let O = e && typeof e == "object" ? e : {}, { read: k, write: A, controllerState: ee } = Uh(e, /* @__PURE__ */ "searchQuery.scope.collectionId.collectionName.customRootId.customRootLabel.currentFolderRelativePath.kindFilter.workflowOnly.minRating.minSizeMB.maxSizeMB.minWidth.minHeight.maxWidth.maxHeight.resolutionCompare.workflowType.workflowId.workflowModelFilter.workflowRunsOnFilter.dateRangeFilter.dateExactFilter.sort.viewScope.similarResults.similarTitle.similarSourceAssetId".split(".")), j = (e, t) => {
+function t_({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsBtn: i, searchInputEl: a, kindSelect: o, wfCheckbox: s, workflowTypeSelect: c, workflowIdInput: l, workflowModelInput: u, workflowRunsOnSelect: d, ratingSelect: f, minSizeInput: p, maxSizeInput: m, minWidthInput: h, minHeightInput: g, maxWidthInput: _, maxHeightInput: v, resolutionPresetSelect: y, dateRangeSelect: b, dateExactInput: x, scopeController: S, sortController: C, updateSummaryBar: w, reloadGrid: T, extraActions: E = null, getExtraContext: D = null } = {}) {
+ let O = e && typeof e == "object" ? e : {}, { read: k, write: A, controllerState: j } = Jh(e, /* @__PURE__ */ "searchQuery.scope.collectionId.collectionName.customRootId.customRootLabel.currentFolderRelativePath.kindFilter.workflowOnly.minRating.minSizeMB.maxSizeMB.minWidth.minHeight.maxWidth.maxHeight.resolutionCompare.workflowType.workflowId.workflowModelFilter.workflowRunsOnFilter.dateRangeFilter.dateExactFilter.sort.viewScope.similarResults.similarTitle.similarSourceAssetId".split(".")), M = (e, t) => {
A(e, t);
- }, M = (e, t = "") => k(e, t), N = () => ({
+ }, N = (e, t = "") => k(e, t), ee = () => ({
...O || {},
- ...ee?.() || {},
- customRootLabel: M("customRootLabel", "")
+ ...j?.() || {},
+ customRootLabel: N("customRootLabel", "")
}), te = () => {
try {
E?.resetBrowserHistory?.();
} catch (e) {
console.debug?.(e);
}
- }, ne = () => {
+ }, P = () => {
try {
let e = t?.closest?.(".mjr-assets-manager") || document.querySelector?.(".mjr-assets-manager") || document.documentElement;
if (!e?.style?.setProperty) return;
@@ -15042,10 +15119,10 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
} catch (e) {
console.debug?.(e);
}
- }, P = {
+ }, ne = {
clearQuery: async () => {
try {
- Jg(a, ""), j("searchQuery", "");
+ $g(a, ""), M("searchQuery", "");
} catch (e) {
console.debug?.(e);
}
@@ -15057,7 +15134,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearCollection: async () => {
try {
- j("collectionId", ""), j("collectionName", "");
+ M("collectionId", ""), M("collectionName", "");
} catch (e) {
console.debug?.(e);
}
@@ -15078,7 +15155,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
}
let n = !1;
try {
- j("customRootId", ""), j("customRootLabel", ""), j("currentFolderRelativePath", ""), delete t?.dataset?.mjrSubfolder, te(), typeof S?.setScope == "function" ? (await S.setScope("output"), n = !0) : (j("scope", "output"), S?.setActiveTabStyles?.());
+ M("customRootId", ""), M("customRootLabel", ""), M("currentFolderRelativePath", ""), delete t?.dataset?.mjrSubfolder, te(), typeof S?.setScope == "function" ? (await S.setScope("output"), n = !0) : (M("scope", "output"), S?.setActiveTabStyles?.());
} catch (e) {
console.debug?.(e);
}
@@ -15090,7 +15167,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearCustomRoot: async () => {
try {
- j("customRootId", ""), j("customRootLabel", ""), j("currentFolderRelativePath", ""), delete t?.dataset?.mjrSubfolder, te();
+ M("customRootId", ""), M("customRootLabel", ""), M("currentFolderRelativePath", ""), delete t?.dataset?.mjrSubfolder, te();
} catch (e) {
console.debug?.(e);
}
@@ -15102,7 +15179,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearFolder: async () => {
try {
- j("currentFolderRelativePath", ""), delete t?.dataset?.mjrSubfolder, te();
+ M("currentFolderRelativePath", ""), delete t?.dataset?.mjrSubfolder, te();
} catch (e) {
console.debug?.(e);
}
@@ -15114,7 +15191,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearKind: async () => {
try {
- j("kindFilter", ""), Jg(o, "");
+ M("kindFilter", ""), $g(o, "");
} catch (e) {
console.debug?.(e);
}
@@ -15126,7 +15203,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearMinRating: async () => {
try {
- j("minRating", 0), Jg(f, "0");
+ M("minRating", 0), $g(f, "0");
} catch (e) {
console.debug?.(e);
}
@@ -15138,7 +15215,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearWorkflowOnly: async () => {
try {
- j("workflowOnly", !1), Yg(s, !1);
+ M("workflowOnly", !1), e_(s, !1);
} catch (e) {
console.debug?.(e);
}
@@ -15150,7 +15227,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearWorkflowType: async () => {
try {
- j("workflowType", ""), Jg(c, "");
+ M("workflowType", ""), $g(c, "");
} catch (e) {
console.debug?.(e);
}
@@ -15162,7 +15239,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearWorkflowId: async () => {
try {
- j("workflowId", ""), Jg(l, "");
+ M("workflowId", ""), $g(l, "");
} catch (e) {
console.debug?.(e);
}
@@ -15174,7 +15251,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearWorkflowModel: async () => {
try {
- j("workflowModelFilter", ""), Jg(u, "");
+ M("workflowModelFilter", ""), $g(u, "");
} catch (e) {
console.debug?.(e);
}
@@ -15186,7 +15263,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearWorkflowRunsOn: async () => {
try {
- j("workflowRunsOnFilter", ""), Jg(d, "");
+ M("workflowRunsOnFilter", ""), $g(d, "");
} catch (e) {
console.debug?.(e);
}
@@ -15198,7 +15275,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearSize: async () => {
try {
- j("minSizeMB", 0), j("maxSizeMB", 0), Jg(p, ""), Jg(m, "");
+ M("minSizeMB", 0), M("maxSizeMB", 0), $g(p, ""), $g(m, "");
} catch (e) {
console.debug?.(e);
}
@@ -15210,7 +15287,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearResolution: async () => {
try {
- j("minWidth", 0), j("minHeight", 0), j("maxWidth", 0), j("maxHeight", 0), Jg(h, ""), Jg(g, ""), Jg(_, ""), Jg(v, ""), Jg(y, "");
+ M("minWidth", 0), M("minHeight", 0), M("maxWidth", 0), M("maxHeight", 0), $g(h, ""), $g(g, ""), $g(_, ""), $g(v, ""), $g(y, "");
} catch (e) {
console.debug?.(e);
}
@@ -15222,7 +15299,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearDateRange: async () => {
try {
- j("dateRangeFilter", ""), Jg(b, "");
+ M("dateRangeFilter", ""), $g(b, "");
} catch (e) {
console.debug?.(e);
}
@@ -15234,7 +15311,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearDateExact: async () => {
try {
- j("dateExactFilter", ""), Jg(x, "");
+ M("dateExactFilter", ""), $g(x, "");
} catch (e) {
console.debug?.(e);
}
@@ -15246,7 +15323,7 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
},
clearSort: async () => {
try {
- j("sort", "mtime_desc"), C?.setSortIcon?.(M("sort", "mtime_desc")), C?.renderSortMenu?.();
+ M("sort", "mtime_desc"), C?.setSortIcon?.(N("sort", "mtime_desc")), C?.renderSortMenu?.();
} catch (e) {
console.debug?.(e);
}
@@ -15259,28 +15336,28 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
clearAll: async () => {
let e = !1;
try {
- Jg(a, "");
+ $g(a, "");
} catch (e) {
console.debug?.(e);
}
try {
- j("collectionId", ""), j("collectionName", ""), j("kindFilter", ""), j("workflowOnly", !1), j("minRating", 0), j("minSizeMB", 0), j("maxSizeMB", 0), j("minWidth", 0), j("minHeight", 0), j("maxWidth", 0), j("maxHeight", 0), j("resolutionCompare", "gte"), j("workflowType", ""), j("workflowId", ""), j("workflowModelFilter", ""), j("workflowRunsOnFilter", ""), j("dateRangeFilter", ""), j("dateExactFilter", ""), j("sort", "mtime_desc"), j("customRootId", ""), j("customRootLabel", ""), j("currentFolderRelativePath", ""), delete t?.dataset?.mjrSubfolder, te();
+ M("collectionId", ""), M("collectionName", ""), M("kindFilter", ""), M("workflowOnly", !1), M("minRating", 0), M("minSizeMB", 0), M("maxSizeMB", 0), M("minWidth", 0), M("minHeight", 0), M("maxWidth", 0), M("maxHeight", 0), M("resolutionCompare", "gte"), M("workflowType", ""), M("workflowId", ""), M("workflowModelFilter", ""), M("workflowRunsOnFilter", ""), M("dateRangeFilter", ""), M("dateExactFilter", ""), M("sort", "mtime_desc"), M("customRootId", ""), M("customRootLabel", ""), M("currentFolderRelativePath", ""), delete t?.dataset?.mjrSubfolder, te();
try {
await E?.clearTransientContext?.();
} catch (e) {
console.debug?.(e);
}
- typeof S?.setScope == "function" ? (await S.setScope("output"), e = !0) : (j("scope", "output"), S?.setActiveTabStyles?.());
+ typeof S?.setScope == "function" ? (await S.setScope("output"), e = !0) : (M("scope", "output"), S?.setActiveTabStyles?.());
} catch (e) {
console.debug?.(e);
}
try {
- Jg(o, ""), Yg(s, !1), Jg(c, ""), Jg(l, ""), Jg(u, ""), Jg(d, ""), Jg(f, "0"), Jg(p, ""), Jg(m, ""), Jg(h, ""), Jg(g, ""), Jg(_, ""), Jg(v, ""), Jg(y, ""), Jg(b, ""), Jg(x, "");
+ $g(o, ""), e_(s, !1), $g(c, ""), $g(l, ""), $g(u, ""), $g(d, ""), $g(f, "0"), $g(p, ""), $g(m, ""), $g(h, ""), $g(g, ""), $g(_, ""), $g(v, ""), $g(y, ""), $g(b, ""), $g(x, "");
} catch (e) {
console.debug?.(e);
}
try {
- C?.setSortIcon?.(M("sort", "mtime_desc")), C?.renderSortMenu?.();
+ C?.setSortIcon?.(N("sort", "mtime_desc")), C?.renderSortMenu?.();
} catch (e) {
console.debug?.(e);
}
@@ -15297,11 +15374,11 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
"constructor",
"prototype"
]);
- for (let [t, n] of Object.entries(E)) e.has(String(t)) || (P[t] = n);
+ for (let [t, n] of Object.entries(E)) e.has(String(t)) || (ne[t] = n);
}
return {
update: () => {
- let e = String(a?.value || "").trim(), o = Wg(a), s = N(), c = !!(M("kindFilter", "") || M("workflowOnly", !1) || (Number(M("minRating", 0) || 0) || 0) > 0 || (Number(M("minSizeMB", 0) || 0) || 0) > 0 || (Number(M("maxSizeMB", 0) || 0) || 0) > 0 || (Number(M("minWidth", 0) || 0) || 0) > 0 || (Number(M("minHeight", 0) || 0) || 0) > 0 || (Number(M("maxWidth", 0) || 0) || 0) > 0 || (Number(M("maxHeight", 0) || 0) || 0) > 0 || String(M("workflowType", "") || "").trim().length > 0 || String(M("workflowId", "") || "").trim().length > 0 || String(M("workflowModelFilter", "") || "").trim().length > 0 || String(M("workflowRunsOnFilter", "") || "").trim().length > 0 || M("dateRangeFilter", "") || M("dateExactFilter", "")), l = String(M("sort", "mtime_desc") || "mtime_desc") !== "mtime_desc", u = !!M("collectionId", "");
+ let e = String(a?.value || "").trim(), o = Yg(a), s = ee(), c = !!(N("kindFilter", "") || N("workflowOnly", !1) || (Number(N("minRating", 0) || 0) || 0) > 0 || (Number(N("minSizeMB", 0) || 0) || 0) > 0 || (Number(N("maxSizeMB", 0) || 0) || 0) > 0 || (Number(N("minWidth", 0) || 0) || 0) > 0 || (Number(N("minHeight", 0) || 0) || 0) > 0 || (Number(N("maxWidth", 0) || 0) || 0) > 0 || (Number(N("maxHeight", 0) || 0) || 0) > 0 || String(N("workflowType", "") || "").trim().length > 0 || String(N("workflowId", "") || "").trim().length > 0 || String(N("workflowModelFilter", "") || "").trim().length > 0 || String(N("workflowRunsOnFilter", "") || "").trim().length > 0 || N("dateRangeFilter", "") || N("dateExactFilter", "")), l = String(N("sort", "mtime_desc") || "mtime_desc") !== "mtime_desc", u = !!N("collectionId", "");
try {
n?.classList?.toggle?.("mjr-context-active", c), r?.classList?.toggle?.("mjr-context-active", l), i?.classList?.toggle?.("mjr-context-active", u);
} catch (e) {
@@ -15316,19 +15393,19 @@ function Xg({ state: e, gridContainer: t, filterBtn: n, sortBtn: r, collectionsB
rawQuery: e || o,
...n
},
- actions: P
+ actions: ne
});
} catch (e) {
console.debug?.(e);
}
- ne();
+ P();
},
- actions: P
+ actions: ne
};
}
// ui/features/panel/controllers/customRootsController.ts
-function Zg({ state: e, customSelect: t, customRemoveBtn: n, comfyConfirm: r, comfyPrompt: i, comfyToast: a, get: o, post: s, ENDPOINTS: c, reloadGrid: l, onRootChanged: u = null }) {
- let d = e && typeof e == "object" ? e : {}, { read: f, write: p } = Uh(e, [
+function n_({ state: e, customSelect: t, customRemoveBtn: n, comfyConfirm: r, comfyPrompt: i, comfyToast: a, get: o, post: s, ENDPOINTS: c, reloadGrid: l, onRootChanged: u = null }) {
+ let d = e && typeof e == "object" ? e : {}, { read: f, write: p } = Jh(e, [
"customRootId",
"customRootLabel",
"currentFolderRelativePath"
@@ -15460,8 +15537,8 @@ function Zg({ state: e, customSelect: t, customRemoveBtn: n, comfyConfirm: r, co
};
}
// ui/features/panel/controllers/sortController.ts
-function Qg({ state: e, sortBtn: t, sortMenu: n, sortPopover: r, popovers: i, reloadGrid: a, onChanged: o = null }) {
- let { read: s, write: c } = Uh(e, ["sort"]), l = () => [
+function r_({ state: e, sortBtn: t, sortMenu: n, sortPopover: r, popovers: i, reloadGrid: a, onChanged: o = null }) {
+ let { read: s, write: c } = Jh(e, ["sort"]), l = () => [
{
key: "mtime_desc",
label: L("sort.newest")
@@ -15546,24 +15623,24 @@ function Qg({ state: e, sortBtn: t, sortMenu: n, sortPopover: r, popovers: i, re
};
}
// ui/features/panel/controllers/sidebarController.ts
-var $g = "_mjrRescanning", e_ = 1500, t_ = (e) => /^\d+$/.test(String(e ?? "").trim());
-async function n_({ card: e, asset: t, sidebar: n, onAssetUpdated: r }) {
+var i_ = "_mjrRescanning", a_ = 1500, o_ = (e) => /^\d+$/.test(String(e ?? "").trim());
+async function s_({ card: e, asset: t, sidebar: n, onAssetUpdated: r }) {
if (!e || !t || globalThis._mjrMaintenanceActive) return;
try {
let t = Date.now();
- if (t - (Number(e[$g] || 0) || 0) < e_) return;
- e[$g] = t;
+ if (t - (Number(e[i_] || 0) || 0) < a_) return;
+ e[i_] = t;
} catch (e) {
console.debug?.(e);
}
let i = e.querySelector(".mjr-workflow-dot");
try {
- i && (gn(i, "pending", "Pending: metadata refresh in progress", { asset: t }), i.classList.add("mjr-pulse-animation"), i.style.cursor = "progress", i.title = L("tooltip.pendingRefresh", "Pending: metadata refresh in progress"));
+ i && (yn(i, "pending", "Pending: metadata refresh in progress", { asset: t }), i.classList.add("mjr-pulse-animation"), i.style.cursor = "progress", i.title = L("tooltip.pendingRefresh", "Pending: metadata refresh in progress"));
} catch (e) {
console.debug?.(e);
}
try {
- F(L("toast.rescanUpdatingAiIndex", "Rescanning file + updating AI index..."), "info", 2200);
+ x(L("toast.rescanUpdatingAiIndex", "Rescanning file + updating AI index..."), "info", 2200);
} catch (e) {
console.debug?.(e);
}
@@ -15571,22 +15648,22 @@ async function n_({ card: e, asset: t, sidebar: n, onAssetUpdated: r }) {
filename: t.filename,
subfolder: t.subfolder || "",
type: String(t.type || "output").toLowerCase(),
- root_id: be(t) || void 0
- }, o = null, s = !1, c = !1, l = !1;
+ root_id: Be(t) || void 0
+ }, o = null, c = !1, l = !1, u = !1;
try {
- if (s = !!(await me(p.INDEX_FILES, {
+ if (c = !!(await he(I.INDEX_FILES, {
files: [a],
incremental: !1
- }))?.ok, !s && i && (gn(i, "error", "Error: metadata refresh failed", { asset: t }), i.classList.remove("mjr-pulse-animation"), i.style.cursor = ""), t_(t?.id)) {
- c = !0;
+ }))?.ok, !c && i && (yn(i, "error", "Error: metadata refresh failed", { asset: t }), i.classList.remove("mjr-pulse-animation"), i.style.cursor = ""), o_(t?.id)) {
+ l = !0;
try {
- l = !!(await ee(t.id))?.ok;
+ u = !!(await s(t.id))?.ok;
} catch (e) {
console.debug?.(e);
}
}
- if (s && t.id != null) {
- let e = await Ue(t.id);
+ if (c && t.id != null) {
+ let e = await qe(t.id);
e?.ok && e.data && (o = {
...t,
...e.data
@@ -15594,7 +15671,7 @@ async function n_({ card: e, asset: t, sidebar: n, onAssetUpdated: r }) {
}
} catch {
try {
- i && (gn(i, "error", "Error: metadata refresh failed", { asset: t }), i.classList.remove("mjr-pulse-animation"), i.style.cursor = "");
+ i && (yn(i, "error", "Error: metadata refresh failed", { asset: t }), i.classList.remove("mjr-pulse-animation"), i.style.cursor = "");
} catch (e) {
console.debug?.(e);
}
@@ -15614,7 +15691,7 @@ async function n_({ card: e, asset: t, sidebar: n, onAssetUpdated: r }) {
} finally {
try {
if (i && i.isConnected) {
- let e = _n(o || t);
+ let e = bn(o || t);
e && i.replaceWith(e);
}
} catch {
@@ -15626,13 +15703,13 @@ async function n_({ card: e, asset: t, sidebar: n, onAssetUpdated: r }) {
}
}
try {
- s && l ? F(L("toast.metadataVectorUpdated", "Metadata + AI vector index updated for this asset."), "success", 2200) : s && c && !l && F(L("toast.metadataUpdatedVectorFailed", "Metadata updated. AI vector index could not be updated."), "warning", 2600);
+ c && u ? x(L("toast.metadataVectorUpdated", "Metadata + AI vector index updated for this asset."), "success", 2200) : c && l && !u && x(L("toast.metadataUpdatedVectorFailed", "Metadata updated. AI vector index could not be updated."), "warning", 2600);
} catch (e) {
console.debug?.(e);
}
return o;
}
-function r_(e, t) {
+function c_(e, t) {
if (e) {
try {
let n = e.querySelector(".mjr-asset-card.is-selected");
@@ -15668,7 +15745,7 @@ function r_(e, t) {
}
}
}
-var i_ = (e) => {
+var l_ = (e) => {
if (e == null) return "";
try {
if (typeof CSS < "u" && typeof CSS.escape == "function") return CSS.escape(String(e));
@@ -15677,32 +15754,32 @@ var i_ = (e) => {
}
return String(e).replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1");
};
-function a_(e, t) {
+function u_(e, t) {
if (!e || !t) return null;
try {
- return e.querySelector(`.mjr-asset-card[data-mjr-asset-id="${i_(t)}"]`);
+ return e.querySelector(`.mjr-asset-card[data-mjr-asset-id="${l_(t)}"]`);
} catch (e) {
console.debug?.(e);
}
try {
- return e.querySelector(`.mjr-asset-card[data-mjr-asset-id="${i_(t)}"]`);
+ return e.querySelector(`.mjr-asset-card[data-mjr-asset-id="${l_(t)}"]`);
} catch (e) {
console.debug?.(e);
}
return null;
}
-function o_(e) {
+function d_(e) {
if (!e) return null;
let t = e.dataset?.mjrSelectedAssetId;
if (t) {
- let n = a_(e, t);
+ let n = u_(e, t);
if (n) return n;
}
let n = e.dataset?.mjrSelectedAssetIds;
if (n) try {
let t = JSON.parse(n);
if (Array.isArray(t) && t.length) {
- let n = a_(e, t[0]);
+ let n = u_(e, t[0]);
if (n) return n;
}
} catch (e) {
@@ -15710,7 +15787,7 @@ function o_(e) {
}
return e.querySelector(".mjr-asset-card.is-selected");
}
-function s_(e, { preventScroll: t = !0 } = {}) {
+function f_(e, { preventScroll: t = !0 } = {}) {
if (e) try {
e.focus?.({ preventScroll: t });
} catch {
@@ -15721,14 +15798,14 @@ function s_(e, { preventScroll: t = !0 } = {}) {
}
}
}
-function c_(e, { force: t = !1 } = {}) {
+function p_(e, { force: t = !1 } = {}) {
if (!e || !t && !e._mjrFocusWithin) return;
- let n = o_(e);
- n && (s_(n), e._mjrFocusWithin = !0);
+ let n = d_(e);
+ n && (f_(n), e._mjrFocusWithin = !0);
}
-function l_(e) {
+function m_(e) {
if (e) try {
- let t = o_(e);
+ let t = d_(e);
if (!t) return;
let n = e.parentElement;
if (n && typeof n.getBoundingClientRect == "function" && typeof t.getBoundingClientRect == "function") {
@@ -15743,7 +15820,7 @@ function l_(e) {
console.debug?.(e);
}
}
-function u_(e) {
+function h_(e) {
if (e) try {
e._mjrAutoRevealSelectionUntil = Date.now() + 900;
} catch (e) {
@@ -15751,12 +15828,12 @@ function u_(e) {
}
let t = () => {
try {
- l_(e);
+ m_(e);
} catch (e) {
console.debug?.(e);
}
try {
- c_(e);
+ p_(e);
} catch (e) {
console.debug?.(e);
}
@@ -15771,10 +15848,10 @@ function u_(e) {
t();
}
}
-function d_(e, t) {
+function g_(e, t) {
e && (t ? (e.classList.add("is-selected"), e.setAttribute?.("aria-selected", "true")) : (e.classList.remove("is-selected"), e.setAttribute?.("aria-selected", "false")));
}
-function f_(e) {
+function __(e) {
try {
if (typeof e?._mjrGetRenderedCards == "function") {
let t = e._mjrGetRenderedCards();
@@ -15789,15 +15866,15 @@ function f_(e) {
return [];
}
}
-function p_(e) {
+function v_(e) {
if (e) try {
- let t = f_(e).filter((e) => e?.classList?.contains?.("is-selected")).map((e) => e?.dataset?.mjrAssetId).filter(Boolean);
+ let t = __(e).filter((e) => e?.classList?.contains?.("is-selected")).map((e) => e?.dataset?.mjrAssetId).filter(Boolean);
t.length ? (e.dataset.mjrSelectedAssetIds = JSON.stringify(t), !e.dataset.mjrSelectedAssetId && t[0] && (e.dataset.mjrSelectedAssetId = String(t[0]))) : (delete e.dataset.mjrSelectedAssetIds, delete e.dataset.mjrSelectedAssetId);
} catch (e) {
console.debug?.(e);
}
}
-function m_(e, t, n = "") {
+function y_(e, t, n = "") {
if (!e) return [];
let r = Array.from(t || []).map(String).filter(Boolean);
try {
@@ -15811,9 +15888,9 @@ function m_(e, t, n = "") {
console.debug?.(e);
}
try {
- for (let t of f_(e)) {
+ for (let t of __(e)) {
let e = t?.dataset?.mjrAssetId;
- d_(t, !!(e && r.includes(String(e))));
+ g_(t, !!(e && r.includes(String(e))));
}
} catch (e) {
console.debug?.(e);
@@ -15828,7 +15905,7 @@ function m_(e, t, n = "") {
}
return r;
}
-function h_({ gridContainer: e, state: t, activeId: n, readState: r = null, writeState: i = null } = {}) {
+function b_({ gridContainer: e, state: t, activeId: n, readState: r = null, writeState: i = null } = {}) {
if ((t || i) && e) try {
let a = [];
if (e.dataset?.mjrSelectedAssetIds) try {
@@ -15837,7 +15914,7 @@ function h_({ gridContainer: e, state: t, activeId: n, readState: r = null, writ
} catch (e) {
console.debug?.(e);
}
- else a = e.dataset?.mjrSelectedAssetId ? [String(e.dataset.mjrSelectedAssetId)].filter(Boolean) : f_(e).filter((e) => e?.classList?.contains?.("is-selected")).map((e) => e?.dataset?.mjrAssetId).filter(Boolean).map(String);
+ else a = e.dataset?.mjrSelectedAssetId ? [String(e.dataset.mjrSelectedAssetId)].filter(Boolean) : __(e).filter((e) => e?.classList?.contains?.("is-selected")).map((e) => e?.dataset?.mjrAssetId).filter(Boolean).map(String);
typeof i == "function" ? i("selectedAssetIds", a) : t.selectedAssetIds = a;
let o = String(typeof r == "function" ? r("activeAssetId", "") || "" : t?.activeAssetId || "");
n == null ? o && a.includes(o) || (typeof i == "function" ? i("activeAssetId", a[0] || "") : t.activeAssetId = a[0] || "") : typeof i == "function" ? i("activeAssetId", String(n)) : t.activeAssetId = String(n);
@@ -15845,8 +15922,8 @@ function h_({ gridContainer: e, state: t, activeId: n, readState: r = null, writ
console.debug?.(e);
}
}
-function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadge: r, showAssetInSidebar: i, closeSidebar: a, state: o }) {
- let { read: s, write: c } = Uh(o, [
+function x_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadge: r, showAssetInSidebar: i, closeSidebar: a, state: o }) {
+ let { read: s, write: c } = Jh(o, [
"activeAssetId",
"selectedAssetIds",
"sidebarOpen"
@@ -15856,7 +15933,7 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
e._mjrSidebarOpenBound = !0;
let l = (t) => {
e._mjrFocusWithin = !0;
- let n = qt(t.target, ".mjr-asset-card");
+ let n = Xt(t.target, ".mjr-asset-card");
if (n) try {
e._mjrLastFocusedCardId = n.dataset?.mjrAssetId || "";
} catch (e) {
@@ -15881,9 +15958,9 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
}
}, a = () => {
n && cancelAnimationFrame(n), r && clearTimeout(r), n = requestAnimationFrame(() => {
- n = null, i() && l_(e);
+ n = null, i() && m_(e);
}), r = setTimeout(() => {
- r = null, i() && l_(e);
+ r = null, i() && m_(e);
}, 160);
}, o = new ResizeObserver(() => a());
t && o.observe(t), o.observe(e), e._mjrSelectionResizeObserver = o;
@@ -15895,7 +15972,7 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
try {
let n = i?.has_workflow ?? i?.hasWorkflow ?? t.has_workflow, r = i?.has_generation_data ?? i?.hasGenerationData ?? t.has_generation_data;
n !== void 0 && (t.has_workflow = n), r !== void 0 && (t.has_generation_data = r);
- let a = e.querySelector(".mjr-workflow-dot"), o = _n(t);
+ let a = e.querySelector(".mjr-workflow-dot"), o = bn(t);
a && o && a.replaceWith(o);
} catch (e) {
console.debug?.(e);
@@ -15915,22 +15992,22 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
}
}, f = async (n) => {
if (n.defaultPrevented) return;
- let r = qt(n.target, ".mjr-asset-card");
+ let r = Xt(n.target, ".mjr-asset-card");
if (!r) return;
- let a = qt(n.target, ".mjr-workflow-dot");
+ let a = Xt(n.target, ".mjr-workflow-dot");
if (a && r.contains(a)) {
let a = r._mjrAsset;
if (!a) return;
n.preventDefault(), n.stopPropagation();
let l = r?.dataset?.mjrAssetId || "";
- m_(e, l ? [l] : [], l), h_({
+ y_(e, l ? [l] : [], l), b_({
gridContainer: e,
state: o,
activeId: l,
readState: s,
writeState: c
});
- let u = await n_({
+ let u = await s_({
card: r,
asset: a,
sidebar: t,
@@ -15944,12 +16021,12 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
}
return;
}
- let l = qt(n.target, "a, button, input, textarea, select, label");
+ let l = Xt(n.target, "a, button, input, textarea, select, label");
if (l && r.contains(l)) return;
let u = r._mjrAsset;
if (u) {
if (e?._mjrSelectionManagedByVue) {
- h_({
+ b_({
gridContainer: e,
state: o,
activeId: String(r?.dataset?.mjrAssetId || "").trim(),
@@ -15969,7 +16046,7 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
console.debug?.(e);
}
} else if (n.preventDefault(), n.stopPropagation(), n.ctrlKey || n.metaKey || n.shiftKey) {
- let t = f_(e), i = t.indexOf(r);
+ let t = __(e), i = t.indexOf(r);
if (n.shiftKey) {
let t = [];
try {
@@ -15981,7 +16058,7 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
let n = r?.dataset?.mjrAssetId || "", i = t.findIndex((e) => String(e?.id || "") === String(n)), a = Number(e._mjrLastSelectedIndex), l = Number.isFinite(a) ? a : i;
if (i >= 0 && l >= 0) {
let r = Math.min(l, i), a = Math.max(l, i), u = t.slice(r, a + 1).map((e) => String(e?.id || "")).filter(Boolean);
- m_(e, u, n || u[0] || ""), e._mjrLastSelectedIndex = i, h_({
+ y_(e, u, n || u[0] || ""), e._mjrLastSelectedIndex = i, b_({
gridContainer: e,
state: o,
activeId: n || "",
@@ -16016,7 +16093,7 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
}
a && (l.has(a) ? l.delete(a) : l.add(a));
let u = Array.from(l), d = l.has(a) ? a : u[0] || "";
- m_(e, u, d), h_({
+ y_(e, u, d), b_({
gridContainer: e,
state: o,
activeId: d,
@@ -16026,7 +16103,7 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
} else {
{
if (r.classList.contains("is-selected")) {
- m_(e, [], ""), h_({
+ y_(e, [], ""), b_({
gridContainer: e,
state: o,
activeId: "",
@@ -16036,7 +16113,7 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
return;
}
let n = r?.dataset?.mjrAssetId;
- m_(e, n ? [n] : [], n || ""), h_({
+ y_(e, n ? [n] : [], n || ""), b_({
gridContainer: e,
state: o,
activeId: n || "",
@@ -16050,7 +16127,7 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
}
}
try {
- l_(e), r?.focus?.({ preventScroll: !0 });
+ m_(e), r?.focus?.({ preventScroll: !0 });
} catch (e) {
console.debug?.(e);
}
@@ -16061,10 +16138,10 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
let p = async () => {
let n = String(s("activeAssetId", "") || ""), r = null;
if (n) try {
- r = e.querySelector(`.mjr-asset-card[data-mjr-asset-id="${i_(n)}"]`);
+ r = e.querySelector(`.mjr-asset-card[data-mjr-asset-id="${l_(n)}"]`);
} catch {
try {
- r = e.querySelector(`.mjr-asset-card[data-mjr-asset-id="${i_(n)}"]`);
+ r = e.querySelector(`.mjr-asset-card[data-mjr-asset-id="${l_(n)}"]`);
} catch (e) {
console.debug?.(e);
}
@@ -16072,7 +16149,7 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
r ||= e.querySelector(".mjr-asset-card.is-selected");
let l = r?._mjrAsset;
if (l) {
- r_(e, r), p_(e), h_({
+ c_(e, r), v_(e), b_({
gridContainer: e,
state: o,
activeId: r?.dataset?.mjrAssetId,
@@ -16088,7 +16165,7 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
} catch (e) {
console.debug?.(e);
}
- c_(e, { force: !0 }), u_(e);
+ p_(e, { force: !0 }), h_(e);
return;
}
} catch (e) {
@@ -16101,7 +16178,7 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
} catch (e) {
console.debug?.(e);
}
- u_(e), r?.focus?.({ preventScroll: !0 });
+ h_(e), r?.focus?.({ preventScroll: !0 });
} catch (e) {
console.debug?.(e);
}
@@ -16116,7 +16193,7 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
if (!n) return !1;
let r = null;
try {
- r = a_(e, n);
+ r = u_(e, n);
} catch (e) {
console.debug?.(e);
}
@@ -16152,8 +16229,8 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
e.addEventListener("mjr:selection-changed", g);
let _ = (t) => {
if (t.defaultPrevented || (t.key?.toLowerCase?.() || "") !== "d" || t.ctrlKey || t.metaKey || t.altKey || t.target?.isContentEditable || t.target?.closest?.("input, textarea, select, [contenteditable='true']")) return;
- let n = qt(t.target, ".mjr-asset-card");
- n && n._mjrAsset && (t.preventDefault(), t.stopPropagation(), r_(e, n), p_(e), h_({
+ let n = Xt(t.target, ".mjr-asset-card");
+ n && n._mjrAsset && (t.preventDefault(), t.stopPropagation(), c_(e, n), v_(e), b_({
gridContainer: e,
state: o,
activeId: n?.dataset?.mjrAssetId,
@@ -16239,7 +16316,7 @@ function g_({ gridContainer: e, sidebar: t, createRatingBadge: n, createTagsBadg
};
}
// ui/features/panel/controllers/panelHotkeysController.ts
-function __({ onTriggerScan: e, getScanContext: t, onToggleDetails: n, onToggleFloatingViewer: r, onFocusSearch: i, onClearSearch: a, allowListKeys: o } = {}) {
+function S_({ onTriggerScan: e, getScanContext: t, onToggleDetails: n, onToggleFloatingViewer: r, onFocusSearch: i, onClearSearch: a, allowListKeys: o } = {}) {
let s = !1, c = !1, l = null, u = o instanceof Set ? o : /* @__PURE__ */ new Set([
" ",
"ArrowUp",
@@ -16274,7 +16351,7 @@ function __({ onTriggerScan: e, getScanContext: t, onToggleDetails: n, onToggleF
console.debug?.(e);
}
try {
- let e = ht();
+ let e = vt();
return e && (document.activeElement === document.body || e.contains?.(document.activeElement)) || !1;
} catch (e) {
return console.debug?.(e), !1;
@@ -16293,7 +16370,7 @@ function __({ onTriggerScan: e, getScanContext: t, onToggleDetails: n, onToggleF
c = !1;
},
keydown: (o) => {
- if (vt() || gt().scope === "viewer") return;
+ if (xt() || yt().scope === "viewer") return;
if (o.key?.toLowerCase?.() === "v" && !o.ctrlKey && !o.metaKey && !o.altKey && !o.shiftKey && !(o.target?.isContentEditable || o.target?.closest?.("input, textarea, select, [contenteditable='true']")) && l?.isConnected && f(o)) {
let e = !1;
try {
@@ -16370,7 +16447,7 @@ function __({ onTriggerScan: e, getScanContext: t, onToggleDetails: n, onToggleF
} catch (e) {
console.debug?.(e);
}
- lt("panel");
+ ft("panel");
}
}, g = () => {
if (l) {
@@ -16384,7 +16461,7 @@ function __({ onTriggerScan: e, getScanContext: t, onToggleDetails: n, onToggleF
} catch (e) {
console.debug?.(e);
}
- gt().scope === "panel" && lt(null), l = null;
+ yt().scope === "panel" && ft(null), l = null;
}
};
return {
@@ -16393,17 +16470,17 @@ function __({ onTriggerScan: e, getScanContext: t, onToggleDetails: n, onToggleF
};
}
// ui/vue/composables/useGridSelection.ts
-function v_(e) {
+function C_(e) {
return Array.isArray(e) ? e.map((e) => String(e || "").trim()).filter(Boolean) : [];
}
-function y_({ gridContainer: e, readSelectedAssetIds: t = () => [], readActiveAssetId: n = () => "", writeSelectedAssetIds: r = (e) => {}, writeActiveAssetId: i = (e) => {}, onSelectionChanged: a = () => {}, lifecycleSignal: o = null } = {}) {
+function w_({ gridContainer: e, readSelectedAssetIds: t = () => [], readActiveAssetId: n = () => "", writeSelectedAssetIds: r = (e) => {}, writeActiveAssetId: i = (e) => {}, onSelectionChanged: a = () => {}, lifecycleSignal: o = null } = {}) {
if (!e) return {
restoreSelectionState() {},
dispose() {}
};
let s = (e) => {
try {
- let t = e?.detail || {}, n = v_(t.selectedIds);
+ let t = e?.detail || {}, n = C_(t.selectedIds);
r(n), i(String(t.activeId || n[0] || "").trim());
} catch (e) {
console.debug?.(e);
@@ -16421,7 +16498,7 @@ function y_({ gridContainer: e, readSelectedAssetIds: t = () => [], readActiveAs
}
return {
restoreSelectionState: ({ scrollTop: r = 0 } = {}) => {
- let i = v_(t()), a = String(n() || i[0] || "").trim();
+ let i = C_(t()), a = String(n() || i[0] || "").trim();
if (i.length || a) {
try {
typeof e?._mjrSetSelection == "function" && e._mjrSetSelection(i, a);
@@ -16438,7 +16515,7 @@ function y_({ gridContainer: e, readSelectedAssetIds: t = () => [], readActiveAs
console.debug?.(e);
}
try {
- lu(e, a)?.scrollIntoView?.({
+ fu(e, a)?.scrollIntoView?.({
block: "nearest",
behavior: "instant"
});
@@ -16458,7 +16535,7 @@ function y_({ gridContainer: e, readSelectedAssetIds: t = () => [], readActiveAs
};
}
// ui/vue/composables/useAssetsQuery.ts
-function b_(e) {
+function T_(e) {
try {
if (typeof requestAnimationFrame == "function") {
requestAnimationFrame(e);
@@ -16469,28 +16546,28 @@ function b_(e) {
}
setTimeout(e, 0);
}
-function x_(e = {}, t = "*") {
+function E_(e = {}, t = "*") {
return e.scope === "output" && !e.collectionId && t === "*" && !e.kindFilter && !e.workflowOnly && !(Number(e.minRating || 0) > 0) && !(Number(e.minSizeMB || 0) > 0) && !(Number(e.maxSizeMB || 0) > 0) && !(Number(e.minWidth || 0) > 0) && !(Number(e.minHeight || 0) > 0) && !(Number(e.maxWidth || 0) > 0) && !(Number(e.maxHeight || 0) > 0) && !String(e.workflowType || "").trim() && !String(e.workflowId || "").trim() && !e.dateRangeFilter && !e.dateExactFilter;
}
-function S_({ gridContainer: e, gridWrapper: t, readScrollElement: n = () => null, gridController: r, captureAnchor: i, restoreAnchor: a, restoreGridUiState: o = null, readScrollTop: s = () => 0, restoreSelectionState: c = () => {}, readActiveAssetId: l = () => "", isSidebarOpen: u = () => !1, toggleSidebarDetails: d = () => {}, getQuery: f = () => "*", getScope: m = () => "output", loadAssets: h = null, lifecycleSignal: g = null } = {}) {
- let _ = 0, v = !1, y = null, b = null, x = null, S = 0, C = !0, w = "", T = Date.now(), E = () => {
+function D_({ gridContainer: e, gridWrapper: t, readScrollElement: n = () => null, gridController: r, captureAnchor: i, restoreAnchor: a, restoreGridUiState: o = null, readScrollTop: s = () => 0, restoreSelectionState: c = () => {}, readActiveAssetId: l = () => "", isSidebarOpen: u = () => !1, toggleSidebarDetails: d = () => {}, getQuery: f = () => "*", getScope: p = () => "output", loadAssets: m = null, lifecycleSignal: h = null } = {}) {
+ let g = 0, _ = !1, v = null, y = null, b = null, x = 0, S = !0, C = "", w = Date.now(), T = () => {
try {
- return Vc(e, (typeof n == "function" ? n() : t) || t || null);
+ return Wc(e, (typeof n == "function" ? n() : t) || t || null);
} catch (e) {
return console.debug?.(e), !1;
}
- }, D = (e = null, { resumeQueuedReload: t = !0 } = {}) => {
- if (C = typeof e == "boolean" ? e : E(), !C) return y &&= (clearTimeout(y), null), C;
- if (t && w && !v) {
- let e = w;
- w = "", A({ reason: e }).catch((e) => console.debug?.(e));
+ }, E = (e = null, { resumeQueuedReload: t = !0 } = {}) => {
+ if (S = typeof e == "boolean" ? e : T(), !S) return v &&= (clearTimeout(v), null), S;
+ if (t && C && !_) {
+ let e = C;
+ C = "", k({ reason: e }).catch((e) => console.debug?.(e));
}
- if (x && !y) {
- let e = x, t = S || 50;
- x = null, S = 0, ne(e, Math.min(t, 50));
+ if (b && !v) {
+ let e = b, t = x || 50;
+ b = null, x = 0, te(e, Math.min(t, 50));
}
- return t && _ > 0 && !v && A().catch((e) => console.debug?.(e)), C;
- }, O = () => {
+ return t && g > 0 && !_ && k().catch((e) => console.debug?.(e)), S;
+ }, D = () => {
try {
let t = e?._mjrGetGridState?.();
if (Array.isArray(t?.assets) && t.assets.length > 0) return !0;
@@ -16508,21 +16585,21 @@ function S_({ gridContainer: e, gridWrapper: t, readScrollElement: n = () => nul
} catch (e) {
return console.debug?.(e), !1;
}
- }, k = () => {
+ }, O = () => {
try {
return !!e?._mjrGetGridState?.()?.loading;
} catch (e) {
return console.debug?.(e), !1;
}
- }, A = async (t = {}) => {
- if (e && r?.reloadGrid && (_ += 1, D(null, { resumeQueuedReload: !1 }) && !v)) {
- v = !0;
+ }, k = async (t = {}) => {
+ if (e && r?.reloadGrid && (g += 1, E(null, { resumeQueuedReload: !1 }) && !_)) {
+ _ = !0;
try {
- for (; _ > 0;) {
- if (!D(null, { resumeQueuedReload: !1 })) return;
- _ = 0;
+ for (; g > 0;) {
+ if (!E(null, { resumeQueuedReload: !1 })) return;
+ g = 0;
let t = typeof i == "function" ? i(e) : null;
- if (await r.reloadGrid(), !D(null, { resumeQueuedReload: !1 })) return;
+ if (await r.reloadGrid(), !E(null, { resumeQueuedReload: !1 })) return;
if (t && typeof a == "function") try {
if ((Number(s() || 0) || 0) > (Number(t?.scrollTop || 0) || 0) + 8) continue;
await a(e, t);
@@ -16531,29 +16608,29 @@ function S_({ gridContainer: e, gridWrapper: t, readScrollElement: n = () => nul
}
}
} finally {
- v = !1;
+ _ = !1;
}
}
- }, ee = (e = "external") => {
- w = String(e || "external");
+ }, A = (e = "external") => {
+ C = String(e || "external");
try {
let e = globalThis?.window ?? globalThis;
e.__mjrGridDirty = !0;
} catch (e) {
console.debug?.(e);
}
- if (D(null, { resumeQueuedReload: !1 }) && !v) {
- let e = w;
- w = "", A({ reason: e }).catch((e) => console.debug?.(e));
+ if (E(null, { resumeQueuedReload: !1 }) && !_) {
+ let e = C;
+ C = "", k({ reason: e }).catch((e) => console.debug?.(e));
}
}, j = (e) => {
- e?.detail?.source !== "assets-query-controller" && ee(e?.detail?.reason || "external");
+ e?.detail?.source !== "assets-query-controller" && A(e?.detail?.reason || "external");
}, M = (e) => {
- globalThis?._mjrMaintenanceActive || ee(e?.detail?.reason || "manual");
+ globalThis?._mjrMaintenanceActive || A(e?.detail?.reason || "manual");
};
try {
let e = globalThis?.window ?? globalThis;
- e?.addEventListener?.("mjr-grid-dirty", j, { signal: g || void 0 }), e?.addEventListener?.("mjr:reload-grid", M, { signal: g || void 0 });
+ e?.addEventListener?.("mjr-grid-dirty", j, { signal: h || void 0 }), e?.addEventListener?.("mjr:reload-grid", M, { signal: h || void 0 });
} catch (e) {
console.debug?.(e);
}
@@ -16564,7 +16641,7 @@ function S_({ gridContainer: e, gridWrapper: t, readScrollElement: n = () => nul
} catch (e) {
console.debug?.(e);
}
- b_(() => {
+ T_(() => {
let e = Number(s() || 0) || 0;
if (e > 0) try {
t.scrollTop = e;
@@ -16582,28 +16659,28 @@ function S_({ gridContainer: e, gridWrapper: t, readScrollElement: n = () => nul
console.debug?.(e);
}
});
- }, te = async (t) => {
+ }, ee = async (t) => {
try {
await t;
} catch (e) {
console.debug?.(e);
}
- if (e && typeof h == "function" && !g?.aborted) {
- if (!D()) x = t, S = 50;
- else if (!O() && !k() && String(m() || "output") === "output" && String(f() || "*") === "*") try {
- let t = await Pe(`${p.HEALTH_COUNTERS}?scope=output`, { signal: g || void 0 });
- t?.ok && (t.data?.total_assets || 0) > 0 && await h(e);
+ if (e && typeof m == "function" && !h?.aborted) {
+ if (!E()) b = t, x = 50;
+ else if (!D() && !O() && String(p() || "output") === "output" && String(f() || "*") === "*") try {
+ let t = await Ie(`${I.HEALTH_COUNTERS}?scope=output`, { signal: h || void 0 });
+ t?.ok && (t.data?.total_assets || 0) > 0 && await m(e);
} catch (e) {
console.debug?.(e);
}
}
- }, ne = (e, t = 2e3) => (y && clearTimeout(y), D() ? (x = null, S = 0, y = setTimeout(() => {
- y = null, te(e).catch(() => {});
- }, t), y) : (x = e, S = t, null));
+ }, te = (e, t = 2e3) => (v && clearTimeout(v), E() ? (b = null, x = 0, v = setTimeout(() => {
+ v = null, ee(e).catch(() => {});
+ }, t), v) : (b = e, x = t, null));
return {
- queuedReload: A,
+ queuedReload: k,
restoreUiState: N,
- scheduleAutoLoad: ne,
+ scheduleAutoLoad: te,
createCountersUpdateHandler: ({ state: t = {}, getStableQuery: n = () => String(e?.dataset?.mjrQuery || "*").trim() || "*", getRecentUserInteractionAt: r = () => 0 } = {}) => {
let i = globalThis?.window ?? globalThis, a = null, o = null, s = null, c = !1;
return async (e = {}) => {
@@ -16611,12 +16688,12 @@ function S_({ gridContainer: e, gridWrapper: t, readScrollElement: n = () => nul
c = !0, a = e.last_scan_end, o = e.last_index_end, s = Number(e.total_assets ?? null);
return;
}
- let l = e.last_scan_end && e.last_scan_end !== a, u = e.last_index_end && e.last_index_end !== o, d = Number(e.total_assets ?? null), f = x_(t, String(n() || "*").trim() || "*"), p = Date.now() - T < 8e3, m = Number.isFinite(d) && Number.isFinite(s) ? d - s : 0, h = Math.max(0, Number(i?.__mjrLastAssetUpsertCount || 0) || 0), g = m >= 20;
- if (Number.isFinite(d) && (s = d), !f || p && O() && !u && !g) {
+ let l = e.last_scan_end && e.last_scan_end !== a, u = e.last_index_end && e.last_index_end !== o, d = Number(e.total_assets ?? null), f = E_(t, String(n() || "*").trim() || "*"), p = Date.now() - w < 8e3, m = Number.isFinite(d) && Number.isFinite(s) ? d - s : 0, h = Math.max(0, Number(i?.__mjrLastAssetUpsertCount || 0) || 0), g = m >= 20;
+ if (Number.isFinite(d) && (s = d), !f || p && D() && !u && !g) {
a = e.last_scan_end, o = e.last_index_end;
return;
}
- let _ = Date.now() - Number(i?.__mjrLastAssetUpsert || 0) < 15e3, v = _ && m > 0 && h > 0 && m <= h + 8, y = g && !l && !u && O();
+ let _ = Date.now() - Number(i?.__mjrLastAssetUpsert || 0) < 15e3, v = _ && m > 0 && h > 0 && m <= h + 8, y = g && !l && !u && D();
u && (o = e.last_index_end);
let b = u && !l && !g && !_;
if (v) {
@@ -16646,7 +16723,7 @@ function S_({ gridContainer: e, gridWrapper: t, readScrollElement: n = () => nul
}
try {
let e = Date.now() - Math.max(0, Number(r() || 0) || 0);
- O() || (e > 1500 ? ee(x) : w = x);
+ D() || (e > 1500 ? A(x) : C = x);
} catch (e) {
console.debug?.(e);
}
@@ -16684,15 +16761,15 @@ function S_({ gridContainer: e, gridWrapper: t, readScrollElement: n = () => nul
} catch (e) {
console.debug?.(e);
}
- b && clearTimeout(b), t.length === 0 || t === "*" ? c() : b = setTimeout(() => {
- b = null, c();
+ y && clearTimeout(y), t.length === 0 || t === "*" ? c() : y = setTimeout(() => {
+ y = null, c();
}, n);
}
}, u = (e) => {
- e?.key === "Enter" && (b &&= (clearTimeout(b), null), c());
+ e?.key === "Enter" && (y &&= (clearTimeout(y), null), c());
};
return e.addEventListener("input", l, { signal: t || void 0 }), e.addEventListener("keypress", u, { signal: t || void 0 }), () => {
- b &&= (clearTimeout(b), null);
+ y &&= (clearTimeout(y), null);
try {
e.removeEventListener("input", l);
} catch (e) {
@@ -16705,9 +16782,9 @@ function S_({ gridContainer: e, gridWrapper: t, readScrollElement: n = () => nul
}
};
},
- markGridDirty: ee,
+ markGridDirty: A,
setVisibility(e = null) {
- return D(e);
+ return E(e);
},
dispose() {
try {
@@ -16716,12 +16793,12 @@ function S_({ gridContainer: e, gridWrapper: t, readScrollElement: n = () => nul
} catch (e) {
console.debug?.(e);
}
- y &&= (clearTimeout(y), null), x = null, S = 0, b &&= (clearTimeout(b), null);
+ v &&= (clearTimeout(v), null), b = null, x = 0, y &&= (clearTimeout(y), null);
}
};
}
// ui/features/panel/panelBootstrap.ts
-function C_(e, { useComfyThemeUI: t }) {
+function O_(e, { useComfyThemeUI: t }) {
t ? e.classList.add("mjr-assets-manager") : e.classList.remove("mjr-assets-manager");
let n = e.parentElement || null, r = n ? {
height: n.style.height,
@@ -16733,7 +16810,7 @@ function C_(e, { useComfyThemeUI: t }) {
} catch (e) {
console.debug?.(e);
}
- _t();
+ bt();
for (let t of [
() => e._eventCleanup?.(),
() => e._mjrPopoverManager?.dispose?.(),
@@ -16747,7 +16824,7 @@ function C_(e, { useComfyThemeUI: t }) {
console.debug?.(e);
}
e.replaceChildren(), e.classList.add("mjr-am-container");
- let i = Ni(e);
+ let i = Ii(e);
try {
e._mjrPopoverManager = i;
} catch (e) {
@@ -16760,14 +16837,14 @@ function C_(e, { useComfyThemeUI: t }) {
};
}
// ui/features/panel/panelSettingsSync.ts
-function w_({ container: e, state: t, sidebar: n, browseSection: r, gridWrapper: i, similarBtn: a, setSemanticEnabled: o, similarEnabledTitle: s, similarDisabledTitle: c, refreshGridFn: l, isSidebarOpen: u, readActiveAssetId: d, getSidebarController: f, panelLifecycleAC: p }) {
- let m = "", h = () => {
+function k_({ container: e, state: t, sidebar: n, browseSection: r, gridWrapper: a, similarBtn: o, setSemanticEnabled: s, similarEnabledTitle: c, similarDisabledTitle: l, refreshGridFn: u, isSidebarOpen: d, readActiveAssetId: f, getSidebarController: p, panelLifecycleAC: m }) {
+ let h = "", g = () => {
try {
- return !!(Mt()?.ai?.vectorSearchEnabled ?? !0);
+ return !!(Ft()?.ai?.vectorSearchEnabled ?? !0);
} catch {
return !0;
}
- }, g = (t) => {
+ }, _ = (t) => {
let n = !!t;
try {
e.classList.toggle("mjr-ai-disabled", !n);
@@ -16775,22 +16852,22 @@ function w_({ container: e, state: t, sidebar: n, browseSection: r, gridWrapper:
console.debug?.(e);
}
try {
- a.disabled = !n, a.title = n ? s : c;
+ o.disabled = !n, o.title = n ? c : l;
} catch (e) {
console.debug?.(e);
}
try {
- o?.(n);
+ s?.(n);
} catch (e) {
console.debug?.(e);
}
- }, _ = (e) => {
- let t = String(e || "right").toLowerCase() === "left" ? "left" : "right", a = t === "left" ? n?.nextElementSibling === i : i?.nextElementSibling === n;
- if (m === t && a) return;
- m = t;
+ }, v = (e) => {
+ let t = String(e || "right").toLowerCase() === "left" ? "left" : "right", i = t === "left" ? n?.nextElementSibling === a : a?.nextElementSibling === n;
+ if (h === t && i) return;
+ h = t;
let o = 0, s = 0;
try {
- o = Number(i?.scrollTop || 0) || 0, s = Number(i?.scrollLeft || 0) || 0;
+ o = Number(a?.scrollTop || 0) || 0, s = Number(a?.scrollLeft || 0) || 0;
} catch (e) {
console.debug?.(e);
}
@@ -16802,40 +16879,40 @@ function w_({ container: e, state: t, sidebar: n, browseSection: r, gridWrapper:
console.debug?.(e);
}
try {
- t === "left" ? (r.appendChild(n), r.appendChild(i), r.insertBefore(n, r.firstChild)) : (r.appendChild(i), r.appendChild(n));
+ t === "left" ? (r.appendChild(n), r.appendChild(a), r.insertBefore(n, r.firstChild)) : (r.appendChild(a), r.appendChild(n));
} catch (e) {
console.debug?.(e);
}
try {
requestAnimationFrame(() => {
try {
- i.scrollTop = o, i.scrollLeft = s;
+ a.scrollTop = o, a.scrollLeft = s;
} catch (e) {
console.debug?.(e);
}
});
} catch {
try {
- i.scrollTop = o, i.scrollLeft = s;
+ a.scrollTop = o, a.scrollLeft = s;
} catch (e) {
console.debug?.(e);
}
}
- }, v = async (e) => {
- let n = String(e || t.scope || "output").toLowerCase(), r = !!Mt()?.watcher?.enabled;
+ }, y = async (e) => {
+ let n = String(e || t.scope || "output").toLowerCase(), r = !!Ft()?.watcher?.enabled;
if (n === "custom") try {
- await Oe(!1);
+ await D(!1);
} catch (e) {
console.debug?.(e);
}
else {
try {
- await Oe(r);
+ await D(r);
} catch (e) {
console.debug?.(e);
}
if (r) try {
- await C({
+ await i({
scope: n,
customRootId: ""
});
@@ -16843,49 +16920,49 @@ function w_({ container: e, state: t, sidebar: n, browseSection: r, gridWrapper:
console.debug?.(e);
}
}
- }, y = (e) => {
+ }, b = (e) => {
let n = String(e?.detail?.key || "").trim(), r = n === "__init__", i = r || n.startsWith("grid.") || n.startsWith("infiniteScroll.") || n.startsWith("siblings.") || n.startsWith("search.") || n.startsWith("rtHydrate.") || n.startsWith("workflowMinimap."), a = r || n.startsWith("sidebar.") || n.startsWith("ai."), o = r || n.startsWith("watcher.");
try {
- let e = Mt(), t = !!(e?.ai?.vectorSearchEnabled ?? !0), o = String(e?.ui?.cardHoverColor || "").trim(), s = String(e?.ui?.cardSelectionColor || "").trim(), c = String(e?.ui?.ratingColor || "").trim(), p = String(e?.ui?.tagColor || "").trim();
- if (/^#[0-9a-fA-F]{3,8}$/.test(o) && document.documentElement.style.setProperty("--mjr-card-hover-color", o), /^#[0-9a-fA-F]{3,8}$/.test(s) && document.documentElement.style.setProperty("--mjr-card-selection-color", s), /^#[0-9a-fA-F]{3,8}$/.test(c) && document.documentElement.style.setProperty("--mjr-rating-color", c), /^#[0-9a-fA-F]{3,8}$/.test(p) && document.documentElement.style.setProperty("--mjr-tag-color", p), _(e.sidebar?.position || "right"), g(t), i) {
- let e = ht() || null;
+ let e = Ft(), t = !!(e?.ai?.vectorSearchEnabled ?? !0), o = String(e?.ui?.cardHoverColor || "").trim(), s = String(e?.ui?.cardSelectionColor || "").trim(), c = String(e?.ui?.ratingColor || "").trim(), l = String(e?.ui?.tagColor || "").trim();
+ if (/^#[0-9a-fA-F]{3,8}$/.test(o) && document.documentElement.style.setProperty("--mjr-card-hover-color", o), /^#[0-9a-fA-F]{3,8}$/.test(s) && document.documentElement.style.setProperty("--mjr-card-selection-color", s), /^#[0-9a-fA-F]{3,8}$/.test(c) && document.documentElement.style.setProperty("--mjr-rating-color", c), /^#[0-9a-fA-F]{3,8}$/.test(l) && document.documentElement.style.setProperty("--mjr-tag-color", l), v(e.sidebar?.position || "right"), _(t), i) {
+ let e = vt() || null;
if (!r && n.startsWith("siblings.")) try {
e?.dispatchEvent(new CustomEvent("mjr:reload-grid"));
} catch {
- e && l(e);
+ e && u(e);
}
- else (n.startsWith("grid.") || n.startsWith("workflowMinimap.")) && e && l(e);
+ else (n.startsWith("grid.") || n.startsWith("workflowMinimap.")) && e && u(e);
}
- a && u() && d() && f()?.refreshActiveAsset?.();
+ a && d() && f() && p()?.refreshActiveAsset?.();
} catch (e) {
console.debug?.(e);
}
try {
if (!o) return;
- v(t.scope);
+ y(t.scope);
} catch (e) {
console.debug?.(e);
}
};
try {
- y({ detail: { key: "__init__" } });
+ b({ detail: { key: "__init__" } });
} catch (e) {
console.debug?.(e);
}
try {
- window.addEventListener?.("mjr-settings-changed", y, { signal: p?.signal });
+ window.addEventListener?.("mjr-settings-changed", b, { signal: m?.signal });
} catch (e) {
console.debug?.(e);
}
return {
- applyWatcherForScope: v,
- isAiEnabled: h,
- applyAiUiState: g,
- applySidebarPosition: _
+ applyWatcherForScope: y,
+ isAiEnabled: g,
+ applyAiUiState: _,
+ applySidebarPosition: v
};
}
// ui/features/panel/panelGridEventBindings.ts
-function T_({ gridContainer: e, panelLifecycleAC: t, requestQueuedReload: n, notifyContextChanged: r, markUserInteraction: i, writePanelValue: a, popovers: o, collectionsPopover: s, gridController: c, registerSummaryDispose: l }) {
+function A_({ gridContainer: e, panelLifecycleAC: t, requestQueuedReload: n, notifyContextChanged: r, markUserInteraction: i, writePanelValue: a, popovers: o, collectionsPopover: s, gridController: c, registerSummaryDispose: l }) {
let u = null;
try {
u = () => n(), e.addEventListener("mjr:reload-grid", u, { signal: t?.signal }), l(() => {
@@ -16913,7 +16990,7 @@ function T_({ gridContainer: e, panelLifecycleAC: t, requestQueuedReload: n, not
}), i(), r();
let l = Number(n?.count || s.length || o.length || 0);
try {
- F(L("toast.nameCollisionInView", "Name collision in view: {n} item(s) selected", { n: l }), "info", 1800);
+ x(L("toast.nameCollisionInView", "Name collision in view: {n} item(s) selected", { n: l }), "info", 1800);
} catch (e) {
console.debug?.(e);
}
@@ -16978,39 +17055,39 @@ function T_({ gridContainer: e, panelLifecycleAC: t, requestQueuedReload: n, not
}
}
// ui/features/panel/panelSimilarSearch.ts
-var E_ = 500;
-function D_(e) {
+var j_ = 500;
+function M_(e) {
return Number(e?.status || 0) === 404 && String(e?.error || "").toLowerCase().includes("non-json");
}
-function O_(e, t = "") {
+function N_(e, t = "") {
let n = Array.isArray(e) ? e : [];
- return n.length <= E_ ? {
+ return n.length <= j_ ? {
list: n,
title: t,
truncated: !1,
total: n.length
} : {
- list: n.slice(0, E_),
- title: `${String(t || "").trim() || "Generation group"} - showing first ${E_}/${n.length}`,
+ list: n.slice(0, j_),
+ title: `${String(t || "").trim() || "Generation group"} - showing first ${j_}/${n.length}`,
truncated: !0,
total: n.length
};
}
-function k_(e = {}) {
+function P_(e = {}) {
let t = String(e?.stackId || e?.stack_id || "").trim();
if (t) return `stack:${t}`;
let n = String(e?.asset?.id || "").trim();
return e?.isDupGroup ? n ? `duplicates:${n}` : "duplicates" : n ? `group:${n}` : "group";
}
-function A_(e, t) {
+function F_(e, t) {
return String(e?.[t] ?? e?.file_info?.[t] ?? "").trim();
}
-function j_({ similarBtn: e, similarPopover: t, similarFindBtn: n, similarDuplicatesBtn: r, similarSameNodeBtn: i, similarSameWorkflowBtn: a, gridContainer: o, state: c, panelLifecycleAC: l, isAiEnabled: u, similarDisabledTitle: d, readActiveAssetId: f, readSelectedAssetIds: p, readPanelValue: m, writePanelValue: h, scopeController: g, closePopovers: _, closePeerPopovers: v, popovers: y, workflowIdInput: b, reloadGrid: x, getDuplicatesAlert: S }) {
- let C = () => String(f() || p()[0] || "").trim(), w = () => {
- let e = Number(C());
+function I_({ similarBtn: e, similarPopover: t, similarFindBtn: n, similarDuplicatesBtn: r, similarSameNodeBtn: i, similarSameWorkflowBtn: a, gridContainer: o, state: s, panelLifecycleAC: c, isAiEnabled: l, similarDisabledTitle: u, readActiveAssetId: d, readSelectedAssetIds: f, readPanelValue: p, writePanelValue: m, scopeController: h, closePopovers: g, closePeerPopovers: _, popovers: v, workflowIdInput: y, reloadGrid: b, getDuplicatesAlert: S }) {
+ let w = () => String(d() || f()[0] || "").trim(), T = () => {
+ let e = Number(w());
return Number.isFinite(e) && e > 0 ? e : 0;
- }, T = () => {
- let e = C();
+ }, E = () => {
+ let e = w();
if (!e) return null;
try {
let t = o?._mjrGetAssets, n = typeof t == "function" ? t() : [];
@@ -17018,29 +17095,29 @@ function j_({ similarBtn: e, similarPopover: t, similarFindBtn: n, similarDuplic
} catch (e) {
return console.debug?.(e), null;
}
- }, E = async () => {
- let e = T();
+ }, D = async () => {
+ let e = E();
if (e) return e;
- let t = w();
- return t ? D(t) : null;
- }, D = async (e = w()) => {
+ let t = T();
+ return t ? O(t) : null;
+ }, O = async (e = T()) => {
if (!e) return null;
try {
- let t = await Ue(e, { timeoutMs: 3e4 });
+ let t = await qe(e, { timeoutMs: 3e4 });
return t?.ok && t.data || null;
} catch (e) {
return console.debug?.(e), null;
}
- }, O = async (e, t) => e && t.some((t) => A_(e, t)) ? e : await D() || e, k = (e = {}) => (Array.isArray(e?.files) ? e.files : []).map((e) => ({
+ }, k = async (e, t) => e && t.some((t) => F_(e, t)) ? e : await O() || e, A = (e = {}) => (Array.isArray(e?.files) ? e.files : []).map((e) => ({
filename: String(e?.filename || "").trim(),
subfolder: String(e?.subfolder || "").trim().replace(/\\/g, "/"),
type: String(e?.type || "").trim().toLowerCase()
- })).filter((e) => e.filename), A = async (e, t) => {
+ })).filter((e) => e.filename), j = async (e, t) => {
let n = [], r = /* @__PURE__ */ new Set();
for (let e of t.slice(0, 4)) {
let t = e.type === "input" ? "input" : "output";
try {
- let i = await Pe(qe({
+ let i = await Ie(Ge({
q: e.filename,
scope: t,
limit: 50,
@@ -17061,187 +17138,187 @@ function j_({ similarBtn: e, similarPopover: t, similarFindBtn: n, similarDuplic
}
}
if (!n.length) {
- F(L("nodeContext.fileNotIndexed", "The node file is not indexed yet. Run a scan first."), "info", 3200);
+ x(L("nodeContext.fileNotIndexed", "The node file is not indexed yet. Run a scan first."), "info", 3200);
return;
}
let i = String(e?.title || e?.sourceNodeType || e?.source_node_type || t[0]?.filename || "").trim();
- h("similarResults", n), h("similarSourceAssetId", `node-file:${t[0]?.filename || ""}`), h("similarTitle", L("nodeContext.fileResultsTitle", "Node {node} file ({n} assets)", {
+ m("similarResults", n), m("similarSourceAssetId", `node-file:${t[0]?.filename || ""}`), m("similarTitle", L("nodeContext.fileResultsTitle", "Node {node} file ({n} assets)", {
node: i || t[0]?.filename || "",
n: n.length
- })), await g?.setScope?.("similar");
- }, ee = async (e = {}) => {
- let t = String(e?.sourceNodeId || e?.source_node_id || "").trim(), n = k(e);
+ })), await h?.setScope?.("similar");
+ }, M = async (e = {}) => {
+ let t = String(e?.sourceNodeId || e?.source_node_id || "").trim(), n = A(e);
if (t || n.length) {
try {
- _?.();
+ g?.();
} catch (e) {
console.debug?.(e);
}
- if (!t) await A(e, n);
+ if (!t) await j(e, n);
else try {
- let r = await Pe(Ne(t, {
+ let r = await Ie(Ee(t, {
jobId: e?.jobId || e?.job_id || "",
latest: e?.latest !== !1,
limit: 500
}), { timeoutMs: 3e4 });
if (!r?.ok) {
- if (D_(r)) {
+ if (M_(r)) {
if (n.length) {
- await A(e, n);
+ await j(e, n);
return;
}
let t = window.MajoorAssetsManager ||= {};
- t.nodeContextRouteMissingToastShown || (t.nodeContextRouteMissingToastShown = !0, F(L("nodeContext.routeMissing", "Node context backend route is not loaded yet. Restart ComfyUI after updating Majoor Assets Manager."), "warn", 7e3));
+ t.nodeContextRouteMissingToastShown || (t.nodeContextRouteMissingToastShown = !0, x(L("nodeContext.routeMissing", "Node context backend route is not loaded yet. Restart ComfyUI after updating Majoor Assets Manager."), "warn", 7e3));
return;
}
if (n.length) {
- await A(e, n);
+ await j(e, n);
return;
}
- F(String(r?.error || L("nodeContext.loadFailed", "Failed to load node assets")), "error", 3e3);
+ x(String(r?.error || L("nodeContext.loadFailed", "Failed to load node assets")), "error", 3e3);
return;
}
let i = Array.isArray(r?.data) ? r.data : [];
if (!i.length) {
if (n.length) {
- await A(e, n);
+ await j(e, n);
return;
}
- F(L("nodeContext.noAssets", "No indexed assets found for this node yet."), "info", 2600);
+ x(L("nodeContext.noAssets", "No indexed assets found for this node yet."), "info", 2600);
return;
}
let a = String(e?.title || e?.sourceNodeType || e?.source_node_type || t).trim();
- h("similarResults", i), h("similarSourceAssetId", `node:${t}`), h("similarTitle", L("nodeContext.resultsTitle", "Node {node} outputs ({n} assets)", {
+ m("similarResults", i), m("similarSourceAssetId", `node:${t}`), m("similarTitle", L("nodeContext.resultsTitle", "Node {node} outputs ({n} assets)", {
node: a || t,
n: i.length
- })), await g?.setScope?.("similar");
+ })), await h?.setScope?.("similar");
} catch (e) {
- console.debug?.(e), F(L("nodeContext.loadFailed", "Failed to load node assets"), "error", 3e3);
+ console.debug?.(e), x(L("nodeContext.loadFailed", "Failed to load node assets"), "error", 3e3);
}
}
- }, j = async () => {
- if (!u()) {
- F(d, "info", 2200);
+ }, N = async () => {
+ if (!l()) {
+ x(u, "info", 2200);
return;
}
try {
- _();
+ g();
} catch (e) {
console.debug?.(e);
}
- let t = w();
+ let t = T();
if (!t) {
- F(L("search.selectAssetForSimilar", "Select an asset first to find similar images/videos."), "info", 2500);
+ x(L("search.selectAssetForSimilar", "Select an asset first to find similar images/videos."), "info", 2500);
return;
}
let n = e.title;
e.disabled = !0, e.title = L("search.findingSimilar", "Finding similar assets...");
try {
- let e = await s(t, {
+ let e = await C(t, {
topK: 100,
- scope: c.scope || "output",
- customRootId: c.customRootId || ""
+ scope: s.scope || "output",
+ customRootId: s.customRootId || ""
});
if (!e?.ok) {
- F(String(e?.error || L("search.findSimilarFailed", "Failed to find similar assets")), "error", 3e3);
+ x(String(e?.error || L("search.findSimilarFailed", "Failed to find similar assets")), "error", 3e3);
return;
}
let n = Array.isArray(e?.data) ? e.data : [];
- h("similarResults", n), h("similarSourceAssetId", String(t)), h("similarTitle", L("search.similarResults", "Similar to asset #{id} ({n} results)", {
+ m("similarResults", n), m("similarSourceAssetId", String(t)), m("similarTitle", L("search.similarResults", "Similar to asset #{id} ({n} results)", {
id: t,
n: n.length
- })), await g?.setScope?.("similar");
+ })), await h?.setScope?.("similar");
} catch (e) {
- console.debug?.(e), F(L("search.findSimilarFailed", "Failed to find similar assets"), "error", 3e3);
+ console.debug?.(e), x(L("search.findSimilarFailed", "Failed to find similar assets"), "error", 3e3);
} finally {
e.disabled = !1, e.title = n;
}
- }, M = async () => {
+ }, ee = async () => {
try {
- _?.();
+ g?.();
} catch (e) {
console.debug?.(e);
}
- let e = await E(), t = String(e?.id || C() || "").trim(), n = md(Array.isArray(e?._mjrDupMembers) ? e._mjrDupMembers : []);
+ let e = await D(), t = String(e?.id || w() || "").trim(), n = _d(Array.isArray(e?._mjrDupMembers) ? e._mjrDupMembers : []);
if (n.length >= 2) {
- h("similarResults", n), h("similarSourceAssetId", t ? `duplicates:${t}` : "duplicates"), h("similarTitle", L("search.duplicateResults", "Duplicates ({n} assets)", { n: n.length })), await g?.setScope?.("similar");
+ m("similarResults", n), m("similarSourceAssetId", t ? `duplicates:${t}` : "duplicates"), m("similarTitle", L("search.duplicateResults", "Duplicates ({n} assets)", { n: n.length })), await h?.setScope?.("similar");
return;
}
let r = (S?.() || {})?.firstGroup;
- r && Array.isArray(r.assets) && r.assets.length >= 2 ? (h("similarResults", r.assets), h("similarSourceAssetId", "duplicates"), h("similarTitle", L("search.duplicateResults", "Duplicates ({n} assets)", { n: r.assets.length })), await g?.setScope?.("similar")) : F(L("search.noKnownDuplicates", "No duplicate group is available yet. Run duplicate analysis from the duplicate alert first."), "info", 3200);
- }, N = async () => {
- let e = await O(await E(), ["source_node_id", "source_node_type"]), t = A_(e, "source_node_id");
- t ? await ee({
- sourceNodeId: t,
- sourceNodeType: A_(e, "source_node_type"),
- jobId: A_(e, "job_id"),
- title: A_(e, "source_node_type") || t
- }) : F(L("search.noSourceNode", "Selected asset has no persisted source node id."), "info", 2600);
+ r && Array.isArray(r.assets) && r.assets.length >= 2 ? (m("similarResults", r.assets), m("similarSourceAssetId", "duplicates"), m("similarTitle", L("search.duplicateResults", "Duplicates ({n} assets)", { n: r.assets.length })), await h?.setScope?.("similar")) : x(L("search.noKnownDuplicates", "No duplicate group is available yet. Run duplicate analysis from the duplicate alert first."), "info", 3200);
}, te = async () => {
+ let e = await k(await D(), ["source_node_id", "source_node_type"]), t = F_(e, "source_node_id");
+ t ? await M({
+ sourceNodeId: t,
+ sourceNodeType: F_(e, "source_node_type"),
+ jobId: F_(e, "job_id"),
+ title: F_(e, "source_node_type") || t
+ }) : x(L("search.noSourceNode", "Selected asset has no persisted source node id."), "info", 2600);
+ }, P = async () => {
try {
- _?.();
+ g?.();
} catch (e) {
console.debug?.(e);
}
- let e = A_(await O(await E(), ["workflow_id"]), "workflow_id");
- if (!e) F(L("search.noWorkflowId", "Selected asset has no persisted workflow id."), "info", 2600);
+ let e = F_(await k(await D(), ["workflow_id"]), "workflow_id");
+ if (!e) x(L("search.noWorkflowId", "Selected asset has no persisted workflow id."), "info", 2600);
else {
- h("workflowId", e);
+ m("workflowId", e);
try {
- b && (b.value = e);
+ y && (y.value = e);
} catch (e) {
console.debug?.(e);
}
try {
- await g?.setScope?.(c.scope || "output");
+ await h?.setScope?.(s.scope || "output");
} catch (e) {
console.debug?.(e);
}
- await x?.();
+ await b?.();
}
};
e?.addEventListener("click", (n) => {
n.stopPropagation();
try {
- v?.();
+ _?.();
} catch (e) {
console.debug?.(e);
}
- y?.toggle?.(t, e);
- }, { signal: l?.signal });
+ v?.toggle?.(t, e);
+ }, { signal: c?.signal });
let ne = (e, t) => {
e?.addEventListener("click", (e) => {
e.stopPropagation(), t();
- }, { signal: l?.signal });
+ }, { signal: c?.signal });
};
- ne(n, j), ne(r, M), ne(i, N), ne(a, te), o?.addEventListener(B.OPEN_STACK_GROUP, async (e) => {
+ ne(n, N), ne(r, ee), ne(i, te), ne(a, P), o?.addEventListener(B.OPEN_STACK_GROUP, async (e) => {
try {
- let t = e?.detail || {}, n = Array.isArray(t?.members) ? t.members : [], r = `Generation group (${n.length} assets)`, i = O_(n, String(t?.title || "").trim() || r);
- i.truncated && F(`Large stack truncated to ${E_}/${i.total} assets to keep the grid responsive.`, "warn", 5e3), h("similarResults", i.list), h("similarSourceAssetId", k_(t)), h("similarTitle", i.title || r), await Promise.resolve(), await g?.setScope?.("similar");
+ let t = e?.detail || {}, n = Array.isArray(t?.members) ? t.members : [], r = `Generation group (${n.length} assets)`, i = N_(n, String(t?.title || "").trim() || r);
+ i.truncated && x(`Large stack truncated to ${j_}/${i.total} assets to keep the grid responsive.`, "warn", 5e3), m("similarResults", i.list), m("similarSourceAssetId", P_(t)), m("similarTitle", i.title || r), await Promise.resolve(), await h?.setScope?.("similar");
} catch (e) {
console.debug?.(e);
}
- }, { signal: l?.signal }), window.addEventListener(B.OPEN_NODE_CONTEXT, (e) => {
+ }, { signal: c?.signal }), window.addEventListener(B.OPEN_NODE_CONTEXT, (e) => {
try {
let e = window.MajoorAssetsManager;
e?.pendingNodeContext && (e.pendingNodeContext = null);
} catch (e) {
console.debug?.(e);
}
- ee(e?.detail || {});
- }, { signal: l?.signal });
+ M(e?.detail || {});
+ }, { signal: c?.signal });
try {
let e = window.MajoorAssetsManager?.pendingNodeContext || null;
e && (window.MajoorAssetsManager.pendingNodeContext = null, setTimeout(() => {
- ee(e);
+ M(e);
}, 0));
} catch (e) {
console.debug?.(e);
}
}
// ui/features/panel/panelPinnedFolders.ts
-function M_({ pinnedFoldersBtn: e, pinnedFoldersController: t = null, pinnedFoldersMenu: n = null, pinnedFoldersPopover: r, popovers: i, closeOtherPopovers: a, state: o, gridContainer: s, customSelect: c, scopeController: l, customRootsController: u, gridController: d, applyWatcherForScope: f, refreshDuplicateAlerts: m, notifyContextChanged: h, panelLifecycleAC: g }) {
- let _ = (e) => {
+function L_({ pinnedFoldersBtn: e, pinnedFoldersController: t = null, pinnedFoldersMenu: n = null, pinnedFoldersPopover: r, popovers: i, closeOtherPopovers: a, state: o, gridContainer: s, customSelect: c, scopeController: l, customRootsController: u, gridController: d, applyWatcherForScope: f, refreshDuplicateAlerts: p, notifyContextChanged: m, panelLifecycleAC: h }) {
+ let g = (e) => {
let t = String(e?.id || "").trim();
if (!t) return null;
let n = String(e?.path || "").trim();
@@ -17250,14 +17327,14 @@ function M_({ pinnedFoldersBtn: e, pinnedFoldersController: t = null, pinnedFold
label: String(e?.name || n || t).trim() || t,
path: n
};
- }, v = async () => {
+ }, _ = async () => {
try {
- let e = await Pe(p.CUSTOM_ROOTS, g?.signal ? { signal: g.signal } : void 0);
- return e?.ok && Array.isArray(e.data) ? e.data.map(_).filter(Boolean) : [];
+ let e = await Ie(I.CUSTOM_ROOTS, h?.signal ? { signal: h.signal } : void 0);
+ return e?.ok && Array.isArray(e.data) ? e.data.map(g).filter(Boolean) : [];
} catch (e) {
return console.debug?.(e), [];
}
- }, y = async (e) => {
+ }, v = async (e) => {
let t = String(e?.id || "").trim();
if (!t) return;
let n = String(e?.label || e?.path || t).trim();
@@ -17284,24 +17361,24 @@ function M_({ pinnedFoldersBtn: e, pinnedFoldersController: t = null, pinnedFold
console.debug?.(e);
}
try {
- await m();
+ await p();
} catch (e) {
console.debug?.(e);
}
try {
- h();
+ m();
} catch (e) {
console.debug?.(e);
}
i.close(r), await d.reloadGrid();
- }, b = async (e, t = null) => {
+ }, y = async (e, t = null) => {
t?.preventDefault?.(), t?.stopPropagation?.();
let n = String(e?.id || "").trim();
if (!n) return;
let r = String(e?.label || e?.path || n).trim();
- if (!await jt(L("dialog.unpinFolder", "Unpin folder \"{name}\"?", { name: r }))) return;
- let i = await me(p.CUSTOM_ROOTS_REMOVE, { id: n });
- if (!i?.ok) F(i?.error || L("toast.unpinFolderFailed", "Failed to unpin folder"), "error");
+ if (!await Pt(L("dialog.unpinFolder", "Unpin folder \"{name}\"?", { name: r }))) return;
+ let i = await he(I.CUSTOM_ROOTS_REMOVE, { id: n });
+ if (!i?.ok) x(i?.error || L("toast.unpinFolderFailed", "Failed to unpin folder"), "error");
else {
String(o.customRootId || "") === n && (o.customRootId = "", o.customRootLabel = "", o.currentFolderRelativePath = "");
try {
@@ -17311,13 +17388,13 @@ function M_({ pinnedFoldersBtn: e, pinnedFoldersController: t = null, pinnedFold
}
await C(), await d.reloadGrid();
}
- }, x = (e) => typeof t?.setPinnedFolders == "function" && (t.setPinnedFolders({
+ }, b = (e) => typeof t?.setPinnedFolders == "function" && (t.setPinnedFolders({
roots: e,
emptyLabel: L("msg.noPinnedFolders", "No pinned folders"),
loadingLabel: L("status.loading", "Loading..."),
unpinLabel: L("ctx.unpinFolder", "Unpin folder"),
- onOpen: y,
- onUnpin: b,
+ onOpen: v,
+ onUnpin: y,
loading: !1
}), !0), S = (e) => {
if (n) {
@@ -17330,9 +17407,9 @@ function M_({ pinnedFoldersBtn: e, pinnedFoldersController: t = null, pinnedFold
let e = document.createElement("div");
e.className = "mjr-pinned-folder-row";
let r = document.createElement("button");
- r.type = "button", r.className = "mjr-menu-item mjr-pinned-folder-open", r.textContent = t.label, r.addEventListener("click", () => y(t), { signal: g?.signal });
+ r.type = "button", r.className = "mjr-menu-item mjr-pinned-folder-open", r.textContent = t.label, r.addEventListener("click", () => v(t), { signal: h?.signal });
let i = document.createElement("button");
- i.type = "button", i.className = "mjr-menu-item mjr-pinned-folder-unpin", i.title = L("ctx.unpinFolder", "Unpin folder"), i.textContent = "x", i.addEventListener("click", (e) => b(t, e), { signal: g?.signal }), e.appendChild(r), e.appendChild(i), n.appendChild(e);
+ i.type = "button", i.className = "mjr-menu-item mjr-pinned-folder-unpin", i.title = L("ctx.unpinFolder", "Unpin folder"), i.textContent = "x", i.addEventListener("click", (e) => y(t, e), { signal: h?.signal }), e.appendChild(r), e.appendChild(i), n.appendChild(e);
}
else {
let e = document.createElement("div");
@@ -17346,8 +17423,8 @@ function M_({ pinnedFoldersBtn: e, pinnedFoldersController: t = null, pinnedFold
} catch (e) {
console.debug?.(e);
}
- let e = await v();
- x(e) || S(e);
+ let e = await _();
+ b(e) || S(e);
}
e?.addEventListener("click", async (t) => {
t.stopPropagation();
@@ -17357,11 +17434,11 @@ function M_({ pinnedFoldersBtn: e, pinnedFoldersController: t = null, pinnedFold
console.debug?.(e);
}
a(), i.toggle(r, e);
- }, { signal: g?.signal });
+ }, { signal: h?.signal });
}
// ui/features/filters/calendar/AgendaCalendar.ts
-var N_ = (e) => String(e).padStart(2, "0");
-function P_(e) {
+var R_ = (e) => String(e).padStart(2, "0");
+function z_(e) {
try {
let t = String(e || "").trim();
if (!/^\d{4}-\d{2}-\d{2}$/.test(t)) return null;
@@ -17373,50 +17450,50 @@ function P_(e) {
return null;
}
}
-function F_(e) {
+function B_(e) {
try {
let t = e.getFullYear(), n = e.getMonth() + 1, r = e.getDate();
- return `${t}-${N_(n)}-${N_(r)}`;
+ return `${t}-${R_(n)}-${R_(r)}`;
} catch {
return "";
}
}
-function I_(e) {
+function V_(e) {
try {
- return `${e.getFullYear()}-${N_(e.getMonth() + 1)}`;
+ return `${e.getFullYear()}-${R_(e.getMonth() + 1)}`;
} catch {
return "";
}
}
-function L_(e) {
+function H_(e) {
try {
return new Date(e.getFullYear(), e.getMonth(), 1);
} catch {
return /* @__PURE__ */ new Date();
}
}
-function R_(e, t) {
+function U_(e, t) {
try {
return new Date(e.getFullYear(), e.getMonth() + t, 1);
} catch {
return /* @__PURE__ */ new Date();
}
}
-function z_(e) {
+function W_(e) {
try {
return new Date(e.getFullYear(), e.getMonth() + 1, 0).getDate();
} catch {
return 31;
}
}
-function B_(e) {
+function G_(e) {
try {
return (e.getDay() + 6) % 7;
} catch {
return 0;
}
}
-function V_(e, t) {
+function K_(e, t) {
if (e) try {
let n = String(e.value || "");
e.value = t || "", n !== e.value && e.dispatchEvent?.(new Event("change", { bubbles: !0 }));
@@ -17424,37 +17501,37 @@ function V_(e, t) {
console.debug?.(e);
}
}
-async function H_({ state: t, monthKey: n }) {
+async function q_({ state: e, monthKey: t }) {
try {
- let r = String(t?.scope || "output");
- if (r === "collection") return {
+ let n = String(e?.scope || "output");
+ if (n === "collection") return {
ok: !0,
days: {}
};
- let i = String(t?.currentFolderRelativePath || "").trim(), a = r === "custom" && !t?.customRootId ? null : i || null, o = e({
- scope: r,
- customRootId: t?.customRootId || null,
- subfolder: a,
- month: n,
- kind: t?.kindFilter || null,
- hasWorkflow: t?.workflowOnly ? !0 : null,
- minRating: Number(t?.minRating || 0) || 0,
- minSizeMB: Number(t?.minSizeMB || 0) || 0,
- maxSizeMB: Number(t?.maxSizeMB || 0) || 0,
- minWidth: Number(t?.minWidth || 0) || 0,
- minHeight: Number(t?.minHeight || 0) || 0,
- maxWidth: Number(t?.maxWidth || 0) || 0,
- maxHeight: Number(t?.maxHeight || 0) || 0,
- workflowType: String(t?.workflowType || "").trim().toUpperCase() || null,
+ let r = String(e?.currentFolderRelativePath || "").trim(), i = n === "custom" && !e?.customRootId ? null : r || null, a = Xe({
+ scope: n,
+ customRootId: e?.customRootId || null,
+ subfolder: i,
+ month: t,
+ kind: e?.kindFilter || null,
+ hasWorkflow: e?.workflowOnly ? !0 : null,
+ minRating: Number(e?.minRating || 0) || 0,
+ minSizeMB: Number(e?.minSizeMB || 0) || 0,
+ maxSizeMB: Number(e?.maxSizeMB || 0) || 0,
+ minWidth: Number(e?.minWidth || 0) || 0,
+ minHeight: Number(e?.minHeight || 0) || 0,
+ maxWidth: Number(e?.maxWidth || 0) || 0,
+ maxHeight: Number(e?.maxHeight || 0) || 0,
+ workflowType: String(e?.workflowType || "").trim().toUpperCase() || null,
dateRange: null,
dateExact: null
- }), s = await Pe(o);
- return !s || !s.ok ? {
+ }), o = await Ie(a);
+ return !o || !o.ok ? {
ok: !1,
- error: s?.error || "Histogram error"
+ error: o?.error || "Histogram error"
} : {
ok: !0,
- days: s?.data?.days && typeof s.data.days == "object" ? s.data.days : {}
+ days: o?.data?.days && typeof o.data.days == "object" ? o.data.days : {}
};
} catch (e) {
return {
@@ -17463,7 +17540,7 @@ async function H_({ state: t, monthKey: n }) {
};
}
}
-function U_({ container: e, hiddenInput: t, state: n, onRequestReloadGrid: r = null } = {}) {
+function J_({ container: e, hiddenInput: t, state: n, onRequestReloadGrid: r = null } = {}) {
if (!e || !(e instanceof HTMLElement) || !t) return {
dispose() {},
refresh() {}
@@ -17486,7 +17563,7 @@ function U_({ container: e, hiddenInput: t, state: n, onRequestReloadGrid: r = n
d.type = "button", d.className = "mjr-btn mjr-agenda-clear", d.textContent = L("action.clear", "Clear");
let f = document.createElement("button");
f.type = "button", f.className = "mjr-btn mjr-agenda-refresh", f.textContent = L("action.refresh", "Refresh"), u.appendChild(d), u.appendChild(f), i.appendChild(a), i.appendChild(l), i.appendChild(u), e.appendChild(i);
- let p = L_(P_(t.value) || /* @__PURE__ */ new Date()), m = {}, h = 0, g = !1, _ = () => {
+ let p = H_(z_(t.value) || /* @__PURE__ */ new Date()), m = {}, h = 0, g = !1, _ = () => {
if (g) return;
let e = p.getFullYear(), n = p.getMonth();
s.textContent = p.toLocaleString(void 0, {
@@ -17506,13 +17583,13 @@ function U_({ container: e, hiddenInput: t, state: n, onRequestReloadGrid: r = n
let t = document.createElement("div");
t.className = "mjr-agenda-weekday", t.textContent = e, l.appendChild(t);
}
- let i = B_(new Date(e, n, 1)), a = z_(p), o = P_(t.value), c = o ? F_(o) : "";
+ let i = G_(new Date(e, n, 1)), a = W_(p), o = z_(t.value), c = o ? B_(o) : "";
for (let e = 0; e < i; e++) {
let e = document.createElement("div");
e.className = "mjr-agenda-day mjr-agenda-day--blank", l.appendChild(e);
}
for (let r = 1; r <= a; r++) {
- let i = F_(new Date(e, n, r)), a = Number(m?.[i] || 0) || 0, o = document.createElement("button");
+ let i = B_(new Date(e, n, r)), a = Number(m?.[i] || 0) || 0, o = document.createElement("button");
if (o.type = "button", o.className = "mjr-agenda-day", o.textContent = String(r), o.dataset.date = i, a > 0) {
o.classList.add("mjr-agenda-day--has-assets");
let e = L(a === 1 ? "tooltip.assetsDaySingular" : "tooltip.assetsDayPlural", a === 1 ? "{count} asset" : "{count} assets", { count: a });
@@ -17521,26 +17598,26 @@ function U_({ container: e, hiddenInput: t, state: n, onRequestReloadGrid: r = n
t.className = "mjr-agenda-day-badge", t.textContent = a > 99 ? "99+" : String(a), t.setAttribute("aria-label", e), o.appendChild(t);
} else o.title = L("tooltip.noAssetsDay", "No assets on this day");
i === c && o.classList.add("mjr-agenda-day--selected"), o.addEventListener("click", () => {
- V_(t, String(t.value || "").trim() === i ? "" : i);
+ K_(t, String(t.value || "").trim() === i ? "" : i);
}), l.appendChild(o);
}
}, v = async () => {
if (g) return;
- let e = I_(p);
+ let e = V_(p);
if (!e) return;
h += 1;
- let t = h, r = await H_({
+ let t = h, r = await q_({
state: n,
monthKey: e
});
g || t === h && (m = r.ok && r.days || {}, _());
};
return o.addEventListener("click", async () => {
- p = R_(p, -1), await v();
+ p = U_(p, -1), await v();
}), c.addEventListener("click", async () => {
- p = R_(p, 1), await v();
+ p = U_(p, 1), await v();
}), d.addEventListener("click", () => {
- V_(t, "");
+ K_(t, "");
try {
r?.();
} catch (e) {
@@ -17549,9 +17626,9 @@ function U_({ container: e, hiddenInput: t, state: n, onRequestReloadGrid: r = n
}), f.addEventListener("click", async () => {
await v();
}), t.addEventListener("change", () => {
- let e = P_(t.value);
+ let e = z_(t.value);
if (e) {
- let t = L_(e);
+ let t = H_(e);
(t.getFullYear() !== p.getFullYear() || t.getMonth() !== p.getMonth()) && (p = t);
}
_();
@@ -17568,14 +17645,14 @@ function U_({ container: e, hiddenInput: t, state: n, onRequestReloadGrid: r = n
};
}
// ui/features/panel/controllers/filtersController.ts
-var W_ = (e) => {
+var Y_ = (e) => {
let t = String(e ?? "").trim();
if (!t) return 0;
let n = t.replace(",", "."), r = Number(n);
return Number.isFinite(r) ? r : 0;
};
-function G_({ state: e, kindSelect: t, wfCheckbox: n, workflowTypeSelect: r, workflowIdInput: i, workflowModelInput: a, workflowRunsOnSelect: o, ratingSelect: s, minSizeInput: c, maxSizeInput: l, resolutionPresetSelect: u, minWidthInput: d, minHeightInput: f, maxWidthInput: p, maxHeightInput: m, dateRangeSelect: h, dateExactInput: g, reloadGrid: _, reconcileSelection: v = null, onFiltersChanged: y = null, lifecycleSignal: b = null }) {
- let { write: x } = Uh(e, [
+function X_({ state: e, kindSelect: t, wfCheckbox: n, workflowTypeSelect: r, workflowIdInput: i, workflowModelInput: a, workflowRunsOnSelect: o, ratingSelect: s, minSizeInput: c, maxSizeInput: l, resolutionPresetSelect: u, minWidthInput: d, minHeightInput: f, maxWidthInput: p, maxHeightInput: m, dateRangeSelect: h, dateExactInput: g, reloadGrid: _, reconcileSelection: v = null, onFiltersChanged: y = null, lifecycleSignal: b = null }) {
+ let { write: x } = Jh(e, [
"kindFilter",
"workflowOnly",
"minRating",
@@ -17687,7 +17764,7 @@ function G_({ state: e, kindSelect: t, wfCheckbox: n, workflowTypeSelect: r, wor
C();
}, b ? { signal: b } : void 0);
let E = () => {
- let e = W_(c?.value || 0), t = W_(l?.value || 0), n = Number.isFinite(e) && e > 0 ? e : 0, r = Number.isFinite(t) && t > 0 ? t : 0;
+ let e = Y_(c?.value || 0), t = Y_(l?.value || 0), n = Number.isFinite(e) && e > 0 ? e : 0, r = Number.isFinite(t) && t > 0 ? t : 0;
r > 0 && n > 0 && r < n && (r = n, l && (l.value = String(r))), x("minSizeMB", n), x("maxSizeMB", r);
try {
y?.();
@@ -17698,7 +17775,7 @@ function G_({ state: e, kindSelect: t, wfCheckbox: n, workflowTypeSelect: r, wor
};
T(c, "change", E, b ? { signal: b } : void 0), T(l, "change", E, b ? { signal: b } : void 0);
let D = () => {
- let e = W_(d?.value || 0), t = W_(f?.value || 0), n = W_(p?.value || 0), r = W_(m?.value || 0), i = Number.isFinite(e) && e > 0 ? Math.round(e) : 0, a = Number.isFinite(t) && t > 0 ? Math.round(t) : 0, o = Number.isFinite(n) && n > 0 ? Math.round(n) : 0, s = Number.isFinite(r) && r > 0 ? Math.round(r) : 0;
+ let e = Y_(d?.value || 0), t = Y_(f?.value || 0), n = Y_(p?.value || 0), r = Y_(m?.value || 0), i = Number.isFinite(e) && e > 0 ? Math.round(e) : 0, a = Number.isFinite(t) && t > 0 ? Math.round(t) : 0, o = Number.isFinite(n) && n > 0 ? Math.round(n) : 0, s = Number.isFinite(r) && r > 0 ? Math.round(r) : 0;
o > 0 && i > 0 && o < i && (o = i, p && (p.value = String(o))), s > 0 && a > 0 && s < a && (s = a, m && (m.value = String(s))), x("minWidth", i), x("minHeight", a), x("maxWidth", o), x("maxHeight", s);
try {
u && (u.value = {
@@ -17782,7 +17859,7 @@ function G_({ state: e, kindSelect: t, wfCheckbox: n, workflowTypeSelect: r, wor
};
}
// ui/features/panel/panelFiltersInit.ts
-function K_({ state: e, hasVueHeaderSection: t, kindSelect: n, wfCheckbox: r, workflowTypeSelect: i, workflowIdInput: a, workflowModelInput: o, workflowRunsOnSelect: s, ratingSelect: c, minSizeInput: l, maxSizeInput: u, resolutionPresetSelect: d, minWidthInput: f, minHeightInput: p, maxWidthInput: m, maxHeightInput: h, dateRangeSelect: g, dateExactInput: _, agendaContainer: v, gridController: y, reconcileVisibleSelection: b, exitSimilarViewIfActive: x, notifyContextChanged: S, panelLifecycleAC: C, popovers: w = null, filterPopover: T = null }) {
+function Z_({ state: e, hasVueHeaderSection: t, kindSelect: n, wfCheckbox: r, workflowTypeSelect: i, workflowIdInput: a, workflowModelInput: o, workflowRunsOnSelect: s, ratingSelect: c, minSizeInput: l, maxSizeInput: u, resolutionPresetSelect: d, minWidthInput: f, minHeightInput: p, maxWidthInput: m, maxHeightInput: h, dateRangeSelect: g, dateExactInput: _, agendaContainer: v, gridController: y, reconcileVisibleSelection: b, exitSimilarViewIfActive: x, notifyContextChanged: S, panelLifecycleAC: C, popovers: w = null, filterPopover: T = null }) {
let E = null;
try {
try {
@@ -17792,7 +17869,7 @@ function K_({ state: e, hasVueHeaderSection: t, kindSelect: n, wfCheckbox: r, wo
} catch (e) {
console.debug?.(e);
}
- E = U_({
+ E = J_({
container: v,
hiddenInput: _,
state: e,
@@ -17833,7 +17910,7 @@ function K_({ state: e, hasVueHeaderSection: t, kindSelect: n, wfCheckbox: r, wo
D = () => {
e &&= (clearTimeout(e), null);
};
- } else D = G_({
+ } else D = X_({
state: e,
kindSelect: n,
wfCheckbox: r,
@@ -17870,7 +17947,7 @@ function K_({ state: e, hasVueHeaderSection: t, kindSelect: n, wfCheckbox: r, wo
};
}
// ui/features/panel/panelContextMenuExtraActions.ts
-function q_({ state: e, scopeController: t, browserNav: r, gridController: i, getDuplicatesAlert: a, refreshDuplicateAlerts: o }) {
+function Q_({ state: e, scopeController: t, browserNav: n, gridController: r, getDuplicatesAlert: i, refreshDuplicateAlerts: a }) {
return {
clearSimilarScope: async () => {
try {
@@ -17888,48 +17965,48 @@ function q_({ state: e, scopeController: t, browserNav: r, gridController: i, ge
},
resetBrowserHistory: () => {
try {
- r?.resetHistory?.();
+ n?.resetHistory?.();
} catch (e) {
console.debug?.(e);
}
},
onDuplicateAlertClick: async (e) => {
- let t = (e || a() || {}).firstGroup;
+ let t = (e || i() || {}).firstGroup;
if (t && Array.isArray(t.assets) && t.assets.length >= 2) {
let e = t.assets[0] || {}, n = t.assets.slice(1).map((e) => Number(e?.id || 0)).filter((e) => e > 0);
if (n.length) {
- if (await jt(L("dialog.mergeDuplicateTags", "Exact duplicates detected ({count}). Merge tags into \"{target}\"?", {
+ if (await Pt(L("dialog.mergeDuplicateTags", "Exact duplicates detected ({count}). Merge tags into \"{target}\"?", {
count: t.assets.length,
target: e?.filename || e?.id
}))) {
- let t = await Ie(Number(e?.id || 0), n);
- t?.ok ? F(L("toast.tagsMerged", "Tags merged"), "success", 2200) : F(L("toast.tagMergeFailed", "Tag merge failed: {error}", { error: t?.error || "error" }), "warning", 3500);
+ let t = await ve(Number(e?.id || 0), n);
+ t?.ok ? x(L("toast.tagsMerged", "Tags merged"), "success", 2200) : x(L("toast.tagMergeFailed", "Tag merge failed: {error}", { error: t?.error || "error" }), "warning", 3500);
}
- if (await jt(L("dialog.deleteExactDuplicates", "Delete {count} exact duplicate(s)?", { count: n.length }))) {
- let e = await w(n);
- e?.ok ? (F(L("toast.duplicatesDeleted", "Duplicates deleted"), "success", 2200), await i.reloadGrid()) : F(L("toast.deleteFailed", "Delete failed: {error}", { error: e?.error || "error" }), "warning", 3500);
+ if (await Pt(L("dialog.deleteExactDuplicates", "Delete {count} exact duplicate(s)?", { count: n.length }))) {
+ let e = await k(n);
+ e?.ok ? (x(L("toast.duplicatesDeleted", "Duplicates deleted"), "success", 2200), await r.reloadGrid()) : x(L("toast.deleteFailed", "Delete failed: {error}", { error: e?.error || "error" }), "warning", 3500);
}
- await o();
+ await a();
return;
}
}
- if (!await jt(L("dialog.startDuplicateAnalysis", "Start duplicate analysis in background?"))) return;
- let r = await n(500);
- r?.ok ? F(L("toast.dupAnalysisStarted", "Duplicate analysis started"), "info", 2200) : F(L("toast.analysisNotStarted", "Analysis not started: {error}", { error: r?.error || "error" }), "warning", 3500), await o();
+ if (!await Pt(L("dialog.startDuplicateAnalysis", "Start duplicate analysis in background?"))) return;
+ let n = await T(500);
+ n?.ok ? x(L("toast.dupAnalysisStarted", "Duplicate analysis started"), "info", 2200) : x(L("toast.analysisNotStarted", "Analysis not started: {error}", { error: n?.error || "error" }), "warning", 3500), await a();
}
};
}
// ui/features/panel/panelRuntime.ts
-async function J_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
- return Y_(e, {
+async function $_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
+ return ev(e, {
useComfyThemeUI: t,
external: n
});
}
-async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
- _m("panelRender"), bm("panelRender");
- let r = typeof AbortController < "u" ? new AbortController() : null, { popovers: i, hostWrapper: a, hostWrapperPrevStyle: o } = C_(e, { useComfyThemeUI: t }), s = Hh();
- if (!s) throw Error("[Majoor] mountAssetsManagerPanelRuntime requires an active Pinia panel store");
+async function ev(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
+ bm("panelRender"), Cm("panelRender");
+ let r = typeof AbortController < "u" ? new AbortController() : null, { popovers: i, hostWrapper: o, hostWrapperPrevStyle: s } = O_(e, { useComfyThemeUI: t }), c = qh();
+ if (!c) throw Error("[Majoor] mountAssetsManagerPanelRuntime requires an active Pinia panel store");
for (let e of [
"statusSection",
"statusDot",
@@ -17944,7 +18021,7 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
"gridContainer",
"sidebar"
]) if (!n?.[e]) throw Error(`[Majoor] mountAssetsManagerPanelRuntime now requires external.${e}`);
- let c = Uh(null, [
+ let l = Jh(null, [
"searchQuery",
"scrollTop",
"scope",
@@ -17964,31 +18041,31 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
"similarTitle",
"similarSourceAssetId"
]);
- s.viewScope = String(s.viewScope || "").trim().toLowerCase() === "similar" ? "similar" : "", s.similarResults = Array.isArray(s.similarResults) ? s.similarResults : [], s.similarTitle = String(s.similarTitle || ""), s.similarSourceAssetId = String(s.similarSourceAssetId || "");
- let l = (e, t = "") => c.read(e, s?.[e] ?? t), u = (e, t) => c.write(e, t), d = () => {
- let e = l("selectedAssetIds", []);
+ c.viewScope = String(c.viewScope || "").trim().toLowerCase() === "similar" ? "similar" : "", c.similarResults = Array.isArray(c.similarResults) ? c.similarResults : [], c.similarTitle = String(c.similarTitle || ""), c.similarSourceAssetId = String(c.similarSourceAssetId || "");
+ let u = (e, t = "") => l.read(e, c?.[e] ?? t), d = (e, t) => l.write(e, t), f = () => {
+ let e = u("selectedAssetIds", []);
return Array.isArray(e) ? e.map(String).filter(Boolean) : [];
- }, f = () => String(l("activeAssetId", "") || "").trim(), m = () => !!l("sidebarOpen", !1), { header: h, tabButtons: g, customMenuBtn: _, filterBtn: v, sortBtn: y, collectionsBtn: b, pinnedFoldersBtn: x, messageBtn: S, settingsBtn: C, customPopover: w, customSelect: T, customAddBtn: E, customRemoveBtn: D, filterPopover: O, kindSelect: A, wfCheckbox: ee, workflowTypeSelect: j, workflowIdInput: M, workflowModelInput: N, workflowRunsOnSelect: te, ratingSelect: ne, minSizeInput: P, maxSizeInput: re, resolutionPresetSelect: I, minWidthInput: ie, minHeightInput: ae, maxWidthInput: oe, maxHeightInput: se, dateRangeSelect: ce, dateExactInput: le, agendaContainer: ue, sortPopover: de, sortMenu: fe, collectionsPopover: pe, pinnedFoldersPopover: he, pinnedFoldersController: ge, pinnedFoldersMenu: _e, messagePopoverTitle: ve, messagePopover: ye, messageTabBtn: be, messageTabBadge: xe, historyTabBtn: Se, historyTabBadge: Ce, historyTabCount: we, historyPanel: Te, shortcutsTabBtn: Ee, messageList: De, shortcutsPanel: Oe, markReadBtn: ke, searchSection: Ae, searchInputEl: je, similarBtn: Me, similarPopover: Ne, similarFindBtn: Fe, similarDuplicatesBtn: Ie, similarSameNodeBtn: Le, similarSameWorkflowBtn: Re, setSemanticEnabled: ze, _headerDispose: Be } = n.headerSection, Ve = !!n?.headerSection?.isVueHeader;
- c.read("searchQuery", "") && (je.value = c.read("searchQuery", "")), je.addEventListener("input", (e) => {
- c.write("searchQuery", e.target.value);
+ }, p = () => String(u("activeAssetId", "") || "").trim(), m = () => !!u("sidebarOpen", !1), { header: h, tabButtons: g, customMenuBtn: _, filterBtn: v, sortBtn: y, collectionsBtn: b, pinnedFoldersBtn: S, messageBtn: C, settingsBtn: w, customPopover: T, customSelect: E, customAddBtn: D, customRemoveBtn: O, filterPopover: k, kindSelect: A, wfCheckbox: j, workflowTypeSelect: M, workflowIdInput: N, workflowModelInput: ee, workflowRunsOnSelect: te, ratingSelect: P, minSizeInput: ne, maxSizeInput: re, resolutionPresetSelect: ie, minWidthInput: F, minHeightInput: ae, maxWidthInput: oe, maxHeightInput: se, dateRangeSelect: ce, dateExactInput: le, agendaContainer: ue, sortPopover: de, sortMenu: fe, collectionsPopover: pe, pinnedFoldersPopover: me, pinnedFoldersController: ge, pinnedFoldersMenu: _e, messagePopoverTitle: ve, messagePopover: ye, messageTabBtn: be, messageTabBadge: xe, historyTabBtn: Se, historyTabBadge: Ce, historyTabCount: we, historyPanel: Te, shortcutsTabBtn: Ee, messageList: De, shortcutsPanel: Oe, markReadBtn: ke, searchSection: Ae, searchInputEl: je, similarBtn: Me, similarPopover: Ne, similarFindBtn: Pe, similarDuplicatesBtn: Fe, similarSameNodeBtn: Le, similarSameWorkflowBtn: Re, setSemanticEnabled: ze, _headerDispose: Be } = n.headerSection, Ve = !!n?.headerSection?.isVueHeader;
+ l.read("searchQuery", "") && (je.value = l.read("searchQuery", "")), je.addEventListener("input", (e) => {
+ l.write("searchQuery", e.target.value);
}, { signal: r?.signal });
- let He = n.summaryBar, Ue = n.updateSummaryBar, We = n.folderBreadcrumb, Ge = n.folderBreadcrumbController || null, Ke = n.statusSection, R = n.statusDot, qe = n.statusText, Je = n.capabilitiesSection, Ye = n.browseSection, Xe = n.gridWrapper, Ze = n.sidebar;
- Mt();
+ let He = n.summaryBar, Ue = n.updateSummaryBar, We = n.folderBreadcrumb, Ge = n.folderBreadcrumbController || null, Ke = n.statusSection, qe = n.statusDot, Je = n.statusText, Ye = n.capabilitiesSection, R = n.browseSection, Xe = n.gridWrapper, Ze = n.sidebar;
+ Ft();
let Qe = document.createElement("div");
Qe.classList.add("mjr-am-content");
let z = null, $e = null;
e.tabIndex = -1;
- let et = null, nt = 0, rt = () => {
+ let et = null, tt = 0, nt = () => {
try {
- nt = Date.now();
+ tt = Date.now();
} catch {
- nt = 0;
+ tt = 0;
}
- }, it = typeof n?.bindGridHostState == "function" && typeof n?.restoreGridUiState == "function", at = !it;
+ }, rt = typeof n?.bindGridHostState == "function" && typeof n?.restoreGridUiState == "function", it = !rt;
Xe.addEventListener("scroll", () => {
- rt(), at && (et && clearTimeout(et), et = setTimeout(() => {
+ nt(), it && (et && clearTimeout(et), et = setTimeout(() => {
try {
- c.write("scrollTop", Xe.scrollTop);
+ l.write("scrollTop", Xe.scrollTop);
} catch (e) {
console.debug?.(e);
}
@@ -17996,9 +18073,9 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
}, {
passive: !0,
signal: r?.signal
- }), z = n.gridContainer, z.parentElement !== Xe && Xe.appendChild(z), pt(z);
+ }), z = n.gridContainer, z.parentElement !== Xe && Xe.appendChild(z), gt(z);
try {
- z.dataset.mjrScope = String(l("scope", s.scope || "output") || "output");
+ z.dataset.mjrScope = String(u("scope", c.scope || "output") || "output");
} catch (e) {
console.debug?.(e);
}
@@ -18016,7 +18093,7 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
let e = () => {
try {
Ue?.({
- state: s,
+ state: c,
gridContainer: z
});
} catch (e) {
@@ -18033,97 +18110,97 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
} catch (e) {
console.debug?.(e);
}
- let ct = n.loadAssets ?? oi, ut = n.loadAssetsFromList ?? si, dt = n.prepareGridForScopeSwitch ?? ci, ft = n.disposeGrid ?? li, mt = n.refreshGrid ?? ui, ht = n.captureAnchor ?? di, vt = n.restoreAnchor ?? fi, yt = n.hydrateGridFromSnapshot ?? ai;
+ let ct = n.loadAssets ?? li, lt = n.loadAssetsFromList ?? ui, ut = n.prepareGridForScopeSwitch ?? di, dt = n.disposeGrid ?? fi, pt = n.refreshGrid ?? pi, mt = n.captureAnchor ?? mi, ht = n.restoreAnchor ?? hi, _t = n.hydrateGridFromSnapshot ?? ci;
if (typeof n?.onGridContainerReady == "function") try {
- n.onGridContainerReady(z, { getState: () => s });
+ n.onGridContainerReady(z, { getState: () => c });
} catch (e) {
console.debug?.(e);
}
- else e._mjrGridContextMenuUnbind = so({
+ else e._mjrGridContextMenuUnbind = uo({
gridContainer: z,
- getState: () => s
+ getState: () => c
});
- let bt = L("search.findSimilar", "Find Similar"), xt = L("search.similarDisabled", "AI features are disabled in settings"), { applyWatcherForScope: St, isAiEnabled: Ct } = w_({
+ let vt = L("search.findSimilar", "Find Similar"), xt = L("search.similarDisabled", "AI features are disabled in settings"), { applyWatcherForScope: St, isAiEnabled: Ct } = k_({
container: e,
- state: s,
+ state: c,
sidebar: Ze,
- browseSection: Ye,
+ browseSection: R,
gridWrapper: Xe,
similarBtn: Me,
setSemanticEnabled: ze,
- similarEnabledTitle: bt,
+ similarEnabledTitle: vt,
similarDisabledTitle: xt,
- refreshGridFn: mt,
+ refreshGridFn: pt,
isSidebarOpen: m,
- readActiveAssetId: f,
+ readActiveAssetId: p,
getSidebarController: () => $e,
panelLifecycleAC: r
});
- Qe.appendChild(Ke), Qe.appendChild(Ae), Qe.appendChild(We), Qe.appendChild(He), Qe.appendChild(Ye), e.appendChild(h);
+ Qe.appendChild(Ke), Qe.appendChild(Ae), Qe.appendChild(We), Qe.appendChild(He), Qe.appendChild(R), e.appendChild(h);
try {
e._mjrVersionUpdateCleanup?.();
} catch (e) {
console.debug?.(e);
}
e._mjrVersionUpdateCleanup = Be || h._mjrVersionUpdateCleanup, e.appendChild(Qe);
- let Tt = () => Wg(je), Et = Gg({
+ let wt = () => Yg(je), Tt = Xg({
gridContainer: z,
loadAssets: ct,
- loadAssetsFromList: ut,
- getCollectionAssets: k,
- disposeGrid: ft,
- getQuery: Tt,
+ loadAssetsFromList: lt,
+ getCollectionAssets: at,
+ disposeGrid: dt,
+ getQuery: wt,
searchInputEl: je,
- state: s
- }), Dt = null, Ot = null, kt = null, At = null, Nt = null, Pt = null, Ft = null, It = null, Lt = null, Rt = !1, Bt = (e) => !!e && String(e?.style?.display || "").toLowerCase() === "block", Vt = () => {
+ state: c
+ }), Et = null, Ot = null, kt = null, At = null, jt = null, Mt = null, Nt = null, It = null, Lt = null, Rt = !1, zt = (e) => !!e && String(e?.style?.display || "").toLowerCase() === "block", Bt = () => {
let e = [
- [v, O],
+ [v, k],
[y, de],
[b, pe],
- [x, he],
- [S, ye],
+ [S, me],
+ [C, ye],
[Me, Ne]
];
for (let [t, n] of e) try {
- t?.classList?.toggle?.("mjr-popover-open", Bt(n)), t?.setAttribute?.("aria-expanded", Bt(n) ? "true" : "false");
+ t?.classList?.toggle?.("mjr-popover-open", zt(n)), t?.setAttribute?.("aria-expanded", zt(n) ? "true" : "false");
} catch (e) {
console.debug?.(e);
}
try {
- C?.classList?.toggle?.("mjr-popover-open", Rt), C?.setAttribute?.("aria-expanded", Rt ? "true" : "false");
+ w?.classList?.toggle?.("mjr-popover-open", Rt), w?.setAttribute?.("aria-expanded", Rt ? "true" : "false");
} catch (e) {
console.debug?.(e);
}
- }, Ht = () => {
+ }, Vt = () => {
try {
Ot?.update?.();
} catch (e) {
console.debug?.(e);
}
try {
- Pt?.renderBreadcrumb?.();
+ Mt?.renderBreadcrumb?.();
} catch (e) {
console.debug?.(e);
}
- Vt();
+ Bt();
};
- it || (It = y_({
+ rt || (It = w_({
gridContainer: z,
- readSelectedAssetIds: d,
- readActiveAssetId: () => f(),
- writeSelectedAssetIds: (e) => u("selectedAssetIds", e),
- writeActiveAssetId: (e) => u("activeAssetId", e),
+ readSelectedAssetIds: f,
+ readActiveAssetId: () => p(),
+ writeSelectedAssetIds: (e) => d("selectedAssetIds", e),
+ writeActiveAssetId: (e) => d("activeAssetId", e),
onSelectionChanged: () => {
- rt(), Ht();
+ nt(), Vt();
},
lifecycleSignal: r?.signal || null
- })), Pt = Kg({
- state: s,
+ })), Mt = Zg({
+ state: c,
gridContainer: z,
folderBreadcrumb: We,
folderBreadcrumbController: Ge,
- customSelect: T,
- reloadGrid: () => Et.reloadGrid(),
+ customSelect: E,
+ reloadGrid: () => Tt.reloadGrid(),
clearSelection: () => {
try {
z?._mjrSetSelection?.([], "");
@@ -18141,15 +18218,15 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
lifecycleSignal: r?.signal || null
});
try {
- Ft = Pt.bindGridFolderNavigation();
+ Nt = Mt.bindGridFolderNavigation();
} catch (e) {
console.debug?.(e);
}
let Ut = async () => {
- let e = String(l("scope", s.scope || "output") || "output").toLowerCase(), t = String(l("customRootId", s.customRootId || "") || "").trim();
- if (e === "custom" && !t) kt = null, Ht();
+ let e = String(u("scope", c.scope || "output") || "output").toLowerCase(), t = String(u("customRootId", c.customRootId || "") || "").trim();
+ if (e === "custom" && !t) kt = null, Vt();
else try {
- let n = await tt({
+ let n = await a({
scope: e,
customRootId: t,
maxGroups: 4,
@@ -18162,12 +18239,12 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
similarCount: Array.isArray(i.similar_pairs) ? i.similar_pairs.length : 0,
firstGroup: Array.isArray(i.exact_groups) ? i.exact_groups[0] : null,
firstPair: Array.isArray(i.similar_pairs) ? i.similar_pairs[0] : null
- }, Ht();
+ }, Vt();
} catch (e) {
console.debug?.(e);
}
}, Wt = null;
- T_({
+ A_({
gridContainer: z,
panelLifecycleAC: r,
requestQueuedReload: () => {
@@ -18177,7 +18254,7 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
console.debug?.(e);
}
Wt = setTimeout(() => {
- Wt = null, an().catch((e) => {
+ Wt = null, rn().catch((e) => {
try {
console.warn("[Majoor] queuedReload failed", e);
} catch (e) {
@@ -18186,33 +18263,33 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
});
}, 120);
},
- notifyContextChanged: Ht,
- markUserInteraction: rt,
- writePanelValue: u,
+ notifyContextChanged: Vt,
+ markUserInteraction: nt,
+ writePanelValue: d,
popovers: i,
collectionsPopover: pe,
- gridController: Et,
+ gridController: Tt,
registerSummaryDispose: st
});
- let Gt = Zg({
- state: s,
- customSelect: T,
- customRemoveBtn: D,
- comfyConfirm: jt,
- comfyPrompt: wt,
- comfyToast: F,
- get: Pe,
- post: me,
- ENDPOINTS: p,
- reloadGrid: Et.reloadGrid,
+ let Gt = n_({
+ state: c,
+ customSelect: E,
+ customRemoveBtn: O,
+ comfyConfirm: Pt,
+ comfyPrompt: Dt,
+ comfyToast: x,
+ get: Ie,
+ post: he,
+ ENDPOINTS: I,
+ reloadGrid: Tt.reloadGrid,
onRootChanged: async () => {
try {
- Pt?.resetHistory?.();
+ Mt?.resetHistory?.();
} catch (e) {
console.debug?.(e);
}
try {
- await St(s.scope);
+ await St(c.scope);
} catch (e) {
console.debug?.(e);
}
@@ -18223,8 +18300,8 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
}
}
}), Kt = Gt.bind({
- customAddBtn: E,
- customRemoveBtn: D
+ customAddBtn: D,
+ customRemoveBtn: O
});
try {
window.addEventListener("mjr:custom-roots-changed", async (e) => {
@@ -18238,34 +18315,34 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
try {
let e = z?._mjrGetAssets, t = z?._mjrSetSelection;
if (typeof e != "function" || typeof t != "function") return;
- let n = (Array.isArray(e()) ? e() : []).map((e) => String(e?.id ?? "").trim()).filter(Boolean), r = d(), i = r.filter((e) => n.includes(e)), a = r.length - i.length;
+ let n = (Array.isArray(e()) ? e() : []).map((e) => String(e?.id ?? "").trim()).filter(Boolean), r = f(), i = r.filter((e) => n.includes(e)), a = r.length - i.length;
if (a <= 0) return;
- let o = f();
- t(i, i.includes(o) ? o : i[0] || ""), F(L("toast.selectionPruned", "{count} items deselected - not visible in current view", { count: a }), "info", 2600, { noHistory: !0 });
+ let o = p();
+ t(i, i.includes(o) ? o : i[0] || ""), x(L("toast.selectionPruned", "{count} items deselected - not visible in current view", { count: a }), "info", 2600, { noHistory: !0 });
} catch (e) {
console.debug?.(e);
}
};
- Dt = qg({
- state: s,
+ Et = Qg({
+ state: c,
tabButtons: g,
customMenuBtn: _,
- customPopover: w,
+ customPopover: T,
popovers: i,
refreshCustomRoots: Gt.refreshCustomRoots,
- reloadGrid: Et.reloadGrid,
+ reloadGrid: Tt.reloadGrid,
reconcileSelection: qt,
onChanged: () => {
try {
- z && (z.dataset.mjrScope = String(l("scope", s.scope || "output") || "output"));
+ z && (z.dataset.mjrScope = String(u("scope", c.scope || "output") || "output"));
} catch (e) {
console.debug?.(e);
}
- Ht();
+ Vt();
},
onScopeChanged: async () => {
try {
- await St(String(l("scope", s.scope || "output") || "output"));
+ await St(String(u("scope", c.scope || "output") || "output"));
} catch (e) {
console.debug?.(e);
}
@@ -18277,19 +18354,19 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
},
onBeforeReload: async () => {
try {
- z.dataset.mjrScope = l("scope", "output"), z.dataset.mjrCustomRootId = l("customRootId", "") || "", z.dataset.mjrSubfolder = l("currentFolderRelativePath", "") || "", z.dataset.mjrCollectionId = l("collectionId", "") || "", z.dataset.mjrViewScope = l("viewScope", "") || "";
+ z.dataset.mjrScope = u("scope", "output"), z.dataset.mjrCustomRootId = u("customRootId", "") || "", z.dataset.mjrSubfolder = u("currentFolderRelativePath", "") || "", z.dataset.mjrCollectionId = u("collectionId", "") || "", z.dataset.mjrViewScope = u("viewScope", "") || "";
} catch (e) {
console.debug?.(e);
}
try {
- dt(z);
+ ut(z);
} catch (e) {
console.debug?.(e);
}
try {
- await ah(R, qe, Je, {
- scope: l("scope", s.scope || "output"),
- customRootId: l("customRootId", s.customRootId || "")
+ await uh(qe, Je, Ye, {
+ scope: u("scope", c.scope || "output"),
+ customRootId: u("customRootId", c.customRootId || "")
}, null, { signal: r?.signal || null });
} catch (e) {
console.debug?.(e);
@@ -18298,16 +18375,16 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
});
let Jt = async ({ reload: e = !1 } = {}) => {
try {
- if (String(l("viewScope", s.viewScope || "") || "").trim().toLowerCase() !== "similar") return;
- await Dt?.clearSimilarScope?.({ reload: e });
+ if (String(u("viewScope", c.viewScope || "") || "").trim().toLowerCase() !== "similar") return;
+ await Et?.clearSimilarScope?.({ reload: e });
} catch (e) {
console.debug?.(e);
}
};
Object.values(g).forEach((e) => {
- e.addEventListener("click", () => Dt.setScope(e.dataset.scope), { signal: r?.signal });
- }), Vg({
- messageBtn: S,
+ e.addEventListener("click", () => Et.setScope(e.dataset.scope), { signal: r?.signal });
+ }), Kg({
+ messageBtn: C,
messagePopover: ye,
title: ve,
messageList: De,
@@ -18323,161 +18400,161 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
popovers: i,
signal: r?.signal,
onBeforeToggle: () => {
- i.close(w), i.close(O), i.close(de), i.close(pe), i.close(he);
+ i.close(T), i.close(k), i.close(de), i.close(pe), i.close(me);
}
}), i.setDismissWhitelist([
- w,
- O,
+ T,
+ k,
de,
pe,
- he,
+ me,
ye,
Ne,
_,
v,
y,
b,
- x,
S,
+ C,
Me
- ]), i.setOnVisibilityChanged?.(() => Vt());
+ ]), i.setOnVisibilityChanged?.(() => Bt());
try {
- window.addEventListener(zt, (e) => {
- Rt = !!e?.detail?.open, Vt();
+ window.addEventListener(Ht, (e) => {
+ Rt = !!e?.detail?.open, Bt();
}, { signal: r?.signal });
} catch (e) {
console.debug?.(e);
}
- Vt(), _.addEventListener("click", (e) => {
- e.stopPropagation(), i.close(O), i.close(de), i.close(pe), i.close(ye), i.close(Ne), i.toggle(w, _);
+ Bt(), _.addEventListener("click", (e) => {
+ e.stopPropagation(), i.close(k), i.close(de), i.close(pe), i.close(ye), i.close(Ne), i.toggle(T, _);
}, { signal: r?.signal }), v.addEventListener("click", (e) => {
- e.stopPropagation(), i.close(w), i.close(de), i.close(pe), i.close(ye), i.close(Ne), i.toggle(O, v);
+ e.stopPropagation(), i.close(T), i.close(de), i.close(pe), i.close(ye), i.close(Ne), i.toggle(k, v);
}, { signal: r?.signal }), b.addEventListener("click", (e) => {
- e.stopPropagation(), i.close(w), i.close(O), i.close(de), i.close(ye), i.close(Ne), i.toggle(pe, b);
+ e.stopPropagation(), i.close(T), i.close(k), i.close(de), i.close(ye), i.close(Ne), i.toggle(pe, b);
}, { signal: r?.signal });
- let Yt = Ve ? null : Qg({
- state: s,
+ let Yt = Ve ? null : r_({
+ state: c,
sortBtn: y,
sortMenu: fe,
sortPopover: de,
popovers: i,
- reloadGrid: Et.reloadGrid,
- onChanged: () => Ht()
+ reloadGrid: Tt.reloadGrid,
+ onChanged: () => Vt()
});
Yt ? Yt.bind({ onBeforeToggle: () => {
- i.close(w), i.close(O), i.close(pe), i.close(ye), i.close(Ne);
+ i.close(T), i.close(k), i.close(pe), i.close(ye), i.close(Ne);
} }) : y.addEventListener("click", (e) => {
- e.stopPropagation(), i.close(w), i.close(O), i.close(pe), i.close(ye), i.close(Ne), i.toggle(de, y);
- }, { signal: r?.signal }), j_({
+ e.stopPropagation(), i.close(T), i.close(k), i.close(pe), i.close(ye), i.close(Ne), i.toggle(de, y);
+ }, { signal: r?.signal }), I_({
similarBtn: Me,
similarPopover: Ne,
- similarFindBtn: Fe,
- similarDuplicatesBtn: Ie,
+ similarFindBtn: Pe,
+ similarDuplicatesBtn: Fe,
similarSameNodeBtn: Le,
similarSameWorkflowBtn: Re,
gridContainer: z,
- state: s,
+ state: c,
panelLifecycleAC: r,
isAiEnabled: Ct,
similarDisabledTitle: xt,
- readActiveAssetId: f,
- readSelectedAssetIds: d,
- readPanelValue: l,
- writePanelValue: u,
- scopeController: Dt,
+ readActiveAssetId: p,
+ readSelectedAssetIds: f,
+ readPanelValue: u,
+ writePanelValue: d,
+ scopeController: Et,
closePopovers: () => {
- i.close(w), i.close(O), i.close(de), i.close(pe), i.close(ye), i.close(Ne);
+ i.close(T), i.close(k), i.close(de), i.close(pe), i.close(ye), i.close(Ne);
},
closePeerPopovers: () => {
- i.close(w), i.close(O), i.close(de), i.close(pe), i.close(ye), i.close(he);
+ i.close(T), i.close(k), i.close(de), i.close(pe), i.close(ye), i.close(me);
},
popovers: i,
- workflowIdInput: M,
- reloadGrid: () => Et.reloadGrid(),
+ workflowIdInput: N,
+ reloadGrid: () => Tt.reloadGrid(),
getDuplicatesAlert: () => kt
- }), M_({
- pinnedFoldersBtn: x,
+ }), L_({
+ pinnedFoldersBtn: S,
pinnedFoldersController: ge,
pinnedFoldersMenu: _e,
- pinnedFoldersPopover: he,
+ pinnedFoldersPopover: me,
popovers: i,
closeOtherPopovers: () => {
- i.close(w), i.close(O), i.close(de), i.close(pe), i.close(ye), i.close(Ne);
+ i.close(T), i.close(k), i.close(de), i.close(pe), i.close(ye), i.close(Ne);
},
- state: s,
+ state: c,
gridContainer: z,
- customSelect: T,
- scopeController: Dt,
+ customSelect: E,
+ scopeController: Et,
customRootsController: Gt,
- gridController: Et,
+ gridController: Tt,
applyWatcherForScope: St,
refreshDuplicateAlerts: Ut,
- notifyContextChanged: Ht,
+ notifyContextChanged: Vt,
panelLifecycleAC: r
});
- let { agendaCalendar: Xt, disposeFilters: Zt } = K_({
- state: s,
+ let { agendaCalendar: Xt, disposeFilters: Zt } = Z_({
+ state: c,
hasVueHeaderSection: Ve,
kindSelect: A,
- wfCheckbox: ee,
- workflowTypeSelect: j,
- workflowIdInput: M,
- workflowModelInput: N,
+ wfCheckbox: j,
+ workflowTypeSelect: M,
+ workflowIdInput: N,
+ workflowModelInput: ee,
workflowRunsOnSelect: te,
- ratingSelect: ne,
- minSizeInput: P,
+ ratingSelect: P,
+ minSizeInput: ne,
maxSizeInput: re,
- resolutionPresetSelect: I,
- minWidthInput: ie,
+ resolutionPresetSelect: ie,
+ minWidthInput: F,
minHeightInput: ae,
maxWidthInput: oe,
maxHeightInput: se,
dateRangeSelect: ce,
dateExactInput: le,
agendaContainer: ue,
- gridController: Et,
+ gridController: Tt,
reconcileVisibleSelection: qt,
exitSimilarViewIfActive: Jt,
- notifyContextChanged: Ht,
+ notifyContextChanged: Vt,
panelLifecycleAC: r,
popovers: i,
- filterPopover: O
- }), Qt = q_({
- state: s,
- scopeController: Dt,
- browserNav: Pt,
- gridController: Et,
+ filterPopover: k
+ }), Qt = Q_({
+ state: c,
+ scopeController: Et,
+ browserNav: Mt,
+ gridController: Tt,
getDuplicatesAlert: () => kt,
refreshDuplicateAlerts: Ut
});
try {
- Ot = Xg({
- state: s,
+ Ot = t_({
+ state: c,
gridContainer: z,
filterBtn: v,
sortBtn: y,
collectionsBtn: b,
searchInputEl: je,
kindSelect: A,
- wfCheckbox: ee,
- workflowTypeSelect: j,
- workflowIdInput: M,
- workflowModelInput: N,
+ wfCheckbox: j,
+ workflowTypeSelect: M,
+ workflowIdInput: N,
+ workflowModelInput: ee,
workflowRunsOnSelect: te,
- ratingSelect: ne,
- minSizeInput: P,
+ ratingSelect: P,
+ minSizeInput: ne,
maxSizeInput: re,
- minWidthInput: ie,
+ minWidthInput: F,
minHeightInput: ae,
maxWidthInput: oe,
maxHeightInput: se,
- resolutionPresetSelect: I,
+ resolutionPresetSelect: ie,
dateRangeSelect: ce,
dateExactInput: le,
- scopeController: Dt,
+ scopeController: Et,
sortController: Yt,
updateSummaryBar: Ue,
- reloadGrid: () => Et.reloadGrid(),
+ reloadGrid: () => Tt.reloadGrid(),
getExtraContext: () => ({ duplicatesAlert: kt }),
extraActions: Qt
});
@@ -18485,17 +18562,17 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
console.debug?.(e);
}
try {
- if (Ht(), it) st(n.bindGridHostState({
- onContextChanged: Ht,
- markUserInteraction: rt
+ if (Vt(), rt) st(n.bindGridHostState({
+ onContextChanged: Vt,
+ markUserInteraction: nt
}));
else {
- let e = () => Ht();
+ let e = () => Vt();
z.addEventListener("mjr:grid-stats", e, { signal: r?.signal }), window.addEventListener?.("mjr-settings-changed", e, { signal: r?.signal });
let t = null, n = null, i = () => {
n && clearTimeout(n), n = setTimeout(() => {
n = null, t && cancelAnimationFrame(t), t = requestAnimationFrame(() => {
- t = null, Ht();
+ t = null, Vt();
});
}, 250);
}, a = new MutationObserver(() => i());
@@ -18525,48 +18602,48 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
} catch (e) {
console.debug?.(e);
}
- $e = g_({
+ $e = x_({
gridContainer: z,
sidebar: Ze,
- createRatingBadge: nn,
- createTagsBadge: hn,
- showAssetInSidebar: kh,
- closeSidebar: Ah,
- state: s
+ createRatingBadge: on,
+ createTagsBadge: vn,
+ showAssetInSidebar: Ph,
+ closeSidebar: Fh,
+ state: c
});
let $t = {
- gridController: Et,
- captureAnchor: ht,
- restoreAnchor: vt,
- restoreGridUiState: it ? (e) => n.restoreGridUiState(e, { onRestoreSidebar: () => {
+ gridController: Tt,
+ captureAnchor: mt,
+ restoreAnchor: ht,
+ restoreGridUiState: rt ? (e) => n.restoreGridUiState(e, { onRestoreSidebar: () => {
try {
$e?.toggleDetails?.();
} catch (e) {
console.debug?.(e);
}
} }) : null,
- readScrollTop: () => c.read("scrollTop", s.scrollTop || 0),
+ readScrollTop: () => l.read("scrollTop", c.scrollTop || 0),
restoreSelectionState: ({ scrollTop: e } = {}) => {
It?.restoreSelectionState?.({ scrollTop: e });
},
- readActiveAssetId: f,
+ readActiveAssetId: p,
isSidebarOpen: m,
toggleSidebarDetails: () => {
$e?.toggleDetails?.();
},
- getQuery: Tt,
- getScope: () => c.read("scope", s.scope),
+ getQuery: wt,
+ getScope: () => l.read("scope", c.scope),
loadAssets: ct,
lifecycleSignal: r?.signal || null
};
- Lt = typeof n?.initAssetsQueryController == "function" ? n.initAssetsQueryController($t) : S_({
+ Lt = typeof n?.initAssetsQueryController == "function" ? n.initAssetsQueryController($t) : D_({
gridContainer: z,
gridWrapper: Xe,
...$t
});
- let en = __({
+ let en = S_({
onTriggerScan: (e) => {
- Zm(R, qe, Je, e || {});
+ nh(qe, Je, Ye, e || {});
},
onToggleDetails: () => {
$e?.toggleDetails?.();
@@ -18590,25 +18667,25 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
onClearSearch: () => {
try {
if (!je) return;
- u("searchQuery", ""), je.value = "", je.dispatchEvent?.(new Event("input", { bubbles: !0 }));
+ d("searchQuery", ""), je.value = "", je.dispatchEvent?.(new Event("input", { bubbles: !0 }));
} catch (e) {
console.debug?.(e);
}
},
getScanContext: () => ({
- scope: c.read("scope", s.scope),
- customRootId: c.read("customRootId", s.customRootId)
+ scope: l.read("scope", c.scope),
+ customRootId: l.read("customRootId", c.customRootId)
})
- }), tn = ho({
+ }), tn = vo({
gridContainer: z,
- createRatingBadge: nn
- }), rn = null;
+ createRatingBadge: on
+ }), nn = null;
if (e._eventCleanup) try {
e._eventCleanup();
} catch (e) {
console.debug?.(e);
}
- en.bind(Qe), tn.bind(), lt("grid");
+ en.bind(Qe), tn.bind(), ft("grid");
try {
e._mjrHotkeys = en, e._mjrRatingHotkeys = tn, e._mjrSidebarController = $e;
} catch (e) {
@@ -18646,7 +18723,7 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
} catch (e) {
console.debug?.(e);
}
- gt().scope === "grid" && lt(null);
+ yt().scope === "grid" && ft(null);
try {
Xt?.dispose?.();
} catch (e) {
@@ -18658,11 +18735,11 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
console.debug?.(e);
}
try {
- rn?.();
+ nn?.();
} catch (e) {
console.debug?.(e);
}
- rn = null;
+ nn = null;
try {
Ze?.dispose?.();
} catch (e) {
@@ -18679,7 +18756,7 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
console.debug?.(e);
}
try {
- Nt && clearTimeout(Nt), Nt = null;
+ jt && clearTimeout(jt), jt = null;
} catch (e) {
console.debug?.(e);
}
@@ -18716,16 +18793,16 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
console.debug?.(e);
}
try {
- Ft?.();
+ Nt?.();
} catch (e) {
console.debug?.(e);
}
try {
- z && ft(z);
+ z && dt(z);
} catch (e) {
console.debug?.(e);
}
- _t(z), z = null;
+ bt(z), z = null;
try {
i.dispose();
} catch (e) {
@@ -18737,67 +18814,67 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
console.debug?.(e);
}
try {
- a && o && (a.style.height = o.height, a.style.minHeight = o.minHeight, a.style.width = o.width);
+ o && s && (o.style.height = s.height, o.style.minHeight = s.minHeight, o.style.width = s.width);
} catch (e) {
console.debug?.(e);
}
};
- let an = async () => {
+ let rn = async () => {
await Lt?.queuedReload?.();
};
- hh(R, qe, Ke, Je, Lt?.createCountersUpdateHandler?.({
- state: s,
+ bh(qe, Je, Ke, Ye, Lt?.createCountersUpdateHandler?.({
+ state: c,
getStableQuery: () => String(z?.dataset?.mjrQuery || "*").trim() || "*",
- getRecentUserInteractionAt: () => Number(nt || 0)
+ getRecentUserInteractionAt: () => Number(tt || 0)
}) ?? (async () => {
- await an();
+ await rn();
}), () => ({
- scope: c.read("scope", s.scope),
- customRootId: c.read("customRootId", s.customRootId)
- })), Dt.setActiveTabStyles(), Pt?.renderBreadcrumb?.(), Gt.refreshCustomRoots().catch(() => {}), rn = Lt?.bindSearchInput?.({
+ scope: l.read("scope", c.scope),
+ customRootId: l.read("customRootId", c.customRootId)
+ })), Et.setActiveTabStyles(), Mt?.renderBreadcrumb?.(), Gt.refreshCustomRoots().catch(() => {}), nn = Lt?.bindSearchInput?.({
searchInputEl: je,
lifecycleSignal: r?.signal || null,
debounceMs: 120,
onQueryChanged: () => {
- Jt({ reload: !1 }), Ht();
+ Jt({ reload: !1 }), Vt();
},
onBeforeReload: () => {
- Jt({ reload: !1 }), Ht();
+ Jt({ reload: !1 }), Vt();
},
startSearchTimer: () => {
- _m("searchQuery");
+ bm("searchQuery");
},
reloadGrid: () => {
- Et.reloadGrid();
+ Tt.reloadGrid();
}
});
- let on = !1;
+ let an = !1;
try {
- on = await yt(z, {
- scope: l("scope", s.scope || "output") || "output",
- query: String(Wg(c.read("searchQuery", s.searchQuery || "*") || "*") || "*"),
- customRootId: l("customRootId", s.customRootId || "") || "",
- subfolder: l("currentFolderRelativePath", s.currentFolderRelativePath || "") || "",
- collectionId: l("collectionId", s.collectionId || "") || "",
- viewScope: l("viewScope", s.viewScope || "") || "",
- kind: l("kindFilter", s.kindFilter || "") || "",
- workflowOnly: !!l("workflowOnly", s.workflowOnly),
- minRating: l("minRating", s.minRating || "") || "",
- minSizeMB: l("minSizeMB", s.minSizeMB || "") || "",
- maxSizeMB: l("maxSizeMB", s.maxSizeMB || "") || "",
- resolutionCompare: l("resolutionCompare", s.resolutionCompare || "") || "",
- minWidth: l("minWidth", s.minWidth || "") || "",
- minHeight: l("minHeight", s.minHeight || "") || "",
- maxWidth: l("maxWidth", s.maxWidth || "") || "",
- maxHeight: l("maxHeight", s.maxHeight || "") || "",
- workflowType: l("workflowType", s.workflowType || "") || "",
- workflowId: l("workflowId", s.workflowId || "") || "",
- workflowModel: l("workflowModelFilter", s.workflowModelFilter || "") || "",
- workflowRunsOn: l("workflowRunsOnFilter", s.workflowRunsOnFilter || "") || "",
- dateRange: l("dateRangeFilter", s.dateRangeFilter || "") || "",
- dateExact: l("dateExactFilter", s.dateExactFilter || "") || "",
- sort: l("sort", s.sort || "mtime_desc") || "mtime_desc"
- }, { title: l("collectionName", s.collectionName || "") || c.read("searchQuery", s.searchQuery || "") || "Cached" });
+ an = await _t(z, {
+ scope: u("scope", c.scope || "output") || "output",
+ query: String(Yg(l.read("searchQuery", c.searchQuery || "*") || "*") || "*"),
+ customRootId: u("customRootId", c.customRootId || "") || "",
+ subfolder: u("currentFolderRelativePath", c.currentFolderRelativePath || "") || "",
+ collectionId: u("collectionId", c.collectionId || "") || "",
+ viewScope: u("viewScope", c.viewScope || "") || "",
+ kind: u("kindFilter", c.kindFilter || "") || "",
+ workflowOnly: !!u("workflowOnly", c.workflowOnly),
+ minRating: u("minRating", c.minRating || "") || "",
+ minSizeMB: u("minSizeMB", c.minSizeMB || "") || "",
+ maxSizeMB: u("maxSizeMB", c.maxSizeMB || "") || "",
+ resolutionCompare: u("resolutionCompare", c.resolutionCompare || "") || "",
+ minWidth: u("minWidth", c.minWidth || "") || "",
+ minHeight: u("minHeight", c.minHeight || "") || "",
+ maxWidth: u("maxWidth", c.maxWidth || "") || "",
+ maxHeight: u("maxHeight", c.maxHeight || "") || "",
+ workflowType: u("workflowType", c.workflowType || "") || "",
+ workflowId: u("workflowId", c.workflowId || "") || "",
+ workflowModel: u("workflowModelFilter", c.workflowModelFilter || "") || "",
+ workflowRunsOn: u("workflowRunsOnFilter", c.workflowRunsOnFilter || "") || "",
+ dateRange: u("dateRangeFilter", c.dateRangeFilter || "") || "",
+ dateExact: u("dateExactFilter", c.dateExactFilter || "") || "",
+ sort: u("sort", c.sort || "mtime_desc") || "mtime_desc"
+ }, { title: u("collectionName", c.collectionName || "") || l.read("searchQuery", c.searchQuery || "") || "Cached" });
} catch (e) {
console.debug?.(e);
}
@@ -18807,22 +18884,22 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
} catch (e) {
console.debug?.(e);
}
- let cn = bp(), ln = !cn && (on || sn) ? Promise.resolve({
+ let cn = Cp(), ln = !cn && (an || sn) ? Promise.resolve({
ok: !0,
- hydrated: !!on,
+ hydrated: !!an,
cached: !!sn
- }) : Et.reloadGrid({
+ }) : Tt.reloadGrid({
reason: cn ? "pending-generated-assets" : "initial-load",
preserveVisibleUntilReady: !cn
});
- if (on) try {
+ if (an) try {
setTimeout(() => {
try {
if (r?.signal?.aborted) return;
} catch (e) {
console.debug?.(e);
}
- Et.reloadGrid().catch(() => {});
+ Tt.reloadGrid().catch(() => {});
}, 200);
} catch (e) {
console.debug?.(e);
@@ -18846,14 +18923,14 @@ async function Y_(e, { useComfyThemeUI: t = !0, external: n = {} } = {}) {
} catch (e) {
console.debug?.(e);
}
- return Cm(vm("panelRender", "gridRender") ?? 0), { gridContainer: z };
+ return Em(xm("panelRender", "gridRender") ?? 0), { gridContainer: z };
}
// ui/vue/components/status/StatusSection.vue
-var X_ = /* @__PURE__ */ tr({
+var tv = /* @__PURE__ */ ir({
__name: "StatusSection",
setup(e, { expose: t }) {
- let n = Xm({ getScanContext: null }), r = n.querySelector("#mjr-status-dot"), i = n.querySelector("#mjr-status-text"), a = n.querySelector("#mjr-status-capabilities");
- return ir(() => {
+ let n = th({ getScanContext: null }), r = n.querySelector("#mjr-status-dot"), i = n.querySelector("#mjr-status-text"), a = n.querySelector("#mjr-status-capabilities");
+ return sr(() => {
try {
n?._mjrStatusPollDispose?.();
} catch {}
@@ -18864,25 +18941,25 @@ var X_ = /* @__PURE__ */ tr({
capabilitiesSection: a
}), (e, t) => null;
}
-}), Z_ = hr({
+}), nv = vr({
open: !1,
initial: null,
resolve: null
});
-function Q_(e = {}) {
- return Z_.open = !0, Z_.initial = e || {}, new Promise((e) => {
- Z_.resolve = e;
+function rv(e = {}) {
+ return nv.open = !0, nv.initial = e || {}, new Promise((e) => {
+ nv.resolve = e;
});
}
-function $_(e = null) {
- let t = Z_.resolve;
- Z_.open = !1, Z_.initial = null, Z_.resolve = null, t && t(e);
+function iv(e = null) {
+ let t = nv.resolve;
+ nv.open = !1, nv.initial = null, nv.resolve = null, t && t(e);
}
// ui/vue/components/panel/SimilarSearchPopover.vue?vue&type=script&setup=true&lang.ts
-var ev = {
+var av = {
class: "mjr-popover mjr-similar-popover",
style: { display: "none" }
-}, tv = { class: "mjr-menu mjr-similar-menu" }, nv = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, rv = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, iv = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, av = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, ov = /* @__PURE__ */ tr({
+}, ov = { class: "mjr-menu mjr-similar-menu" }, sv = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, cv = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, lv = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, uv = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, dv = /* @__PURE__ */ ir({
__name: "SimilarSearchPopover",
setup(e, { expose: t }) {
let n = Q(null), r = Q(null), i = Q(null), a = Q(null), o = (e) => e?.$el || e || null;
@@ -18900,8 +18977,8 @@ var ev = {
return o(a.value);
}
}), (e, t) => {
- let o = Qn("MButton");
- return q(), Y("div", ev, [H("div", tv, [
+ let o = tr("MButton");
+ return q(), Y("div", av, [H("div", ov, [
U(o, {
ref_key: "findSimilarBtnRef",
ref: n,
@@ -18911,7 +18988,7 @@ var ev = {
text: "",
title: Z(L)("search.findSimilarWarning", "Find similar assets. This may be heavy on very large libraries.")
}, {
- default: G(() => [H("span", nv, [t[0] ||= H("i", {
+ default: G(() => [H("span", sv, [t[0] ||= H("i", {
class: "pi pi-sparkles",
"aria-hidden": "true"
}, null, -1), H("span", null, J(Z(L)("search.findSimilar", "Find Similar")), 1)])]),
@@ -18925,7 +19002,7 @@ var ev = {
severity: "secondary",
text: ""
}, {
- default: G(() => [H("span", rv, [t[1] ||= H("i", {
+ default: G(() => [H("span", cv, [t[1] ||= H("i", {
class: "pi pi-clone",
"aria-hidden": "true"
}, null, -1), H("span", null, J(Z(L)("search.findDuplicates", "Find Duplicate")), 1)])]),
@@ -18940,7 +19017,7 @@ var ev = {
severity: "secondary",
text: ""
}, {
- default: G(() => [H("span", iv, [t[2] ||= H("i", {
+ default: G(() => [H("span", lv, [t[2] ||= H("i", {
class: "pi pi-share-alt",
"aria-hidden": "true"
}, null, -1), H("span", null, J(Z(L)("search.generatedWithSameSaveNode", "Generated with same save node")), 1)])]),
@@ -18954,7 +19031,7 @@ var ev = {
severity: "secondary",
text: ""
}, {
- default: G(() => [H("span", av, [t[3] ||= H("i", {
+ default: G(() => [H("span", uv, [t[3] ||= H("i", {
class: "pi pi-sitemap",
"aria-hidden": "true"
}, null, -1), H("span", null, J(Z(L)("search.generatedFromSameWorkflow", "Generated from same workflow")), 1)])]),
@@ -18963,11 +19040,11 @@ var ev = {
])]);
};
}
-}), sv = { class: "mjr-am-search-pill" }, cv = ["id"], lv = { class: "mjr-am-search-tools" }, uv = { class: "mjr-popover-anchor" }, dv = { class: "mjr-popover-anchor" }, fv = "Ctrl/Cmd+F, Ctrl/Cmd+K, Ctrl/Cmd+H", pv = "AND", mv = /* @__PURE__ */ tr({
+}), fv = { class: "mjr-am-search-pill" }, pv = ["id"], mv = { class: "mjr-am-search-tools" }, hv = { class: "mjr-popover-anchor" }, gv = { class: "mjr-popover-anchor" }, _v = "Ctrl/Cmd+F, Ctrl/Cmd+K, Ctrl/Cmd+H", vv = "AND", yv = /* @__PURE__ */ ir({
__name: "SearchBar",
emits: ["search-change"],
setup(e, { expose: t, emit: n }) {
- let r = n, i = Vh(), a = Q(null), o = Q(null), s = Q(null), c = Q(null), l = Q(null), u = Q(null), d = Ae("mjr-search-autocomplete-", 8), f = (e) => e?.$el || e || null, m = () => f(o.value), h = Q(!1), g = Q(!0), _ = Q(pv), v = null, y = null, b = K(() => h.value ? L("search.semanticPlaceholder", "Describe what you're looking for...") : L("search.placeholder", "Search assets...")), x = K(() => h.value ? Gt(L("search.semanticTitle", "AI semantic search — describe your image in natural language"), fv) : Gt(L("search.title", "Search by filename, tags, or attributes (e.g. rating:5, ext:png)"), fv)), S = K(() => h.value ? {
+ let r = n, i = Kh(), a = Q(null), o = Q(null), s = Q(null), c = Q(null), l = Q(null), u = Q(null), d = be("mjr-search-autocomplete-", 8), f = (e) => e?.$el || e || null, p = () => f(o.value), m = Q(!1), h = Q(!0), g = Q(vv), _ = null, v = null, y = K(() => m.value ? L("search.semanticPlaceholder", "Describe what you're looking for...") : L("search.placeholder", "Search assets...")), b = K(() => m.value ? Jt(L("search.semanticTitle", "AI semantic search — describe your image in natural language"), _v) : Jt(L("search.title", "Search by filename, tags, or attributes (e.g. rating:5, ext:png)"), _v)), x = K(() => m.value ? {
background: "rgba(0, 188, 212, 0.2)",
borderColor: "rgba(0, 188, 212, 0.6)",
color: "#00BCD4",
@@ -18977,102 +19054,102 @@ var ev = {
borderColor: "rgba(0, 188, 212, 0.25)",
color: "rgba(0, 188, 212, 0.5)",
boxShadow: "none"
- }), C = () => {
+ }), S = () => {
try {
- let e = m();
+ let e = p();
if (!e) return;
- e.dataset.mjrSemanticMode = h.value ? "1" : "0", e.dataset.mjrMetadataMode = _.value;
+ e.dataset.mjrSemanticMode = m.value ? "1" : "0", e.dataset.mjrMetadataMode = g.value;
} catch (e) {
console.debug?.(e);
}
- }, w = (e = {}) => {
+ }, C = (e = {}) => {
r("search-change", {
- query: m()?.value || "",
- semantic: h.value,
- metadataMode: _.value,
+ query: p()?.value || "",
+ semantic: m.value,
+ metadataMode: g.value,
...e
});
- }, T = () => {
- if (g.value) {
- h.value = !h.value, C();
+ }, w = () => {
+ if (h.value) {
+ m.value = !m.value, S();
try {
- m()?.dispatchEvent?.(new Event("input", { bubbles: !0 }));
+ p()?.dispatchEvent?.(new Event("input", { bubbles: !0 }));
} catch (e) {
console.debug?.(e);
}
- w({ semantic: h.value });
+ C({ semantic: m.value });
}
- }, E = async (e) => {
+ }, T = async (e) => {
let t = e.target?.value || "";
- i.searchQuery = t, i.metadataSearchMode = pv, C(), w({ query: t }), await j();
- }, D = (e) => {
+ i.searchQuery = t, i.metadataSearchMode = vv, S(), C({ query: t }), await j();
+ }, E = (e) => {
let t = String(e || "").split(/\s+/);
return t[t.length - 1] || "";
};
- async function O() {
- return v || (y ||= Pe(p.METADATA_KEYS, { limit: 600 }).then((e) => {
+ async function D() {
+ return _ || (v ||= Ie(I.METADATA_KEYS, { limit: 600 }).then((e) => {
let t = e?.data || {};
- return v = t, t;
- }), y);
+ return _ = t, t;
+ }), v);
}
- function k(e, t) {
+ function O(e, t) {
let n = String(e || "").match(/^(.*?)(\S*)$/);
return `${n ? n[1] : ""}${t}`.trimStart();
}
- function A(e, t) {
- let n = D(e), r = n.replace(/^-/, ""), i = Pn();
+ function k(e, t) {
+ let n = E(e), r = n.replace(/^-/, ""), i = Ln();
if (!r.includes(":")) {
let t = r.toLowerCase();
- return Object.keys(i).filter((e) => e.startsWith(t)).slice(0, 12).map((t) => k(e, `${n.startsWith("-") ? "-" : ""}${t}:`));
+ return Object.keys(i).filter((e) => e.startsWith(t)).slice(0, 12).map((t) => O(e, `${n.startsWith("-") ? "-" : ""}${t}:`));
}
let [a, o = ""] = r.split(/:(.*)/s);
- if (!Rn(a)) return [];
+ if (!Vn(a)) return [];
let s = o.toLowerCase(), c = Array.isArray(t?.keys) ? t.keys : [], l = t?.workflow_nodes || {};
- return [...c, ...Object.keys(l).flatMap((e) => (l[e] || []).map((t) => `workflow_nodes.${e}.${t}`))].filter((e) => String(e || "").toLowerCase().includes(s)).slice(0, 16).map((t) => k(e, `${n.startsWith("-") ? "-" : ""}${a}:${t}`));
+ return [...c, ...Object.keys(l).flatMap((e) => (l[e] || []).map((t) => `workflow_nodes.${e}.${t}`))].filter((e) => String(e || "").toLowerCase().includes(s)).slice(0, 16).map((t) => O(e, `${n.startsWith("-") ? "-" : ""}${a}:${t}`));
}
- let ee = 0, j = St(async () => {
- let e = (m()?.value || "").trim();
- if (h.value || e.length < 1) return;
- let t = ++ee;
+ let A = 0, j = Tt(async () => {
+ let e = (p()?.value || "").trim();
+ if (m.value || e.length < 1) return;
+ let t = ++A;
try {
- let n = [], r = await O();
- if (n.push(...A(e, r)), !e.includes(":") && e.length >= 2) {
- let t = await Pe("/mjr/am/autocomplete", {
+ let n = [], r = await D();
+ if (n.push(...k(e, r)), !e.includes(":") && e.length >= 2) {
+ let t = await Ie("/mjr/am/autocomplete", {
q: e,
limit: 10
});
t && t.ok && Array.isArray(t.data) && n.push(...t.data);
}
- if (t !== ee) return;
+ if (t !== A) return;
s.value && (s.value.innerHTML = "", [...new Set(n)].slice(0, 18).forEach((e) => {
let t = document.createElement("option");
t.value = e, s.value.appendChild(t);
}));
} catch {}
}, 300);
- return or(() => i.searchQuery, (e) => {
- let t = m();
+ return lr(() => i.searchQuery, (e) => {
+ let t = p();
t && t.value !== e && (t.value = e);
- }), or(g, (e) => {
- !e && h.value && (h.value = !1), C();
- }), or(h, () => {
- C();
- }), or(() => i.metadataSearchMode, (e) => {
- String(e || "").toUpperCase() !== pv && (i.metadataSearchMode = pv), _.value !== pv && (_.value = pv), C();
- }), Zn(() => {
+ }), lr(h, (e) => {
+ !e && m.value && (m.value = !1), S();
+ }), lr(m, () => {
+ S();
+ }), lr(() => i.metadataSearchMode, (e) => {
+ String(e || "").toUpperCase() !== vv && (i.metadataSearchMode = vv), g.value !== vv && (g.value = vv), S();
+ }), er(() => {
try {
- let e = m();
- e && (e.value = i.searchQuery || ""), i.metadataSearchMode = pv;
+ let e = p();
+ e && (e.value = i.searchQuery || ""), i.metadataSearchMode = vv;
} catch (e) {
console.debug?.(e);
}
- C();
+ S();
}), t({
get searchSection() {
return a.value;
},
get searchInputEl() {
- return m();
+ return p();
},
get similarBtn() {
return f(c.value);
@@ -19096,15 +19173,15 @@ var ev = {
return f(u.value);
},
setSemanticEnabled: (e) => {
- g.value = !!e, C();
+ h.value = !!e, S();
}
}), (e, t) => {
- let n = Qn("MInputText"), r = Qn("MButton");
+ let n = tr("MInputText"), r = tr("MButton");
return q(), Y("div", {
ref_key: "searchSectionRef",
ref: a,
class: "mjr-am-search"
- }, [H("div", sv, [
+ }, [H("div", fv, [
t[0] ||= H("span", { class: "mjr-am-search-icon" }, [H("i", { class: "pi pi-search" })], -1),
U(n, {
ref_key: "searchInputRef",
@@ -19112,10 +19189,10 @@ var ev = {
id: "mjr-search-input",
class: "mjr-input",
type: "text",
- placeholder: b.value,
- title: x.value,
+ placeholder: y.value,
+ title: b.value,
list: Z(d),
- onInput: E
+ onInput: T
}, null, 8, [
"placeholder",
"title",
@@ -19125,9 +19202,9 @@ var ev = {
ref_key: "dataListRef",
ref: s,
id: Z(d)
- }, null, 8, cv)
- ]), H("div", lv, [
- H("div", uv, [U(r, {
+ }, null, 8, pv)
+ ]), H("div", mv, [
+ H("div", hv, [U(r, {
ref_key: "semanticBtnRef",
ref: u,
type: "button",
@@ -19135,11 +19212,11 @@ var ev = {
severity: "secondary",
text: "",
rounded: "",
- disabled: !g.value,
- "aria-disabled": !g.value,
- title: g.value ? Z(L)("search.semanticToggle", "Toggle AI semantic search (CLIP-based)") : Z(L)("search.semanticDisabled", "AI semantic search is disabled in settings"),
- style: fr(S.value),
- onClick: T
+ disabled: !h.value,
+ "aria-disabled": !h.value,
+ title: h.value ? Z(L)("search.semanticToggle", "Toggle AI semantic search (CLIP-based)") : Z(L)("search.semanticDisabled", "AI semantic search is disabled in settings"),
+ style: hr(x.value),
+ onClick: w
}, {
default: G(() => [...t[1] ||= [H("i", { class: "pi pi-sparkles" }, null, -1)]]),
_: 1
@@ -19149,7 +19226,7 @@ var ev = {
"title",
"style"
])]),
- H("div", dv, [U(r, {
+ H("div", gv, [U(r, {
ref_key: "similarBtnRef",
ref: c,
type: "button",
@@ -19161,24 +19238,24 @@ var ev = {
}, {
default: G(() => [...t[2] ||= [H("i", { class: "pi pi-search" }, null, -1)]]),
_: 1
- }, 8, ["title"]), U(ov, {
+ }, 8, ["title"]), U(dv, {
ref_key: "similarPopoverRef",
ref: l
}, null, 512)]),
- gr(e.$slots, "filter-anchor"),
- gr(e.$slots, "sort-anchor"),
- gr(e.$slots, "collections-anchor"),
- gr(e.$slots, "pinned-folders-anchor")
+ yr(e.$slots, "filter-anchor"),
+ yr(e.$slots, "sort-anchor"),
+ yr(e.$slots, "collections-anchor"),
+ yr(e.$slots, "pinned-folders-anchor")
])], 512);
};
}
-}), hv = {
+}), bv = {
class: "mjr-popover mjr-sort-popover",
style: { display: "none" }
-}, gv = { class: "mjr-menu-item-label" }, _v = /* @__PURE__ */ tr({
+}, xv = { class: "mjr-menu-item-label" }, Sv = /* @__PURE__ */ ir({
__name: "SortPopover",
setup(e) {
- let t = Vh(), n = K(() => t.sort || "mtime_desc"), r = (e) => {
+ let t = Kh(), n = K(() => t.sort || "mtime_desc"), r = (e) => {
t.sort = e;
try {
window.dispatchEvent(new CustomEvent("mjr:sort-changed", { detail: { sort: e } }));
@@ -19227,33 +19304,33 @@ var ev = {
command: () => r(e.key)
})));
return (e, t) => {
- let r = Qn("MMenu");
- return q(), Y("div", hv, [U(r, {
+ let r = tr("MMenu");
+ return q(), Y("div", bv, [U(r, {
model: i.value,
class: "mjr-menu mjr-prime-menu mjr-sort-menu",
pt: { list: { class: "mjr-menu mjr-prime-menu-list" } }
}, {
- item: G(({ item: e }) => [H("div", { class: X(["mjr-menu-item", { "is-active": n.value === e.key }]) }, [H("span", gv, J(e.label), 1), H("i", {
+ item: G(({ item: e }) => [H("div", { class: X(["mjr-menu-item", { "is-active": n.value === e.key }]) }, [H("span", xv, J(e.label), 1), H("i", {
class: X([e.icon, "mjr-menu-item-check"]),
- style: fr({ opacity: +(n.value === e.key) })
+ style: hr({ opacity: +(n.value === e.key) })
}, null, 6)], 2)]),
_: 1
}, 8, ["model"])]);
};
}
-}), vv = { class: "mjr-popover mjr-filter-popover mjr-popover--hidden" }, yv = { class: "mjr-filter-head" }, bv = { class: "mjr-filter-head-left" }, xv = { class: "mjr-filter-kicker" }, Sv = { class: "mjr-filter-subtitle" }, Cv = { class: "mjr-filter-head-actions" }, wv = { class: "mjr-filter-active-count" }, Tv = { class: "mjr-filter-group-title" }, Ev = {
+}), Cv = { class: "mjr-popover mjr-filter-popover mjr-popover--hidden" }, wv = { class: "mjr-filter-head" }, Tv = { class: "mjr-filter-head-left" }, Ev = { class: "mjr-filter-kicker" }, Dv = { class: "mjr-filter-subtitle" }, Ov = { class: "mjr-filter-head-actions" }, kv = { class: "mjr-filter-active-count" }, Av = { class: "mjr-filter-group-title" }, jv = {
class: "mjr-filter-group-chevron",
"aria-hidden": "true"
-}, Dv = { class: "mjr-filter-group-body" }, Ov = { class: "mjr-filter-card" }, kv = { class: "mjr-popover-row" }, Av = { class: "mjr-popover-label" }, jv = { class: "mjr-popover-row" }, Mv = { class: "mjr-popover-label" }, Nv = ["title"], Pv = { class: "mjr-filter-card" }, Fv = { class: "mjr-popover-row" }, Iv = { class: "mjr-popover-label" }, Lv = { class: "mjr-popover-row" }, Rv = { class: "mjr-popover-label" }, zv = { class: "mjr-popover-row" }, Bv = { class: "mjr-popover-label" }, Vv = { class: "mjr-filter-stack" }, Hv = { class: "mjr-popover-row" }, Uv = { class: "mjr-popover-label" }, Wv = { class: "mjr-popover-row" }, Gv = { class: "mjr-popover-label" }, Kv = { class: "mjr-filter-group-title" }, qv = {
+}, Mv = { class: "mjr-filter-group-body" }, Nv = { class: "mjr-filter-card" }, Pv = { class: "mjr-popover-row" }, Fv = { class: "mjr-popover-label" }, Iv = { class: "mjr-popover-row" }, Lv = { class: "mjr-popover-label" }, Rv = ["title"], zv = { class: "mjr-filter-card" }, Bv = { class: "mjr-popover-row" }, Vv = { class: "mjr-popover-label" }, Hv = { class: "mjr-popover-row" }, Uv = { class: "mjr-popover-label" }, Wv = { class: "mjr-popover-row" }, Gv = { class: "mjr-popover-label" }, Kv = { class: "mjr-filter-stack" }, qv = { class: "mjr-popover-row" }, Jv = { class: "mjr-popover-label" }, Yv = { class: "mjr-popover-row" }, Xv = { class: "mjr-popover-label" }, Zv = { class: "mjr-filter-group-title" }, Qv = {
class: "mjr-filter-group-chevron",
"aria-hidden": "true"
-}, Jv = { class: "mjr-filter-group-body" }, Yv = { class: "mjr-filter-card" }, Xv = { class: "mjr-popover-row mjr-popover-row--3col" }, Zv = { class: "mjr-popover-label" }, Qv = { class: "mjr-popover-row" }, $v = { class: "mjr-popover-label" }, ey = { class: "mjr-popover-row mjr-popover-row--3col" }, ty = { class: "mjr-popover-label" }, ny = { class: "mjr-popover-row mjr-popover-row--3col" }, ry = { class: "mjr-popover-label" }, iy = { class: "mjr-filter-group-title" }, ay = {
+}, $v = { class: "mjr-filter-group-body" }, ey = { class: "mjr-filter-card" }, ty = { class: "mjr-popover-row mjr-popover-row--3col" }, ny = { class: "mjr-popover-label" }, ry = { class: "mjr-popover-row" }, iy = { class: "mjr-popover-label" }, ay = { class: "mjr-popover-row mjr-popover-row--3col" }, oy = { class: "mjr-popover-label" }, sy = { class: "mjr-popover-row mjr-popover-row--3col" }, cy = { class: "mjr-popover-label" }, ly = { class: "mjr-filter-group-title" }, uy = {
class: "mjr-filter-group-chevron",
"aria-hidden": "true"
-}, oy = { class: "mjr-filter-group-body" }, sy = { class: "mjr-filter-card mjr-filter-card--agenda" }, cy = { class: "mjr-popover-row" }, ly = { class: "mjr-popover-label" }, uy = { class: "mjr-popover-row" }, dy = { class: "mjr-popover-label" }, fy = /* @__PURE__ */ tr({
+}, dy = { class: "mjr-filter-group-body" }, fy = { class: "mjr-filter-card mjr-filter-card--agenda" }, py = { class: "mjr-popover-row" }, my = { class: "mjr-popover-label" }, hy = { class: "mjr-popover-row" }, gy = { class: "mjr-popover-label" }, _y = /* @__PURE__ */ ir({
__name: "FilterPopover",
setup(e, { expose: t }) {
- let n = Vh(), r = Q(null), i = Q(null), a = Q(null), o = Q(null), s = Q(null), c = Q(null), l = Q(null), u = Q(null), d = Q(null), f = Q(null), p = Q([{
+ let n = Kh(), r = Q(null), i = Q(null), a = Q(null), o = Q(null), s = Q(null), c = Q(null), l = Q(null), u = Q(null), d = Q(null), f = Q(null), p = Q([{
label: L("filter.any", "Any"),
value: ""
}]), m = (e) => e?.$el || e || null, h = (e) => m(e.value)?.value || "", g = (e, t) => {
@@ -19449,7 +19526,7 @@ var ev = {
}
}, k = async () => {
try {
- let e = await Me();
+ let e = await Ne();
if (!e?.ok) return;
let t = (Array.isArray(e.data?.model_families) ? e.data.model_families : []).map((e) => ({
label: String(e?.label || e?.value || "").trim(),
@@ -19463,30 +19540,30 @@ var ev = {
console.debug?.(e);
}
};
- Zn(() => {
+ er(() => {
k();
});
let A = (e, { emit: t = !0 } = {}) => {
n.kindFilter = String(e || ""), t && O();
- }, ee = (e, { emit: t = !0 } = {}) => {
- n.workflowOnly = !!e, t && O();
}, j = (e, { emit: t = !0 } = {}) => {
- n.workflowType = String(e || "").trim().toUpperCase(), t && O();
+ n.workflowOnly = !!e, t && O();
}, M = (e, { emit: t = !0 } = {}) => {
- n.workflowId = String(e || "").trim(), t && O();
+ n.workflowType = String(e || "").trim().toUpperCase(), t && O();
}, N = (e, { emit: t = !0 } = {}) => {
+ n.workflowId = String(e || "").trim(), t && O();
+ }, ee = (e, { emit: t = !0 } = {}) => {
n.workflowModelFilter = String(e || "").trim(), t && O();
}, te = (e, { emit: t = !0 } = {}) => {
n.workflowRunsOnFilter = String(e || "").trim().toLowerCase(), t && O();
- }, ne = (e, { emit: t = !0 } = {}) => {
+ }, P = (e, { emit: t = !0 } = {}) => {
n.minRating = Number(e || 0) || 0, t && O();
- }, P = () => {
+ }, ne = () => {
let e = D(h(r) || 0), t = D(h(i) || 0);
t > 0 && e > 0 && t < e && (t = e, g(i, t)), n.minSizeMB = e > 0 ? e : 0, n.maxSizeMB = t > 0 ? t : 0, O();
}, re = () => {
let e = Math.max(0, Math.round(D(h(a) || 0))), t = Math.max(0, Math.round(D(h(o) || 0))), r = Math.max(0, Math.round(D(h(s) || 0))), i = Math.max(0, Math.round(D(h(c) || 0)));
r > 0 && e > 0 && r < e && (r = e, g(s, r)), i > 0 && t > 0 && i < t && (i = t, g(c, i)), n.minWidth = e, n.minHeight = t, n.maxWidth = r, n.maxHeight = i, O();
- }, F = (e, { emit: t = !0 } = {}) => {
+ }, ie = (e, { emit: t = !0 } = {}) => {
let [r, i] = {
hd: [1280, 720],
fhd: [1920, 1080],
@@ -19494,9 +19571,9 @@ var ev = {
uhd: [3840, 2160]
}[String(e || "").trim()] || [0, 0];
n.minWidth = Number(r || 0), n.minHeight = Number(i || 0), n.maxWidth = 0, n.maxHeight = 0, g(a, n.minWidth || ""), g(o, n.minHeight || ""), g(s, ""), g(c, ""), t && O();
- }, I = (e, { emit: t = !0 } = {}) => {
+ }, F = (e, { emit: t = !0 } = {}) => {
n.dateRangeFilter = String(e || ""), n.dateRangeFilter && n.dateExactFilter && (n.dateExactFilter = "", g(u, "")), t && O();
- }, ie = (e) => {
+ }, I = (e) => {
n.dateExactFilter = String(e?.target?.value || "").trim(), n.dateExactFilter && n.dateRangeFilter && (n.dateRangeFilter = ""), O();
}, ae = (e) => {
let t = String(e || "").trim().toLowerCase();
@@ -19533,28 +19610,28 @@ var ev = {
setValue: A
}), ue = ce({
getChecked: () => !!n.workflowOnly,
- setChecked: ee
+ setChecked: j
}), de = se({
getValue: () => String(n.workflowType || "").trim().toUpperCase(),
- setValue: j
+ setValue: M
}), fe = se({
getValue: () => String(n.workflowId || "").trim(),
- setValue: M
+ setValue: N
}), pe = se({
getValue: () => String(n.workflowModelFilter || "").trim(),
- setValue: N
+ setValue: ee
}), me = se({
getValue: () => String(n.workflowRunsOnFilter || "").trim().toLowerCase(),
setValue: te
}), he = se({
getValue: () => String(Number(n.minRating || 0) || 0),
- setValue: ne
+ setValue: P
}), ge = se({
getValue: () => T.value,
- setValue: F
+ setValue: ie
}), _e = se({
getValue: () => String(n.dateRangeFilter || ""),
- setValue: I
+ setValue: F
}), ve = K(() => {
let e = 0;
return String(n.kindFilter || "").trim() && (e += 1), n.workflowOnly && (e += 1), String(n.workflowType || "").trim() && (e += 1), String(n.workflowId || "").trim() && (e += 1), String(n.workflowModelFilter || "").trim() && (e += 1), String(n.workflowRunsOnFilter || "").trim() && (e += 1), (Number(n.minRating || 0) || 0) > 0 && (e += 1), ((Number(n.minSizeMB || 0) || 0) > 0 || (Number(n.maxSizeMB || 0) || 0) > 0) && (e += 1), ((Number(n.minWidth || 0) || 0) > 0 || (Number(n.minHeight || 0) || 0) > 0 || (Number(n.maxWidth || 0) || 0) > 0 || (Number(n.maxHeight || 0) || 0) > 0) && (e += 1), String(n.dateRangeFilter || "").trim() && (e += 1), String(n.dateExactFilter || "").trim() && (e += 1), e;
@@ -19617,9 +19694,9 @@ var ev = {
return l.value;
}
}), (e, t) => {
- let p = Qn("MButton"), m = Qn("MSelect"), h = Qn("MCheckbox"), g = Qn("MInputText");
- return q(), Y("div", vv, [
- H("div", yv, [H("div", bv, [H("div", xv, J(Z(L)("label.filters", "Filters")), 1), H("div", Sv, J(Z(L)("label.refineResults", "Refine your results")), 1)]), H("div", Cv, [H("span", wv, J(ve.value), 1), U(p, {
+ let p = tr("MButton"), m = tr("MSelect"), h = tr("MCheckbox"), g = tr("MInputText");
+ return q(), Y("div", Cv, [
+ H("div", wv, [H("div", Tv, [H("div", Ev, J(Z(L)("label.filters", "Filters")), 1), H("div", Dv, J(Z(L)("label.refineResults", "Refine your results")), 1)]), H("div", Ov, [H("span", kv, J(ve.value), 1), U(p, {
type: "button",
class: "mjr-filter-clear-all",
severity: "secondary",
@@ -19627,7 +19704,7 @@ var ev = {
disabled: ve.value === 0,
onClick: ye
}, {
- default: G(() => [pr(J(Z(L)("action.clearAll", "Clear all")), 1)]),
+ default: G(() => [gr(J(Z(L)("action.clearAll", "Clear all")), 1)]),
_: 1
}, 8, ["disabled"])])]),
H("div", { class: X(["mjr-filter-group mjr-filter-group--core", { "is-open": oe("core") }]) }, [U(p, {
@@ -19638,9 +19715,9 @@ var ev = {
"aria-expanded": String(oe("core")),
onClick: t[0] ||= (e) => ae("core")
}, {
- default: G(() => [H("span", Tv, J(Z(L)("group.core", "Core")), 1), H("span", Ev, J(oe("core") ? "▾" : "▸"), 1)]),
+ default: G(() => [H("span", Av, J(Z(L)("group.core", "Core")), 1), H("span", jv, J(oe("core") ? "▾" : "▸"), 1)]),
_: 1
- }, 8, ["aria-expanded"]), Kn(H("div", Dv, [H("div", Ov, [H("div", kv, [H("div", Av, J(Z(L)("label.type")), 1), U(m, {
+ }, 8, ["aria-expanded"]), Yn(H("div", Mv, [H("div", Nv, [H("div", Pv, [H("div", Fv, J(Z(L)("label.type")), 1), U(m, {
class: "mjr-select mjr-filter-select",
"panel-class": "mjr-filter-select-panel",
title: Z(L)("tooltip.filterByFileType", "Filter by file type"),
@@ -19653,56 +19730,56 @@ var ev = {
"title",
"model-value",
"options"
- ])]), H("div", jv, [H("div", Mv, J(Z(L)("label.workflow")), 1), H("label", {
+ ])]), H("div", Iv, [H("div", Lv, J(Z(L)("label.workflow")), 1), H("label", {
class: "mjr-popover-toggle",
title: Z(L)("tooltip.filterWorkflowOnly", "Show only assets with embedded workflow data")
}, [U(h, {
class: "mjr-checkbox",
"model-value": !!Z(n).workflowOnly,
binary: "",
- "onUpdate:modelValue": ee
- }, null, 8, ["model-value"]), H("span", null, J(Z(L)("filter.onlyWithWorkflow")), 1)], 8, Nv)])]), H("div", Pv, [
- H("div", Fv, [H("div", Iv, J(Z(L)("label.workflowType", "Workflow type")), 1), U(m, {
+ "onUpdate:modelValue": j
+ }, null, 8, ["model-value"]), H("span", null, J(Z(L)("filter.onlyWithWorkflow")), 1)], 8, Rv)])]), H("div", zv, [
+ H("div", Bv, [H("div", Vv, J(Z(L)("label.workflowType", "Workflow type")), 1), U(m, {
class: "mjr-select mjr-filter-select",
"panel-class": "mjr-filter-select-panel",
"model-value": String(Z(n).workflowType || "").trim().toUpperCase(),
options: y.value,
"option-label": "label",
"option-value": "value",
- "onUpdate:modelValue": j
+ "onUpdate:modelValue": M
}, null, 8, ["model-value", "options"])]),
- H("div", Lv, [H("div", Rv, J(Z(L)("label.sameWorkflow", "Generated with Same Workflow")), 1), U(g, {
+ H("div", Hv, [H("div", Uv, J(Z(L)("label.sameWorkflow", "Generated with Same Workflow")), 1), U(g, {
ref_key: "workflowIdInputRef",
ref: d,
class: "mjr-input",
title: Z(L)("tooltip.filterWorkflowId", "Filter assets generated from the same embedded workflow id"),
placeholder: Z(L)("placeholder.workflowId", "Workflow ID"),
"model-value": String(Z(n).workflowId || ""),
- "onUpdate:modelValue": M,
- onChange: t[1] ||= (e) => M(e?.target?.value)
+ "onUpdate:modelValue": N,
+ onChange: t[1] ||= (e) => N(e?.target?.value)
}, null, 8, [
"title",
"placeholder",
"model-value"
])]),
- H("div", zv, [H("div", Bv, J(Z(L)("label.workflowModelFamily", "Model family")), 1), H("div", Vv, [U(m, {
+ H("div", Wv, [H("div", Gv, J(Z(L)("label.workflowModelFamily", "Model family")), 1), H("div", Kv, [U(m, {
class: "mjr-select mjr-filter-select",
"panel-class": "mjr-filter-select-panel",
"model-value": String(Z(n).workflowModelFilter || ""),
options: x.value,
"option-label": "label",
"option-value": "value",
- "onUpdate:modelValue": N
+ "onUpdate:modelValue": ee
}, null, 8, ["model-value", "options"]), U(g, {
ref_key: "workflowModelInputRef",
ref: f,
class: "mjr-input",
placeholder: Z(L)("placeholder.workflowModelFamily", "Flux, Wan, SDXL..."),
"model-value": String(Z(n).workflowModelFilter || ""),
- "onUpdate:modelValue": N,
- onChange: t[2] ||= (e) => N(e?.target?.value)
+ "onUpdate:modelValue": ee,
+ onChange: t[2] ||= (e) => ee(e?.target?.value)
}, null, 8, ["placeholder", "model-value"])])]),
- H("div", Hv, [H("div", Uv, J(Z(L)("label.workflowRunsOn", "Runs on")), 1), U(m, {
+ H("div", qv, [H("div", Jv, J(Z(L)("label.workflowRunsOn", "Runs on")), 1), U(m, {
class: "mjr-select mjr-filter-select",
"panel-class": "mjr-filter-select-panel",
"model-value": String(Z(n).workflowRunsOnFilter || "").trim().toLowerCase(),
@@ -19711,7 +19788,7 @@ var ev = {
"option-value": "value",
"onUpdate:modelValue": te
}, null, 8, ["model-value", "options"])]),
- H("div", Wv, [H("div", Gv, J(Z(L)("label.rating")), 1), U(m, {
+ H("div", Yv, [H("div", Xv, J(Z(L)("label.rating")), 1), U(m, {
class: "mjr-select mjr-filter-select",
"panel-class": "mjr-filter-select-panel",
title: Z(L)("tooltip.filterMinRating", "Filter by minimum rating"),
@@ -19719,13 +19796,13 @@ var ev = {
options: S.value,
"option-label": "label",
"option-value": "value",
- "onUpdate:modelValue": ne
+ "onUpdate:modelValue": P
}, null, 8, [
"title",
"model-value",
"options"
])])
- ])], 512), [[lr, oe("core")]])], 2),
+ ])], 512), [[fr, oe("core")]])], 2),
H("div", { class: X(["mjr-filter-group mjr-filter-group--media", { "is-open": oe("media") }]) }, [U(p, {
type: "button",
class: "mjr-filter-group-toggle",
@@ -19734,11 +19811,11 @@ var ev = {
"aria-expanded": String(oe("media")),
onClick: t[3] ||= (e) => ae("media")
}, {
- default: G(() => [H("span", Kv, J(Z(L)("group.media", "Media")), 1), H("span", qv, J(oe("media") ? "▾" : "▸"), 1)]),
+ default: G(() => [H("span", Zv, J(Z(L)("group.media", "Media")), 1), H("span", Qv, J(oe("media") ? "▾" : "▸"), 1)]),
_: 1
- }, 8, ["aria-expanded"]), Kn(H("div", Jv, [H("div", Yv, [
- H("div", Xv, [
- H("div", Zv, J(Z(L)("label.fileSizeMB", "File size (MB)")), 1),
+ }, 8, ["aria-expanded"]), Yn(H("div", $v, [H("div", ey, [
+ H("div", ty, [
+ H("div", ny, J(Z(L)("label.fileSizeMB", "File size (MB)")), 1),
U(g, {
ref_key: "minSizeInputRef",
ref: r,
@@ -19748,7 +19825,7 @@ var ev = {
class: "mjr-input",
placeholder: Z(L)("label.min", "Min"),
value: Z(n).minSizeMB || "",
- onChange: P
+ onChange: ne
}, null, 8, ["placeholder", "value"]),
U(g, {
ref_key: "maxSizeInputRef",
@@ -19759,20 +19836,20 @@ var ev = {
class: "mjr-input",
placeholder: Z(L)("label.max", "Max"),
value: Z(n).maxSizeMB || "",
- onChange: P
+ onChange: ne
}, null, 8, ["placeholder", "value"])
]),
- H("div", Qv, [H("div", $v, J(Z(L)("label.resolutionPx", "Resolution (px)")), 1), U(m, {
+ H("div", ry, [H("div", iy, J(Z(L)("label.resolutionPx", "Resolution (px)")), 1), U(m, {
class: "mjr-select mjr-filter-select",
"panel-class": "mjr-filter-select-panel",
"model-value": T.value,
options: C.value,
"option-label": "label",
"option-value": "value",
- "onUpdate:modelValue": F
+ "onUpdate:modelValue": ie
}, null, 8, ["model-value", "options"])]),
- H("div", ey, [
- H("div", ty, J(Z(L)("label.resolutionMinWxH", "Min WxH (px)")), 1),
+ H("div", ay, [
+ H("div", oy, J(Z(L)("label.resolutionMinWxH", "Min WxH (px)")), 1),
U(g, {
ref_key: "minWidthInputRef",
ref: a,
@@ -19806,8 +19883,8 @@ var ev = {
"value"
])
]),
- H("div", ny, [
- H("div", ry, J(Z(L)("label.resolutionMaxWxH", "Max WxH (px)")), 1),
+ H("div", sy, [
+ H("div", cy, J(Z(L)("label.resolutionMaxWxH", "Max WxH (px)")), 1),
U(g, {
ref_key: "maxWidthInputRef",
ref: s,
@@ -19841,7 +19918,7 @@ var ev = {
"value"
])
])
- ])], 512), [[lr, oe("media")]])], 2),
+ ])], 512), [[fr, oe("media")]])], 2),
H("div", { class: X(["mjr-filter-group mjr-filter-group--time", { "is-open": oe("time") }]) }, [U(p, {
type: "button",
class: "mjr-filter-group-toggle",
@@ -19850,9 +19927,9 @@ var ev = {
"aria-expanded": String(oe("time")),
onClick: t[4] ||= (e) => ae("time")
}, {
- default: G(() => [H("span", iy, J(Z(L)("group.time", "Time")), 1), H("span", ay, J(oe("time") ? "▾" : "▸"), 1)]),
+ default: G(() => [H("span", ly, J(Z(L)("group.time", "Time")), 1), H("span", uy, J(oe("time") ? "▾" : "▸"), 1)]),
_: 1
- }, 8, ["aria-expanded"]), Kn(H("div", oy, [H("div", sy, [H("div", cy, [H("div", ly, J(Z(L)("label.dateRange")), 1), U(m, {
+ }, 8, ["aria-expanded"]), Yn(H("div", dy, [H("div", fy, [H("div", py, [H("div", my, J(Z(L)("label.dateRange")), 1), U(m, {
class: "mjr-select mjr-filter-select",
"panel-class": "mjr-filter-select-panel",
title: Z(L)("tooltip.filterByDateRange", "Filter by date range"),
@@ -19860,12 +19937,12 @@ var ev = {
options: w.value,
"option-label": "label",
"option-value": "value",
- "onUpdate:modelValue": I
+ "onUpdate:modelValue": F
}, null, 8, [
"title",
"model-value",
"options"
- ])]), H("div", uy, [H("div", dy, J(Z(L)("label.agenda")), 1), H("div", {
+ ])]), H("div", hy, [H("div", gy, J(Z(L)("label.agenda")), 1), H("div", {
ref_key: "agendaContainerRef",
ref: l,
class: "mjr-agenda-container"
@@ -19875,12 +19952,12 @@ var ev = {
type: "date",
class: X(["mjr-input mjr-agenda-input", E.value]),
value: Z(n).dateExactFilter,
- onChange: ie
- }, null, 8, ["class", "value"])], 512)])])], 512), [[lr, oe("time")]])], 2)
+ onChange: I
+ }, null, 8, ["class", "value"])], 512)])])], 512), [[fr, oe("time")]])], 2)
]);
};
}
-}), py = 128, my = Object.freeze([
+}), vy = 128, yy = Object.freeze([
{
key: "portraits",
label: "Portraits",
@@ -19918,10 +19995,10 @@ var ev = {
iconClass: "pi pi-circle"
}
]);
-function hy(e) {
+function by(e) {
try {
let t = String(e ?? "").trim();
- if (!t || t.length > py || t.includes("\0")) return "";
+ if (!t || t.length > vy || t.includes("\0")) return "";
for (let e = 0; e < t.length; e += 1) {
let n = t.charCodeAt(e);
if (n <= 31 || n === 127) return "";
@@ -19931,7 +20008,7 @@ function hy(e) {
return "";
}
}
-function gy(e) {
+function xy(e) {
if (!e || typeof e != "object") return null;
let t = String(e.filepath || "").trim();
return t ? {
@@ -19943,10 +20020,10 @@ function gy(e) {
root_id: String(e.root_id || e.rootId || e.custom_root_id || "").trim() || void 0
} : null;
}
-function _y(e) {
+function Sy(e) {
let t = [], n = [], r = /* @__PURE__ */ new Set();
for (let i of Array.isArray(e) ? e : []) {
- let e = gy(i);
+ let e = xy(i);
if (e?.filepath) {
let n = e.filepath.toLowerCase();
if (r.has(n)) continue;
@@ -19961,7 +20038,7 @@ function _y(e) {
missingIds: n
};
}
-async function vy(e) {
+async function Cy(e) {
let t = Array.from(new Set((Array.isArray(e) ? e : []).map((e) => Number(e)).filter((e) => Number.isFinite(e) && e > 0)));
if (!t.length) return {
ok: !0,
@@ -19972,13 +20049,13 @@ async function vy(e) {
ok: !1,
error: String(n?.error || "Failed to fetch assets")
};
- let { assets: r } = _y(Array.isArray(n?.data) ? n.data : Array.isArray(n?.data?.assets) ? n.data.assets : []);
+ let { assets: r } = Sy(Array.isArray(n?.data) ? n.data : Array.isArray(n?.data?.assets) ? n.data.assets : []);
return {
ok: !0,
data: r
};
}
-function yy(e) {
+function wy(e) {
let t = String(e?.label || "").trim();
if (t && !/^group\b/i.test(t)) return t;
let n = (Array.isArray(e?.dominant_tags) ? e.dominant_tags : []).map((e) => String(e || "").trim()).filter(Boolean);
@@ -19996,43 +20073,43 @@ function yy(e) {
let s = Object.entries(o).sort((e, t) => t[1] - e[1])[0]?.[0] || "other", c = s === "image" ? "Images" : s === "video" ? "Videos" : s === "audio" ? "Audio" : "Media", l = Number(e?.cluster_id), u = Number.isFinite(l) ? ` ${l + 1}` : "";
return a ? `${a} - ${c}` : `${c} Cluster${u}`;
}
-function by() {
+function Ty() {
try {
- return !!(Mt()?.ai?.vectorSearchEnabled ?? !0);
+ return !!(Ft()?.ai?.vectorSearchEnabled ?? !0);
} catch {
return !0;
}
}
// ui/vue/components/panel/CollectionsPopover.vue?vue&type=script&setup=true&lang.ts
-var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-item-label" }, Cy = { class: "mjr-menu-item-label" }, wy = { class: "mjr-menu-item-right" }, Ty = {
+var Ey = { class: "mjr-menu mjr-collections-menu" }, Dy = { class: "mjr-menu-item-label" }, Oy = { class: "mjr-menu-item-label" }, ky = { class: "mjr-menu-item-right" }, Ay = {
key: 0,
class: "mjr-menu-item-hint"
-}, Ey = {
+}, jy = {
key: 1,
class: "mjr-muted"
-}, Dy = {
+}, My = {
key: 2,
class: "mjr-state-block is-error"
-}, Oy = {
+}, Ny = {
key: 3,
class: "mjr-muted"
-}, ky = { class: "mjr-collection-row" }, Ay = { class: "mjr-menu-item-label" }, jy = { class: "mjr-menu-item-right" }, My = {
+}, Py = { class: "mjr-collection-row" }, Fy = { class: "mjr-menu-item-label" }, Iy = { class: "mjr-menu-item-right" }, Ly = {
key: 0,
class: "mjr-menu-item-hint"
-}, Ny = { class: "mjr-state-block" }, Py = { class: "mjr-section-title mjr-section-title--cyan" }, Fy = { class: "mjr-section-hint" }, Iy = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, Ly = { class: "mjr-section-title mjr-section-title--violet" }, Ry = { class: "mjr-section-hint" }, zy = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, By = {
+}, Ry = { class: "mjr-state-block" }, zy = { class: "mjr-section-title mjr-section-title--cyan" }, By = { class: "mjr-section-hint" }, Vy = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, Hy = { class: "mjr-section-title mjr-section-title--violet" }, Uy = { class: "mjr-section-hint" }, Wy = { class: "mjr-menu-item-label mjr-menu-item-label--icon" }, Gy = {
key: 0,
class: "mjr-state-block is-error"
-}, Vy = { class: "mjr-cluster-thumbs" }, Hy = ["src", "alt"], Uy = { class: "mjr-cluster-info" }, Wy = ["title"], Gy = { class: "mjr-cluster-count" }, Ky = "mjr:collections-changed", qy = /* @__PURE__ */ tr({
+}, Ky = { class: "mjr-cluster-thumbs" }, qy = ["src", "alt"], Jy = { class: "mjr-cluster-info" }, Yy = ["title"], Xy = { class: "mjr-cluster-count" }, Zy = "mjr:collections-changed", Qy = /* @__PURE__ */ ir({
__name: "CollectionsPopover",
setup(e, { expose: t }) {
- let n = Vh(), i = Q(null), a = Q([]), s = Q(!1), c = Q(""), l = Q(!1), u = Q(!0), d = Q(!1), f = Q(!1), p = Q(!1), m = Q([]), h = Q(""), g = Q(""), _ = 0, y = null, b = !1, x = K(() => String(n.collectionId || "").trim()), C = K(() => String(n.collectionName || "").trim()), w = K(() => !!x.value), T = K(() => !u.value || f.value), E = K(() => u.value && d.value), D = K(() => `${Math.max(1, Math.min(a.value.length, 6)) * 48}px`);
- function O() {
- let e = i.value;
+ let n = Kh(), r = Q(null), i = Q([]), a = Q(!1), o = Q(""), s = Q(!1), c = Q(!0), l = Q(!1), u = Q(!1), f = Q(!1), p = Q([]), h = Q(""), g = Q(""), _ = 0, v = null, y = !1, b = K(() => String(n.collectionId || "").trim()), S = K(() => String(n.collectionName || "").trim()), C = K(() => !!b.value), T = K(() => !c.value || u.value), E = K(() => c.value && l.value), D = K(() => `${Math.max(1, Math.min(i.value.length, 6)) * 48}px`);
+ function k() {
+ let e = r.value;
return !!e && String(e.style.display || "").toLowerCase() !== "none";
}
- function k({ collectionId: e = x.value, collectionName: t = C.value, close: n = !0, reload: r = !0 } = {}) {
+ function A({ collectionId: e = b.value, collectionName: t = S.value, close: n = !0, reload: r = !0 } = {}) {
try {
- window.dispatchEvent(new CustomEvent(Ky, { detail: {
+ window.dispatchEvent(new CustomEvent(Zy, { detail: {
collectionId: String(e || ""),
collectionName: String(t || ""),
close: n !== !1,
@@ -20042,21 +20119,21 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
console.debug?.(e);
}
}
- function A(e) {
+ function j(e) {
try {
- return ae(e) || "";
+ return le(e) || "";
} catch (e) {
return console.debug?.(e), "";
}
}
- async function ee() {
- if (!by()) return {
+ async function M() {
+ if (!Ty()) return {
enabled: !1,
vectorAvailable: !1,
vectorDisabled: !1
};
try {
- let e = await r(), t = !e?.ok && (String(e?.code || "").toUpperCase() === "SERVICE_UNAVAILABLE" || /vector search is not enabled/i.test(String(e?.error || "")));
+ let e = await m(), t = !e?.ok && (String(e?.code || "").toUpperCase() === "SERVICE_UNAVAILABLE" || /vector search is not enabled/i.test(String(e?.error || "")));
return {
enabled: !0,
vectorAvailable: !!(e?.ok && e?.data?.total > 0),
@@ -20070,7 +20147,7 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
};
}
}
- function j(...e) {
+ function N(...e) {
let t = [], n = /* @__PURE__ */ new Set();
for (let r of e) for (let e of Array.isArray(r) ? r : []) {
let r = String(e?.filepath || "").trim().toLowerCase();
@@ -20078,21 +20155,21 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
}
return t;
}
- async function M() {
+ async function ee() {
let e = ++_;
- s.value = !0, l.value = !0, c.value = "", h.value = "";
+ a.value = !0, s.value = !0, o.value = "", h.value = "";
try {
- let [t, n] = await Promise.all([Ee(), ee()]);
+ let [t, n] = await Promise.all([Re(), M()]);
if (e !== _) return;
- t?.ok ? a.value = Array.isArray(t?.data) ? t.data : [] : (c.value = String(t?.error || L("msg.failedLoadCollections", "Failed to load collections")), a.value = []), u.value = !!n.enabled, d.value = !!n.vectorAvailable, f.value = !!n.vectorDisabled, d.value || (m.value = [], p.value = !1);
+ t?.ok ? i.value = Array.isArray(t?.data) ? t.data : [] : (o.value = String(t?.error || L("msg.failedLoadCollections", "Failed to load collections")), i.value = []), c.value = !!n.enabled, l.value = !!n.vectorAvailable, u.value = !!n.vectorDisabled, l.value || (p.value = [], f.value = !1);
} catch (t) {
if (e !== _) return;
- console.debug?.(t), c.value = L("msg.failedLoadCollections", "Failed to load collections"), a.value = [];
+ console.debug?.(t), o.value = L("msg.failedLoadCollections", "Failed to load collections"), i.value = [];
} finally {
- e === _ && (s.value = !1, l.value = !1);
+ e === _ && (a.value = !1, s.value = !1);
}
}
- function N(e, t) {
+ function te(e, t) {
return async (...n) => {
if (!g.value) {
g.value = e;
@@ -20104,74 +20181,74 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
}
};
}
- let te = N("create", async () => {
- let e = await wt(L("dialog.createCollection", "Create collection"), L("dialog.collectionPlaceholder", "Collection name"));
+ let P = te("create", async () => {
+ let e = await Dt(L("dialog.createCollection", "Create collection"), L("dialog.collectionPlaceholder", "Collection name"));
if (!e) return;
- let t = hy(e);
+ let t = by(e);
if (!t) {
- F(L("toast.invalidCollectionName", "Invalid collection name"), "error");
+ x(L("toast.invalidCollectionName", "Invalid collection name"), "error");
return;
}
- let n = await v(t);
- n?.ok ? k({
+ let n = await w(t);
+ n?.ok ? A({
collectionId: String(n?.data?.id || ""),
collectionName: String(n?.data?.name || t)
- }) : F(n?.error || L("toast.failedCreateCollection", "Failed to create collection"), "error");
- }), ne = N("exit", async () => {
- k({
+ }) : x(n?.error || L("toast.failedCreateCollection", "Failed to create collection"), "error");
+ }), re = te("exit", async () => {
+ A({
collectionId: "",
collectionName: ""
});
- }), re = N("open", async (e) => {
+ }), F = te("open", async (e) => {
let t = String(e?.id || ""), n = String(e?.name || t);
- t && (t === x.value ? k({
+ t && (t === b.value ? A({
collectionId: t,
collectionName: n,
reload: !1
- }) : k({
+ }) : A({
collectionId: t,
collectionName: n
}));
- }), I = N("delete", async (e) => {
+ }), I = te("delete", async (e) => {
let t = String(e?.id || ""), n = String(e?.name || t);
- if (!t || !await jt(L("dialog.deleteCollection", "Delete collection \"{name}\"?", { name: n }))) return;
- let r = await o(t);
- r?.ok ? t === x.value ? k({
+ if (!t || !await Pt(L("dialog.deleteCollection", "Delete collection \"{name}\"?", { name: n }))) return;
+ let r = await d(t);
+ r?.ok ? t === b.value ? A({
collectionId: "",
collectionName: ""
- }) : await M() : F(r?.error || L("toast.failedDeleteCollection", "Failed to delete collection"), "error");
+ }) : await ee() : x(r?.error || L("toast.failedDeleteCollection", "Failed to delete collection"), "error");
});
- async function ie(e) {
+ async function ae(e) {
let t = String(e?.label || "").trim();
if (!t) return;
- let n = await v(t);
+ let n = await w(t);
if (!n?.ok) {
- F(n?.error || L("toast.failedCreateSmartCollection", "Failed to create smart collection"), "error");
+ x(n?.error || L("toast.failedCreateSmartCollection", "Failed to create smart collection"), "error");
return;
}
let r = String(n?.data?.id || "");
if (!r) return;
- let i = await rt(String(e?.query || ""), 50);
+ let i = await ie(String(e?.query || ""), 50);
if (i?.ok && Array.isArray(i?.data) && i.data.length > 0) {
- let e = _y(i.data), n = e.assets;
+ let e = Sy(i.data), n = e.assets;
if (e.missingIds.length) {
- let t = await vy(e.missingIds);
- t.ok && Array.isArray(t.data) && (n = j(n, t.data));
+ let t = await Cy(e.missingIds);
+ t.ok && Array.isArray(t.data) && (n = N(n, t.data));
}
if (n.length) {
- let e = await S(r, n);
+ let e = await O(r, n);
if (!e?.ok) {
- F(e?.error || L("toast.failedAddAssetsToSmartCollection", "Failed to add assets to smart collection"), "error");
+ x(e?.error || L("toast.failedAddAssetsToSmartCollection", "Failed to add assets to smart collection"), "error");
return;
}
let i = Number(e?.data?.added || n.length || 0);
- F(L("toast.smartCollectionCreated", "Smart collection \"{name}\" created with {count} assets!", {
+ x(L("toast.smartCollectionCreated", "Smart collection \"{name}\" created with {count} assets!", {
name: t,
count: i
}), "success", 3e3);
- } else F(L("toast.smartCollectionEmpty", "Collection \"{name}\" created but no matching assets found. Index more assets first.", { name: t }), "info", 3e3);
- } else F(L("toast.smartCollectionEmpty", "Collection \"{name}\" created but no matching assets found. Index more assets first.", { name: t }), "info", 3e3);
- k({
+ } else x(L("toast.smartCollectionEmpty", "Collection \"{name}\" created but no matching assets found. Index more assets first.", { name: t }), "info", 3e3);
+ } else x(L("toast.smartCollectionEmpty", "Collection \"{name}\" created but no matching assets found. Index more assets first.", { name: t }), "info", 3e3);
+ A({
collectionId: r,
collectionName: t
});
@@ -20182,31 +20259,31 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
if (!g.value) {
g.value = t;
try {
- await ie(e);
+ await ae(e);
} catch (e) {
- console.error("[Majoor] Smart collection creation failed:", e), F(L("toast.failedCreateSmartCollection", "Failed to create smart collection"), "error");
+ console.error("[Majoor] Smart collection creation failed:", e), x(L("toast.failedCreateSmartCollection", "Failed to create smart collection"), "error");
} finally {
g.value === t && (g.value = "");
}
}
}
async function se() {
- if (!(p.value || g.value)) {
- p.value = !0, h.value = "", m.value = [];
+ if (!(f.value || g.value)) {
+ f.value = !0, h.value = "", p.value = [];
try {
- let e = await P(8);
+ let e = await ne(8);
if (!e?.ok || !Array.isArray(e?.data) || !e.data.length) {
- F(L("toast.noGroupsFoundIndexFirst", "No groups found. Index more assets first."), "info", 3e3);
+ x(L("toast.noGroupsFoundIndexFirst", "No groups found. Index more assets first."), "info", 3e3);
return;
}
- m.value = e.data.map((e) => ({
+ p.value = e.data.map((e) => ({
...e,
- _label: yy(e)
+ _label: wy(e)
}));
} catch (e) {
- console.error("[Majoor] Discover groups failed:", e), h.value = L("toast.clusterAnalysisFailed", "Cluster analysis failed"), F(L("toast.clusterAnalysisFailed", "Cluster analysis failed"), "error");
+ console.error("[Majoor] Discover groups failed:", e), h.value = L("toast.clusterAnalysisFailed", "Cluster analysis failed"), x(L("toast.clusterAnalysisFailed", "Cluster analysis failed"), "error");
} finally {
- p.value = !1;
+ f.value = !1;
}
}
}
@@ -20215,107 +20292,107 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
if (!g.value) {
g.value = t;
try {
- let t = String(e?._label || yy(e) || "").trim();
+ let t = String(e?._label || wy(e) || "").trim();
if (!t) return;
- let n = await v(t);
+ let n = await w(t);
if (!n?.ok) {
- F(n?.error || L("toast.failedCreateCollection", "Failed to create collection"), "error");
+ x(n?.error || L("toast.failedCreateCollection", "Failed to create collection"), "error");
return;
}
let r = String(n?.data?.id || ""), i = Array.isArray(e?.all_asset_ids) ? e.all_asset_ids : [];
if (r && i.length) {
- let e = await vy(i);
+ let e = await Cy(i);
if (!e.ok) {
- F(e.error || L("toast.failedLoadClusterAssets", "Failed to load cluster assets"), "error");
+ x(e.error || L("toast.failedLoadClusterAssets", "Failed to load cluster assets"), "error");
return;
}
- let n = await S(r, e.data || []);
+ let n = await O(r, e.data || []);
if (!n?.ok) {
- F(n?.error || L("toast.failedAddAssetsToCollection", "Failed to add assets to collection"), "error");
+ x(n?.error || L("toast.failedAddAssetsToCollection", "Failed to add assets to collection"), "error");
return;
}
let a = Number(n?.data?.added || e.data?.length || 0);
- F(L("toast.collectionCreatedWithAssets", "Collection \"{name}\" created with {count} assets!", {
+ x(L("toast.collectionCreatedWithAssets", "Collection \"{name}\" created with {count} assets!", {
name: t,
count: a
}), "success", 3e3);
- } else F(L("toast.collectionCreatedNamed", "Collection \"{name}\" created.", { name: t }), "success", 2200);
- k({
+ } else x(L("toast.collectionCreatedNamed", "Collection \"{name}\" created.", { name: t }), "success", 2200);
+ A({
collectionId: r,
collectionName: t
});
} catch (e) {
- console.error("[Majoor] Cluster collection creation failed:", e), F(L("toast.failedCreateCollection", "Failed to create collection"), "error");
+ console.error("[Majoor] Cluster collection creation failed:", e), x(L("toast.failedCreateCollection", "Failed to create collection"), "error");
} finally {
g.value === t && (g.value = "");
}
}
}
- function le() {
- let e = O();
- e && !b && M().catch(() => {}), b = e;
+ function ue() {
+ let e = k();
+ e && !y && ee().catch(() => {}), y = e;
}
- return Zn(() => {
- le(), typeof MutationObserver < "u" && i.value && (y = new MutationObserver(() => le()), y.observe(i.value, {
+ return er(() => {
+ ue(), typeof MutationObserver < "u" && r.value && (v = new MutationObserver(() => ue()), v.observe(r.value, {
attributes: !0,
attributeFilter: ["style"]
}));
- }), ir(() => {
+ }), sr(() => {
try {
- y?.disconnect?.();
+ v?.disconnect?.();
} catch (e) {
console.debug?.(e);
}
- y = null;
- }), t({ refresh: M }), (e, t) => {
- let n = Qn("MButton"), r = Qn("MVirtualScroller");
+ v = null;
+ }), t({ refresh: ee }), (e, t) => {
+ let n = tr("MButton"), l = tr("MVirtualScroller");
return q(), Y("div", {
ref_key: "rootRef",
- ref: i,
+ ref: r,
class: "mjr-popover mjr-collections-popover",
style: { display: "none" }
- }, [H("div", xy, [
+ }, [H("div", Ey, [
U(n, {
type: "button",
class: "mjr-menu-item",
severity: "secondary",
text: "",
disabled: g.value !== "",
- onClick: Z(te)
+ onClick: Z(P)
}, {
- default: G(() => [H("span", Sy, J(Z(L)("ctx.createCollection", "Create collection")), 1), t[0] ||= H("i", { class: "pi pi-plus mjr-menu-item-check mjr-menu-item-check--visible" }, null, -1)]),
+ default: G(() => [H("span", Dy, J(Z(L)("ctx.createCollection", "Create collection")), 1), t[0] ||= H("i", { class: "pi pi-plus mjr-menu-item-check mjr-menu-item-check--visible" }, null, -1)]),
_: 1
}, 8, ["disabled", "onClick"]),
- w.value ? (q(), Jn(n, {
+ C.value ? (q(), Zn(n, {
key: 0,
type: "button",
class: "mjr-menu-item",
severity: "secondary",
text: "",
disabled: g.value !== "",
- onClick: Z(ne)
+ onClick: Z(re)
}, {
- default: G(() => [H("span", Cy, J(Z(L)("ctx.exitCollection", "Exit collection")), 1), H("span", wy, [C.value ? (q(), Y("span", Ty, J(C.value), 1)) : W("", !0), t[1] ||= H("i", { class: "pi pi-times mjr-menu-item-check mjr-menu-item-check--visible" }, null, -1)])]),
+ default: G(() => [H("span", Oy, J(Z(L)("ctx.exitCollection", "Exit collection")), 1), H("span", ky, [S.value ? (q(), Y("span", Ay, J(S.value), 1)) : W("", !0), t[1] ||= H("i", { class: "pi pi-times mjr-menu-item-check mjr-menu-item-check--visible" }, null, -1)])]),
_: 1
}, 8, ["disabled", "onClick"])) : W("", !0),
t[9] ||= H("div", { class: "mjr-menu-divider" }, null, -1),
- s.value ? (q(), Y("div", Ey, J(Z(L)("label.loading", "Loading...")), 1)) : c.value ? (q(), Y("div", Dy, J(c.value), 1)) : a.value.length ? (q(), Jn(r, {
+ a.value ? (q(), Y("div", jy, J(Z(L)("label.loading", "Loading...")), 1)) : o.value ? (q(), Y("div", My, J(o.value), 1)) : i.value.length ? (q(), Zn(l, {
key: 4,
- items: a.value,
+ items: i.value,
"item-size": 48,
"scroll-height": D.value,
"num-tolerated-items": 4,
class: "mjr-collections-virtual-list"
}, {
- item: G(({ item: e }) => [H("div", ky, [U(n, {
+ item: G(({ item: e }) => [H("div", Py, [U(n, {
type: "button",
- class: X(["mjr-menu-item", { "is-active": x.value === String(e.id || "") }]),
+ class: X(["mjr-menu-item", { "is-active": b.value === String(e.id || "") }]),
severity: "secondary",
text: "",
disabled: g.value !== "",
- onClick: (t) => Z(re)(e)
+ onClick: (t) => Z(F)(e)
}, {
- default: G(() => [H("span", Ay, J(e.name || e.id), 1), H("span", jy, [Number(e.count || 0) ? (q(), Y("span", My, J(Number(e.count || 0)), 1)) : W("", !0), t[2] ||= H("i", { class: "pi pi-check mjr-menu-item-check" }, null, -1)])]),
+ default: G(() => [H("span", Fy, J(e.name || e.id), 1), H("span", Iy, [Number(e.count || 0) ? (q(), Y("span", Ly, J(Number(e.count || 0)), 1)) : W("", !0), t[2] ||= H("i", { class: "pi pi-check mjr-menu-item-check" }, null, -1)])]),
_: 2
}, 1032, [
"class",
@@ -20328,7 +20405,7 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
text: "",
disabled: g.value !== "",
title: Z(L)("tooltip.deleteCollection", "Delete collection"),
- onClick: rr((t) => Z(I)(e), ["stop", "prevent"])
+ onClick: or((t) => Z(I)(e), ["stop", "prevent"])
}, {
default: G(() => [...t[3] ||= [H("i", { class: "pi pi-trash" }, null, -1)]]),
_: 1
@@ -20338,13 +20415,13 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
"onClick"
])])]),
_: 1
- }, 8, ["items", "scroll-height"])) : (q(), Y("div", Oy, J(Z(L)("msg.noCollections", "No collections yet")), 1)),
- !l.value && T.value ? (q(), Y(V, { key: 5 }, [t[4] ||= H("div", { class: "mjr-menu-divider" }, null, -1), H("div", Ny, J(u.value ? "AI Smart Collections are disabled (enable vector search env var)." : "AI Smart Collections are disabled in settings."), 1)], 64)) : W("", !0),
- !l.value && E.value ? (q(), Y(V, { key: 6 }, [
+ }, 8, ["items", "scroll-height"])) : (q(), Y("div", Ny, J(Z(L)("msg.noCollections", "No collections yet")), 1)),
+ !s.value && T.value ? (q(), Y(V, { key: 5 }, [t[4] ||= H("div", { class: "mjr-menu-divider" }, null, -1), H("div", Ry, J(c.value ? "AI Smart Collections are disabled (enable vector search env var)." : "AI Smart Collections are disabled in settings."), 1)], 64)) : W("", !0),
+ !s.value && E.value ? (q(), Y(V, { key: 6 }, [
t[7] ||= H("div", { class: "mjr-menu-divider" }, null, -1),
- H("div", Py, J(Z(L)("label.smartSuggestions", "Smart Suggestions")), 1),
- H("div", Fy, J(Z(L)("label.smartCollectionsHint", "Create collections from AI-detected themes")), 1),
- (q(!0), Y(V, null, $n(Z(my), (e) => (q(), Jn(n, {
+ H("div", zy, J(Z(L)("label.smartSuggestions", "Smart Suggestions")), 1),
+ H("div", By, J(Z(L)("label.smartCollectionsHint", "Create collections from AI-detected themes")), 1),
+ (q(!0), Y(V, null, nr(Z(yy), (e) => (q(), Zn(n, {
key: e.key,
type: "button",
class: "mjr-menu-item mjr-menu-item--smart",
@@ -20353,39 +20430,39 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
disabled: g.value !== "",
onClick: (t) => oe(e)
}, {
- default: G(() => [H("span", Iy, [H("i", { class: X(e.iconClass) }, null, 2), H("span", null, J(e.label), 1)]), t[5] ||= H("i", { class: "pi pi-plus mjr-menu-item-check mjr-menu-item-check--visible" }, null, -1)]),
+ default: G(() => [H("span", Vy, [H("i", { class: X(e.iconClass) }, null, 2), H("span", null, J(e.label), 1)]), t[5] ||= H("i", { class: "pi pi-plus mjr-menu-item-check mjr-menu-item-check--visible" }, null, -1)]),
_: 2
}, 1032, ["disabled", "onClick"]))), 128)),
t[8] ||= H("div", { class: "mjr-menu-divider" }, null, -1),
- H("div", Ly, J(Z(L)("label.discoverGroups", "Discover Groups")), 1),
- H("div", Ry, J(Z(L)("label.discoverGroupsHint", "AI clusters assets by visual similarity")), 1),
+ H("div", Hy, J(Z(L)("label.discoverGroups", "Discover Groups")), 1),
+ H("div", Uy, J(Z(L)("label.discoverGroupsHint", "AI clusters assets by visual similarity")), 1),
U(n, {
type: "button",
class: "mjr-menu-item mjr-menu-item--cluster",
severity: "secondary",
text: "",
- disabled: p.value || g.value !== "",
+ disabled: f.value || g.value !== "",
onClick: se
}, {
- default: G(() => [H("span", zy, [t[6] ||= H("i", { class: "pi pi-search" }, null, -1), H("span", null, J(p.value ? Z(L)("label.analyzing", "Analyzing...") : Z(L)("label.analyzeLibrary", "Analyze library")), 1)])]),
+ default: G(() => [H("span", Wy, [t[6] ||= H("i", { class: "pi pi-search" }, null, -1), H("span", null, J(f.value ? Z(L)("label.analyzing", "Analyzing...") : Z(L)("label.analyzeLibrary", "Analyze library")), 1)])]),
_: 1
}, 8, ["disabled"]),
- h.value ? (q(), Y("div", By, J(h.value), 1)) : W("", !0),
- (q(!0), Y(V, null, $n(m.value, (e) => (q(), Y("div", {
+ h.value ? (q(), Y("div", Gy, J(h.value), 1)) : W("", !0),
+ (q(!0), Y(V, null, nr(p.value, (e) => (q(), Y("div", {
key: e.cluster_id,
class: "mjr-cluster-row"
}, [
- H("div", Vy, [(q(!0), Y(V, null, $n(Array.isArray(e.sample_assets) ? e.sample_assets.slice(0, 3) : [], (t, n) => (q(), Y("img", {
+ H("div", Ky, [(q(!0), Y(V, null, nr(Array.isArray(e.sample_assets) ? e.sample_assets.slice(0, 3) : [], (t, n) => (q(), Y("img", {
key: `${e.cluster_id}-${n}`,
class: "mjr-cluster-thumb",
- src: A(t),
+ src: j(t),
alt: String(t?.filename || e._label || ""),
loading: "lazy"
- }, null, 8, Hy))), 128))]),
- H("div", Uy, [H("div", {
+ }, null, 8, qy))), 128))]),
+ H("div", Jy, [H("div", {
class: "mjr-cluster-name",
title: e._label
- }, J(e._label), 9, Wy), H("div", Gy, J(Number(e.size || 0)) + " " + J(Z(L)("label.assets", "assets")), 1)]),
+ }, J(e._label), 9, Yy), H("div", Xy, J(Number(e.size || 0)) + " " + J(Z(L)("label.assets", "assets")), 1)]),
U(n, {
type: "button",
class: "mjr-cluster-create-btn",
@@ -20394,7 +20471,7 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
title: Z(L)("ctx.createCollection", "Create collection"),
onClick: (t) => ce(e)
}, {
- default: G(() => [pr(J(g.value === `cluster:${String(e.cluster_id ?? "")}` ? Z(L)("label.loading", "Loading...") : Z(L)("label.create", "Create")), 1)]),
+ default: G(() => [gr(J(g.value === `cluster:${String(e.cluster_id ?? "")}` ? Z(L)("label.loading", "Loading...") : Z(L)("label.create", "Create")), 1)]),
_: 2
}, 1032, [
"disabled",
@@ -20406,16 +20483,16 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
])], 512);
};
}
-}), Jy = { class: "mjr-popover mjr-pinned-folders-popover mjr-popover--hidden" }, Yy = {
+}), $y = { class: "mjr-popover mjr-pinned-folders-popover mjr-popover--hidden" }, eb = {
key: 0,
class: "mjr-muted mjr-pinned-folders-empty"
-}, Xy = {
+}, tb = {
key: 1,
class: "mjr-muted mjr-pinned-folders-empty"
-}, Zy = { class: "mjr-pinned-folder-label" }, Qy = {
+}, nb = { class: "mjr-pinned-folder-label" }, rb = {
key: 0,
class: "mjr-menu-item-hint mjr-pinned-folder-path"
-}, $y = /* @__PURE__ */ tr({
+}, ib = /* @__PURE__ */ ir({
__name: "PinnedFoldersPopover",
setup(e, { expose: t }) {
let n = Q(null), r = Q([]), i = Q(!1), a = Q("No pinned folders"), o = Q("Loading..."), s = Q("Unpin folder"), c = Q(null), l = Q(null);
@@ -20446,13 +20523,13 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
setPinnedFolders: d,
setPinnedFoldersLoading: f
}), (e, t) => {
- let c = Qn("MButton");
- return q(), Y("div", Jy, [H("div", {
+ let c = tr("MButton");
+ return q(), Y("div", $y, [H("div", {
ref_key: "menuRef",
ref: n,
class: "mjr-menu mjr-pinned-folders-menu",
role: "menu"
- }, [i.value ? (q(), Y("div", Yy, J(o.value), 1)) : r.value.length ? (q(!0), Y(V, { key: 2 }, $n(r.value, (e) => (q(), Y("div", {
+ }, [i.value ? (q(), Y("div", eb, J(o.value), 1)) : r.value.length ? (q(!0), Y(V, { key: 2 }, nr(r.value, (e) => (q(), Y("div", {
key: e.id,
class: "mjr-pinned-folder-row"
}, [U(c, {
@@ -20462,7 +20539,7 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
severity: "secondary",
onClick: (t) => p(e)
}, {
- default: G(() => [H("span", Zy, J(e.label), 1), e.path ? (q(), Y("span", Qy, J(e.path), 1)) : W("", !0)]),
+ default: G(() => [H("span", nb, J(e.label), 1), e.path ? (q(), Y("span", rb, J(e.path), 1)) : W("", !0)]),
_: 2
}, 1032, ["onClick"]), U(c, {
type: "button",
@@ -20482,13 +20559,13 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
"title",
"aria-label",
"onClick"
- ])]))), 128)) : (q(), Y("div", Xy, J(a.value), 1))], 512)]);
+ ])]))), 128)) : (q(), Y("div", tb, J(a.value), 1))], 512)]);
};
}
-}), eb = {
+}), ab = {
class: "mjr-popover mjr-custom-popover",
style: { display: "none" }
-}, tb = { class: "mjr-popover-row" }, nb = { class: "mjr-popover-label" }, rb = { class: "mjr-popover-row mjr-popover-row--actions" }, ib = /* @__PURE__ */ tr({
+}, ob = { class: "mjr-popover-row" }, sb = { class: "mjr-popover-label" }, cb = { class: "mjr-popover-row mjr-popover-row--actions" }, lb = /* @__PURE__ */ ir({
__name: "CustomRootsPopover",
setup(e, { expose: t }) {
let n = Q([{
@@ -20571,8 +20648,8 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
return s(o.value);
}
}), (e, t) => {
- let s = Qn("MSelect"), c = Qn("MButton");
- return q(), Y("div", eb, [H("div", tb, [H("div", nb, J(Z(L)("label.folder")), 1), U(s, {
+ let s = tr("MSelect"), c = tr("MButton");
+ return q(), Y("div", ab, [H("div", ob, [H("div", sb, J(Z(L)("label.folder")), 1), U(s, {
class: "mjr-select",
"model-value": r.value,
options: n.value,
@@ -20584,14 +20661,14 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
"model-value",
"options",
"disabled"
- ])]), H("div", rb, [U(c, {
+ ])]), H("div", cb, [U(c, {
ref_key: "customAddBtnRef",
ref: a,
type: "button",
class: "mjr-btn",
severity: "secondary"
}, {
- default: G(() => [pr(J(Z(L)("btn.add")), 1)]),
+ default: G(() => [gr(J(Z(L)("btn.add")), 1)]),
_: 1
}, 512), U(c, {
ref_key: "customRemoveBtnRef",
@@ -20601,15 +20678,15 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
severity: "secondary",
disabled: ""
}, {
- default: G(() => [pr(J(Z(L)("btn.remove")), 1)]),
+ default: G(() => [gr(J(Z(L)("btn.remove")), 1)]),
_: 1
}, 512)])]);
};
}
-}), ab = ["aria-label"], ob = { class: "mjr-messages-head" }, sb = { class: "mjr-messages-actions" }, cb = ["title"], lb = { class: "mjr-messages-star-label" }, ub = {
+}), ub = ["aria-label"], db = { class: "mjr-messages-head" }, fb = { class: "mjr-messages-actions" }, pb = ["title"], mb = { class: "mjr-messages-star-label" }, hb = {
class: "mjr-messages-tabs",
role: "tablist"
-}, db = { class: "mjr-messages-panels" }, fb = { class: "mjr-messages-empty" }, pb = "https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager", mb = /* @__PURE__ */ tr({
+}, gb = { class: "mjr-messages-panels" }, _b = { class: "mjr-messages-empty" }, vb = "https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager", yb = /* @__PURE__ */ ir({
__name: "MessagePopover",
setup(e, { expose: t }) {
let n = Q(null), r = Q(null), i = Q(null), a = Q(null), o = Q(null), s = Q(null), c = Q(null), l = Q(null), u = Q(null), d = Q(null), f = Q(null), p = (e) => e?.$el || e || null;
@@ -20648,7 +20725,7 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
return f.value;
}
}), (e, t) => {
- let p = Qn("MButton"), m = Qn("MDialog");
+ let p = tr("MButton"), m = tr("MDialog");
return q(), Y("div", {
class: "mjr-popover mjr-messages-popover",
id: "mjr-messages-popover",
@@ -20674,12 +20751,12 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
}
}, {
default: G(() => [
- H("div", ob, [H("div", {
+ H("div", db, [H("div", {
ref_key: "titleRef",
ref: n,
class: "mjr-messages-title"
- }, J(Z(L)("label.messages", "Messages")), 513), H("div", sb, [H("a", {
- href: pb,
+ }, J(Z(L)("label.messages", "Messages")), 513), H("div", fb, [H("a", {
+ href: vb,
target: "_blank",
rel: "noopener noreferrer",
class: "mjr-btn mjr-messages-star-link",
@@ -20687,7 +20764,7 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
}, [t[0] ||= H("span", {
class: "mjr-messages-star-icon",
"aria-hidden": "true"
- }, "★", -1), H("span", lb, J(Z(L)("btn.giveStar", "Give a star")), 1)], 8, cb), U(p, {
+ }, "★", -1), H("span", mb, J(Z(L)("btn.giveStar", "Give a star")), 1)], 8, pb), U(p, {
ref_key: "markReadBtnRef",
ref: r,
type: "button",
@@ -20695,10 +20772,10 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
severity: "secondary",
title: Z(L)("tooltip.markMessagesRead", "Mark all messages as read")
}, {
- default: G(() => [pr(J(Z(L)("btn.markAllRead", "Mark all read")), 1)]),
+ default: G(() => [gr(J(Z(L)("btn.markAllRead", "Mark all read")), 1)]),
_: 1
}, 8, ["title"])])]),
- H("div", ub, [
+ H("div", hb, [
U(p, {
ref_key: "messageTabBtnRef",
ref: i,
@@ -20763,11 +20840,11 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
"aria-controls": "mjr-shortcuts-panel",
id: "mjr-shortcuts-tab"
}, {
- default: G(() => [pr(J(Z(L)("msg.shortcuts.title", "Shortcut Guide")), 1)]),
+ default: G(() => [gr(J(Z(L)("msg.shortcuts.title", "Shortcut Guide")), 1)]),
_: 1
}, 512)
]),
- H("div", db, [
+ H("div", gb, [
H("div", {
ref_key: "messageListRef",
ref: u,
@@ -20775,7 +20852,7 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
id: "mjr-messages-panel",
role: "tabpanel",
"aria-labelledby": "mjr-messages-tab"
- }, [H("div", fb, J(Z(L)("msg.noMessages", "No messages for now.")), 1)], 512),
+ }, [H("div", _b, J(Z(L)("msg.noMessages", "No messages for now.")), 1)], 512),
H("div", {
ref_key: "historyPanelRef",
ref: d,
@@ -20797,13 +20874,13 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
])
]),
_: 1
- })], 8, ab);
+ })], 8, ub);
};
}
-}), hb = { class: "mjr-am-header-row" }, gb = { class: "mjr-am-header-left" }, _b = { class: "mjr-am-header-title" }, vb = ["data-mjr-version-channel", "title"], yb = { class: "mjr-tabs" }, bb = { class: "mjr-am-header-tools" }, xb = {
+}), bb = { class: "mjr-am-header-row" }, xb = { class: "mjr-am-header-left" }, Sb = { class: "mjr-am-header-title" }, Cb = ["data-mjr-version-channel", "title"], wb = { class: "mjr-tabs" }, Tb = { class: "mjr-am-header-tools" }, Eb = {
class: "mjr-popover-anchor",
style: { display: "none" }
-}, Sb = { class: "mjr-popover-anchor" }, Cb = { class: "mjr-popover-anchor" }, wb = { class: "mjr-popover-anchor" }, Tb = { class: "mjr-popover-anchor" }, Eb = { class: "mjr-popover-anchor" }, Db = "mjr-am-version-badge-label", Ob = "V", kb = /* @__PURE__ */ tr({
+}, Db = { class: "mjr-popover-anchor" }, Ob = { class: "mjr-popover-anchor" }, kb = { class: "mjr-popover-anchor" }, Ab = { class: "mjr-popover-anchor" }, jb = { class: "mjr-popover-anchor" }, Mb = "mjr-am-version-badge-label", Nb = "V", Pb = /* @__PURE__ */ ir({
__name: "HeaderSection",
setup(e, { expose: t }) {
let n = null;
@@ -20841,12 +20918,12 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
rating_desc: "pi pi-star-fill",
size_desc: "pi pi-sort-numeric-down-alt",
size_asc: "pi pi-sort-numeric-up-alt"
- }, s = Vh(), c = a() === "nightly", l = Q(null), u = Q(null), d = Q(null), f = Q(null), m = Q(null), h = Q(null), g = Q(null), v = Q(null), y = Q(null), b = Q(null), x = Q(null), S = Q(null), C = Q(null), w = Q(null), T = Q(null), E = Q(null), D = Q(null), O = Q(null), k = Q(null), A = Q(null), ee = Q(null), j = Q(null), M = Q(null), N = Q(null), te = Q(null), ne = Q(null), P = (e) => e?.$el || e || null, re = Q(c ? "nightly" : "v?"), I = Q(c ? "nightly" : "stable"), ie = Q(!1), ae = Q(!1), oe = K(() => o[s.sort] ?? "pi pi-sort-amount-down"), se = K(() => String(s.viewScope || s.scope || "output").toLowerCase()), ce = K(() => se.value === "similar" || Array.isArray(s.similarResults) && s.similarResults.length > 0 || !!s.similarTitle), le = K(() => {
+ }, s = Kh(), c = a() === "nightly", l = Q(null), u = Q(null), d = Q(null), f = Q(null), p = Q(null), m = Q(null), h = Q(null), g = Q(null), _ = Q(null), v = Q(null), y = Q(null), b = Q(null), S = Q(null), C = Q(null), w = Q(null), T = Q(null), E = Q(null), D = Q(null), O = Q(null), k = Q(null), A = Q(null), j = Q(null), M = Q(null), N = Q(null), ee = Q(null), te = Q(null), P = (e) => e?.$el || e || null, ne = Q(c ? "nightly" : "v?"), re = Q(c ? "nightly" : "stable"), ie = Q(!1), F = Q(!1), ae = K(() => o[s.sort] ?? "pi pi-sort-amount-down"), oe = K(() => String(s.viewScope || s.scope || "output").toLowerCase()), se = K(() => oe.value === "similar" || Array.isArray(s.similarResults) && s.similarResults.length > 0 || !!s.similarTitle), ce = K(() => {
let e = String(s.similarSourceAssetId || "");
return e.startsWith("stack:") || e.startsWith("duplicates:") || e.startsWith("group:") || e.startsWith("node:") ? "group" : "similar";
- }), ue = K(() => le.value === "group" ? L("tab.group", "Group") : L("tab.similar", "Similar")), de = K(() => le.value === "group" ? L("tooltip.tab.group", "Browse current grouped assets") : L("tooltip.tab.similar", "Browse current similar findings")), fe = {
+ }), le = K(() => ce.value === "group" ? L("tab.group", "Group") : L("tab.similar", "Similar")), ue = K(() => ce.value === "group" ? L("tooltip.tab.group", "Browse current grouped assets") : L("tooltip.tab.similar", "Browse current similar findings")), de = {
get tabAll() {
- return P(ee.value);
+ return P(A.value);
},
get tabInputs() {
return P(j.value);
@@ -20858,12 +20935,12 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
return P(N.value);
},
get tabWorkflow() {
- return P(te.value);
+ return P(ee.value);
},
get tabSimilar() {
- return P(ne.value);
+ return P(te.value);
}
- }, pe = K(() => ({
+ }, fe = K(() => ({
position: "relative",
fontSize: "10px",
opacity: ie.value ? "1" : "0.6",
@@ -20876,19 +20953,19 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
cursor: "pointer",
transition: "opacity 0.2s, background 0.2s",
verticalAlign: "middle"
- })), he = K(() => ae.value ? L("tooltip.closeMFV", "Close Majoor Floating Viewer") : L("tooltip.openMFV", "Open Majoor Floating Viewer")), ge = K(() => "pi pi-eye"), _e = K(() => L("tooltip.openMajoorSettings", "Open Majoor Assets Manager settings"));
- async function ve() {
- let e = _();
+ })), pe = K(() => F.value ? L("tooltip.closeMFV", "Close Majoor Floating Viewer") : L("tooltip.openMFV", "Open Majoor Floating Viewer")), me = K(() => "pi pi-eye"), ge = K(() => L("tooltip.openMajoorSettings", "Open Majoor Assets Manager settings"));
+ async function _e() {
+ let e = ot();
if (!e || typeof e != "object") {
- F(L("toast.workflowSerializeFailed", "Could not read the current ComfyUI workflow."), "error");
+ x(L("toast.workflowSerializeFailed", "Could not read the current ComfyUI workflow."), "error");
return;
}
- let t = await Q_({
+ let t = await rv({
workflow: e,
name: String(e?.name || e?.title || "workflow").trim()
}), n = String(t?.name || "").trim();
if (!n) return;
- let r = await z({
+ let r = await nt({
workflow: e,
name: n,
task: t?.task || "",
@@ -20897,9 +20974,9 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
runs_on: t?.runs_on || "",
notes: t?.notes || ""
}, { timeoutMs: 3e4 });
- if (!r?.ok) F(r?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
+ if (!r?.ok) x(r?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
else {
- F(L("toast.workflowSaved", "Workflow saved"), "success", 1800);
+ x(L("toast.workflowSaved", "Workflow saved"), "success", 1800);
try {
window.dispatchEvent(new CustomEvent("mjr:reload-grid", { detail: { reason: "workflow-save" } }));
} catch (e) {
@@ -20907,43 +20984,43 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
}
}
}
- async function ye() {
+ async function ve() {
let e = "";
try {
- let t = await me(p.BROWSE_FOLDER, {});
+ let t = await he(I.BROWSE_FOLDER, {});
t?.ok && (e = String(t?.data?.path || "").trim());
} catch (e) {
console.debug?.(e);
}
if (!e) {
- let t = await wt(L("dialog.enterWorkflowRootPath", "Workflow root folder"), "", L("tab.workflow", "Workflow"));
+ let t = await Dt(L("dialog.enterWorkflowRootPath", "Workflow root folder"), "", L("tab.workflow", "Workflow"));
e = String(t || "").trim();
}
if (!e) return;
- let t = await ke(e, { timeoutMs: 3e4 });
- if (!t?.ok) F(t?.error || L("toast.failedSetWorkflowRoots", "Failed to set workflow roots"), "error");
+ let t = await Oe(e, { timeoutMs: 3e4 });
+ if (!t?.ok) x(t?.error || L("toast.failedSetWorkflowRoots", "Failed to set workflow roots"), "error");
else {
try {
- let n = Mt();
- n.paths = n.paths || {}, n.paths.workflowRoots = String(t?.data?.workflow_roots_text || e).trim(), bt(n), window.dispatchEvent(new CustomEvent("mjr-settings-changed", { detail: {
+ let n = Ft();
+ n.paths = n.paths || {}, n.paths.workflowRoots = String(t?.data?.workflow_roots_text || e).trim(), Ct(n), window.dispatchEvent(new CustomEvent("mjr-settings-changed", { detail: {
key: "paths.workflowRoots",
value: e
} })), window.dispatchEvent(new CustomEvent("mjr:reload-grid", { detail: { reason: "workflow-root-pick" } }));
} catch (e) {
console.debug?.(e);
}
- F(L("toast.workflowRootsSaved", "Workflow roots saved"), "success", 1800);
+ x(L("toast.workflowRootsSaved", "Workflow roots saved"), "success", 1800);
}
}
- function be() {
- let e = C.value;
+ function ye() {
+ let e = S.value;
if (e) try {
e.value = "", e.click();
} catch (e) {
console.debug?.(e);
}
}
- function xe(e) {
+ function be(e) {
return new Promise((t, n) => {
let r = new FileReader();
r.onload = () => {
@@ -20955,30 +21032,30 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
}, r.onerror = () => n(r.error || /* @__PURE__ */ Error("Failed to read workflow file")), r.readAsText(e, "utf-8");
});
}
- async function Se(e) {
+ async function xe(e) {
let t = Array.from(e?.target?.files || []).filter((e) => String(e?.name || "").toLowerCase().endsWith(".json"));
if (!t.length) return;
let n = 0;
for (let e of t) try {
- let t = await xe(e);
+ let t = await be(e);
if (!t || typeof t != "object") {
- F(L("toast.workflowImportInvalid", "Invalid workflow JSON."), "error");
+ x(L("toast.workflowImportInvalid", "Invalid workflow JSON."), "error");
continue;
}
- let r = String(e.name || "workflow.json").replace(/\.json$/i, "").trim() || "workflow", i = await z({
+ let r = String(e.name || "workflow.json").replace(/\.json$/i, "").trim() || "workflow", i = await nt({
workflow: t,
name: r
}, { timeoutMs: 3e4 });
if (!i?.ok) {
- F(i?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
+ x(i?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
continue;
}
n += 1;
} catch (e) {
- console.debug?.(e), F(L("toast.workflowImportInvalid", "Invalid workflow JSON."), "error");
+ console.debug?.(e), x(L("toast.workflowImportInvalid", "Invalid workflow JSON."), "error");
}
if (n > 0) {
- F(n === 1 ? L("toast.workflowImported", "Workflow imported") : L("toast.workflowsImported", "{count} workflows imported", { count: n }), "success", 1800);
+ x(n === 1 ? L("toast.workflowImported", "Workflow imported") : L("toast.workflowsImported", "{count} workflows imported", { count: n }), "success", 1800);
try {
window.dispatchEvent(new CustomEvent("mjr:reload-grid", { detail: { reason: "workflow-import" } }));
} catch (e) {
@@ -20986,79 +21063,79 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
}
}
}
- function Ce(e, { channel: t = "" } = {}) {
- re.value = String(e || ""), t && (I.value = t);
+ function Se(e, { channel: t = "" } = {}) {
+ ne.value = String(e || ""), t && (re.value = t);
}
- function we(e) {
+ function Ce(e) {
r().then((t) => {
- let n = I.value.toLowerCase() === "nightly" || re.value.toLowerCase() === "nightly";
+ let n = re.value.toLowerCase() === "nightly" || ne.value.toLowerCase() === "nightly";
if (!e && !n) {
let e = (typeof t?.version == "string" ? t.version.trim() : "") || "";
- e && Ce(`v${e}`, { channel: "stable" });
+ e && Se(`v${e}`, { channel: "stable" });
}
}).catch(() => {
n = null;
});
}
- async function Te(e) {
+ async function we(e) {
try {
- let t = await Pe(p.VERSION, { cache: "no-cache" });
+ let t = await Ie(I.VERSION, { cache: "no-cache" });
if (!t?.ok) return;
let n = String(t.data?.version || "").trim();
if (i(n, String(t.data?.branch || "").trim().toLowerCase()) || e) {
- Ce("nightly", { channel: "nightly" });
+ Se("nightly", { channel: "nightly" });
return;
}
- n && Ce(n.startsWith("v") ? n : `v${n}`, { channel: "stable" });
+ n && Se(n.startsWith("v") ? n : `v${n}`, { channel: "stable" });
} catch {}
}
+ function Te() {
+ try {
+ Wt(P(g.value), pe.value, Nb);
+ } catch (e) {
+ console.debug?.(e);
+ }
+ }
function Ee() {
- try {
- Vt(P(v.value), he.value, Ob);
- } catch (e) {
- console.debug?.(e);
- }
- }
- function De() {
try {
if (typeof document > "u") return;
- ae.value = !!document.querySelector(".mjr-mfv.is-visible");
+ F.value = !!document.querySelector(".mjr-mfv.is-visible");
} catch (e) {
console.debug?.(e);
}
}
- function Oe(e) {
- ae.value = !!e?.detail?.visible;
+ function De(e) {
+ F.value = !!e?.detail?.visible;
}
- function Ae() {
+ function ke() {
window.dispatchEvent(new CustomEvent(B.MFV_TOGGLE));
}
+ function Ae() {
+ Kt();
+ }
function je() {
- Ut();
- }
- function Me() {
try {
- typeof window < "u" && window.removeEventListener(B.MFV_VISIBILITY_CHANGED, Oe);
+ typeof window < "u" && window.removeEventListener(B.MFV_VISIBILITY_CHANGED, De);
} catch (e) {
console.debug?.(e);
}
}
- return or(ae, () => {
- Ee();
- }), Zn(async () => {
- await qn(), De(), Ee(), we(c), Te(c);
+ return lr(F, () => {
+ Te();
+ }), er(async () => {
+ await Xn(), Ee(), Te(), Ce(c), we(c);
try {
- typeof window < "u" && window.addEventListener(B.MFV_VISIBILITY_CHANGED, Oe);
+ typeof window < "u" && window.addEventListener(B.MFV_VISIBILITY_CHANGED, De);
} catch (e) {
console.debug?.(e);
}
try {
- l.value._mjrVersionUpdateCleanup = Me;
+ l.value._mjrVersionUpdateCleanup = je;
} catch (e) {
console.debug?.(e);
}
- }), ir(() => {
- Me();
+ }), sr(() => {
+ je();
}), t({
isVueHeader: !0,
get header() {
@@ -21068,7 +21145,7 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
return u.value;
},
get tabButtons() {
- return fe;
+ return de;
},
get customMenuBtn() {
return P(d.value);
@@ -21077,285 +21154,285 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
return P(f.value);
},
get sortBtn() {
- return P(m.value);
+ return P(p.value);
},
get collectionsBtn() {
- return P(h.value);
+ return P(m.value);
},
get pinnedFoldersBtn() {
- return P(g.value);
+ return P(h.value);
},
get messageBtn() {
- return P(y.value);
+ return P(_.value);
},
get settingsBtn() {
- return P(b.value);
+ return P(v.value);
},
get customPopover() {
- return k.value?.$el ?? null;
+ return O.value?.$el ?? null;
},
get customSelect() {
- return k.value?.customSelect ?? null;
+ return O.value?.customSelect ?? null;
},
get customAddBtn() {
- return k.value?.customAddBtn ?? null;
+ return O.value?.customAddBtn ?? null;
},
get customRemoveBtn() {
- return k.value?.customRemoveBtn ?? null;
+ return O.value?.customRemoveBtn ?? null;
},
get filterPopover() {
- return E.value?.$el ?? null;
+ return T.value?.$el ?? null;
},
get kindSelect() {
- return E.value?.kindSelect ?? null;
+ return T.value?.kindSelect ?? null;
},
get wfCheckbox() {
- return E.value?.wfCheckbox ?? null;
+ return T.value?.wfCheckbox ?? null;
},
get workflowTypeSelect() {
- return E.value?.workflowTypeSelect ?? null;
+ return T.value?.workflowTypeSelect ?? null;
},
get workflowIdInput() {
- return E.value?.workflowIdInput ?? null;
+ return T.value?.workflowIdInput ?? null;
},
get workflowModelInput() {
- return E.value?.workflowModelInput ?? null;
+ return T.value?.workflowModelInput ?? null;
},
get workflowRunsOnSelect() {
- return E.value?.workflowRunsOnSelect ?? null;
+ return T.value?.workflowRunsOnSelect ?? null;
},
get ratingSelect() {
- return E.value?.ratingSelect ?? null;
+ return T.value?.ratingSelect ?? null;
},
get minSizeInput() {
- return E.value?.minSizeInput ?? null;
+ return T.value?.minSizeInput ?? null;
},
get maxSizeInput() {
- return E.value?.maxSizeInput ?? null;
+ return T.value?.maxSizeInput ?? null;
},
get resolutionPresetSelect() {
- return E.value?.resolutionPresetSelect ?? null;
+ return T.value?.resolutionPresetSelect ?? null;
},
get minWidthInput() {
- return E.value?.minWidthInput ?? null;
+ return T.value?.minWidthInput ?? null;
},
get minHeightInput() {
- return E.value?.minHeightInput ?? null;
+ return T.value?.minHeightInput ?? null;
},
get maxWidthInput() {
- return E.value?.maxWidthInput ?? null;
+ return T.value?.maxWidthInput ?? null;
},
get maxHeightInput() {
- return E.value?.maxHeightInput ?? null;
+ return T.value?.maxHeightInput ?? null;
},
get dateRangeSelect() {
- return E.value?.dateRangeSelect ?? null;
+ return T.value?.dateRangeSelect ?? null;
},
get dateExactInput() {
- return E.value?.dateExactInput ?? null;
+ return T.value?.dateExactInput ?? null;
},
get agendaContainer() {
- return E.value?.agendaContainer ?? null;
+ return T.value?.agendaContainer ?? null;
},
get sortPopover() {
- return T.value?.$el ?? null;
+ return w.value?.$el ?? null;
},
sortMenu: document.createElement("div"),
get collectionsPopover() {
- return D.value?.$el ?? null;
+ return E.value?.$el ?? null;
},
get refreshCollectionsPopover() {
- return D.value?.refresh ?? null;
+ return E.value?.refresh ?? null;
},
get pinnedFoldersPopover() {
- return O.value?.$el ?? null;
+ return D.value?.$el ?? null;
},
get pinnedFoldersController() {
- return O.value ?? null;
+ return D.value ?? null;
},
get pinnedFoldersMenu() {
- return O.value?.pinnedFoldersMenu ?? null;
+ return D.value?.pinnedFoldersMenu ?? null;
},
get messagePopover() {
- return A.value?.$el ?? null;
+ return k.value?.$el ?? null;
},
get messagePopoverTitle() {
- return A.value?.title ?? null;
+ return k.value?.title ?? null;
},
get messageTabBtn() {
- return A.value?.messageTabBtn ?? null;
+ return k.value?.messageTabBtn ?? null;
},
get messageTabBadge() {
- return A.value?.messageTabBadge ?? null;
+ return k.value?.messageTabBadge ?? null;
},
get historyTabBtn() {
- return A.value?.historyTabBtn ?? null;
+ return k.value?.historyTabBtn ?? null;
},
get historyTabBadge() {
- return A.value?.historyTabBadge ?? null;
+ return k.value?.historyTabBadge ?? null;
},
get historyTabCount() {
- return A.value?.historyTabCount ?? null;
+ return k.value?.historyTabCount ?? null;
},
get historyPanel() {
- return A.value?.historyPanel ?? null;
+ return k.value?.historyPanel ?? null;
},
get shortcutsTabBtn() {
- return A.value?.shortcutsTabBtn ?? null;
+ return k.value?.shortcutsTabBtn ?? null;
},
get messageList() {
- return A.value?.messageList ?? null;
+ return k.value?.messageList ?? null;
},
get shortcutsPanel() {
- return A.value?.shortcutsPanel ?? null;
+ return k.value?.shortcutsPanel ?? null;
},
get markReadBtn() {
- return A.value?.markReadBtn ?? null;
+ return k.value?.markReadBtn ?? null;
},
get searchSection() {
- return w.value?.searchSection ?? null;
+ return C.value?.searchSection ?? null;
},
get searchInputEl() {
- return w.value?.searchInputEl ?? null;
+ return C.value?.searchInputEl ?? null;
},
get similarBtn() {
- return w.value?.similarBtn ?? null;
+ return C.value?.similarBtn ?? null;
},
get similarPopover() {
- return w.value?.similarPopover ?? null;
+ return C.value?.similarPopover ?? null;
},
get similarFindBtn() {
- return w.value?.similarFindBtn ?? null;
+ return C.value?.similarFindBtn ?? null;
},
get similarDuplicatesBtn() {
- return w.value?.similarDuplicatesBtn ?? null;
+ return C.value?.similarDuplicatesBtn ?? null;
},
get similarSameNodeBtn() {
- return w.value?.similarSameNodeBtn ?? null;
+ return C.value?.similarSameNodeBtn ?? null;
},
get similarSameWorkflowBtn() {
- return w.value?.similarSameWorkflowBtn ?? null;
+ return C.value?.similarSameWorkflowBtn ?? null;
},
setSemanticEnabled(e) {
- w.value?.setSemanticEnabled?.(e);
+ C.value?.setSemanticEnabled?.(e);
},
- _headerDispose: Me
+ _headerDispose: je
}), (e, t) => {
- let n = Qn("MButton");
+ let n = tr("MButton");
return q(), Y(V, null, [H("div", {
ref_key: "headerRef",
ref: l,
class: "mjr-am-header"
- }, [H("div", hb, [H("div", gb, [
+ }, [H("div", bb, [H("div", xb, [
t[2] ||= H("i", {
class: "mjr-am-header-icon pi pi-folder",
"aria-hidden": "true"
}, null, -1),
- H("div", _b, J(Z(L)("manager.title")), 1),
+ H("div", Sb, J(Z(L)("manager.title")), 1),
H("a", {
href: "https://ko-fi.com/majoorwaldi",
target: "_blank",
rel: "noopener noreferrer",
class: "mjr-am-version-badge",
- "data-mjr-version-channel": I.value,
+ "data-mjr-version-channel": re.value,
title: Z(L)("tooltip.supportKofi"),
- style: fr(pe.value),
+ style: hr(fe.value),
onMouseenter: t[0] ||= (e) => ie.value = !0,
onMouseleave: t[1] ||= (e) => ie.value = !1
- }, [H("span", { class: X(Db) }, J(re.value), 1)], 44, vb)
+ }, [H("span", { class: X(Mb) }, J(ne.value), 1)], 44, Cb)
]), H("div", {
ref_key: "headerActionsRef",
ref: u,
class: "mjr-am-header-actions"
- }, [H("div", yb, [
+ }, [H("div", wb, [
U(n, {
ref_key: "tabAllRef",
- ref: ee,
+ ref: A,
type: "button",
- class: X(["mjr-tab", { "is-active": se.value === "all" }]),
+ class: X(["mjr-tab", { "is-active": oe.value === "all" }]),
severity: "secondary",
text: "",
"data-scope": "all",
title: Z(L)("tooltip.tab.all")
}, {
- default: G(() => [pr(J(Z(L)("tab.all")), 1)]),
+ default: G(() => [gr(J(Z(L)("tab.all")), 1)]),
_: 1
}, 8, ["class", "title"]),
U(n, {
ref_key: "tabInputsRef",
ref: j,
type: "button",
- class: X(["mjr-tab", { "is-active": se.value === "input" }]),
+ class: X(["mjr-tab", { "is-active": oe.value === "input" }]),
severity: "secondary",
text: "",
"data-scope": "input",
title: Z(L)("tooltip.tab.input")
}, {
- default: G(() => [pr(J(Z(L)("tab.input")), 1)]),
+ default: G(() => [gr(J(Z(L)("tab.input")), 1)]),
_: 1
}, 8, ["class", "title"]),
U(n, {
ref_key: "tabOutputsRef",
ref: M,
type: "button",
- class: X(["mjr-tab", { "is-active": se.value === "output" }]),
+ class: X(["mjr-tab", { "is-active": oe.value === "output" }]),
severity: "secondary",
text: "",
"data-scope": "output",
title: Z(L)("tooltip.tab.output")
}, {
- default: G(() => [pr(J(Z(L)("tab.output")), 1)]),
+ default: G(() => [gr(J(Z(L)("tab.output")), 1)]),
_: 1
}, 8, ["class", "title"]),
U(n, {
ref_key: "tabCustomRef",
ref: N,
type: "button",
- class: X(["mjr-tab", { "is-active": se.value === "custom" }]),
+ class: X(["mjr-tab", { "is-active": oe.value === "custom" }]),
severity: "secondary",
text: "",
"data-scope": "custom",
title: Z(L)("tooltip.tab.custom")
}, {
- default: G(() => [pr(J(Z(L)("tab.custom")), 1)]),
+ default: G(() => [gr(J(Z(L)("tab.custom")), 1)]),
_: 1
}, 8, ["class", "title"]),
U(n, {
ref_key: "tabWorkflowRef",
- ref: te,
+ ref: ee,
type: "button",
- class: X(["mjr-tab", { "is-active": se.value === "workflow" }]),
+ class: X(["mjr-tab", { "is-active": oe.value === "workflow" }]),
severity: "secondary",
text: "",
"data-scope": "workflow",
title: Z(L)("tooltip.tab.workflow", "Browse saved workflows")
}, {
- default: G(() => [pr(J(Z(L)("tab.workflow", "Workflow")), 1)]),
+ default: G(() => [gr(J(Z(L)("tab.workflow", "Workflow")), 1)]),
_: 1
}, 8, ["class", "title"]),
U(n, {
ref_key: "tabSimilarRef",
- ref: ne,
+ ref: te,
type: "button",
- class: X(["mjr-tab", { "is-active": se.value === "similar" }]),
+ class: X(["mjr-tab", { "is-active": oe.value === "similar" }]),
severity: "secondary",
text: "",
"data-scope": "similar",
- style: fr({ display: ce.value ? "" : "none" }),
- title: de.value
+ style: hr({ display: se.value ? "" : "none" }),
+ title: ue.value
}, {
- default: G(() => [pr(J(ue.value), 1)]),
+ default: G(() => [gr(J(le.value), 1)]),
_: 1
}, 8, [
"class",
"style",
"title"
])
- ]), H("div", bb, [
- se.value === "workflow" ? (q(), Jn(n, {
+ ]), H("div", Tb, [
+ oe.value === "workflow" ? (q(), Zn(n, {
key: 0,
ref_key: "saveWorkflowBtnRef",
- ref: x,
+ ref: y,
type: "button",
class: "mjr-icon-btn mjr-save-workflow-btn",
severity: "secondary",
@@ -21363,7 +21440,7 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
rounded: "",
title: Z(L)("tooltip.saveCurrentWorkflow", "Save current workflow"),
"aria-label": Z(L)("tooltip.saveCurrentWorkflow", "Save current workflow"),
- onClick: ve
+ onClick: _e
}, {
default: G(() => [...t[3] ||= [H("i", {
class: "pi pi-save",
@@ -21371,10 +21448,10 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
}, null, -1)]]),
_: 1
}, 8, ["title", "aria-label"])) : W("", !0),
- se.value === "workflow" ? (q(), Jn(n, {
+ oe.value === "workflow" ? (q(), Zn(n, {
key: 1,
ref_key: "pickWorkflowRootBtnRef",
- ref: S,
+ ref: b,
type: "button",
class: "mjr-icon-btn mjr-pick-workflow-root-btn",
severity: "secondary",
@@ -21382,7 +21459,7 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
rounded: "",
title: Z(L)("tooltip.pickWorkflowRoot", "Pick saved workflow root"),
"aria-label": Z(L)("tooltip.pickWorkflowRoot", "Pick saved workflow root"),
- onClick: ye
+ onClick: ve
}, {
default: G(() => [...t[4] ||= [H("i", {
class: "pi pi-folder-plus",
@@ -21390,7 +21467,7 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
}, null, -1)]]),
_: 1
}, 8, ["title", "aria-label"])) : W("", !0),
- se.value === "workflow" ? (q(), Jn(n, {
+ oe.value === "workflow" ? (q(), Zn(n, {
key: 2,
type: "button",
class: "mjr-icon-btn mjr-import-workflow-btn",
@@ -21399,7 +21476,7 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
rounded: "",
title: Z(L)("tooltip.importWorkflow", "Import workflow"),
"aria-label": Z(L)("tooltip.importWorkflow", "Import workflow"),
- onClick: be
+ onClick: ye
}, {
default: G(() => [...t[5] ||= [H("i", {
class: "pi pi-upload",
@@ -21409,14 +21486,14 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
}, 8, ["title", "aria-label"])) : W("", !0),
H("input", {
ref_key: "importWorkflowInputRef",
- ref: C,
+ ref: S,
type: "file",
accept: ".json,application/json",
multiple: "",
style: { display: "none" },
- onChange: Se
+ onChange: xe
}, null, 544),
- H("div", xb, [U(n, {
+ H("div", Eb, [U(n, {
ref_key: "customMenuBtnRef",
ref: d,
type: "button",
@@ -21432,24 +21509,24 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
"aria-hidden": "true"
}, null, -1)]]),
_: 1
- }, 8, ["title", "aria-label"]), U(ib, {
+ }, 8, ["title", "aria-label"]), U(lb, {
ref_key: "customPopoverRef",
- ref: k
+ ref: O
}, null, 512)]),
U(n, {
ref_key: "mfvBtnRef",
- ref: v,
+ ref: g,
type: "button",
- class: X(["mjr-icon-btn", { "mjr-mfv-btn-active": ae.value }]),
+ class: X(["mjr-icon-btn", { "mjr-mfv-btn-active": F.value }]),
severity: "secondary",
text: "",
rounded: "",
- title: he.value,
- "aria-label": he.value,
- onClick: Ae
+ title: pe.value,
+ "aria-label": pe.value,
+ onClick: ke
}, {
default: G(() => [H("i", {
- class: X(ge.value),
+ class: X(me.value),
"aria-hidden": "true"
}, null, 2)]),
_: 1
@@ -21458,9 +21535,9 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
"title",
"aria-label"
]),
- H("div", Sb, [U(n, {
+ H("div", Db, [U(n, {
ref_key: "messageBtnRef",
- ref: y,
+ ref: _,
type: "button",
class: "mjr-icon-btn mjr-message-btn",
severity: "secondary",
@@ -21478,21 +21555,21 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
"aria-hidden": "true"
}, null, -1)]]),
_: 1
- }, 8, ["title", "aria-label"]), U(mb, {
+ }, 8, ["title", "aria-label"]), U(yb, {
ref_key: "messagePopoverRef",
- ref: A
+ ref: k
}, null, 512)]),
U(n, {
ref_key: "settingsBtnRef",
- ref: b,
+ ref: v,
type: "button",
class: "mjr-icon-btn mjr-settings-shortcut-btn",
severity: "secondary",
text: "",
rounded: "",
- title: _e.value,
- "aria-label": _e.value,
- onClick: je
+ title: ge.value,
+ "aria-label": ge.value,
+ onClick: Ae
}, {
default: G(() => [...t[8] ||= [H("i", {
class: "pi pi-cog",
@@ -21500,11 +21577,11 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
}, null, -1)]]),
_: 1
}, 8, ["title", "aria-label"])
- ])], 512)])], 512), U(mv, {
+ ])], 512)])], 512), U(yv, {
ref_key: "searchBarRef",
- ref: w
+ ref: C
}, {
- "filter-anchor": G(() => [H("div", Cb, [U(n, {
+ "filter-anchor": G(() => [H("div", Ob, [U(n, {
ref_key: "filterBtnRef",
ref: f,
type: "button",
@@ -21520,13 +21597,13 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
"aria-hidden": "true"
}, null, -1)]]),
_: 1
- }, 8, ["title", "aria-label"]), U(fy, {
+ }, 8, ["title", "aria-label"]), U(_y, {
ref_key: "filterPopoverRef",
- ref: E
+ ref: T
}, null, 512)])]),
- "sort-anchor": G(() => [H("div", wb, [U(n, {
+ "sort-anchor": G(() => [H("div", kb, [U(n, {
ref_key: "sortBtnRef",
- ref: m,
+ ref: p,
type: "button",
class: "mjr-icon-btn",
severity: "secondary",
@@ -21536,17 +21613,17 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
"aria-label": Z(L)("label.sort")
}, {
default: G(() => [H("i", {
- class: X(oe.value),
+ class: X(ae.value),
"aria-hidden": "true"
}, null, 2)]),
_: 1
- }, 8, ["title", "aria-label"]), U(_v, {
+ }, 8, ["title", "aria-label"]), U(Sv, {
ref_key: "sortPopoverRef",
- ref: T
+ ref: w
}, null, 512)])]),
- "collections-anchor": G(() => [H("div", Tb, [U(n, {
+ "collections-anchor": G(() => [H("div", Ab, [U(n, {
ref_key: "collectionsBtnRef",
- ref: h,
+ ref: m,
type: "button",
class: "mjr-icon-btn",
severity: "secondary",
@@ -21560,13 +21637,13 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
"aria-hidden": "true"
}, null, -1)]]),
_: 1
- }, 8, ["title", "aria-label"]), U(qy, {
+ }, 8, ["title", "aria-label"]), U(Qy, {
ref_key: "collectionsPopoverRef",
- ref: D
+ ref: E
}, null, 512)])]),
- "pinned-folders-anchor": G(() => [H("div", Eb, [U(n, {
+ "pinned-folders-anchor": G(() => [H("div", jb, [U(n, {
ref_key: "pinnedFoldersBtnRef",
- ref: g,
+ ref: h,
type: "button",
class: "mjr-icon-btn",
severity: "secondary",
@@ -21580,28 +21657,28 @@ var xy = { class: "mjr-menu mjr-collections-menu" }, Sy = { class: "mjr-menu-ite
"aria-hidden": "true"
}, null, -1)]]),
_: 1
- }, 8, ["title", "aria-label"]), U($y, {
+ }, 8, ["title", "aria-label"]), U(ib, {
ref_key: "pinnedFoldersPopoverRef",
- ref: O
+ ref: D
}, null, 512)])]),
_: 1
}, 512)], 64);
};
}
-}), Ab = (e) => {
+}), Fb = (e) => {
try {
return String(e ?? "");
} catch {
return "";
}
-}, jb = (e) => {
+}, Ib = (e) => {
let t = String(e || "");
return L(t === "name_asc" ? "sort.nameAZ" : t === "name_desc" ? "sort.nameZA" : t === "mtime_asc" ? "sort.oldest" : "sort.newest");
-}, Mb = (e) => {
+}, Lb = (e) => {
let t = String(e || "").toLowerCase();
return t === "similar" ? L("scope.similar", "Similar") : t === "custom" ? L("scope.customBrowser") : t === "workflow" ? L("scope.workflow", "Workflow") : L(t === "all" ? "tab.all" : t === "input" || t === "inputs" ? "scope.input" : "scope.output");
};
-function Nb({ label: e, value: t, onClear: n } = {}) {
+function Rb({ label: e, value: t, onClear: n } = {}) {
let r = document.createElement("div");
r.className = "mjr-context-pill";
let i = document.createElement("span");
@@ -21622,69 +21699,69 @@ function Nb({ label: e, value: t, onClear: n } = {}) {
}
return r;
}
-function Pb() {
+function zb() {
let e = document.createElement("div");
return e.className = "mjr-am-context-pills", {
wrap: e,
update: ({ state: t, rawQuery: n = "", actions: r = null } = {}) => {
- let i = r && typeof r == "object" ? r : {}, a = Ab(n || "").trim(), o = a.length > 0 && a !== "*", s = !!(Ab(t?.kindFilter || "").trim() || t?.workflowOnly || (Number(t?.minRating || 0) || 0) > 0 || (Number(t?.minSizeMB || 0) || 0) > 0 || (Number(t?.maxSizeMB || 0) || 0) > 0 || (Number(t?.minWidth || 0) || 0) > 0 || (Number(t?.minHeight || 0) || 0) > 0 || (Number(t?.maxWidth || 0) || 0) > 0 || (Number(t?.maxHeight || 0) || 0) > 0 || Ab(t?.workflowType || "").trim() || Ab(t?.workflowId || "").trim() || Ab(t?.workflowModelFilter || "").trim() || Ab(t?.workflowRunsOnFilter || "").trim() || Ab(t?.dateRangeFilter || "").trim() || Ab(t?.dateExactFilter || "").trim()), c = Ab(t?.sort || "mtime_desc").trim() !== "mtime_desc", l = Ab(t?.collectionId || "").trim().length > 0, u = String(t?.viewScope || t?.scope || "output").toLowerCase(), d = u === "similar", f = u === "custom", p = u !== "output", m = Ab(t?.similarSourceAssetId || "").trim();
+ let i = r && typeof r == "object" ? r : {}, a = Fb(n || "").trim(), o = a.length > 0 && a !== "*", s = !!(Fb(t?.kindFilter || "").trim() || t?.workflowOnly || (Number(t?.minRating || 0) || 0) > 0 || (Number(t?.minSizeMB || 0) || 0) > 0 || (Number(t?.maxSizeMB || 0) || 0) > 0 || (Number(t?.minWidth || 0) || 0) > 0 || (Number(t?.minHeight || 0) || 0) > 0 || (Number(t?.maxWidth || 0) || 0) > 0 || (Number(t?.maxHeight || 0) || 0) > 0 || Fb(t?.workflowType || "").trim() || Fb(t?.workflowId || "").trim() || Fb(t?.workflowModelFilter || "").trim() || Fb(t?.workflowRunsOnFilter || "").trim() || Fb(t?.dateRangeFilter || "").trim() || Fb(t?.dateExactFilter || "").trim()), c = Fb(t?.sort || "mtime_desc").trim() !== "mtime_desc", l = Fb(t?.collectionId || "").trim().length > 0, u = String(t?.viewScope || t?.scope || "output").toLowerCase(), d = u === "similar", f = u === "custom", p = u !== "output", m = Fb(t?.similarSourceAssetId || "").trim();
if (o || s || c || l || p || d || e.childElementCount) {
try {
e.replaceChildren();
} catch (e) {
console.debug?.(e);
}
- if (!f && l && e.appendChild(Nb({
+ if (!f && l && e.appendChild(Rb({
label: L("label.collections"),
- value: Ab(t?.collectionName || t?.collectionId || "").trim(),
+ value: Fb(t?.collectionName || t?.collectionId || "").trim(),
onClear: () => i?.clearCollection?.()
- })), d && e.appendChild(Nb({
+ })), d && e.appendChild(Rb({
label: L("search.findSimilar", "Find Similar"),
value: m ? L("search.similarReference", "Reference #{id}", { id: m }) : L("scope.similar", "Similar"),
onClear: () => i?.clearSimilarScope?.()
- })), p && e.appendChild(Nb({
+ })), p && e.appendChild(Rb({
label: L("label.scope"),
- value: Mb(u || "output"),
+ value: Lb(u || "output"),
onClear: () => d ? i?.clearSimilarScope?.() : i?.clearScope?.()
- })), o && e.appendChild(Nb({
+ })), o && e.appendChild(Rb({
label: L("label.query"),
value: a,
onClear: () => i?.clearQuery?.()
- })), Ab(t?.kindFilter || "").trim() && e.appendChild(Nb({
+ })), Fb(t?.kindFilter || "").trim() && e.appendChild(Rb({
label: L("label.type"),
- value: Ab(t?.kindFilter || "").trim(),
+ value: Fb(t?.kindFilter || "").trim(),
onClear: () => i?.clearKind?.()
- })), Number(t?.minRating || 0) > 0 && e.appendChild(Nb({
+ })), Number(t?.minRating || 0) > 0 && e.appendChild(Rb({
label: L("label.rating"),
value: `>= ${Number(t?.minRating || 0)}`,
onClear: () => i?.clearMinRating?.()
- })), t?.workflowOnly && e.appendChild(Nb({
+ })), t?.workflowOnly && e.appendChild(Rb({
label: L("label.workflow"),
value: L("label.only"),
onClear: () => i?.clearWorkflowOnly?.()
- })), Ab(t?.workflowType || "").trim() && e.appendChild(Nb({
+ })), Fb(t?.workflowType || "").trim() && e.appendChild(Rb({
label: L("label.workflowType"),
- value: Ab(t?.workflowType || "").trim(),
+ value: Fb(t?.workflowType || "").trim(),
onClear: () => i?.clearWorkflowType?.()
- })), Ab(t?.workflowId || "").trim()) {
- let n = Ab(t?.workflowId || "").trim();
- e.appendChild(Nb({
+ })), Fb(t?.workflowId || "").trim()) {
+ let n = Fb(t?.workflowId || "").trim();
+ e.appendChild(Rb({
label: L("label.sameWorkflow", "Generated with Same Workflow"),
value: n.length > 18 ? `${n.slice(0, 8)}...${n.slice(-6)}` : n,
onClear: () => i?.clearWorkflowId?.()
}));
}
- if (Ab(t?.workflowModelFilter || "").trim() && e.appendChild(Nb({
+ if (Fb(t?.workflowModelFilter || "").trim() && e.appendChild(Rb({
label: L("label.workflowModelFamily", "Model family"),
- value: Ab(t?.workflowModelFilter || "").trim(),
+ value: Fb(t?.workflowModelFilter || "").trim(),
onClear: () => i?.clearWorkflowModel?.()
- })), Ab(t?.workflowRunsOnFilter || "").trim() && e.appendChild(Nb({
+ })), Fb(t?.workflowRunsOnFilter || "").trim() && e.appendChild(Rb({
label: L("label.workflowRunsOn", "Runs on"),
- value: Ab(t?.workflowRunsOnFilter || "").trim(),
+ value: Fb(t?.workflowRunsOnFilter || "").trim(),
onClear: () => i?.clearWorkflowRunsOn?.()
})), (Number(t?.minSizeMB || 0) || 0) > 0 || (Number(t?.maxSizeMB || 0) || 0) > 0) {
let n = Number(t?.minSizeMB || 0) || 0, r = Number(t?.maxSizeMB || 0) || 0, a = n > 0 && r > 0 ? `${n}-${r} MB` : n > 0 ? `>= ${n} MB` : `<= ${r} MB`;
- e.appendChild(Nb({
+ e.appendChild(Rb({
label: L("sidebar.size"),
value: a,
onClear: () => i?.clearSize?.()
@@ -21692,23 +21769,23 @@ function Pb() {
}
if ((Number(t?.minWidth || 0) || 0) > 0 || (Number(t?.minHeight || 0) || 0) > 0 || (Number(t?.maxWidth || 0) || 0) > 0 || (Number(t?.maxHeight || 0) || 0) > 0) {
let n = String(t?.resolutionCompare || "gte") === "lte", r = Number(n ? t?.maxWidth : t?.minWidth || 0) || 0, a = Number(n ? t?.maxHeight : t?.minHeight || 0) || 0;
- e.appendChild(Nb({
+ e.appendChild(Rb({
label: L("label.resolution"),
value: `${n ? "<=" : ">="} ${r || 0}x${a || 0} px`,
onClear: () => i?.clearResolution?.()
}));
}
- Ab(t?.dateRangeFilter || "").trim() && e.appendChild(Nb({
+ Fb(t?.dateRangeFilter || "").trim() && e.appendChild(Rb({
label: L("sidebar.date"),
- value: Ab(t?.dateRangeFilter || "").trim(),
+ value: Fb(t?.dateRangeFilter || "").trim(),
onClear: () => i?.clearDateRange?.()
- })), Ab(t?.dateExactFilter || "").trim() && e.appendChild(Nb({
+ })), Fb(t?.dateExactFilter || "").trim() && e.appendChild(Rb({
label: L("label.day"),
- value: Ab(t?.dateExactFilter || "").trim(),
+ value: Fb(t?.dateExactFilter || "").trim(),
onClear: () => i?.clearDateExact?.()
- })), c && e.appendChild(Nb({
+ })), c && e.appendChild(Rb({
label: L("label.sort"),
- value: jb(t?.sort),
+ value: Ib(t?.sort),
onClear: () => i?.clearSort?.()
}));
}
@@ -21716,17 +21793,17 @@ function Pb() {
};
}
// ui/vue/components/panel/summaryBarState.ts
-var Fb = (e, t = "") => L(e, t, void 0), Ib = (e) => {
+var Bb = (e, t = "") => L(e, t, void 0), Vb = (e) => {
try {
return String(e ?? "");
} catch {
return "";
}
-}, Lb = (e) => {
+}, Hb = (e) => {
let t = String(e || "").toLowerCase();
- return t === "similar" ? Fb("scope.similar", "Similar") : t === "workflow" ? Fb("scope.workflow", "Workflow") : Fb(t === "input" || t === "inputs" ? "scope.input" : t === "custom" ? "scope.customBrowser" : t === "all" ? "tab.all" : "scope.output");
+ return t === "similar" ? Bb("scope.similar", "Similar") : t === "workflow" ? Bb("scope.workflow", "Workflow") : Bb(t === "input" || t === "inputs" ? "scope.input" : t === "custom" ? "scope.customBrowser" : t === "all" ? "tab.all" : "scope.output");
};
-function Rb(e) {
+function Ub(e) {
try {
let t = e?._mjrGetRenderedCards;
if (typeof t == "function") {
@@ -21738,7 +21815,7 @@ function Rb(e) {
}
return [];
}
-function zb(e) {
+function Wb(e) {
try {
let t = String(e?.dataset?.mjrSelectedAssetIds || "").trim();
if (t) {
@@ -21755,8 +21832,8 @@ function zb(e) {
}
return 0;
}
-function Bb({ state: e, gridContainer: t, context: n = null } = {}) {
- let r = Rb(t), i = (() => {
+function Gb({ state: e, gridContainer: t, context: n = null } = {}) {
+ let r = Ub(t), i = (() => {
try {
let e = 0;
for (let t of r) String(t?._mjrAsset?.kind || "").toLowerCase() === "folder" && (e += 1);
@@ -21777,12 +21854,12 @@ function Bb({ state: e, gridContainer: t, context: n = null } = {}) {
} catch (e) {
console.debug?.(e);
}
- return zb(t);
- })(), s = Number(t?.dataset?.mjrTotal || 0) || Math.max(0, Number(e?.lastGridTotal ?? 0) || 0), c = Number(t?.dataset?.mjrShown || 0) || Math.max(0, Number(e?.lastGridCount ?? 0) || 0) || a, l = String(e?.viewScope || e?.scope || t?.dataset?.mjrScope || "output").toLowerCase(), u = s && s >= c ? `${c}/${s}` : `${c}`, d = [`${c > 0 && i.total > 0 && i.folders === i.total ? Fb("summary.folders") : Fb("summary.assets")}: ${u}`];
- o > 0 && d.push(`${Fb("summary.selected")}: ${o}`), d.push(Lb(l));
+ return Wb(t);
+ })(), s = Number(t?.dataset?.mjrTotal || 0) || Math.max(0, Number(e?.lastGridTotal ?? 0) || 0), c = Number(t?.dataset?.mjrShown || 0) || Math.max(0, Number(e?.lastGridCount ?? 0) || 0) || a, l = String(e?.viewScope || e?.scope || t?.dataset?.mjrScope || "output").toLowerCase(), u = s && s >= c ? `${c}/${s}` : `${c}`, d = [`${c > 0 && i.total > 0 && i.folders === i.total ? Bb("summary.folders") : Bb("summary.assets")}: ${u}`];
+ o > 0 && d.push(`${Bb("summary.selected")}: ${o}`), d.push(Hb(l));
try {
let e = Number(t?.dataset?.mjrHiddenPngSiblings || 0) || 0;
- String(t?.dataset?.mjrHidePngSiblingsEnabled || "") === "1" && e > 0 && d.push(`${Fb("summary.hidden")}: ${e}`);
+ String(t?.dataset?.mjrHidePngSiblingsEnabled || "") === "1" && e > 0 && d.push(`${Bb("summary.hidden")}: ${e}`);
} catch (e) {
console.debug?.(e);
}
@@ -21792,22 +21869,22 @@ function Bb({ state: e, gridContainer: t, context: n = null } = {}) {
total: s,
activeScope: l,
summaryText: d.filter(Boolean).join(" | "),
- duplicateText: h ? `${Fb("summary.duplicates")}: ${p} | ${Fb("summary.similar")}: ${m}` : "",
+ duplicateText: h ? `${Bb("summary.duplicates")}: ${p} | ${Bb("summary.similar")}: ${m}` : "",
showDuplicates: h,
- rawQuery: Ib(n?.rawQuery || "").trim()
+ rawQuery: Vb(n?.rawQuery || "").trim()
};
}
// ui/vue/components/panel/SummaryBarSection.vue?vue&type=script&setup=true&lang.ts
-var Vb = {
+var Kb = {
key: 2,
class: "mjr-folder-breadcrumb-separator"
-}, Hb = {
+}, qb = {
key: 0,
class: "mjr-folder-breadcrumb-separator"
-}, Ub = { class: "mjr-am-summary-left" }, Wb = { class: "mjr-am-summary-text" }, Gb = { class: "mjr-am-summary-right" }, Kb = ["aria-label"], qb = /* @__PURE__ */ tr({
+}, Jb = { class: "mjr-am-summary-left" }, Yb = { class: "mjr-am-summary-text" }, Xb = { class: "mjr-am-summary-right" }, Zb = ["aria-label"], Qb = /* @__PURE__ */ ir({
__name: "SummaryBarSection",
setup(e, { expose: t }) {
- let n = Vh(), r = Q(null), i = Q(null), a = Q(null), o = Q(""), s = Q(""), c = Q(!1), l = Q(!1), u = Q(null), d = Q(null), f = Q([]), p = Pb(), m = K(() => String(n.kindFilter || "").trim().toLowerCase()), h = K(() => {
+ let n = Kh(), r = Q(null), i = Q(null), a = Q(null), o = Q(""), s = Q(""), c = Q(!1), l = Q(!1), u = Q(null), d = Q(null), f = Q([]), p = zb(), m = K(() => String(n.kindFilter || "").trim().toLowerCase()), h = K(() => {
let e = L("label.type", "Type");
return [
{
@@ -21854,7 +21931,7 @@ var Vb = {
t && (n.kindFilter = v(t) ? "" : t, y());
}
function x({ state: e, gridContainer: t, context: r = null, actions: i = null } = {}) {
- let a = Bb({
+ let a = Gb({
state: e,
gridContainer: t,
context: r
@@ -21892,7 +21969,7 @@ var Vb = {
console.debug?.(e);
}
}
- return Zn(() => {
+ return er(() => {
try {
a.value?.appendChild?.(p.wrap);
} catch (e) {
@@ -21904,14 +21981,14 @@ var Vb = {
folderBreadcrumb: i,
setFolderBreadcrumb: S
}), (e, t) => {
- let n = Qn("MButton");
+ let n = tr("MButton");
return q(), Y(V, null, [H("div", {
ref_key: "folderBreadcrumb",
ref: i,
class: X(["mjr-folder-breadcrumb", { "is-visible": l.value }]),
"aria-label": "Folder breadcrumb"
}, [
- u.value ? (q(), Jn(n, {
+ u.value ? (q(), Zn(n, {
key: 0,
type: "button",
class: "mjr-btn-link mjr-folder-breadcrumb-action",
@@ -21920,10 +21997,10 @@ var Vb = {
disabled: u.value.disabled,
onClick: t[0] ||= (e) => C(u.value)
}, {
- default: G(() => [pr(J(u.value.label), 1)]),
+ default: G(() => [gr(J(u.value.label), 1)]),
_: 1
}, 8, ["disabled"])) : W("", !0),
- d.value ? (q(), Jn(n, {
+ d.value ? (q(), Zn(n, {
key: 1,
type: "button",
class: "mjr-btn-link mjr-folder-breadcrumb-action",
@@ -21932,11 +22009,11 @@ var Vb = {
disabled: d.value.disabled,
onClick: t[1] ||= (e) => C(d.value)
}, {
- default: G(() => [pr(J(d.value.label), 1)]),
+ default: G(() => [gr(J(d.value.label), 1)]),
_: 1
}, 8, ["disabled"])) : W("", !0),
- u.value || d.value ? (q(), Y("span", Vb, " | ")) : W("", !0),
- (q(!0), Y(V, null, $n(f.value, (e, t) => (q(), Y(V, { key: `${e.target}:${t}` }, [t > 0 ? (q(), Y("span", Hb, "/")) : W("", !0), U(n, {
+ u.value || d.value ? (q(), Y("span", Kb, " | ")) : W("", !0),
+ (q(!0), Y(V, null, nr(f.value, (e, t) => (q(), Y(V, { key: `${e.target}:${t}` }, [t > 0 ? (q(), Y("span", qb, "/")) : W("", !0), U(n, {
type: "button",
class: X(["mjr-btn-link mjr-folder-breadcrumb-segment", { "is-current": e.current }]),
severity: "secondary",
@@ -21944,7 +22021,7 @@ var Vb = {
disabled: e.current,
onClick: (t) => C(e)
}, {
- default: G(() => [pr(J(e.label), 1)]),
+ default: G(() => [gr(J(e.label), 1)]),
_: 2
}, 1032, [
"class",
@@ -21956,12 +22033,12 @@ var Vb = {
ref: r,
class: "mjr-am-summary",
"aria-live": "polite"
- }, [H("div", Ub, [H("div", Wb, J(o.value), 1)]), H("div", Gb, [
+ }, [H("div", Jb, [H("div", Yb, J(o.value), 1)]), H("div", Xb, [
H("div", {
class: "mjr-media-shortcuts",
"aria-label": Z(L)("label.type", "Type"),
role: "group"
- }, [(q(!0), Y(V, null, $n(h.value, (e) => (q(), Jn(n, {
+ }, [(q(!0), Y(V, null, nr(h.value, (e) => (q(), Zn(n, {
key: e.kind,
type: "button",
class: X(["mjr-icon-btn mjr-media-shortcut-btn", { "mjr-context-active": v(e.kind) }]),
@@ -21984,8 +22061,8 @@ var Vb = {
"aria-pressed",
"class",
"onClick"
- ]))), 128))], 8, Kb),
- c.value ? (q(), Jn(n, {
+ ]))), 128))], 8, Zb),
+ c.value ? (q(), Zn(n, {
key: 0,
type: "button",
class: "mjr-am-dup-alert",
@@ -21994,7 +22071,7 @@ var Vb = {
title: s.value,
onClick: _
}, {
- default: G(() => [pr(J(s.value), 1)]),
+ default: G(() => [gr(J(s.value), 1)]),
_: 1
}, 8, ["title"])) : W("", !0),
H("div", {
@@ -22006,11 +22083,11 @@ var Vb = {
}
});
// ui/vue/composables/useGridContextMenu.ts
-function Jb(e, t) {
+function $b(e, t) {
let n = null;
function r(e) {
if (e && !e._mjrGridContextMenuBound) try {
- n = so({
+ n = uo({
gridContainer: e,
getState: t
});
@@ -22024,16 +22101,16 @@ function Jb(e, t) {
} catch {}
n = null;
}
- or(e, (e, t) => {
+ lr(e, (e, t) => {
t && i(), e && r(e);
- }, { immediate: !0 }), ir(i);
+ }, { immediate: !0 }), sr(i);
}
// ui/vue/composables/useGridKeyboard.ts
-function Yb(e) {
+function ex(e) {
if (!e) return () => {};
let t = e;
try {
- let n = ea({
+ let n = ra({
gridContainer: e,
getState: () => t._mjrGetGridState?.() || {},
getSelectedAssets: () => t._mjrGetSelectedAssets?.() || [],
@@ -22051,7 +22128,7 @@ function Yb(e) {
} catch (e) {
console.debug?.("[useGridKeyboard] rect lookup failed", e);
}
- oo(Math.round((i?.left || 0) + Math.min((i?.width || 0) * .5, 160)), Math.round((i?.top || 0) + Math.min((i?.height || 0) * .5, 120)), n, () => {
+ lo(Math.round((i?.left || 0) + Math.min((i?.width || 0) * .5, 160)), Math.round((i?.top || 0) + Math.min((i?.height || 0) * .5, 120)), n, () => {
t._mjrOnKeyboardAssetChanged?.(n);
});
}
@@ -22068,7 +22145,7 @@ function Yb(e) {
return console.debug?.("[useGridKeyboard] bind failed", e), () => {};
}
}
-function Xb(e) {
+function tx(e) {
let t = null, n = () => {
try {
t?.();
@@ -22077,13 +22154,13 @@ function Xb(e) {
}
t = null;
};
- or(e, (e, r) => {
- r && n(), e && (t = Yb(e));
- }, { immediate: !0 }), ir(n);
+ lr(e, (e, r) => {
+ r && n(), e && (t = ex(e));
+ }, { immediate: !0 }), sr(n);
}
// ui/vue/components/grid/assetsGridHostState.ts
-function Zb() {}
-function Qb() {
+function nx() {}
+function rx() {
return new Promise((e) => {
try {
if (typeof requestAnimationFrame == "function") {
@@ -22096,7 +22173,7 @@ function Qb() {
e();
});
}
-function $b(e, ...t) {
+function ix(e, ...t) {
try {
return typeof e == "function" ? e(...t) : void 0;
} catch (e) {
@@ -22104,21 +22181,21 @@ function $b(e, ...t) {
return;
}
}
-function ex(e = {}) {
+function ax(e = {}) {
let t = Array.isArray(e.selectedIds) ? e.selectedIds.map(String).filter(Boolean) : [];
return {
ids: t,
activeId: String(e.activeId || t[0] || "").trim()
};
}
-function tx(e, t = {}, n = null) {
+function ox(e, t = {}, n = null) {
return {
count: Number(t.count ?? t.shown ?? e?.dataset?.mjrShown ?? n?.lastGridCount ?? 0) || 0,
total: Number(t.total ?? e?.dataset?.mjrTotal ?? n?.lastGridTotal ?? 0) || 0
};
}
-function nx(e, t = Hh()) {
- if (!e || !t) return Zb;
+function sx(e, t = qh()) {
+ if (!e || !t) return nx;
let n = 0, r = () => {
if (!n) try {
n = requestAnimationFrame(() => {
@@ -22144,8 +22221,8 @@ function nx(e, t = Hh()) {
}
};
}
-function rx(e, { panelStore: t = Hh(), onContextChanged: n = null, markUserInteraction: r = null } = {}) {
- if (!e) return Zb;
+function cx(e, { panelStore: t = qh(), onContextChanged: n = null, markUserInteraction: r = null } = {}) {
+ if (!e) return nx;
let i = 0, a = () => {
if (i) try {
cancelAnimationFrame(i);
@@ -22154,24 +22231,24 @@ function rx(e, { panelStore: t = Hh(), onContextChanged: n = null, markUserInter
}
try {
i = requestAnimationFrame(() => {
- i = 0, $b(n);
+ i = 0, ix(n);
});
} catch (e) {
- console.debug?.(e), i = 0, $b(n);
+ console.debug?.(e), i = 0, ix(n);
}
}, o = (r) => {
let i = r?.detail || {};
if (t) {
- let { count: n, total: r } = tx(e, i, t);
+ let { count: n, total: r } = ox(e, i, t);
t.lastGridCount = n, t.lastGridTotal = r;
}
- $b(n);
+ ix(n);
}, s = (e) => {
- if ($b(r), t) {
- let { ids: n, activeId: r } = ex(e?.detail || {});
+ if (ix(r), t) {
+ let { ids: n, activeId: r } = ax(e?.detail || {});
t.selectedAssetIds = n, t.activeAssetId = r;
}
- $b(n);
+ ix(n);
};
e.addEventListener("mjr:grid-stats", o), e.addEventListener("mjr:selection-changed", s);
try {
@@ -22219,14 +22296,14 @@ function rx(e, { panelStore: t = Hh(), onContextChanged: n = null, markUserInter
}
};
}
-async function ix({ initialLoadPromise: e, gridWrapper: t, gridContainer: n, panelStore: r = Hh(), onRestoreSidebar: i = null } = {}) {
+async function lx({ initialLoadPromise: e, gridWrapper: t, gridContainer: n, panelStore: r = qh(), onRestoreSidebar: i = null } = {}) {
if (!t || !n || !r) return;
try {
await e;
} catch (e) {
console.debug?.(e);
}
- await Qb();
+ await rx();
let a = Number(r.scrollTop || 0) || 0;
if (a > 0) try {
t.scrollTop = a;
@@ -22243,7 +22320,7 @@ async function ix({ initialLoadPromise: e, gridWrapper: t, gridContainer: n, pan
if (s) {
let e = () => {
try {
- typeof n?._mjrScrollToAssetId == "function" ? n._mjrScrollToAssetId(s) : lu(n, s)?.scrollIntoView?.({
+ typeof n?._mjrScrollToAssetId == "function" ? n._mjrScrollToAssetId(s) : fu(n, s)?.scrollIntoView?.({
block: "nearest",
behavior: "instant"
});
@@ -22254,13 +22331,13 @@ async function ix({ initialLoadPromise: e, gridWrapper: t, gridContainer: n, pan
e(), setTimeout(e, 160);
}
}
- r.sidebarOpen && s && $b(i);
+ r.sidebarOpen && s && ix(i);
}
// ui/vue/components/grid/AssetsGrid.vue
-var ax = /* @__PURE__ */ tr({
+var ux = /* @__PURE__ */ ir({
__name: "AssetsGrid",
setup(e, { expose: t }) {
- let n = Q(null), r = Q(null), i = Q(null), a = Vh(), o = K(() => i.value?.gridContainer ?? null), s = null, c = null, l = null, u = null;
+ let n = Q(null), r = Q(null), i = Q(null), a = Kh(), o = K(() => i.value?.gridContainer ?? null), s = null, c = null, l = null, u = null;
function d() {
try {
l?.setVisibility?.();
@@ -22271,7 +22348,7 @@ var ax = /* @__PURE__ */ tr({
function f() {
try {
let e = o.value;
- e && pt(e);
+ e && gt(e);
} catch (e) {
console.debug?.(e);
}
@@ -22354,7 +22431,7 @@ var ax = /* @__PURE__ */ tr({
}
};
}
- Xn("mjr-grid-container-ref", o), Jb(o, () => a), Xb(o);
+ $n("mjr-grid-container-ref", o), $b(o, () => a), tx(o);
function m() {
return o.value || null;
}
@@ -22366,23 +22443,23 @@ var ax = /* @__PURE__ */ tr({
} catch (e) {
console.debug?.(e);
}
- c = rx(t, {
+ c = cx(t, {
panelStore: a,
...e
});
}
}
- return Zn(() => {
- s = nx(r.value, a), r.value && Number(a.scrollTop || 0) > 0 && (r.value.scrollTop = Number(a.scrollTop || 0)), p();
+ return er(() => {
+ s = sx(r.value, a), r.value && Number(a.scrollTop || 0) > 0 && (r.value.scrollTop = Number(a.scrollTop || 0)), p();
try {
window.addEventListener("mjr:keepalive-attached", f), document.addEventListener("visibilitychange", d);
} catch (e) {
console.debug?.(e);
}
d();
- }), ar(() => {
+ }), cr(() => {
try {
- _t(m());
+ bt(m());
} catch (e) {
console.debug?.(e);
}
@@ -22415,14 +22492,14 @@ var ax = /* @__PURE__ */ tr({
} catch (e) {
console.debug?.(e);
}
- }), or(o, (e, t) => {
+ }), lr(o, (e, t) => {
try {
- t && t !== e && _t(t);
+ t && t !== e && bt(t);
} catch (e) {
console.debug?.(e);
}
try {
- e && pt(e);
+ e && gt(e);
} catch (e) {
console.debug?.(e);
}
@@ -22450,7 +22527,7 @@ var ax = /* @__PURE__ */ tr({
};
},
restoreGridUiState(e, t = {}) {
- return ix({
+ return lx({
initialLoadPromise: e,
gridWrapper: r.value,
gridContainer: m(),
@@ -22466,7 +22543,7 @@ var ax = /* @__PURE__ */ tr({
} catch (e) {
console.debug?.(e);
}
- return l = S_({
+ return l = D_({
gridContainer: t,
gridWrapper: r.value,
...e
@@ -22521,13 +22598,13 @@ var ax = /* @__PURE__ */ tr({
overflow: "auto",
position: "relative"
}
- }, [U(kd, {
+ }, [U(Md, {
ref_key: "gridHostRef",
ref: i,
"scroll-element": r.value
}, null, 8, ["scroll-element"])], 512)], 512));
}
-}), ox = {
+}), dx = {
class: "mjr-sidebar-header",
style: {
display: "flex",
@@ -22538,15 +22615,15 @@ var ax = /* @__PURE__ */ tr({
"flex-shrink": "0",
background: "var(--mjr-surface-2,#2e2e2e)"
}
-}, sx = ["title"], cx = /* @__PURE__ */ tr({
+}, fx = ["title"], px = /* @__PURE__ */ ir({
__name: "SidebarHeaderSection",
props: { asset: {} },
emits: ["close"],
setup(e, { emit: t }) {
let n = t;
return (t, r) => {
- let i = Qn("MButton");
- return q(), Y("div", ox, [H("div", {
+ let i = tr("MButton");
+ return q(), Y("div", dx, [H("div", {
class: "mjr-sidebar-filename",
title: e.asset.filename,
style: {
@@ -22559,7 +22636,7 @@ var ax = /* @__PURE__ */ tr({
"min-width": "0",
"padding-right": "8px"
}
- }, J(e.asset.filename), 9, sx), U(i, {
+ }, J(e.asset.filename), 9, fx), U(i, {
type: "button",
class: "mjr-sidebar-close",
severity: "secondary",
@@ -22583,21 +22660,21 @@ var ax = /* @__PURE__ */ tr({
onMouseenter: r[1] ||= (e) => (e.currentTarget.style.background = "rgba(255,255,255,0.1)") && (e.currentTarget.style.borderColor = "rgba(255,255,255,0.2)"),
onMouseleave: r[2] ||= (e) => (e.currentTarget.style.background = "none") && (e.currentTarget.style.borderColor = "transparent")
}, {
- default: G(() => [...r[3] ||= [pr("x", -1)]]),
+ default: G(() => [...r[3] ||= [gr("x", -1)]]),
_: 1
})]);
};
}
});
// ui/components/sidebar/utils/format.ts
-function lx(e) {
+function mx(e) {
if (!e) return "Unknown";
let t = e / 1024;
if (t < 1024) return `${t.toFixed(1)} KB`;
let n = t / 1024;
return n < 1024 ? `${n.toFixed(1)} MB` : `${(n / 1024).toFixed(2)} GB`;
}
-function ux(e) {
+function hx(e) {
if (!e) return "";
let t = /* @__PURE__ */ new Date(Number(e) * 1e3);
if (Number.isNaN(t.getTime())) return "";
@@ -22605,7 +22682,7 @@ function ux(e) {
return `${t.getFullYear()}-${n(t.getMonth() + 1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}`;
}
// ui/components/VideoControls.ts
-function dx(e, t) {
+function gx(e, t) {
let n = [];
try {
e.controls = !1, e.loop = !0, e.muted = !0, e.playsInline = !0, e.autoplay = !0;
@@ -22671,7 +22748,7 @@ function dx(e, t) {
} catch (e) {
console.debug?.(e);
}
- n.push(kt(e, "loadedmetadata", () => s(), { passive: !0 })), n.push(kt(e, "canplay", () => s(), { passive: !0 })), n.push(kt(i, "click", c)), n.push(kt(e, "play", o, { passive: !0 })), n.push(kt(e, "pause", o, { passive: !0 })), n.push(kt(e, "ended", () => s(), { passive: !0 }));
+ n.push(Mt(e, "loadedmetadata", () => s(), { passive: !0 })), n.push(Mt(e, "canplay", () => s(), { passive: !0 })), n.push(Mt(i, "click", c)), n.push(Mt(e, "play", o, { passive: !0 })), n.push(Mt(e, "pause", o, { passive: !0 })), n.push(Mt(e, "ended", () => s(), { passive: !0 }));
try {
o();
} catch (e) {
@@ -22681,7 +22758,7 @@ function dx(e, t) {
controlsEl: r,
destroy: () => {
try {
- for (let e of n) Ot(() => e?.());
+ for (let e of n) jt(() => e?.());
} catch (e) {
console.debug?.(e);
}
@@ -22693,28 +22770,28 @@ function dx(e, t) {
}
};
}
-function fx(e, t = {}) {
+function _x(e, t = {}) {
try {
let n = t?.hostEl || e?.parentElement;
return !e || !n ? {
controlsEl: null,
- destroy: At
- } : dx(e, n);
+ destroy: Nt
+ } : gx(e, n);
} catch (e) {
return console.debug?.(e), {
controlsEl: null,
- destroy: At
+ destroy: Nt
};
}
}
// ui/vue/components/panel/sidebar/SidebarPreviewSection.vue?vue&type=script&setup=true&lang.ts
-var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["src"], _x = {
+var vx = { class: "mjr-sidebar-preview" }, yx = ["src"], bx = ["src"], xx = ["src"], Sx = {
key: 3,
style: {
color: "rgba(255, 255, 255, 0.4)",
"font-size": "14px"
}
-}, vx = {
+}, Cx = {
class: "mjr-sidebar-preview-meta",
style: {
"margin-top": "10px",
@@ -22728,7 +22805,7 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
"padding-bottom": "12px",
"border-bottom": "1px solid var(--mjr-border, rgba(255, 255, 255, 0.12))"
}
-}, yx = /* @__PURE__ */ tr({
+}, wx = /* @__PURE__ */ ir({
__name: "SidebarPreviewSection",
props: {
asset: {},
@@ -22738,15 +22815,15 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
}
},
setup(e) {
- let t = e, n = Q(null), r = null, i = K(() => ae(t.asset) || ""), a = K(() => {
+ let t = e, n = Q(null), r = null, i = K(() => le(t.asset) || ""), a = K(() => {
let e = String(t.asset?.filename || ""), n = e.lastIndexOf(".");
return n === -1 ? "" : e.slice(n + 1).toUpperCase();
}), o = K(() => {
let e = [];
a.value && e.push(a.value), t.asset?.kind && e.push(String(t.asset.kind).toLowerCase());
- let n = lx(t.asset?.size);
+ let n = mx(t.asset?.size);
n && e.push(n);
- let r = ux(t.asset?.mtime);
+ let r = hx(t.asset?.mtime);
return r && e.push(r), e.join(" | ");
});
function s() {
@@ -22771,7 +22848,7 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
if (e && i) {
c(i);
try {
- r = fx(i, {
+ r = _x(i, {
variant: "preview",
hostEl: e
});
@@ -22780,17 +22857,17 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
}
}
}
- return or(() => [t.asset, t.showPreviewThumb], () => {
+ return lr(() => [t.asset, t.showPreviewThumb], () => {
s();
- }, { flush: "post" }), or(i, () => {
+ }, { flush: "post" }), lr(i, () => {
setTimeout(() => {
l();
}, 0);
- }), Zn(() => {
+ }), er(() => {
l();
- }), ar(() => {
+ }), cr(() => {
s();
- }), (t, r) => (q(), Y("div", px, [e.showPreviewThumb ? (q(), Y("div", {
+ }), (t, r) => (q(), Y("div", vx, [e.showPreviewThumb ? (q(), Y("div", {
key: 0,
ref_key: "previewContainerRef",
ref: n,
@@ -22813,7 +22890,7 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
"max-height": "100%",
"object-fit": "contain"
}
- }, null, 8, mx)) : e.asset.kind === "video" ? (q(), Y("video", {
+ }, null, 8, yx)) : e.asset.kind === "video" ? (q(), Y("video", {
key: 1,
src: i.value,
muted: !0,
@@ -22826,7 +22903,7 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
"max-height": "100%",
"object-fit": "contain"
}
- }, null, 8, hx)) : e.asset.kind === "audio" ? (q(), Y("audio", {
+ }, null, 8, bx)) : e.asset.kind === "audio" ? (q(), Y("audio", {
key: 2,
src: i.value,
controls: "",
@@ -22835,9 +22912,9 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
width: "92%",
"max-width": "560px"
}
- }, null, 8, gx)) : (q(), Y("div", _x, J(String(e.asset.kind || "PREVIEW").toUpperCase()), 1))], 512)) : W("", !0), H("div", vx, J(o.value), 1)]));
+ }, null, 8, xx)) : (q(), Y("div", Sx, J(String(e.asset.kind || "PREVIEW").toUpperCase()), 1))], 512)) : W("", !0), H("div", Cx, J(o.value), 1)]));
}
-}), bx = {
+}), Tx = {
class: "mjr-sidebar-section",
style: {
background: "rgba(255, 255, 255, 0.03)",
@@ -22845,22 +22922,22 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
"border-radius": "8px",
padding: "10px"
}
-}, xx = { style: {
+}, Ex = { style: {
"font-size": "12px",
"font-weight": "700",
color: "#26a69a",
"margin-bottom": "8px",
"text-transform": "uppercase",
"letter-spacing": "0.4px"
-} }, Sx = { style: {
+} }, Dx = { style: {
display: "flex",
"flex-direction": "column",
gap: "6px"
-} }, Cx = { style: {
+} }, Ox = { style: {
"font-size": "12px",
opacity: "0.68",
"min-width": "92px"
-} }, wx = ["title"], Tx = /* @__PURE__ */ tr({
+} }, kx = ["title"], Ax = /* @__PURE__ */ ir({
__name: "SidebarFolderSection",
props: { asset: {} },
setup(e) {
@@ -22903,17 +22980,17 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
];
return u > 0 && f.push({
label: L("sidebar.folder.created", "Created"),
- value: `${Cn(u) || "-"} ${Bn(u) || ""}`.trim()
+ value: `${En(u) || "-"} ${Un(u) || ""}`.trim()
}), l > 0 && f.push({
label: L("sidebar.folder.modified", "Modified"),
- value: `${Cn(l) || "-"} ${Bn(l) || ""}`.trim()
+ value: `${En(l) || "-"} ${Un(l) || ""}`.trim()
}), d && f.push({
label: L("sidebar.folder.note", "Note"),
value: L("sidebar.folder.scanTruncated", "Scan was truncated for performance"),
valueStyle: "color:#FFB74D;font-weight:600;"
}), f;
});
- return (e, t) => (q(), Y("div", bx, [H("div", xx, J(Z(L)("sidebar.folder.details", "Folder Details")), 1), H("div", Sx, [(q(!0), Y(V, null, $n(r.value, (e) => (q(), Y("div", {
+ return (e, t) => (q(), Y("div", Tx, [H("div", Ex, J(Z(L)("sidebar.folder.details", "Folder Details")), 1), H("div", Dx, [(q(!0), Y(V, null, nr(r.value, (e) => (q(), Y("div", {
key: e.label,
style: {
display: "flex",
@@ -22921,33 +22998,33 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
"align-items": "flex-start",
"justify-content": "space-between"
}
- }, [H("div", Cx, J(e.label), 1), H("div", {
- style: fr(e.valueStyle || "font-size: 12px; text-align: right; word-break: break-word"),
+ }, [H("div", Ox, J(e.label), 1), H("div", {
+ style: hr(e.valueStyle || "font-size: 12px; text-align: right; word-break: break-word"),
title: String(e.value || "")
- }, J(e.value), 13, wx)]))), 128))])]));
+ }, J(e.value), 13, kx)]))), 128))])]));
}
-}), Ex = ["aria-label"], Dx = { class: "mjr-context-menu-title" }, Ox = { class: "mjr-context-menu-item-left" }, kx = {
+}), jx = ["aria-label"], Mx = { class: "mjr-context-menu-title" }, Nx = { class: "mjr-context-menu-item-left" }, Px = {
key: 0,
class: "mjr-context-menu-note"
-}, Ax = {
+}, Fx = {
key: 1,
class: "mjr-context-menu-note is-error"
-}, jx = {
+}, Ix = {
key: 2,
class: "mjr-context-menu-note"
-}, Mx = { class: "mjr-context-menu-item-left" }, Nx = {
+}, Lx = { class: "mjr-context-menu-item-left" }, Rx = {
key: 0,
class: "mjr-context-menu-hint"
-}, Px = /* @__PURE__ */ tr({
+}, zx = /* @__PURE__ */ ir({
__name: "AddToCollectionMenu",
setup(e) {
let t = Q(null), n = Q(!1), r = Q([]), i = Q(""), a = 0, o = null, s = K(() => ({
position: "fixed",
- left: `${Math.round(Number(Vi.x) || 0)}px`,
- top: `${Math.round(Number(Vi.y) || 0)}px`,
+ left: `${Math.round(Number(Wi.x) || 0)}px`,
+ top: `${Math.round(Number(Wi.y) || 0)}px`,
display: "block",
zIndex: "10004"
- })), c = K(() => Vi.assets.length || 0), l = K(() => L("ctx.addToCollection", "Add to collection") + (c.value > 1 ? ` (${c.value})` : ""));
+ })), c = K(() => Wi.assets.length || 0), l = K(() => L("ctx.addToCollection", "Add to collection") + (c.value > 1 ? ` (${c.value})` : ""));
function u({ collectionName: e, selectedCount: t, addRes: n }) {
let r = Number(n?.data?.added ?? 0) || 0, i = Number(n?.data?.skipped_existing ?? 0) || 0, a = Number(n?.data?.skipped_duplicate ?? 0) || 0, o = String(e || "").trim() || L("label.collection", "collection"), s = L("msg.collectionAdd.added", "Added {added} item(s) to \"{name}\".", {
added: r,
@@ -22957,15 +23034,15 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
}
function d() {
let e = t.value;
- if (!Vi.open || !e) return;
- let n = e.getBoundingClientRect(), r = Number(window.innerWidth || 0), i = Number(window.innerHeight || 0), a = Number(Vi.x) || 0, o = Number(Vi.y) || 0;
- a + n.width > r && (a = Math.max(8, r - n.width - 10)), o + n.height > i && (o = Math.max(8, i - n.height - 10)), a < 8 && (a = 8), o < 8 && (o = 8), Vi.x = a, Vi.y = o;
+ if (!Wi.open || !e) return;
+ let n = e.getBoundingClientRect(), r = Number(window.innerWidth || 0), i = Number(window.innerHeight || 0), a = Number(Wi.x) || 0, o = Number(Wi.y) || 0;
+ a + n.width > r && (a = Math.max(8, r - n.width - 10)), o + n.height > i && (o = Math.max(8, i - n.height - 10)), a < 8 && (a = 8), o < 8 && (o = 8), Wi.x = a, Wi.y = o;
}
async function f() {
let e = ++a;
n.value = !0, i.value = "";
try {
- let t = await Ee();
+ let t = await Re();
if (e !== a) return;
r.value = Array.isArray(t?.data) ? t.data : [];
} catch (t) {
@@ -22973,7 +23050,7 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
r.value = [], i.value = L("toast.failedLoadCollections", "Failed to load collections.");
} finally {
if (e === a) {
- n.value = !1, await qn(), d();
+ n.value = !1, await Xn(), d();
try {
t.value?.querySelector?.(".mjr-context-menu-item:not([aria-disabled=\"true\"])")?.focus?.();
} catch (e) {
@@ -22983,44 +23060,44 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
}
}
async function p(e, t) {
- let n = Array.isArray(Vi.assets) ? Vi.assets : [];
- Wi();
- let r = await S(e, n);
- r?.ok ? F(u({
+ let n = Array.isArray(Wi.assets) ? Wi.assets : [];
+ qi();
+ let r = await O(e, n);
+ r?.ok ? x(u({
collectionName: t,
selectedCount: n.length,
addRes: r
- }), "success", 4e3) : F(r?.error || L("toast.failedAddAssetsToCollection", "Failed to add assets to collection."), "error");
+ }), "success", 4e3) : x(r?.error || L("toast.failedAddAssetsToCollection", "Failed to add assets to collection."), "error");
}
async function m() {
- let e = Array.isArray(Vi.assets) ? Vi.assets : [];
- Wi();
- let t = await wt(L("dialog.createCollection", "Create collection"), L("dialog.collectionPlaceholder", "My collection"));
+ let e = Array.isArray(Wi.assets) ? Wi.assets : [];
+ qi();
+ let t = await Dt(L("dialog.createCollection", "Create collection"), L("dialog.collectionPlaceholder", "My collection"));
if (!t) return;
- let n = await v(t);
+ let n = await w(t);
if (!n?.ok) {
- F(n?.error || L("toast.failedCreateCollectionDot", "Failed to create collection."), "error");
+ x(n?.error || L("toast.failedCreateCollectionDot", "Failed to create collection."), "error");
return;
}
- let r = n.data?.id, i = await S(r, e);
- i?.ok ? F(u({
+ let r = n.data?.id, i = await O(r, e);
+ i?.ok ? x(u({
collectionName: n.data?.name || t,
selectedCount: e.length,
addRes: i
- }), "success", 4e3) : F(i?.error || L("toast.failedAddAssetsToCollection", "Failed to add assets to collection."), "error");
+ }), "success", 4e3) : x(i?.error || L("toast.failedAddAssetsToCollection", "Failed to add assets to collection."), "error");
}
function h(e) {
- t.value?.contains?.(e?.target) || Wi();
+ t.value?.contains?.(e?.target) || qi();
}
function g(e) {
- e?.key === "Escape" && Wi();
+ e?.key === "Escape" && qi();
}
function _() {
- Wi();
+ qi();
}
- return or(() => Vi.open, async (e) => {
+ return lr(() => Wi.open, async (e) => {
e && (r.value = [], await f());
- }), Zn(() => {
+ }), er(() => {
o = new AbortController();
let e = {
capture: !0,
@@ -23034,25 +23111,25 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
passive: !0,
signal: o.signal
}), window.addEventListener("mjr-close-all-menus", _, { signal: o.signal });
- }), ir(() => {
+ }), sr(() => {
try {
o?.abort();
} catch (e) {
console.debug?.(e);
}
- o = null, Wi();
+ o = null, qi();
}), (e, a) => {
- let o = Qn("MButton");
- return q(), Jn(yr, { to: "body" }, [Z(Vi).open ? (q(), Y("div", {
+ let o = tr("MButton");
+ return q(), Zn(Sr, { to: "body" }, [Z(Wi).open ? (q(), Y("div", {
key: 0,
ref_key: "menuRef",
ref: t,
class: "mjr-add-to-collection-menu mjr-context-menu",
- style: fr(s.value),
+ style: hr(s.value),
role: "menu",
"aria-label": l.value
}, [
- H("div", Dx, J(l.value), 1),
+ H("div", Mx, J(l.value), 1),
U(o, {
type: "button",
class: "mjr-context-menu-item",
@@ -23061,12 +23138,12 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
role: "menuitem",
onClick: m
}, {
- default: G(() => [H("span", Ox, [a[0] ||= H("i", { class: "pi pi-plus" }, null, -1), H("span", null, J(Z(L)("dialog.createCollection", "Create collection")) + "...", 1)])]),
+ default: G(() => [H("span", Nx, [a[0] ||= H("i", { class: "pi pi-plus" }, null, -1), H("span", null, J(Z(L)("dialog.createCollection", "Create collection")) + "...", 1)])]),
_: 1
}),
a[2] ||= H("div", { class: "mjr-context-menu-separator" }, null, -1),
- n.value ? (q(), Y("div", kx, J(Z(L)("msg.loadingCollections", "Loading collections...")), 1)) : i.value ? (q(), Y("div", Ax, J(i.value), 1)) : r.value.length ? W("", !0) : (q(), Y("div", jx, J(Z(L)("msg.noCollections", "No collections yet.")), 1)),
- (q(!0), Y(V, null, $n(r.value, (e) => (q(), Jn(o, {
+ n.value ? (q(), Y("div", Px, J(Z(L)("msg.loadingCollections", "Loading collections...")), 1)) : i.value ? (q(), Y("div", Fx, J(i.value), 1)) : r.value.length ? W("", !0) : (q(), Y("div", Ix, J(Z(L)("msg.noCollections", "No collections yet.")), 1)),
+ (q(!0), Y(V, null, nr(r.value, (e) => (q(), Zn(o, {
key: String(e?.id || ""),
type: "button",
class: "mjr-context-menu-item",
@@ -23075,31 +23152,31 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
role: "menuitem",
onClick: (t) => p(String(e?.id || ""), String(e?.name || e?.id || ""))
}, {
- default: G(() => [H("span", Mx, [a[1] ||= H("i", { class: "pi pi-bookmark" }, null, -1), H("span", null, J(String(e?.name || e?.id || "")), 1)]), Number(e?.count || 0) > 0 ? (q(), Y("span", Nx, J(Number(e?.count || 0)), 1)) : W("", !0)]),
+ default: G(() => [H("span", Lx, [a[1] ||= H("i", { class: "pi pi-bookmark" }, null, -1), H("span", null, J(String(e?.name || e?.id || "")), 1)]), Number(e?.count || 0) > 0 ? (q(), Y("span", Rx, J(Number(e?.count || 0)), 1)) : W("", !0)]),
_: 2
}, 1032, ["onClick"]))), 128))
- ], 12, Ex)) : W("", !0)]);
+ ], 12, jx)) : W("", !0)]);
};
}
-}), Fx = {
+}), Bx = {
key: 0,
class: "mjr-context-menu-separator"
-}, Ix = { class: "mjr-context-menu-item-left" }, Lx = { class: "mjr-context-menu-item-right" }, Rx = {
+}, Vx = { class: "mjr-context-menu-item-left" }, Hx = { class: "mjr-context-menu-item-right" }, Ux = {
key: 0,
class: "mjr-context-menu-hint"
-}, zx = {
+}, Wx = {
key: 1,
class: "mjr-context-menu-submenu-arrow"
-}, Bx = {
+}, Gx = {
key: 0,
class: "mjr-context-menu-separator"
-}, Vx = { class: "mjr-context-menu-item-left" }, Hx = {
+}, Kx = { class: "mjr-context-menu-item-left" }, qx = {
key: 0,
class: "mjr-context-menu-hint"
-}, Ux = /* @__PURE__ */ tr({
+}, Jx = /* @__PURE__ */ ir({
__name: "GridContextMenu",
setup(e) {
- let t = Q(null), n = Q(null), r = Q(null), i = null, a = null, o = K(() => l(en.main, 10031)), s = K(() => l(en.submenu, 10032)), c = K(() => l(en.tags, 10033));
+ let t = Q(null), n = Q(null), r = Q(null), i = null, a = null, o = K(() => l(rn.main, 10031)), s = K(() => l(rn.submenu, 10032)), c = K(() => l(rn.tags, 10033));
function l(e, t) {
return {
position: "fixed",
@@ -23114,7 +23191,7 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
}
function d() {
u(), i = setTimeout(() => {
- dn();
+ mn();
}, 180);
}
function f(e, t) {
@@ -23123,7 +23200,7 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
a + n.width > r && (a = Math.max(8, r - n.width - 10)), o + n.height > i && (o = Math.max(8, i - n.height - 10)), a < 8 && (a = 8), o < 8 && (o = 8), e.x = a, e.y = o;
}
async function p(e, t) {
- await qn(), f(e, t?.value || null);
+ await Xn(), f(e, t?.value || null);
}
function m(e) {
try {
@@ -23134,14 +23211,14 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
}
function h(e, t) {
if (!Array.isArray(e?.submenu) || !e.submenu.length) {
- dn();
+ mn();
return;
}
u();
let n = (t?.currentTarget)?.getBoundingClientRect?.();
- fn({
- x: Math.round((n?.right || en.main.x || 0) + 6),
- y: Math.round((n?.top || en.main.y || 0) - 4),
+ hn({
+ x: Math.round((n?.right || rn.main.x || 0) + 6),
+ y: Math.round((n?.top || rn.main.y || 0) - 4),
items: e.submenu,
title: e.label || ""
});
@@ -23154,12 +23231,12 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
} catch (e) {
console.error("[GridContextMenu.vue] Action failed:", e);
} finally {
- e.closeOnSelect === !1 ? n === "submenu" && dn() : ln();
+ e.closeOnSelect === !1 ? n === "submenu" && mn() : fn();
}
}
}
function _(e, t) {
- Array.isArray(e?.submenu) && e.submenu.length ? h(e, t) : dn();
+ Array.isArray(e?.submenu) && e.submenu.length ? h(e, t) : mn();
}
function v(e) {
Array.isArray(e?.submenu) && e.submenu.length && d();
@@ -23172,37 +23249,37 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
}
function x(e) {
let i = e?.target;
- t.value?.contains?.(i) || n.value?.contains?.(i) || r.value?.contains?.(i) || ln();
+ t.value?.contains?.(i) || n.value?.contains?.(i) || r.value?.contains?.(i) || fn();
}
function S(e) {
- e?.key === "Escape" && ln();
+ e?.key === "Escape" && fn();
}
function C() {
- ln();
+ fn();
}
function w(e) {
let t = e?.detail;
- String(t?.source || "") !== "grid" && ln();
+ String(t?.source || "") !== "grid" && fn();
}
function T(e) {
- let t = en.tags.asset;
+ let t = rn.tags.asset;
t && (t.tags = Array.isArray(e) ? [...e] : []);
}
function E(e) {
let t = Array.isArray(e?.tags) ? e.tags : [];
try {
- en.tags.onChanged?.(t);
+ rn.tags.onChanged?.(t);
} catch (e) {
console.debug?.(e);
}
}
- return or(() => en.main.open, async (e) => {
- e && (await p(en.main, t), m(t));
- }), or(() => en.submenu.open, async (e) => {
- e && (await p(en.submenu, n), m(n));
- }), or(() => en.tags.open, async (e) => {
- e && await p(en.tags, r);
- }), Zn(() => {
+ return lr(() => rn.main.open, async (e) => {
+ e && (await p(rn.main, t), m(t));
+ }), lr(() => rn.submenu.open, async (e) => {
+ e && (await p(rn.submenu, n), m(n));
+ }), lr(() => rn.tags.open, async (e) => {
+ e && await p(rn.tags, r);
+ }), er(() => {
a = new AbortController();
let e = {
capture: !0,
@@ -23216,26 +23293,26 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
passive: !0,
signal: a.signal
}), window.addEventListener("mjr-close-all-menus", w, { signal: a.signal });
- }), ir(() => {
+ }), sr(() => {
u();
try {
a?.abort();
} catch (e) {
console.debug?.(e);
}
- a = null, ln();
+ a = null, fn();
}), (e, i) => {
- let a = Qn("MButton");
- return q(), Jn(yr, { to: "body" }, [
- Z(en).main.open ? (q(), Y("div", {
+ let a = tr("MButton");
+ return q(), Zn(Sr, { to: "body" }, [
+ Z(rn).main.open ? (q(), Y("div", {
key: 0,
ref_key: "mainMenuRef",
ref: t,
class: "mjr-grid-context-menu mjr-context-menu",
- style: fr(o.value),
+ style: hr(o.value),
role: "menu",
"aria-label": "Grid context menu"
- }, [(q(!0), Y(V, null, $n(Z(en).main.items, (e) => (q(), Y(V, { key: e.id }, [e.type === "separator" ? (q(), Y("div", Fx)) : (q(), Jn(a, {
+ }, [(q(!0), Y(V, null, nr(Z(rn).main.items, (e) => (q(), Y(V, { key: e.id }, [e.type === "separator" ? (q(), Y("div", Bx)) : (q(), Zn(a, {
key: 1,
type: "button",
class: X(["mjr-context-menu-item", {
@@ -23255,10 +23332,10 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
onMouseenter: (t) => _(e, t),
onMouseleave: (t) => v(e)
}, {
- default: G(() => [H("span", Ix, [e.iconClass ? (q(), Y("i", {
+ default: G(() => [H("span", Vx, [e.iconClass ? (q(), Y("i", {
key: 0,
class: X(e.iconClass)
- }, null, 2)) : W("", !0), H("span", null, J(e.label), 1)]), H("span", Lx, [e.rightHint ? (q(), Y("span", Rx, J(e.rightHint), 1)) : W("", !0), Array.isArray(e.submenu) && e.submenu.length ? (q(), Y("span", zx, " > ")) : W("", !0)])]),
+ }, null, 2)) : W("", !0), H("span", null, J(e.label), 1)]), H("span", Hx, [e.rightHint ? (q(), Y("span", Ux, J(e.rightHint), 1)) : W("", !0), Array.isArray(e.submenu) && e.submenu.length ? (q(), Y("span", Wx, " > ")) : W("", !0)])]),
_: 2
}, 1032, [
"class",
@@ -23268,17 +23345,17 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
"onMouseenter",
"onMouseleave"
]))], 64))), 128))], 4)) : W("", !0),
- Z(en).submenu.open ? (q(), Y("div", {
+ Z(rn).submenu.open ? (q(), Y("div", {
key: 1,
ref_key: "submenuRef",
ref: n,
class: "mjr-grid-rating-submenu mjr-context-menu",
- style: fr(s.value),
+ style: hr(s.value),
role: "menu",
"aria-label": "Grid context submenu",
onMouseenter: y,
onMouseleave: b
- }, [(q(!0), Y(V, null, $n(Z(en).submenu.items, (e) => (q(), Y(V, { key: e.id }, [e.type === "separator" ? (q(), Y("div", Bx)) : (q(), Jn(a, {
+ }, [(q(!0), Y(V, null, nr(Z(rn).submenu.items, (e) => (q(), Y(V, { key: e.id }, [e.type === "separator" ? (q(), Y("div", Gx)) : (q(), Zn(a, {
key: 1,
type: "button",
class: X(["mjr-context-menu-item", {
@@ -23295,10 +23372,10 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
tabindex: e.disabled ? -1 : 0,
onClick: (t) => g(e, t, "submenu")
}, {
- default: G(() => [H("span", Vx, [e.iconClass ? (q(), Y("i", {
+ default: G(() => [H("span", Kx, [e.iconClass ? (q(), Y("i", {
key: 0,
class: X(e.iconClass)
- }, null, 2)) : W("", !0), H("span", null, J(e.label), 1)]), e.rightHint ? (q(), Y("span", Hx, J(e.rightHint), 1)) : W("", !0)]),
+ }, null, 2)) : W("", !0), H("span", null, J(e.label), 1)]), e.rightHint ? (q(), Y("span", qx, J(e.rightHint), 1)) : W("", !0)]),
_: 2
}, 1032, [
"class",
@@ -23306,119 +23383,119 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
"tabindex",
"onClick"
]))], 64))), 128))], 36)) : W("", !0),
- Z(en).tags.open && Z(en).tags.asset ? (q(), Y("div", {
+ Z(rn).tags.open && Z(rn).tags.asset ? (q(), Y("div", {
key: 2,
ref_key: "tagsPopoverRef",
ref: r,
class: "mjr-grid-popover",
- style: fr(c.value)
- }, [U(zn, {
- asset: Z(en).tags.asset,
- "model-value": Z(en).tags.asset?.tags || [],
+ style: hr(c.value)
+ }, [U(Hn, {
+ asset: Z(rn).tags.asset,
+ "model-value": Z(rn).tags.asset?.tags || [],
"onUpdate:modelValue": T,
onTagsChange: E
}, null, 8, ["asset", "model-value"])], 4)) : W("", !0)
]);
};
}
-}), Wx = { class: "mjr-workflow-picker-dialog mjr-workflow-info-dialog" }, Gx = { class: "mjr-workflow-picker-header" }, Kx = { class: "mjr-workflow-picker-title" }, qx = { class: "mjr-workflow-picker-subtitle" }, Jx = { class: "mjr-workflow-info-form" }, Yx = { class: "is-wide" }, Xx = { class: "mjr-workflow-picker-footer" }, Zx = /* @__PURE__ */ tr({
+}), Yx = { class: "mjr-workflow-picker-dialog mjr-workflow-info-dialog" }, Xx = { class: "mjr-workflow-picker-header" }, Zx = { class: "mjr-workflow-picker-title" }, Qx = { class: "mjr-workflow-picker-subtitle" }, $x = { class: "mjr-workflow-info-form" }, eS = { class: "is-wide" }, tS = { class: "mjr-workflow-picker-footer" }, nS = /* @__PURE__ */ ir({
__name: "WorkflowInfoDialog",
setup(e) {
- let t = hr({
+ let t = vr({
task: "",
model_family: "",
provider: "",
runs_on: "",
notes: ""
- }), n = K(() => ca.workflow || null), r = K(() => String(n.value?.display_name || n.value?.filename || "Workflow"));
- or(() => ca.open, (e) => {
+ }), n = K(() => da.workflow || null), r = K(() => String(n.value?.display_name || n.value?.filename || "Workflow"));
+ lr(() => da.open, (e) => {
if (!e) return;
let r = n.value || {};
t.task = String(r.user_task || r.task || ""), t.model_family = String(r.user_model_family || r.model_family || ""), t.provider = String(r.user_provider || r.provider || ""), t.runs_on = String(r.user_runs_on || r.runs_on || ""), t.notes = String(r.notes || "");
});
- function a() {
- ua();
+ function i() {
+ pa();
}
- async function o() {
+ async function a() {
let e = String(n.value?.filepath || "").trim();
if (!e) {
- F(L("toast.workflowMissingPath", "Workflow file path is missing."), "error");
+ x(L("toast.workflowMissingPath", "Workflow file path is missing."), "error");
return;
}
- let r = await i({
+ let r = await c({
filepath: e,
...t
}, { timeoutMs: 2e4 });
- r?.ok ? (F(L("toast.workflowUpdated", "Workflow updated"), "success", 1800), window?.dispatchEvent?.(new CustomEvent("mjr:reload-grid", { detail: { reason: "workflow-info" } })), a()) : F(r?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
+ r?.ok ? (x(L("toast.workflowUpdated", "Workflow updated"), "success", 1800), window?.dispatchEvent?.(new CustomEvent("mjr:reload-grid", { detail: { reason: "workflow-info" } })), i()) : x(r?.error || L("toast.workflowSaveFailed", "Failed to save workflow."), "error");
}
- return (e, n) => (q(), Jn(yr, { to: "body" }, [Z(ca).open ? (q(), Y("div", {
+ return (e, n) => (q(), Zn(Sr, { to: "body" }, [Z(da).open ? (q(), Y("div", {
key: 0,
class: "mjr-workflow-picker-backdrop",
- onClick: rr(a, ["self"])
- }, [H("section", Wx, [
- H("header", Gx, [H("div", null, [H("div", Kx, J(Z(L)("ctx.editWorkflowInfo", "Edit infos")), 1), H("div", qx, J(r.value), 1)]), H("button", {
+ onClick: or(i, ["self"])
+ }, [H("section", Yx, [
+ H("header", Xx, [H("div", null, [H("div", Zx, J(Z(L)("ctx.editWorkflowInfo", "Edit infos")), 1), H("div", Qx, J(r.value), 1)]), H("button", {
type: "button",
class: "mjr-workflow-picker-close",
- onClick: a
+ onClick: i
}, [...n[5] ||= [H("i", { class: "pi pi-times" }, null, -1)]])]),
- H("div", Jx, [
- H("label", null, [n[6] ||= H("span", null, "Task", -1), Kn(H("input", {
+ H("div", $x, [
+ H("label", null, [n[6] ||= H("span", null, "Task", -1), Yn(H("input", {
"onUpdate:modelValue": n[0] ||= (e) => t.task = e,
type: "text",
placeholder: "I2V, I2I, T2V, Image Edit..."
- }, null, 512), [[xr, t.task]])]),
- H("label", null, [n[7] ||= H("span", null, "Model family", -1), Kn(H("input", {
+ }, null, 512), [[wr, t.task]])]),
+ H("label", null, [n[7] ||= H("span", null, "Model family", -1), Yn(H("input", {
"onUpdate:modelValue": n[1] ||= (e) => t.model_family = e,
type: "text",
placeholder: "Flux, Qwen, Wan..."
- }, null, 512), [[xr, t.model_family]])]),
- H("label", null, [n[8] ||= H("span", null, "Provider", -1), Kn(H("input", {
+ }, null, 512), [[wr, t.model_family]])]),
+ H("label", null, [n[8] ||= H("span", null, "Provider", -1), Yn(H("input", {
"onUpdate:modelValue": n[2] ||= (e) => t.provider = e,
type: "text",
placeholder: "Google, ByteDance, local..."
- }, null, 512), [[xr, t.provider]])]),
- H("label", null, [n[10] ||= H("span", null, "Runs on", -1), Kn(H("select", { "onUpdate:modelValue": n[3] ||= (e) => t.runs_on = e }, [...n[9] ||= [
+ }, null, 512), [[wr, t.provider]])]),
+ H("label", null, [n[10] ||= H("span", null, "Runs on", -1), Yn(H("select", { "onUpdate:modelValue": n[3] ||= (e) => t.runs_on = e }, [...n[9] ||= [
H("option", { value: "" }, "Auto", -1),
H("option", { value: "local" }, "local", -1),
H("option", { value: "api" }, "api", -1),
H("option", { value: "cloud" }, "cloud", -1)
- ]], 512), [[vr, t.runs_on]])]),
- H("label", Yx, [n[11] ||= H("span", null, "Notes", -1), Kn(H("textarea", {
+ ]], 512), [[xr, t.runs_on]])]),
+ H("label", eS, [n[11] ||= H("span", null, "Notes", -1), Yn(H("textarea", {
"onUpdate:modelValue": n[4] ||= (e) => t.notes = e,
rows: "5",
placeholder: "Notes displayed on workflow hover"
- }, null, 512), [[xr, t.notes]])])
+ }, null, 512), [[wr, t.notes]])])
]),
- H("footer", Xx, [H("button", {
+ H("footer", tS, [H("button", {
type: "button",
class: "mjr-workflow-picker-secondary",
- onClick: a
+ onClick: i
}, J(Z(L)("btn.cancel", "Cancel")), 1), H("button", {
type: "button",
class: "mjr-workflow-picker-primary",
- onClick: o
+ onClick: a
}, J(Z(L)("btn.apply", "Apply")), 1)])
])])) : W("", !0)]));
}
-}), Qx = { class: "mjr-workflow-picker-header" }, $x = { class: "mjr-workflow-picker-title" }, eS = {
+}), rS = { class: "mjr-workflow-picker-header" }, iS = { class: "mjr-workflow-picker-title" }, aS = {
key: 0,
class: "mjr-workflow-picker-source"
-}, tS = { class: "mjr-workflow-picker-toolbar" }, nS = { class: "mjr-workflow-picker-search" }, rS = ["placeholder"], iS = { value: "" }, aS = ["value"], oS = { value: "" }, sS = ["value"], cS = { value: "" }, lS = ["value"], uS = { class: "mjr-workflow-picker-body" }, dS = {
+}, oS = { class: "mjr-workflow-picker-toolbar" }, sS = { class: "mjr-workflow-picker-search" }, cS = ["placeholder"], lS = { value: "" }, uS = ["value"], dS = { value: "" }, fS = ["value"], pS = { value: "" }, mS = ["value"], hS = { class: "mjr-workflow-picker-body" }, gS = {
key: 0,
class: "mjr-workflow-picker-empty"
-}, fS = {
+}, _S = {
key: 1,
class: "mjr-workflow-picker-empty is-error"
-}, pS = {
+}, vS = {
key: 2,
class: "mjr-workflow-picker-empty"
-}, mS = ["onClick"], hS = { class: "mjr-workflow-picker-thumb" }, gS = ["src", "alt"], _S = {
+}, yS = ["onClick"], bS = { class: "mjr-workflow-picker-thumb" }, xS = ["src", "alt"], SS = {
key: 1,
class: "pi pi-sitemap"
-}, vS = { class: "mjr-workflow-picker-card-info" }, yS = ["disabled"], bS = { class: "mjr-workflow-picker-card-info" }, xS = { class: "mjr-workflow-picker-footer" }, SS = ["disabled"], CS = 120, wS = /* @__PURE__ */ tr({
+}, CS = { class: "mjr-workflow-picker-card-info" }, wS = ["disabled"], TS = { class: "mjr-workflow-picker-card-info" }, ES = { class: "mjr-workflow-picker-footer" }, DS = ["disabled"], OS = 120, kS = /* @__PURE__ */ ir({
__name: "WorkflowPickerDialog",
setup(e) {
- let t = Q(""), n = Q(!1), r = Q(!1), i = Q(""), a = Q([]), o = Q(""), s = Q(0), c = Q(!1), l = 0, u = K(() => Mn.sourceAsset || null), d = K(() => Mn.workflow || null), f = K(() => String(Mn.mode || "") === "asset"), p = K(() => String(u.value?.filename || u.value?.display_name || d.value?.display_name || d.value?.filename || u.value?.filepath || d.value?.filepath || "")), m = K(() => b("task")), h = K(() => b("model_family")), g = K(() => b("runs_on")), _ = Q(""), v = Q(""), y = Q("");
+ let t = Q(""), n = Q(!1), r = Q(!1), i = Q(""), a = Q([]), o = Q(""), s = Q(0), c = Q(!1), l = 0, u = K(() => Fn.sourceAsset || null), d = K(() => Fn.workflow || null), f = K(() => String(Fn.mode || "") === "asset"), p = K(() => String(u.value?.filename || u.value?.display_name || d.value?.display_name || d.value?.filename || u.value?.filepath || d.value?.filepath || "")), m = K(() => b("task")), h = K(() => b("model_family")), g = K(() => b("runs_on")), _ = Q(""), v = Q(""), y = Q("");
function b(e) {
let t = /* @__PURE__ */ new Set();
for (let n of a.value || []) {
@@ -23462,12 +23539,12 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
e ? n.value = !0 : r.value = !0, i.value = "";
try {
if (f.value) {
- a.value = Array.isArray(Mn.items) ? Mn.items.filter((e) => String(e?.filepath || "").trim()) : [], !o.value && a.value[0]?.filepath && (o.value = String(a.value[0].filepath));
+ a.value = Array.isArray(Fn.items) ? Fn.items.filter((e) => String(e?.filepath || "").trim()) : [], !o.value && a.value[0]?.filepath && (o.value = String(a.value[0].filepath));
return;
}
- let n = await le({
+ let n = await de({
q: "*",
- limit: CS,
+ limit: OS,
offset: u,
sort: "mtime"
}, { timeoutMs: 2e4 });
@@ -23477,7 +23554,7 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
return;
}
let r = (Array.isArray(n?.data?.assets) ? n.data.assets : Array.isArray(n?.data) ? n.data : []).filter((e) => String(e?.filepath || "").trim());
- a.value = e ? r : [...a.value, ...r], s.value = u + r.length, c.value = r.length >= CS, !o.value && a.value[0]?.filepath && (o.value = String(a.value[0].filepath));
+ a.value = e ? r : [...a.value, ...r], s.value = u + r.length, c.value = r.length >= OS, !o.value && a.value[0]?.filepath && (o.value = String(a.value[0].filepath));
} catch (e) {
t === l && (i.value = String(e?.message || e || "Failed to load workflows"), a.value = []);
} finally {
@@ -23491,97 +23568,97 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
if (!(n.value || r.value || !c.value)) return E({ reset: !1 });
}
function k() {
- S.value && wn(S.value);
+ S.value && Dn(S.value);
}
function A() {
- wn(null);
+ Dn(null);
}
- function ee(e) {
+ function j(e) {
e.key === "Escape" && (e.preventDefault(), A());
}
- return or(() => Mn.open, (e) => {
+ return lr(() => Fn.open, (e) => {
if (e) {
o.value = "", s.value = 0, c.value = !1, t.value = "", _.value = "", v.value = "", y.value = "", D();
try {
- window.addEventListener("keydown", ee);
+ window.addEventListener("keydown", j);
} catch {}
} else try {
- window.removeEventListener("keydown", ee);
+ window.removeEventListener("keydown", j);
} catch {}
- }), ar(() => {
+ }), cr(() => {
try {
- window.removeEventListener("keydown", ee);
+ window.removeEventListener("keydown", j);
} catch {}
- }), (e, a) => (q(), Jn(yr, { to: "body" }, [Z(Mn).open ? (q(), Y("div", {
+ }), (e, a) => (q(), Zn(Sr, { to: "body" }, [Z(Fn).open ? (q(), Y("div", {
key: 0,
class: "mjr-workflow-picker-backdrop",
- onMousedown: rr(A, ["self"])
+ onMousedown: or(A, ["self"])
}, [H("section", {
class: X(["mjr-workflow-picker-dialog", { "is-asset-mode": f.value }]),
role: "dialog",
"aria-modal": "true"
}, [
- H("header", Qx, [H("div", $x, [a[4] ||= H("i", { class: "pi pi-sitemap" }, null, -1), H("span", null, J(Z(Mn).title), 1)]), H("button", {
+ H("header", rS, [H("div", iS, [a[4] ||= H("i", { class: "pi pi-sitemap" }, null, -1), H("span", null, J(Z(Fn).title), 1)]), H("button", {
class: "mjr-workflow-picker-icon-btn",
type: "button",
onClick: A
}, [...a[5] ||= [H("i", { class: "pi pi-times" }, null, -1)]])]),
- p.value ? (q(), Y("div", eS, [H("span", null, J(f.value ? Z(L)("tab.workflow", "Workflow") : Z(L)("dialog.workflowThumbnailSource", "Source")), 1), H("strong", null, J(p.value), 1)])) : W("", !0),
- H("div", tS, [
- H("label", nS, [a[6] ||= H("i", { class: "pi pi-search" }, null, -1), Kn(H("input", {
+ p.value ? (q(), Y("div", aS, [H("span", null, J(f.value ? Z(L)("tab.workflow", "Workflow") : Z(L)("dialog.workflowThumbnailSource", "Source")), 1), H("strong", null, J(p.value), 1)])) : W("", !0),
+ H("div", oS, [
+ H("label", sS, [a[6] ||= H("i", { class: "pi pi-search" }, null, -1), Yn(H("input", {
"onUpdate:modelValue": a[0] ||= (e) => t.value = e,
type: "search",
placeholder: Z(L)("search.workflows", "Search workflows...")
- }, null, 8, rS), [[xr, t.value]])]),
- f.value ? W("", !0) : Kn((q(), Y("select", {
+ }, null, 8, cS), [[wr, t.value]])]),
+ f.value ? W("", !0) : Yn((q(), Y("select", {
key: 0,
"onUpdate:modelValue": a[1] ||= (e) => _.value = e
- }, [H("option", iS, J(Z(L)("filter.task", "Task")), 1), (q(!0), Y(V, null, $n(m.value, (e) => (q(), Y("option", {
+ }, [H("option", lS, J(Z(L)("filter.task", "Task")), 1), (q(!0), Y(V, null, nr(m.value, (e) => (q(), Y("option", {
key: e,
value: e
- }, J(e), 9, aS))), 128))], 512)), [[vr, _.value]]),
- f.value ? W("", !0) : Kn((q(), Y("select", {
+ }, J(e), 9, uS))), 128))], 512)), [[xr, _.value]]),
+ f.value ? W("", !0) : Yn((q(), Y("select", {
key: 1,
"onUpdate:modelValue": a[2] ||= (e) => v.value = e
- }, [H("option", oS, J(Z(L)("filter.model", "Model")), 1), (q(!0), Y(V, null, $n(h.value, (e) => (q(), Y("option", {
+ }, [H("option", dS, J(Z(L)("filter.model", "Model")), 1), (q(!0), Y(V, null, nr(h.value, (e) => (q(), Y("option", {
key: e,
value: e
- }, J(e), 9, sS))), 128))], 512)), [[vr, v.value]]),
- f.value ? W("", !0) : Kn((q(), Y("select", {
+ }, J(e), 9, fS))), 128))], 512)), [[xr, v.value]]),
+ f.value ? W("", !0) : Yn((q(), Y("select", {
key: 2,
"onUpdate:modelValue": a[3] ||= (e) => y.value = e
- }, [H("option", cS, J(Z(L)("filter.runsOn", "Runs on")), 1), (q(!0), Y(V, null, $n(g.value, (e) => (q(), Y("option", {
+ }, [H("option", pS, J(Z(L)("filter.runsOn", "Runs on")), 1), (q(!0), Y(V, null, nr(g.value, (e) => (q(), Y("option", {
key: e,
value: e
- }, J(e), 9, lS))), 128))], 512)), [[vr, y.value]])
+ }, J(e), 9, mS))), 128))], 512)), [[xr, y.value]])
]),
- H("div", uS, [n.value ? (q(), Y("div", dS, J(Z(L)("status.loading", "Loading...")), 1)) : i.value ? (q(), Y("div", fS, J(i.value), 1)) : x.value.length ? (q(), Y(V, { key: 3 }, [(q(!0), Y(V, null, $n(x.value, (e) => (q(), Y("button", {
+ H("div", hS, [n.value ? (q(), Y("div", gS, J(Z(L)("status.loading", "Loading...")), 1)) : i.value ? (q(), Y("div", _S, J(i.value), 1)) : x.value.length ? (q(), Y(V, { key: 3 }, [(q(!0), Y(V, null, nr(x.value, (e) => (q(), Y("button", {
key: e.filepath,
type: "button",
class: X(["mjr-workflow-picker-card", { "is-selected": o.value === String(e.filepath || "") }]),
onClick: (t) => o.value = String(e.filepath || ""),
onDblclick: k
- }, [H("div", hS, [T(e) ? (q(), Y("img", {
+ }, [H("div", bS, [T(e) ? (q(), Y("img", {
key: 0,
src: T(e),
alt: C(e),
loading: "lazy"
- }, null, 8, gS)) : (q(), Y("i", _S))]), H("div", vS, [
+ }, null, 8, xS)) : (q(), Y("i", SS))]), H("div", CS, [
H("strong", null, J(C(e)), 1),
H("span", null, J(w(e)), 1),
H("small", null, J(e.filename), 1)
- ])], 42, mS))), 128)), !f.value && c.value ? (q(), Y("button", {
+ ])], 42, yS))), 128)), !f.value && c.value ? (q(), Y("button", {
key: 0,
type: "button",
class: "mjr-workflow-picker-card mjr-workflow-picker-load-more",
disabled: r.value,
onClick: O
- }, [a[7] ||= H("div", { class: "mjr-workflow-picker-thumb" }, [H("i", { class: "pi pi-angle-down" })], -1), H("div", bS, [
+ }, [a[7] ||= H("div", { class: "mjr-workflow-picker-thumb" }, [H("i", { class: "pi pi-angle-down" })], -1), H("div", TS, [
H("strong", null, J(r.value ? Z(L)("status.loading", "Loading...") : Z(L)("action.loadMore", "Load more")), 1),
H("span", null, J(Z(L)("tab.workflow", "Workflow")), 1),
H("small", null, J(s.value) + " loaded", 1)
- ])], 8, yS)) : W("", !0)], 64)) : (q(), Y("div", pS, J(Z(L)("toast.noWorkflowsFound", "No workflows found.")), 1))]),
- H("footer", xS, [H("button", {
+ ])], 8, wS)) : W("", !0)], 64)) : (q(), Y("div", vS, J(Z(L)("toast.noWorkflowsFound", "No workflows found.")), 1))]),
+ H("footer", ES, [H("button", {
type: "button",
class: "mjr-workflow-picker-btn",
onClick: A
@@ -23590,31 +23667,31 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
class: "mjr-workflow-picker-btn is-primary",
disabled: !S.value,
onClick: k
- }, J(Z(L)("action.apply", "Apply")), 9, SS)])
+ }, J(Z(L)("action.apply", "Apply")), 9, DS)])
], 2)], 32)) : W("", !0)]));
}
-}), TS = { class: "mjr-workflow-picker-dialog mjr-workflow-info-dialog" }, ES = { class: "mjr-workflow-picker-header" }, DS = { class: "mjr-workflow-picker-title" }, OS = { class: "mjr-workflow-picker-subtitle" }, kS = { class: "mjr-workflow-info-form" }, AS = { class: "is-wide" }, jS = { class: "is-wide" }, MS = { class: "mjr-workflow-picker-footer" }, NS = /* @__PURE__ */ tr({
+}), AS = { class: "mjr-workflow-picker-dialog mjr-workflow-info-dialog" }, jS = { class: "mjr-workflow-picker-header" }, MS = { class: "mjr-workflow-picker-title" }, NS = { class: "mjr-workflow-picker-subtitle" }, PS = { class: "mjr-workflow-info-form" }, FS = { class: "is-wide" }, IS = { class: "is-wide" }, LS = { class: "mjr-workflow-picker-footer" }, RS = /* @__PURE__ */ ir({
__name: "WorkflowSaveInfoDialog",
setup(e) {
- let t = hr({
+ let t = vr({
name: "",
task: "",
model_family: "",
provider: "",
runs_on: "",
notes: ""
- }), n = K(() => Z_.initial || {}), r = K(() => L("dialog.saveWorkflowWithInfo", "Save workflow")), i = K(() => L("dialog.workflowInfoAutoFallback", "Leave fields empty to use automatic workflow detection."));
- or(() => Z_.open, (e) => {
+ }), n = K(() => nv.initial || {}), r = K(() => L("dialog.saveWorkflowWithInfo", "Save workflow")), i = K(() => L("dialog.workflowInfoAutoFallback", "Leave fields empty to use automatic workflow detection."));
+ lr(() => nv.open, (e) => {
if (!e) return;
let r = n.value || {};
t.name = String(r.name || r.workflow?.name || r.workflow?.title || "workflow").trim(), t.task = String(r.task || ""), t.model_family = String(r.model_family || ""), t.provider = String(r.provider || ""), t.runs_on = String(r.runs_on || ""), t.notes = String(r.notes || "");
});
function a() {
- $_(null);
+ iv(null);
}
function o() {
let e = String(t.name || "").trim();
- e && $_({
+ e && iv({
name: e,
task: String(t.task || "").trim(),
model_family: String(t.model_family || "").trim(),
@@ -23624,13 +23701,13 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
});
}
return (e, n) => {
- let s = Qn("MButton"), c = Qn("MInputText"), l = Qn("MSelect"), u = Qn("MTextarea");
- return q(), Jn(yr, { to: "body" }, [Z(Z_).open ? (q(), Y("div", {
+ let s = tr("MButton"), c = tr("MInputText"), l = tr("MSelect"), u = tr("MTextarea");
+ return q(), Zn(Sr, { to: "body" }, [Z(nv).open ? (q(), Y("div", {
key: 0,
class: "mjr-workflow-picker-backdrop",
- onClick: rr(a, ["self"])
- }, [H("section", TS, [
- H("header", ES, [H("div", null, [H("div", DS, J(r.value), 1), H("div", OS, J(i.value), 1)]), U(s, {
+ onClick: or(a, ["self"])
+ }, [H("section", AS, [
+ H("header", jS, [H("div", null, [H("div", MS, J(r.value), 1), H("div", NS, J(i.value), 1)]), U(s, {
type: "button",
class: "mjr-workflow-picker-close",
onClick: a
@@ -23638,13 +23715,13 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
default: G(() => [...n[6] ||= [H("i", { class: "pi pi-times" }, null, -1)]]),
_: 1
})]),
- H("div", kS, [
- H("label", AS, [H("span", null, J(Z(L)("dialog.workflowSaveName", "Workflow name")), 1), U(c, {
+ H("div", PS, [
+ H("label", FS, [H("span", null, J(Z(L)("dialog.workflowSaveName", "Workflow name")), 1), U(c, {
modelValue: t.name,
"onUpdate:modelValue": n[0] ||= (e) => t.name = e,
type: "text",
placeholder: "workflow",
- onKeydown: br(rr(o, ["prevent"]), ["enter"])
+ onKeydown: Cr(or(o, ["prevent"]), ["enter"])
}, null, 8, ["modelValue", "onKeydown"])]),
H("label", null, [n[7] ||= H("span", null, "Task", -1), U(c, {
modelValue: t.task,
@@ -23689,19 +23766,19 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
"option-value": "value",
placeholder: "Auto"
}, null, 8, ["modelValue"])]),
- H("label", jS, [n[11] ||= H("span", null, "Notes", -1), U(u, {
+ H("label", IS, [n[11] ||= H("span", null, "Notes", -1), U(u, {
modelValue: t.notes,
"onUpdate:modelValue": n[5] ||= (e) => t.notes = e,
rows: "5",
placeholder: "Notes displayed on workflow hover"
}, null, 8, ["modelValue"])])
]),
- H("footer", MS, [U(s, {
+ H("footer", LS, [U(s, {
type: "button",
class: "mjr-workflow-picker-secondary",
onClick: a
}, {
- default: G(() => [pr(J(Z(L)("btn.cancel", "Cancel")), 1)]),
+ default: G(() => [gr(J(Z(L)("btn.cancel", "Cancel")), 1)]),
_: 1
}), U(s, {
type: "button",
@@ -23709,29 +23786,29 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
disabled: !String(t.name || "").trim(),
onClick: o
}, {
- default: G(() => [pr(J(Z(L)("btn.save", "Save")), 1)]),
+ default: G(() => [gr(J(Z(L)("btn.save", "Save")), 1)]),
_: 1
}, 8, ["disabled"])])
])])) : W("", !0)]);
};
}
-}), PS = /* @__PURE__ */ tr({
+}), zS = /* @__PURE__ */ ir({
__name: "ContextMenuPortal",
setup(e) {
- let t = Q(""), n = K(() => rn(t.value));
- return Zn(() => {
- t.value = cn();
- }), ir(() => {
- Xt(t.value), t.value = "";
+ let t = Q(""), n = K(() => sn(t.value));
+ return er(() => {
+ t.value = dn();
+ }), sr(() => {
+ $t(t.value), t.value = "";
}), (e, t) => n.value ? (q(), Y(V, { key: 0 }, [
- U(Ux),
- U(Px),
- U(wS),
- U(Zx),
- U(NS)
+ U(Jx),
+ U(zx),
+ U(kS),
+ U(nS),
+ U(RS)
], 64)) : W("", !0);
}
-}), FS = {
+}), BS = {
class: "mjr-sidebar-content",
style: {
flex: "1",
@@ -23741,29 +23818,29 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
"flex-direction": "column",
gap: "16px"
}
-}, IS = {
+}, VS = {
class: "mjr-sidebar-rating-tags",
style: {
display: "flex",
"flex-direction": "column",
gap: "10px"
}
-}, LS = { style: {
+}, HS = { style: {
display: "flex",
"align-items": "center",
gap: "8px"
-} }, RS = { style: {
+} }, US = { style: {
"font-size": "0.8em",
opacity: "0.6",
"min-width": "44px"
-} }, zS = { style: {
+} }, WS = { style: {
display: "flex",
"flex-direction": "column",
gap: "4px"
-} }, BS = { style: {
+} }, GS = { style: {
"font-size": "0.8em",
opacity: "0.6"
-} }, VS = /* @__PURE__ */ tr({
+} }, KS = /* @__PURE__ */ ir({
__name: "AssetSidebarContent",
props: {
asset: {},
@@ -23777,14 +23854,14 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
return e === "workflow" || t === "workflow" || r.endsWith(".json");
}), o = K(() => Number(n.asset?.rating) || 0), s = K(() => n.asset?.tags || []), c = K(() => {
try {
- return !!(Mt()?.sidebar?.showPreviewThumb ?? !0);
+ return !!(Ft()?.sidebar?.showPreviewThumb ?? !0);
} catch {
return !0;
}
});
function l() {
if (n.sidebar) try {
- Ah(n.sidebar);
+ Fh(n.sidebar);
} catch (e) {
console.debug?.(e);
}
@@ -23795,49 +23872,49 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
if (!u.value && d.value) {
u.value = !0;
try {
- F(L("toast.collectingFiles", "Collecting files..."), "info", 2500);
+ x(L("toast.collectingFiles", "Collecting files..."), "info", 2500);
let e = await De(d.value);
if (!e?.ok) {
- F(e?.error || L("toast.collectFilesFailed", "Collect files failed"), "error");
+ x(e?.error || L("toast.collectFilesFailed", "Collect files failed"), "error");
return;
}
let t = e?.data || {}, n = Array.isArray(t.missing) ? t.missing.length : 0, r = t.fallback_used ? L("toast.collectFallbackDir", "output folder (source folder not writable)") : L("toast.collectSameDir", "asset folder"), i = L("toast.collectedFiles", "Collected {name} in {where}", {
name: String(t.zip_name || "zip"),
where: r
});
- n > 0 && (i += ` \u2014 ${n} ${L("toast.collectMissingInputs", "input(s) missing")}`), F(i, n > 0 ? "warning" : "success", 6e3);
+ n > 0 && (i += ` \u2014 ${n} ${L("toast.collectMissingInputs", "input(s) missing")}`), x(i, n > 0 ? "warning" : "success", 6e3);
} catch (e) {
- console.debug?.(e), F(L("toast.collectFilesFailed", "Collect files failed"), "error");
+ console.debug?.(e), x(L("toast.collectFilesFailed", "Collect files failed"), "error");
} finally {
u.value = !1;
}
}
}
return (t, n) => {
- let r = Qn("MButton");
+ let r = tr("MButton");
return q(), Y(V, null, [
- U(cx, {
+ U(px, {
asset: e.asset,
onClose: l
}, null, 8, ["asset"]),
- H("div", FS, [i.value ? (q(), Jn(Tx, {
+ H("div", BS, [i.value ? (q(), Zn(Ax, {
key: 0,
asset: e.asset
}, null, 8, ["asset"])) : (q(), Y(V, { key: 1 }, [a.value ? W("", !0) : (q(), Y(V, { key: 0 }, [
- U(yx, {
+ U(wx, {
asset: e.asset,
"show-preview-thumb": c.value
}, null, 8, ["asset", "show-preview-thumb"]),
- H("div", IS, [H("div", LS, [H("span", RS, J(Z(L)("sidebar.rating", "Rating")), 1), U(Nn, {
+ H("div", VS, [H("div", HS, [H("span", US, J(Z(L)("sidebar.rating", "Rating")), 1), U(In, {
asset: e.asset,
"model-value": o.value,
size: 60
- }, null, 8, ["asset", "model-value"])]), H("div", zS, [H("span", BS, J(Z(L)("sidebar.tags", "Tags")), 1), U(zn, {
+ }, null, 8, ["asset", "model-value"])]), H("div", WS, [H("span", GS, J(Z(L)("sidebar.tags", "Tags")), 1), U(Hn, {
asset: e.asset,
"model-value": s.value
}, null, 8, ["asset", "model-value"])])]),
- U(xn, { asset: e.asset }, null, 8, ["asset"]),
- d.value ? (q(), Jn(r, {
+ U(wn, { asset: e.asset }, null, 8, ["asset"]),
+ d.value ? (q(), Zn(r, {
key: 0,
type: "button",
class: "mjr-btn mjr-sidebar-collect-btn",
@@ -23856,13 +23933,13 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
default: G(() => [H("i", { class: X(u.value ? "pi pi-spin pi-spinner" : "pi pi-box") }, null, 2), H("span", null, J(u.value ? Z(L)("sidebar.collectingFiles", "Collecting...") : Z(L)("sidebar.collectFiles", "Collect files")), 1)]),
_: 1
}, 8, ["disabled", "title"])) : W("", !0),
- U(On, { asset: e.asset }, null, 8, ["asset"])
- ], 64)), U(Ln, { asset: e.asset }, null, 8, ["asset"])], 64))]),
- U(PS)
+ U(jn, { asset: e.asset }, null, 8, ["asset"])
+ ], 64)), U(Bn, { asset: e.asset }, null, 8, ["asset"])], 64))]),
+ U(zS)
], 64);
};
}
-}), HS = {
+}), qS = {
key: 1,
class: "mjr-sidebar-placeholder",
style: {
@@ -23875,11 +23952,11 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
"font-size": "0.85em",
"text-align": "center"
}
-}, US = /* @__PURE__ */ tr({
+}, JS = /* @__PURE__ */ ir({
__name: "SidebarSection",
setup(e, { expose: t }) {
- let n = Q(null), { activeAsset: r, onUpdateCallback: i } = vh();
- return Zn(() => {
+ let n = Q(null), { activeAsset: r, onUpdateCallback: i } = Ch();
+ return er(() => {
let e = n.value;
if (!e) return;
e.style.flex = "0 0 0px", e.style.width = "0", e.style.maxWidth = "0", e.style.minWidth = "0", e.style.overflow = "hidden", e.style.borderLeft = "none", e.style.borderRight = "none", e._requestSeq = 0, e._currentAsset = null, e._currentFullAsset = null, e._ratingTagsSection = null;
@@ -23889,7 +23966,7 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
}, a = (n) => {
let r = n?.detail || {}, a = r.assetId ?? r.id ?? null, o = Number(r.rating);
if (t(a) && Number.isFinite(o)) {
- xh({ rating: o }, i.value);
+ Eh({ rating: o }, i.value);
try {
e._currentAsset && (e._currentAsset.rating = o), e._currentFullAsset && (e._currentFullAsset.rating = o);
} catch (e) {
@@ -23899,7 +23976,7 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
}, o = (n) => {
let r = n?.detail || {}, a = r.assetId ?? r.id ?? null, o = Array.isArray(r.tags) ? r.tags : null;
if (t(a) && o) {
- xh({ tags: o }, i.value);
+ Eh({ tags: o }, i.value);
try {
e._currentAsset && (e._currentAsset.tags = o), e._currentFullAsset && (e._currentFullAsset.tags = o);
} catch (e) {
@@ -23921,16 +23998,16 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
}, e._dispose = e.dispose;
let l = c ? { signal: c.signal } : void 0;
try {
- window.addEventListener(Ft, a, l), window.addEventListener(Pt, o, l);
+ window.addEventListener(Rt, a, l), window.addEventListener(Lt, o, l);
} catch (e) {
console.debug?.(e);
try {
- window.addEventListener(Ft, a), window.addEventListener(Pt, o), s.push(() => window.removeEventListener(Ft, a)), s.push(() => window.removeEventListener(Pt, o));
+ window.addEventListener(Rt, a), window.addEventListener(Lt, o), s.push(() => window.removeEventListener(Rt, a)), s.push(() => window.removeEventListener(Lt, o));
} catch (e) {
console.debug?.(e);
}
}
- }), ir(() => {
+ }), sr(() => {
try {
n.value?.dispose?.();
} catch {}
@@ -23951,7 +24028,7 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
transition: "width 140ms ease,max-width 140ms ease,flex-basis 140ms ease,border-color 140ms ease",
contain: "layout paint style"
}
- }, [Z(r) ? (q(), Jn(VS, {
+ }, [Z(r) ? (q(), Zn(KS, {
key: 0,
asset: Z(r),
"on-update": Z(i),
@@ -23960,18 +24037,18 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
"asset",
"on-update",
"sidebar"
- ])) : (q(), Y("div", HS, J(Z(L)("sidebar.placeholderSelectAsset", "Select an asset to view details")), 1))], 512));
+ ])) : (q(), Y("div", qS, J(Z(L)("sidebar.placeholderSelectAsset", "Select an asset to view details")), 1))], 512));
}
-}), WS = /* @__PURE__ */ tr({
+}), YS = /* @__PURE__ */ ir({
__name: "App",
setup(e) {
let t = Q(null), n = Q(null), r = Q(null), i = Q(null), a = Q(null), o = Q(null), s = null;
- return Zn(async () => {
+ return er(async () => {
if (!t.value) return;
let e = {};
n.value && (e.statusSection = n.value.statusSection, e.statusDot = n.value.statusDot, e.statusText = n.value.statusText, e.capabilitiesSection = n.value.capabilitiesSection), r.value && (e.headerSection = r.value), i.value && (e.summaryBar = i.value.summaryBar, e.updateSummaryBar = i.value.updateSummaryBar, e.folderBreadcrumb = i.value.folderBreadcrumb, e.folderBreadcrumbController = i.value), a.value && (e.browseSection = a.value.browseSection, e.gridWrapper = a.value.gridWrapper, e.gridContainer = a.value.gridContainer, e.onGridContainerReady = (...e) => a.value?.onGridContainerReady?.(...e), e.bindGridHostState = (...e) => a.value?.bindGridHostState?.(...e), e.restoreGridUiState = (...e) => a.value?.restoreGridUiState?.(...e), e.initAssetsQueryController = (...e) => a.value?.initAssetsQueryController?.(...e), e.loadAssets = (e, t = "*", n = {}) => a.value?.loadAssets?.(t, n), e.loadAssetsFromList = (e, t = [], n = {}) => a.value?.loadAssetsFromList?.(t, n), e.prepareGridForScopeSwitch = (e) => a.value?.prepareGridForScopeSwitch?.(), e.refreshGrid = (e) => a.value?.refreshGrid?.(), e.captureAnchor = (e) => a.value?.captureAnchor?.(), e.restoreAnchor = (e, t) => a.value?.restoreAnchor?.(t), e.hydrateGridFromSnapshot = (e, t = {}, n = {}) => a.value?.hydrateGridFromSnapshot?.(t, n), e.upsertAsset = (e, t) => a.value?.upsertAsset?.(t), e.removeAssets = (e, t = [], n = {}) => a.value?.removeAssets?.(t, n), e.disposeGrid = (e) => a.value?.disposeGrid?.()), o.value && (e.sidebar = o.value.sidebar);
try {
- s = await J_(t.value, {
+ s = await $_(t.value, {
useComfyThemeUI: !0,
external: e
});
@@ -23979,35 +24056,35 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
console.warn("[Majoor] App.vue: mountAssetsManagerPanelRuntime failed", e);
}
try {
- Vh().validatePersistedCustomRoot?.();
+ Kh().validatePersistedCustomRoot?.();
} catch {}
- }), ir(() => {
+ }), sr(() => {
try {
s?.dispose?.();
} catch {}
s = null;
}), (e, s) => (q(), Y(V, null, [
- U(X_, {
+ U(tv, {
ref_key: "statusSectionRef",
ref: n
}, null, 512),
- U(kb, {
+ U(Pb, {
ref_key: "headerSectionRef",
ref: r
}, null, 512),
- U(qb, {
+ U(Qb, {
ref_key: "summaryBarSectionRef",
ref: i
}, null, 512),
- U(ax, {
+ U(ux, {
ref_key: "assetsGridRef",
ref: a
}, null, 512),
- U(US, {
+ U(JS, {
ref_key: "sidebarSectionRef",
ref: o
}, null, 512),
- U(PS),
+ U(zS),
H("div", {
ref_key: "containerRef",
ref: t,
@@ -24021,7 +24098,7 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
}, null, 512)
], 64));
}
-}), GS = /* @__PURE__ */ tr({
+}), XS = /* @__PURE__ */ ir({
__name: "GeneratedFeedApp",
setup(e) {
let t = Q(null), n = null;
@@ -24041,18 +24118,18 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
}
}
}
- return Zn(() => {
+ return er(() => {
if (t.value) try {
- r(t.value), n = Of(t.value);
+ r(t.value), n = jf(t.value);
} catch (e) {
console.warn("[Majoor] GeneratedFeedApp.vue: createGeneratedFeedHost failed", e);
}
- }), ir(() => {
+ }), sr(() => {
try {
- kf(n);
+ Mf(n);
} catch {}
n = null;
- }), (e, n) => (q(), Y(V, null, [U(PS), H("div", {
+ }), (e, n) => (q(), Y(V, null, [U(zS), H("div", {
ref_key: "containerRef",
ref: t,
class: "mjr-vue-feed-root",
@@ -24067,43 +24144,43 @@ var px = { class: "mjr-sidebar-preview" }, mx = ["src"], hx = ["src"], gx = ["sr
}
}, null, 512)], 64));
}
-}), KS = "data-mjr-topbar-mfv-host", qS = "data-mjr-topbar-mfv-button", JS = "data-mjr-topbar-mfv-slot", YS = "label.floatingViewer", XS = "Viewer", ZS = "V", QS = "viewer.mfvTopbarButton", $S = null, eC = null, tC = null, nC = null, rC = null, iC = null, aC = null, oC = null, sC = !1, cC = null, lC = !1, uC = !1;
-function dC(e) {
+}), ZS = "data-mjr-topbar-mfv-host", QS = "data-mjr-topbar-mfv-button", $S = "data-mjr-topbar-mfv-slot", eC = "label.floatingViewer", tC = "Viewer", nC = "V", rC = "viewer.mfvTopbarButton", iC = null, aC = null, oC = null, sC = null, cC = null, lC = null, uC = null, dC = null, fC = !1, pC = null, mC = !1, hC = !1;
+function gC(e) {
if (!e) {
- !rC && typeof MutationObserver < "u" && (rC = new MutationObserver(() => {
- fC() && (rC?.disconnect?.(), rC = null, DC());
- }), rC.observe(document.body, {
+ !cC && typeof MutationObserver < "u" && (cC = new MutationObserver(() => {
+ _C() && (cC?.disconnect?.(), cC = null, MC());
+ }), cC.observe(document.body, {
childList: !0,
subtree: !0
}));
return;
}
try {
- rC?.disconnect?.();
+ cC?.disconnect?.();
} catch {}
- if (rC = null, eC !== e) {
+ if (cC = null, aC !== e) {
try {
- $S?.disconnect?.();
+ iC?.disconnect?.();
} catch {}
- $S = new MutationObserver(() => {
- hC(e) || DC();
- }), $S.observe(e, {
+ iC = new MutationObserver(() => {
+ bC(e) || MC();
+ }), iC.observe(e, {
childList: !0,
subtree: !0
- }), eC = e;
+ }), aC = e;
}
let t = e.parentElement;
- if (t && nC !== t) {
+ if (t && sC !== t) {
try {
- tC?.disconnect?.();
+ oC?.disconnect?.();
} catch {}
- tC = new MutationObserver(() => DC()), tC.observe(t, { childList: !0 }), nC = t;
+ oC = new MutationObserver(() => MC()), oC.observe(t, { childList: !0 }), sC = t;
}
}
-function fC() {
+function _C() {
return typeof document > "u" ? null : document.querySelector(".actionbar-container");
}
-function pC(e = fC()) {
+function vC(e = _C()) {
if (typeof document > "u") return;
let t = document.documentElement?.style;
if (!t) return;
@@ -24114,203 +24191,203 @@ function pC(e = fC()) {
let n = e.getBoundingClientRect(), r = Math.max(60, Math.ceil(n.bottom + 12));
t.setProperty("--mjr-mfv-top-offset", `${r}px`);
}
-function mC(e) {
+function yC(e) {
return e && e.querySelector(".queue-button-group") || null;
}
-function hC(e) {
+function bC(e) {
try {
- let t = e?.querySelector?.(`[${JS}]`), n = mC(e);
- return !t || !n ? !1 : t.parentElement === n.parentElement && t.previousElementSibling === n && !!t.querySelector(`[${KS}]`);
+ let t = e?.querySelector?.(`[${$S}]`), n = yC(e);
+ return !t || !n ? !1 : t.parentElement === n.parentElement && t.previousElementSibling === n && !!t.querySelector(`[${ZS}]`);
} catch {
return !1;
}
}
-function gC(e) {
+function xC(e) {
if (!e) return null;
- let t = e.querySelector(`[${JS}]`);
- t || (t = document.createElement("div"), t.setAttribute(JS, "1"), t.className = "flex h-full items-center pointer-events-auto", t.style.position = "relative", t.style.zIndex = "10030", t.style.padding = "0 4px");
- let n = mC(e), r = n?.parentElement || e;
+ let t = e.querySelector(`[${$S}]`);
+ t || (t = document.createElement("div"), t.setAttribute($S, "1"), t.className = "flex h-full items-center pointer-events-auto", t.style.position = "relative", t.style.zIndex = "10030", t.style.padding = "0 4px");
+ let n = yC(e), r = n?.parentElement || e;
return t.parentElement === r ? n && r && t.previousElementSibling !== n ? r.insertBefore(t, n.nextSibling) : !n && t !== r.lastElementChild && r.appendChild(t) : n && r ? r.insertBefore(t, n.nextSibling) : r.appendChild(t), t;
}
-function _C(e = "pi pi-eye") {
+function SC(e = "pi pi-eye") {
let t = document.createElement("i");
return t.className = e, t.setAttribute("aria-hidden", "true"), t;
}
-function vC(e = "Viewer") {
+function CC(e = "Viewer") {
let t = document.createElement("span");
return t.className = "mjr-topbar-mfv-label", t.textContent = e, t;
}
-function yC(e) {
+function wC(e) {
if (!e) return;
- let t = lC ? L("tooltip.closeMFV", "Close Floating Viewer") : L("tooltip.openMFV", "Open Floating Viewer");
- Vt(e, t, ZS, { ariaLabel: t }), e.setAttribute("aria-pressed", lC ? "true" : "false"), e.classList.toggle("primary", lC), e.classList.toggle("mjr-topbar-mfv-active", lC), e.replaceChildren(_C(lC ? "pi pi-eye-slash" : "pi pi-eye"), vC(L(YS, XS)));
+ let t = mC ? L("tooltip.closeMFV", "Close Floating Viewer") : L("tooltip.openMFV", "Open Floating Viewer");
+ Wt(e, t, nC, { ariaLabel: t }), e.setAttribute("aria-pressed", mC ? "true" : "false"), e.classList.toggle("primary", mC), e.classList.toggle("mjr-topbar-mfv-active", mC), e.replaceChildren(SC(mC ? "pi pi-eye-slash" : "pi pi-eye"), CC(L(eC, tC)));
}
-function bC() {
+function TC() {
try {
window.dispatchEvent(new Event(B.MFV_TOGGLE));
} catch (e) {
console.debug?.("[Majoor] top bar MFV launch failed", e);
}
- DC();
-}
-function xC() {
- let e = document.createElement("button");
- return e.type = "button", e.setAttribute(qS, "1"), e.className = "comfyui-button mjr-topbar-mfv-button", e.style.position = "relative", e.style.zIndex = "10030", e.style.width = "auto", e.style.height = "32px", e.style.minWidth = "32px", e.style.padding = "0 10px", e.style.gap = "6px", e.style.display = "inline-flex", e.style.alignItems = "center", e.style.justifyContent = "center", e.style.whiteSpace = "nowrap", e.addEventListener("click", bC), yC(e), e;
-}
-function SC() {
- let e = document.createElement("div");
- return e.setAttribute(KS, "1"), e.className = "mjr-topbar-mfv-button-host", e.style.position = "relative", e.appendChild(xC()), e;
-}
-function CC() {
- if (typeof document > "u" || uC) return;
- let e = !!document.querySelector(".mjr-mfv.is-visible");
- lC !== e && (lC = e);
-}
-function wC() {
- return R.MFV_TOPBAR_BUTTON !== !1;
-}
-function TC() {
- try {
- document.querySelector(`[${KS}]`)?.remove?.(), document.querySelector(`[${JS}]`)?.remove?.();
- } catch (e) {
- console.debug?.(e);
- }
+ MC();
}
function EC() {
- let e = fC();
- if (!e) return pC(null), null;
- if (!wC()) return TC(), pC(e), null;
- dC(e), CC();
- let t = gC(e);
- if (!t) return pC(e), null;
- let n = t.querySelector(`[${KS}]`);
- return n ||= SC(), n.parentElement !== t && t.replaceChildren(n), pC(e), yC(n.querySelector(`[${qS}]`)), t;
+ let e = document.createElement("button");
+ return e.type = "button", e.setAttribute(QS, "1"), e.className = "comfyui-button mjr-topbar-mfv-button", e.style.position = "relative", e.style.zIndex = "10030", e.style.width = "auto", e.style.height = "32px", e.style.minWidth = "32px", e.style.padding = "0 10px", e.style.gap = "6px", e.style.display = "inline-flex", e.style.alignItems = "center", e.style.justifyContent = "center", e.style.whiteSpace = "nowrap", e.addEventListener("click", TC), wC(e), e;
}
function DC() {
- sC || (sC = !0, cC = window.setTimeout(() => {
- sC = !1, cC = null, EC();
- }, 32));
+ let e = document.createElement("div");
+ return e.setAttribute(ZS, "1"), e.className = "mjr-topbar-mfv-button-host", e.style.position = "relative", e.appendChild(EC()), e;
}
function OC() {
- return typeof window > "u" || typeof document > "u" || !document.body ? !1 : (DC(), iC || (iC = (e) => {
- lC = !!e?.detail?.visible, uC = !0, DC();
- }, window.addEventListener(B.MFV_VISIBILITY_CHANGED, iC)), aC || (aC = () => DC(), window.addEventListener("resize", aC)), oC || (oC = (e) => {
- let t = e?.detail?.key;
- (t === QS || t === "storage") && DC();
- }, window.addEventListener("mjr-settings-changed", oC)), dC(fC()), !0);
+ if (typeof document > "u" || hC) return;
+ let e = !!document.querySelector(".mjr-mfv.is-visible");
+ mC !== e && (mC = e);
}
function kC() {
+ return R.MFV_TOPBAR_BUTTON !== !1;
+}
+function AC() {
try {
- $S?.disconnect?.();
+ document.querySelector(`[${ZS}]`)?.remove?.(), document.querySelector(`[${$S}]`)?.remove?.();
} catch (e) {
console.debug?.(e);
}
- $S = null, eC = null;
+}
+function jC() {
+ let e = _C();
+ if (!e) return vC(null), null;
+ if (!kC()) return AC(), vC(e), null;
+ gC(e), OC();
+ let t = xC(e);
+ if (!t) return vC(e), null;
+ let n = t.querySelector(`[${ZS}]`);
+ return n ||= DC(), n.parentElement !== t && t.replaceChildren(n), vC(e), wC(n.querySelector(`[${QS}]`)), t;
+}
+function MC() {
+ fC || (fC = !0, pC = window.setTimeout(() => {
+ fC = !1, pC = null, jC();
+ }, 32));
+}
+function NC() {
+ return typeof window > "u" || typeof document > "u" || !document.body ? !1 : (MC(), lC || (lC = (e) => {
+ mC = !!e?.detail?.visible, hC = !0, MC();
+ }, window.addEventListener(B.MFV_VISIBILITY_CHANGED, lC)), uC || (uC = () => MC(), window.addEventListener("resize", uC)), dC || (dC = (e) => {
+ let t = e?.detail?.key;
+ (t === rC || t === "storage") && MC();
+ }, window.addEventListener("mjr-settings-changed", dC)), gC(_C()), !0);
+}
+function PC() {
try {
- tC?.disconnect?.();
+ iC?.disconnect?.();
} catch (e) {
console.debug?.(e);
}
- tC = null, nC = null;
+ iC = null, aC = null;
try {
- rC?.disconnect?.();
+ oC?.disconnect?.();
} catch (e) {
console.debug?.(e);
}
- rC = null;
+ oC = null, sC = null;
try {
- cC && window.clearTimeout(cC);
+ cC?.disconnect?.();
} catch (e) {
console.debug?.(e);
}
- cC = null, iC && typeof window < "u" && window.removeEventListener(B.MFV_VISIBILITY_CHANGED, iC), iC = null, aC && typeof window < "u" && window.removeEventListener("resize", aC), aC = null, oC && typeof window < "u" && window.removeEventListener("mjr-settings-changed", oC), oC = null, sC = !1, lC = !1, uC = !1;
+ cC = null;
try {
- document.documentElement?.style?.setProperty("--mjr-mfv-top-offset", "60px"), document.querySelector(`[${KS}]`)?.remove?.(), document.querySelector(`[${JS}]`)?.remove?.();
+ pC && window.clearTimeout(pC);
+ } catch (e) {
+ console.debug?.(e);
+ }
+ pC = null, lC && typeof window < "u" && window.removeEventListener(B.MFV_VISIBILITY_CHANGED, lC), lC = null, uC && typeof window < "u" && window.removeEventListener("resize", uC), uC = null, dC && typeof window < "u" && window.removeEventListener("mjr-settings-changed", dC), dC = null, fC = !1, mC = !1, hC = !1;
+ try {
+ document.documentElement?.style?.setProperty("--mjr-mfv-top-offset", "60px"), document.querySelector(`[${ZS}]`)?.remove?.(), document.querySelector(`[${$S}]`)?.remove?.();
} catch (e) {
console.debug?.(e);
}
}
// ui/features/runtime/entryUiRegistration.ts
-var AC = "mjr-global-runtime-root", jC = "_mjrGlobalRuntimeVueApp", MC = "_mjrSidebarVueApp", NC = "_mjrFeedVueApp", PC = "majoor-generated-feed", FC = null;
-function IC() {
+var FC = "mjr-global-runtime-root", IC = "_mjrGlobalRuntimeVueApp", LC = "_mjrSidebarVueApp", RC = "_mjrFeedVueApp", zC = "majoor-generated-feed", BC = null;
+function VC() {
if (typeof document > "u" || !document?.body) return null;
- let e = document.getElementById(AC);
- return e || (e = document.createElement("div"), e.id = AC, e.setAttribute("role", "presentation"), e.style.cssText = "position:fixed;inset:0;overflow:visible;pointer-events:none;z-index:10020;", document.body.appendChild(e), e);
+ let e = document.getElementById(FC);
+ return e || (e = document.createElement("div"), e.id = FC, e.setAttribute("role", "presentation"), e.style.cssText = "position:fixed;inset:0;overflow:visible;pointer-events:none;z-index:10020;", document.body.appendChild(e), e);
}
-function LC() {
+function HC() {
try {
- let e = IC();
+ let e = VC();
if (!e) return !1;
- let t = !!Bt(e, mm, jC);
- return OC(), t;
+ let t = !!Ut(e, _m, IC);
+ return NC(), t;
} catch {
return !1;
}
}
-function RC() {
+function UC() {
try {
- kC();
- let e = document.getElementById(AC);
+ PC();
+ let e = document.getElementById(FC);
if (!e) return;
- Kt(e, jC), e.remove?.();
+ Yt(e, IC), e.remove?.();
} catch {}
}
-function zC(e, t) {
- let n = We(e, t);
- if (_p(), !n) try {
+function WC(e, t) {
+ let n = Ae(e, t);
+ if (bp(), !n) try {
window.dispatchEvent(new Event(B.OPEN_ASSETS_MANAGER));
} catch (e) {
console.debug?.(e);
}
return n;
}
-function BC() {
+function GC() {
try {
window.dispatchEvent(new CustomEvent(B.RELOAD_GRID, { detail: { reason: "command" } }));
} catch (e) {
console.debug?.(e);
}
}
-function VC(e) {
- let t = Fe(e, PC);
+function KC(e) {
+ let t = _e(e, zC);
if (!t) try {
- df();
+ mf();
} catch (e) {
console.debug?.(e);
}
return t;
}
-async function HC() {
+async function qC() {
try {
- let e = await me(p.BROWSE_FOLDER, {});
+ let e = await he(I.BROWSE_FOLDER, {});
if (e?.ok) return String(e?.data?.path || "").trim();
let t = String(e?.code || "").trim();
- t && t !== "CANCELLED" && F(e?.error || L("toast.nativeFolderBrowserUnavailable", "Native folder browser unavailable. Please enter path manually."), "warning", 3500);
+ t && t !== "CANCELLED" && x(e?.error || L("toast.nativeFolderBrowserUnavailable", "Native folder browser unavailable. Please enter path manually."), "warning", 3500);
} catch (e) {
- console.debug?.(e), F(L("toast.nativeFolderBrowserUnavailable", "Native folder browser unavailable. Please enter path manually."), "warning", 3500);
+ console.debug?.(e), x(L("toast.nativeFolderBrowserUnavailable", "Native folder browser unavailable. Please enter path manually."), "warning", 3500);
}
return "";
}
-async function UC(e, { settingId: t, settingsPathKey: n, save: r, successMessage: i, restartRequired: a = !1 }) {
- let o = await HC();
- if (!o) return !1;
- let s = await r(o);
- if (!s?.ok) return F(s?.error || L("toast.settingsPathSaveFailed", "Failed to save path"), "error"), !1;
+async function JC(e, { settingId: t, settingsPathKey: n, save: r, successMessage: i, restartRequired: a = !1 }) {
+ let s = await qC();
+ if (!s) return !1;
+ let c = await r(s);
+ if (!c?.ok) return x(c?.error || L("toast.settingsPathSaveFailed", "Failed to save path"), "error"), !1;
try {
- let r = Mt();
- r.paths = r.paths || {}, r.paths[n] = o, bt(r), A(e, t, o), window.dispatchEvent(new CustomEvent(B.SETTINGS_CHANGED, { detail: {
+ let r = Ft();
+ r.paths = r.paths || {}, r.paths[n] = s, Ct(r), o(e, t, s), window.dispatchEvent(new CustomEvent(B.SETTINGS_CHANGED, { detail: {
key: `paths.${n}`,
- value: o
+ value: s
} }));
} catch (e) {
console.debug?.(e);
}
- return F(a ? `${i} ${L("toast.restartComfyUiToApply", "Restart ComfyUI to apply.")}` : i, "success", 2800), !0;
+ return x(a ? `${i} ${L("toast.restartComfyUiToApply", "Restart ComfyUI to apply.")}` : i, "success", 2800), !0;
}
-function WC(e) {
- return pw(e).find(fw) || null;
+function YC(e) {
+ return vw(e).find(_w) || null;
}
-function GC(e) {
+function XC(e) {
let t = String(e?.id ?? e?.nodeId ?? e?.node_id ?? "").trim();
if (!t) return null;
let n = String(e?.comfyClass || e?.type || e?.constructor?.type || "").trim();
@@ -24322,7 +24399,7 @@ function GC(e) {
title: String(e?.title || e?.properties?.title || e?.properties?.name || n || "").trim()
};
}
-async function KC(e) {
+async function ZC(e) {
if (!e) return [];
try {
let t = (await import("./chunks/NodeStreamController-CIKDDXJT.js")).extractNodeFileData?.(e), n = String(t?.filename || "").trim();
@@ -24336,7 +24413,7 @@ async function KC(e) {
return console.debug?.(e), [];
}
}
-function qC(e) {
+function QC(e) {
try {
if (typeof window > "u") return;
window.MajoorAssetsManager = window.MajoorAssetsManager || {}, window.MajoorAssetsManager.pendingNodeContext = e, window.dispatchEvent(new CustomEvent(B.OPEN_NODE_CONTEXT, { detail: e }));
@@ -24344,18 +24421,18 @@ function qC(e) {
console.debug?.(e);
}
}
-async function JC(e, t, n) {
- zC(e, t);
- let r = GC(n) || {}, i = await KC(n);
+async function $C(e, t, n) {
+ WC(e, t);
+ let r = XC(n) || {}, i = await ZC(n);
i.length && (r.files = i);
let a = String(n?.comfyClass || n?.type || "").toLowerCase();
- return i.length && /load|upload/.test(a) && (delete r.source_node_id, delete r.sourceNodeId), !r.source_node_id && !i.length ? (F(L("toast.nodeContextMissing", "Select an output node first."), "info", 2200), !1) : (qC(r), !0);
+ return i.length && /load|upload/.test(a) && (delete r.source_node_id, delete r.sourceNodeId), !r.source_node_id && !i.length ? (x(L("toast.nodeContextMissing", "Select an output node first."), "info", 2200), !1) : (QC(r), !0);
}
-async function YC(e) {
+async function ew(e) {
try {
- let t = await KC(e);
+ let t = await ZC(e);
if (t.length) {
- let { floatingViewerManager: e } = await import("./chunks/floatingViewerManager-B_I-SRbd.js").then((e) => e.n);
+ let { floatingViewerManager: e } = await import("./chunks/floatingViewerManager-D_aLLeau.js").then((e) => e.n);
if (await e.openAssets({
assets: t,
index: 0
@@ -24371,11 +24448,11 @@ async function YC(e) {
}
return !1;
}
-function XC(e, t) {
- let n = FC;
- return n ? (JC(e, t, n), !0) : (F(L("toast.nodeContextMissing", "Select an output node first."), "info", 2200), !1);
+function tw(e, t) {
+ let n = BC;
+ return n ? ($C(e, t, n), !0) : (x(L("toast.nodeContextMissing", "Select an output node first."), "info", 2200), !1);
}
-function ZC(e, { sidebarTabId: t, triggerStartupScan: n }) {
+function nw(e, { sidebarTabId: t, triggerStartupScan: n }) {
return [
{
id: "mjr.openAssetsManager",
@@ -24384,7 +24461,7 @@ function ZC(e, { sidebarTabId: t, triggerStartupScan: n }) {
title: L("tooltip.openAssetsManager", "Open Majoor Assets Manager"),
description: L("tooltip.openAssetsManager", "Open Majoor Assets Manager"),
icon: "pi pi-folder-open",
- function: () => zC(e, t)
+ function: () => WC(e, t)
},
{
id: "mjr.scanAssets",
@@ -24408,7 +24485,7 @@ function ZC(e, { sidebarTabId: t, triggerStartupScan: n }) {
id: "mjr.refreshAssetsGrid",
label: L("command.refreshAssetsGrid", "Refresh assets grid"),
icon: "pi pi-sync",
- function: () => BC()
+ function: () => GC()
},
{
id: "mjr.openFloatingViewer",
@@ -24432,13 +24509,13 @@ function ZC(e, { sidebarTabId: t, triggerStartupScan: n }) {
title: L("tooltip.openGeneratedFeed", "Open the Majoor generated feed panel"),
description: L("tooltip.openGeneratedFeed", "Open the Majoor generated feed panel"),
icon: "pi pi-list",
- function: () => VC(e)
+ function: () => KC(e)
},
{
id: "mjr.openSettings",
label: L("command.openSettings", "Open Majoor settings"),
icon: "pi pi-cog",
- function: () => Ut(e)
+ function: () => Kt(e)
},
{
id: "mjr.pickOutputDirectory",
@@ -24447,10 +24524,10 @@ function ZC(e, { sidebarTabId: t, triggerStartupScan: n }) {
title: L("tooltip.pickOutputDirectory", "Use the native folder browser to set Majoor's generation output directory"),
description: L("tooltip.pickOutputDirectory", "Use the native folder browser to set Majoor's generation output directory"),
icon: "pi pi-folder",
- function: () => UC(e, {
+ function: () => JC(e, {
settingId: "Majoor.Paths.OutputDirectory",
settingsPathKey: "outputDirectory",
- save: M,
+ save: tt,
successMessage: L("toast.outputDirectorySaved", "Output directory saved.")
})
},
@@ -24461,10 +24538,10 @@ function ZC(e, { sidebarTabId: t, triggerStartupScan: n }) {
title: L("tooltip.pickIndexDirectory", "Use the native folder browser to set Majoor's index database directory"),
description: L("tooltip.pickIndexDirectory", "Use the native folder browser to set Majoor's index database directory"),
icon: "pi pi-database",
- function: () => UC(e, {
+ function: () => JC(e, {
settingId: "Majoor.Paths.IndexDirectory",
settingsPathKey: "indexDirectory",
- save: ue,
+ save: it,
successMessage: L("toast.indexDirectorySaved", "Index directory saved."),
restartRequired: !0
})
@@ -24476,7 +24553,7 @@ function ZC(e, { sidebarTabId: t, triggerStartupScan: n }) {
title: L("tooltip.openNodeContext", "Show the latest indexed assets produced by this node"),
description: L("tooltip.openNodeContext", "Show the latest indexed assets produced by this node"),
icon: "pi pi-sitemap",
- function: () => XC(e, t)
+ function: () => tw(e, t)
},
{
id: "mjr.openNodeInFloatingViewer",
@@ -24486,12 +24563,12 @@ function ZC(e, { sidebarTabId: t, triggerStartupScan: n }) {
description: L("tooltip.openNodeInFloatingViewer", "Open this node's media in the Majoor floating viewer"),
icon: "pi pi-window-maximize",
function: () => {
- YC(FC);
+ ew(BC);
}
}
];
}
-function QC() {
+function rw() {
return [{
combo: {
alt: !0,
@@ -24508,7 +24585,7 @@ function QC() {
commandId: "mjr.toggleFloatingViewer"
}];
}
-function $C() {
+function iw() {
return [{
path: ["Extensions", "Majoor Assets Manager"],
commands: [
@@ -24523,13 +24600,13 @@ function $C() {
]
}];
}
-function ew(e, { sidebarTabId: t, triggerStartupScan: n }) {
+function aw(e, { sidebarTabId: t, triggerStartupScan: n }) {
return [null, {
content: "Majoor Assets Manager",
submenu: { options: [
{
content: L("tooltip.openAssetsManager", "Open Majoor Assets Manager"),
- callback: () => zC(e, t)
+ callback: () => WC(e, t)
},
{
content: L("command.openFloatingViewer", "Open floating viewer"),
@@ -24543,12 +24620,12 @@ function ew(e, { sidebarTabId: t, triggerStartupScan: n }) {
},
{
content: L("command.openGeneratedFeed", "Open generated feed"),
- callback: () => VC(e)
+ callback: () => KC(e)
},
null,
{
content: L("command.refreshAssetsGrid", "Refresh assets grid"),
- callback: () => BC()
+ callback: () => GC()
},
{
content: L("command.scanAssets", "Scan assets"),
@@ -24556,12 +24633,12 @@ function ew(e, { sidebarTabId: t, triggerStartupScan: n }) {
},
{
content: L("command.openSettings", "Open Majoor settings"),
- callback: () => Ut(e)
+ callback: () => Kt(e)
}
] }
}];
}
-function tw() {
+function ow() {
return [
{
label: "Majoor Assets Manager",
@@ -24578,20 +24655,20 @@ function tw() {
}
];
}
-function nw(e, t) {
- for (let n of ZC(e, t)) x(e, n);
+function sw(e, t) {
+ for (let n of nw(e, t)) f(e, n);
}
-function rw(e) {
- for (let t of QC()) T(e, t);
+function cw(e) {
+ for (let t of rw()) g(e, t);
}
-function iw(e, { sidebarTabId: t }) {
- hp({ sidebarTabId: t });
+function lw(e, { sidebarTabId: t }) {
+ vp({ sidebarTabId: t });
try {
- Mt()?.integration?.hideNativeAssetsTab && Dt(!0);
+ Ft()?.integration?.hideNativeAssetsTab && At(!0);
} catch (e) {
console.debug?.(e);
}
- return f(e, {
+ return N(e, {
id: t,
icon: "pi pi-folder",
title: L("manager.title"),
@@ -24599,8 +24676,8 @@ function iw(e, { sidebarTabId: t }) {
tooltip: L("tooltip.sidebarTab"),
type: "custom",
render(e) {
- _p(), Xr({ idleOnly: !0 }).catch(() => null), Bt(e, WS, MC), setTimeout(() => {
- let e = bp();
+ bp(), $r({ idleOnly: !0 }).catch(() => null), Ut(e, YS, LC), setTimeout(() => {
+ let e = Cp();
if (e) try {
window.dispatchEvent(new CustomEvent(B.RELOAD_GRID, { detail: {
reason: "pending-generated-assets",
@@ -24614,80 +24691,80 @@ function iw(e, { sidebarTabId: t }) {
destroy(e) {}
});
}
-function aw() {
+function uw() {
try {
- Ct();
+ Et();
} catch {}
try {
- Kt(null, MC);
+ Yt(null, LC);
} catch {}
- ow = !1;
+ dw = !1;
try {
- document.getElementById(sw)?.remove?.();
+ document.getElementById(fw)?.remove?.();
} catch {}
}
-var ow = !1, sw = "mjr-sidebar-prewarm-host";
-function cw() {
- if (ow || typeof document > "u" || !document?.body || Rt(MC)) return !1;
- ow = !0;
+var dw = !1, fw = "mjr-sidebar-prewarm-host";
+function pw() {
+ if (dw || typeof document > "u" || !document?.body || Vt(LC)) return !1;
+ dw = !0;
try {
- let e = document.getElementById(sw);
- return e || (e = document.createElement("div"), e.id = sw, e.style.cssText = "position:fixed;left:-99999px;top:0;width:360px;height:600px;overflow:hidden;visibility:hidden;pointer-events:none;contain:strict;", e.setAttribute("aria-hidden", "true"), document.body.appendChild(e)), Bt(e, WS, MC, { attachIfExists: !1 }), !0;
+ let e = document.getElementById(fw);
+ return e || (e = document.createElement("div"), e.id = fw, e.style.cssText = "position:fixed;left:-99999px;top:0;width:360px;height:600px;overflow:hidden;visibility:hidden;pointer-events:none;contain:strict;", e.setAttribute("aria-hidden", "true"), document.body.appendChild(e)), Ut(e, YS, LC, { attachIfExists: !1 }), !0;
} catch (e) {
- return console.debug?.(e), ow = !1, !1;
+ return console.debug?.(e), dw = !1, !1;
}
}
-function lw() {
+function mw() {
return {
- id: PC,
+ id: zC,
title: L("bottomFeed.title", "Generated Feed"),
icon: "pi pi-images",
type: "custom",
render(e) {
- Bt(e, GS, NC);
+ Ut(e, XS, RC);
},
destroy(e) {}
};
}
-function uw() {
- return [lw()];
+function hw() {
+ return [mw()];
}
-function dw() {
+function gw() {
try {
- Kt(null, NC);
+ Yt(null, RC);
} catch {}
}
-function fw(e) {
+function _w(e) {
let t = String(e?.comfyClass || e?.type || e?.constructor?.type || "").trim();
return t ? /save|load|preview/i.test(t) : !1;
}
-function pw(e) {
+function vw(e) {
return e ? Array.isArray(e) ? e.filter(Boolean) : e instanceof Set ? Array.from(e).filter(Boolean) : e instanceof Map ? Array.from(e.values()).filter(Boolean) : Array.isArray(e?.items) ? e.items.filter(Boolean) : Array.isArray(e?.nodes) ? e.nodes.filter(Boolean) : [e] : [];
}
-function mw(e) {
- return FC = WC(e), FC ? [
+function yw(e) {
+ return BC = YC(e), BC ? [
"mjr.openNodeContext",
"mjr.openAssetsManager",
"mjr.openNodeInFloatingViewer"
] : [];
}
-function hw(e, t) {
+function bw(e, t) {
return {
content: e,
callback: t
};
}
-function gw(e, t, { sidebarTabId: n }) {
- return fw(e) ? [
- hw("View in Assets Manager", () => {
- JC(t, n, e);
+function xw(e, t, { sidebarTabId: n }) {
+ return _w(e) ? [
+ bw("View in Assets Manager", () => {
+ $C(t, n, e);
}),
- hw("Open in Floating Viewer", () => {
- YC(e);
+ bw("Open in Floating Viewer", () => {
+ ew(e);
}),
- hw("Index Output", () => {
+ bw("Index Output", () => {
try {
- BC(), F(L("toast.rescanningFile", "Rescanning file..."), "info", 1800);
+ GC(), x(L("toast.rescanningFile", "Rescanning file..."), "info", 1800);
} catch (e) {
console.debug?.(e);
}
@@ -24695,15 +24772,15 @@ function gw(e, t, { sidebarTabId: n }) {
] : [];
}
// ui/features/runtime/entryRuntimeLifecycle.ts
-var _w = "__MJR_ENTRY_RUNTIME__";
-function vw(e, t) {
+var Sw = "__MJR_ENTRY_RUNTIME__";
+function Cw(e, t) {
if (e) try {
e._mjrAssetUpdateReloadTimer &&= (clearTimeout(e._mjrAssetUpdateReloadTimer), null), e._mjrExecutedHandler && e.removeEventListener("executed", e._mjrExecutedHandler), e._mjrAssetAddedHandler && e.removeEventListener("mjr-asset-added", e._mjrAssetAddedHandler), e._mjrAssetUpdatedHandler && e.removeEventListener("mjr-asset-updated", e._mjrAssetUpdatedHandler), e._mjrStructuredEventHandler && e.removeEventListener(B.STRUCTURED_EVENT, e._mjrStructuredEventHandler), e._mjrScanCompleteHandler && e.removeEventListener(B.SCAN_COMPLETE, e._mjrScanCompleteHandler), e._mjrAssetsRemovedHandler && e.removeEventListener(B.ASSETS_REMOVED, e._mjrAssetsRemovedHandler), e._mjrScanProgressHandler && e.removeEventListener(B.SCAN_PROGRESS, e._mjrScanProgressHandler), e._mjrAssetIndexingHandler && e.removeEventListener(B.ASSET_INDEXING, e._mjrAssetIndexingHandler), e._mjrAssetIndexedHandler && e.removeEventListener(B.ASSET_INDEXED, e._mjrAssetIndexedHandler), e._mjrExecutionStartHandler && e.removeEventListener("execution_start", e._mjrExecutionStartHandler), e._mjrExecutionEndHandler && (e.removeEventListener("execution_success", e._mjrExecutionEndHandler), e.removeEventListener("execution_error", e._mjrExecutionEndHandler), e.removeEventListener("execution_interrupted", e._mjrExecutionEndHandler)), e._mjrStacksUpdatedHandler && e.removeEventListener("mjr.stacks.updated", e._mjrStacksUpdatedHandler), e._mjrEnrichmentStatusHandler && e.removeEventListener(B.ENRICHMENT_STATUS, e._mjrEnrichmentStatusHandler), e._mjrDbRestoreStatusHandler && e.removeEventListener(B.DB_RESTORE_STATUS, e._mjrDbRestoreStatusHandler), e._mjrRuntimeStatusHandler && (e.removeEventListener("progress", e._mjrRuntimeStatusHandler), e.removeEventListener("status", e._mjrRuntimeStatusHandler), e.removeEventListener(B.RUNTIME_STATUS, e._mjrRuntimeStatusHandler), e.removeEventListener("execution_cached", e._mjrExecutionCachedHandler));
} catch (e) {
t?.(e, "entry.removeApiHandlers");
}
}
-function yw(e, t) {
+function ww(e, t) {
try {
let t = e?.assetsDeletedHandler;
t && typeof window < "u" && window.removeEventListener(B.ASSETS_DELETED, t);
@@ -24711,10 +24788,10 @@ function yw(e, t) {
t?.(e, "entry.removeRuntimeWindowHandlers");
}
}
-function bw(e, { reportError: t } = {}) {
+function Tw(e, { reportError: t } = {}) {
if (e && typeof e == "object") {
try {
- l();
+ Ue();
} catch (e) {
console.debug?.(e);
}
@@ -24741,13 +24818,13 @@ function bw(e, { reportError: t } = {}) {
console.warn("[MJR teardown]", e);
}
try {
- vw(e.api || null, t), yw(e, t);
+ Cw(e.api || null, t), ww(e, t);
} catch (e) {
console.warn("[MJR teardown]", e);
}
}
}
-function xw(e, t, n, r, i = void 0) {
+function Ew(e, t, n, r, i = void 0) {
if (!e || !t?.addEventListener || typeof r != "function") return null;
let a = i && typeof i == "object" ? { ...i } : i;
if (typeof AbortController < "u") try {
@@ -24767,11 +24844,11 @@ function xw(e, t, n, r, i = void 0) {
}
}), null;
}
-function Sw({ cleanupEntryRuntimeFn: e = bw, teardownLiveStreamTracker: t, teardownNodeStream: n, teardownFloatingViewerManager: r, teardownGeneratedFeed: i, teardownAssetsSidebar: a, teardownGlobalRuntime: o, teardownTopBarMfvButton: s, reportError: c }) {
+function Dw({ cleanupEntryRuntimeFn: e = Tw, teardownLiveStreamTracker: t, teardownNodeStream: n, teardownFloatingViewerManager: r, teardownGeneratedFeed: i, teardownAssetsSidebar: a, teardownGlobalRuntime: o, teardownTopBarMfvButton: s, reportError: c }) {
try {
if (typeof window < "u") {
try {
- let t = window[_w];
+ let t = window[Sw];
e(t, { reportError: c });
} catch (e) {
console.warn("[MJR teardown]", e);
@@ -24811,7 +24888,7 @@ function Sw({ cleanupEntryRuntimeFn: e = bw, teardownLiveStreamTracker: t, teard
} catch (e) {
console.warn("[MJR teardown]", e);
}
- window[_w] = {
+ window[Sw] = {
api: null,
assetsDeletedHandler: null,
_cleanupControllers: [],
@@ -24823,42 +24900,42 @@ function Sw({ cleanupEntryRuntimeFn: e = bw, teardownLiveStreamTracker: t, teard
}
}
// ui/entry.ts
-var Cw = null, ww = null, Tw = null;
-function Ew() {
- return Tw ||= import("./chunks/floatingViewerManager-B_I-SRbd.js").then((e) => e.n), Tw;
+var Ow = null, kw = null, Aw = null;
+function jw() {
+ return Aw ||= import("./chunks/floatingViewerManager-D_aLLeau.js").then((e) => e.n), Aw;
}
-function Dw() {
- Tw && Tw.then((e) => e?.teardownFloatingViewerManager?.()).catch((e) => console.debug?.("[Majoor] MFV teardown skipped", e));
+function Mw() {
+ Aw && Aw.then((e) => e?.teardownFloatingViewerManager?.()).catch((e) => console.debug?.("[Majoor] MFV teardown skipped", e));
}
-var Ow = "majoor-assets", kw = "__MJR_EXECUTION_RUNTIME__", Aw = "Majoor.AssetsManager", jw = {
+var Nw = "majoor-assets", Pw = "__MJR_EXECUTION_RUNTIME__", Fw = "Majoor.AssetsManager", Iw = {
active: null,
promptId: ""
-}, Mw = null, Nw = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i, Pw = /^[0-9a-f]{20,}$/i;
-function Fw(...e) {
+}, Lw = null, Rw = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i, zw = /^[0-9a-f]{20,}$/i;
+function Bw(...e) {
for (let t of e) {
let e = String(t || "").trim();
if (e) return e;
}
return "";
}
-function Iw(e) {
+function Vw(e) {
let t = String(e || "").trim();
- return Nw.test(t) || Pw.test(t);
+ return Rw.test(t) || zw.test(t);
}
-function Lw(e) {
- return Fw(e?.title, e?.properties?.title, e?.properties?.name, e?.properties?.label, e?.name);
+function Hw(e) {
+ return Bw(e?.title, e?.properties?.title, e?.properties?.name, e?.properties?.label, e?.name);
}
-function Rw(e) {
+function Uw(e) {
if (!e || typeof e != "object") return [];
if (Array.isArray(e.nodes)) return e.nodes.filter(Boolean);
if (Array.isArray(e._nodes)) return e._nodes.filter(Boolean);
let t = e._nodes_by_id ?? e.nodes_by_id ?? null;
return t instanceof Map ? Array.from(t.values()).filter(Boolean) : t && typeof t == "object" ? Object.values(t).filter(Boolean) : [];
}
-function zw(e) {
- return Rw(e).length > 0;
+function Ww(e) {
+ return Uw(e).length > 0;
}
-function Bw(e) {
+function Gw(e) {
return !e || typeof e != "object" ? !1 : [
e.subgraph,
e._subgraph,
@@ -24869,13 +24946,13 @@ function Bw(e) {
e.subgraph_instance?.graph,
e.inner_graph,
e.subgraph_graph
- ].some(zw) || Array.isArray(e.nodes) && e.nodes.length > 0 && e.nodes !== e.graph?.nodes ? !0 : Iw(e.type) && !!Lw(e);
+ ].some(Ww) || Array.isArray(e.nodes) && e.nodes.length > 0 && e.nodes !== e.graph?.nodes ? !0 : Vw(e.type) && !!Hw(e);
}
-function Vw(e, t) {
- let n = String(e?.type || t || "").trim(), r = Lw(e);
- return Iw(n) ? r || "Subgraph" : n || r || "Node";
+function Kw(e, t) {
+ let n = String(e?.type || t || "").trim(), r = Hw(e);
+ return Vw(n) ? r || "Subgraph" : n || r || "Node";
}
-function Hw() {
+function qw() {
try {
return typeof window > "u" ? {
active_prompt_id: null,
@@ -24884,87 +24961,87 @@ function Hw() {
progress_value: null,
progress_max: null,
cached_nodes: []
- } : (window[kw] && typeof window[kw] == "object" || (window[kw] = {
+ } : (window[Pw] && typeof window[Pw] == "object" || (window[Pw] = {
active_prompt_id: null,
queue_remaining: null,
progress_node: null,
progress_value: null,
progress_max: null,
cached_nodes: []
- }), window[kw]);
+ }), window[Pw]);
} catch (e) {
return console.debug?.(e), {};
}
}
-function Uw(e = {}) {
+function Jw(e = {}) {
try {
- let t = Hw();
+ let t = qw();
Object.assign(t, e || {}), window.dispatchEvent(new CustomEvent(B.RUNTIME_STATUS, { detail: { ...t } }));
} catch (e) {
console.debug?.(e);
}
}
-async function Ww({ active: e, promptId: t = "" } = {}) {
+async function Yw({ active: e, promptId: t = "" } = {}) {
let n = !!e, r = String(t || "").trim();
- if (jw.active !== n || jw.promptId !== r) {
- jw = {
+ if (Iw.active !== n || Iw.promptId !== r) {
+ Iw = {
active: n,
promptId: r
};
try {
- await me(p.RUNTIME_EXECUTION, {
+ await he(I.RUNTIME_EXECUTION, {
active: n,
prompt_id: r || void 0,
cooldown_ms: Number(R.EXECUTION_IDLE_GRACE_MS) || 6e3
});
} catch (e) {
- ct(e, "entry.execution_state_sync");
+ dt(e, "entry.execution_state_sync");
}
}
}
-function Gw() {
+function Xw() {
try {
- return !!String(Hw()?.active_prompt_id || "").trim();
+ return !!String(qw()?.active_prompt_id || "").trim();
} catch (e) {
return console.debug?.(e), !1;
}
}
-function Kw(e = 1200) {
+function Zw(e = 1200) {
try {
- Mw && clearTimeout(Mw);
+ Lw && clearTimeout(Lw);
} catch (e) {
console.debug?.(e);
}
- Mw = setTimeout(() => {
- if (Mw = null, Gw()) {
- Kw(e);
+ Lw = setTimeout(() => {
+ if (Lw = null, Xw()) {
+ Zw(e);
return;
}
- let t = ht();
- t && oi(t);
+ let t = vt();
+ t && li(t);
}, Math.max(250, Number(e) || 0));
}
-function qw(e) {
- import("./chunks/LiveStreamTracker-C_DbXPzd.js").then((t) => {
- Cw = t;
+function Qw(e) {
+ import("./chunks/LiveStreamTracker-BAuKfk0M.js").then((t) => {
+ Ow = t;
try {
t.initLiveStreamTracker(e);
} catch (e) {
console.warn("[MJR setup] initLiveStreamTracker failed:", e);
}
}).catch((e) => console.warn("[MJR setup] LiveStreamTracker load failed:", e)), import("./chunks/NodeStreamController-CIKDDXJT.js").then((t) => {
- ww = t;
+ kw = t;
try {
t.initNodeStream({
app: e,
onOutput: (e) => {
- Ew().then((t) => t?.floatingViewerManager?.feedNodeStream?.(e)).catch((e) => console.debug?.("[NodeStream] MFV output failed", e));
+ jw().then((t) => t?.floatingViewerManager?.feedNodeStream?.(e)).catch((e) => console.debug?.("[NodeStream] MFV output failed", e));
},
onStatus: (t, n) => {
try {
- let r = (e?.graph ?? e?.canvas?.graph ?? null)?.getNodeById?.(Number(t)), i = Bw(r), a = Lw(r), o = i ? "Subgraph" : Vw(r, n);
- Ew().then((e) => {
- e?.floatingViewerManager?.setNodeStreamSelection?.(t, o, i ? a || Vw(r, n) : a);
+ let r = (e?.graph ?? e?.canvas?.graph ?? null)?.getNodeById?.(Number(t)), i = Gw(r), a = Hw(r), o = i ? "Subgraph" : Kw(r, n);
+ jw().then((e) => {
+ e?.floatingViewerManager?.setNodeStreamSelection?.(t, o, i ? a || Kw(r, n) : a);
}).catch((e) => console.debug?.("[NodeStream] MFV status failed", e));
} catch (e) {
console.debug?.("[NodeStream] onStatus failed", e);
@@ -24976,16 +25053,16 @@ function qw(e) {
}
}).catch((e) => console.warn("[MJR setup] NodeStream load failed:", e));
}
-async function Jw(e, t) {
- let n = await c({
+async function $w(e, t) {
+ let n = await He({
app: e,
timeoutMs: 4e3
- }) || u(e);
- if (ne(n || null), !n) {
+ }) || F(e);
+ if (p(n || null), !n) {
console.warn("Majoor API not available, real-time updates disabled");
return;
}
- It({
+ zt({
api: n,
app: e
}).catch((e) => console.debug?.("[Majoor] MFV progress tracking init failed", e));
@@ -24995,78 +25072,78 @@ async function Jw(e, t) {
} catch (e) {
console.debug?.(e);
}
- vw(r?.api || null, ct), n !== r?.api && vw(n, ct), yw(r, ct), await Np({
+ Cw(r?.api || null, dt), n !== r?.api && Cw(n, dt), ww(r, dt), await Ip({
api: n,
runtime: r,
executionRuntime: t,
- appRef: wr,
- liveStreamModule: Cw,
- ensureExecutionRuntime: Hw,
- emitRuntimeStatus: Uw,
- getActiveGridContainer: ht,
- pushGeneratedAsset: Df,
- upsertAsset: mi,
- upsertAssetNow: hi,
- removeAssetsFromGrid: pi,
- getEnrichmentState: yn,
- setEnrichmentState: vn,
- comfyToast: F,
+ appRef: Dr,
+ liveStreamModule: Ow,
+ ensureExecutionRuntime: qw,
+ emitRuntimeStatus: Jw,
+ getActiveGridContainer: vt,
+ pushGeneratedAsset: Af,
+ upsertAsset: _i,
+ upsertAssetNow: vi,
+ removeAssetsFromGrid: gi,
+ getEnrichmentState: Sn,
+ setEnrichmentState: xn,
+ comfyToast: x,
t: L,
- reportError: ct,
- registerCleanableListener: xw,
- syncExecutionBackendState: Ww
+ reportError: dt,
+ registerCleanableListener: Ew,
+ syncExecutionBackendState: Yw
});
}
-var Yw = Yf({
- post: me,
- ENDPOINTS: p,
- reportError: ct,
- extractOutputFiles: Xf,
- ensureExecutionRuntime: Hw,
- emitRuntimeStatus: Uw,
- refreshGeneratedFeedHosts: df,
- getActiveGridContainer: ht
-}), Xw = {
- name: Aw,
- settings: xt(wr),
- commands: ZC(wr, {
- sidebarTabId: Ow,
- triggerStartupScan: Jr
+var eT = Qf({
+ post: he,
+ ENDPOINTS: I,
+ reportError: dt,
+ extractOutputFiles: $f,
+ ensureExecutionRuntime: qw,
+ emitRuntimeStatus: Jw,
+ refreshGeneratedFeedHosts: mf,
+ getActiveGridContainer: vt
+}), tT = {
+ name: Fw,
+ settings: wt(Dr),
+ commands: nw(Dr, {
+ sidebarTabId: Nw,
+ triggerStartupScan: Zr
}),
- keybindings: QC(),
- menuCommands: $C(),
- aboutPageBadges: tw(),
- bottomPanelTabs: uw(),
+ keybindings: rw(),
+ menuCommands: iw(),
+ aboutPageBadges: ow(),
+ bottomPanelTabs: hw(),
async setup() {
- Sw({
- cleanupEntryRuntimeFn: bw,
- teardownLiveStreamTracker: (e) => Cw?.teardownLiveStreamTracker(e),
- teardownNodeStream: (e) => ww?.teardownNodeStream(e),
- teardownFloatingViewerManager: Dw,
- teardownGeneratedFeed: dw,
- teardownAssetsSidebar: aw,
- teardownGlobalRuntime: RC,
- teardownTopBarMfvButton: kC,
- reportError: ct
- }), Lp(), re(wr);
- let e = await h({ timeoutMs: 12e3 }) || wr;
- re(e), fm(e);
+ Dw({
+ cleanupEntryRuntimeFn: Tw,
+ teardownLiveStreamTracker: (e) => Ow?.teardownLiveStreamTracker(e),
+ teardownNodeStream: (e) => kw?.teardownNodeStream(e),
+ teardownFloatingViewerManager: Mw,
+ teardownGeneratedFeed: gw,
+ teardownAssetsSidebar: uw,
+ teardownGlobalRuntime: UC,
+ teardownTopBarMfvButton: PC,
+ reportError: dt
+ }), Bp(), b(Dr);
+ let e = await v({ timeoutMs: 12e3 }) || Dr;
+ b(e), hm(e);
try {
typeof window < "u" && (window.__MJR_RUNTIME_APP__ = e);
} catch (e) {
console.debug?.(e);
}
- Qr(), ei({ enabled: !0 }), LC(), qw(e), Nt(e, () => {
- let e = ht();
- e && (R.DEFER_GRID_FETCH_DURING_EXECUTION && Gw() ? Kw() : oi(e));
- }), nw(e, {
- sidebarTabId: Ow,
- triggerStartupScan: Jr
- }), rw(e), Jw(e, Yw).catch((e) => ct(e, "entry.api_setup")), iw(e, { sidebarTabId: Ow }) ? ft("[Majoor] Sidebar tab registered (Vue)") : console.warn("Majoor Assets Manager: extensionManager.registerSidebarTab is unavailable");
+ ti(), ri({ enabled: !0 }), HC(), Qw(e), It(e, () => {
+ let e = vt();
+ e && (R.DEFER_GRID_FETCH_DURING_EXECUTION && Xw() ? Zw() : li(e));
+ }), sw(e, {
+ sidebarTabId: Nw,
+ triggerStartupScan: Zr
+ }), cw(e), $w(e, eT).catch((e) => dt(e, "entry.api_setup")), lw(e, { sidebarTabId: Nw }) ? ht("[Majoor] Sidebar tab registered (Vue)") : console.warn("Majoor Assets Manager: extensionManager.registerSidebarTab is unavailable");
try {
let e = typeof window < "u" ? window.requestIdleCallback : null, t = () => {
try {
- cw();
+ pw();
} catch (e) {
console.debug?.(e);
}
@@ -25075,30 +25152,30 @@ var Yw = Yf({
} catch (e) {
console.debug?.(e);
}
- Pp({ resolveNodeStreamModule: async () => (ww ||= await import("./chunks/NodeStreamController-CIKDDXJT.js"), ww) });
+ Lp({ resolveNodeStreamModule: async () => (kw ||= await import("./chunks/NodeStreamController-CIKDDXJT.js"), kw) });
},
onNodeOutputsUpdated(e) {
try {
- Yw.handleNodeOutputsUpdated(e);
+ eT.handleNodeOutputsUpdated(e);
} catch (e) {
console.debug?.("[Majoor] onNodeOutputsUpdated error", e);
}
},
getNodeMenuItems(e) {
- return gw(e, wr, { sidebarTabId: Ow });
+ return xw(e, Dr, { sidebarTabId: Nw });
},
getCanvasMenuItems(e) {
- return ew(wr, {
- sidebarTabId: Ow,
- triggerStartupScan: Jr
+ return aw(Dr, {
+ sidebarTabId: Nw,
+ triggerStartupScan: Zr
});
},
getSelectionToolboxCommands(e) {
- return mw(e);
+ return yw(e);
}
};
try {
- wr.registerExtension(Xw);
+ Dr.registerExtension(tT);
} catch (e) {
- console.warn("[Majoor] registerExtension() threw (extension already registered) - re-running setup() directly", e), Xw.setup().catch((e) => ct(e, "entry.setup_after_duplicate_registration"));
+ console.warn("[Majoor] registerExtension() threw (extension already registered) - re-running setup() directly", e), tT.setup().catch((e) => dt(e, "entry.setup_after_duplicate_registration"));
}