UNPKG

birth-of-date-v3

Version:

Birth Of Date V3

8,311 lines 245 kB
import { isVNode as mi, Comment as gi, Fragment as ue, reactive as Qt, computed as h, watchEffect as qe, toRefs as zl, capitalize as Hl, shallowRef as U, unref as Ce, getCurrentInstance as yi, inject as he, ref as $, provide as Le, warn as Jt, defineComponent as hi, camelize as Wl, h as Zt, isRef as st, createVNode as c, mergeProps as X, toRef as G, Text as bi, TransitionGroup as En, Transition as nt, watch as K, onBeforeMount as jl, nextTick as ke, onBeforeUnmount as $e, withDirectives as Fe, resolveDirective as vt, vShow as mt, onScopeDispose as Ve, effectScope as On, toRaw as re, onMounted as Ot, onUpdated as Si, readonly as Bn, resolveDynamicComponent as wi, Teleport as Ci, onDeactivated as pi, cloneVNode as xi, createTextVNode as Ul, useCssVars as ki, openBlock as We, createElementBlock as je, normalizeStyle as Ft, createElementVNode as Se, normalizeClass as Be, createCommentVNode as Je, toDisplayString as rn } from "vue";
const Vi = (e, n) => {
  const t = e.__vccOpts || e;
  for (const [l, a] of n)
    t[l] = a;
  return t;
}, me = typeof window < "u", _n = me && "IntersectionObserver" in window;
function Gl(e, n, t) {
  const l = n.length - 1;
  if (l < 0) return e === void 0 ? t : e;
  for (let a = 0; a < l; a++) {
    if (e == null)
      return t;
    e = e[n[a]];
  }
  return e == null || e[n[l]] === void 0 ? t : e[n[l]];
}
function gt(e, n) {
  if (e === n) return !0;
  if (e instanceof Date && n instanceof Date && e.getTime() !== n.getTime() || e !== Object(e) || n !== Object(n))
    return !1;
  const t = Object.keys(e);
  return t.length !== Object.keys(n).length ? !1 : t.every((l) => gt(e[l], n[l]));
}
function Ii(e, n, t) {
  return e == null || !n || typeof n != "string" ? t : e[n] !== void 0 ? e[n] : (n = n.replace(/\[(\w+)\]/g, ".$1"), n = n.replace(/^\./, ""), Gl(e, n.split("."), t));
}
function De(e, n, t) {
  if (n === !0) return e === void 0 ? t : e;
  if (n == null || typeof n == "boolean") return t;
  if (e !== Object(e)) {
    if (typeof n != "function") return t;
    const a = n(e, t);
    return typeof a > "u" ? t : a;
  }
  if (typeof n == "string") return Ii(e, n, t);
  if (Array.isArray(n)) return Gl(e, n, t);
  if (typeof n != "function") return t;
  const l = n(e, t);
  return typeof l > "u" ? t : l;
}
function q(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "px";
  if (!(e == null || e === ""))
    return isNaN(+e) ? String(e) : isFinite(+e) ? `${Number(e)}${n}` : void 0;
}
function Pi(e) {
  return e !== null && typeof e == "object" && !Array.isArray(e);
}
function tl(e) {
  let n;
  return e !== null && typeof e == "object" && ((n = Object.getPrototypeOf(e)) === Object.prototype || n === null);
}
function Kl(e) {
  if (e && "$el" in e) {
    const n = e.$el;
    return (n == null ? void 0 : n.nodeType) === Node.TEXT_NODE ? n.nextElementSibling : n;
  }
  return e;
}
const nl = Object.freeze({
  enter: 13,
  tab: 9,
  delete: 46,
  esc: 27,
  space: 32,
  up: 38,
  down: 40,
  left: 37,
  right: 39,
  end: 35,
  home: 36,
  del: 46,
  backspace: 8,
  insert: 45,
  pageup: 33,
  pagedown: 34,
  shift: 16
});
function un(e, n) {
  return n.every((t) => e.hasOwnProperty(t));
}
function ql(e, n) {
  const t = {}, l = new Set(Object.keys(e));
  for (const a of n)
    l.has(a) && (t[a] = e[a]);
  return t;
}
function ll(e, n, t) {
  const l = /* @__PURE__ */ Object.create(null), a = /* @__PURE__ */ Object.create(null);
  for (const i in e)
    n.some((o) => o instanceof RegExp ? o.test(i) : o === i) && !(t != null && t.some((o) => o === i)) ? l[i] = e[i] : a[i] = e[i];
  return [l, a];
}
function at(e, n) {
  const t = {
    ...e
  };
  return n.forEach((l) => delete t[l]), t;
}
function Ai(e, n) {
  const t = {};
  return n.forEach((l) => t[l] = e[l]), t;
}
const Yl = /^on[^a-z]/, Tn = (e) => Yl.test(e), Ei = ["onAfterscriptexecute", "onAnimationcancel", "onAnimationend", "onAnimationiteration", "onAnimationstart", "onAuxclick", "onBeforeinput", "onBeforescriptexecute", "onChange", "onClick", "onCompositionend", "onCompositionstart", "onCompositionupdate", "onContextmenu", "onCopy", "onCut", "onDblclick", "onFocusin", "onFocusout", "onFullscreenchange", "onFullscreenerror", "onGesturechange", "onGestureend", "onGesturestart", "onGotpointercapture", "onInput", "onKeydown", "onKeypress", "onKeyup", "onLostpointercapture", "onMousedown", "onMousemove", "onMouseout", "onMouseover", "onMouseup", "onMousewheel", "onPaste", "onPointercancel", "onPointerdown", "onPointerenter", "onPointerleave", "onPointermove", "onPointerout", "onPointerover", "onPointerup", "onReset", "onSelect", "onSubmit", "onTouchcancel", "onTouchend", "onTouchmove", "onTouchstart", "onTransitioncancel", "onTransitionend", "onTransitionrun", "onTransitionstart", "onWheel"];
function Xl(e) {
  const [n, t] = ll(e, [Yl]), l = at(n, Ei), [a, i] = ll(t, ["class", "style", "id", /^data-/]);
  return Object.assign(a, n), Object.assign(i, l), [a, i];
}
function pe(e) {
  return e == null ? [] : Array.isArray(e) ? e : [e];
}
function Oi(e, n) {
  let t = 0;
  const l = function() {
    for (var a = arguments.length, i = new Array(a), o = 0; o < a; o++)
      i[o] = arguments[o];
    clearTimeout(t), t = setTimeout(() => e(...i), Ce(n));
  };
  return l.clear = () => {
    clearTimeout(t);
  }, l.immediate = e, l;
}
function Ge(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1;
  return Math.max(n, Math.min(t, e));
}
function al(e, n) {
  let t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "0";
  return e + t.repeat(Math.max(0, n - e.length));
}
function Bi(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
  const t = [];
  let l = 0;
  for (; l < e.length; )
    t.push(e.substr(l, n)), l += n;
  return t;
}
function Ne() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, t = arguments.length > 2 ? arguments[2] : void 0;
  const l = {};
  for (const a in e)
    l[a] = e[a];
  for (const a in n) {
    const i = e[a], o = n[a];
    if (tl(i) && tl(o)) {
      l[a] = Ne(i, o, t);
      continue;
    }
    if (t && Array.isArray(i) && Array.isArray(o)) {
      l[a] = t(i, o);
      continue;
    }
    l[a] = o;
  }
  return l;
}
function Ql(e) {
  return e.map((n) => n.type === ue ? Ql(n.children) : n).flat();
}
function Ze() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
  if (Ze.cache.has(e)) return Ze.cache.get(e);
  const n = e.replace(/[^a-z]/gi, "-").replace(/\B([A-Z])/g, "-$1").toLowerCase();
  return Ze.cache.set(e, n), n;
}
Ze.cache = /* @__PURE__ */ new Map();
function pt(e, n) {
  if (!n || typeof n != "object") return [];
  if (Array.isArray(n))
    return n.map((t) => pt(e, t)).flat(1);
  if (n.suspense)
    return pt(e, n.ssContent);
  if (Array.isArray(n.children))
    return n.children.map((t) => pt(e, t)).flat(1);
  if (n.component) {
    if (Object.getOwnPropertySymbols(n.component.provides).includes(e))
      return [n.component];
    if (n.component.subTree)
      return pt(e, n.component.subTree).flat(1);
  }
  return [];
}
function Ln(e) {
  const n = Qt({}), t = h(e);
  return qe(() => {
    for (const l in t.value)
      n[l] = t.value[l];
  }, {
    flush: "sync"
  }), zl(n);
}
function Ht(e, n) {
  return e.includes(n);
}
function Jl(e) {
  return e[2].toLowerCase() + e.slice(3);
}
const xe = () => [Function, Array];
function il(e, n) {
  return n = "on" + Hl(n), !!(e[n] || e[`${n}Once`] || e[`${n}Capture`] || e[`${n}OnceCapture`] || e[`${n}CaptureOnce`]);
}
function _i(e) {
  for (var n = arguments.length, t = new Array(n > 1 ? n - 1 : 0), l = 1; l < n; l++)
    t[l - 1] = arguments[l];
  if (Array.isArray(e))
    for (const a of e)
      a(...t);
  else typeof e == "function" && e(...t);
}
function Wt(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
  const t = ["button", "[href]", 'input:not([type="hidden"])', "select", "textarea", "[tabindex]"].map((l) => `${l}${n ? ':not([tabindex="-1"])' : ""}:not([disabled])`).join(", ");
  return [...e.querySelectorAll(t)];
}
function Zl(e, n, t) {
  let l, a = e.indexOf(document.activeElement);
  const i = n === "next" ? 1 : -1;
  do
    a += i, l = e[a];
  while ((!l || l.offsetParent == null || !((t == null ? void 0 : t(l)) ?? !0)) && a < e.length && a >= 0);
  return l;
}
function kt(e, n) {
  var l, a, i, o;
  const t = Wt(e);
  if (!n)
    (e === document.activeElement || !e.contains(document.activeElement)) && ((l = t[0]) == null || l.focus());
  else if (n === "first")
    (a = t[0]) == null || a.focus();
  else if (n === "last")
    (i = t.at(-1)) == null || i.focus();
  else if (typeof n == "number")
    (o = t[n]) == null || o.focus();
  else {
    const r = Zl(t, n);
    r ? r.focus() : kt(e, n === "next" ? "first" : "last");
  }
}
function Ti() {
}
function ct(e, n) {
  if (!(me && typeof CSS < "u" && typeof CSS.supports < "u" && CSS.supports(`selector(${n})`))) return null;
  try {
    return !!e && e.matches(n);
  } catch {
    return null;
  }
}
function Fn(e) {
  return e.some((n) => mi(n) ? n.type === gi ? !1 : n.type !== ue || Fn(n.children) : !0) ? e : null;
}
function Li(e, n) {
  if (!me || e === 0)
    return n(), () => {
    };
  const t = window.setTimeout(n, e);
  return () => window.clearTimeout(t);
}
function Fi(e, n) {
  const t = e.clientX, l = e.clientY, a = n.getBoundingClientRect(), i = a.left, o = a.top, r = a.right, u = a.bottom;
  return t >= i && t <= r && l >= o && l <= u;
}
function bn() {
  const e = U(), n = (t) => {
    e.value = t;
  };
  return Object.defineProperty(n, "value", {
    enumerable: !0,
    get: () => e.value,
    set: (t) => e.value = t
  }), Object.defineProperty(n, "el", {
    enumerable: !0,
    get: () => Kl(e.value)
  }), n;
}
function Sn(e) {
  const n = e.key.length === 1, t = !e.ctrlKey && !e.metaKey && !e.altKey;
  return n && t;
}
function ge(e, n) {
  const t = yi();
  if (!t)
    throw new Error(`[Vuetify] ${e} must be called from inside a setup function`);
  return t;
}
function ze() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "composables";
  const n = ge(e).type;
  return Ze((n == null ? void 0 : n.aliasName) || (n == null ? void 0 : n.name));
}
let ea = 0, $t = /* @__PURE__ */ new WeakMap();
function He() {
  const e = ge("getUid");
  if ($t.has(e)) return $t.get(e);
  {
    const n = ea++;
    return $t.set(e, n), n;
  }
}
He.reset = () => {
  ea = 0, $t = /* @__PURE__ */ new WeakMap();
};
function Mi(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ge("injectSelf");
  const {
    provides: t
  } = n;
  if (t && e in t)
    return t[e];
}
const jt = Symbol.for("vuetify:defaults");
function Mn() {
  const e = he(jt);
  if (!e) throw new Error("[Vuetify] Could not find defaults instance");
  return e;
}
function en(e, n) {
  const t = Mn(), l = $(e), a = h(() => {
    if (Ce(n == null ? void 0 : n.disabled)) return t.value;
    const o = Ce(n == null ? void 0 : n.scoped), r = Ce(n == null ? void 0 : n.reset), u = Ce(n == null ? void 0 : n.root);
    if (l.value == null && !(o || r || u)) return t.value;
    let s = Ne(l.value, {
      prev: t.value
    });
    if (o) return s;
    if (r || u) {
      const d = Number(r || 1 / 0);
      for (let v = 0; v <= d && !(!s || !("prev" in s)); v++)
        s = s.prev;
      return s && typeof u == "string" && u in s && (s = Ne(Ne(s, {
        prev: s
      }), s[u])), s;
    }
    return s.prev ? Ne(s.prev, s) : s;
  });
  return Le(jt, a), a;
}
function Ri(e, n) {
  var t, l;
  return typeof ((t = e.props) == null ? void 0 : t[n]) < "u" || typeof ((l = e.props) == null ? void 0 : l[Ze(n)]) < "u";
}
function Di() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 ? arguments[1] : void 0, t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Mn();
  const l = ge("useDefaults");
  if (n = n ?? l.type.name ?? l.type.__name, !n)
    throw new Error("[Vuetify] Could not determine component name");
  const a = h(() => {
    var u;
    return (u = t.value) == null ? void 0 : u[e._as ?? n];
  }), i = new Proxy(e, {
    get(u, s) {
      var v, f, m, g, y, b, S;
      const d = Reflect.get(u, s);
      return s === "class" || s === "style" ? [(v = a.value) == null ? void 0 : v[s], d].filter((_) => _ != null) : typeof s == "string" && !Ri(l.vnode, s) ? ((f = a.value) == null ? void 0 : f[s]) !== void 0 ? (m = a.value) == null ? void 0 : m[s] : ((y = (g = t.value) == null ? void 0 : g.global) == null ? void 0 : y[s]) !== void 0 ? (S = (b = t.value) == null ? void 0 : b.global) == null ? void 0 : S[s] : d : d;
    }
  }), o = U();
  qe(() => {
    if (a.value) {
      const u = Object.entries(a.value).filter((s) => {
        let [d] = s;
        return d.startsWith(d[0].toUpperCase());
      });
      o.value = u.length ? Object.fromEntries(u) : void 0;
    } else
      o.value = void 0;
  });
  function r() {
    const u = Mi(jt, l);
    Le(jt, h(() => o.value ? Ne((u == null ? void 0 : u.value) ?? {}, o.value) : u == null ? void 0 : u.value));
  }
  return {
    props: i,
    provideSubDefaults: r
  };
}
const ta = ["top", "bottom"], $i = ["start", "end", "left", "right"];
function wn(e, n) {
  let [t, l] = e.split(" ");
  return l || (l = Ht(ta, t) ? "start" : Ht($i, t) ? "top" : "center"), {
    side: ol(t, n),
    align: ol(l, n)
  };
}
function ol(e, n) {
  return e === "start" ? n ? "right" : "left" : e === "end" ? n ? "left" : "right" : e;
}
function sn(e) {
  return {
    side: {
      center: "center",
      top: "bottom",
      bottom: "top",
      left: "right",
      right: "left"
    }[e.side],
    align: e.align
  };
}
function cn(e) {
  return {
    side: e.side,
    align: {
      center: "center",
      top: "bottom",
      bottom: "top",
      left: "right",
      right: "left"
    }[e.align]
  };
}
function rl(e) {
  return {
    side: e.align,
    align: e.side
  };
}
function ul(e) {
  return Ht(ta, e.side) ? "y" : "x";
}
class et {
  constructor(n) {
    let {
      x: t,
      y: l,
      width: a,
      height: i
    } = n;
    this.x = t, this.y = l, this.width = a, this.height = i;
  }
  get top() {
    return this.y;
  }
  get bottom() {
    return this.y + this.height;
  }
  get left() {
    return this.x;
  }
  get right() {
    return this.x + this.width;
  }
}
function sl(e, n) {
  return {
    x: {
      before: Math.max(0, n.left - e.left),
      after: Math.max(0, e.right - n.right)
    },
    y: {
      before: Math.max(0, n.top - e.top),
      after: Math.max(0, e.bottom - n.bottom)
    }
  };
}
function na(e) {
  return Array.isArray(e) ? new et({
    x: e[0],
    y: e[1],
    width: 0,
    height: 0
  }) : e.getBoundingClientRect();
}
function Rn(e) {
  const n = e.getBoundingClientRect(), t = getComputedStyle(e), l = t.transform;
  if (l) {
    let a, i, o, r, u;
    if (l.startsWith("matrix3d("))
      a = l.slice(9, -1).split(/, /), i = +a[0], o = +a[5], r = +a[12], u = +a[13];
    else if (l.startsWith("matrix("))
      a = l.slice(7, -1).split(/, /), i = +a[0], o = +a[3], r = +a[4], u = +a[5];
    else
      return new et(n);
    const s = t.transformOrigin, d = n.x - r - (1 - i) * parseFloat(s), v = n.y - u - (1 - o) * parseFloat(s.slice(s.indexOf(" ") + 1)), f = i ? n.width / i : e.offsetWidth + 1, m = o ? n.height / o : e.offsetHeight + 1;
    return new et({
      x: d,
      y: v,
      width: f,
      height: m
    });
  } else
    return new et(n);
}
function ut(e, n, t) {
  if (typeof e.animate > "u") return {
    finished: Promise.resolve()
  };
  let l;
  try {
    l = e.animate(n, t);
  } catch {
    return {
      finished: Promise.resolve()
    };
  }
  return typeof l.finished > "u" && (l.finished = new Promise((a) => {
    l.onfinish = () => {
      a(l);
    };
  })), l;
}
const Nt = /* @__PURE__ */ new WeakMap();
function Ni(e, n) {
  Object.keys(n).forEach((t) => {
    if (Tn(t)) {
      const l = Jl(t), a = Nt.get(e);
      if (n[t] == null)
        a == null || a.forEach((i) => {
          const [o, r] = i;
          o === l && (e.removeEventListener(l, r), a.delete(i));
        });
      else if (!a || ![...a].some((i) => i[0] === l && i[1] === n[t])) {
        e.addEventListener(l, n[t]);
        const i = a || /* @__PURE__ */ new Set();
        i.add([l, n[t]]), Nt.has(e) || Nt.set(e, i);
      }
    } else
      n[t] == null ? e.removeAttribute(t) : e.setAttribute(t, n[t]);
  });
}
function zi(e, n) {
  Object.keys(n).forEach((t) => {
    if (Tn(t)) {
      const l = Jl(t), a = Nt.get(e);
      a == null || a.forEach((i) => {
        const [o, r] = i;
        o === l && (e.removeEventListener(l, r), a.delete(i));
      });
    } else
      e.removeAttribute(t);
  });
}
const rt = 2.4, cl = 0.2126729, dl = 0.7151522, fl = 0.072175, Hi = 0.55, Wi = 0.58, ji = 0.57, Ui = 0.62, Mt = 0.03, vl = 1.45, Gi = 5e-4, Ki = 1.25, qi = 1.25, ml = 0.078, gl = 12.82051282051282, Rt = 0.06, yl = 1e-3;
function hl(e, n) {
  const t = (e.r / 255) ** rt, l = (e.g / 255) ** rt, a = (e.b / 255) ** rt, i = (n.r / 255) ** rt, o = (n.g / 255) ** rt, r = (n.b / 255) ** rt;
  let u = t * cl + l * dl + a * fl, s = i * cl + o * dl + r * fl;
  if (u <= Mt && (u += (Mt - u) ** vl), s <= Mt && (s += (Mt - s) ** vl), Math.abs(s - u) < Gi) return 0;
  let d;
  if (s > u) {
    const v = (s ** Hi - u ** Wi) * Ki;
    d = v < yl ? 0 : v < ml ? v - v * gl * Rt : v - Rt;
  } else {
    const v = (s ** Ui - u ** ji) * qi;
    d = v > -yl ? 0 : v > -ml ? v - v * gl * Rt : v + Rt;
  }
  return d * 100;
}
function tt(e) {
  Jt(`Vuetify: ${e}`);
}
function Yi(e) {
  Jt(`Vuetify error: ${e}`);
}
function Xi(e, n) {
  n = Array.isArray(n) ? n.slice(0, -1).map((t) => `'${t}'`).join(", ") + ` or '${n.at(-1)}'` : `'${n}'`, Jt(`[Vuetify UPGRADE] '${e}' is deprecated, use ${n} instead.`);
}
function Cn(e) {
  return !!e && /^(#|var\(--|(rgb|hsl)a?\()/.test(e);
}
function Qi(e) {
  return Cn(e) && !/^((rgb|hsl)a?\()?var\(--/.test(e);
}
const bl = /^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/, Ji = {
  rgb: (e, n, t, l) => ({
    r: e,
    g: n,
    b: t,
    a: l
  }),
  rgba: (e, n, t, l) => ({
    r: e,
    g: n,
    b: t,
    a: l
  }),
  hsl: (e, n, t, l) => Sl({
    h: e,
    s: n,
    l: t,
    a: l
  }),
  hsla: (e, n, t, l) => Sl({
    h: e,
    s: n,
    l: t,
    a: l
  }),
  hsv: (e, n, t, l) => Vt({
    h: e,
    s: n,
    v: t,
    a: l
  }),
  hsva: (e, n, t, l) => Vt({
    h: e,
    s: n,
    v: t,
    a: l
  })
};
function xt(e) {
  if (typeof e == "number")
    return (isNaN(e) || e < 0 || e > 16777215) && tt(`'${e}' is not a valid hex color`), {
      r: (e & 16711680) >> 16,
      g: (e & 65280) >> 8,
      b: e & 255
    };
  if (typeof e == "string" && bl.test(e)) {
    const {
      groups: n
    } = e.match(bl), {
      fn: t,
      values: l
    } = n, a = l.split(/,\s*/).map((i) => i.endsWith("%") && ["hsl", "hsla", "hsv", "hsva"].includes(t) ? parseFloat(i) / 100 : parseFloat(i));
    return Ji[t](...a);
  } else if (typeof e == "string") {
    let n = e.startsWith("#") ? e.slice(1) : e;
    [3, 4].includes(n.length) ? n = n.split("").map((l) => l + l).join("") : [6, 8].includes(n.length) || tt(`'${e}' is not a valid hex(a) color`);
    const t = parseInt(n, 16);
    return (isNaN(t) || t < 0 || t > 4294967295) && tt(`'${e}' is not a valid hex(a) color`), Zi(n);
  } else if (typeof e == "object") {
    if (un(e, ["r", "g", "b"]))
      return e;
    if (un(e, ["h", "s", "l"]))
      return Vt(la(e));
    if (un(e, ["h", "s", "v"]))
      return Vt(e);
  }
  throw new TypeError(`Invalid color: ${e == null ? e : String(e) || e.constructor.name}
Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`);
}
function Vt(e) {
  const {
    h: n,
    s: t,
    v: l,
    a
  } = e, i = (r) => {
    const u = (r + n / 60) % 6;
    return l - l * t * Math.max(Math.min(u, 4 - u, 1), 0);
  }, o = [i(5), i(3), i(1)].map((r) => Math.round(r * 255));
  return {
    r: o[0],
    g: o[1],
    b: o[2],
    a
  };
}
function Sl(e) {
  return Vt(la(e));
}
function la(e) {
  const {
    h: n,
    s: t,
    l,
    a
  } = e, i = l + t * Math.min(l, 1 - l), o = i === 0 ? 0 : 2 - 2 * l / i;
  return {
    h: n,
    s: o,
    v: i,
    a
  };
}
function Zi(e) {
  e = eo(e);
  let [n, t, l, a] = Bi(e, 2).map((i) => parseInt(i, 16));
  return a = a === void 0 ? a : a / 255, {
    r: n,
    g: t,
    b: l,
    a
  };
}
function eo(e) {
  return e.startsWith("#") && (e = e.slice(1)), e = e.replace(/([^0-9a-f])/gi, "F"), (e.length === 3 || e.length === 4) && (e = e.split("").map((n) => n + n).join("")), e.length !== 6 && (e = al(al(e, 6), 8, "F")), e;
}
function to(e) {
  const n = Math.abs(hl(xt(0), xt(e)));
  return Math.abs(hl(xt(16777215), xt(e))) > Math.min(n, 50) ? "#fff" : "#000";
}
function F(e, n) {
  return (t) => Object.keys(e).reduce((l, a) => {
    const o = typeof e[a] == "object" && e[a] != null && !Array.isArray(e[a]) ? e[a] : {
      type: e[a]
    };
    return t && a in t ? l[a] = {
      ...o,
      default: t[a]
    } : l[a] = o, n && !l[a].source && (l[a].source = n), l;
  }, {});
}
const ae = F({
  class: [String, Array, Object],
  style: {
    type: [String, Array, Object],
    default: null
  }
}, "component");
function Bt(e) {
  if (e._setup = e._setup ?? e.setup, !e.name)
    return tt("The component is missing an explicit name, unable to generate default prop value"), e;
  if (e._setup) {
    e.props = F(e.props ?? {}, e.name)();
    const n = Object.keys(e.props).filter((t) => t !== "class" && t !== "style");
    e.filterProps = function(l) {
      return ql(l, n);
    }, e.props._as = String, e.setup = function(l, a) {
      const i = Mn();
      if (!i.value) return e._setup(l, a);
      const {
        props: o,
        provideSubDefaults: r
      } = Di(l, l._as ?? e.name, i), u = e._setup(o, a);
      return r(), u;
    };
  }
  return e;
}
function Q() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0;
  return (n) => (e ? Bt : hi)(n);
}
function no(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "div", t = arguments.length > 2 ? arguments[2] : void 0;
  return Q()({
    name: t ?? Hl(Wl(e.replace(/__/g, "-"))),
    props: {
      tag: {
        type: String,
        default: n
      },
      ...ae()
    },
    setup(l, a) {
      let {
        slots: i
      } = a;
      return () => {
        var o;
        return Zt(l.tag, {
          class: [e, l.class],
          style: l.style
        }, (o = i.default) == null ? void 0 : o.call(i));
      };
    }
  });
}
function aa(e) {
  if (typeof e.getRootNode != "function") {
    for (; e.parentNode; ) e = e.parentNode;
    return e !== document ? null : document;
  }
  const n = e.getRootNode();
  return n !== document && n.getRootNode({
    composed: !0
  }) !== document ? null : n;
}
const Ut = "cubic-bezier(0.4, 0, 0.2, 1)", lo = "cubic-bezier(0.0, 0, 0.2, 1)", ao = "cubic-bezier(0.4, 0, 1, 1)";
function ia(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
  for (; e; ) {
    if (n ? io(e) : Dn(e)) return e;
    e = e.parentElement;
  }
  return document.scrollingElement;
}
function Gt(e, n) {
  const t = [];
  if (n && e && !n.contains(e)) return t;
  for (; e && (Dn(e) && t.push(e), e !== n); )
    e = e.parentElement;
  return t;
}
function Dn(e) {
  if (!e || e.nodeType !== Node.ELEMENT_NODE) return !1;
  const n = window.getComputedStyle(e);
  return n.overflowY === "scroll" || n.overflowY === "auto" && e.scrollHeight > e.clientHeight;
}
function io(e) {
  if (!e || e.nodeType !== Node.ELEMENT_NODE) return !1;
  const n = window.getComputedStyle(e);
  return ["scroll", "auto"].includes(n.overflowY);
}
function oo(e) {
  for (; e; ) {
    if (window.getComputedStyle(e).position === "fixed")
      return !0;
    e = e.offsetParent;
  }
  return !1;
}
function ne(e) {
  const n = ge("useRender");
  n.render = e;
}
const ro = F({
  defaults: Object,
  disabled: Boolean,
  reset: [Number, String],
  root: [Boolean, String],
  scoped: Boolean
}, "VDefaultsProvider"), Te = Q(!1)({
  name: "VDefaultsProvider",
  props: ro(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    const {
      defaults: l,
      disabled: a,
      reset: i,
      root: o,
      scoped: r
    } = zl(e);
    return en(l, {
      reset: i,
      root: o,
      scoped: r,
      disabled: a
    }), () => {
      var u;
      return (u = t.default) == null ? void 0 : u.call(t);
    };
  }
});
function $n(e) {
  return Ln(() => {
    const n = [], t = {};
    if (e.value.background)
      if (Cn(e.value.background)) {
        if (t.backgroundColor = e.value.background, !e.value.text && Qi(e.value.background)) {
          const l = xt(e.value.background);
          if (l.a == null || l.a === 1) {
            const a = to(l);
            t.color = a, t.caretColor = a;
          }
        }
      } else
        n.push(`bg-${e.value.background}`);
    return e.value.text && (Cn(e.value.text) ? (t.color = e.value.text, t.caretColor = e.value.text) : n.push(`text-${e.value.text}`)), {
      colorClasses: n,
      colorStyles: t
    };
  });
}
function Ye(e, n) {
  const t = h(() => ({
    text: st(e) ? e.value : n ? e[n] : null
  })), {
    colorClasses: l,
    colorStyles: a
  } = $n(t);
  return {
    textColorClasses: l,
    textColorStyles: a
  };
}
function Ke(e, n) {
  const t = h(() => ({
    background: st(e) ? e.value : n ? e[n] : null
  })), {
    colorClasses: l,
    colorStyles: a
  } = $n(t);
  return {
    backgroundColorClasses: l,
    backgroundColorStyles: a
  };
}
const se = [String, Function, Object, Array], uo = Symbol.for("vuetify:icons"), tn = F({
  icon: {
    type: se
  },
  // Could not remove this and use makeTagProps, types complained because it is not required
  tag: {
    type: String,
    required: !0
  }
}, "icon"), wl = Q()({
  name: "VComponentIcon",
  props: tn(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    return () => {
      const l = e.icon;
      return c(e.tag, null, {
        default: () => {
          var a;
          return [e.icon ? c(l, null, null) : (a = t.default) == null ? void 0 : a.call(t)];
        }
      });
    };
  }
}), so = Bt({
  name: "VSvgIcon",
  inheritAttrs: !1,
  props: tn(),
  setup(e, n) {
    let {
      attrs: t
    } = n;
    return () => c(e.tag, X(t, {
      style: null
    }), {
      default: () => [c("svg", {
        class: "v-icon__svg",
        xmlns: "http://www.w3.org/2000/svg",
        viewBox: "0 0 24 24",
        role: "img",
        "aria-hidden": "true"
      }, [Array.isArray(e.icon) ? e.icon.map((l) => Array.isArray(l) ? c("path", {
        d: l[0],
        "fill-opacity": l[1]
      }, null) : c("path", {
        d: l
      }, null)) : c("path", {
        d: e.icon
      }, null)])]
    });
  }
});
Bt({
  name: "VLigatureIcon",
  props: tn(),
  setup(e) {
    return () => c(e.tag, null, {
      default: () => [e.icon]
    });
  }
});
Bt({
  name: "VClassIcon",
  props: tn(),
  setup(e) {
    return () => c(e.tag, {
      class: e.icon
    }, null);
  }
});
const co = (e) => {
  const n = he(uo);
  if (!n) throw new Error("Missing Vuetify Icons provide!");
  return {
    iconData: h(() => {
      var u;
      const l = Ce(e);
      if (!l) return {
        component: wl
      };
      let a = l;
      if (typeof a == "string" && (a = a.trim(), a.startsWith("$") && (a = (u = n.aliases) == null ? void 0 : u[a.slice(1)])), a || tt(`Could not find aliased icon "${l}"`), Array.isArray(a))
        return {
          component: so,
          icon: a
        };
      if (typeof a != "string")
        return {
          component: wl,
          icon: a
        };
      const i = Object.keys(n.sets).find((s) => typeof a == "string" && a.startsWith(`${s}:`)), o = i ? a.slice(i.length + 1) : a;
      return {
        component: n.sets[i ?? n.defaultSet].component,
        icon: o
      };
    })
  };
}, fo = ["x-small", "small", "default", "large", "x-large"], Nn = F({
  size: {
    type: [String, Number],
    default: "default"
  }
}, "size");
function zn(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
  return Ln(() => {
    let t, l;
    return Ht(fo, e.size) ? t = `${n}--size-${e.size}` : e.size && (l = {
      width: q(e.size),
      height: q(e.size)
    }), {
      sizeClasses: t,
      sizeStyles: l
    };
  });
}
const Me = F({
  tag: {
    type: String,
    default: "div"
  }
}, "tag"), Cl = Symbol.for("vuetify:theme"), Ee = F({
  theme: String
}, "theme");
function Re(e) {
  ge("provideTheme");
  const n = he(Cl, null);
  if (!n) throw new Error("Could not find Vuetify theme injection");
  const t = h(() => e.theme ?? n.name.value), l = h(() => n.themes.value[t.value]), a = h(() => n.isDisabled ? void 0 : `v-theme--${t.value}`), i = {
    ...n,
    name: t,
    current: l,
    themeClasses: a
  };
  return Le(Cl, i), i;
}
const vo = F({
  color: String,
  disabled: Boolean,
  start: Boolean,
  end: Boolean,
  icon: se,
  ...ae(),
  ...Nn(),
  ...Me({
    tag: "i"
  }),
  ...Ee()
}, "VIcon"), we = Q()({
  name: "VIcon",
  props: vo(),
  setup(e, n) {
    let {
      attrs: t,
      slots: l
    } = n;
    const a = $(), {
      themeClasses: i
    } = Re(e), {
      iconData: o
    } = co(h(() => a.value || e.icon)), {
      sizeClasses: r
    } = zn(e), {
      textColorClasses: u,
      textColorStyles: s
    } = Ye(G(e, "color"));
    return ne(() => {
      var f, m;
      const d = (f = l.default) == null ? void 0 : f.call(l);
      d && (a.value = (m = Ql(d).filter((g) => g.type === bi && g.children && typeof g.children == "string")[0]) == null ? void 0 : m.children);
      const v = !!(t.onClick || t.onClickOnce);
      return c(o.value.component, {
        tag: e.tag,
        icon: o.value.icon,
        class: ["v-icon", "notranslate", i.value, r.value, u.value, {
          "v-icon--clickable": v,
          "v-icon--disabled": e.disabled,
          "v-icon--start": e.start,
          "v-icon--end": e.end
        }, e.class],
        style: [r.value ? void 0 : {
          fontSize: q(e.size),
          height: q(e.size),
          width: q(e.size)
        }, s.value, e.style],
        role: v ? "button" : void 0,
        "aria-hidden": !v,
        tabindex: v ? e.disabled ? -1 : 0 : void 0
      }, {
        default: () => [d]
      });
    }), {};
  }
}), yt = F({
  height: [Number, String],
  maxHeight: [Number, String],
  maxWidth: [Number, String],
  minHeight: [Number, String],
  minWidth: [Number, String],
  width: [Number, String]
}, "dimension");
function ht(e) {
  return {
    dimensionStyles: h(() => {
      const t = {}, l = q(e.height), a = q(e.maxHeight), i = q(e.maxWidth), o = q(e.minHeight), r = q(e.minWidth), u = q(e.width);
      return l != null && (t.height = l), a != null && (t.maxHeight = a), i != null && (t.maxWidth = i), o != null && (t.minHeight = o), r != null && (t.minWidth = r), u != null && (t.width = u), t;
    })
  };
}
function mo(e) {
  return {
    aspectStyles: h(() => {
      const n = Number(e.aspectRatio);
      return n ? {
        paddingBottom: String(1 / n * 100) + "%"
      } : void 0;
    })
  };
}
const oa = F({
  aspectRatio: [String, Number],
  contentClass: null,
  inline: Boolean,
  ...ae(),
  ...yt()
}, "VResponsive"), pl = Q()({
  name: "VResponsive",
  props: oa(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    const {
      aspectStyles: l
    } = mo(e), {
      dimensionStyles: a
    } = ht(e);
    return ne(() => {
      var i;
      return c("div", {
        class: ["v-responsive", {
          "v-responsive--inline": e.inline
        }, e.class],
        style: [a.value, e.style]
      }, [c("div", {
        class: "v-responsive__sizer",
        style: l.value
      }, null), (i = t.additional) == null ? void 0 : i.call(t), t.default && c("div", {
        class: ["v-responsive__content", e.contentClass]
      }, [t.default()])]);
    }), {};
  }
}), it = F({
  rounded: {
    type: [Boolean, Number, String],
    default: void 0
  },
  tile: Boolean
}, "rounded");
function ot(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
  return {
    roundedClasses: h(() => {
      const l = st(e) ? e.value : e.rounded, a = st(e) ? e.value : e.tile, i = [];
      if (l === !0 || l === "")
        i.push(`${n}--rounded`);
      else if (typeof l == "string" || l === 0)
        for (const o of String(l).split(" "))
          i.push(`rounded-${o}`);
      else (a || l === !1) && i.push("rounded-0");
      return i;
    })
  };
}
const bt = F({
  transition: {
    type: [Boolean, String, Object],
    default: "fade-transition",
    validator: (e) => e !== !0
  }
}, "transition"), Ue = (e, n) => {
  let {
    slots: t
  } = n;
  const {
    transition: l,
    disabled: a,
    group: i,
    ...o
  } = e, {
    component: r = i ? En : nt,
    ...u
  } = typeof l == "object" ? l : {};
  return Zt(r, X(typeof l == "string" ? {
    name: a ? "" : l
  } : u, typeof l == "string" ? {} : Object.fromEntries(Object.entries({
    disabled: a,
    group: i
  }).filter((s) => {
    let [d, v] = s;
    return v !== void 0;
  })), o), t);
};
function go(e, n) {
  if (!_n) return;
  const t = n.modifiers || {}, l = n.value, {
    handler: a,
    options: i
  } = typeof l == "object" ? l : {
    handler: l,
    options: {}
  }, o = new IntersectionObserver(function() {
    var v;
    let r = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], u = arguments.length > 1 ? arguments[1] : void 0;
    const s = (v = e._observe) == null ? void 0 : v[n.instance.$.uid];
    if (!s) return;
    const d = r.some((f) => f.isIntersecting);
    a && (!t.quiet || s.init) && (!t.once || d || s.init) && a(d, r, u), d && t.once ? ra(e, n) : s.init = !0;
  }, i);
  e._observe = Object(e._observe), e._observe[n.instance.$.uid] = {
    init: !1,
    observer: o
  }, o.observe(e);
}
function ra(e, n) {
  var l;
  const t = (l = e._observe) == null ? void 0 : l[n.instance.$.uid];
  t && (t.observer.unobserve(e), delete e._observe[n.instance.$.uid]);
}
const ua = {
  mounted: go,
  unmounted: ra
}, yo = F({
  absolute: Boolean,
  alt: String,
  cover: Boolean,
  color: String,
  draggable: {
    type: [Boolean, String],
    default: void 0
  },
  eager: Boolean,
  gradient: String,
  lazySrc: String,
  options: {
    type: Object,
    // For more information on types, navigate to:
    // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
    default: () => ({
      root: void 0,
      rootMargin: void 0,
      threshold: void 0
    })
  },
  sizes: String,
  src: {
    type: [String, Object],
    default: ""
  },
  crossorigin: String,
  referrerpolicy: String,
  srcset: String,
  position: String,
  ...oa(),
  ...ae(),
  ...it(),
  ...bt()
}, "VImg"), ho = Q()({
  name: "VImg",
  directives: {
    intersect: ua
  },
  props: yo(),
  emits: {
    loadstart: (e) => !0,
    load: (e) => !0,
    error: (e) => !0
  },
  setup(e, n) {
    let {
      emit: t,
      slots: l
    } = n;
    const {
      backgroundColorClasses: a,
      backgroundColorStyles: i
    } = Ke(G(e, "color")), {
      roundedClasses: o
    } = ot(e), r = ge("VImg"), u = U(""), s = $(), d = U(e.eager ? "loading" : "idle"), v = U(), f = U(), m = h(() => e.src && typeof e.src == "object" ? {
      src: e.src.src,
      srcset: e.srcset || e.src.srcset,
      lazySrc: e.lazySrc || e.src.lazySrc,
      aspect: Number(e.aspectRatio || e.src.aspect || 0)
    } : {
      src: e.src,
      srcset: e.srcset,
      lazySrc: e.lazySrc,
      aspect: Number(e.aspectRatio || 0)
    }), g = h(() => m.value.aspect || v.value / f.value || 0);
    K(() => e.src, () => {
      y(d.value !== "idle");
    }), K(g, (C, p) => {
      !C && p && s.value && V(s.value);
    }), jl(() => y());
    function y(C) {
      if (!(e.eager && C) && !(_n && !C && !e.eager)) {
        if (d.value = "loading", m.value.lazySrc) {
          const p = new Image();
          p.src = m.value.lazySrc, V(p, null);
        }
        m.value.src && ke(() => {
          var p;
          t("loadstart", ((p = s.value) == null ? void 0 : p.currentSrc) || m.value.src), setTimeout(() => {
            var w;
            if (!r.isUnmounted)
              if ((w = s.value) != null && w.complete) {
                if (s.value.naturalWidth || S(), d.value === "error") return;
                g.value || V(s.value, null), d.value === "loading" && b();
              } else
                g.value || V(s.value), _();
          });
        });
      }
    }
    function b() {
      var C;
      r.isUnmounted || (_(), V(s.value), d.value = "loaded", t("load", ((C = s.value) == null ? void 0 : C.currentSrc) || m.value.src));
    }
    function S() {
      var C;
      r.isUnmounted || (d.value = "error", t("error", ((C = s.value) == null ? void 0 : C.currentSrc) || m.value.src));
    }
    function _() {
      const C = s.value;
      C && (u.value = C.currentSrc || C.src);
    }
    let B = -1;
    $e(() => {
      clearTimeout(B);
    });
    function V(C) {
      let p = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 100;
      const w = () => {
        if (clearTimeout(B), r.isUnmounted) return;
        const {
          naturalHeight: T,
          naturalWidth: N
        } = C;
        T || N ? (v.value = N, f.value = T) : !C.complete && d.value === "loading" && p != null ? B = window.setTimeout(w, p) : (C.currentSrc.endsWith(".svg") || C.currentSrc.startsWith("data:image/svg+xml")) && (v.value = 1, f.value = 1);
      };
      w();
    }
    const A = h(() => ({
      "v-img__img--cover": e.cover,
      "v-img__img--contain": !e.cover
    })), P = () => {
      var w;
      if (!m.value.src || d.value === "idle") return null;
      const C = c("img", {
        class: ["v-img__img", A.value],
        style: {
          objectPosition: e.position
        },
        src: m.value.src,
        srcset: m.value.srcset,
        alt: e.alt,
        crossorigin: e.crossorigin,
        referrerpolicy: e.referrerpolicy,
        draggable: e.draggable,
        sizes: e.sizes,
        ref: s,
        onLoad: b,
        onError: S
      }, null), p = (w = l.sources) == null ? void 0 : w.call(l);
      return c(Ue, {
        transition: e.transition,
        appear: !0
      }, {
        default: () => [Fe(p ? c("picture", {
          class: "v-img__picture"
        }, [p, C]) : C, [[mt, d.value === "loaded"]])]
      });
    }, O = () => c(Ue, {
      transition: e.transition
    }, {
      default: () => [m.value.lazySrc && d.value !== "loaded" && c("img", {
        class: ["v-img__img", "v-img__img--preload", A.value],
        style: {
          objectPosition: e.position
        },
        src: m.value.lazySrc,
        alt: e.alt,
        crossorigin: e.crossorigin,
        referrerpolicy: e.referrerpolicy,
        draggable: e.draggable
      }, null)]
    }), E = () => l.placeholder ? c(Ue, {
      transition: e.transition,
      appear: !0
    }, {
      default: () => [(d.value === "loading" || d.value === "error" && !l.error) && c("div", {
        class: "v-img__placeholder"
      }, [l.placeholder()])]
    }) : null, R = () => l.error ? c(Ue, {
      transition: e.transition,
      appear: !0
    }, {
      default: () => [d.value === "error" && c("div", {
        class: "v-img__error"
      }, [l.error()])]
    }) : null, z = () => e.gradient ? c("div", {
      class: "v-img__gradient",
      style: {
        backgroundImage: `linear-gradient(${e.gradient})`
      }
    }, null) : null, M = U(!1);
    {
      const C = K(g, (p) => {
        p && (requestAnimationFrame(() => {
          requestAnimationFrame(() => {
            M.value = !0;
          });
        }), C());
      });
    }
    return ne(() => {
      const C = pl.filterProps(e);
      return Fe(c(pl, X({
        class: ["v-img", {
          "v-img--absolute": e.absolute,
          "v-img--booting": !M.value
        }, a.value, o.value, e.class],
        style: [{
          width: q(e.width === "auto" ? v.value : e.width)
        }, i.value, e.style]
      }, C, {
        aspectRatio: g.value,
        "aria-label": e.alt,
        role: e.alt ? "img" : void 0
      }), {
        additional: () => c(ue, null, [c(P, null, null), c(O, null, null), c(z, null, null), c(E, null, null), c(R, null, null)]),
        default: l.default
      }), [[vt("intersect"), {
        handler: y,
        options: e.options
      }, null, {
        once: !0
      }]]);
    }), {
      currentSrc: u,
      image: s,
      state: d,
      naturalWidth: v,
      naturalHeight: f
    };
  }
}), nn = F({
  border: [Boolean, Number, String]
}, "border");
function ln(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
  return {
    borderClasses: h(() => {
      const l = st(e) ? e.value : e.border, a = [];
      if (l === !0 || l === "")
        a.push(`${n}--border`);
      else if (typeof l == "string" || l === 0)
        for (const i of String(l).split(" "))
          a.push(`border-${i}`);
      return a;
    })
  };
}
const bo = [null, "default", "comfortable", "compact"], St = F({
  density: {
    type: String,
    default: "default",
    validator: (e) => bo.includes(e)
  }
}, "density");
function wt(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
  return {
    densityClasses: h(() => `${n}--density-${e.density}`)
  };
}
const So = ["elevated", "flat", "tonal", "outlined", "text", "plain"];
function Hn(e, n) {
  return c(ue, null, [e && c("span", {
    key: "overlay",
    class: `${n}__overlay`
  }, null), c("span", {
    key: "underlay",
    class: `${n}__underlay`
  }, null)]);
}
const _t = F({
  color: String,
  variant: {
    type: String,
    default: "elevated",
    validator: (e) => So.includes(e)
  }
}, "variant");
function Wn(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
  const t = h(() => {
    const {
      variant: i
    } = Ce(e);
    return `${n}--variant-${i}`;
  }), {
    colorClasses: l,
    colorStyles: a
  } = $n(h(() => {
    const {
      variant: i,
      color: o
    } = Ce(e);
    return {
      [["elevated", "flat"].includes(i) ? "background" : "text"]: o
    };
  }));
  return {
    colorClasses: l,
    colorStyles: a,
    variantClasses: t
  };
}
const wo = F({
  start: Boolean,
  end: Boolean,
  icon: se,
  image: String,
  text: String,
  ...nn(),
  ...ae(),
  ...St(),
  ...it(),
  ...Nn(),
  ...Me(),
  ...Ee(),
  ..._t({
    variant: "flat"
  })
}, "VAvatar"), dt = Q()({
  name: "VAvatar",
  props: wo(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    const {
      themeClasses: l
    } = Re(e), {
      borderClasses: a
    } = ln(e), {
      colorClasses: i,
      colorStyles: o,
      variantClasses: r
    } = Wn(e), {
      densityClasses: u
    } = wt(e), {
      roundedClasses: s
    } = ot(e), {
      sizeClasses: d,
      sizeStyles: v
    } = zn(e);
    return ne(() => c(e.tag, {
      class: ["v-avatar", {
        "v-avatar--start": e.start,
        "v-avatar--end": e.end
      }, l.value, a.value, i.value, u.value, s.value, d.value, r.value, e.class],
      style: [o.value, v.value, e.style]
    }, {
      default: () => [t.default ? c(Te, {
        key: "content-defaults",
        defaults: {
          VImg: {
            cover: !0,
            src: e.image
          },
          VIcon: {
            icon: e.icon
          }
        }
      }, {
        default: () => [t.default()]
      }) : e.image ? c(ho, {
        key: "image",
        src: e.image,
        alt: "",
        cover: !0
      }, null) : e.icon ? c(we, {
        key: "icon",
        icon: e.icon
      }, null) : e.text, Hn(!1, "v-avatar")]
    })), {};
  }
}), Co = F({
  text: String,
  onClick: xe(),
  ...ae(),
  ...Ee()
}, "VLabel"), sa = Q()({
  name: "VLabel",
  props: Co(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    return ne(() => {
      var l;
      return c("label", {
        class: ["v-label", {
          "v-label--clickable": !!e.onClick
        }, e.class],
        style: e.style,
        onClick: e.onClick
      }, [e.text, (l = t.default) == null ? void 0 : l.call(t)]);
    }), {};
  }
});
function lt(e, n) {
  let t;
  function l() {
    t = On(), t.run(() => n.length ? n(() => {
      t == null || t.stop(), l();
    }) : n());
  }
  K(e, (a) => {
    a && !t ? l() : a || (t == null || t.stop(), t = void 0);
  }, {
    immediate: !0
  }), Ve(() => {
    t == null || t.stop();
  });
}
function ve(e, n, t) {
  let l = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : (v) => v, a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : (v) => v;
  const i = ge("useProxiedModel"), o = $(e[n] !== void 0 ? e[n] : t), r = Ze(n), s = r !== n ? h(() => {
    var v, f, m, g;
    return e[n], !!(((v = i.vnode.props) != null && v.hasOwnProperty(n) || (f = i.vnode.props) != null && f.hasOwnProperty(r)) && ((m = i.vnode.props) != null && m.hasOwnProperty(`onUpdate:${n}`) || (g = i.vnode.props) != null && g.hasOwnProperty(`onUpdate:${r}`)));
  }) : h(() => {
    var v, f;
    return e[n], !!((v = i.vnode.props) != null && v.hasOwnProperty(n) && ((f = i.vnode.props) != null && f.hasOwnProperty(`onUpdate:${n}`)));
  });
  lt(() => !s.value, () => {
    K(() => e[n], (v) => {
      o.value = v;
    });
  });
  const d = h({
    get() {
      const v = e[n];
      return l(s.value ? v : o.value);
    },
    set(v) {
      const f = a(v), m = re(s.value ? e[n] : o.value);
      m === f || l(m) === v || (o.value = f, i == null || i.emit(`update:${n}`, f));
    }
  });
  return Object.defineProperty(d, "externalValue", {
    get: () => s.value ? e[n] : o.value
  }), d;
}
const ca = Symbol.for("vuetify:selection-control-group"), da = F({
  color: String,
  disabled: {
    type: Boolean,
    default: null
  },
  defaultsTarget: String,
  error: Boolean,
  id: String,
  inline: Boolean,
  falseIcon: se,
  trueIcon: se,
  ripple: {
    type: [Boolean, Object],
    default: !0
  },
  multiple: {
    type: Boolean,
    default: null
  },
  name: String,
  readonly: {
    type: Boolean,
    default: null
  },
  modelValue: null,
  type: String,
  valueComparator: {
    type: Function,
    default: gt
  },
  ...ae(),
  ...St(),
  ...Ee()
}, "SelectionControlGroup"), po = F({
  ...da({
    defaultsTarget: "VSelectionControl"
  })
}, "VSelectionControlGroup");
Q()({
  name: "VSelectionControlGroup",
  props: po(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, n) {
    let {
      slots: t
    } = n;
    const l = ve(e, "modelValue"), a = He(), i = h(() => e.id || `v-selection-control-group-${a}`), o = h(() => e.name || i.value), r = /* @__PURE__ */ new Set();
    return Le(ca, {
      modelValue: l,
      forceUpdate: () => {
        r.forEach((u) => u());
      },
      onForceUpdate: (u) => {
        r.add(u), Ve(() => {
          r.delete(u);
        });
      }
    }), en({
      [e.defaultsTarget]: {
        color: G(e, "color"),
        disabled: G(e, "disabled"),
        density: G(e, "density"),
        error: G(e, "error"),
        inline: G(e, "inline"),
        modelValue: l,
        multiple: h(() => !!e.multiple || e.multiple == null && Array.isArray(l.value)),
        name: o,
        falseIcon: G(e, "falseIcon"),
        trueIcon: G(e, "trueIcon"),
        readonly: G(e, "readonly"),
        ripple: G(e, "ripple"),
        type: G(e, "type"),
        valueComparator: G(e, "valueComparator")
      }
    }), ne(() => {
      var u;
      return c("div", {
        class: ["v-selection-control-group", {
          "v-selection-control-group--inline": e.inline
        }, e.class],
        style: e.style,
        role: e.type === "radio" ? "radiogroup" : void 0
      }, [(u = t.default) == null ? void 0 : u.call(t)]);
    }), {};
  }
});
const pn = Symbol("rippleStop"), xo = 80;
function xl(e, n) {
  e.style.transform = n, e.style.webkitTransform = n;
}
function xn(e) {
  return e.constructor.name === "TouchEvent";
}
function fa(e) {
  return e.constructor.name === "KeyboardEvent";
}
const ko = function(e, n) {
  var v;
  let t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, l = 0, a = 0;
  if (!fa(e)) {
    const f = n.getBoundingClientRect(), m = xn(e) ? e.touches[e.touches.length - 1] : e;
    l = m.clientX - f.left, a = m.clientY - f.top;
  }
  let i = 0, o = 0.3;
  (v = n._ripple) != null && v.circle ? (o = 0.15, i = n.clientWidth / 2, i = t.center ? i : i + Math.sqrt((l - i) ** 2 + (a - i) ** 2) / 4) : i = Math.sqrt(n.clientWidth ** 2 + n.clientHeight ** 2) / 2;
  const r = `${(n.clientWidth - i * 2) / 2}px`, u = `${(n.clientHeight - i * 2) / 2}px`, s = t.center ? r : `${l - i}px`, d = t.center ? u : `${a - i}px`;
  return {
    radius: i,
    scale: o,
    x: s,
    y: d,
    centerX: r,
    centerY: u
  };
}, Kt = {
  /* eslint-disable max-statements */
  show(e, n) {
    var m;
    let t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
    if (!((m = n == null ? void 0 : n._ripple) != null && m.enabled))
      return;
    const l = document.createElement("span"), a = document.createElement("span");
    l.appendChild(a), l.className = "v-ripple__container", t.class && (l.className += ` ${t.class}`);
    const {
      radius: i,
      scale: o,
      x: r,
      y: u,
      centerX: s,
      centerY: d
    } = ko(e, n, t), v = `${i * 2}px`;
    a.className = "v-ripple__animation", a.style.width = v, a.style.height = v, n.appendChild(l);
    const f = window.getComputedStyle(n);
    f && f.position === "static" && (n.style.position = "relative", n.dataset.previousPosition = "static"), a.classList.add("v-ripple__animation--enter"), a.classList.add("v-ripple__animation--visible"), xl(a, `translate(${r}, ${u}) scale3d(${o},${o},${o})`), a.dataset.activated = String(performance.now()), setTimeout(() => {
      a.classList.remove("v-ripple__animation--enter"), a.classList.add("v-ripple__animation--in"), xl(a, `translate(${s}, ${d}) scale3d(1,1,1)`);
    }, 0);
  },
  hide(e) {
    var i;
    if (!((i = e == null ? void 0 : e._ripple) != null && i.enabled)) return;
    const n = e.getElementsByClassName("v-ripple__animation");
    if (n.length === 0) return;
    const t = n[n.length - 1];
    if (t.dataset.isHiding) return;
    t.dataset.isHiding = "true";
    const l = performance.now() - Number(t.dataset.activated), a = Math.max(250 - l, 0);
    setTimeout(() => {
      t.classList.remove("v-ripple__animation--in"), t.classList.add("v-ripple__animation--out"), setTimeout(() => {
        var r;
        e.getElementsByClassName("v-ripple__animation").length === 1 && e.dataset.previousPosition && (e.style.position = e.dataset.previousPosition, delete e.dataset.previousPosition), ((r = t.parentNode) == null ? void 0 : r.parentNode) === e && e.removeChild(t.parentNode);
      }, 300);
    }, a);
  }
};
function va(e) {
  return typeof e > "u" || !!e;
}
function It(e) {
  const n = {}, t = e.currentTarget;
  if (!(!(t != null && t._ripple) || t._ripple.touched || e[pn])) {
    if (e[pn] = !0, xn(e))
      t._ripple.touched = !0, t._ripple.isTouch = !0;
    else if (t._ripple.isTouch) return;
    if (n.center = t._ripple.centered || fa(e), t._ripple.class && (n.class = t._ripple.class), xn(e)) {
      if (t._ripple.showTimerCommit) return;
      t._ripple.showTimerCommit = () => {
        Kt.show(e, t, n);
      }, t._ripple.showTimer = window.setTimeout(() => {
        var l;
        (l = t == null ? void 0 : t._ripple) != null && l.showTimerCommit && (t._ripple.showTimerCommit(), t._ripple.showTimerCommit = null);
      }, xo);
    } else
      Kt.show(e, t, n);
  }
}
function kl(e) {
  e[pn] = !0;
}
function Ae(e) {
  const n = e.currentTarget;
  if (n != null && n._ripple) {
    if (window.clearTimeout(n._ripple.showTimer), e.type === "touchend" && n._ripple.showTimerCommit) {
      n._ripple.showTimerCommit(), n._ripple.showTimerCommit = null, n._ripple.showTimer = window.setTimeout(() => {
        Ae(e);
      });
      return;
    }
    window.setTimeout(() => {
      n._ripple && (n._ripple.touched = !1);
    }), Kt.hide(n);
  }
}
function ma(e) {
  const n = e.currentTarget;
  n != null && n._ripple && (n._ripple.showTimerCommit && (n._ripple.showTimerCommit = null), window.clearTimeout(n._ripple.showTimer));
}
let Pt = !1;
function ga(e) {
  !Pt && (e.keyCode === nl.enter || e.keyCode === nl.space) && (Pt = !0, It(e));
}
function ya(e) {
  Pt = !1, Ae(e);
}
function ha(e) {
  Pt && (Pt = !1, Ae(e));
}
function ba(e, n, t) {
  const {
    value: l,
    modifiers: a
  } = n, i = va(l);
  if (i || Kt.hide(e), e._ripple = e._ripple ?? {}, e._ripple.enabled = i, e._ripple.centered = a.center, e._ripple.circle = a.circle, Pi(l) && l.class && (e._ripple.class = l.class), i && !t) {
    if (a.stop) {
      e.addEventListener("touchstart", kl, {
        passive: !0
      }), e.addEventListener("mousedown", kl);
      return;
    }
    e.addEventListener("touchstart", It, {
      passive: !0
    }), e.addEventListener("touchend", Ae, {
      passive: !0
    }), e.addEventListener("touchmove", ma, {
      passive: !0
    }), e.addEventListener("touchcancel", Ae), e.addEventListener("mousedown", It), e.addEventListener("mouseup", Ae), e.addEventListener("mouseleave", Ae), e.addEventListener("keydown", ga), e.addEventListener("keyup", ya), e.addEventListener("blur", ha), e.addEventListener("dragstart", Ae, {
      passive: !0
    });
  } else !i && t && Sa(e);
}
function Sa(e) {
  e.removeEventListener("mousedown", It), e.removeEventListener("touchstart", It), e.removeEventListener("touchend", Ae), e.removeEventListener("touchmove", ma), e.removeEventListener("touchcancel", Ae), e.removeEventListener("mouseup", Ae), e.removeEventListener("mouseleave", Ae), e.removeEventListener("keydown", ga), e.removeEventListener("keyup", ya), e.removeEventListener("dragstart", Ae), e.removeEventListener("blur", ha);
}
function Vo(e, n) {
  ba(e, n, !1);
}
function Io(e) {
  delete e._ripple, Sa(e);
}
function Po(e, n) {
  if (n.value === n.oldValue)
    return;
  const t = va(n.oldValue);
  ba(e, n, t);
}
const jn = {
  mounted: Vo,
  unmounted: Io,
  updated: Po
}, wa = F({
  label: String,
  baseColor: String,
  trueValue: null,
  falseValue: null,
  value: null,
  ...ae(),
  ...da()
}, "VSelectionControl");
function Ao(e) {
  const n = he(ca, void 0), {
    densityClasses: t
  } = wt(e), l = ve(e, "modelValue"), a = h(() => e.trueValue !== void 0 ? e.trueValue : e.value !== void 0 ? e.value : !0), i = h(() => e.falseValue !== void 0 ? e.falseValue : !1), o = h(() => !!e.multiple || e.multiple == null && Array.isArray(l.value)), r = h({
    get() {
      const m = n ? n.modelValue.value : l.value;
      return o.value ? pe(m).some((g) => e.valueComparator(g, a.value)) : e.valueComparator(m, a.value);
    },
    set(m) {
      if (e.readonly) return;
      const g = m ? a.value : i.value;
      let y = g;
      o.value && (y = m ? [...pe(l.value), g] : pe(l.value).filter((b) => !e.valueComparator(b, a.value))), n ? n.modelValue.value = y : l.value = y;
    }
  }), {
    textColorClasses: u,
    textColorStyles: s
  } = Ye(h(() => {
    if (!(e.error || e.disabled))
      return r.value ? e.color : e.baseColor;
  })), {
    backgroundColorClasses: d,
    backgroundColorStyles: v
  } = Ke(h(() => r.value && !e.error && !e.disabled ? e.color : e.baseColor)), f = h(() => r.value ? e.trueIcon : e.falseIcon);
  return {
    group: n,
    densityClasses: t,
    trueValue: a,
    falseValue: i,
    model: r,
    textColorClasses: u,
    textColorStyles: s,
    backgroundColorClasses: d,
    backgroundColorStyles: v,
    icon: f
  };
}
const Vl = Q()({
  name: "VSelectionControl",
  directives: {
    Ripple: jn
  },
  inheritAttrs: !1,
  props: wa(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, n) {
    let {
      attrs: t,
      slots: l
    } = n;
    const {
      group: a,
      densityClasses: i,
      icon: o,
      model: r,
      textColorClasses: u,
      textColorStyles: s,
      backgroundColorClasses: d,
      backgroundColorStyles: v,
      trueValue: f
    } = Ao(e), m = He(), g = U(!1), y = U(!1), b = $(), S = h(() => e.id || `input-${m}`), _ = h(() => !e.disabled && !e.readonly);
    a == null || a.onForceUpdate(() => {
      b.value && (b.value.checked = r.value);
    });
    function B(O) {
      _.value && (g.value = !0, ct(O.target, ":focus-visible") !== !1 && (y.value = !0));
    }
    function V() {
      g.value = !1, y.value = !1;
    }
    function A(O) {
      O.stopPropagation();
    }
    function P(O) {
      if (!_.value) {
        b.value && (b.value.checked = r.value);
        return;
      }
      e.readonly && a && ke(() => a.forceUpdate()), r.value = O.target.checked;
    }
    return ne(() => {
      var M, C;
      const O = l.label ? l.label({
        label: e.label,
        props: {
          for: S.value
        }
      }) : e.label, [E, R] = Xl(t), z = c("input", X({
        ref: b,
        checked: r.value,
        disabled: !!e.disabled,
        id: S.value,
        onBlur: V,
        onFocus: B,
        onInput: P,
        "aria-disabled": !!e.disabled,
        "aria-label": e.label,
        type: e.type,
        value: f.value,
        name: e.name,
        "aria-checked": e.type === "checkbox" ? r.value : void 0
      }, R), null);
      return c("div", X({
        class: ["v-selection-control", {
          "v-selection-control--dirty": r.value,
          "v-selection-control--disabled": e.disabled,
          "v-selection-control--error": e.error,
          "v-selection-control--focused": g.value,
          "v-selection-control--focus-visible": y.value,
          "v-selection-control--inline": e.inline
        }, i.value, e.class]
      }, E, {
        style: e.style
      }), [c("div", {
        class: ["v-selection-control__wrapper", u.value],
        style: s.value
      }, [(M = l.default) == null ? void 0 : M.call(l, {
        backgroundColorClasses: d,
        backgroundColorStyles: v
      }), Fe(c("div", {
        class: ["v-selection-control__input"]
      }, [((C = l.input) == null ? void 0 : C.call(l, {
        model: r,
        textColorClasses: u,
        textColorStyles: s,
        backgroundColorClasses: d,
        backgroundColorStyles: v,
        inputNode: z,
        icon: o.value,
        props: {
          onFocus: B,
          onBlur: V,
          id: S.value
        }
      })) ?? c(ue, null, [o.value && c(we, {
        key: "icon",
        icon: o.value
      }, null), z])]), [[vt("ripple"), e.ripple && [!e.disabled && !e.readonly, null, ["center", "circle"]]]])]), O && c(sa, {
        for: S.value,
        onClick: A
      }, {
        default: () => [O]
      })]);
    }), {
      isFocused: g,
      input: b
    };
  }
}), Eo = F({
  indeterminate: Boolean,
  indeterminateIcon: {
    type: se,
    default: "$checkboxIndeterminate"
  },
  ...wa({
    falseIcon: "$checkboxOff",
    trueIcon: "$checkboxOn"
  })
}, "VCheckboxBtn"), Ca = Q()({
  name: "VCheckboxBtn",
  props: Eo(),
  emits: {
    "update:modelValue": (e) => !0,
    "update:indeterminate": (e) => !0
  },
  setup(e, n) {
    let {
      slots: t
    } = n;
    const l = ve(e, "indeterminate"), a = ve(e, "modelValue");
    function i(u) {
      l.value && (l.value = !1);
    }
    const o = h(() => l.value ? e.indeterminateIcon : e.falseIcon), r = h(() => l.value ? e.indeterminateIcon : e.trueIcon);
    return ne(() => {
      const u = at(Vl.filterProps(e), ["modelValue"]);
      return c(Vl, X(u, {
        modelValue: a.value,
        "onUpdate:modelValue": [(s) => a.value = s, i],
        class: ["v-checkbox-btn", e.class],
        style: e.style,
        type: "checkbox",
        falseIcon: o.value,
        trueIcon: r.value,
        "aria-checked": l.value ? "mixed" : void 0
      }), t);
    }), {};
  }
}), pa = Symbol.for("vuetify:locale");
function an() {
  const e = he(pa);
  if (!e) throw new Error("[Vuetify] Could not find injected locale instance");
  return e;
}
function Xe() {
  const e = he(pa);
  if (!e) throw new Error("[Vuetify] Could not find injected rtl instance");
  return {
    isRtl: e.isRtl,
    rtlClasses: e.rtlClasses
  };
}
function xa(e) {
  const {
    t: n
  } = an();
  function t(l) {
    let {
      name: a
    } = l;
    const i = {
      prepend: "prependAction",
      prependInner: "prependAction",
      append: "appendAction",
      appendInner: "appendAction",
      clear: "clear"
    }[a], o = e[`onClick:${a}`], r = o && i ? n(`$vuetify.input.${i}`, e.label ?? "") : void 0;
    return c(we, {
      icon: e[`${a}Icon`],
      "aria-label": r,
      onClick: o
    }, null);
  }
  return {
    InputIcon: t
  };
}
const Oo = F({
  disabled: Boolean,
  group: Boolean,
  hideOnLeave: Boolean,
  leaveAbsolute: Boolean,
  mode: String,
  origin: String
}, "transition");
function Oe(e, n, t) {
  return Q()({
    name: e,
    props: Oo({
      mode: t,
      origin: n
    }),
    setup(l, a) {
      let {
        slots: i
      } = a;
      const o = {
        onBeforeEnter(r) {
          l.origin && (r.style.transformOrigin = l.origin);
        },
        onLeave(r) {
          if (l.leaveAbsolute) {
            const {
              offsetTop: u,
              offsetLeft: s,
              offsetWidth: d,
              offsetHeight: v
            } = r;
            r._transitionInitialStyles = {
              position: r.style.position,
              top: r.style.top,
              left: r.style.left,
              width: r.style.width,
              height: r.style.height
            }, r.style.position = "absolute", r.style.top = `${u}px`, r.style.left = `${s}px`, r.style.width = `${d}px`, r.style.height = `${v}px`;
          }
          l.hideOnLeave && r.style.setProperty("display", "none", "important");
        },
        onAfterLeave(r) {
          if (l.leaveAbsolute && (r != null && r._transitionInitialStyles)) {
            const {
              position: u,
              top: s,
              left: d,
              width: v,
              height: f
            } = r._transitionInitialStyles;
            delete r._transitionInitialStyles, r.style.position = u || "", r.style.top = s || "", r.style.left = d || "", r.style.width = v || "", r.style.height = f || "";
          }
        }
      };
      return () => {
        const r = l.group ? En : nt;
        return Zt(r, {
          name: l.disabled ? "" : e,
          css: !l.disabled,
          ...l.group ? void 0 : {
            mode: l.mode
          },
          ...l.disabled ? {} : o
        }, i.default);
      };
    }
  });
}
function ka(e, n) {
  let t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "in-out";
  return Q()({
    name: e,
    props: {
      mode: {
        type: String,
        default: t
      },
      disabled: Boolean,
      group: Boolean
    },
    setup(l, a) {
      let {
        slots: i
      } = a;
      const o = l.group ? En : nt;
      return () => Zt(o, {
        name: l.disabled ? "" : e,
        css: !l.disabled,
        // mode: props.mode, // TODO: vuejs/vue-next#3104
        ...l.disabled ? {} : n
      }, i.default);
    }
  });
}
function Va() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
  const t = (arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1) ? "width" : "height", l = Wl(`offset-${t}`);
  return {
    onBeforeEnter(o) {
      o._parent = o.parentNode, o._initialStyle = {
        transition: o.style.transition,
        overflow: o.style.overflow,
        [t]: o.style[t]
      };
    },
    onEnter(o) {
      const r = o._initialStyle;
      o.style.setProperty("transition", "none", "important"), o.style.overflow = "hidden";
      const u = `${o[l]}px`;
      o.style[t] = "0", o.offsetHeight, o.style.transition = r.transition, e && o._parent && o._parent.classList.add(e), requestAnimationFrame(() => {
        o.style[t] = u;
      });
    },
    onAfterEnter: i,
    onEnterCancelled: i,
    onLeave(o) {
      o._initialStyle = {
        transition: "",
        overflow: o.style.overflow,
        [t]: o.style[t]
      }, o.style.overflow = "hidden", o.style[t] = `${o[l]}px`, o.offsetHeight, requestAnimationFrame(() => o.style[t] = "0");
    },
    onAfterLeave: a,
    onLeaveCancelled: a
  };
  function a(o) {
    e && o._parent && o._parent.classList.remove(e), i(o);
  }
  function i(o) {
    const r = o._initialStyle[t];
    o.style.overflow = o._initialStyle.overflow, r != null && (o.style[t] = r), delete o._initialStyle;
  }
}
const Bo = F({
  target: [Object, Array]
}, "v-dialog-transition"), Ia = Q()({
  name: "VDialogTransition",
  props: Bo(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    const l = {
      onBeforeEnter(a) {
        a.style.pointerEvents = "none", a.style.visibility = "hidden";
      },
      async onEnter(a, i) {
        var f;
        await new Promise((m) => requestAnimationFrame(m)), await new Promise((m) => requestAnimationFrame(m)), a.style.visibility = "";
        const {
          x: o,
          y: r,
          sx: u,
          sy: s,
          speed: d
        } = Pl(e.target, a), v = ut(a, [{
          transform: `translate(${o}px, ${r}px) scale(${u}, ${s})`,
          opacity: 0
        }, {}], {
          duration: 225 * d,
          easing: lo
        });
        (f = Il(a)) == null || f.forEach((m) => {
          ut(m, [{
            opacity: 0
          }, {
            opacity: 0,
            offset: 0.33
          }, {}], {
            duration: 225 * 2 * d,
            easing: Ut
          });
        }), v.finished.then(() => i());
      },
      onAfterEnter(a) {
        a.style.removeProperty("pointer-events");
      },
      onBeforeLeave(a) {
        a.style.pointerEvents = "none";
      },
      async onLeave(a, i) {
        var f;
        await new Promise((m) => requestAnimationFrame(m));
        const {
          x: o,
          y: r,
          sx: u,
          sy: s,
          speed: d
        } = Pl(e.target, a);
        ut(a, [{}, {
          transform: `translate(${o}px, ${r}px) scale(${u}, ${s})`,
          opacity: 0
        }], {
          duration: 125 * d,
          easing: ao
        }).finished.then(() => i()), (f = Il(a)) == null || f.forEach((m) => {
          ut(m, [{}, {
            opacity: 0,
            offset: 0.2
          }, {
            opacity: 0
          }], {
            duration: 125 * 2 * d,
            easing: Ut
          });
        });
      },
      onAfterLeave(a) {
        a.style.removeProperty("pointer-events");
      }
    };
    return () => e.target ? c(nt, X({
      name: "dialog-transition"
    }, l, {
      css: !1
    }), t) : c(nt, {
      name: "dialog-transition"
    }, t);
  }
});
function Il(e) {
  var t;
  const n = (t = e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list")) == null ? void 0 : t.children;
  return n && [...n];
}
function Pl(e, n) {
  const t = na(e), l = Rn(n), [a, i] = getComputedStyle(n).transformOrigin.split(" ").map((S) => parseFloat(S)), [o, r] = getComputedStyle(n).getPropertyValue("--v-overlay-anchor-origin").split(" ");
  let u = t.left + t.width / 2;
  o === "left" || r === "left" ? u -= t.width / 2 : (o === "right" || r === "right") && (u += t.width / 2);
  let s = t.top + t.height / 2;
  o === "top" || r === "top" ? s -= t.height / 2 : (o === "bottom" || r === "bottom") && (s += t.height / 2);
  const d = t.width / l.width, v = t.height / l.height, f = Math.max(1, d, v), m = d / f || 0, g = v / f || 0, y = l.width * l.height / (window.innerWidth * window.innerHeight), b = y > 0.12 ? Math.min(1.5, (y - 0.12) * 10 + 1) : 1;
  return {
    x: u - (a + l.left),
    y: s - (i + l.top),
    sx: m,
    sy: g,
    speed: b
  };
}
Oe("fab-transition", "center center", "out-in");
Oe("dialog-bottom-transition");
Oe("dialog-top-transition");
const Al = Oe("fade-transition");
Oe("scale-transition");
Oe("scroll-x-transition");
Oe("scroll-x-reverse-transition");
Oe("scroll-y-transition");
Oe("scroll-y-reverse-transition");
Oe("slide-x-transition");
Oe("slide-x-reverse-transition");
const Pa = Oe("slide-y-transition");
Oe("slide-y-reverse-transition");
const _o = ka("expand-transition", Va()), Aa = ka("expand-x-transition", Va("", !0)), To = F({
  active: Boolean,
  color: String,
  messages: {
    type: [Array, String],
    default: () => []
  },
  ...ae(),
  ...bt({
    transition: {
      component: Pa,
      leaveAbsolute: !0,
      group: !0
    }
  })
}, "VMessages"), Lo = Q()({
  name: "VMessages",
  props: To(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    const l = h(() => pe(e.messages)), {
      textColorClasses: a,
      textColorStyles: i
    } = Ye(h(() => e.color));
    return ne(() => c(Ue, {
      transition: e.transition,
      tag: "div",
      class: ["v-messages", a.value, e.class],
      style: [i.value, e.style],
      role: "alert",
      "aria-live": "polite"
    }, {
      default: () => [e.active && l.value.map((o, r) => c("div", {
        class: "v-messages__message",
        key: `${r}-${l.value}`
      }, [t.message ? t.message({
        message: o
      }) : o]))]
    })), {};
  }
}), Ea = F({
  focused: Boolean,
  "onUpdate:focused": xe()
}, "focus");
function Oa(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
  const t = ve(e, "focused"), l = h(() => ({
    [`${n}--focused`]: t.value
  }));
  function a() {
    t.value = !0;
  }
  function i() {
    t.value = !1;
  }
  return {
    focusClasses: l,
    isFocused: t,
    focus: a,
    blur: i
  };
}
const Fo = Symbol.for("vuetify:form");
function Un() {
  return he(Fo, null);
}
const Mo = F({
  disabled: {
    type: Boolean,
    default: null
  },
  error: Boolean,
  errorMessages: {
    type: [Array, String],
    default: () => []
  },
  maxErrors: {
    type: [Number, String],
    default: 1
  },
  name: String,
  label: String,
  readonly: {
    type: Boolean,
    default: null
  },
  rules: {
    type: Array,
    default: () => []
  },
  modelValue: null,
  validateOn: String,
  validationValue: null,
  ...Ea()
}, "validation");
function Ro(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze(), t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : He();
  const l = ve(e, "modelValue"), a = h(() => e.validationValue === void 0 ? l.value : e.validationValue), i = Un(), o = $([]), r = U(!0), u = h(() => !!(pe(l.value === "" ? null : l.value).length || pe(a.value === "" ? null : a.value).length)), s = h(() => !!(e.disabled ?? (i == null ? void 0 : i.isDisabled.value))), d = h(() => !!(e.readonly ?? (i == null ? void 0 : i.isReadonly.value))), v = h(() => {
    var A;
    return (A = e.errorMessages) != null && A.length ? pe(e.errorMessages).concat(o.value).slice(0, Math.max(0, +e.maxErrors)) : o.value;
  }), f = h(() => {
    let A = (e.validateOn ?? (i == null ? void 0 : i.validateOn.value)) || "input";
    A === "lazy" && (A = "input lazy"), A === "eager" && (A = "input eager");
    const P = new Set((A == null ? void 0 : A.split(" ")) ?? []);
    return {
      input: P.has("input"),
      blur: P.has("blur") || P.has("input") || P.has("invalid-input"),
      invalidInput: P.has("invalid-input"),
      lazy: P.has("lazy"),
      eager: P.has("eager")
    };
  }), m = h(() => {
    var A;
    return e.error || (A = e.errorMessages) != null && A.length ? !1 : e.rules.length ? r.value ? o.value.length || f.value.lazy ? null : !0 : !o.value.length : !0;
  }), g = U(!1), y = h(() => ({
    [`${n}--error`]: m.value === !1,
    [`${n}--dirty`]: u.value,
    [`${n}--disabled`]: s.value,
    [`${n}--readonly`]: d.value
  })), b = ge("validation"), S = h(() => e.name ?? Ce(t));
  jl(() => {
    i == null || i.register({
      id: S.value,
      vm: b,
      validate: V,
      reset: _,
      resetValidation: B
    });
  }), $e(() => {
    i == null || i.unregister(S.value);
  }), Ot(async () => {
    f.value.lazy || await V(!f.value.eager), i == null || i.update(S.value, m.value, v.value);
  }), lt(() => f.value.input || f.value.invalidInput && m.value === !1, () => {
    K(a, () => {
      if (a.value != null)
        V();
      else if (e.focused) {
        const A = K(() => e.focused, (P) => {
          P || V(), A();
        });
      }
    });
  }), lt(() => f.value.blur, () => {
    K(() => e.focused, (A) => {
      A || V();
    });
  }), K([m, v], () => {
    i == null || i.update(S.value, m.value, v.value);
  });
  async function _() {
    l.value = null, await ke(), await B();
  }
  async function B() {
    r.value = !0, f.value.lazy ? o.value = [] : await V(!f.value.eager);
  }
  async function V() {
    let A = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1;
    const P = [];
    g.value = !0;
    for (const O of e.rules) {
      if (P.length >= +(e.maxErrors ?? 1))
        break;
      const R = await (typeof O == "function" ? O : () => O)(a.value);
      if (R !== !0) {
        if (R !== !1 && typeof R != "string") {
          console.warn(`${R} is not a valid value. Rule functions must return boolean true or a string.`);
          continue;
        }
        P.push(R || "");
      }
    }
    return o.value = P, g.value = !1, r.value = A, o.value;
  }
  return {
    errorMessages: v,
    isDirty: u,
    isDisabled: s,
    isReadonly: d,
    isPristine: r,
    isValid: m,
    isValidating: g,
    reset: _,
    resetValidation: B,
    validate: V,
    validationClasses: y
  };
}
const Ba = F({
  id: String,
  appendIcon: se,
  centerAffix: {
    type: Boolean,
    default: !0
  },
  prependIcon: se,
  hideDetails: [Boolean, String],
  hideSpinButtons: Boolean,
  hint: String,
  persistentHint: Boolean,
  messages: {
    type: [Array, String],
    default: () => []
  },
  direction: {
    type: String,
    default: "horizontal",
    validator: (e) => ["horizontal", "vertical"].includes(e)
  },
  "onClick:prepend": xe(),
  "onClick:append": xe(),
  ...ae(),
  ...St(),
  ...Ai(yt(), ["maxWidth", "minWidth", "width"]),
  ...Ee(),
  ...Mo()
}, "VInput"), El = Q()({
  name: "VInput",
  props: {
    ...Ba()
  },
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, n) {
    let {
      attrs: t,
      slots: l,
      emit: a
    } = n;
    const {
      densityClasses: i
    } = wt(e), {
      dimensionStyles: o
    } = ht(e), {
      themeClasses: r
    } = Re(e), {
      rtlClasses: u
    } = Xe(), {
      InputIcon: s
    } = xa(e), d = He(), v = h(() => e.id || `input-${d}`), f = h(() => `${v.value}-messages`), {
      errorMessages: m,
      isDirty: g,
      isDisabled: y,
      isReadonly: b,
      isPristine: S,
      isValid: _,
      isValidating: B,
      reset: V,
      resetValidation: A,
      validate: P,
      validationClasses: O
    } = Ro(e, "v-input", v), E = h(() => ({
      id: v,
      messagesId: f,
      isDirty: g,
      isDisabled: y,
      isReadonly: b,
      isPristine: S,
      isValid: _,
      isValidating: B,
      reset: V,
      resetValidation: A,
      validate: P
    })), R = h(() => {
      var z;
      return (z = e.errorMessages) != null && z.length || !S.value && m.value.length ? m.value : e.hint && (e.persistentHint || e.focused) ? e.hint : e.messages;
    });
    return ne(() => {
      var w, T, N, J;
      const z = !!(l.prepend || e.prependIcon), M = !!(l.append || e.appendIcon), C = R.value.length > 0, p = !e.hideDetails || e.hideDetails === "auto" && (C || !!l.details);
      return c("div", {
        class: ["v-input", `v-input--${e.direction}`, {
          "v-input--center-affix": e.centerAffix,
          "v-input--hide-spin-buttons": e.hideSpinButtons
        }, i.value, r.value, u.value, O.value, e.class],
        style: [o.value, e.style]
      }, [z && c("div", {
        key: "prepend",
        class: "v-input__prepend"
      }, [(w = l.prepend) == null ? void 0 : w.call(l, E.value), e.prependIcon && c(s, {
        key: "prepend-icon",
        name: "prepend"
      }, null)]), l.default && c("div", {
        class: "v-input__control"
      }, [(T = l.default) == null ? void 0 : T.call(l, E.value)]), M && c("div", {
        key: "append",
        class: "v-input__append"
      }, [e.appendIcon && c(s, {
        key: "append-icon",
        name: "append"
      }, null), (N = l.append) == null ? void 0 : N.call(l, E.value)]), p && c("div", {
        class: "v-input__details"
      }, [c(Lo, {
        id: f.value,
        active: C,
        messages: R.value
      }, {
        message: l.message
      }), (J = l.details) == null ? void 0 : J.call(l, E.value)])]);
    }), {
      reset: V,
      resetValidation: A,
      validate: P,
      isValid: _,
      errorMessages: m
    };
  }
}), Do = Symbol.for("vuetify:display"), $o = F({
  mobile: {
    type: Boolean,
    default: !1
  },
  mobileBreakpoint: [Number, String]
}, "display");
function Gn() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
  const t = he(Do);
  if (!t) throw new Error("Could not find Vuetify display injection");
  const l = h(() => {
    if (e.mobile != null) return e.mobile;
    if (!e.mobileBreakpoint) return t.mobile.value;
    const i = typeof e.mobileBreakpoint == "number" ? e.mobileBreakpoint : t.thresholds.value[e.mobileBreakpoint];
    return t.width.value < i;
  }), a = h(() => n ? {
    [`${n}--mobile`]: l.value
  } : {});
  return {
    ...t,
    displayClasses: a,
    mobile: l
  };
}
const No = Symbol.for("vuetify:goto");
function zo() {
  return {
    container: void 0,
    duration: 300,
    layout: !1,
    offset: 0,
    easing: "easeInOutCubic",
    patterns: {
      linear: (e) => e,
      easeInQuad: (e) => e ** 2,
      easeOutQuad: (e) => e * (2 - e),
      easeInOutQuad: (e) => e < 0.5 ? 2 * e ** 2 : -1 + (4 - 2 * e) * e,
      easeInCubic: (e) => e ** 3,
      easeOutCubic: (e) => --e ** 3 + 1,
      easeInOutCubic: (e) => e < 0.5 ? 4 * e ** 3 : (e - 1) * (2 * e - 2) * (2 * e - 2) + 1,
      easeInQuart: (e) => e ** 4,
      easeOutQuart: (e) => 1 - --e ** 4,
      easeInOutQuart: (e) => e < 0.5 ? 8 * e ** 4 : 1 - 8 * --e ** 4,
      easeInQuint: (e) => e ** 5,
      easeOutQuint: (e) => 1 + --e ** 5,
      easeInOutQuint: (e) => e < 0.5 ? 16 * e ** 5 : 1 + 16 * --e ** 5
    }
  };
}
function Ho(e) {
  return Kn(e) ?? (document.scrollingElement || document.body);
}
function Kn(e) {
  return typeof e == "string" ? document.querySelector(e) : Kl(e);
}
function dn(e, n, t) {
  if (typeof e == "number") return n && t ? -e : e;
  let l = Kn(e), a = 0;
  for (; l; )
    a += n ? l.offsetLeft : l.offsetTop, l = l.offsetParent;
  return a;
}
async function Ol(e, n, t, l) {
  const a = t ? "scrollLeft" : "scrollTop", i = Ne((l == null ? void 0 : l.options) ?? zo(), n), o = l == null ? void 0 : l.rtl.value, r = (typeof e == "number" ? e : Kn(e)) ?? 0, u = i.container === "parent" && r instanceof HTMLElement ? r.parentElement : Ho(i.container), s = typeof i.easing == "function" ? i.easing : i.patterns[i.easing];
  if (!s) throw new TypeError(`Easing function "${i.easing}" not found.`);
  let d;
  if (typeof r == "number")
    d = dn(r, t, o);
  else if (d = dn(r, t, o) - dn(u, t, o), i.layout) {
    const g = window.getComputedStyle(r).getPropertyValue("--v-layout-top");
    g && (d -= parseInt(g, 10));
  }
  d += i.offset, d = jo(u, d, !!o, !!t);
  const v = u[a] ?? 0;
  if (d === v) return Promise.resolve(d);
  const f = performance.now();
  return new Promise((m) => requestAnimationFrame(function g(y) {
    const S = (y - f) / i.duration, _ = Math.floor(v + (d - v) * s(Ge(S, 0, 1)));
    if (u[a] = _, S >= 1 && Math.abs(_ - u[a]) < 10)
      return m(d);
    if (S > 2)
      return tt("Scroll target is not reachable"), m(u[a]);
    requestAnimationFrame(g);
  }));
}
function Wo() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
  const n = he(No), {
    isRtl: t
  } = Xe();
  if (!n) throw new Error("[Vuetify] Could not find injected goto instance");
  const l = {
    ...n,
    // can be set via VLocaleProvider
    rtl: h(() => n.rtl.value || t.value)
  };
  async function a(i, o) {
    return Ol(i, Ne(e, o), !1, l);
  }
  return a.horizontal = async (i, o) => Ol(i, Ne(e, o), !0, l), a;
}
function jo(e, n, t, l) {
  const {
    scrollWidth: a,
    scrollHeight: i
  } = e, [o, r] = e === document.scrollingElement ? [window.innerWidth, window.innerHeight] : [e.offsetWidth, e.offsetHeight];
  let u, s;
  return l ? t ? (u = -(a - o), s = 0) : (u = 0, s = a - o) : (u = 0, s = i + -r), Math.max(Math.min(n, s), u);
}
const _a = F({
  modelValue: {
    type: null,
    default: void 0
  },
  multiple: Boolean,
  mandatory: [Boolean, String],
  max: Number,
  selectedClass: String,
  disabled: Boolean
}, "group"), Uo = F({
  value: null,
  disabled: Boolean,
  selectedClass: String
}, "group-item");
function Go(e, n) {
  let t = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0;
  const l = ge("useGroupItem");
  if (!l)
    throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");
  const a = He();
  Le(Symbol.for(`${n.description}:id`), a);
  const i = he(n, null);
  if (!i) {
    if (!t) return i;
    throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${n.description}`);
  }
  const o = G(e, "value"), r = h(() => !!(i.disabled.value || e.disabled));
  i.register({
    id: a,
    value: o,
    disabled: r
  }, l), $e(() => {
    i.unregister(a);
  });
  const u = h(() => i.isSelected(a)), s = h(() => i.items.value[0].id === a), d = h(() => i.items.value[i.items.value.length - 1].id === a), v = h(() => u.value && [i.selectedClass.value, e.selectedClass]);
  return K(u, (f) => {
    l.emit("group:selected", {
      value: f
    });
  }, {
    flush: "sync"
  }), {
    id: a,
    isSelected: u,
    isFirst: s,
    isLast: d,
    toggle: () => i.select(a, !u.value),
    select: (f) => i.select(a, f),
    selectedClass: v,
    value: o,
    disabled: r,
    group: i
  };
}
function Ta(e, n) {
  let t = !1;
  const l = Qt([]), a = ve(e, "modelValue", [], (f) => f == null ? [] : La(l, pe(f)), (f) => {
    const m = qo(l, f);
    return e.multiple ? m : m[0];
  }), i = ge("useGroup");
  function o(f, m) {
    const g = f, y = Symbol.for(`${n.description}:id`), S = pt(y, i == null ? void 0 : i.vnode).indexOf(m);
    Ce(g.value) == null && (g.value = S, g.useIndexAsValue = !0), S > -1 ? l.splice(S, 0, g) : l.push(g);
  }
  function r(f) {
    if (t) return;
    u();
    const m = l.findIndex((g) => g.id === f);
    l.splice(m, 1);
  }
  function u() {
    const f = l.find((m) => !m.disabled);
    f && e.mandatory === "force" && !a.value.length && (a.value = [f.id]);
  }
  Ot(() => {
    u();
  }), $e(() => {
    t = !0;
  }), Si(() => {
    for (let f = 0; f < l.length; f++)
      l[f].useIndexAsValue && (l[f].value = f);
  });
  function s(f, m) {
    const g = l.find((y) => y.id === f);
    if (!(m && (g != null && g.disabled)))
      if (e.multiple) {
        const y = a.value.slice(), b = y.findIndex((_) => _ === f), S = ~b;
        if (m = m ?? !S, S && e.mandatory && y.length <= 1 || !S && e.max != null && y.length + 1 > e.max) return;
        b < 0 && m ? y.push(f) : b >= 0 && !m && y.splice(b, 1), a.value = y;
      } else {
        const y = a.value.includes(f);
        if (e.mandatory && y) return;
        a.value = m ?? !y ? [f] : [];
      }
  }
  function d(f) {
    if (e.multiple && tt('This method is not supported when using "multiple" prop'), a.value.length) {
      const m = a.value[0], g = l.findIndex((S) => S.id === m);
      let y = (g + f) % l.length, b = l[y];
      for (; b.disabled && y !== g; )
        y = (y + f) % l.length, b = l[y];
      if (b.disabled) return;
      a.value = [l[y].id];
    } else {
      const m = l.find((g) => !g.disabled);
      m && (a.value = [m.id]);
    }
  }
  const v = {
    register: o,
    unregister: r,
    selected: a,
    select: s,
    disabled: G(e, "disabled"),
    prev: () => d(l.length - 1),
    next: () => d(1),
    isSelected: (f) => a.value.includes(f),
    selectedClass: h(() => e.selectedClass),
    items: h(() => l),
    getItemIndex: (f) => Ko(l, f)
  };
  return Le(n, v), v;
}
function Ko(e, n) {
  const t = La(e, [n]);
  return t.length ? e.findIndex((l) => l.id === t[0]) : -1;
}
function La(e, n) {
  const t = [];
  return n.forEach((l) => {
    const a = e.find((o) => gt(l, o.value)), i = e[l];
    (a == null ? void 0 : a.value) != null ? t.push(a.id) : i != null && t.push(i.id);
  }), t;
}
function qo(e, n) {
  const t = [];
  return n.forEach((l) => {
    const a = e.findIndex((i) => i.id === l);
    if (~a) {
      const i = e[a];
      t.push(i.value != null ? i.value : a);
    }
  }), t;
}
function qt(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "content";
  const t = bn(), l = $();
  if (me) {
    const a = new ResizeObserver((i) => {
      i.length && (n === "content" ? l.value = i[0].contentRect : l.value = i[0].target.getBoundingClientRect());
    });
    $e(() => {
      a.disconnect();
    }), K(() => t.el, (i, o) => {
      o && (a.unobserve(o), l.value = void 0), i && a.observe(i);
    }, {
      flush: "post"
    });
  }
  return {
    resizeRef: t,
    contentRect: Bn(l)
  };
}
function Yo(e) {
  let {
    selectedElement: n,
    containerElement: t,
    isRtl: l,
    isHorizontal: a
  } = e;
  const i = At(a, t), o = Fa(a, l, t), r = At(a, n), u = Ma(a, n), s = r * 0.4;
  return o > u ? u - s : o + i < u + r ? u - i + r + s : o;
}
function Xo(e) {
  let {
    selectedElement: n,
    containerElement: t,
    isHorizontal: l
  } = e;
  const a = At(l, t), i = Ma(l, n), o = At(l, n);
  return i - a / 2 + o / 2;
}
function Bl(e, n) {
  const t = e ? "scrollWidth" : "scrollHeight";
  return (n == null ? void 0 : n[t]) || 0;
}
function Qo(e, n) {
  const t = e ? "clientWidth" : "clientHeight";
  return (n == null ? void 0 : n[t]) || 0;
}
function Fa(e, n, t) {
  if (!t)
    return 0;
  const {
    scrollLeft: l,
    offsetWidth: a,
    scrollWidth: i
  } = t;
  return e ? n ? i - a + l : l : t.scrollTop;
}
function At(e, n) {
  const t = e ? "offsetWidth" : "offsetHeight";
  return (n == null ? void 0 : n[t]) || 0;
}
function Ma(e, n) {
  const t = e ? "offsetLeft" : "offsetTop";
  return (n == null ? void 0 : n[t]) || 0;
}
const Jo = Symbol.for("vuetify:v-slide-group"), Ra = F({
  centerActive: Boolean,
  direction: {
    type: String,
    default: "horizontal"
  },
  symbol: {
    type: null,
    default: Jo
  },
  nextIcon: {
    type: se,
    default: "$next"
  },
  prevIcon: {
    type: se,
    default: "$prev"
  },
  showArrows: {
    type: [Boolean, String],
    validator: (e) => typeof e == "boolean" || ["always", "desktop", "mobile"].includes(e)
  },
  ...ae(),
  ...$o({
    mobile: null
  }),
  ...Me(),
  ..._a({
    selectedClass: "v-slide-group-item--active"
  })
}, "VSlideGroup"), _l = Q()({
  name: "VSlideGroup",
  props: Ra(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, n) {
    let {
      slots: t
    } = n;
    const {
      isRtl: l
    } = Xe(), {
      displayClasses: a,
      mobile: i
    } = Gn(e), o = Ta(e, e.symbol), r = U(!1), u = U(0), s = U(0), d = U(0), v = h(() => e.direction === "horizontal"), {
      resizeRef: f,
      contentRect: m
    } = qt(), {
      resizeRef: g,
      contentRect: y
    } = qt(), b = Wo(), S = h(() => ({
      container: f.el,
      duration: 200,
      easing: "easeOutQuart"
    })), _ = h(() => o.selected.value.length ? o.items.value.findIndex((x) => x.id === o.selected.value[0]) : -1), B = h(() => o.selected.value.length ? o.items.value.findIndex((x) => x.id === o.selected.value[o.selected.value.length - 1]) : -1);
    if (me) {
      let x = -1;
      K(() => [o.selected.value, m.value, y.value, v.value], () => {
        cancelAnimationFrame(x), x = requestAnimationFrame(() => {
          if (m.value && y.value) {
            const I = v.value ? "width" : "height";
            s.value = m.value[I], d.value = y.value[I], r.value = s.value + 1 < d.value;
          }
          if (_.value >= 0 && g.el) {
            const I = g.el.children[B.value];
            A(I, e.centerActive);
          }
        });
      });
    }
    const V = U(!1);
    function A(x, I) {
      let D = 0;
      I ? D = Xo({
        containerElement: f.el,
        isHorizontal: v.value,
        selectedElement: x
      }) : D = Yo({
        containerElement: f.el,
        isHorizontal: v.value,
        isRtl: l.value,
        selectedElement: x
      }), P(D);
    }
    function P(x) {
      if (!me || !f.el) return;
      const I = At(v.value, f.el), D = Fa(v.value, l.value, f.el);
      if (!(Bl(v.value, f.el) <= I || // Prevent scrolling by only a couple of pixels, which doesn't look smooth
      Math.abs(x - D) < 16)) {
        if (v.value && l.value && f.el) {
          const {
            scrollWidth: W,
            offsetWidth: le
          } = f.el;
          x = W - le - x;
        }
        v.value ? b.horizontal(x, S.value) : b(x, S.value);
      }
    }
    function O(x) {
      const {
        scrollTop: I,
        scrollLeft: D
      } = x.target;
      u.value = v.value ? D : I;
    }
    function E(x) {
      if (V.value = !0, !(!r.value || !g.el)) {
        for (const I of x.composedPath())
          for (const D of g.el.children)
            if (D === I) {
              A(D);
              return;
            }
      }
    }
    function R(x) {
      V.value = !1;
    }
    let z = !1;
    function M(x) {
      var I;
      !z && !V.value && !(x.relatedTarget && ((I = g.el) != null && I.contains(x.relatedTarget))) && w(), z = !1;
    }
    function C() {
      z = !0;
    }
    function p(x) {
      if (!g.el) return;
      function I(D) {
        x.preventDefault(), w(D);
      }
      v.value ? x.key === "ArrowRight" ? I(l.value ? "prev" : "next") : x.key === "ArrowLeft" && I(l.value ? "next" : "prev") : x.key === "ArrowDown" ? I("next") : x.key === "ArrowUp" && I("prev"), x.key === "Home" ? I("first") : x.key === "End" && I("last");
    }
    function w(x) {
      var D, ee;
      if (!g.el) return;
      let I;
      if (!x)
        I = Wt(g.el)[0];
      else if (x === "next") {
        if (I = (D = g.el.querySelector(":focus")) == null ? void 0 : D.nextElementSibling, !I) return w("first");
      } else if (x === "prev") {
        if (I = (ee = g.el.querySelector(":focus")) == null ? void 0 : ee.previousElementSibling, !I) return w("last");
      } else x === "first" ? I = g.el.firstElementChild : x === "last" && (I = g.el.lastElementChild);
      I && I.focus({
        preventScroll: !0
      });
    }
    function T(x) {
      const I = v.value && l.value ? -1 : 1, D = (x === "prev" ? -I : I) * s.value;
      let ee = u.value + D;
      if (v.value && l.value && f.el) {
        const {
          scrollWidth: W,
          offsetWidth: le
        } = f.el;
        ee += W - le;
      }
      P(ee);
    }
    const N = h(() => ({
      next: o.next,
      prev: o.prev,
      select: o.select,
      isSelected: o.isSelected
    })), J = h(() => {
      switch (e.showArrows) {
        case "always":
          return !0;
        case "desktop":
          return !i.value;
        case !0:
          return r.value || Math.abs(u.value) > 0;
        case "mobile":
          return i.value || r.value || Math.abs(u.value) > 0;
        default:
          return !i.value && (r.value || Math.abs(u.value) > 0);
      }
    }), j = h(() => Math.abs(u.value) > 1), k = h(() => {
      if (!f.value) return !1;
      const x = Bl(v.value, f.el), I = Qo(v.value, f.el);
      return x - I - Math.abs(u.value) > 1;
    });
    return ne(() => c(e.tag, {
      class: ["v-slide-group", {
        "v-slide-group--vertical": !v.value,
        "v-slide-group--has-affixes": J.value,
        "v-slide-group--is-overflowing": r.value
      }, a.value, e.class],
      style: e.style,
      tabindex: V.value || o.selected.value.length ? -1 : 0,
      onFocus: M
    }, {
      default: () => {
        var x, I, D;
        return [J.value && c("div", {
          key: "prev",
          class: ["v-slide-group__prev", {
            "v-slide-group__prev--disabled": !j.value
          }],
          onMousedown: C,
          onClick: () => j.value && T("prev")
        }, [((x = t.prev) == null ? void 0 : x.call(t, N.value)) ?? c(Al, null, {
          default: () => [c(we, {
            icon: l.value ? e.nextIcon : e.prevIcon
          }, null)]
        })]), c("div", {
          key: "container",
          ref: f,
          class: "v-slide-group__container",
          onScroll: O
        }, [c("div", {
          ref: g,
          class: "v-slide-group__content",
          onFocusin: E,
          onFocusout: R,
          onKeydown: p
        }, [(I = t.default) == null ? void 0 : I.call(t, N.value)])]), J.value && c("div", {
          key: "next",
          class: ["v-slide-group__next", {
            "v-slide-group__next--disabled": !k.value
          }],
          onMousedown: C,
          onClick: () => k.value && T("next")
        }, [((D = t.next) == null ? void 0 : D.call(t, N.value)) ?? c(Al, null, {
          default: () => [c(we, {
            icon: l.value ? e.prevIcon : e.nextIcon
          }, null)]
        })])];
      }
    })), {
      selected: o.selected,
      scrollTo: T,
      scrollOffset: u,
      focus: w,
      hasPrev: j,
      hasNext: k
    };
  }
}), Da = Symbol.for("vuetify:v-chip-group"), Zo = F({
  column: Boolean,
  filter: Boolean,
  valueComparator: {
    type: Function,
    default: gt
  },
  ...Ra(),
  ...ae(),
  ..._a({
    selectedClass: "v-chip--selected"
  }),
  ...Me(),
  ...Ee(),
  ..._t({
    variant: "tonal"
  })
}, "VChipGroup");
Q()({
  name: "VChipGroup",
  props: Zo(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, n) {
    let {
      slots: t
    } = n;
    const {
      themeClasses: l
    } = Re(e), {
      isSelected: a,
      select: i,
      next: o,
      prev: r,
      selected: u
    } = Ta(e, Da);
    return en({
      VChip: {
        color: G(e, "color"),
        disabled: G(e, "disabled"),
        filter: G(e, "filter"),
        variant: G(e, "variant")
      }
    }), ne(() => {
      const s = _l.filterProps(e);
      return c(_l, X(s, {
        class: ["v-chip-group", {
          "v-chip-group--column": e.column
        }, l.value, e.class],
        style: e.style
      }), {
        default: () => {
          var d;
          return [(d = t.default) == null ? void 0 : d.call(t, {
            isSelected: a,
            select: i,
            next: o,
            prev: r,
            selected: u.value
          })];
        }
      });
    }), {};
  }
});
const qn = F({
  elevation: {
    type: [Number, String],
    validator(e) {
      const n = parseInt(e);
      return !isNaN(n) && n >= 0 && // Material Design has a maximum elevation of 24
      // https://material.io/design/environment/elevation.html#default-elevations
      n <= 24;
    }
  }
}, "elevation");
function Yn(e) {
  return {
    elevationClasses: h(() => {
      const t = st(e) ? e.value : e.elevation, l = [];
      return t == null || l.push(`elevation-${t}`), l;
    })
  };
}
function er() {
  const e = ge("useRoute");
  return h(() => {
    var n;
    return (n = e == null ? void 0 : e.proxy) == null ? void 0 : n.$route;
  });
}
function tr() {
  var e, n;
  return (n = (e = ge("useRouter")) == null ? void 0 : e.proxy) == null ? void 0 : n.$router;
}
function $a(e, n) {
  var s, d;
  const t = wi("RouterLink"), l = h(() => !!(e.href || e.to)), a = h(() => (l == null ? void 0 : l.value) || il(n, "click") || il(e, "click"));
  if (typeof t == "string" || !("useLink" in t))
    return {
      isLink: l,
      isClickable: a,
      href: G(e, "href")
    };
  const i = h(() => ({
    ...e,
    to: G(() => e.to || "")
  })), o = t.useLink(i.value), r = h(() => e.to ? o : void 0), u = er();
  return {
    isLink: l,
    isClickable: a,
    route: (s = r.value) == null ? void 0 : s.route,
    navigate: (d = r.value) == null ? void 0 : d.navigate,
    isActive: h(() => {
      var v, f, m;
      return r.value ? e.exact ? u.value ? ((m = r.value.isExactActive) == null ? void 0 : m.value) && gt(r.value.route.value.query, u.value.query) : ((f = r.value.isExactActive) == null ? void 0 : f.value) ?? !1 : ((v = r.value.isActive) == null ? void 0 : v.value) ?? !1 : !1;
    }),
    href: h(() => {
      var v;
      return e.to ? (v = r.value) == null ? void 0 : v.route.value.href : e.href;
    })
  };
}
const Na = F({
  href: String,
  replace: Boolean,
  to: [String, Object],
  exact: Boolean
}, "router");
let fn = !1;
function nr(e, n) {
  let t = !1, l, a;
  me && (ke(() => {
    window.addEventListener("popstate", i), l = e == null ? void 0 : e.beforeEach((o, r, u) => {
      fn ? t ? n(u) : u() : setTimeout(() => t ? n(u) : u()), fn = !0;
    }), a = e == null ? void 0 : e.afterEach(() => {
      fn = !1;
    });
  }), Ve(() => {
    window.removeEventListener("popstate", i), l == null || l(), a == null || a();
  }));
  function i(o) {
    var r;
    (r = o.state) != null && r.replaced || (t = !0, setTimeout(() => t = !1));
  }
}
const lr = F({
  activeClass: String,
  appendAvatar: String,
  appendIcon: se,
  closable: Boolean,
  closeIcon: {
    type: se,
    default: "$delete"
  },
  closeLabel: {
    type: String,
    default: "$vuetify.close"
  },
  draggable: Boolean,
  filter: Boolean,
  filterIcon: {
    type: String,
    default: "$complete"
  },
  label: Boolean,
  link: {
    type: Boolean,
    default: void 0
  },
  pill: Boolean,
  prependAvatar: String,
  prependIcon: se,
  ripple: {
    type: [Boolean, Object],
    default: !0
  },
  text: String,
  modelValue: {
    type: Boolean,
    default: !0
  },
  onClick: xe(),
  onClickOnce: xe(),
  ...nn(),
  ...ae(),
  ...St(),
  ...qn(),
  ...Uo(),
  ...it(),
  ...Na(),
  ...Nn(),
  ...Me({
    tag: "span"
  }),
  ...Ee(),
  ..._t({
    variant: "tonal"
  })
}, "VChip"), za = Q()({
  name: "VChip",
  directives: {
    Ripple: jn
  },
  props: lr(),
  emits: {
    "click:close": (e) => !0,
    "update:modelValue": (e) => !0,
    "group:selected": (e) => !0,
    click: (e) => !0
  },
  setup(e, n) {
    let {
      attrs: t,
      emit: l,
      slots: a
    } = n;
    const {
      t: i
    } = an(), {
      borderClasses: o
    } = ln(e), {
      colorClasses: r,
      colorStyles: u,
      variantClasses: s
    } = Wn(e), {
      densityClasses: d
    } = wt(e), {
      elevationClasses: v
    } = Yn(e), {
      roundedClasses: f
    } = ot(e), {
      sizeClasses: m
    } = zn(e), {
      themeClasses: g
    } = Re(e), y = ve(e, "modelValue"), b = Go(e, Da, !1), S = $a(e, t), _ = h(() => e.link !== !1 && S.isLink.value), B = h(() => !e.disabled && e.link !== !1 && (!!b || e.link || S.isClickable.value)), V = h(() => ({
      "aria-label": i(e.closeLabel),
      onClick(O) {
        O.preventDefault(), O.stopPropagation(), y.value = !1, l("click:close", O);
      }
    }));
    function A(O) {
      var E;
      l("click", O), B.value && ((E = S.navigate) == null || E.call(S, O), b == null || b.toggle());
    }
    function P(O) {
      (O.key === "Enter" || O.key === " ") && (O.preventDefault(), A(O));
    }
    return () => {
      const O = S.isLink.value ? "a" : e.tag, E = !!(e.appendIcon || e.appendAvatar), R = !!(E || a.append), z = !!(a.close || e.closable), M = !!(a.filter || e.filter) && b, C = !!(e.prependIcon || e.prependAvatar), p = !!(C || a.prepend), w = !b || b.isSelected.value;
      return y.value && Fe(c(O, {
        class: ["v-chip", {
          "v-chip--disabled": e.disabled,
          "v-chip--label": e.label,
          "v-chip--link": B.value,
          "v-chip--filter": M,
          "v-chip--pill": e.pill
        }, g.value, o.value, w ? r.value : void 0, d.value, v.value, f.value, m.value, s.value, b == null ? void 0 : b.selectedClass.value, e.class],
        style: [w ? u.value : void 0, e.style],
        disabled: e.disabled || void 0,
        draggable: e.draggable,
        href: S.href.value,
        tabindex: B.value ? 0 : void 0,
        onClick: A,
        onKeydown: B.value && !_.value && P
      }, {
        default: () => {
          var T;
          return [Hn(B.value, "v-chip"), M && c(Aa, {
            key: "filter"
          }, {
            default: () => [Fe(c("div", {
              class: "v-chip__filter"
            }, [a.filter ? c(Te, {
              key: "filter-defaults",
              disabled: !e.filterIcon,
              defaults: {
                VIcon: {
                  icon: e.filterIcon
                }
              }
            }, a.filter) : c(we, {
              key: "filter-icon",
              icon: e.filterIcon
            }, null)]), [[mt, b.isSelected.value]])]
          }), p && c("div", {
            key: "prepend",
            class: "v-chip__prepend"
          }, [a.prepend ? c(Te, {
            key: "prepend-defaults",
            disabled: !C,
            defaults: {
              VAvatar: {
                image: e.prependAvatar,
                start: !0
              },
              VIcon: {
                icon: e.prependIcon,
                start: !0
              }
            }
          }, a.prepend) : c(ue, null, [e.prependIcon && c(we, {
            key: "prepend-icon",
            icon: e.prependIcon,
            start: !0
          }, null), e.prependAvatar && c(dt, {
            key: "prepend-avatar",
            image: e.prependAvatar,
            start: !0
          }, null)])]), c("div", {
            class: "v-chip__content",
            "data-no-activator": ""
          }, [((T = a.default) == null ? void 0 : T.call(a, {
            isSelected: b == null ? void 0 : b.isSelected.value,
            selectedClass: b == null ? void 0 : b.selectedClass.value,
            select: b == null ? void 0 : b.select,
            toggle: b == null ? void 0 : b.toggle,
            value: b == null ? void 0 : b.value.value,
            disabled: e.disabled
          })) ?? e.text]), R && c("div", {
            key: "append",
            class: "v-chip__append"
          }, [a.append ? c(Te, {
            key: "append-defaults",
            disabled: !E,
            defaults: {
              VAvatar: {
                end: !0,
                image: e.appendAvatar
              },
              VIcon: {
                end: !0,
                icon: e.appendIcon
              }
            }
          }, a.append) : c(ue, null, [e.appendIcon && c(we, {
            key: "append-icon",
            end: !0,
            icon: e.appendIcon
          }, null), e.appendAvatar && c(dt, {
            key: "append-avatar",
            end: !0,
            image: e.appendAvatar
          }, null)])]), z && c("button", X({
            key: "close",
            class: "v-chip__close",
            type: "button"
          }, V.value), [a.close ? c(Te, {
            key: "close-defaults",
            defaults: {
              VIcon: {
                icon: e.closeIcon,
                size: "x-small"
              }
            }
          }, a.close) : c(we, {
            key: "close-icon",
            icon: e.closeIcon,
            size: "x-small"
          }, null)])];
        }
      }), [[vt("ripple"), B.value && e.ripple, null]]);
    };
  }
}), kn = Symbol.for("vuetify:list");
function Ha() {
  const e = he(kn, {
    hasPrepend: U(!1),
    updateHasPrepend: () => null
  }), n = {
    hasPrepend: U(!1),
    updateHasPrepend: (t) => {
      t && (n.hasPrepend.value = t);
    }
  };
  return Le(kn, n), e;
}
function Wa() {
  return he(kn, null);
}
const Xn = (e) => {
  const n = {
    activate: (t) => {
      let {
        id: l,
        value: a,
        activated: i
      } = t;
      return l = re(l), e && !a && i.size === 1 && i.has(l) || (a ? i.add(l) : i.delete(l)), i;
    },
    in: (t, l, a) => {
      let i = /* @__PURE__ */ new Set();
      if (t != null)
        for (const o of pe(t))
          i = n.activate({
            id: o,
            value: !0,
            activated: new Set(i),
            children: l,
            parents: a
          });
      return i;
    },
    out: (t) => Array.from(t)
  };
  return n;
}, ja = (e) => {
  const n = Xn(e);
  return {
    activate: (l) => {
      let {
        activated: a,
        id: i,
        ...o
      } = l;
      i = re(i);
      const r = a.has(i) ? /* @__PURE__ */ new Set([i]) : /* @__PURE__ */ new Set();
      return n.activate({
        ...o,
        id: i,
        activated: r
      });
    },
    in: (l, a, i) => {
      let o = /* @__PURE__ */ new Set();
      if (l != null) {
        const r = pe(l);
        r.length && (o = n.in(r.slice(0, 1), a, i));
      }
      return o;
    },
    out: (l, a, i) => n.out(l, a, i)
  };
}, ar = (e) => {
  const n = Xn(e);
  return {
    activate: (l) => {
      let {
        id: a,
        activated: i,
        children: o,
        ...r
      } = l;
      return a = re(a), o.has(a) ? i : n.activate({
        id: a,
        activated: i,
        children: o,
        ...r
      });
    },
    in: n.in,
    out: n.out
  };
}, ir = (e) => {
  const n = ja(e);
  return {
    activate: (l) => {
      let {
        id: a,
        activated: i,
        children: o,
        ...r
      } = l;
      return a = re(a), o.has(a) ? i : n.activate({
        id: a,
        activated: i,
        children: o,
        ...r
      });
    },
    in: n.in,
    out: n.out
  };
}, or = {
  open: (e) => {
    let {
      id: n,
      value: t,
      opened: l,
      parents: a
    } = e;
    if (t) {
      const i = /* @__PURE__ */ new Set();
      i.add(n);
      let o = a.get(n);
      for (; o != null; )
        i.add(o), o = a.get(o);
      return i;
    } else
      return l.delete(n), l;
  },
  select: () => null
}, Ua = {
  open: (e) => {
    let {
      id: n,
      value: t,
      opened: l,
      parents: a
    } = e;
    if (t) {
      let i = re(a.get(n));
      for (l.add(n); i != null && i !== n; )
        l.add(i), i = re(a.get(i));
      return l;
    } else
      l.delete(n);
    return l;
  },
  select: () => null
}, rr = {
  open: Ua.open,
  select: (e) => {
    let {
      id: n,
      value: t,
      opened: l,
      parents: a
    } = e;
    if (!t) return l;
    const i = [];
    let o = a.get(n);
    for (; o != null; )
      i.push(o), o = a.get(o);
    return new Set(i);
  }
}, Qn = (e) => {
  const n = {
    select: (t) => {
      let {
        id: l,
        value: a,
        selected: i
      } = t;
      if (l = re(l), e && !a) {
        const o = Array.from(i.entries()).reduce((r, u) => {
          let [s, d] = u;
          return d === "on" && r.push(s), r;
        }, []);
        if (o.length === 1 && o[0] === l) return i;
      }
      return i.set(l, a ? "on" : "off"), i;
    },
    in: (t, l, a) => {
      let i = /* @__PURE__ */ new Map();
      for (const o of t || [])
        i = n.select({
          id: o,
          value: !0,
          selected: new Map(i),
          children: l,
          parents: a
        });
      return i;
    },
    out: (t) => {
      const l = [];
      for (const [a, i] of t.entries())
        i === "on" && l.push(a);
      return l;
    }
  };
  return n;
}, Ga = (e) => {
  const n = Qn(e);
  return {
    select: (l) => {
      let {
        selected: a,
        id: i,
        ...o
      } = l;
      i = re(i);
      const r = a.has(i) ? /* @__PURE__ */ new Map([[i, a.get(i)]]) : /* @__PURE__ */ new Map();
      return n.select({
        ...o,
        id: i,
        selected: r
      });
    },
    in: (l, a, i) => {
      let o = /* @__PURE__ */ new Map();
      return l != null && l.length && (o = n.in(l.slice(0, 1), a, i)), o;
    },
    out: (l, a, i) => n.out(l, a, i)
  };
}, ur = (e) => {
  const n = Qn(e);
  return {
    select: (l) => {
      let {
        id: a,
        selected: i,
        children: o,
        ...r
      } = l;
      return a = re(a), o.has(a) ? i : n.select({
        id: a,
        selected: i,
        children: o,
        ...r
      });
    },
    in: n.in,
    out: n.out
  };
}, sr = (e) => {
  const n = Ga(e);
  return {
    select: (l) => {
      let {
        id: a,
        selected: i,
        children: o,
        ...r
      } = l;
      return a = re(a), o.has(a) ? i : n.select({
        id: a,
        selected: i,
        children: o,
        ...r
      });
    },
    in: n.in,
    out: n.out
  };
}, cr = (e) => {
  const n = {
    select: (t) => {
      let {
        id: l,
        value: a,
        selected: i,
        children: o,
        parents: r
      } = t;
      l = re(l);
      const u = new Map(i), s = [l];
      for (; s.length; ) {
        const v = s.shift();
        i.set(re(v), a ? "on" : "off"), o.has(v) && s.push(...o.get(v));
      }
      let d = re(r.get(l));
      for (; d; ) {
        const v = o.get(d), f = v.every((g) => i.get(re(g)) === "on"), m = v.every((g) => !i.has(re(g)) || i.get(re(g)) === "off");
        i.set(d, f ? "on" : m ? "off" : "indeterminate"), d = re(r.get(d));
      }
      return e && !a && Array.from(i.entries()).reduce((f, m) => {
        let [g, y] = m;
        return y === "on" && f.push(g), f;
      }, []).length === 0 ? u : i;
    },
    in: (t, l, a) => {
      let i = /* @__PURE__ */ new Map();
      for (const o of t || [])
        i = n.select({
          id: o,
          value: !0,
          selected: new Map(i),
          children: l,
          parents: a
        });
      return i;
    },
    out: (t, l) => {
      const a = [];
      for (const [i, o] of t.entries())
        o === "on" && !l.has(i) && a.push(i);
      return a;
    }
  };
  return n;
}, Et = Symbol.for("vuetify:nested"), Ka = {
  id: U(),
  root: {
    register: () => null,
    unregister: () => null,
    parents: $(/* @__PURE__ */ new Map()),
    children: $(/* @__PURE__ */ new Map()),
    open: () => null,
    openOnSelect: () => null,
    activate: () => null,
    select: () => null,
    activatable: $(!1),
    selectable: $(!1),
    opened: $(/* @__PURE__ */ new Set()),
    activated: $(/* @__PURE__ */ new Set()),
    selected: $(/* @__PURE__ */ new Map()),
    selectedValues: $([])
  }
}, dr = F({
  activatable: Boolean,
  selectable: Boolean,
  activeStrategy: [String, Function, Object],
  selectStrategy: [String, Function, Object],
  openStrategy: [String, Object],
  opened: null,
  activated: null,
  selected: null,
  mandatory: Boolean
}, "nested"), fr = (e) => {
  let n = !1;
  const t = $(/* @__PURE__ */ new Map()), l = $(/* @__PURE__ */ new Map()), a = ve(e, "opened", e.opened, (m) => new Set(re(m)), (m) => [...m.values()]), i = h(() => {
    if (typeof e.activeStrategy == "object") return e.activeStrategy;
    if (typeof e.activeStrategy == "function") return e.activeStrategy(e.mandatory);
    switch (e.activeStrategy) {
      case "leaf":
        return ar(e.mandatory);
      case "single-leaf":
        return ir(e.mandatory);
      case "independent":
        return Xn(e.mandatory);
      case "single-independent":
      default:
        return ja(e.mandatory);
    }
  }), o = h(() => {
    if (typeof e.selectStrategy == "object") return e.selectStrategy;
    if (typeof e.selectStrategy == "function") return e.selectStrategy(e.mandatory);
    switch (e.selectStrategy) {
      case "single-leaf":
        return sr(e.mandatory);
      case "leaf":
        return ur(e.mandatory);
      case "independent":
        return Qn(e.mandatory);
      case "single-independent":
        return Ga(e.mandatory);
      case "classic":
      default:
        return cr(e.mandatory);
    }
  }), r = h(() => {
    if (typeof e.openStrategy == "object") return e.openStrategy;
    switch (e.openStrategy) {
      case "list":
        return rr;
      case "single":
        return or;
      case "multiple":
      default:
        return Ua;
    }
  }), u = ve(e, "activated", e.activated, (m) => i.value.in(m, t.value, l.value), (m) => i.value.out(m, t.value, l.value)), s = ve(e, "selected", e.selected, (m) => o.value.in(m, t.value, l.value), (m) => o.value.out(m, t.value, l.value));
  $e(() => {
    n = !0;
  });
  function d(m) {
    const g = [];
    let y = m;
    for (; y != null; )
      g.unshift(y), y = l.value.get(y);
    return g;
  }
  const v = ge("nested"), f = {
    id: U(),
    root: {
      opened: a,
      activatable: G(e, "activatable"),
      selectable: G(e, "selectable"),
      activated: u,
      selected: s,
      selectedValues: h(() => {
        const m = [];
        for (const [g, y] of s.value.entries())
          y === "on" && m.push(g);
        return m;
      }),
      register: (m, g, y) => {
        g && m !== g && l.value.set(m, g), y && t.value.set(m, []), g != null && t.value.set(g, [...t.value.get(g) || [], m]);
      },
      unregister: (m) => {
        if (n) return;
        t.value.delete(m);
        const g = l.value.get(m);
        if (g) {
          const y = t.value.get(g) ?? [];
          t.value.set(g, y.filter((b) => b !== m));
        }
        l.value.delete(m);
      },
      open: (m, g, y) => {
        v.emit("click:open", {
          id: m,
          value: g,
          path: d(m),
          event: y
        });
        const b = r.value.open({
          id: m,
          value: g,
          opened: new Set(a.value),
          children: t.value,
          parents: l.value,
          event: y
        });
        b && (a.value = b);
      },
      openOnSelect: (m, g, y) => {
        const b = r.value.select({
          id: m,
          value: g,
          selected: new Map(s.value),
          opened: new Set(a.value),
          children: t.value,
          parents: l.value,
          event: y
        });
        b && (a.value = b);
      },
      select: (m, g, y) => {
        v.emit("click:select", {
          id: m,
          value: g,
          path: d(m),
          event: y
        });
        const b = o.value.select({
          id: m,
          value: g,
          selected: new Map(s.value),
          children: t.value,
          parents: l.value,
          event: y
        });
        b && (s.value = b), f.root.openOnSelect(m, g, y);
      },
      activate: (m, g, y) => {
        if (!e.activatable)
          return f.root.select(m, !0, y);
        v.emit("click:activate", {
          id: m,
          value: g,
          path: d(m),
          event: y
        });
        const b = i.value.activate({
          id: m,
          value: g,
          activated: new Set(u.value),
          children: t.value,
          parents: l.value,
          event: y
        });
        b && (u.value = b);
      },
      children: t,
      parents: l
    }
  };
  return Le(Et, f), f.root;
}, qa = (e, n) => {
  const t = he(Et, Ka), l = Symbol(He()), a = h(() => e.value !== void 0 ? e.value : l), i = {
    ...t,
    id: a,
    open: (o, r) => t.root.open(re(a.value), o, r),
    openOnSelect: (o, r) => t.root.openOnSelect(a.value, o, r),
    isOpen: h(() => t.root.opened.value.has(re(a.value))),
    parent: h(() => t.root.parents.value.get(a.value)),
    activate: (o, r) => t.root.activate(a.value, o, r),
    isActivated: h(() => t.root.activated.value.has(re(a.value))),
    select: (o, r) => t.root.select(a.value, o, r),
    isSelected: h(() => t.root.selected.value.get(re(a.value)) === "on"),
    isIndeterminate: h(() => t.root.selected.value.get(a.value) === "indeterminate"),
    isLeaf: h(() => !t.root.children.value.get(a.value)),
    isGroupActivator: t.isGroupActivator
  };
  return !t.isGroupActivator && t.root.register(a.value, t.id.value, n), $e(() => {
    !t.isGroupActivator && t.root.unregister(a.value);
  }), n && Le(Et, i), i;
}, vr = () => {
  const e = he(Et, Ka);
  Le(Et, {
    ...e,
    isGroupActivator: !0
  });
};
function mr() {
  const e = U(!1);
  return Ot(() => {
    window.requestAnimationFrame(() => {
      e.value = !0;
    });
  }), {
    ssrBootStyles: h(() => e.value ? void 0 : {
      transition: "none !important"
    }),
    isBooted: Bn(e)
  };
}
const gr = Bt({
  name: "VListGroupActivator",
  setup(e, n) {
    let {
      slots: t
    } = n;
    return vr(), () => {
      var l;
      return (l = t.default) == null ? void 0 : l.call(t);
    };
  }
}), yr = F({
  /* @deprecated */
  activeColor: String,
  baseColor: String,
  color: String,
  collapseIcon: {
    type: se,
    default: "$collapse"
  },
  expandIcon: {
    type: se,
    default: "$expand"
  },
  prependIcon: se,
  appendIcon: se,
  fluid: Boolean,
  subgroup: Boolean,
  title: String,
  value: null,
  ...ae(),
  ...Me()
}, "VListGroup"), Tl = Q()({
  name: "VListGroup",
  props: yr(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    const {
      isOpen: l,
      open: a,
      id: i
    } = qa(G(e, "value"), !0), o = h(() => `v-list-group--id-${String(i.value)}`), r = Wa(), {
      isBooted: u
    } = mr();
    function s(m) {
      m.stopPropagation(), a(!l.value, m);
    }
    const d = h(() => ({
      onClick: s,
      class: "v-list-group__header",
      id: o.value
    })), v = h(() => l.value ? e.collapseIcon : e.expandIcon), f = h(() => ({
      VListItem: {
        active: l.value,
        activeColor: e.activeColor,
        baseColor: e.baseColor,
        color: e.color,
        prependIcon: e.prependIcon || e.subgroup && v.value,
        appendIcon: e.appendIcon || !e.subgroup && v.value,
        title: e.title,
        value: e.value
      }
    }));
    return ne(() => c(e.tag, {
      class: ["v-list-group", {
        "v-list-group--prepend": r == null ? void 0 : r.hasPrepend.value,
        "v-list-group--fluid": e.fluid,
        "v-list-group--subgroup": e.subgroup,
        "v-list-group--open": l.value
      }, e.class],
      style: e.style
    }, {
      default: () => [t.activator && c(Te, {
        defaults: f.value
      }, {
        default: () => [c(gr, null, {
          default: () => [t.activator({
            props: d.value,
            isOpen: l.value
          })]
        })]
      }), c(Ue, {
        transition: {
          component: _o
        },
        disabled: !u.value
      }, {
        default: () => {
          var m;
          return [Fe(c("div", {
            class: "v-list-group__items",
            role: "group",
            "aria-labelledby": o.value
          }, [(m = t.default) == null ? void 0 : m.call(t)]), [[mt, l.value]])];
        }
      })]
    })), {
      isOpen: l
    };
  }
}), hr = F({
  opacity: [Number, String],
  ...ae(),
  ...Me()
}, "VListItemSubtitle"), br = Q()({
  name: "VListItemSubtitle",
  props: hr(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    return ne(() => c(e.tag, {
      class: ["v-list-item-subtitle", e.class],
      style: [{
        "--v-list-item-subtitle-opacity": e.opacity
      }, e.style]
    }, t)), {};
  }
}), Sr = no("v-list-item-title"), wr = F({
  active: {
    type: Boolean,
    default: void 0
  },
  activeClass: String,
  /* @deprecated */
  activeColor: String,
  appendAvatar: String,
  appendIcon: se,
  baseColor: String,
  disabled: Boolean,
  lines: [Boolean, String],
  link: {
    type: Boolean,
    default: void 0
  },
  nav: Boolean,
  prependAvatar: String,
  prependIcon: se,
  ripple: {
    type: [Boolean, Object],
    default: !0
  },
  slim: Boolean,
  subtitle: [String, Number],
  title: [String, Number],
  value: null,
  onClick: xe(),
  onClickOnce: xe(),
  ...nn(),
  ...ae(),
  ...St(),
  ...yt(),
  ...qn(),
  ...it(),
  ...Na(),
  ...Me(),
  ...Ee(),
  ..._t({
    variant: "text"
  })
}, "VListItem"), ft = Q()({
  name: "VListItem",
  directives: {
    Ripple: jn
  },
  props: wr(),
  emits: {
    click: (e) => !0
  },
  setup(e, n) {
    let {
      attrs: t,
      slots: l,
      emit: a
    } = n;
    const i = $a(e, t), o = h(() => e.value === void 0 ? i.href.value : e.value), {
      activate: r,
      isActivated: u,
      select: s,
      isOpen: d,
      isSelected: v,
      isIndeterminate: f,
      isGroupActivator: m,
      root: g,
      parent: y,
      openOnSelect: b
    } = qa(o, !1), S = Wa(), _ = h(() => {
      var I;
      return e.active !== !1 && (e.active || ((I = i.isActive) == null ? void 0 : I.value) || (g.activatable.value ? u.value : v.value));
    }), B = h(() => e.link !== !1 && i.isLink.value), V = h(() => !e.disabled && e.link !== !1 && (e.link || i.isClickable.value || !!S && (g.selectable.value || g.activatable.value || e.value != null))), A = h(() => e.rounded || e.nav), P = h(() => e.color ?? e.activeColor), O = h(() => ({
      color: _.value ? P.value ?? e.baseColor : e.baseColor,
      variant: e.variant
    }));
    K(() => {
      var I;
      return (I = i.isActive) == null ? void 0 : I.value;
    }, (I) => {
      I && y.value != null && g.open(y.value, !0), I && b(I);
    }, {
      immediate: !0
    });
    const {
      themeClasses: E
    } = Re(e), {
      borderClasses: R
    } = ln(e), {
      colorClasses: z,
      colorStyles: M,
      variantClasses: C
    } = Wn(O), {
      densityClasses: p
    } = wt(e), {
      dimensionStyles: w
    } = ht(e), {
      elevationClasses: T
    } = Yn(e), {
      roundedClasses: N
    } = ot(A), J = h(() => e.lines ? `v-list-item--${e.lines}-line` : void 0), j = h(() => ({
      isActive: _.value,
      select: s,
      isOpen: d.value,
      isSelected: v.value,
      isIndeterminate: f.value
    }));
    function k(I) {
      var D;
      a("click", I), V.value && ((D = i.navigate) == null || D.call(i, I), !m && (g.activatable.value ? r(!u.value, I) : (g.selectable.value || e.value != null) && s(!v.value, I)));
    }
    function x(I) {
      (I.key === "Enter" || I.key === " ") && (I.preventDefault(), I.target.dispatchEvent(new MouseEvent("click", I)));
    }
    return ne(() => {
      const I = B.value ? "a" : e.tag, D = l.title || e.title != null, ee = l.subtitle || e.subtitle != null, W = !!(e.appendAvatar || e.appendIcon), le = !!(W || l.append), H = !!(e.prependAvatar || e.prependIcon), te = !!(H || l.prepend);
      return S == null || S.updateHasPrepend(te), e.activeColor && Xi("active-color", ["color", "base-color"]), Fe(c(I, {
        class: ["v-list-item", {
          "v-list-item--active": _.value,
          "v-list-item--disabled": e.disabled,
          "v-list-item--link": V.value,
          "v-list-item--nav": e.nav,
          "v-list-item--prepend": !te && (S == null ? void 0 : S.hasPrepend.value),
          "v-list-item--slim": e.slim,
          [`${e.activeClass}`]: e.activeClass && _.value
        }, E.value, R.value, z.value, p.value, T.value, J.value, N.value, C.value, e.class],
        style: [M.value, w.value, e.style],
        href: i.href.value,
        tabindex: V.value ? S ? -2 : 0 : void 0,
        onClick: k,
        onKeydown: V.value && !B.value && x
      }, {
        default: () => {
          var ce;
          return [Hn(V.value || _.value, "v-list-item"), te && c("div", {
            key: "prepend",
            class: "v-list-item__prepend"
          }, [l.prepend ? c(Te, {
            key: "prepend-defaults",
            disabled: !H,
            defaults: {
              VAvatar: {
                density: e.density,
                image: e.prependAvatar
              },
              VIcon: {
                density: e.density,
                icon: e.prependIcon
              },
              VListItemAction: {
                start: !0
              }
            }
          }, {
            default: () => {
              var ie;
              return [(ie = l.prepend) == null ? void 0 : ie.call(l, j.value)];
            }
          }) : c(ue, null, [e.prependAvatar && c(dt, {
            key: "prepend-avatar",
            density: e.density,
            image: e.prependAvatar
          }, null), e.prependIcon && c(we, {
            key: "prepend-icon",
            density: e.density,
            icon: e.prependIcon
          }, null)]), c("div", {
            class: "v-list-item__spacer"
          }, null)]), c("div", {
            class: "v-list-item__content",
            "data-no-activator": ""
          }, [D && c(Sr, {
            key: "title"
          }, {
            default: () => {
              var ie;
              return [((ie = l.title) == null ? void 0 : ie.call(l, {
                title: e.title
              })) ?? e.title];
            }
          }), ee && c(br, {
            key: "subtitle"
          }, {
            default: () => {
              var ie;
              return [((ie = l.subtitle) == null ? void 0 : ie.call(l, {
                subtitle: e.subtitle
              })) ?? e.subtitle];
            }
          }), (ce = l.default) == null ? void 0 : ce.call(l, j.value)]), le && c("div", {
            key: "append",
            class: "v-list-item__append"
          }, [l.append ? c(Te, {
            key: "append-defaults",
            disabled: !W,
            defaults: {
              VAvatar: {
                density: e.density,
                image: e.appendAvatar
              },
              VIcon: {
                density: e.density,
                icon: e.appendIcon
              },
              VListItemAction: {
                end: !0
              }
            }
          }, {
            default: () => {
              var ie;
              return [(ie = l.append) == null ? void 0 : ie.call(l, j.value)];
            }
          }) : c(ue, null, [e.appendIcon && c(we, {
            key: "append-icon",
            density: e.density,
            icon: e.appendIcon
          }, null), e.appendAvatar && c(dt, {
            key: "append-avatar",
            density: e.density,
            image: e.appendAvatar
          }, null)]), c("div", {
            class: "v-list-item__spacer"
          }, null)])];
        }
      }), [[vt("ripple"), V.value && e.ripple]]);
    }), {
      activate: r,
      isActivated: u,
      isGroupActivator: m,
      isSelected: v,
      list: S,
      select: s
    };
  }
}), Cr = F({
  color: String,
  inset: Boolean,
  sticky: Boolean,
  title: String,
  ...ae(),
  ...Me()
}, "VListSubheader"), pr = Q()({
  name: "VListSubheader",
  props: Cr(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    const {
      textColorClasses: l,
      textColorStyles: a
    } = Ye(G(e, "color"));
    return ne(() => {
      const i = !!(t.default || e.title);
      return c(e.tag, {
        class: ["v-list-subheader", {
          "v-list-subheader--inset": e.inset,
          "v-list-subheader--sticky": e.sticky
        }, l.value, e.class],
        style: [{
          textColorStyles: a
        }, e.style]
      }, {
        default: () => {
          var o;
          return [i && c("div", {
            class: "v-list-subheader__text"
          }, [((o = t.default) == null ? void 0 : o.call(t)) ?? e.title])];
        }
      });
    }), {};
  }
}), xr = F({
  color: String,
  inset: Boolean,
  length: [Number, String],
  opacity: [Number, String],
  thickness: [Number, String],
  vertical: Boolean,
  ...ae(),
  ...Ee()
}, "VDivider"), kr = Q()({
  name: "VDivider",
  props: xr(),
  setup(e, n) {
    let {
      attrs: t,
      slots: l
    } = n;
    const {
      themeClasses: a
    } = Re(e), {
      textColorClasses: i,
      textColorStyles: o
    } = Ye(G(e, "color")), r = h(() => {
      const u = {};
      return e.length && (u[e.vertical ? "height" : "width"] = q(e.length)), e.thickness && (u[e.vertical ? "borderRightWidth" : "borderTopWidth"] = q(e.thickness)), u;
    });
    return ne(() => {
      const u = c("hr", {
        class: [{
          "v-divider": !0,
          "v-divider--inset": e.inset,
          "v-divider--vertical": e.vertical
        }, a.value, i.value, e.class],
        style: [r.value, o.value, {
          "--v-border-opacity": e.opacity
        }, e.style],
        "aria-orientation": !t.role || t.role === "separator" ? e.vertical ? "vertical" : "horizontal" : void 0,
        role: `${t.role || "separator"}`
      }, null);
      return l.default ? c("div", {
        class: ["v-divider__wrapper", {
          "v-divider__wrapper--vertical": e.vertical,
          "v-divider__wrapper--inset": e.inset
        }]
      }, [u, c("div", {
        class: "v-divider__content"
      }, [l.default()]), u]) : u;
    }), {};
  }
}), Vr = F({
  items: Array,
  returnObject: Boolean
}, "VListChildren"), Ya = Q()({
  name: "VListChildren",
  props: Vr(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    return Ha(), () => {
      var l, a;
      return ((l = t.default) == null ? void 0 : l.call(t)) ?? ((a = e.items) == null ? void 0 : a.map((i) => {
        var f, m;
        let {
          children: o,
          props: r,
          type: u,
          raw: s
        } = i;
        if (u === "divider")
          return ((f = t.divider) == null ? void 0 : f.call(t, {
            props: r
          })) ?? c(kr, r, null);
        if (u === "subheader")
          return ((m = t.subheader) == null ? void 0 : m.call(t, {
            props: r
          })) ?? c(pr, r, null);
        const d = {
          subtitle: t.subtitle ? (g) => {
            var y;
            return (y = t.subtitle) == null ? void 0 : y.call(t, {
              ...g,
              item: s
            });
          } : void 0,
          prepend: t.prepend ? (g) => {
            var y;
            return (y = t.prepend) == null ? void 0 : y.call(t, {
              ...g,
              item: s
            });
          } : void 0,
          append: t.append ? (g) => {
            var y;
            return (y = t.append) == null ? void 0 : y.call(t, {
              ...g,
              item: s
            });
          } : void 0,
          title: t.title ? (g) => {
            var y;
            return (y = t.title) == null ? void 0 : y.call(t, {
              ...g,
              item: s
            });
          } : void 0
        }, v = Tl.filterProps(r);
        return o ? c(Tl, X({
          value: r == null ? void 0 : r.value
        }, v), {
          activator: (g) => {
            let {
              props: y
            } = g;
            const b = {
              ...r,
              ...y,
              value: e.returnObject ? s : r.value
            };
            return t.header ? t.header({
              props: b
            }) : c(ft, b, d);
          },
          default: () => c(Ya, {
            items: o,
            returnObject: e.returnObject
          }, t)
        }) : t.item ? t.item({
          props: r
        }) : c(ft, X(r, {
          value: e.returnObject ? s : r.value
        }), d);
      }));
    };
  }
}), Xa = F({
  items: {
    type: Array,
    default: () => []
  },
  itemTitle: {
    type: [String, Array, Function],
    default: "title"
  },
  itemValue: {
    type: [String, Array, Function],
    default: "value"
  },
  itemChildren: {
    type: [Boolean, String, Array, Function],
    default: "children"
  },
  itemProps: {
    type: [Boolean, String, Array, Function],
    default: "props"
  },
  returnObject: Boolean,
  valueComparator: {
    type: Function,
    default: gt
  }
}, "list-items");
function Vn(e, n) {
  const t = De(n, e.itemTitle, n), l = De(n, e.itemValue, t), a = De(n, e.itemChildren), i = e.itemProps === !0 ? typeof n == "object" && n != null && !Array.isArray(n) ? "children" in n ? at(n, ["children"]) : n : void 0 : De(n, e.itemProps), o = {
    title: t,
    value: l,
    ...i
  };
  return {
    title: String(o.title ?? ""),
    value: o.value,
    props: o,
    children: Array.isArray(a) ? Qa(e, a) : void 0,
    raw: n
  };
}
function Qa(e, n) {
  const t = [];
  for (const l of n)
    t.push(Vn(e, l));
  return t;
}
function Ja(e) {
  const n = h(() => Qa(e, e.items)), t = h(() => n.value.some((i) => i.value === null));
  function l(i) {
    return t.value || (i = i.filter((o) => o !== null)), i.map((o) => e.returnObject && typeof o == "string" ? Vn(e, o) : n.value.find((r) => e.valueComparator(o, r.value)) || Vn(e, o));
  }
  function a(i) {
    return e.returnObject ? i.map((o) => {
      let {
        raw: r
      } = o;
      return r;
    }) : i.map((o) => {
      let {
        value: r
      } = o;
      return r;
    });
  }
  return {
    items: n,
    transformIn: l,
    transformOut: a
  };
}
function Ir(e) {
  return typeof e == "string" || typeof e == "number" || typeof e == "boolean";
}
function Pr(e, n) {
  const t = De(n, e.itemType, "item"), l = Ir(n) ? n : De(n, e.itemTitle), a = De(n, e.itemValue, void 0), i = De(n, e.itemChildren), o = e.itemProps === !0 ? at(n, ["children"]) : De(n, e.itemProps), r = {
    title: l,
    value: a,
    ...o
  };
  return {
    type: t,
    title: r.title,
    value: r.value,
    props: r,
    children: t === "item" && i ? Za(e, i) : void 0,
    raw: n
  };
}
function Za(e, n) {
  const t = [];
  for (const l of n)
    t.push(Pr(e, l));
  return t;
}
function Ar(e) {
  return {
    items: h(() => Za(e, e.items))
  };
}
const Er = F({
  baseColor: String,
  /* @deprecated */
  activeColor: String,
  activeClass: String,
  bgColor: String,
  disabled: Boolean,
  expandIcon: String,
  collapseIcon: String,
  lines: {
    type: [Boolean, String],
    default: "one"
  },
  slim: Boolean,
  nav: Boolean,
  "onClick:open": xe(),
  "onClick:select": xe(),
  "onUpdate:opened": xe(),
  ...dr({
    selectStrategy: "single-leaf",
    openStrategy: "list"
  }),
  ...nn(),
  ...ae(),
  ...St(),
  ...yt(),
  ...qn(),
  itemType: {
    type: String,
    default: "type"
  },
  ...Xa(),
  ...it(),
  ...Me(),
  ...Ee(),
  ..._t({
    variant: "text"
  })
}, "VList"), ei = Q()({
  name: "VList",
  props: Er(),
  emits: {
    "update:selected": (e) => !0,
    "update:activated": (e) => !0,
    "update:opened": (e) => !0,
    "click:open": (e) => !0,
    "click:activate": (e) => !0,
    "click:select": (e) => !0
  },
  setup(e, n) {
    let {
      slots: t
    } = n;
    const {
      items: l
    } = Ar(e), {
      themeClasses: a
    } = Re(e), {
      backgroundColorClasses: i,
      backgroundColorStyles: o
    } = Ke(G(e, "bgColor")), {
      borderClasses: r
    } = ln(e), {
      densityClasses: u
    } = wt(e), {
      dimensionStyles: s
    } = ht(e), {
      elevationClasses: d
    } = Yn(e), {
      roundedClasses: v
    } = ot(e), {
      children: f,
      open: m,
      parents: g,
      select: y
    } = fr(e), b = h(() => e.lines ? `v-list--${e.lines}-line` : void 0), S = G(e, "activeColor"), _ = G(e, "baseColor"), B = G(e, "color");
    Ha(), en({
      VListGroup: {
        activeColor: S,
        baseColor: _,
        color: B,
        expandIcon: G(e, "expandIcon"),
        collapseIcon: G(e, "collapseIcon")
      },
      VListItem: {
        activeClass: G(e, "activeClass"),
        activeColor: S,
        baseColor: _,
        color: B,
        density: G(e, "density"),
        disabled: G(e, "disabled"),
        lines: G(e, "lines"),
        nav: G(e, "nav"),
        slim: G(e, "slim"),
        variant: G(e, "variant")
      }
    });
    const V = U(!1), A = $();
    function P(C) {
      V.value = !0;
    }
    function O(C) {
      V.value = !1;
    }
    function E(C) {
      var p;
      !V.value && !(C.relatedTarget && ((p = A.value) != null && p.contains(C.relatedTarget))) && M();
    }
    function R(C) {
      const p = C.target;
      if (!(!A.value || ["INPUT", "TEXTAREA"].includes(p.tagName))) {
        if (C.key === "ArrowDown")
          M("next");
        else if (C.key === "ArrowUp")
          M("prev");
        else if (C.key === "Home")
          M("first");
        else if (C.key === "End")
          M("last");
        else
          return;
        C.preventDefault();
      }
    }
    function z(C) {
      V.value = !0;
    }
    function M(C) {
      if (A.value)
        return kt(A.value, C);
    }
    return ne(() => c(e.tag, {
      ref: A,
      class: ["v-list", {
        "v-list--disabled": e.disabled,
        "v-list--nav": e.nav,
        "v-list--slim": e.slim
      }, a.value, i.value, r.value, u.value, d.value, b.value, v.value, e.class],
      style: [o.value, s.value, e.style],
      tabindex: e.disabled || V.value ? -1 : 0,
      role: "listbox",
      "aria-activedescendant": void 0,
      onFocusin: P,
      onFocusout: O,
      onFocus: E,
      onKeydown: R,
      onMousedown: z
    }, {
      default: () => [c(Ya, {
        items: l.value,
        returnObject: e.returnObject
      }, t)]
    })), {
      open: m,
      select: y,
      focus: M,
      children: f,
      parents: g
    };
  }
});
function vn(e, n) {
  return {
    x: e.x + n.x,
    y: e.y + n.y
  };
}
function Or(e, n) {
  return {
    x: e.x - n.x,
    y: e.y - n.y
  };
}
function Ll(e, n) {
  if (e.side === "top" || e.side === "bottom") {
    const {
      side: t,
      align: l
    } = e, a = l === "left" ? 0 : l === "center" ? n.width / 2 : l === "right" ? n.width : l, i = t === "top" ? 0 : t === "bottom" ? n.height : t;
    return vn({
      x: a,
      y: i
    }, n);
  } else if (e.side === "left" || e.side === "right") {
    const {
      side: t,
      align: l
    } = e, a = t === "left" ? 0 : t === "right" ? n.width : t, i = l === "top" ? 0 : l === "center" ? n.height / 2 : l === "bottom" ? n.height : l;
    return vn({
      x: a,
      y: i
    }, n);
  }
  return vn({
    x: n.width / 2,
    y: n.height / 2
  }, n);
}
const ti = {
  static: Tr,
  // specific viewport position, usually centered
  connected: Fr
  // connected to a certain element
}, Br = F({
  locationStrategy: {
    type: [String, Function],
    default: "static",
    validator: (e) => typeof e == "function" || e in ti
  },
  location: {
    type: String,
    default: "bottom"
  },
  origin: {
    type: String,
    default: "auto"
  },
  offset: [Number, String, Array]
}, "VOverlay-location-strategies");
function _r(e, n) {
  const t = $({}), l = $();
  me && lt(() => !!(n.isActive.value && e.locationStrategy), (i) => {
    var o, r;
    K(() => e.locationStrategy, i), Ve(() => {
      window.removeEventListener("resize", a), l.value = void 0;
    }), window.addEventListener("resize", a, {
      passive: !0
    }), typeof e.locationStrategy == "function" ? l.value = (o = e.locationStrategy(n, e, t)) == null ? void 0 : o.updateLocation : l.value = (r = ti[e.locationStrategy](n, e, t)) == null ? void 0 : r.updateLocation;
  });
  function a(i) {
    var o;
    (o = l.value) == null || o.call(l, i);
  }
  return {
    contentStyles: t,
    updateLocation: l
  };
}
function Tr() {
}
function Lr(e, n) {
  const t = Rn(e);
  return n ? t.x += parseFloat(e.style.right || 0) : t.x -= parseFloat(e.style.left || 0), t.y -= parseFloat(e.style.top || 0), t;
}
function Fr(e, n, t) {
  (Array.isArray(e.target.value) || oo(e.target.value)) && Object.assign(t.value, {
    position: "fixed",
    top: 0,
    [e.isRtl.value ? "right" : "left"]: 0
  });
  const {
    preferredAnchor: a,
    preferredOrigin: i
  } = Ln(() => {
    const g = wn(n.location, e.isRtl.value), y = n.origin === "overlap" ? g : n.origin === "auto" ? sn(g) : wn(n.origin, e.isRtl.value);
    return g.side === y.side && g.align === cn(y).align ? {
      preferredAnchor: rl(g),
      preferredOrigin: rl(y)
    } : {
      preferredAnchor: g,
      preferredOrigin: y
    };
  }), [o, r, u, s] = ["minWidth", "minHeight", "maxWidth", "maxHeight"].map((g) => h(() => {
    const y = parseFloat(n[g]);
    return isNaN(y) ? 1 / 0 : y;
  })), d = h(() => {
    if (Array.isArray(n.offset))
      return n.offset;
    if (typeof n.offset == "string") {
      const g = n.offset.split(" ").map(parseFloat);
      return g.length < 2 && g.push(0), g;
    }
    return typeof n.offset == "number" ? [n.offset, 0] : [0, 0];
  });
  let v = !1;
  const f = new ResizeObserver(() => {
    v && m();
  });
  K([e.target, e.contentEl], (g, y) => {
    let [b, S] = g, [_, B] = y;
    _ && !Array.isArray(_) && f.unobserve(_), b && !Array.isArray(b) && f.observe(b), B && f.unobserve(B), S && f.observe(S);
  }, {
    immediate: !0
  }), Ve(() => {
    f.disconnect();
  });
  function m() {
    if (v = !1, requestAnimationFrame(() => v = !0), !e.target.value || !e.contentEl.value) return;
    const g = na(e.target.value), y = Lr(e.contentEl.value, e.isRtl.value), b = Gt(e.contentEl.value), S = 12;
    b.length || (b.push(document.documentElement), e.contentEl.value.style.top && e.contentEl.value.style.left || (y.x -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x") || 0), y.y -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y") || 0)));
    const _ = b.reduce((M, C) => {
      const p = C.getBoundingClientRect(), w = new et({
        x: C === document.documentElement ? 0 : p.x,
        y: C === document.documentElement ? 0 : p.y,
        width: C.clientWidth,
        height: C.clientHeight
      });
      return M ? new et({
        x: Math.max(M.left, w.left),
        y: Math.max(M.top, w.top),
        width: Math.min(M.right, w.right) - Math.max(M.left, w.left),
        height: Math.min(M.bottom, w.bottom) - Math.max(M.top, w.top)
      }) : w;
    }, void 0);
    _.x += S, _.y += S, _.width -= S * 2, _.height -= S * 2;
    let B = {
      anchor: a.value,
      origin: i.value
    };
    function V(M) {
      const C = new et(y), p = Ll(M.anchor, g), w = Ll(M.origin, C);
      let {
        x: T,
        y: N
      } = Or(p, w);
      switch (M.anchor.side) {
        case "top":
          N -= d.value[0];
          break;
        case "bottom":
          N += d.value[0];
          break;
        case "left":
          T -= d.value[0];
          break;
        case "right":
          T += d.value[0];
          break;
      }
      switch (M.anchor.align) {
        case "top":
          N -= d.value[1];
          break;
        case "bottom":
          N += d.value[1];
          break;
        case "left":
          T -= d.value[1];
          break;
        case "right":
          T += d.value[1];
          break;
      }
      return C.x += T, C.y += N, C.width = Math.min(C.width, u.value), C.height = Math.min(C.height, s.value), {
        overflows: sl(C, _),
        x: T,
        y: N
      };
    }
    let A = 0, P = 0;
    const O = {
      x: 0,
      y: 0
    }, E = {
      x: !1,
      y: !1
    };
    let R = -1;
    for (; ; ) {
      if (R++ > 10) {
        Yi("Infinite loop detected in connectedLocationStrategy");
        break;
      }
      const {
        x: M,
        y: C,
        overflows: p
      } = V(B);
      A += M, P += C, y.x += M, y.y += C;
      {
        const w = ul(B.anchor), T = p.x.before || p.x.after, N = p.y.before || p.y.after;
        let J = !1;
        if (["x", "y"].forEach((j) => {
          if (j === "x" && T && !E.x || j === "y" && N && !E.y) {
            const k = {
              anchor: {
                ...B.anchor
              },
              origin: {
                ...B.origin
              }
            }, x = j === "x" ? w === "y" ? cn : sn : w === "y" ? sn : cn;
            k.anchor = x(k.anchor), k.origin = x(k.origin);
            const {
              overflows: I
            } = V(k);
            (I[j].before <= p[j].before && I[j].after <= p[j].after || I[j].before + I[j].after < (p[j].before + p[j].after) / 2) && (B = k, J = E[j] = !0);
          }
        }), J) continue;
      }
      p.x.before && (A += p.x.before, y.x += p.x.before), p.x.after && (A -= p.x.after, y.x -= p.x.after), p.y.before && (P += p.y.before, y.y += p.y.before), p.y.after && (P -= p.y.after, y.y -= p.y.after);
      {
        const w = sl(y, _);
        O.x = _.width - w.x.before - w.x.after, O.y = _.height - w.y.before - w.y.after, A += w.x.before, y.x += w.x.before, P += w.y.before, y.y += w.y.before;
      }
      break;
    }
    const z = ul(B.anchor);
    return Object.assign(t.value, {
      "--v-overlay-anchor-origin": `${B.anchor.side} ${B.anchor.align}`,
      transformOrigin: `${B.origin.side} ${B.origin.align}`,
      // transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,
      top: q(mn(P)),
      left: e.isRtl.value ? void 0 : q(mn(A)),
      right: e.isRtl.value ? q(mn(-A)) : void 0,
      minWidth: q(z === "y" ? Math.min(o.value, g.width) : o.value),
      maxWidth: q(Fl(Ge(O.x, o.value === 1 / 0 ? 0 : o.value, u.value))),
      maxHeight: q(Fl(Ge(O.y, r.value === 1 / 0 ? 0 : r.value, s.value)))
    }), {
      available: O,
      contentBox: y
    };
  }
  return K(() => [a.value, i.value, n.offset, n.minWidth, n.minHeight, n.maxWidth, n.maxHeight], () => m()), ke(() => {
    const g = m();
    if (!g) return;
    const {
      available: y,
      contentBox: b
    } = g;
    b.height > y.y && requestAnimationFrame(() => {
      m(), requestAnimationFrame(() => {
        m();
      });
    });
  }), {
    updateLocation: m
  };
}
function mn(e) {
  return Math.round(e * devicePixelRatio) / devicePixelRatio;
}
function Fl(e) {
  return Math.ceil(e * devicePixelRatio) / devicePixelRatio;
}
let In = !0;
const Yt = [];
function Mr(e) {
  !In || Yt.length ? (Yt.push(e), Pn()) : (In = !1, e(), Pn());
}
let Ml = -1;
function Pn() {
  cancelAnimationFrame(Ml), Ml = requestAnimationFrame(() => {
    const e = Yt.shift();
    e && e(), Yt.length ? Pn() : In = !0;
  });
}
const zt = {
  none: null,
  close: $r,
  block: Nr,
  reposition: zr
}, Rr = F({
  scrollStrategy: {
    type: [String, Function],
    default: "block",
    validator: (e) => typeof e == "function" || e in zt
  }
}, "VOverlay-scroll-strategies");
function Dr(e, n) {
  if (!me) return;
  let t;
  qe(async () => {
    t == null || t.stop(), n.isActive.value && e.scrollStrategy && (t = On(), await new Promise((l) => setTimeout(l)), t.active && t.run(() => {
      var l;
      typeof e.scrollStrategy == "function" ? e.scrollStrategy(n, e, t) : (l = zt[e.scrollStrategy]) == null || l.call(zt, n, e, t);
    }));
  }), Ve(() => {
    t == null || t.stop();
  });
}
function $r(e) {
  function n(t) {
    e.isActive.value = !1;
  }
  ni(e.targetEl.value ?? e.contentEl.value, n);
}
function Nr(e, n) {
  var o;
  const t = (o = e.root.value) == null ? void 0 : o.offsetParent, l = [.../* @__PURE__ */ new Set([...Gt(e.targetEl.value, n.contained ? t : void 0), ...Gt(e.contentEl.value, n.contained ? t : void 0)])].filter((r) => !r.classList.contains("v-overlay-scroll-blocked")), a = window.innerWidth - document.documentElement.offsetWidth, i = ((r) => Dn(r) && r)(t || document.documentElement);
  i && e.root.value.classList.add("v-overlay--scroll-blocked"), l.forEach((r, u) => {
    r.style.setProperty("--v-body-scroll-x", q(-r.scrollLeft)), r.style.setProperty("--v-body-scroll-y", q(-r.scrollTop)), r !== document.documentElement && r.style.setProperty("--v-scrollbar-offset", q(a)), r.classList.add("v-overlay-scroll-blocked");
  }), Ve(() => {
    l.forEach((r, u) => {
      const s = parseFloat(r.style.getPropertyValue("--v-body-scroll-x")), d = parseFloat(r.style.getPropertyValue("--v-body-scroll-y")), v = r.style.scrollBehavior;
      r.style.scrollBehavior = "auto", r.style.removeProperty("--v-body-scroll-x"), r.style.removeProperty("--v-body-scroll-y"), r.style.removeProperty("--v-scrollbar-offset"), r.classList.remove("v-overlay-scroll-blocked"), r.scrollLeft = -s, r.scrollTop = -d, r.style.scrollBehavior = v;
    }), i && e.root.value.classList.remove("v-overlay--scroll-blocked");
  });
}
function zr(e, n, t) {
  let l = !1, a = -1, i = -1;
  function o(r) {
    Mr(() => {
      var d, v;
      const u = performance.now();
      (v = (d = e.updateLocation).value) == null || v.call(d, r), l = (performance.now() - u) / (1e3 / 60) > 2;
    });
  }
  i = (typeof requestIdleCallback > "u" ? (r) => r() : requestIdleCallback)(() => {
    t.run(() => {
      ni(e.targetEl.value ?? e.contentEl.value, (r) => {
        l ? (cancelAnimationFrame(a), a = requestAnimationFrame(() => {
          a = requestAnimationFrame(() => {
            o(r);
          });
        })) : o(r);
      });
    });
  }), Ve(() => {
    typeof cancelIdleCallback < "u" && cancelIdleCallback(i), cancelAnimationFrame(a);
  });
}
function ni(e, n) {
  const t = [document, ...Gt(e)];
  t.forEach((l) => {
    l.addEventListener("scroll", n, {
      passive: !0
    });
  }), Ve(() => {
    t.forEach((l) => {
      l.removeEventListener("scroll", n);
    });
  });
}
const An = Symbol.for("vuetify:v-menu"), Hr = F({
  closeDelay: [Number, String],
  openDelay: [Number, String]
}, "delay");
function Wr(e, n) {
  let t = () => {
  };
  function l(o) {
    t == null || t();
    const r = Number(o ? e.openDelay : e.closeDelay);
    return new Promise((u) => {
      t = Li(r, () => {
        n == null || n(o), u(o);
      });
    });
  }
  function a() {
    return l(!0);
  }
  function i() {
    return l(!1);
  }
  return {
    clearDelay: t,
    runOpenDelay: a,
    runCloseDelay: i
  };
}
const jr = F({
  target: [String, Object],
  activator: [String, Object],
  activatorProps: {
    type: Object,
    default: () => ({})
  },
  openOnClick: {
    type: Boolean,
    default: void 0
  },
  openOnHover: Boolean,
  openOnFocus: {
    type: Boolean,
    default: void 0
  },
  closeOnContentClick: Boolean,
  ...Hr()
}, "VOverlay-activator");
function Ur(e, n) {
  let {
    isActive: t,
    isTop: l,
    contentEl: a
  } = n;
  const i = ge("useActivator"), o = $();
  let r = !1, u = !1, s = !0;
  const d = h(() => e.openOnFocus || e.openOnFocus == null && e.openOnHover), v = h(() => e.openOnClick || e.openOnClick == null && !e.openOnHover && !d.value), {
    runOpenDelay: f,
    runCloseDelay: m
  } = Wr(e, (E) => {
    E === (e.openOnHover && r || d.value && u) && !(e.openOnHover && t.value && !l.value) && (t.value !== E && (s = !0), t.value = E);
  }), g = $(), y = {
    onClick: (E) => {
      E.stopPropagation(), o.value = E.currentTarget || E.target, t.value || (g.value = [E.clientX, E.clientY]), t.value = !t.value;
    },
    onMouseenter: (E) => {
      var R;
      (R = E.sourceCapabilities) != null && R.firesTouchEvents || (r = !0, o.value = E.currentTarget || E.target, f());
    },
    onMouseleave: (E) => {
      r = !1, m();
    },
    onFocus: (E) => {
      ct(E.target, ":focus-visible") !== !1 && (u = !0, E.stopPropagation(), o.value = E.currentTarget || E.target, f());
    },
    onBlur: (E) => {
      u = !1, E.stopPropagation(), m();
    }
  }, b = h(() => {
    const E = {};
    return v.value && (E.onClick = y.onClick), e.openOnHover && (E.onMouseenter = y.onMouseenter, E.onMouseleave = y.onMouseleave), d.value && (E.onFocus = y.onFocus, E.onBlur = y.onBlur), E;
  }), S = h(() => {
    const E = {};
    if (e.openOnHover && (E.onMouseenter = () => {
      r = !0, f();
    }, E.onMouseleave = () => {
      r = !1, m();
    }), d.value && (E.onFocusin = () => {
      u = !0, f();
    }, E.onFocusout = () => {
      u = !1, m();
    }), e.closeOnContentClick) {
      const R = he(An, null);
      E.onClick = () => {
        t.value = !1, R == null || R.closeParents();
      };
    }
    return E;
  }), _ = h(() => {
    const E = {};
    return e.openOnHover && (E.onMouseenter = () => {
      s && (r = !0, s = !1, f());
    }, E.onMouseleave = () => {
      r = !1, m();
    }), E;
  });
  K(l, (E) => {
    var R;
    E && (e.openOnHover && !r && (!d.value || !u) || d.value && !u && (!e.openOnHover || !r)) && !((R = a.value) != null && R.contains(document.activeElement)) && (t.value = !1);
  }), K(t, (E) => {
    E || setTimeout(() => {
      g.value = void 0;
    });
  }, {
    flush: "post"
  });
  const B = bn();
  qe(() => {
    B.value && ke(() => {
      o.value = B.el;
    });
  });
  const V = bn(), A = h(() => e.target === "cursor" && g.value ? g.value : V.value ? V.el : li(e.target, i) || o.value), P = h(() => Array.isArray(A.value) ? void 0 : A.value);
  let O;
  return K(() => !!e.activator, (E) => {
    E && me ? (O = On(), O.run(() => {
      Gr(e, i, {
        activatorEl: o,
        activatorEvents: b
      });
    })) : O && O.stop();
  }, {
    flush: "post",
    immediate: !0
  }), Ve(() => {
    O == null || O.stop();
  }), {
    activatorEl: o,
    activatorRef: B,
    target: A,
    targetEl: P,
    targetRef: V,
    activatorEvents: b,
    contentEvents: S,
    scrimEvents: _
  };
}
function Gr(e, n, t) {
  let {
    activatorEl: l,
    activatorEvents: a
  } = t;
  K(() => e.activator, (u, s) => {
    if (s && u !== s) {
      const d = r(s);
      d && o(d);
    }
    u && ke(() => i());
  }, {
    immediate: !0
  }), K(() => e.activatorProps, () => {
    i();
  }), Ve(() => {
    o();
  });
  function i() {
    let u = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : r(), s = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.activatorProps;
    u && Ni(u, X(a.value, s));
  }
  function o() {
    let u = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : r(), s = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.activatorProps;
    u && zi(u, X(a.value, s));
  }
  function r() {
    let u = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : e.activator;
    const s = li(u, n);
    return l.value = (s == null ? void 0 : s.nodeType) === Node.ELEMENT_NODE ? s : void 0, l.value;
  }
}
function li(e, n) {
  var l, a;
  if (!e) return;
  let t;
  if (e === "parent") {
    let i = (a = (l = n == null ? void 0 : n.proxy) == null ? void 0 : l.$el) == null ? void 0 : a.parentNode;
    for (; i != null && i.hasAttribute("data-no-activator"); )
      i = i.parentNode;
    t = i;
  } else typeof e == "string" ? t = document.querySelector(e) : "$el" in e ? t = e.$el : t = e;
  return t;
}
function Kr() {
  if (!me) return U(!1);
  const {
    ssr: e
  } = Gn();
  if (e) {
    const n = U(!1);
    return Ot(() => {
      n.value = !0;
    }), n;
  } else
    return U(!0);
}
const qr = F({
  eager: Boolean
}, "lazy");
function Yr(e, n) {
  const t = U(!1), l = h(() => t.value || e.eager || n.value);
  K(n, () => t.value = !0);
  function a() {
    e.eager || (t.value = !1);
  }
  return {
    isBooted: t,
    hasContent: l,
    onAfterLeave: a
  };
}
function ai() {
  const n = ge("useScopeId").vnode.scopeId;
  return {
    scopeId: n ? {
      [n]: ""
    } : void 0
  };
}
const Rl = Symbol.for("vuetify:stack"), Ct = Qt([]);
function Xr(e, n, t) {
  const l = ge("useStack"), a = !t, i = he(Rl, void 0), o = Qt({
    activeChildren: /* @__PURE__ */ new Set()
  });
  Le(Rl, o);
  const r = U(+n.value);
  lt(e, () => {
    var v;
    const d = (v = Ct.at(-1)) == null ? void 0 : v[1];
    r.value = d ? d + 10 : +n.value, a && Ct.push([l.uid, r.value]), i == null || i.activeChildren.add(l.uid), Ve(() => {
      if (a) {
        const f = re(Ct).findIndex((m) => m[0] === l.uid);
        Ct.splice(f, 1);
      }
      i == null || i.activeChildren.delete(l.uid);
    });
  });
  const u = U(!0);
  a && qe(() => {
    var v;
    const d = ((v = Ct.at(-1)) == null ? void 0 : v[0]) === l.uid;
    setTimeout(() => u.value = d);
  });
  const s = h(() => !o.activeChildren.size);
  return {
    globalTop: Bn(u),
    localTop: s,
    stackStyles: h(() => ({
      zIndex: r.value
    }))
  };
}
function Qr(e) {
  return {
    teleportTarget: h(() => {
      const t = e();
      if (t === !0 || !me) return;
      const l = t === !1 ? document.body : typeof t == "string" ? document.querySelector(t) : t;
      if (l == null) {
        Jt(`Unable to locate target ${t}`);
        return;
      }
      let a = [...l.children].find((i) => i.matches(".v-overlay-container"));
      return a || (a = document.createElement("div"), a.className = "v-overlay-container", l.appendChild(a)), a;
    })
  };
}
function Jr() {
  return !0;
}
function ii(e, n, t) {
  if (!e || oi(e, t) === !1) return !1;
  const l = aa(n);
  if (typeof ShadowRoot < "u" && l instanceof ShadowRoot && l.host === e.target) return !1;
  const a = (typeof t.value == "object" && t.value.include || (() => []))();
  return a.push(n), !a.some((i) => i == null ? void 0 : i.contains(e.target));
}
function oi(e, n) {
  return (typeof n.value == "object" && n.value.closeConditional || Jr)(e);
}
function Zr(e, n, t) {
  const l = typeof t.value == "function" ? t.value : t.value.handler;
  e.shadowTarget = e.target, n._clickOutside.lastMousedownWasOutside && ii(e, n, t) && setTimeout(() => {
    oi(e, t) && l && l(e);
  }, 0);
}
function Dl(e, n) {
  const t = aa(e);
  n(document), typeof ShadowRoot < "u" && t instanceof ShadowRoot && n(t);
}
const eu = {
  // [data-app] may not be found
  // if using bind, inserted makes
  // sure that the root element is
  // available, iOS does not support
  // clicks on body
  mounted(e, n) {
    const t = (a) => Zr(a, e, n), l = (a) => {
      e._clickOutside.lastMousedownWasOutside = ii(a, e, n);
    };
    Dl(e, (a) => {
      a.addEventListener("click", t, !0), a.addEventListener("mousedown", l, !0);
    }), e._clickOutside || (e._clickOutside = {
      lastMousedownWasOutside: !1
    }), e._clickOutside[n.instance.$.uid] = {
      onClick: t,
      onMousedown: l
    };
  },
  beforeUnmount(e, n) {
    e._clickOutside && (Dl(e, (t) => {
      var i;
      if (!t || !((i = e._clickOutside) != null && i[n.instance.$.uid])) return;
      const {
        onClick: l,
        onMousedown: a
      } = e._clickOutside[n.instance.$.uid];
      t.removeEventListener("click", l, !0), t.removeEventListener("mousedown", a, !0);
    }), delete e._clickOutside[n.instance.$.uid]);
  }
};
function tu(e) {
  const {
    modelValue: n,
    color: t,
    ...l
  } = e;
  return c(nt, {
    name: "fade-transition",
    appear: !0
  }, {
    default: () => [e.modelValue && c("div", X({
      class: ["v-overlay__scrim", e.color.backgroundColorClasses.value],
      style: e.color.backgroundColorStyles.value
    }, l), null)]
  });
}
const ri = F({
  absolute: Boolean,
  attach: [Boolean, String, Object],
  closeOnBack: {
    type: Boolean,
    default: !0
  },
  contained: Boolean,
  contentClass: null,
  contentProps: null,
  disabled: Boolean,
  opacity: [Number, String],
  noClickAnimation: Boolean,
  modelValue: Boolean,
  persistent: Boolean,
  scrim: {
    type: [Boolean, String],
    default: !0
  },
  zIndex: {
    type: [Number, String],
    default: 2e3
  },
  ...jr(),
  ...ae(),
  ...yt(),
  ...qr(),
  ...Br(),
  ...Rr(),
  ...Ee(),
  ...bt()
}, "VOverlay"), $l = Q()({
  name: "VOverlay",
  directives: {
    ClickOutside: eu
  },
  inheritAttrs: !1,
  props: {
    _disableGlobalStack: Boolean,
    ...ri()
  },
  emits: {
    "click:outside": (e) => !0,
    "update:modelValue": (e) => !0,
    afterEnter: () => !0,
    afterLeave: () => !0
  },
  setup(e, n) {
    let {
      slots: t,
      attrs: l,
      emit: a
    } = n;
    const i = ge("VOverlay"), o = $(), r = $(), u = $(), s = ve(e, "modelValue"), d = h({
      get: () => s.value,
      set: (H) => {
        H && e.disabled || (s.value = H);
      }
    }), {
      themeClasses: v
    } = Re(e), {
      rtlClasses: f,
      isRtl: m
    } = Xe(), {
      hasContent: g,
      onAfterLeave: y
    } = Yr(e, d), b = Ke(h(() => typeof e.scrim == "string" ? e.scrim : null)), {
      globalTop: S,
      localTop: _,
      stackStyles: B
    } = Xr(d, G(e, "zIndex"), e._disableGlobalStack), {
      activatorEl: V,
      activatorRef: A,
      target: P,
      targetEl: O,
      targetRef: E,
      activatorEvents: R,
      contentEvents: z,
      scrimEvents: M
    } = Ur(e, {
      isActive: d,
      isTop: _,
      contentEl: u
    }), {
      teleportTarget: C
    } = Qr(() => {
      var ce, ie, oe;
      const H = e.attach || e.contained;
      if (H) return H;
      const te = ((ce = V == null ? void 0 : V.value) == null ? void 0 : ce.getRootNode()) || ((oe = (ie = i.proxy) == null ? void 0 : ie.$el) == null ? void 0 : oe.getRootNode());
      return te instanceof ShadowRoot ? te : !1;
    }), {
      dimensionStyles: p
    } = ht(e), w = Kr(), {
      scopeId: T
    } = ai();
    K(() => e.disabled, (H) => {
      H && (d.value = !1);
    });
    const {
      contentStyles: N,
      updateLocation: J
    } = _r(e, {
      isRtl: m,
      contentEl: u,
      target: P,
      isActive: d
    });
    Dr(e, {
      root: o,
      contentEl: u,
      targetEl: O,
      isActive: d,
      updateLocation: J
    });
    function j(H) {
      a("click:outside", H), e.persistent ? ee() : d.value = !1;
    }
    function k(H) {
      return d.value && S.value && // If using scrim, only close if clicking on it rather than anything opened on top
      (!e.scrim || H.target === r.value || H instanceof MouseEvent && H.shadowTarget === r.value);
    }
    me && K(d, (H) => {
      H ? window.addEventListener("keydown", x) : window.removeEventListener("keydown", x);
    }, {
      immediate: !0
    }), $e(() => {
      me && window.removeEventListener("keydown", x);
    });
    function x(H) {
      var te, ce;
      H.key === "Escape" && S.value && (e.persistent ? ee() : (d.value = !1, (te = u.value) != null && te.contains(document.activeElement) && ((ce = V.value) == null || ce.focus())));
    }
    const I = tr();
    lt(() => e.closeOnBack, () => {
      nr(I, (H) => {
        S.value && d.value ? (H(!1), e.persistent ? ee() : d.value = !1) : H();
      });
    });
    const D = $();
    K(() => d.value && (e.absolute || e.contained) && C.value == null, (H) => {
      if (H) {
        const te = ia(o.value);
        te && te !== document.scrollingElement && (D.value = te.scrollTop);
      }
    });
    function ee() {
      e.noClickAnimation || u.value && ut(u.value, [{
        transformOrigin: "center"
      }, {
        transform: "scale(1.03)"
      }, {
        transformOrigin: "center"
      }], {
        duration: 150,
        easing: Ut
      });
    }
    function W() {
      a("afterEnter");
    }
    function le() {
      y(), a("afterLeave");
    }
    return ne(() => {
      var H;
      return c(ue, null, [(H = t.activator) == null ? void 0 : H.call(t, {
        isActive: d.value,
        targetRef: E,
        props: X({
          ref: A
        }, R.value, e.activatorProps)
      }), w.value && g.value && c(Ci, {
        disabled: !C.value,
        to: C.value
      }, {
        default: () => [c("div", X({
          class: ["v-overlay", {
            "v-overlay--absolute": e.absolute || e.contained,
            "v-overlay--active": d.value,
            "v-overlay--contained": e.contained
          }, v.value, f.value, e.class],
          style: [B.value, {
            "--v-overlay-opacity": e.opacity,
            top: q(D.value)
          }, e.style],
          ref: o
        }, T, l), [c(tu, X({
          color: b,
          modelValue: d.value && !!e.scrim,
          ref: r
        }, M.value), null), c(Ue, {
          appear: !0,
          persisted: !0,
          transition: e.transition,
          target: P.value,
          onAfterEnter: W,
          onAfterLeave: le
        }, {
          default: () => {
            var te;
            return [Fe(c("div", X({
              ref: u,
              class: ["v-overlay__content", e.contentClass],
              style: [p.value, N.value]
            }, z.value, e.contentProps), [(te = t.default) == null ? void 0 : te.call(t, {
              isActive: d
            })]), [[mt, d.value], [vt("click-outside"), {
              handler: j,
              closeConditional: k,
              include: () => [V.value]
            }]])];
          }
        })])]
      })]);
    }), {
      activatorEl: V,
      scrimEl: r,
      target: P,
      animateClick: ee,
      contentEl: u,
      globalTop: S,
      localTop: _,
      updateLocation: J
    };
  }
}), gn = Symbol("Forwarded refs");
function yn(e, n) {
  let t = e;
  for (; t; ) {
    const l = Reflect.getOwnPropertyDescriptor(t, n);
    if (l) return l;
    t = Object.getPrototypeOf(t);
  }
}
function on(e) {
  for (var n = arguments.length, t = new Array(n > 1 ? n - 1 : 0), l = 1; l < n; l++)
    t[l - 1] = arguments[l];
  return e[gn] = t, new Proxy(e, {
    get(a, i) {
      if (Reflect.has(a, i))
        return Reflect.get(a, i);
      if (!(typeof i == "symbol" || i.startsWith("$") || i.startsWith("__"))) {
        for (const o of t)
          if (o.value && Reflect.has(o.value, i)) {
            const r = Reflect.get(o.value, i);
            return typeof r == "function" ? r.bind(o.value) : r;
          }
      }
    },
    has(a, i) {
      if (Reflect.has(a, i))
        return !0;
      if (typeof i == "symbol" || i.startsWith("$") || i.startsWith("__")) return !1;
      for (const o of t)
        if (o.value && Reflect.has(o.value, i))
          return !0;
      return !1;
    },
    set(a, i, o) {
      if (Reflect.has(a, i))
        return Reflect.set(a, i, o);
      if (typeof i == "symbol" || i.startsWith("$") || i.startsWith("__")) return !1;
      for (const r of t)
        if (r.value && Reflect.has(r.value, i))
          return Reflect.set(r.value, i, o);
      return !1;
    },
    getOwnPropertyDescriptor(a, i) {
      var r;
      const o = Reflect.getOwnPropertyDescriptor(a, i);
      if (o) return o;
      if (!(typeof i == "symbol" || i.startsWith("$") || i.startsWith("__"))) {
        for (const u of t) {
          if (!u.value) continue;
          const s = yn(u.value, i) ?? ("_" in u.value ? yn((r = u.value._) == null ? void 0 : r.setupState, i) : void 0);
          if (s) return s;
        }
        for (const u of t) {
          const s = u.value && u.value[gn];
          if (!s) continue;
          const d = s.slice();
          for (; d.length; ) {
            const v = d.shift(), f = yn(v.value, i);
            if (f) return f;
            const m = v.value && v.value[gn];
            m && d.push(...m);
          }
        }
      }
    }
  });
}
const nu = F({
  // TODO
  // disableKeys: Boolean,
  id: String,
  submenu: Boolean,
  ...at(ri({
    closeDelay: 250,
    closeOnContentClick: !0,
    locationStrategy: "connected",
    location: void 0,
    openDelay: 300,
    scrim: !1,
    scrollStrategy: "reposition",
    transition: {
      component: Ia
    }
  }), ["absolute"])
}, "VMenu"), ui = Q()({
  name: "VMenu",
  props: nu(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, n) {
    let {
      slots: t
    } = n;
    const l = ve(e, "modelValue"), {
      scopeId: a
    } = ai(), {
      isRtl: i
    } = Xe(), o = He(), r = h(() => e.id || `v-menu-${o}`), u = $(), s = he(An, null), d = U(/* @__PURE__ */ new Set());
    Le(An, {
      register() {
        d.value.add(o);
      },
      unregister() {
        d.value.delete(o);
      },
      closeParents(b) {
        setTimeout(() => {
          var S;
          !d.value.size && !e.persistent && (b == null || (S = u.value) != null && S.contentEl && !Fi(b, u.value.contentEl)) && (l.value = !1, s == null || s.closeParents());
        }, 40);
      }
    }), $e(() => s == null ? void 0 : s.unregister()), pi(() => l.value = !1);
    async function v(b) {
      var B, V, A;
      const S = b.relatedTarget, _ = b.target;
      await ke(), l.value && S !== _ && ((B = u.value) != null && B.contentEl) && // We're the topmost menu
      ((V = u.value) != null && V.globalTop) && // It isn't the document or the menu body
      ![document, u.value.contentEl].includes(_) && // It isn't inside the menu body
      !u.value.contentEl.contains(_) && ((A = Wt(u.value.contentEl)[0]) == null || A.focus());
    }
    K(l, (b) => {
      b ? (s == null || s.register(), document.addEventListener("focusin", v, {
        once: !0
      })) : (s == null || s.unregister(), document.removeEventListener("focusin", v));
    });
    function f(b) {
      s == null || s.closeParents(b);
    }
    function m(b) {
      var S, _, B, V, A;
      if (!e.disabled)
        if (b.key === "Tab" || b.key === "Enter" && !e.closeOnContentClick) {
          if (b.key === "Enter" && (b.target instanceof HTMLTextAreaElement || b.target instanceof HTMLInputElement && b.target.closest("form"))) return;
          b.key === "Enter" && b.preventDefault(), Zl(Wt((S = u.value) == null ? void 0 : S.contentEl, !1), b.shiftKey ? "prev" : "next", (O) => O.tabIndex >= 0) || (l.value = !1, (B = (_ = u.value) == null ? void 0 : _.activatorEl) == null || B.focus());
        } else e.submenu && b.key === (i.value ? "ArrowRight" : "ArrowLeft") && (l.value = !1, (A = (V = u.value) == null ? void 0 : V.activatorEl) == null || A.focus());
    }
    function g(b) {
      var _;
      if (e.disabled) return;
      const S = (_ = u.value) == null ? void 0 : _.contentEl;
      S && l.value ? b.key === "ArrowDown" ? (b.preventDefault(), b.stopImmediatePropagation(), kt(S, "next")) : b.key === "ArrowUp" ? (b.preventDefault(), b.stopImmediatePropagation(), kt(S, "prev")) : e.submenu && (b.key === (i.value ? "ArrowRight" : "ArrowLeft") ? l.value = !1 : b.key === (i.value ? "ArrowLeft" : "ArrowRight") && (b.preventDefault(), kt(S, "first"))) : (e.submenu ? b.key === (i.value ? "ArrowLeft" : "ArrowRight") : ["ArrowDown", "ArrowUp"].includes(b.key)) && (l.value = !0, b.preventDefault(), setTimeout(() => setTimeout(() => g(b))));
    }
    const y = h(() => X({
      "aria-haspopup": "menu",
      "aria-expanded": String(l.value),
      "aria-owns": r.value,
      onKeydown: g
    }, e.activatorProps));
    return ne(() => {
      const b = $l.filterProps(e);
      return c($l, X({
        ref: u,
        id: r.value,
        class: ["v-menu", e.class],
        style: e.style
      }, b, {
        modelValue: l.value,
        "onUpdate:modelValue": (S) => l.value = S,
        absolute: !0,
        activatorProps: y.value,
        location: e.location ?? (e.submenu ? "end" : "bottom"),
        "onClick:outside": f,
        onKeydown: m
      }, a), {
        activator: t.activator,
        default: function() {
          for (var S = arguments.length, _ = new Array(S), B = 0; B < S; B++)
            _[B] = arguments[B];
          return c(Te, {
            root: "VMenu"
          }, {
            default: () => {
              var V;
              return [(V = t.default) == null ? void 0 : V.call(t, ..._)];
            }
          });
        }
      });
    }), on({
      id: r,
      ΨopenChildren: d
    }, u);
  }
}), lu = F({
  active: Boolean,
  disabled: Boolean,
  max: [Number, String],
  value: {
    type: [Number, String],
    default: 0
  },
  ...ae(),
  ...bt({
    transition: {
      component: Pa
    }
  })
}, "VCounter"), au = Q()({
  name: "VCounter",
  functional: !0,
  props: lu(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    const l = h(() => e.max ? `${e.value} / ${e.max}` : String(e.value));
    return ne(() => c(Ue, {
      transition: e.transition
    }, {
      default: () => [Fe(c("div", {
        class: ["v-counter", {
          "text-error": e.max && !e.disabled && parseFloat(e.value) > parseFloat(e.max)
        }, e.class],
        style: e.style
      }, [t.default ? t.default({
        counter: l.value,
        max: e.max,
        value: e.value
      }) : l.value]), [[mt, e.active]])]
    })), {};
  }
}), iu = F({
  floating: Boolean,
  ...ae()
}, "VFieldLabel"), Dt = Q()({
  name: "VFieldLabel",
  props: iu(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    return ne(() => c(sa, {
      class: ["v-field-label", {
        "v-field-label--floating": e.floating
      }, e.class],
      style: e.style,
      "aria-hidden": e.floating || void 0
    }, t)), {};
  }
});
function ou(e, n) {
  const t = $(), l = U(!1);
  if (_n) {
    const a = new IntersectionObserver((i) => {
      l.value = !!i.find((o) => o.isIntersecting);
    }, n);
    $e(() => {
      a.disconnect();
    }), K(t, (i, o) => {
      o && (a.unobserve(o), l.value = !1), i && a.observe(i);
    }, {
      flush: "post"
    });
  }
  return {
    intersectionRef: t,
    isIntersecting: l
  };
}
const Nl = {
  center: "center",
  top: "bottom",
  bottom: "top",
  left: "right",
  right: "left"
}, ru = F({
  location: String
}, "location");
function uu(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, t = arguments.length > 2 ? arguments[2] : void 0;
  const {
    isRtl: l
  } = Xe();
  return {
    locationStyles: h(() => {
      if (!e.location) return {};
      const {
        side: i,
        align: o
      } = wn(e.location.split(" ").length > 1 ? e.location : `${e.location} center`, l.value);
      function r(s) {
        return t ? t(s) : 0;
      }
      const u = {};
      return i !== "center" && (n ? u[Nl[i]] = `calc(100% - ${r(i)}px)` : u[i] = 0), o !== "center" ? n ? u[Nl[o]] = `calc(100% - ${r(o)}px)` : u[o] = 0 : (i === "center" ? u.top = u.left = "50%" : u[{
        top: "left",
        bottom: "left",
        left: "top",
        right: "top"
      }[i]] = "50%", u.transform = {
        top: "translateX(-50%)",
        bottom: "translateX(-50%)",
        left: "translateY(-50%)",
        right: "translateY(-50%)",
        center: "translate(-50%, -50%)"
      }[i]), u;
    })
  };
}
const su = F({
  absolute: Boolean,
  active: {
    type: Boolean,
    default: !0
  },
  bgColor: String,
  bgOpacity: [Number, String],
  bufferValue: {
    type: [Number, String],
    default: 0
  },
  bufferColor: String,
  bufferOpacity: [Number, String],
  clickable: Boolean,
  color: String,
  height: {
    type: [Number, String],
    default: 4
  },
  indeterminate: Boolean,
  max: {
    type: [Number, String],
    default: 100
  },
  modelValue: {
    type: [Number, String],
    default: 0
  },
  opacity: [Number, String],
  reverse: Boolean,
  stream: Boolean,
  striped: Boolean,
  roundedBar: Boolean,
  ...ae(),
  ...ru({
    location: "top"
  }),
  ...it(),
  ...Me(),
  ...Ee()
}, "VProgressLinear"), cu = Q()({
  name: "VProgressLinear",
  props: su(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, n) {
    var M;
    let {
      slots: t
    } = n;
    const l = ve(e, "modelValue"), {
      isRtl: a,
      rtlClasses: i
    } = Xe(), {
      themeClasses: o
    } = Re(e), {
      locationStyles: r
    } = uu(e), {
      textColorClasses: u,
      textColorStyles: s
    } = Ye(e, "color"), {
      backgroundColorClasses: d,
      backgroundColorStyles: v
    } = Ke(h(() => e.bgColor || e.color)), {
      backgroundColorClasses: f,
      backgroundColorStyles: m
    } = Ke(h(() => e.bufferColor || e.bgColor || e.color)), {
      backgroundColorClasses: g,
      backgroundColorStyles: y
    } = Ke(e, "color"), {
      roundedClasses: b
    } = ot(e), {
      intersectionRef: S,
      isIntersecting: _
    } = ou(), B = h(() => parseFloat(e.max)), V = h(() => parseFloat(e.height)), A = h(() => Ge(parseFloat(e.bufferValue) / B.value * 100, 0, 100)), P = h(() => Ge(parseFloat(l.value) / B.value * 100, 0, 100)), O = h(() => a.value !== e.reverse), E = h(() => e.indeterminate ? "fade-transition" : "slide-x-transition"), R = me && ((M = window.matchMedia) == null ? void 0 : M.call(window, "(forced-colors: active)").matches);
    function z(C) {
      if (!S.value) return;
      const {
        left: p,
        right: w,
        width: T
      } = S.value.getBoundingClientRect(), N = O.value ? T - C.clientX + (w - T) : C.clientX - p;
      l.value = Math.round(N / T * B.value);
    }
    return ne(() => c(e.tag, {
      ref: S,
      class: ["v-progress-linear", {
        "v-progress-linear--absolute": e.absolute,
        "v-progress-linear--active": e.active && _.value,
        "v-progress-linear--reverse": O.value,
        "v-progress-linear--rounded": e.rounded,
        "v-progress-linear--rounded-bar": e.roundedBar,
        "v-progress-linear--striped": e.striped
      }, b.value, o.value, i.value, e.class],
      style: [{
        bottom: e.location === "bottom" ? 0 : void 0,
        top: e.location === "top" ? 0 : void 0,
        height: e.active ? q(V.value) : 0,
        "--v-progress-linear-height": q(V.value),
        ...e.absolute ? r.value : {}
      }, e.style],
      role: "progressbar",
      "aria-hidden": e.active ? "false" : "true",
      "aria-valuemin": "0",
      "aria-valuemax": e.max,
      "aria-valuenow": e.indeterminate ? void 0 : P.value,
      onClick: e.clickable && z
    }, {
      default: () => [e.stream && c("div", {
        key: "stream",
        class: ["v-progress-linear__stream", u.value],
        style: {
          ...s.value,
          [O.value ? "left" : "right"]: q(-V.value),
          borderTop: `${q(V.value / 2)} dotted`,
          opacity: parseFloat(e.bufferOpacity),
          top: `calc(50% - ${q(V.value / 4)})`,
          width: q(100 - A.value, "%"),
          "--v-progress-linear-stream-to": q(V.value * (O.value ? 1 : -1))
        }
      }, null), c("div", {
        class: ["v-progress-linear__background", R ? void 0 : d.value],
        style: [v.value, {
          opacity: parseFloat(e.bgOpacity),
          width: e.stream ? 0 : void 0
        }]
      }, null), c("div", {
        class: ["v-progress-linear__buffer", R ? void 0 : f.value],
        style: [m.value, {
          opacity: parseFloat(e.bufferOpacity),
          width: q(A.value, "%")
        }]
      }, null), c(nt, {
        name: E.value
      }, {
        default: () => [e.indeterminate ? c("div", {
          class: "v-progress-linear__indeterminate"
        }, [["long", "short"].map((C) => c("div", {
          key: C,
          class: ["v-progress-linear__indeterminate", C, R ? void 0 : g.value],
          style: y.value
        }, null))]) : c("div", {
          class: ["v-progress-linear__determinate", R ? void 0 : g.value],
          style: [y.value, {
            width: q(P.value, "%")
          }]
        }, null)]
      }), t.default && c("div", {
        class: "v-progress-linear__content"
      }, [t.default({
        value: P.value,
        buffer: A.value
      })])]
    })), {};
  }
}), du = F({
  loading: [Boolean, String]
}, "loader");
function fu(e) {
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ze();
  return {
    loaderClasses: h(() => ({
      [`${n}--loading`]: e.loading
    }))
  };
}
function vu(e, n) {
  var l;
  let {
    slots: t
  } = n;
  return c("div", {
    class: `${e.name}__loader`
  }, [((l = t.default) == null ? void 0 : l.call(t, {
    color: e.color,
    isActive: e.active
  })) || c(cu, {
    absolute: e.absolute,
    active: e.active,
    color: e.color,
    height: "2",
    indeterminate: !0
  }, null)]);
}
const mu = ["underlined", "outlined", "filled", "solo", "solo-inverted", "solo-filled", "plain"], si = F({
  appendInnerIcon: se,
  bgColor: String,
  clearable: Boolean,
  clearIcon: {
    type: se,
    default: "$clear"
  },
  active: Boolean,
  centerAffix: {
    type: Boolean,
    default: void 0
  },
  color: String,
  baseColor: String,
  dirty: Boolean,
  disabled: {
    type: Boolean,
    default: null
  },
  error: Boolean,
  flat: Boolean,
  label: String,
  persistentClear: Boolean,
  prependInnerIcon: se,
  reverse: Boolean,
  singleLine: Boolean,
  variant: {
    type: String,
    default: "filled",
    validator: (e) => mu.includes(e)
  },
  "onClick:clear": xe(),
  "onClick:appendInner": xe(),
  "onClick:prependInner": xe(),
  ...ae(),
  ...du(),
  ...it(),
  ...Ee()
}, "VField"), ci = Q()({
  name: "VField",
  inheritAttrs: !1,
  props: {
    id: String,
    ...Ea(),
    ...si()
  },
  emits: {
    "update:focused": (e) => !0,
    "update:modelValue": (e) => !0
  },
  setup(e, n) {
    let {
      attrs: t,
      emit: l,
      slots: a
    } = n;
    const {
      themeClasses: i
    } = Re(e), {
      loaderClasses: o
    } = fu(e), {
      focusClasses: r,
      isFocused: u,
      focus: s,
      blur: d
    } = Oa(e), {
      InputIcon: v
    } = xa(e), {
      roundedClasses: f
    } = ot(e), {
      rtlClasses: m
    } = Xe(), g = h(() => e.dirty || e.active), y = h(() => !e.singleLine && !!(e.label || a.label)), b = He(), S = h(() => e.id || `input-${b}`), _ = h(() => `${S.value}-messages`), B = $(), V = $(), A = $(), P = h(() => ["plain", "underlined"].includes(e.variant)), {
      backgroundColorClasses: O,
      backgroundColorStyles: E
    } = Ke(G(e, "bgColor")), {
      textColorClasses: R,
      textColorStyles: z
    } = Ye(h(() => e.error || e.disabled ? void 0 : g.value && u.value ? e.color : e.baseColor));
    K(g, (w) => {
      if (y.value) {
        const T = B.value.$el, N = V.value.$el;
        requestAnimationFrame(() => {
          const J = Rn(T), j = N.getBoundingClientRect(), k = j.x - J.x, x = j.y - J.y - (J.height / 2 - j.height / 2), I = j.width / 0.75, D = Math.abs(I - J.width) > 1 ? {
            maxWidth: q(I)
          } : void 0, ee = getComputedStyle(T), W = getComputedStyle(N), le = parseFloat(ee.transitionDuration) * 1e3 || 150, H = parseFloat(W.getPropertyValue("--v-field-label-scale")), te = W.getPropertyValue("color");
          T.style.visibility = "visible", N.style.visibility = "hidden", ut(T, {
            transform: `translate(${k}px, ${x}px) scale(${H})`,
            color: te,
            ...D
          }, {
            duration: le,
            easing: Ut,
            direction: w ? "normal" : "reverse"
          }).finished.then(() => {
            T.style.removeProperty("visibility"), N.style.removeProperty("visibility");
          });
        });
      }
    }, {
      flush: "post"
    });
    const M = h(() => ({
      isActive: g,
      isFocused: u,
      controlRef: A,
      blur: d,
      focus: s
    }));
    function C(w) {
      w.target !== document.activeElement && w.preventDefault();
    }
    function p(w) {
      var T;
      w.key !== "Enter" && w.key !== " " || (w.preventDefault(), w.stopPropagation(), (T = e["onClick:clear"]) == null || T.call(e, new MouseEvent("click")));
    }
    return ne(() => {
      var k, x, I;
      const w = e.variant === "outlined", T = !!(a["prepend-inner"] || e.prependInnerIcon), N = !!(e.clearable || a.clear), J = !!(a["append-inner"] || e.appendInnerIcon || N), j = () => a.label ? a.label({
        ...M.value,
        label: e.label,
        props: {
          for: S.value
        }
      }) : e.label;
      return c("div", X({
        class: ["v-field", {
          "v-field--active": g.value,
          "v-field--appended": J,
          "v-field--center-affix": e.centerAffix ?? !P.value,
          "v-field--disabled": e.disabled,
          "v-field--dirty": e.dirty,
          "v-field--error": e.error,
          "v-field--flat": e.flat,
          "v-field--has-background": !!e.bgColor,
          "v-field--persistent-clear": e.persistentClear,
          "v-field--prepended": T,
          "v-field--reverse": e.reverse,
          "v-field--single-line": e.singleLine,
          "v-field--no-label": !j(),
          [`v-field--variant-${e.variant}`]: !0
        }, i.value, O.value, r.value, o.value, f.value, m.value, e.class],
        style: [E.value, e.style],
        onClick: C
      }, t), [c("div", {
        class: "v-field__overlay"
      }, null), c(vu, {
        name: "v-field",
        active: !!e.loading,
        color: e.error ? "error" : typeof e.loading == "string" ? e.loading : e.color
      }, {
        default: a.loader
      }), T && c("div", {
        key: "prepend",
        class: "v-field__prepend-inner"
      }, [e.prependInnerIcon && c(v, {
        key: "prepend-icon",
        name: "prependInner"
      }, null), (k = a["prepend-inner"]) == null ? void 0 : k.call(a, M.value)]), c("div", {
        class: "v-field__field",
        "data-no-activator": ""
      }, [["filled", "solo", "solo-inverted", "solo-filled"].includes(e.variant) && y.value && c(Dt, {
        key: "floating-label",
        ref: V,
        class: [R.value],
        floating: !0,
        for: S.value,
        style: z.value
      }, {
        default: () => [j()]
      }), c(Dt, {
        ref: B,
        for: S.value
      }, {
        default: () => [j()]
      }), (x = a.default) == null ? void 0 : x.call(a, {
        ...M.value,
        props: {
          id: S.value,
          class: "v-field__input",
          "aria-describedby": _.value
        },
        focus: s,
        blur: d
      })]), N && c(Aa, {
        key: "clear"
      }, {
        default: () => [Fe(c("div", {
          class: "v-field__clearable",
          onMousedown: (D) => {
            D.preventDefault(), D.stopPropagation();
          }
        }, [c(Te, {
          defaults: {
            VIcon: {
              icon: e.clearIcon
            }
          }
        }, {
          default: () => [a.clear ? a.clear({
            ...M.value,
            props: {
              onKeydown: p,
              onFocus: s,
              onBlur: d,
              onClick: e["onClick:clear"]
            }
          }) : c(v, {
            name: "clear",
            onKeydown: p,
            onFocus: s,
            onBlur: d
          }, null)]
        })]), [[mt, e.dirty]])]
      }), J && c("div", {
        key: "append",
        class: "v-field__append-inner"
      }, [(I = a["append-inner"]) == null ? void 0 : I.call(a, M.value), e.appendInnerIcon && c(v, {
        key: "append-icon",
        name: "appendInner"
      }, null)]), c("div", {
        class: ["v-field__outline", R.value],
        style: z.value
      }, [w && c(ue, null, [c("div", {
        class: "v-field__outline__start"
      }, null), y.value && c("div", {
        class: "v-field__outline__notch"
      }, [c(Dt, {
        ref: V,
        floating: !0,
        for: S.value
      }, {
        default: () => [j()]
      })]), c("div", {
        class: "v-field__outline__end"
      }, null)]), P.value && y.value && c(Dt, {
        ref: V,
        floating: !0,
        for: S.value
      }, {
        default: () => [j()]
      })])]);
    }), {
      controlRef: A
    };
  }
});
function gu(e) {
  const n = Object.keys(ci.props).filter((t) => !Tn(t) && t !== "class" && t !== "style");
  return ql(e, n);
}
const yu = ["color", "file", "time", "date", "datetime-local", "week", "month"], Jn = F({
  autofocus: Boolean,
  counter: [Boolean, Number, String],
  counterValue: [Number, Function],
  prefix: String,
  placeholder: String,
  persistentPlaceholder: Boolean,
  persistentCounter: Boolean,
  suffix: String,
  role: String,
  type: {
    type: String,
    default: "text"
  },
  modelModifiers: Object,
  ...Ba(),
  ...si()
}, "VTextField"), Xt = Q()({
  name: "VTextField",
  directives: {
    Intersect: ua
  },
  inheritAttrs: !1,
  props: Jn(),
  emits: {
    "click:control": (e) => !0,
    "mousedown:control": (e) => !0,
    "update:focused": (e) => !0,
    "update:modelValue": (e) => !0
  },
  setup(e, n) {
    let {
      attrs: t,
      emit: l,
      slots: a
    } = n;
    const i = ve(e, "modelValue"), {
      isFocused: o,
      focus: r,
      blur: u
    } = Oa(e), s = h(() => typeof e.counterValue == "function" ? e.counterValue(i.value) : typeof e.counterValue == "number" ? e.counterValue : (i.value ?? "").toString().length), d = h(() => {
      if (t.maxlength) return t.maxlength;
      if (!(!e.counter || typeof e.counter != "number" && typeof e.counter != "string"))
        return e.counter;
    }), v = h(() => ["plain", "underlined"].includes(e.variant));
    function f(P, O) {
      var E, R;
      !e.autofocus || !P || (R = (E = O[0].target) == null ? void 0 : E.focus) == null || R.call(E);
    }
    const m = $(), g = $(), y = $(), b = h(() => yu.includes(e.type) || e.persistentPlaceholder || o.value || e.active);
    function S() {
      var P;
      y.value !== document.activeElement && ((P = y.value) == null || P.focus()), o.value || r();
    }
    function _(P) {
      l("mousedown:control", P), P.target !== y.value && (S(), P.preventDefault());
    }
    function B(P) {
      S(), l("click:control", P);
    }
    function V(P) {
      P.stopPropagation(), S(), ke(() => {
        i.value = null, _i(e["onClick:clear"], P);
      });
    }
    function A(P) {
      var E;
      const O = P.target;
      if (i.value = O.value, (E = e.modelModifiers) != null && E.trim && ["text", "search", "password", "tel", "url"].includes(e.type)) {
        const R = [O.selectionStart, O.selectionEnd];
        ke(() => {
          O.selectionStart = R[0], O.selectionEnd = R[1];
        });
      }
    }
    return ne(() => {
      const P = !!(a.counter || e.counter !== !1 && e.counter != null), O = !!(P || a.details), [E, R] = Xl(t), {
        modelValue: z,
        ...M
      } = El.filterProps(e), C = gu(e);
      return c(El, X({
        ref: m,
        modelValue: i.value,
        "onUpdate:modelValue": (p) => i.value = p,
        class: ["v-text-field", {
          "v-text-field--prefixed": e.prefix,
          "v-text-field--suffixed": e.suffix,
          "v-input--plain-underlined": v.value
        }, e.class],
        style: e.style
      }, E, M, {
        centerAffix: !v.value,
        focused: o.value
      }), {
        ...a,
        default: (p) => {
          let {
            id: w,
            isDisabled: T,
            isDirty: N,
            isReadonly: J,
            isValid: j
          } = p;
          return c(ci, X({
            ref: g,
            onMousedown: _,
            onClick: B,
            "onClick:clear": V,
            "onClick:prependInner": e["onClick:prependInner"],
            "onClick:appendInner": e["onClick:appendInner"],
            role: e.role
          }, C, {
            id: w.value,
            active: b.value || N.value,
            dirty: N.value || e.dirty,
            disabled: T.value,
            focused: o.value,
            error: j.value === !1
          }), {
            ...a,
            default: (k) => {
              let {
                props: {
                  class: x,
                  ...I
                }
              } = k;
              const D = Fe(c("input", X({
                ref: y,
                value: i.value,
                onInput: A,
                autofocus: e.autofocus,
                readonly: J.value,
                disabled: T.value,
                name: e.name,
                placeholder: e.placeholder,
                size: 1,
                type: e.type,
                onFocus: S,
                onBlur: u
              }, I, R), null), [[vt("intersect"), {
                handler: f
              }, null, {
                once: !0
              }]]);
              return c(ue, null, [e.prefix && c("span", {
                class: "v-text-field__prefix"
              }, [c("span", {
                class: "v-text-field__prefix__text"
              }, [e.prefix])]), a.default ? c("div", {
                class: x,
                "data-no-activator": ""
              }, [a.default(), D]) : xi(D, {
                class: x
              }), e.suffix && c("span", {
                class: "v-text-field__suffix"
              }, [c("span", {
                class: "v-text-field__suffix__text"
              }, [e.suffix])])]);
            }
          });
        },
        details: O ? (p) => {
          var w;
          return c(ue, null, [(w = a.details) == null ? void 0 : w.call(a, p), P && c(ue, null, [c("span", null, null), c(au, {
            active: e.persistentCounter || o.value,
            value: s.value,
            max: d.value,
            disabled: e.disabled
          }, a.counter)])]);
        } : void 0
      });
    }), on({}, m, g, y);
  }
}), hu = F({
  renderless: Boolean,
  ...ae()
}, "VVirtualScrollItem"), bu = Q()({
  name: "VVirtualScrollItem",
  inheritAttrs: !1,
  props: hu(),
  emits: {
    "update:height": (e) => !0
  },
  setup(e, n) {
    let {
      attrs: t,
      emit: l,
      slots: a
    } = n;
    const {
      resizeRef: i,
      contentRect: o
    } = qt(void 0, "border");
    K(() => {
      var r;
      return (r = o.value) == null ? void 0 : r.height;
    }, (r) => {
      r != null && l("update:height", r);
    }), ne(() => {
      var r, u;
      return e.renderless ? c(ue, null, [(r = a.default) == null ? void 0 : r.call(a, {
        itemRef: i
      })]) : c("div", X({
        ref: i,
        class: ["v-virtual-scroll__item", e.class],
        style: e.style
      }, t), [(u = a.default) == null ? void 0 : u.call(a)]);
    });
  }
}), Su = -1, wu = 1, hn = 100, Cu = F({
  itemHeight: {
    type: [Number, String],
    default: null
  },
  height: [Number, String]
}, "virtual");
function pu(e, n) {
  const t = Gn(), l = U(0);
  qe(() => {
    l.value = parseFloat(e.itemHeight || 0);
  });
  const a = U(0), i = U(Math.ceil(
    // Assume 16px items filling the entire screen height if
    // not provided. This is probably incorrect but it minimises
    // the chance of ending up with empty space at the bottom.
    // The default value is set here to avoid poisoning getSize()
    (parseInt(e.height) || t.height.value) / (l.value || 16)
  ) || 1), o = U(0), r = U(0), u = $(), s = $();
  let d = 0;
  const {
    resizeRef: v,
    contentRect: f
  } = qt();
  qe(() => {
    v.value = u.value;
  });
  const m = h(() => {
    var k;
    return u.value === document.documentElement ? t.height.value : ((k = f.value) == null ? void 0 : k.height) || parseInt(e.height) || 0;
  }), g = h(() => !!(u.value && s.value && m.value && l.value));
  let y = Array.from({
    length: n.value.length
  }), b = Array.from({
    length: n.value.length
  });
  const S = U(0);
  let _ = -1;
  function B(k) {
    return y[k] || l.value;
  }
  const V = Oi(() => {
    const k = performance.now();
    b[0] = 0;
    const x = n.value.length;
    for (let I = 1; I <= x - 1; I++)
      b[I] = (b[I - 1] || 0) + B(I - 1);
    S.value = Math.max(S.value, performance.now() - k);
  }, S), A = K(g, (k) => {
    k && (A(), d = s.value.offsetTop, V.immediate(), T(), ~_ && ke(() => {
      me && window.requestAnimationFrame(() => {
        J(_), _ = -1;
      });
    }));
  });
  Ve(() => {
    V.clear();
  });
  function P(k, x) {
    const I = y[k], D = l.value;
    l.value = D ? Math.min(l.value, x) : x, (I !== x || D !== l.value) && (y[k] = x, V());
  }
  function O(k) {
    return k = Ge(k, 0, n.value.length - 1), b[k] || 0;
  }
  function E(k) {
    return xu(b, k);
  }
  let R = 0, z = 0, M = 0;
  K(m, (k, x) => {
    x && (T(), k < x && requestAnimationFrame(() => {
      z = 0, T();
    }));
  });
  function C() {
    if (!u.value || !s.value) return;
    const k = u.value.scrollTop, x = performance.now();
    x - M > 500 ? (z = Math.sign(k - R), d = s.value.offsetTop) : z = k - R, R = k, M = x, T();
  }
  function p() {
    !u.value || !s.value || (z = 0, M = 0, T());
  }
  let w = -1;
  function T() {
    cancelAnimationFrame(w), w = requestAnimationFrame(N);
  }
  function N() {
    if (!u.value || !m.value) return;
    const k = R - d, x = Math.sign(z), I = Math.max(0, k - hn), D = Ge(E(I), 0, n.value.length), ee = k + m.value + hn, W = Ge(E(ee) + 1, D + 1, n.value.length);
    if (
      // Only update the side we're scrolling towards,
      // the other side will be updated incidentally
      (x !== Su || D < a.value) && (x !== wu || W > i.value)
    ) {
      const le = O(a.value) - O(D), H = O(W) - O(i.value);
      Math.max(le, H) > hn ? (a.value = D, i.value = W) : (D <= 0 && (a.value = D), W >= n.value.length && (i.value = W));
    }
    o.value = O(a.value), r.value = O(n.value.length) - O(i.value);
  }
  function J(k) {
    const x = O(k);
    !u.value || k && !x ? _ = k : u.value.scrollTop = x;
  }
  const j = h(() => n.value.slice(a.value, i.value).map((k, x) => ({
    raw: k,
    index: x + a.value
  })));
  return K(n, () => {
    y = Array.from({
      length: n.value.length
    }), b = Array.from({
      length: n.value.length
    }), V.immediate(), T();
  }, {
    deep: !0
  }), {
    calculateVisibleItems: T,
    containerRef: u,
    markerRef: s,
    computedItems: j,
    paddingTop: o,
    paddingBottom: r,
    scrollToIndex: J,
    handleScroll: C,
    handleScrollend: p,
    handleItemResize: P
  };
}
function xu(e, n) {
  let t = e.length - 1, l = 0, a = 0, i = null, o = -1;
  if (e[t] < n)
    return t;
  for (; l <= t; )
    if (a = l + t >> 1, i = e[a], i > n)
      t = a - 1;
    else if (i < n)
      o = a, l = a + 1;
    else return i === n ? a : l;
  return o;
}
const ku = F({
  items: {
    type: Array,
    default: () => []
  },
  renderless: Boolean,
  ...Cu(),
  ...ae(),
  ...yt()
}, "VVirtualScroll"), di = Q()({
  name: "VVirtualScroll",
  props: ku(),
  setup(e, n) {
    let {
      slots: t
    } = n;
    const l = ge("VVirtualScroll"), {
      dimensionStyles: a
    } = ht(e), {
      calculateVisibleItems: i,
      containerRef: o,
      markerRef: r,
      handleScroll: u,
      handleScrollend: s,
      handleItemResize: d,
      scrollToIndex: v,
      paddingTop: f,
      paddingBottom: m,
      computedItems: g
    } = pu(e, G(e, "items"));
    return lt(() => e.renderless, () => {
      function y() {
        var _, B;
        const S = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1) ? "addEventListener" : "removeEventListener";
        o.value === document.documentElement ? (document[S]("scroll", u, {
          passive: !0
        }), document[S]("scrollend", s)) : ((_ = o.value) == null || _[S]("scroll", u, {
          passive: !0
        }), (B = o.value) == null || B[S]("scrollend", s));
      }
      Ot(() => {
        o.value = ia(l.vnode.el, !0), y(!0);
      }), Ve(y);
    }), ne(() => {
      const y = g.value.map((b) => c(bu, {
        key: b.index,
        renderless: e.renderless,
        "onUpdate:height": (S) => d(b.index, S)
      }, {
        default: (S) => {
          var _;
          return (_ = t.default) == null ? void 0 : _.call(t, {
            item: b.raw,
            index: b.index,
            ...S
          });
        }
      }));
      return e.renderless ? c(ue, null, [c("div", {
        ref: r,
        class: "v-virtual-scroll__spacer",
        style: {
          paddingTop: q(f.value)
        }
      }, null), y, c("div", {
        class: "v-virtual-scroll__spacer",
        style: {
          paddingBottom: q(m.value)
        }
      }, null)]) : c("div", {
        ref: o,
        class: ["v-virtual-scroll", e.class],
        onScrollPassive: u,
        onScrollend: s,
        style: [a.value, e.style]
      }, [c("div", {
        ref: r,
        class: "v-virtual-scroll__container",
        style: {
          paddingTop: q(f.value),
          paddingBottom: q(m.value)
        }
      }, [y])]);
    }), {
      calculateVisibleItems: i,
      scrollToIndex: v
    };
  }
});
function fi(e, n) {
  const t = U(!1);
  let l;
  function a(r) {
    cancelAnimationFrame(l), t.value = !0, l = requestAnimationFrame(() => {
      l = requestAnimationFrame(() => {
        t.value = !1;
      });
    });
  }
  async function i() {
    await new Promise((r) => requestAnimationFrame(r)), await new Promise((r) => requestAnimationFrame(r)), await new Promise((r) => requestAnimationFrame(r)), await new Promise((r) => {
      if (t.value) {
        const u = K(t, () => {
          u(), r();
        });
      } else r();
    });
  }
  async function o(r) {
    var d, v;
    if (r.key === "Tab" && ((d = n.value) == null || d.focus()), !["PageDown", "PageUp", "Home", "End"].includes(r.key)) return;
    const u = (v = e.value) == null ? void 0 : v.$el;
    if (!u) return;
    (r.key === "Home" || r.key === "End") && u.scrollTo({
      top: r.key === "Home" ? 0 : u.scrollHeight,
      behavior: "smooth"
    }), await i();
    const s = u.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");
    if (r.key === "PageDown" || r.key === "Home") {
      const f = u.getBoundingClientRect().top;
      for (const m of s)
        if (m.getBoundingClientRect().top >= f) {
          m.focus();
          break;
        }
    } else {
      const f = u.getBoundingClientRect().bottom;
      for (const m of [...s].reverse())
        if (m.getBoundingClientRect().bottom <= f) {
          m.focus();
          break;
        }
    }
  }
  return {
    onScrollPassive: a,
    onKeydown: o
  };
}
const vi = F({
  chips: Boolean,
  closableChips: Boolean,
  closeText: {
    type: String,
    default: "$vuetify.close"
  },
  openText: {
    type: String,
    default: "$vuetify.open"
  },
  eager: Boolean,
  hideNoData: Boolean,
  hideSelected: Boolean,
  listProps: {
    type: Object
  },
  menu: Boolean,
  menuIcon: {
    type: se,
    default: "$dropdown"
  },
  menuProps: {
    type: Object
  },
  multiple: Boolean,
  noDataText: {
    type: String,
    default: "$vuetify.noDataText"
  },
  openOnClear: Boolean,
  itemColor: String,
  ...Xa({
    itemChildren: !1
  })
}, "Select"), Vu = F({
  ...vi(),
  ...at(Jn({
    modelValue: null,
    role: "combobox"
  }), ["validationValue", "dirty", "appendInnerIcon"]),
  ...bt({
    transition: {
      component: Ia
    }
  })
}, "VSelect");
Q()({
  name: "VSelect",
  props: Vu(),
  emits: {
    "update:focused": (e) => !0,
    "update:modelValue": (e) => !0,
    "update:menu": (e) => !0
  },
  setup(e, n) {
    let {
      slots: t
    } = n;
    const {
      t: l
    } = an(), a = $(), i = $(), o = $(), r = ve(e, "menu"), u = h({
      get: () => r.value,
      set: (k) => {
        var x;
        r.value && !k && ((x = i.value) != null && x.ΨopenChildren.size) || (r.value = k);
      }
    }), {
      items: s,
      transformIn: d,
      transformOut: v
    } = Ja(e), f = ve(e, "modelValue", [], (k) => d(k === null ? [null] : pe(k)), (k) => {
      const x = v(k);
      return e.multiple ? x : x[0] ?? null;
    }), m = h(() => typeof e.counterValue == "function" ? e.counterValue(f.value) : typeof e.counterValue == "number" ? e.counterValue : f.value.length), g = Un(), y = h(() => f.value.map((k) => k.value)), b = U(!1), S = h(() => u.value ? e.closeText : e.openText);
    let _ = "", B;
    const V = h(() => e.hideSelected ? s.value.filter((k) => !f.value.some((x) => e.valueComparator(x, k))) : s.value), A = h(() => e.hideNoData && !V.value.length || e.readonly || (g == null ? void 0 : g.isReadonly.value)), P = h(() => {
      var k;
      return {
        ...e.menuProps,
        activatorProps: {
          ...((k = e.menuProps) == null ? void 0 : k.activatorProps) || {},
          "aria-haspopup": "listbox"
          // Set aria-haspopup to 'listbox'
        }
      };
    }), O = $(), E = fi(O, a);
    function R(k) {
      e.openOnClear && (u.value = !0);
    }
    function z() {
      A.value || (u.value = !u.value);
    }
    function M(k) {
      Sn(k) && C(k);
    }
    function C(k) {
      var ee, W;
      if (!k.key || e.readonly || g != null && g.isReadonly.value) return;
      ["Enter", " ", "ArrowDown", "ArrowUp", "Home", "End"].includes(k.key) && k.preventDefault(), ["Enter", "ArrowDown", " "].includes(k.key) && (u.value = !0), ["Escape", "Tab"].includes(k.key) && (u.value = !1), k.key === "Home" ? (ee = O.value) == null || ee.focus("first") : k.key === "End" && ((W = O.value) == null || W.focus("last"));
      const x = 1e3;
      if (e.multiple || !Sn(k)) return;
      const I = performance.now();
      I - B > x && (_ = ""), _ += k.key.toLowerCase(), B = I;
      const D = s.value.find((le) => le.title.toLowerCase().startsWith(_));
      if (D !== void 0) {
        f.value = [D];
        const le = V.value.indexOf(D);
        me && window.requestAnimationFrame(() => {
          var H;
          le >= 0 && ((H = o.value) == null || H.scrollToIndex(le));
        });
      }
    }
    function p(k) {
      let x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
      if (!k.props.disabled)
        if (e.multiple) {
          const I = f.value.findIndex((ee) => e.valueComparator(ee.value, k.value)), D = x ?? !~I;
          if (~I) {
            const ee = D ? [...f.value, k] : [...f.value];
            ee.splice(I, 1), f.value = ee;
          } else D && (f.value = [...f.value, k]);
        } else {
          const I = x !== !1;
          f.value = I ? [k] : [], ke(() => {
            u.value = !1;
          });
        }
    }
    function w(k) {
      var x;
      (x = O.value) != null && x.$el.contains(k.relatedTarget) || (u.value = !1);
    }
    function T() {
      var k;
      e.eager && ((k = o.value) == null || k.calculateVisibleItems());
    }
    function N() {
      var k;
      b.value && ((k = a.value) == null || k.focus());
    }
    function J(k) {
      b.value = !0;
    }
    function j(k) {
      if (k == null) f.value = [];
      else if (ct(a.value, ":autofill") || ct(a.value, ":-webkit-autofill")) {
        const x = s.value.find((I) => I.title === k);
        x && p(x);
      } else a.value && (a.value.value = "");
    }
    return K(u, () => {
      if (!e.hideSelected && u.value && f.value.length) {
        const k = V.value.findIndex((x) => f.value.some((I) => e.valueComparator(I.value, x.value)));
        me && window.requestAnimationFrame(() => {
          var x;
          k >= 0 && ((x = o.value) == null || x.scrollToIndex(k));
        });
      }
    }), K(() => e.items, (k, x) => {
      u.value || b.value && !x.length && k.length && (u.value = !0);
    }), ne(() => {
      const k = !!(e.chips || t.chip), x = !!(!e.hideNoData || V.value.length || t["prepend-item"] || t["append-item"] || t["no-data"]), I = f.value.length > 0, D = Xt.filterProps(e), ee = I || !b.value && e.label && !e.persistentPlaceholder ? void 0 : e.placeholder;
      return c(Xt, X({
        ref: a
      }, D, {
        modelValue: f.value.map((W) => W.props.value).join(", "),
        "onUpdate:modelValue": j,
        focused: b.value,
        "onUpdate:focused": (W) => b.value = W,
        validationValue: f.externalValue,
        counterValue: m.value,
        dirty: I,
        class: ["v-select", {
          "v-select--active-menu": u.value,
          "v-select--chips": !!e.chips,
          [`v-select--${e.multiple ? "multiple" : "single"}`]: !0,
          "v-select--selected": f.value.length,
          "v-select--selection-slot": !!t.selection
        }, e.class],
        style: e.style,
        inputmode: "none",
        placeholder: ee,
        "onClick:clear": R,
        "onMousedown:control": z,
        onBlur: w,
        onKeydown: C,
        "aria-label": l(S.value),
        title: l(S.value)
      }), {
        ...t,
        default: () => c(ue, null, [c(ui, X({
          ref: i,
          modelValue: u.value,
          "onUpdate:modelValue": (W) => u.value = W,
          activator: "parent",
          contentClass: "v-select__content",
          disabled: A.value,
          eager: e.eager,
          maxHeight: 310,
          openOnClick: !1,
          closeOnContentClick: !1,
          transition: e.transition,
          onAfterEnter: T,
          onAfterLeave: N
        }, P.value), {
          default: () => [x && c(ei, X({
            ref: O,
            selected: y.value,
            selectStrategy: e.multiple ? "independent" : "single-independent",
            onMousedown: (W) => W.preventDefault(),
            onKeydown: M,
            onFocusin: J,
            tabindex: "-1",
            "aria-live": "polite",
            color: e.itemColor ?? e.color
          }, E, e.listProps), {
            default: () => {
              var W, le, H;
              return [(W = t["prepend-item"]) == null ? void 0 : W.call(t), !V.value.length && !e.hideNoData && (((le = t["no-data"]) == null ? void 0 : le.call(t)) ?? c(ft, {
                title: l(e.noDataText)
              }, null)), c(di, {
                ref: o,
                renderless: !0,
                items: V.value
              }, {
                default: (te) => {
                  var Y;
                  let {
                    item: ce,
                    index: ie,
                    itemRef: oe
                  } = te;
                  const L = X(ce.props, {
                    ref: oe,
                    key: ie,
                    onClick: () => p(ce, null)
                  });
                  return ((Y = t.item) == null ? void 0 : Y.call(t, {
                    item: ce,
                    index: ie,
                    props: L
                  })) ?? c(ft, X(L, {
                    role: "option"
                  }), {
                    prepend: (de) => {
                      let {
                        isSelected: Z
                      } = de;
                      return c(ue, null, [e.multiple && !e.hideSelected ? c(Ca, {
                        key: ce.value,
                        modelValue: Z,
                        ripple: !1,
                        tabindex: "-1"
                      }, null) : void 0, ce.props.prependAvatar && c(dt, {
                        image: ce.props.prependAvatar
                      }, null), ce.props.prependIcon && c(we, {
                        icon: ce.props.prependIcon
                      }, null)]);
                    }
                  });
                }
              }), (H = t["append-item"]) == null ? void 0 : H.call(t)];
            }
          })]
        }), f.value.map((W, le) => {
          function H(oe) {
            oe.stopPropagation(), oe.preventDefault(), p(W, !1);
          }
          const te = {
            "onClick:close": H,
            onKeydown(oe) {
              oe.key !== "Enter" && oe.key !== " " || (oe.preventDefault(), oe.stopPropagation(), H(oe));
            },
            onMousedown(oe) {
              oe.preventDefault(), oe.stopPropagation();
            },
            modelValue: !0,
            "onUpdate:modelValue": void 0
          }, ce = k ? !!t.chip : !!t.selection, ie = ce ? Fn(k ? t.chip({
            item: W,
            index: le,
            props: te
          }) : t.selection({
            item: W,
            index: le
          })) : void 0;
          if (!(ce && !ie))
            return c("div", {
              key: W.value,
              class: "v-select__selection"
            }, [k ? t.chip ? c(Te, {
              key: "chip-defaults",
              defaults: {
                VChip: {
                  closable: e.closableChips,
                  size: "small",
                  text: W.title
                }
              }
            }, {
              default: () => [ie]
            }) : c(za, X({
              key: "chip",
              closable: e.closableChips,
              size: "small",
              text: W.title,
              disabled: W.props.disabled
            }, te), null) : ie ?? c("span", {
              class: "v-select__selection-text"
            }, [W.title, e.multiple && le < f.value.length - 1 && c("span", {
              class: "v-select__selection-comma"
            }, [Ul(",")])])]);
        })]),
        "append-inner": function() {
          var te;
          for (var W = arguments.length, le = new Array(W), H = 0; H < W; H++)
            le[H] = arguments[H];
          return c(ue, null, [(te = t["append-inner"]) == null ? void 0 : te.call(t, ...le), e.menuIcon ? c(we, {
            class: "v-select__menu-icon",
            icon: e.menuIcon
          }, null) : void 0]);
        }
      });
    }), on({
      isFocused: b,
      menu: u,
      select: p
    }, a);
  }
});
const Iu = (e, n, t) => e == null || n == null ? -1 : e.toString().toLocaleLowerCase().indexOf(n.toString().toLocaleLowerCase()), Pu = F({
  customFilter: Function,
  customKeyFilter: Object,
  filterKeys: [Array, String],
  filterMode: {
    type: String,
    default: "intersection"
  },
  noFilter: Boolean
}, "filter");
function Au(e, n, t) {
  var r;
  const l = [], a = (t == null ? void 0 : t.default) ?? Iu, i = t != null && t.filterKeys ? pe(t.filterKeys) : !1, o = Object.keys((t == null ? void 0 : t.customKeyFilter) ?? {}).length;
  if (!(e != null && e.length)) return l;
  e: for (let u = 0; u < e.length; u++) {
    const [s, d = s] = pe(e[u]), v = {}, f = {};
    let m = -1;
    if ((n || o > 0) && !(t != null && t.noFilter)) {
      if (typeof s == "object") {
        const b = i || Object.keys(d);
        for (const S of b) {
          const _ = De(d, S), B = (r = t == null ? void 0 : t.customKeyFilter) == null ? void 0 : r[S];
          if (m = B ? B(_, n, s) : a(_, n, s), m !== -1 && m !== !1)
            B ? v[S] = m : f[S] = m;
          else if ((t == null ? void 0 : t.filterMode) === "every")
            continue e;
        }
      } else
        m = a(s, n, s), m !== -1 && m !== !1 && (f.title = m);
      const g = Object.keys(f).length, y = Object.keys(v).length;
      if (!g && !y || (t == null ? void 0 : t.filterMode) === "union" && y !== o && !g || (t == null ? void 0 : t.filterMode) === "intersection" && (y !== o || !g)) continue;
    }
    l.push({
      index: u,
      matches: {
        ...f,
        ...v
      }
    });
  }
  return l;
}
function Eu(e, n, t, l) {
  const a = $([]), i = $(/* @__PURE__ */ new Map()), o = h(() => Ce(n));
  qe(() => {
    const u = typeof t == "function" ? t() : Ce(t), s = typeof u != "string" && typeof u != "number" ? "" : String(u), d = Au(o.value, s, {
      customKeyFilter: {
        ...e.customKeyFilter,
        ...Ce(l == null ? void 0 : l.customKeyFilter)
      },
      default: e.customFilter,
      filterKeys: e.filterKeys,
      filterMode: e.filterMode,
      noFilter: e.noFilter
    }), v = Ce(n), f = [], m = /* @__PURE__ */ new Map();
    d.forEach((g) => {
      let {
        index: y,
        matches: b
      } = g;
      const S = v[y];
      f.push(S), m.set(S.value, b);
    }), a.value = f, i.value = m;
  });
  function r(u) {
    return i.value.get(u.value);
  }
  return {
    filteredItems: a,
    filteredMatches: i,
    getMatches: r
  };
}
function Ou(e, n, t) {
  if (n == null) return e;
  if (Array.isArray(n)) throw new Error("Multiple matches is not implemented");
  return typeof n == "number" && ~n ? c(ue, null, [c("span", {
    class: "v-autocomplete__unmask"
  }, [e.substr(0, n)]), c("span", {
    class: "v-autocomplete__mask"
  }, [e.substr(n, t)]), c("span", {
    class: "v-autocomplete__unmask"
  }, [e.substr(n + t)])]) : e;
}
const Bu = F({
  autoSelectFirst: {
    type: [Boolean, String]
  },
  clearOnSelect: Boolean,
  search: String,
  ...Pu({
    filterKeys: ["title"]
  }),
  ...vi(),
  ...at(Jn({
    modelValue: null,
    role: "combobox"
  }), ["validationValue", "dirty", "appendInnerIcon"]),
  ...bt({
    transition: !1
  })
}, "VAutocomplete"), _e = Q()({
  name: "VAutocomplete",
  props: Bu(),
  emits: {
    "update:focused": (e) => !0,
    "update:search": (e) => !0,
    "update:modelValue": (e) => !0,
    "update:menu": (e) => !0
  },
  setup(e, n) {
    let {
      slots: t
    } = n;
    const {
      t: l
    } = an(), a = $(), i = U(!1), o = U(!0), r = U(!1), u = $(), s = $(), d = ve(e, "menu"), v = h({
      get: () => d.value,
      set: (L) => {
        var Y;
        d.value && !L && ((Y = u.value) != null && Y.ΨopenChildren.size) || (d.value = L);
      }
    }), f = U(-1), m = h(() => {
      var L;
      return (L = a.value) == null ? void 0 : L.color;
    }), g = h(() => v.value ? e.closeText : e.openText), {
      items: y,
      transformIn: b,
      transformOut: S
    } = Ja(e), {
      textColorClasses: _,
      textColorStyles: B
    } = Ye(m), V = ve(e, "search", ""), A = ve(e, "modelValue", [], (L) => b(L === null ? [null] : pe(L)), (L) => {
      const Y = S(L);
      return e.multiple ? Y : Y[0] ?? null;
    }), P = h(() => typeof e.counterValue == "function" ? e.counterValue(A.value) : typeof e.counterValue == "number" ? e.counterValue : A.value.length), O = Un(), {
      filteredItems: E,
      getMatches: R
    } = Eu(e, y, () => o.value ? "" : V.value), z = h(() => e.hideSelected ? E.value.filter((L) => !A.value.some((Y) => Y.value === L.value)) : E.value), M = h(() => !!(e.chips || t.chip)), C = h(() => M.value || !!t.selection), p = h(() => A.value.map((L) => L.props.value)), w = h(() => {
      var Y;
      return (e.autoSelectFirst === !0 || e.autoSelectFirst === "exact" && V.value === ((Y = z.value[0]) == null ? void 0 : Y.title)) && z.value.length > 0 && !o.value && !r.value;
    }), T = h(() => e.hideNoData && !z.value.length || e.readonly || (O == null ? void 0 : O.isReadonly.value)), N = $(), J = fi(N, a);
    function j(L) {
      e.openOnClear && (v.value = !0), V.value = "";
    }
    function k() {
      T.value || (v.value = !0);
    }
    function x(L) {
      T.value || (i.value && (L.preventDefault(), L.stopPropagation()), v.value = !v.value);
    }
    function I(L) {
      var Y;
      Sn(L) && ((Y = a.value) == null || Y.focus());
    }
    function D(L) {
      var Z, fe, Ie;
      if (e.readonly || O != null && O.isReadonly.value) return;
      const Y = a.value.selectionStart, de = A.value.length;
      if ((f.value > -1 || ["Enter", "ArrowDown", "ArrowUp"].includes(L.key)) && L.preventDefault(), ["Enter", "ArrowDown"].includes(L.key) && (v.value = !0), ["Escape"].includes(L.key) && (v.value = !1), w.value && ["Enter", "Tab"].includes(L.key) && !A.value.some((ye) => {
        let {
          value: be
        } = ye;
        return be === z.value[0].value;
      }) && oe(z.value[0]), L.key === "ArrowDown" && w.value && ((Z = N.value) == null || Z.focus("next")), ["Backspace", "Delete"].includes(L.key)) {
        if (!e.multiple && C.value && A.value.length > 0 && !V.value) return oe(A.value[0], !1);
        if (~f.value) {
          const ye = f.value;
          oe(A.value[f.value], !1), f.value = ye >= de - 1 ? de - 2 : ye;
        } else L.key === "Backspace" && !V.value && (f.value = de - 1);
      }
      if (e.multiple) {
        if (L.key === "ArrowLeft") {
          if (f.value < 0 && Y > 0) return;
          const ye = f.value > -1 ? f.value - 1 : de - 1;
          A.value[ye] ? f.value = ye : (f.value = -1, a.value.setSelectionRange((fe = V.value) == null ? void 0 : fe.length, (Ie = V.value) == null ? void 0 : Ie.length));
        }
        if (L.key === "ArrowRight") {
          if (f.value < 0) return;
          const ye = f.value + 1;
          A.value[ye] ? f.value = ye : (f.value = -1, a.value.setSelectionRange(0, 0));
        }
      }
    }
    function ee(L) {
      if (ct(a.value, ":autofill") || ct(a.value, ":-webkit-autofill")) {
        const Y = y.value.find((de) => de.title === L.target.value);
        Y && oe(Y);
      }
    }
    function W() {
      var L;
      e.eager && ((L = s.value) == null || L.calculateVisibleItems());
    }
    function le() {
      var L;
      i.value && (o.value = !0, (L = a.value) == null || L.focus());
    }
    function H(L) {
      i.value = !0, setTimeout(() => {
        r.value = !0;
      });
    }
    function te(L) {
      r.value = !1;
    }
    function ce(L) {
      (L == null || L === "" && !e.multiple && !C.value) && (A.value = []);
    }
    const ie = U(!1);
    function oe(L) {
      let Y = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
      if (!(!L || L.props.disabled))
        if (e.multiple) {
          const de = A.value.findIndex((fe) => e.valueComparator(fe.value, L.value)), Z = Y ?? !~de;
          if (~de) {
            const fe = Z ? [...A.value, L] : [...A.value];
            fe.splice(de, 1), A.value = fe;
          } else Z && (A.value = [...A.value, L]);
          e.clearOnSelect && (V.value = "");
        } else {
          const de = Y !== !1;
          A.value = de ? [L] : [], V.value = de && !C.value ? L.title : "", ke(() => {
            v.value = !1, o.value = !0;
          });
        }
    }
    return K(i, (L, Y) => {
      var de;
      L !== Y && (L ? (ie.value = !0, V.value = e.multiple || C.value ? "" : String(((de = A.value.at(-1)) == null ? void 0 : de.props.title) ?? ""), o.value = !0, ke(() => ie.value = !1)) : (!e.multiple && V.value == null && (A.value = []), v.value = !1, A.value.some((Z) => {
        let {
          title: fe
        } = Z;
        return fe === V.value;
      }) || (V.value = ""), f.value = -1));
    }), K(V, (L) => {
      !i.value || ie.value || (L && (v.value = !0), o.value = !L);
    }), K(v, () => {
      if (!e.hideSelected && v.value && A.value.length) {
        const L = z.value.findIndex((Y) => A.value.some((de) => Y.value === de.value));
        me && window.requestAnimationFrame(() => {
          var Y;
          L >= 0 && ((Y = s.value) == null || Y.scrollToIndex(L));
        });
      }
    }), K(() => e.items, (L, Y) => {
      v.value || i.value && !Y.length && L.length && (v.value = !0);
    }), ne(() => {
      const L = !!(!e.hideNoData || z.value.length || t["prepend-item"] || t["append-item"] || t["no-data"]), Y = A.value.length > 0, de = Xt.filterProps(e);
      return c(Xt, X({
        ref: a
      }, de, {
        modelValue: V.value,
        "onUpdate:modelValue": [(Z) => V.value = Z, ce],
        focused: i.value,
        "onUpdate:focused": (Z) => i.value = Z,
        validationValue: A.externalValue,
        counterValue: P.value,
        dirty: Y,
        onChange: ee,
        class: ["v-autocomplete", `v-autocomplete--${e.multiple ? "multiple" : "single"}`, {
          "v-autocomplete--active-menu": v.value,
          "v-autocomplete--chips": !!e.chips,
          "v-autocomplete--selection-slot": !!C.value,
          "v-autocomplete--selecting-index": f.value > -1
        }, e.class],
        style: e.style,
        readonly: e.readonly,
        placeholder: Y ? void 0 : e.placeholder,
        "onClick:clear": j,
        "onMousedown:control": k,
        onKeydown: D
      }), {
        ...t,
        default: () => c(ue, null, [c(ui, X({
          ref: u,
          modelValue: v.value,
          "onUpdate:modelValue": (Z) => v.value = Z,
          activator: "parent",
          contentClass: "v-autocomplete__content",
          disabled: T.value,
          eager: e.eager,
          maxHeight: 310,
          openOnClick: !1,
          closeOnContentClick: !1,
          transition: e.transition,
          onAfterEnter: W,
          onAfterLeave: le
        }, e.menuProps), {
          default: () => [L && c(ei, X({
            ref: N,
            selected: p.value,
            selectStrategy: e.multiple ? "independent" : "single-independent",
            onMousedown: (Z) => Z.preventDefault(),
            onKeydown: I,
            onFocusin: H,
            onFocusout: te,
            tabindex: "-1",
            "aria-live": "polite",
            color: e.itemColor ?? e.color
          }, J, e.listProps), {
            default: () => {
              var Z, fe, Ie;
              return [(Z = t["prepend-item"]) == null ? void 0 : Z.call(t), !z.value.length && !e.hideNoData && (((fe = t["no-data"]) == null ? void 0 : fe.call(t)) ?? c(ft, {
                title: l(e.noDataText)
              }, null)), c(di, {
                ref: s,
                renderless: !0,
                items: z.value
              }, {
                default: (ye) => {
                  var el;
                  let {
                    item: be,
                    index: Qe,
                    itemRef: Pe
                  } = ye;
                  const Zn = X(be.props, {
                    ref: Pe,
                    key: Qe,
                    active: w.value && Qe === 0 ? !0 : void 0,
                    onClick: () => oe(be, null)
                  });
                  return ((el = t.item) == null ? void 0 : el.call(t, {
                    item: be,
                    index: Qe,
                    props: Zn
                  })) ?? c(ft, X(Zn, {
                    role: "option"
                  }), {
                    prepend: (Tt) => {
                      let {
                        isSelected: Lt
                      } = Tt;
                      return c(ue, null, [e.multiple && !e.hideSelected ? c(Ca, {
                        key: be.value,
                        modelValue: Lt,
                        ripple: !1,
                        tabindex: "-1"
                      }, null) : void 0, be.props.prependAvatar && c(dt, {
                        image: be.props.prependAvatar
                      }, null), be.props.prependIcon && c(we, {
                        icon: be.props.prependIcon
                      }, null)]);
                    },
                    title: () => {
                      var Tt, Lt;
                      return o.value ? be.title : Ou(be.title, (Tt = R(be)) == null ? void 0 : Tt.title, ((Lt = V.value) == null ? void 0 : Lt.length) ?? 0);
                    }
                  });
                }
              }), (Ie = t["append-item"]) == null ? void 0 : Ie.call(t)];
            }
          })]
        }), A.value.map((Z, fe) => {
          function Ie(Pe) {
            Pe.stopPropagation(), Pe.preventDefault(), oe(Z, !1);
          }
          const ye = {
            "onClick:close": Ie,
            onKeydown(Pe) {
              Pe.key !== "Enter" && Pe.key !== " " || (Pe.preventDefault(), Pe.stopPropagation(), Ie(Pe));
            },
            onMousedown(Pe) {
              Pe.preventDefault(), Pe.stopPropagation();
            },
            modelValue: !0,
            "onUpdate:modelValue": void 0
          }, be = M.value ? !!t.chip : !!t.selection, Qe = be ? Fn(M.value ? t.chip({
            item: Z,
            index: fe,
            props: ye
          }) : t.selection({
            item: Z,
            index: fe
          })) : void 0;
          if (!(be && !Qe))
            return c("div", {
              key: Z.value,
              class: ["v-autocomplete__selection", fe === f.value && ["v-autocomplete__selection--selected", _.value]],
              style: fe === f.value ? B.value : {}
            }, [M.value ? t.chip ? c(Te, {
              key: "chip-defaults",
              defaults: {
                VChip: {
                  closable: e.closableChips,
                  size: "small",
                  text: Z.title
                }
              }
            }, {
              default: () => [Qe]
            }) : c(za, X({
              key: "chip",
              closable: e.closableChips,
              size: "small",
              text: Z.title,
              disabled: Z.props.disabled
            }, ye), null) : Qe ?? c("span", {
              class: "v-autocomplete__selection-text"
            }, [Z.title, e.multiple && fe < A.value.length - 1 && c("span", {
              class: "v-autocomplete__selection-comma"
            }, [Ul(",")])])]);
        })]),
        "append-inner": function() {
          var ye;
          for (var Z = arguments.length, fe = new Array(Z), Ie = 0; Ie < Z; Ie++)
            fe[Ie] = arguments[Ie];
          return c(ue, null, [(ye = t["append-inner"]) == null ? void 0 : ye.call(t, ...fe), e.menuIcon ? c(we, {
            class: "v-autocomplete__menu-icon",
            icon: e.menuIcon,
            onMousedown: x,
            onClick: Ti,
            "aria-label": l(g.value),
            title: l(g.value),
            tabindex: "-1"
          }, null) : void 0]);
        }
      });
    }), on({
      isFocused: i,
      isPristine: o,
      menu: v,
      search: V,
      filteredItems: E,
      select: oe
    }, a);
  }
}), _u = { class: "relative common-width" }, Tu = { class: "relative mgl common-width" }, Lu = { class: "relative common-width" }, Fu = { class: "date-of-birth date-of-birth-format" }, Mu = { class: "relative common-width" }, Ru = { class: "relative common-width" }, Du = { class: "relative common-width" }, $u = {
  key: 0,
  class: "error-font"
}, Nu = { class: "date-of-birth date-of-birth-format" }, zu = { class: "relative common-width" }, Hu = { class: "relative common-width" }, Wu = { class: "relative common-width" }, ju = {
  key: 0,
  class: "error-font"
}, Uu = { class: "date-of-birth date-of-birth-format" }, Gu = { class: "relative common-width" }, Ku = { class: "relative common-width" }, qu = { class: "relative common-width" }, Yu = {
  key: 0,
  class: "error-font"
}, Xu = {
  name: "BirthOfDate"
}, Qu = /* @__PURE__ */ Object.assign(Xu, {
  props: {
    width: {
      type: String,
      default: "100%"
    },
    inputHeight: {
      type: String,
      default: "default"
      // default | comfortable | compact
    },
    title: {
      required: !0,
      type: Object,
      default() {
        return {
          year: "Year",
          month: "Month",
          day: "Day"
        };
      }
    },
    clear: {
      type: Boolean,
      default: !1
    },
    values: {
      required: !1,
      type: String,
      default: ""
    },
    format: {
      type: String,
      default: ""
    },
    isError: {
      type: Boolean,
      default: !1
    },
    gap: {
      type: String,
      default: "12px"
      // 间距
    }
  },
  emits: ["changeValue", "verified"],
  setup(e, { expose: n, emit: t }) {
    ki((C) => ({
      d504b622: e.gap
    }));
    const l = e, a = t, i = $([]), o = $([]), r = $([]), u = $(), s = $(), d = $(), v = $(!1), f = $(!1), m = $(!1), g = (C, p, w) => {
      let T = [];
      for (let N = C; N <= p; N++)
        N < w ? T.push({
          name: "0" + N,
          value: "0" + N
        }) : T.push({
          name: "" + N,
          value: "" + N
        });
      return T;
    };
    let y = $(!1), b = $(0);
    l.isError ? y.value = !0 : y.value = !1;
    const S = h(() => {
      if (l.format === "")
        return !1;
      if (b.value++, b.value <= 9 && l.isError && l.values)
        return !0;
      if (u.value && s.value && !d.value)
        return !_(s.value * 1, u.value * 1) || y.value;
      if (u.value && s.value && d.value || y.value) {
        if (u.value && s.value && d.value) {
          let p = d.value + "-" + s.value + "-" + u.value;
          a("changeValue", p);
        } else
          a("changeValue", null);
        return !A(`${d.value}-${s.value}-${u.value}`) || y.value;
      }
    }), _ = (C, p) => {
      if (C < 1 || C > 12)
        return !1;
      const w = {
        1: 31,
        // January
        2: 28,
        // February
        3: 31,
        // March
        4: 30,
        // April
        5: 31,
        // May
        6: 30,
        // June
        7: 31,
        // July
        8: 31,
        // August
        9: 30,
        // September
        10: 31,
        // October
        11: 30,
        // November
        12: 31
        // December
      };
      return !(p < 1 || p > w[C]);
    }, B = () => {
      y.value = !1;
    };
    n({
      validateDOB: () => l.format === "" ? !1 : !S.value
    });
    const A = (C) => {
      if (!/^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01])$/.test(C))
        return !1;
      const [w, T, N] = C.split("-").map(Number), J = new Date(w, T - 1, N);
      if (J.getFullYear() !== w || J.getMonth() + 1 !== T || T === 2 && N === 29 && !(w % 4 === 0 && w % 100 !== 0 || w % 400 === 0))
        return !1;
      const j = new Date(w, T, 0).getDate();
      return !(N > j);
    }, P = (C) => JSON.parse(window.localStorage.getItem("langList"))[C] || C;
    (() => {
      o.value = [], i.value = [], r.value = [];
      let C = (/* @__PURE__ */ new Date()).getFullYear();
      o.value = g(1, 12, 10), i.value = g(1, 31, 10), r.value = g(C - 120, C, 999).reverse();
    })(), K(l, (C) => {
      let p = C.values;
      if (p) {
        let w = p.split(" ")[0].split("-");
        d.value = w[0], s.value = w[1], u.value = w[2], f.value = !0, v.value = !0, m.value = !0;
      }
    }, { immediate: !0, deep: !0 }), K(s, (C) => {
      let p = (/* @__PURE__ */ new Date()).getFullYear(), w = (/* @__PURE__ */ new Date()).getMonth() + 1, T = (/* @__PURE__ */ new Date()).getDate();
      d.value == p && C == w && !l.format && (i.value = g(1, T, 10), u.value > T && (u.value = "", v.value = !1));
    }, { immediate: !0, deep: !0 }), K(d, (C) => {
      let p = (/* @__PURE__ */ new Date()).getFullYear(), w = (/* @__PURE__ */ new Date()).getMonth() + 1, T = (/* @__PURE__ */ new Date()).getDate();
      C == p && s.value == w && !l.format && (i.value = g(1, T, 10), u.value > T && (u.value = "", v.value = !1));
    }, { immediate: !0, deep: !0 });
    const E = () => {
      if (v.value = !0, d.value && s.value && u.value) {
        let C = d.value + "-" + s.value + "-" + u.value;
        a("changeValue", C);
      } else
        a("changeValue", null);
    }, R = (C) => {
      if (f.value = !!C, i.value = [], C === "02" && d.value === "" ? (i.value = g(1, 28, 10), u.value > 28 && (u.value = "", v.value = !1)) : C === "02" && d.value !== "" && M(d.value) === !0 ? (i.value = g(1, 29, 10), u.value > 29 && (u.value = "", v.value = !1)) : C === "02" && d.value !== "" && M(d.value) !== !0 ? (i.value = g(1, 28, 10), u.value > 28 && (u.value = "", v.value = !1)) : C !== "02" && ["01", "03", "05", "07", "08", "10", "12"].includes(C) ? i.value = g(1, 31, 10) : (i.value = g(1, 30, 10), u.value > 30 && (u.value = "", v.value = !1)), d.value && s.value && u.value) {
        let p = d.value + "-" + s.value + "-" + u.value;
        a("changeValue", p);
      } else
        a("changeValue", null);
    }, z = () => {
      m.value = !0, R(s.value);
    }, M = (C) => C % 4 == 0 && (C % 100 != 0 || C % 400 == 0);
    return (C, p) => (We(), je(ue, null, [
      e.format === "" ? (We(), je("div", {
        key: 0,
        class: "date-of-birth",
        style: Ft({ width: e.width })
      }, [
        Se("div", _u, [
          c(_e, {
            color: "primary",
            modelValue: d.value,
            "onUpdate:modelValue": [
              p[0] || (p[0] = (w) => d.value = w),
              z
            ],
            density: e.inputHeight,
            class: Be(d.value ? "hasValue" : ""),
            items: r.value,
            rules: [(w) => !!w || P("Please select")],
            label: P(e.title.year),
            placeholder: P(e.title.year),
            "item-title": "name",
            "item-value": (w) => w.value,
            "hide-details": "auto",
            clearable: e.clear,
            variant: "outlined",
            required: ""
          }, null, 8, ["modelValue", "density", "class", "items", "rules", "label", "placeholder", "item-value", "clearable"])
        ]),
        Se("div", Tu, [
          c(_e, {
            color: "primary",
            modelValue: s.value,
            "onUpdate:modelValue": [
              p[1] || (p[1] = (w) => s.value = w),
              R
            ],
            density: e.inputHeight,
            class: Be(s.value ? "hasValue" : ""),
            items: o.value,
            rules: [(w) => !!w || P("Please select")],
            label: P(e.title.month),
            placeholder: P(e.title.month),
            "item-title": "name",
            "item-value": (w) => w.value,
            "hide-details": "auto",
            clearable: e.clear,
            variant: "outlined",
            required: ""
          }, null, 8, ["modelValue", "density", "class", "items", "rules", "label", "placeholder", "item-value", "clearable"])
        ]),
        Se("div", Lu, [
          c(_e, {
            color: "primary",
            modelValue: u.value,
            "onUpdate:modelValue": [
              p[2] || (p[2] = (w) => u.value = w),
              E
            ],
            density: e.inputHeight,
            class: Be(u.value ? "hasValue" : ""),
            items: i.value,
            rules: [(w) => !!w || P("Please select")],
            label: P(e.title.day),
            placeholder: P(e.title.day),
            "item-title": "name",
            "item-value": (w) => w.value,
            "hide-details": "auto",
            clearable: e.clear,
            variant: "outlined",
            required: ""
          }, null, 8, ["modelValue", "density", "class", "items", "rules", "label", "placeholder", "item-value", "clearable"])
        ])
      ], 4)) : Je("", !0),
      e.format === "YYYY-MM-DD" ? (We(), je("div", {
        key: 1,
        style: Ft({ width: e.width })
      }, [
        Se("div", Fu, [
          Se("div", Mu, [
            c(_e, {
              color: "primary",
              modelValue: d.value,
              "onUpdate:modelValue": [
                p[3] || (p[3] = (w) => d.value = w),
                B
              ],
              density: e.inputHeight,
              class: Be([d.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
              items: r.value,
              label: P(e.title.year),
              placeholder: P(e.title.year),
              "item-title": "name",
              "item-value": (w) => w.value,
              "hide-details": "auto",
              clearable: e.clear,
              variant: "outlined"
            }, null, 8, ["modelValue", "density", "class", "items", "label", "placeholder", "item-value", "clearable"])
          ]),
          Se("div", Ru, [
            c(_e, {
              color: "primary",
              modelValue: s.value,
              "onUpdate:modelValue": [
                p[4] || (p[4] = (w) => s.value = w),
                B
              ],
              density: e.inputHeight,
              class: Be([s.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
              items: o.value,
              label: P(e.title.month),
              placeholder: P(e.title.month),
              "item-title": "name",
              "item-value": (w) => w.value,
              "hide-details": "auto",
              clearable: e.clear,
              variant: "outlined"
            }, null, 8, ["modelValue", "density", "class", "items", "label", "placeholder", "item-value", "clearable"])
          ]),
          Se("div", Du, [
            c(_e, {
              color: "primary",
              modelValue: u.value,
              "onUpdate:modelValue": [
                p[5] || (p[5] = (w) => u.value = w),
                B
              ],
              density: e.inputHeight,
              class: Be([u.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
              items: i.value,
              label: P(e.title.day),
              placeholder: P(e.title.day),
              "item-title": "name",
              "item-value": (w) => w.value,
              "hide-details": "auto",
              clearable: e.clear,
              variant: "outlined"
            }, null, 8, ["modelValue", "density", "class", "items", "label", "placeholder", "item-value", "clearable"])
          ])
        ]),
        S.value ? (We(), je("div", $u, rn(P("Please enter the correct date of birth.")), 1)) : Je("", !0)
      ], 4)) : Je("", !0),
      e.format === "DD-MM-YYYY" ? (We(), je("div", {
        key: 2,
        style: Ft({ width: e.width })
      }, [
        Se("div", Nu, [
          Se("div", zu, [
            c(_e, {
              color: "primary",
              modelValue: u.value,
              "onUpdate:modelValue": [
                p[6] || (p[6] = (w) => u.value = w),
                B
              ],
              density: e.inputHeight,
              class: Be([u.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
              items: i.value,
              label: P(e.title.day),
              placeholder: P(e.title.day),
              "item-title": "name",
              "item-value": (w) => w.value,
              "hide-details": "auto",
              clearable: e.clear,
              variant: "outlined"
            }, null, 8, ["modelValue", "density", "class", "items", "label", "placeholder", "item-value", "clearable"])
          ]),
          Se("div", Hu, [
            c(_e, {
              color: "primary",
              modelValue: s.value,
              "onUpdate:modelValue": [
                p[7] || (p[7] = (w) => s.value = w),
                B
              ],
              density: e.inputHeight,
              class: Be([s.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
              items: o.value,
              label: P(e.title.month),
              placeholder: P(e.title.month),
              "item-title": "name",
              "item-value": (w) => w.value,
              "hide-details": "auto",
              clearable: e.clear,
              variant: "outlined"
            }, null, 8, ["modelValue", "density", "class", "items", "label", "placeholder", "item-value", "clearable"])
          ]),
          Se("div", Wu, [
            c(_e, {
              color: "primary",
              modelValue: d.value,
              "onUpdate:modelValue": [
                p[8] || (p[8] = (w) => d.value = w),
                B
              ],
              density: e.inputHeight,
              class: Be([d.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
              items: r.value,
              label: P(e.title.year),
              placeholder: P(e.title.year),
              "item-title": "name",
              "item-value": (w) => w.value,
              "hide-details": "auto",
              clearable: e.clear,
              variant: "outlined"
            }, null, 8, ["modelValue", "density", "class", "items", "label", "placeholder", "item-value", "clearable"])
          ])
        ]),
        S.value ? (We(), je("div", ju, rn(P("Please enter the correct date of birth.")), 1)) : Je("", !0)
      ], 4)) : Je("", !0),
      e.format === "MM-DD-YYYY" ? (We(), je("div", {
        key: 3,
        style: Ft({ width: e.width })
      }, [
        Se("div", Uu, [
          Se("div", Gu, [
            c(_e, {
              color: "primary",
              modelValue: s.value,
              "onUpdate:modelValue": [
                p[9] || (p[9] = (w) => s.value = w),
                B
              ],
              density: e.inputHeight,
              class: Be([s.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
              items: o.value,
              label: P(e.title.month),
              placeholder: P(e.title.month),
              "item-title": "name",
              "item-value": (w) => w.value,
              "hide-details": "auto",
              clearable: e.clear,
              variant: "outlined"
            }, null, 8, ["modelValue", "density", "class", "items", "label", "placeholder", "item-value", "clearable"])
          ]),
          Se("div", Ku, [
            c(_e, {
              color: "primary",
              modelValue: u.value,
              "onUpdate:modelValue": [
                p[10] || (p[10] = (w) => u.value = w),
                B
              ],
              density: e.inputHeight,
              class: Be([u.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
              items: i.value,
              label: P(e.title.day),
              placeholder: P(e.title.day),
              "item-title": "name",
              "item-value": (w) => w.value,
              "hide-details": "auto",
              clearable: e.clear,
              variant: "outlined"
            }, null, 8, ["modelValue", "density", "class", "items", "label", "placeholder", "item-value", "clearable"])
          ]),
          Se("div", qu, [
            c(_e, {
              color: "primary",
              modelValue: d.value,
              "onUpdate:modelValue": [
                p[11] || (p[11] = (w) => d.value = w),
                B
              ],
              density: e.inputHeight,
              class: Be([d.value ? "hasValue" : "", S.value ? "v-field--error is_error" : ""]),
              items: r.value,
              label: P(e.title.year),
              placeholder: P(e.title.year),
              "item-title": "name",
              "item-value": (w) => w.value,
              "hide-details": "auto",
              clearable: e.clear,
              variant: "outlined"
            }, null, 8, ["modelValue", "density", "class", "items", "label", "placeholder", "item-value", "clearable"])
          ])
        ]),
        S.value ? (We(), je("div", Yu, rn(P("Please enter the correct date of birth.")), 1)) : Je("", !0)
      ], 4)) : Je("", !0)
    ], 64));
  }
}), Ju = /* @__PURE__ */ Vi(Qu, [["__scopeId", "data-v-42fc352f"]]), Zu = [Ju], ts = {
  install(e) {
    Zu.forEach((n) => {
      e.component(n.name, n);
    });
  }
};
export {
  Ju as BirthOfDate,
  ts as default
};