UNPKG

@metabohub/forum-library

Version:

<!-- Put your badges here: --> [![pipeline status](https://forge.inrae.fr/metabohub/forvm/mth-forvm-lib/badges/dev/pipeline.svg)](https://forge.inrae.fr/metabohub/forvm/mth-forvm-lib/-/commits/dev) [![coverage report](https://forge.inrae.fr/metabohub/forv

18,317 lines 536 kB
var Vf = Object.defineProperty;
var Ef = (e, t, n) => t in e ? Vf(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
var Ie = (e, t, n) => Ef(e, typeof t != "symbol" ? t + "" : t, n);
import { defineComponent as Ls, ref as R, reactive as Zn, watchEffect as Ot, toRef as E, isVNode as Af, Comment as Df, Fragment as pe, capitalize as aa, shallowRef as ne, unref as _t, getCurrentInstance as Mf, computed as _, provide as We, inject as De, warn as Ns, h as sa, camelize as Zo, toRefs as Xo, toValue as sn, createVNode as g, mergeProps as j, createElementVNode as p, normalizeClass as K, Text as Rf, normalizeStyle as Z, isRef as $r, TransitionGroup as Sl, Transition as Mn, watch as re, onBeforeMount as Bs, nextTick as Ge, onBeforeUnmount as Et, withDirectives as ht, vShow as Bn, onScopeDispose as mt, effectScope as wl, toRaw as He, useId as on, markRaw as Ff, onMounted as Ba, onUpdated as Lf, readonly as _l, resolveDynamicComponent as Nf, toDisplayString as Te, Teleport as Bf, onDeactivated as $f, cloneVNode as Uf, createTextVNode as Fe, createElementBlock as nt, openBlock as qe, withCtx as he, createBlock as eu, createCommentVNode as ct, withKeys as zf, onBeforeUpdate as Hf, withModifiers as as, resolveComponent as Yf } from "vue";
function kl() {
  const e = /* @__PURE__ */ new Map(), t = document.location.hash;
  if (t.split("#").length === 3) {
    const n = t.split("#")[2];
    for (const a of n.split("&").values()) {
      const s = a.split("=");
      s.length === 2 && e.set(s[0], s[1]);
    }
  }
  return e;
}
function On(e, t) {
  const n = document.location.hash, a = kl();
  t === void 0 || t === "" || t === null ? a.delete(e) : a.set(e, t);
  let s = "";
  a.forEach((r, l) => {
    s += "&" + l + "=" + r;
  }), document.location.hash = "#" + n.split("#")[1] + "#" + s;
}
var ze = /* @__PURE__ */ ((e) => (e.comp_to_mesh = "comp_to_mesh", e.mesh_to_comp = "mesh_to_comp", e))(ze || {}), ve = /* @__PURE__ */ ((e) => (e.mesh_id = "mesh_id", e.chebi_id = "chebi_id", e.chemont_id = "chemont_id", e.pubchem_id = "pubchem_id", e.pubchem_fuzzy_id = "pubchem_fuzzy_id", e))(ve || {});
class tu {
  // String passed via the search bar
  constructor() {
    Ie(this, "searchEntityType");
    Ie(this, "searchSelectorType");
    Ie(this, "searchEntityQuery");
    this.searchEntityType = "comp_to_mesh", this.searchSelectorType = "pubchem_id", this.searchEntityQuery = "";
  }
  /**
   * Function to verify if the query is empty
   */
  isEmpty() {
    return !this.searchEntityQuery || this.searchEntityQuery.length === 0 || !this.searchEntityQuery.trim();
  }
}
function nu(e, t) {
  return function() {
    return e.apply(t, arguments);
  };
}
const { toString: jf } = Object.prototype, { getPrototypeOf: Cl } = Object, { iterator: $s, toStringTag: au } = Symbol, Us = /* @__PURE__ */ ((e) => (t) => {
  const n = jf.call(t);
  return e[n] || (e[n] = n.slice(8, -1).toLowerCase());
})(/* @__PURE__ */ Object.create(null)), At = (e) => (e = e.toLowerCase(), (t) => Us(t) === e), zs = (e) => (t) => typeof t === e, { isArray: ra } = Array, Xn = zs("undefined");
function $a(e) {
  return e !== null && !Xn(e) && e.constructor !== null && !Xn(e.constructor) && dt(e.constructor.isBuffer) && e.constructor.isBuffer(e);
}
const su = At("ArrayBuffer");
function Wf(e) {
  let t;
  return typeof ArrayBuffer < "u" && ArrayBuffer.isView ? t = ArrayBuffer.isView(e) : t = e && e.buffer && su(e.buffer), t;
}
const Gf = zs("string"), dt = zs("function"), ru = zs("number"), Ua = (e) => e !== null && typeof e == "object", Qf = (e) => e === !0 || e === !1, hs = (e) => {
  if (Us(e) !== "object")
    return !1;
  const t = Cl(e);
  return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(au in e) && !($s in e);
}, qf = (e) => {
  if (!Ua(e) || $a(e))
    return !1;
  try {
    return Object.keys(e).length === 0 && Object.getPrototypeOf(e) === Object.prototype;
  } catch {
    return !1;
  }
}, Kf = At("Date"), Jf = At("File"), Zf = At("Blob"), Xf = At("FileList"), eh = (e) => Ua(e) && dt(e.pipe), th = (e) => {
  let t;
  return e && (typeof FormData == "function" && e instanceof FormData || dt(e.append) && ((t = Us(e)) === "formdata" || // detect form-data instance
  t === "object" && dt(e.toString) && e.toString() === "[object FormData]"));
}, nh = At("URLSearchParams"), [ah, sh, rh, lh] = ["ReadableStream", "Request", "Response", "Headers"].map(At), ih = (e) => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
function za(e, t, { allOwnKeys: n = !1 } = {}) {
  if (e === null || typeof e > "u")
    return;
  let a, s;
  if (typeof e != "object" && (e = [e]), ra(e))
    for (a = 0, s = e.length; a < s; a++)
      t.call(null, e[a], a, e);
  else {
    if ($a(e))
      return;
    const r = n ? Object.getOwnPropertyNames(e) : Object.keys(e), l = r.length;
    let i;
    for (a = 0; a < l; a++)
      i = r[a], t.call(null, e[i], i, e);
  }
}
function lu(e, t) {
  if ($a(e))
    return null;
  t = t.toLowerCase();
  const n = Object.keys(e);
  let a = n.length, s;
  for (; a-- > 0; )
    if (s = n[a], t === s.toLowerCase())
      return s;
  return null;
}
const Tn = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global, iu = (e) => !Xn(e) && e !== Tn;
function Ur() {
  const { caseless: e, skipUndefined: t } = iu(this) && this || {}, n = {}, a = (s, r) => {
    const l = e && lu(n, r) || r;
    hs(n[l]) && hs(s) ? n[l] = Ur(n[l], s) : hs(s) ? n[l] = Ur({}, s) : ra(s) ? n[l] = s.slice() : (!t || !Xn(s)) && (n[l] = s);
  };
  for (let s = 0, r = arguments.length; s < r; s++)
    arguments[s] && za(arguments[s], a);
  return n;
}
const oh = (e, t, n, { allOwnKeys: a } = {}) => (za(t, (s, r) => {
  n && dt(s) ? e[r] = nu(s, n) : e[r] = s;
}, { allOwnKeys: a }), e), uh = (e) => (e.charCodeAt(0) === 65279 && (e = e.slice(1)), e), ch = (e, t, n, a) => {
  e.prototype = Object.create(t.prototype, a), e.prototype.constructor = e, Object.defineProperty(e, "super", {
    value: t.prototype
  }), n && Object.assign(e.prototype, n);
}, dh = (e, t, n, a) => {
  let s, r, l;
  const i = {};
  if (t = t || {}, e == null) return t;
  do {
    for (s = Object.getOwnPropertyNames(e), r = s.length; r-- > 0; )
      l = s[r], (!a || a(l, e, t)) && !i[l] && (t[l] = e[l], i[l] = !0);
    e = n !== !1 && Cl(e);
  } while (e && (!n || n(e, t)) && e !== Object.prototype);
  return t;
}, fh = (e, t, n) => {
  e = String(e), (n === void 0 || n > e.length) && (n = e.length), n -= t.length;
  const a = e.indexOf(t, n);
  return a !== -1 && a === n;
}, hh = (e) => {
  if (!e) return null;
  if (ra(e)) return e;
  let t = e.length;
  if (!ru(t)) return null;
  const n = new Array(t);
  for (; t-- > 0; )
    n[t] = e[t];
  return n;
}, mh = /* @__PURE__ */ ((e) => (t) => e && t instanceof e)(typeof Uint8Array < "u" && Cl(Uint8Array)), vh = (e, t) => {
  const a = (e && e[$s]).call(e);
  let s;
  for (; (s = a.next()) && !s.done; ) {
    const r = s.value;
    t.call(e, r[0], r[1]);
  }
}, yh = (e, t) => {
  let n;
  const a = [];
  for (; (n = e.exec(t)) !== null; )
    a.push(n);
  return a;
}, gh = At("HTMLFormElement"), bh = (e) => e.toLowerCase().replace(
  /[-_\s]([a-z\d])(\w*)/g,
  function(n, a, s) {
    return a.toUpperCase() + s;
  }
), Oi = (({ hasOwnProperty: e }) => (t, n) => e.call(t, n))(Object.prototype), ph = At("RegExp"), ou = (e, t) => {
  const n = Object.getOwnPropertyDescriptors(e), a = {};
  za(n, (s, r) => {
    let l;
    (l = t(s, r, e)) !== !1 && (a[r] = l || s);
  }), Object.defineProperties(e, a);
}, Sh = (e) => {
  ou(e, (t, n) => {
    if (dt(e) && ["arguments", "caller", "callee"].indexOf(n) !== -1)
      return !1;
    const a = e[n];
    if (dt(a)) {
      if (t.enumerable = !1, "writable" in t) {
        t.writable = !1;
        return;
      }
      t.set || (t.set = () => {
        throw Error("Can not rewrite read-only method '" + n + "'");
      });
    }
  });
}, wh = (e, t) => {
  const n = {}, a = (s) => {
    s.forEach((r) => {
      n[r] = !0;
    });
  };
  return ra(e) ? a(e) : a(String(e).split(t)), n;
}, _h = () => {
}, kh = (e, t) => e != null && Number.isFinite(e = +e) ? e : t;
function Ch(e) {
  return !!(e && dt(e.append) && e[au] === "FormData" && e[$s]);
}
const Ph = (e) => {
  const t = new Array(10), n = (a, s) => {
    if (Ua(a)) {
      if (t.indexOf(a) >= 0)
        return;
      if ($a(a))
        return a;
      if (!("toJSON" in a)) {
        t[s] = a;
        const r = ra(a) ? [] : {};
        return za(a, (l, i) => {
          const o = n(l, s + 1);
          !Xn(o) && (r[i] = o);
        }), t[s] = void 0, r;
      }
    }
    return a;
  };
  return n(e, 0);
}, xh = At("AsyncFunction"), Ih = (e) => e && (Ua(e) || dt(e)) && dt(e.then) && dt(e.catch), uu = ((e, t) => e ? setImmediate : t ? ((n, a) => (Tn.addEventListener("message", ({ source: s, data: r }) => {
  s === Tn && r === n && a.length && a.shift()();
}, !1), (s) => {
  a.push(s), Tn.postMessage(n, "*");
}))(`axios@${Math.random()}`, []) : (n) => setTimeout(n))(
  typeof setImmediate == "function",
  dt(Tn.postMessage)
), Oh = typeof queueMicrotask < "u" ? queueMicrotask.bind(Tn) : typeof process < "u" && process.nextTick || uu, Th = (e) => e != null && dt(e[$s]), C = {
  isArray: ra,
  isArrayBuffer: su,
  isBuffer: $a,
  isFormData: th,
  isArrayBufferView: Wf,
  isString: Gf,
  isNumber: ru,
  isBoolean: Qf,
  isObject: Ua,
  isPlainObject: hs,
  isEmptyObject: qf,
  isReadableStream: ah,
  isRequest: sh,
  isResponse: rh,
  isHeaders: lh,
  isUndefined: Xn,
  isDate: Kf,
  isFile: Jf,
  isBlob: Zf,
  isRegExp: ph,
  isFunction: dt,
  isStream: eh,
  isURLSearchParams: nh,
  isTypedArray: mh,
  isFileList: Xf,
  forEach: za,
  merge: Ur,
  extend: oh,
  trim: ih,
  stripBOM: uh,
  inherits: ch,
  toFlatObject: dh,
  kindOf: Us,
  kindOfTest: At,
  endsWith: fh,
  toArray: hh,
  forEachEntry: vh,
  matchAll: yh,
  isHTMLForm: gh,
  hasOwnProperty: Oi,
  hasOwnProp: Oi,
  // an alias to avoid ESLint no-prototype-builtins detection
  reduceDescriptors: ou,
  freezeMethods: Sh,
  toObjectSet: wh,
  toCamelCase: bh,
  noop: _h,
  toFiniteNumber: kh,
  findKey: lu,
  global: Tn,
  isContextDefined: iu,
  isSpecCompliantForm: Ch,
  toJSONObject: Ph,
  isAsyncFn: xh,
  isThenable: Ih,
  setImmediate: uu,
  asap: Oh,
  isIterable: Th
};
function ce(e, t, n, a, s) {
  Error.call(this), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack, this.message = e, this.name = "AxiosError", t && (this.code = t), n && (this.config = n), a && (this.request = a), s && (this.response = s, this.status = s.status ? s.status : null);
}
C.inherits(ce, Error, {
  toJSON: function() {
    return {
      // Standard
      message: this.message,
      name: this.name,
      // Microsoft
      description: this.description,
      number: this.number,
      // Mozilla
      fileName: this.fileName,
      lineNumber: this.lineNumber,
      columnNumber: this.columnNumber,
      stack: this.stack,
      // Axios
      config: C.toJSONObject(this.config),
      code: this.code,
      status: this.status
    };
  }
});
const cu = ce.prototype, du = {};
[
  "ERR_BAD_OPTION_VALUE",
  "ERR_BAD_OPTION",
  "ECONNABORTED",
  "ETIMEDOUT",
  "ERR_NETWORK",
  "ERR_FR_TOO_MANY_REDIRECTS",
  "ERR_DEPRECATED",
  "ERR_BAD_RESPONSE",
  "ERR_BAD_REQUEST",
  "ERR_CANCELED",
  "ERR_NOT_SUPPORT",
  "ERR_INVALID_URL"
  // eslint-disable-next-line func-names
].forEach((e) => {
  du[e] = { value: e };
});
Object.defineProperties(ce, du);
Object.defineProperty(cu, "isAxiosError", { value: !0 });
ce.from = (e, t, n, a, s, r) => {
  const l = Object.create(cu);
  C.toFlatObject(e, l, function(c) {
    return c !== Error.prototype;
  }, (u) => u !== "isAxiosError");
  const i = e && e.message ? e.message : "Error", o = t == null && e ? e.code : t;
  return ce.call(l, i, o, n, a, s), e && l.cause == null && Object.defineProperty(l, "cause", { value: e, configurable: !0 }), l.name = e && e.name || "Error", r && Object.assign(l, r), l;
};
const Vh = null;
function zr(e) {
  return C.isPlainObject(e) || C.isArray(e);
}
function fu(e) {
  return C.endsWith(e, "[]") ? e.slice(0, -2) : e;
}
function Ti(e, t, n) {
  return e ? e.concat(t).map(function(s, r) {
    return s = fu(s), !n && r ? "[" + s + "]" : s;
  }).join(n ? "." : "") : t;
}
function Eh(e) {
  return C.isArray(e) && !e.some(zr);
}
const Ah = C.toFlatObject(C, {}, null, function(t) {
  return /^is[A-Z]/.test(t);
});
function Hs(e, t, n) {
  if (!C.isObject(e))
    throw new TypeError("target must be an object");
  t = t || new FormData(), n = C.toFlatObject(n, {
    metaTokens: !0,
    dots: !1,
    indexes: !1
  }, !1, function(y, m) {
    return !C.isUndefined(m[y]);
  });
  const a = n.metaTokens, s = n.visitor || c, r = n.dots, l = n.indexes, o = (n.Blob || typeof Blob < "u" && Blob) && C.isSpecCompliantForm(t);
  if (!C.isFunction(s))
    throw new TypeError("visitor must be a function");
  function u(f) {
    if (f === null) return "";
    if (C.isDate(f))
      return f.toISOString();
    if (C.isBoolean(f))
      return f.toString();
    if (!o && C.isBlob(f))
      throw new ce("Blob is not supported. Use a Buffer instead.");
    return C.isArrayBuffer(f) || C.isTypedArray(f) ? o && typeof Blob == "function" ? new Blob([f]) : Buffer.from(f) : f;
  }
  function c(f, y, m) {
    let b = f;
    if (f && !m && typeof f == "object") {
      if (C.endsWith(y, "{}"))
        y = a ? y : y.slice(0, -2), f = JSON.stringify(f);
      else if (C.isArray(f) && Eh(f) || (C.isFileList(f) || C.endsWith(y, "[]")) && (b = C.toArray(f)))
        return y = fu(y), b.forEach(function(P, I) {
          !(C.isUndefined(P) || P === null) && t.append(
            // eslint-disable-next-line no-nested-ternary
            l === !0 ? Ti([y], I, r) : l === null ? y : y + "[]",
            u(P)
          );
        }), !1;
    }
    return zr(f) ? !0 : (t.append(Ti(m, y, r), u(f)), !1);
  }
  const d = [], h = Object.assign(Ah, {
    defaultVisitor: c,
    convertValue: u,
    isVisitable: zr
  });
  function v(f, y) {
    if (!C.isUndefined(f)) {
      if (d.indexOf(f) !== -1)
        throw Error("Circular reference detected in " + y.join("."));
      d.push(f), C.forEach(f, function(b, S) {
        (!(C.isUndefined(b) || b === null) && s.call(
          t,
          b,
          C.isString(S) ? S.trim() : S,
          y,
          h
        )) === !0 && v(b, y ? y.concat(S) : [S]);
      }), d.pop();
    }
  }
  if (!C.isObject(e))
    throw new TypeError("data must be an object");
  return v(e), t;
}
function Vi(e) {
  const t = {
    "!": "%21",
    "'": "%27",
    "(": "%28",
    ")": "%29",
    "~": "%7E",
    "%20": "+",
    "%00": "\0"
  };
  return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g, function(a) {
    return t[a];
  });
}
function Pl(e, t) {
  this._pairs = [], e && Hs(e, this, t);
}
const hu = Pl.prototype;
hu.append = function(t, n) {
  this._pairs.push([t, n]);
};
hu.toString = function(t) {
  const n = t ? function(a) {
    return t.call(this, a, Vi);
  } : Vi;
  return this._pairs.map(function(s) {
    return n(s[0]) + "=" + n(s[1]);
  }, "").join("&");
};
function Dh(e) {
  return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+");
}
function mu(e, t, n) {
  if (!t)
    return e;
  const a = n && n.encode || Dh;
  C.isFunction(n) && (n = {
    serialize: n
  });
  const s = n && n.serialize;
  let r;
  if (s ? r = s(t, n) : r = C.isURLSearchParams(t) ? t.toString() : new Pl(t, n).toString(a), r) {
    const l = e.indexOf("#");
    l !== -1 && (e = e.slice(0, l)), e += (e.indexOf("?") === -1 ? "?" : "&") + r;
  }
  return e;
}
class Ei {
  constructor() {
    this.handlers = [];
  }
  /**
   * Add a new interceptor to the stack
   *
   * @param {Function} fulfilled The function to handle `then` for a `Promise`
   * @param {Function} rejected The function to handle `reject` for a `Promise`
   *
   * @return {Number} An ID used to remove interceptor later
   */
  use(t, n, a) {
    return this.handlers.push({
      fulfilled: t,
      rejected: n,
      synchronous: a ? a.synchronous : !1,
      runWhen: a ? a.runWhen : null
    }), this.handlers.length - 1;
  }
  /**
   * Remove an interceptor from the stack
   *
   * @param {Number} id The ID that was returned by `use`
   *
   * @returns {void}
   */
  eject(t) {
    this.handlers[t] && (this.handlers[t] = null);
  }
  /**
   * Clear all interceptors from the stack
   *
   * @returns {void}
   */
  clear() {
    this.handlers && (this.handlers = []);
  }
  /**
   * Iterate over all the registered interceptors
   *
   * This method is particularly useful for skipping over any
   * interceptors that may have become `null` calling `eject`.
   *
   * @param {Function} fn The function to call for each interceptor
   *
   * @returns {void}
   */
  forEach(t) {
    C.forEach(this.handlers, function(a) {
      a !== null && t(a);
    });
  }
}
const vu = {
  silentJSONParsing: !0,
  forcedJSONParsing: !0,
  clarifyTimeoutError: !1
}, Mh = typeof URLSearchParams < "u" ? URLSearchParams : Pl, Rh = typeof FormData < "u" ? FormData : null, Fh = typeof Blob < "u" ? Blob : null, Lh = {
  isBrowser: !0,
  classes: {
    URLSearchParams: Mh,
    FormData: Rh,
    Blob: Fh
  },
  protocols: ["http", "https", "file", "blob", "url", "data"]
}, xl = typeof window < "u" && typeof document < "u", Hr = typeof navigator == "object" && navigator || void 0, Nh = xl && (!Hr || ["ReactNative", "NativeScript", "NS"].indexOf(Hr.product) < 0), Bh = typeof WorkerGlobalScope < "u" && // eslint-disable-next-line no-undef
self instanceof WorkerGlobalScope && typeof self.importScripts == "function", $h = xl && window.location.href || "http://localhost", Uh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  hasBrowserEnv: xl,
  hasStandardBrowserEnv: Nh,
  hasStandardBrowserWebWorkerEnv: Bh,
  navigator: Hr,
  origin: $h
}, Symbol.toStringTag, { value: "Module" })), Xe = {
  ...Uh,
  ...Lh
};
function zh(e, t) {
  return Hs(e, new Xe.classes.URLSearchParams(), {
    visitor: function(n, a, s, r) {
      return Xe.isNode && C.isBuffer(n) ? (this.append(a, n.toString("base64")), !1) : r.defaultVisitor.apply(this, arguments);
    },
    ...t
  });
}
function Hh(e) {
  return C.matchAll(/\w+|\[(\w*)]/g, e).map((t) => t[0] === "[]" ? "" : t[1] || t[0]);
}
function Yh(e) {
  const t = {}, n = Object.keys(e);
  let a;
  const s = n.length;
  let r;
  for (a = 0; a < s; a++)
    r = n[a], t[r] = e[r];
  return t;
}
function yu(e) {
  function t(n, a, s, r) {
    let l = n[r++];
    if (l === "__proto__") return !0;
    const i = Number.isFinite(+l), o = r >= n.length;
    return l = !l && C.isArray(s) ? s.length : l, o ? (C.hasOwnProp(s, l) ? s[l] = [s[l], a] : s[l] = a, !i) : ((!s[l] || !C.isObject(s[l])) && (s[l] = []), t(n, a, s[l], r) && C.isArray(s[l]) && (s[l] = Yh(s[l])), !i);
  }
  if (C.isFormData(e) && C.isFunction(e.entries)) {
    const n = {};
    return C.forEachEntry(e, (a, s) => {
      t(Hh(a), s, n, 0);
    }), n;
  }
  return null;
}
function jh(e, t, n) {
  if (C.isString(e))
    try {
      return (t || JSON.parse)(e), C.trim(e);
    } catch (a) {
      if (a.name !== "SyntaxError")
        throw a;
    }
  return (n || JSON.stringify)(e);
}
const Ha = {
  transitional: vu,
  adapter: ["xhr", "http", "fetch"],
  transformRequest: [function(t, n) {
    const a = n.getContentType() || "", s = a.indexOf("application/json") > -1, r = C.isObject(t);
    if (r && C.isHTMLForm(t) && (t = new FormData(t)), C.isFormData(t))
      return s ? JSON.stringify(yu(t)) : t;
    if (C.isArrayBuffer(t) || C.isBuffer(t) || C.isStream(t) || C.isFile(t) || C.isBlob(t) || C.isReadableStream(t))
      return t;
    if (C.isArrayBufferView(t))
      return t.buffer;
    if (C.isURLSearchParams(t))
      return n.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), t.toString();
    let i;
    if (r) {
      if (a.indexOf("application/x-www-form-urlencoded") > -1)
        return zh(t, this.formSerializer).toString();
      if ((i = C.isFileList(t)) || a.indexOf("multipart/form-data") > -1) {
        const o = this.env && this.env.FormData;
        return Hs(
          i ? { "files[]": t } : t,
          o && new o(),
          this.formSerializer
        );
      }
    }
    return r || s ? (n.setContentType("application/json", !1), jh(t)) : t;
  }],
  transformResponse: [function(t) {
    const n = this.transitional || Ha.transitional, a = n && n.forcedJSONParsing, s = this.responseType === "json";
    if (C.isResponse(t) || C.isReadableStream(t))
      return t;
    if (t && C.isString(t) && (a && !this.responseType || s)) {
      const l = !(n && n.silentJSONParsing) && s;
      try {
        return JSON.parse(t, this.parseReviver);
      } catch (i) {
        if (l)
          throw i.name === "SyntaxError" ? ce.from(i, ce.ERR_BAD_RESPONSE, this, null, this.response) : i;
      }
    }
    return t;
  }],
  /**
   * A timeout in milliseconds to abort a request. If set to 0 (default) a
   * timeout is not created.
   */
  timeout: 0,
  xsrfCookieName: "XSRF-TOKEN",
  xsrfHeaderName: "X-XSRF-TOKEN",
  maxContentLength: -1,
  maxBodyLength: -1,
  env: {
    FormData: Xe.classes.FormData,
    Blob: Xe.classes.Blob
  },
  validateStatus: function(t) {
    return t >= 200 && t < 300;
  },
  headers: {
    common: {
      Accept: "application/json, text/plain, */*",
      "Content-Type": void 0
    }
  }
};
C.forEach(["delete", "get", "head", "post", "put", "patch"], (e) => {
  Ha.headers[e] = {};
});
const Wh = C.toObjectSet([
  "age",
  "authorization",
  "content-length",
  "content-type",
  "etag",
  "expires",
  "from",
  "host",
  "if-modified-since",
  "if-unmodified-since",
  "last-modified",
  "location",
  "max-forwards",
  "proxy-authorization",
  "referer",
  "retry-after",
  "user-agent"
]), Gh = (e) => {
  const t = {};
  let n, a, s;
  return e && e.split(`
`).forEach(function(l) {
    s = l.indexOf(":"), n = l.substring(0, s).trim().toLowerCase(), a = l.substring(s + 1).trim(), !(!n || t[n] && Wh[n]) && (n === "set-cookie" ? t[n] ? t[n].push(a) : t[n] = [a] : t[n] = t[n] ? t[n] + ", " + a : a);
  }), t;
}, Ai = Symbol("internals");
function va(e) {
  return e && String(e).trim().toLowerCase();
}
function ms(e) {
  return e === !1 || e == null ? e : C.isArray(e) ? e.map(ms) : String(e);
}
function Qh(e) {
  const t = /* @__PURE__ */ Object.create(null), n = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
  let a;
  for (; a = n.exec(e); )
    t[a[1]] = a[2];
  return t;
}
const qh = (e) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());
function yr(e, t, n, a, s) {
  if (C.isFunction(a))
    return a.call(this, t, n);
  if (s && (t = n), !!C.isString(t)) {
    if (C.isString(a))
      return t.indexOf(a) !== -1;
    if (C.isRegExp(a))
      return a.test(t);
  }
}
function Kh(e) {
  return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (t, n, a) => n.toUpperCase() + a);
}
function Jh(e, t) {
  const n = C.toCamelCase(" " + t);
  ["get", "set", "has"].forEach((a) => {
    Object.defineProperty(e, a + n, {
      value: function(s, r, l) {
        return this[a].call(this, t, s, r, l);
      },
      configurable: !0
    });
  });
}
let ft = class {
  constructor(t) {
    t && this.set(t);
  }
  set(t, n, a) {
    const s = this;
    function r(i, o, u) {
      const c = va(o);
      if (!c)
        throw new Error("header name must be a non-empty string");
      const d = C.findKey(s, c);
      (!d || s[d] === void 0 || u === !0 || u === void 0 && s[d] !== !1) && (s[d || o] = ms(i));
    }
    const l = (i, o) => C.forEach(i, (u, c) => r(u, c, o));
    if (C.isPlainObject(t) || t instanceof this.constructor)
      l(t, n);
    else if (C.isString(t) && (t = t.trim()) && !qh(t))
      l(Gh(t), n);
    else if (C.isObject(t) && C.isIterable(t)) {
      let i = {}, o, u;
      for (const c of t) {
        if (!C.isArray(c))
          throw TypeError("Object iterator must return a key-value pair");
        i[u = c[0]] = (o = i[u]) ? C.isArray(o) ? [...o, c[1]] : [o, c[1]] : c[1];
      }
      l(i, n);
    } else
      t != null && r(n, t, a);
    return this;
  }
  get(t, n) {
    if (t = va(t), t) {
      const a = C.findKey(this, t);
      if (a) {
        const s = this[a];
        if (!n)
          return s;
        if (n === !0)
          return Qh(s);
        if (C.isFunction(n))
          return n.call(this, s, a);
        if (C.isRegExp(n))
          return n.exec(s);
        throw new TypeError("parser must be boolean|regexp|function");
      }
    }
  }
  has(t, n) {
    if (t = va(t), t) {
      const a = C.findKey(this, t);
      return !!(a && this[a] !== void 0 && (!n || yr(this, this[a], a, n)));
    }
    return !1;
  }
  delete(t, n) {
    const a = this;
    let s = !1;
    function r(l) {
      if (l = va(l), l) {
        const i = C.findKey(a, l);
        i && (!n || yr(a, a[i], i, n)) && (delete a[i], s = !0);
      }
    }
    return C.isArray(t) ? t.forEach(r) : r(t), s;
  }
  clear(t) {
    const n = Object.keys(this);
    let a = n.length, s = !1;
    for (; a--; ) {
      const r = n[a];
      (!t || yr(this, this[r], r, t, !0)) && (delete this[r], s = !0);
    }
    return s;
  }
  normalize(t) {
    const n = this, a = {};
    return C.forEach(this, (s, r) => {
      const l = C.findKey(a, r);
      if (l) {
        n[l] = ms(s), delete n[r];
        return;
      }
      const i = t ? Kh(r) : String(r).trim();
      i !== r && delete n[r], n[i] = ms(s), a[i] = !0;
    }), this;
  }
  concat(...t) {
    return this.constructor.concat(this, ...t);
  }
  toJSON(t) {
    const n = /* @__PURE__ */ Object.create(null);
    return C.forEach(this, (a, s) => {
      a != null && a !== !1 && (n[s] = t && C.isArray(a) ? a.join(", ") : a);
    }), n;
  }
  [Symbol.iterator]() {
    return Object.entries(this.toJSON())[Symbol.iterator]();
  }
  toString() {
    return Object.entries(this.toJSON()).map(([t, n]) => t + ": " + n).join(`
`);
  }
  getSetCookie() {
    return this.get("set-cookie") || [];
  }
  get [Symbol.toStringTag]() {
    return "AxiosHeaders";
  }
  static from(t) {
    return t instanceof this ? t : new this(t);
  }
  static concat(t, ...n) {
    const a = new this(t);
    return n.forEach((s) => a.set(s)), a;
  }
  static accessor(t) {
    const a = (this[Ai] = this[Ai] = {
      accessors: {}
    }).accessors, s = this.prototype;
    function r(l) {
      const i = va(l);
      a[i] || (Jh(s, l), a[i] = !0);
    }
    return C.isArray(t) ? t.forEach(r) : r(t), this;
  }
};
ft.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
C.reduceDescriptors(ft.prototype, ({ value: e }, t) => {
  let n = t[0].toUpperCase() + t.slice(1);
  return {
    get: () => e,
    set(a) {
      this[n] = a;
    }
  };
});
C.freezeMethods(ft);
function gr(e, t) {
  const n = this || Ha, a = t || n, s = ft.from(a.headers);
  let r = a.data;
  return C.forEach(e, function(i) {
    r = i.call(n, r, s.normalize(), t ? t.status : void 0);
  }), s.normalize(), r;
}
function gu(e) {
  return !!(e && e.__CANCEL__);
}
function la(e, t, n) {
  ce.call(this, e ?? "canceled", ce.ERR_CANCELED, t, n), this.name = "CanceledError";
}
C.inherits(la, ce, {
  __CANCEL__: !0
});
function bu(e, t, n) {
  const a = n.config.validateStatus;
  !n.status || !a || a(n.status) ? e(n) : t(new ce(
    "Request failed with status code " + n.status,
    [ce.ERR_BAD_REQUEST, ce.ERR_BAD_RESPONSE][Math.floor(n.status / 100) - 4],
    n.config,
    n.request,
    n
  ));
}
function Zh(e) {
  const t = /^([-+\w]{1,25})(:?\/\/|:)/.exec(e);
  return t && t[1] || "";
}
function Xh(e, t) {
  e = e || 10;
  const n = new Array(e), a = new Array(e);
  let s = 0, r = 0, l;
  return t = t !== void 0 ? t : 1e3, function(o) {
    const u = Date.now(), c = a[r];
    l || (l = u), n[s] = o, a[s] = u;
    let d = r, h = 0;
    for (; d !== s; )
      h += n[d++], d = d % e;
    if (s = (s + 1) % e, s === r && (r = (r + 1) % e), u - l < t)
      return;
    const v = c && u - c;
    return v ? Math.round(h * 1e3 / v) : void 0;
  };
}
function em(e, t) {
  let n = 0, a = 1e3 / t, s, r;
  const l = (u, c = Date.now()) => {
    n = c, s = null, r && (clearTimeout(r), r = null), e(...u);
  };
  return [(...u) => {
    const c = Date.now(), d = c - n;
    d >= a ? l(u, c) : (s = u, r || (r = setTimeout(() => {
      r = null, l(s);
    }, a - d)));
  }, () => s && l(s)];
}
const ws = (e, t, n = 3) => {
  let a = 0;
  const s = Xh(50, 250);
  return em((r) => {
    const l = r.loaded, i = r.lengthComputable ? r.total : void 0, o = l - a, u = s(o), c = l <= i;
    a = l;
    const d = {
      loaded: l,
      total: i,
      progress: i ? l / i : void 0,
      bytes: o,
      rate: u || void 0,
      estimated: u && i && c ? (i - l) / u : void 0,
      event: r,
      lengthComputable: i != null,
      [t ? "download" : "upload"]: !0
    };
    e(d);
  }, n);
}, Di = (e, t) => {
  const n = e != null;
  return [(a) => t[0]({
    lengthComputable: n,
    total: e,
    loaded: a
  }), t[1]];
}, Mi = (e) => (...t) => C.asap(() => e(...t)), tm = Xe.hasStandardBrowserEnv ? /* @__PURE__ */ ((e, t) => (n) => (n = new URL(n, Xe.origin), e.protocol === n.protocol && e.host === n.host && (t || e.port === n.port)))(
  new URL(Xe.origin),
  Xe.navigator && /(msie|trident)/i.test(Xe.navigator.userAgent)
) : () => !0, nm = Xe.hasStandardBrowserEnv ? (
  // Standard browser envs support document.cookie
  {
    write(e, t, n, a, s, r, l) {
      if (typeof document > "u") return;
      const i = [`${e}=${encodeURIComponent(t)}`];
      C.isNumber(n) && i.push(`expires=${new Date(n).toUTCString()}`), C.isString(a) && i.push(`path=${a}`), C.isString(s) && i.push(`domain=${s}`), r === !0 && i.push("secure"), C.isString(l) && i.push(`SameSite=${l}`), document.cookie = i.join("; ");
    },
    read(e) {
      if (typeof document > "u") return null;
      const t = document.cookie.match(new RegExp("(?:^|; )" + e + "=([^;]*)"));
      return t ? decodeURIComponent(t[1]) : null;
    },
    remove(e) {
      this.write(e, "", Date.now() - 864e5, "/");
    }
  }
) : (
  // Non-standard browser env (web workers, react-native) lack needed support.
  {
    write() {
    },
    read() {
      return null;
    },
    remove() {
    }
  }
);
function am(e) {
  return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e);
}
function sm(e, t) {
  return t ? e.replace(/\/?\/$/, "") + "/" + t.replace(/^\/+/, "") : e;
}
function pu(e, t, n) {
  let a = !am(t);
  return e && (a || n == !1) ? sm(e, t) : t;
}
const Ri = (e) => e instanceof ft ? { ...e } : e;
function Rn(e, t) {
  t = t || {};
  const n = {};
  function a(u, c, d, h) {
    return C.isPlainObject(u) && C.isPlainObject(c) ? C.merge.call({ caseless: h }, u, c) : C.isPlainObject(c) ? C.merge({}, c) : C.isArray(c) ? c.slice() : c;
  }
  function s(u, c, d, h) {
    if (C.isUndefined(c)) {
      if (!C.isUndefined(u))
        return a(void 0, u, d, h);
    } else return a(u, c, d, h);
  }
  function r(u, c) {
    if (!C.isUndefined(c))
      return a(void 0, c);
  }
  function l(u, c) {
    if (C.isUndefined(c)) {
      if (!C.isUndefined(u))
        return a(void 0, u);
    } else return a(void 0, c);
  }
  function i(u, c, d) {
    if (d in t)
      return a(u, c);
    if (d in e)
      return a(void 0, u);
  }
  const o = {
    url: r,
    method: r,
    data: r,
    baseURL: l,
    transformRequest: l,
    transformResponse: l,
    paramsSerializer: l,
    timeout: l,
    timeoutMessage: l,
    withCredentials: l,
    withXSRFToken: l,
    adapter: l,
    responseType: l,
    xsrfCookieName: l,
    xsrfHeaderName: l,
    onUploadProgress: l,
    onDownloadProgress: l,
    decompress: l,
    maxContentLength: l,
    maxBodyLength: l,
    beforeRedirect: l,
    transport: l,
    httpAgent: l,
    httpsAgent: l,
    cancelToken: l,
    socketPath: l,
    responseEncoding: l,
    validateStatus: i,
    headers: (u, c, d) => s(Ri(u), Ri(c), d, !0)
  };
  return C.forEach(Object.keys({ ...e, ...t }), function(c) {
    const d = o[c] || s, h = d(e[c], t[c], c);
    C.isUndefined(h) && d !== i || (n[c] = h);
  }), n;
}
const Su = (e) => {
  const t = Rn({}, e);
  let { data: n, withXSRFToken: a, xsrfHeaderName: s, xsrfCookieName: r, headers: l, auth: i } = t;
  if (t.headers = l = ft.from(l), t.url = mu(pu(t.baseURL, t.url, t.allowAbsoluteUrls), e.params, e.paramsSerializer), i && l.set(
    "Authorization",
    "Basic " + btoa((i.username || "") + ":" + (i.password ? unescape(encodeURIComponent(i.password)) : ""))
  ), C.isFormData(n)) {
    if (Xe.hasStandardBrowserEnv || Xe.hasStandardBrowserWebWorkerEnv)
      l.setContentType(void 0);
    else if (C.isFunction(n.getHeaders)) {
      const o = n.getHeaders(), u = ["content-type", "content-length"];
      Object.entries(o).forEach(([c, d]) => {
        u.includes(c.toLowerCase()) && l.set(c, d);
      });
    }
  }
  if (Xe.hasStandardBrowserEnv && (a && C.isFunction(a) && (a = a(t)), a || a !== !1 && tm(t.url))) {
    const o = s && r && nm.read(r);
    o && l.set(s, o);
  }
  return t;
}, rm = typeof XMLHttpRequest < "u", lm = rm && function(e) {
  return new Promise(function(n, a) {
    const s = Su(e);
    let r = s.data;
    const l = ft.from(s.headers).normalize();
    let { responseType: i, onUploadProgress: o, onDownloadProgress: u } = s, c, d, h, v, f;
    function y() {
      v && v(), f && f(), s.cancelToken && s.cancelToken.unsubscribe(c), s.signal && s.signal.removeEventListener("abort", c);
    }
    let m = new XMLHttpRequest();
    m.open(s.method.toUpperCase(), s.url, !0), m.timeout = s.timeout;
    function b() {
      if (!m)
        return;
      const P = ft.from(
        "getAllResponseHeaders" in m && m.getAllResponseHeaders()
      ), k = {
        data: !i || i === "text" || i === "json" ? m.responseText : m.response,
        status: m.status,
        statusText: m.statusText,
        headers: P,
        config: e,
        request: m
      };
      bu(function(V) {
        n(V), y();
      }, function(V) {
        a(V), y();
      }, k), m = null;
    }
    "onloadend" in m ? m.onloadend = b : m.onreadystatechange = function() {
      !m || m.readyState !== 4 || m.status === 0 && !(m.responseURL && m.responseURL.indexOf("file:") === 0) || setTimeout(b);
    }, m.onabort = function() {
      m && (a(new ce("Request aborted", ce.ECONNABORTED, e, m)), m = null);
    }, m.onerror = function(I) {
      const k = I && I.message ? I.message : "Network Error", D = new ce(k, ce.ERR_NETWORK, e, m);
      D.event = I || null, a(D), m = null;
    }, m.ontimeout = function() {
      let I = s.timeout ? "timeout of " + s.timeout + "ms exceeded" : "timeout exceeded";
      const k = s.transitional || vu;
      s.timeoutErrorMessage && (I = s.timeoutErrorMessage), a(new ce(
        I,
        k.clarifyTimeoutError ? ce.ETIMEDOUT : ce.ECONNABORTED,
        e,
        m
      )), m = null;
    }, r === void 0 && l.setContentType(null), "setRequestHeader" in m && C.forEach(l.toJSON(), function(I, k) {
      m.setRequestHeader(k, I);
    }), C.isUndefined(s.withCredentials) || (m.withCredentials = !!s.withCredentials), i && i !== "json" && (m.responseType = s.responseType), u && ([h, f] = ws(u, !0), m.addEventListener("progress", h)), o && m.upload && ([d, v] = ws(o), m.upload.addEventListener("progress", d), m.upload.addEventListener("loadend", v)), (s.cancelToken || s.signal) && (c = (P) => {
      m && (a(!P || P.type ? new la(null, e, m) : P), m.abort(), m = null);
    }, s.cancelToken && s.cancelToken.subscribe(c), s.signal && (s.signal.aborted ? c() : s.signal.addEventListener("abort", c)));
    const S = Zh(s.url);
    if (S && Xe.protocols.indexOf(S) === -1) {
      a(new ce("Unsupported protocol " + S + ":", ce.ERR_BAD_REQUEST, e));
      return;
    }
    m.send(r || null);
  });
}, im = (e, t) => {
  const { length: n } = e = e ? e.filter(Boolean) : [];
  if (t || n) {
    let a = new AbortController(), s;
    const r = function(u) {
      if (!s) {
        s = !0, i();
        const c = u instanceof Error ? u : this.reason;
        a.abort(c instanceof ce ? c : new la(c instanceof Error ? c.message : c));
      }
    };
    let l = t && setTimeout(() => {
      l = null, r(new ce(`timeout ${t} of ms exceeded`, ce.ETIMEDOUT));
    }, t);
    const i = () => {
      e && (l && clearTimeout(l), l = null, e.forEach((u) => {
        u.unsubscribe ? u.unsubscribe(r) : u.removeEventListener("abort", r);
      }), e = null);
    };
    e.forEach((u) => u.addEventListener("abort", r));
    const { signal: o } = a;
    return o.unsubscribe = () => C.asap(i), o;
  }
}, om = function* (e, t) {
  let n = e.byteLength;
  if (n < t) {
    yield e;
    return;
  }
  let a = 0, s;
  for (; a < n; )
    s = a + t, yield e.slice(a, s), a = s;
}, um = async function* (e, t) {
  for await (const n of cm(e))
    yield* om(n, t);
}, cm = async function* (e) {
  if (e[Symbol.asyncIterator]) {
    yield* e;
    return;
  }
  const t = e.getReader();
  try {
    for (; ; ) {
      const { done: n, value: a } = await t.read();
      if (n)
        break;
      yield a;
    }
  } finally {
    await t.cancel();
  }
}, Fi = (e, t, n, a) => {
  const s = um(e, t);
  let r = 0, l, i = (o) => {
    l || (l = !0, a && a(o));
  };
  return new ReadableStream({
    async pull(o) {
      try {
        const { done: u, value: c } = await s.next();
        if (u) {
          i(), o.close();
          return;
        }
        let d = c.byteLength;
        if (n) {
          let h = r += d;
          n(h);
        }
        o.enqueue(new Uint8Array(c));
      } catch (u) {
        throw i(u), u;
      }
    },
    cancel(o) {
      return i(o), s.return();
    }
  }, {
    highWaterMark: 2
  });
}, Li = 64 * 1024, { isFunction: ss } = C, dm = (({ Request: e, Response: t }) => ({
  Request: e,
  Response: t
}))(C.global), {
  ReadableStream: Ni,
  TextEncoder: Bi
} = C.global, $i = (e, ...t) => {
  try {
    return !!e(...t);
  } catch {
    return !1;
  }
}, fm = (e) => {
  e = C.merge.call({
    skipUndefined: !0
  }, dm, e);
  const { fetch: t, Request: n, Response: a } = e, s = t ? ss(t) : typeof fetch == "function", r = ss(n), l = ss(a);
  if (!s)
    return !1;
  const i = s && ss(Ni), o = s && (typeof Bi == "function" ? /* @__PURE__ */ ((f) => (y) => f.encode(y))(new Bi()) : async (f) => new Uint8Array(await new n(f).arrayBuffer())), u = r && i && $i(() => {
    let f = !1;
    const y = new n(Xe.origin, {
      body: new Ni(),
      method: "POST",
      get duplex() {
        return f = !0, "half";
      }
    }).headers.has("Content-Type");
    return f && !y;
  }), c = l && i && $i(() => C.isReadableStream(new a("").body)), d = {
    stream: c && ((f) => f.body)
  };
  s && ["text", "arrayBuffer", "blob", "formData", "stream"].forEach((f) => {
    !d[f] && (d[f] = (y, m) => {
      let b = y && y[f];
      if (b)
        return b.call(y);
      throw new ce(`Response type '${f}' is not supported`, ce.ERR_NOT_SUPPORT, m);
    });
  });
  const h = async (f) => {
    if (f == null)
      return 0;
    if (C.isBlob(f))
      return f.size;
    if (C.isSpecCompliantForm(f))
      return (await new n(Xe.origin, {
        method: "POST",
        body: f
      }).arrayBuffer()).byteLength;
    if (C.isArrayBufferView(f) || C.isArrayBuffer(f))
      return f.byteLength;
    if (C.isURLSearchParams(f) && (f = f + ""), C.isString(f))
      return (await o(f)).byteLength;
  }, v = async (f, y) => {
    const m = C.toFiniteNumber(f.getContentLength());
    return m ?? h(y);
  };
  return async (f) => {
    let {
      url: y,
      method: m,
      data: b,
      signal: S,
      cancelToken: P,
      timeout: I,
      onDownloadProgress: k,
      onUploadProgress: D,
      responseType: V,
      headers: w,
      withCredentials: T = "same-origin",
      fetchOptions: N
    } = Su(f), $ = t || fetch;
    V = V ? (V + "").toLowerCase() : "text";
    let B = im([S, P && P.toAbortSignal()], I), A = null;
    const U = B && B.unsubscribe && (() => {
      B.unsubscribe();
    });
    let Y;
    try {
      if (D && u && m !== "get" && m !== "head" && (Y = await v(w, b)) !== 0) {
        let O = new n(y, {
          method: "POST",
          body: b,
          duplex: "half"
        }), F;
        if (C.isFormData(b) && (F = O.headers.get("content-type")) && w.setContentType(F), O.body) {
          const [q, se] = Di(
            Y,
            ws(Mi(D))
          );
          b = Fi(O.body, Li, q, se);
        }
      }
      C.isString(T) || (T = T ? "include" : "omit");
      const G = r && "credentials" in n.prototype, le = {
        ...N,
        signal: B,
        method: m.toUpperCase(),
        headers: w.normalize().toJSON(),
        body: b,
        duplex: "half",
        credentials: G ? T : void 0
      };
      A = r && new n(y, le);
      let oe = await (r ? $(A, N) : $(y, le));
      const _e = c && (V === "stream" || V === "response");
      if (c && (k || _e && U)) {
        const O = {};
        ["status", "statusText", "headers"].forEach((ae) => {
          O[ae] = oe[ae];
        });
        const F = C.toFiniteNumber(oe.headers.get("content-length")), [q, se] = k && Di(
          F,
          ws(Mi(k), !0)
        ) || [];
        oe = new a(
          Fi(oe.body, Li, q, () => {
            se && se(), U && U();
          }),
          O
        );
      }
      V = V || "text";
      let x = await d[C.findKey(d, V) || "text"](oe, f);
      return !_e && U && U(), await new Promise((O, F) => {
        bu(O, F, {
          data: x,
          headers: ft.from(oe.headers),
          status: oe.status,
          statusText: oe.statusText,
          config: f,
          request: A
        });
      });
    } catch (G) {
      throw U && U(), G && G.name === "TypeError" && /Load failed|fetch/i.test(G.message) ? Object.assign(
        new ce("Network Error", ce.ERR_NETWORK, f, A),
        {
          cause: G.cause || G
        }
      ) : ce.from(G, G && G.code, f, A);
    }
  };
}, hm = /* @__PURE__ */ new Map(), wu = (e) => {
  let t = e && e.env || {};
  const { fetch: n, Request: a, Response: s } = t, r = [
    a,
    s,
    n
  ];
  let l = r.length, i = l, o, u, c = hm;
  for (; i--; )
    o = r[i], u = c.get(o), u === void 0 && c.set(o, u = i ? /* @__PURE__ */ new Map() : fm(t)), c = u;
  return u;
};
wu();
const Il = {
  http: Vh,
  xhr: lm,
  fetch: {
    get: wu
  }
};
C.forEach(Il, (e, t) => {
  if (e) {
    try {
      Object.defineProperty(e, "name", { value: t });
    } catch {
    }
    Object.defineProperty(e, "adapterName", { value: t });
  }
});
const Ui = (e) => `- ${e}`, mm = (e) => C.isFunction(e) || e === null || e === !1;
function vm(e, t) {
  e = C.isArray(e) ? e : [e];
  const { length: n } = e;
  let a, s;
  const r = {};
  for (let l = 0; l < n; l++) {
    a = e[l];
    let i;
    if (s = a, !mm(a) && (s = Il[(i = String(a)).toLowerCase()], s === void 0))
      throw new ce(`Unknown adapter '${i}'`);
    if (s && (C.isFunction(s) || (s = s.get(t))))
      break;
    r[i || "#" + l] = s;
  }
  if (!s) {
    const l = Object.entries(r).map(
      ([o, u]) => `adapter ${o} ` + (u === !1 ? "is not supported by the environment" : "is not available in the build")
    );
    let i = n ? l.length > 1 ? `since :
` + l.map(Ui).join(`
`) : " " + Ui(l[0]) : "as no adapter specified";
    throw new ce(
      "There is no suitable adapter to dispatch the request " + i,
      "ERR_NOT_SUPPORT"
    );
  }
  return s;
}
const _u = {
  /**
   * Resolve an adapter from a list of adapter names or functions.
   * @type {Function}
   */
  getAdapter: vm,
  /**
   * Exposes all known adapters
   * @type {Object<string, Function|Object>}
   */
  adapters: Il
};
function br(e) {
  if (e.cancelToken && e.cancelToken.throwIfRequested(), e.signal && e.signal.aborted)
    throw new la(null, e);
}
function zi(e) {
  return br(e), e.headers = ft.from(e.headers), e.data = gr.call(
    e,
    e.transformRequest
  ), ["post", "put", "patch"].indexOf(e.method) !== -1 && e.headers.setContentType("application/x-www-form-urlencoded", !1), _u.getAdapter(e.adapter || Ha.adapter, e)(e).then(function(a) {
    return br(e), a.data = gr.call(
      e,
      e.transformResponse,
      a
    ), a.headers = ft.from(a.headers), a;
  }, function(a) {
    return gu(a) || (br(e), a && a.response && (a.response.data = gr.call(
      e,
      e.transformResponse,
      a.response
    ), a.response.headers = ft.from(a.response.headers))), Promise.reject(a);
  });
}
const ku = "1.13.2", Ys = {};
["object", "boolean", "number", "function", "string", "symbol"].forEach((e, t) => {
  Ys[e] = function(a) {
    return typeof a === e || "a" + (t < 1 ? "n " : " ") + e;
  };
});
const Hi = {};
Ys.transitional = function(t, n, a) {
  function s(r, l) {
    return "[Axios v" + ku + "] Transitional option '" + r + "'" + l + (a ? ". " + a : "");
  }
  return (r, l, i) => {
    if (t === !1)
      throw new ce(
        s(l, " has been removed" + (n ? " in " + n : "")),
        ce.ERR_DEPRECATED
      );
    return n && !Hi[l] && (Hi[l] = !0, console.warn(
      s(
        l,
        " has been deprecated since v" + n + " and will be removed in the near future"
      )
    )), t ? t(r, l, i) : !0;
  };
};
Ys.spelling = function(t) {
  return (n, a) => (console.warn(`${a} is likely a misspelling of ${t}`), !0);
};
function ym(e, t, n) {
  if (typeof e != "object")
    throw new ce("options must be an object", ce.ERR_BAD_OPTION_VALUE);
  const a = Object.keys(e);
  let s = a.length;
  for (; s-- > 0; ) {
    const r = a[s], l = t[r];
    if (l) {
      const i = e[r], o = i === void 0 || l(i, r, e);
      if (o !== !0)
        throw new ce("option " + r + " must be " + o, ce.ERR_BAD_OPTION_VALUE);
      continue;
    }
    if (n !== !0)
      throw new ce("Unknown option " + r, ce.ERR_BAD_OPTION);
  }
}
const vs = {
  assertOptions: ym,
  validators: Ys
}, Lt = vs.validators;
let En = class {
  constructor(t) {
    this.defaults = t || {}, this.interceptors = {
      request: new Ei(),
      response: new Ei()
    };
  }
  /**
   * Dispatch a request
   *
   * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
   * @param {?Object} config
   *
   * @returns {Promise} The Promise to be fulfilled
   */
  async request(t, n) {
    try {
      return await this._request(t, n);
    } catch (a) {
      if (a instanceof Error) {
        let s = {};
        Error.captureStackTrace ? Error.captureStackTrace(s) : s = new Error();
        const r = s.stack ? s.stack.replace(/^.+\n/, "") : "";
        try {
          a.stack ? r && !String(a.stack).endsWith(r.replace(/^.+\n.+\n/, "")) && (a.stack += `
` + r) : a.stack = r;
        } catch {
        }
      }
      throw a;
    }
  }
  _request(t, n) {
    typeof t == "string" ? (n = n || {}, n.url = t) : n = t || {}, n = Rn(this.defaults, n);
    const { transitional: a, paramsSerializer: s, headers: r } = n;
    a !== void 0 && vs.assertOptions(a, {
      silentJSONParsing: Lt.transitional(Lt.boolean),
      forcedJSONParsing: Lt.transitional(Lt.boolean),
      clarifyTimeoutError: Lt.transitional(Lt.boolean)
    }, !1), s != null && (C.isFunction(s) ? n.paramsSerializer = {
      serialize: s
    } : vs.assertOptions(s, {
      encode: Lt.function,
      serialize: Lt.function
    }, !0)), n.allowAbsoluteUrls !== void 0 || (this.defaults.allowAbsoluteUrls !== void 0 ? n.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls : n.allowAbsoluteUrls = !0), vs.assertOptions(n, {
      baseUrl: Lt.spelling("baseURL"),
      withXsrfToken: Lt.spelling("withXSRFToken")
    }, !0), n.method = (n.method || this.defaults.method || "get").toLowerCase();
    let l = r && C.merge(
      r.common,
      r[n.method]
    );
    r && C.forEach(
      ["delete", "get", "head", "post", "put", "patch", "common"],
      (f) => {
        delete r[f];
      }
    ), n.headers = ft.concat(l, r);
    const i = [];
    let o = !0;
    this.interceptors.request.forEach(function(y) {
      typeof y.runWhen == "function" && y.runWhen(n) === !1 || (o = o && y.synchronous, i.unshift(y.fulfilled, y.rejected));
    });
    const u = [];
    this.interceptors.response.forEach(function(y) {
      u.push(y.fulfilled, y.rejected);
    });
    let c, d = 0, h;
    if (!o) {
      const f = [zi.bind(this), void 0];
      for (f.unshift(...i), f.push(...u), h = f.length, c = Promise.resolve(n); d < h; )
        c = c.then(f[d++], f[d++]);
      return c;
    }
    h = i.length;
    let v = n;
    for (; d < h; ) {
      const f = i[d++], y = i[d++];
      try {
        v = f(v);
      } catch (m) {
        y.call(this, m);
        break;
      }
    }
    try {
      c = zi.call(this, v);
    } catch (f) {
      return Promise.reject(f);
    }
    for (d = 0, h = u.length; d < h; )
      c = c.then(u[d++], u[d++]);
    return c;
  }
  getUri(t) {
    t = Rn(this.defaults, t);
    const n = pu(t.baseURL, t.url, t.allowAbsoluteUrls);
    return mu(n, t.params, t.paramsSerializer);
  }
};
C.forEach(["delete", "get", "head", "options"], function(t) {
  En.prototype[t] = function(n, a) {
    return this.request(Rn(a || {}, {
      method: t,
      url: n,
      data: (a || {}).data
    }));
  };
});
C.forEach(["post", "put", "patch"], function(t) {
  function n(a) {
    return function(r, l, i) {
      return this.request(Rn(i || {}, {
        method: t,
        headers: a ? {
          "Content-Type": "multipart/form-data"
        } : {},
        url: r,
        data: l
      }));
    };
  }
  En.prototype[t] = n(), En.prototype[t + "Form"] = n(!0);
});
let gm = class Cu {
  constructor(t) {
    if (typeof t != "function")
      throw new TypeError("executor must be a function.");
    let n;
    this.promise = new Promise(function(r) {
      n = r;
    });
    const a = this;
    this.promise.then((s) => {
      if (!a._listeners) return;
      let r = a._listeners.length;
      for (; r-- > 0; )
        a._listeners[r](s);
      a._listeners = null;
    }), this.promise.then = (s) => {
      let r;
      const l = new Promise((i) => {
        a.subscribe(i), r = i;
      }).then(s);
      return l.cancel = function() {
        a.unsubscribe(r);
      }, l;
    }, t(function(r, l, i) {
      a.reason || (a.reason = new la(r, l, i), n(a.reason));
    });
  }
  /**
   * Throws a `CanceledError` if cancellation has been requested.
   */
  throwIfRequested() {
    if (this.reason)
      throw this.reason;
  }
  /**
   * Subscribe to the cancel signal
   */
  subscribe(t) {
    if (this.reason) {
      t(this.reason);
      return;
    }
    this._listeners ? this._listeners.push(t) : this._listeners = [t];
  }
  /**
   * Unsubscribe from the cancel signal
   */
  unsubscribe(t) {
    if (!this._listeners)
      return;
    const n = this._listeners.indexOf(t);
    n !== -1 && this._listeners.splice(n, 1);
  }
  toAbortSignal() {
    const t = new AbortController(), n = (a) => {
      t.abort(a);
    };
    return this.subscribe(n), t.signal.unsubscribe = () => this.unsubscribe(n), t.signal;
  }
  /**
   * Returns an object that contains a new `CancelToken` and a function that, when called,
   * cancels the `CancelToken`.
   */
  static source() {
    let t;
    return {
      token: new Cu(function(s) {
        t = s;
      }),
      cancel: t
    };
  }
};
function bm(e) {
  return function(n) {
    return e.apply(null, n);
  };
}
function pm(e) {
  return C.isObject(e) && e.isAxiosError === !0;
}
const Yr = {
  Continue: 100,
  SwitchingProtocols: 101,
  Processing: 102,
  EarlyHints: 103,
  Ok: 200,
  Created: 201,
  Accepted: 202,
  NonAuthoritativeInformation: 203,
  NoContent: 204,
  ResetContent: 205,
  PartialContent: 206,
  MultiStatus: 207,
  AlreadyReported: 208,
  ImUsed: 226,
  MultipleChoices: 300,
  MovedPermanently: 301,
  Found: 302,
  SeeOther: 303,
  NotModified: 304,
  UseProxy: 305,
  Unused: 306,
  TemporaryRedirect: 307,
  PermanentRedirect: 308,
  BadRequest: 400,
  Unauthorized: 401,
  PaymentRequired: 402,
  Forbidden: 403,
  NotFound: 404,
  MethodNotAllowed: 405,
  NotAcceptable: 406,
  ProxyAuthenticationRequired: 407,
  RequestTimeout: 408,
  Conflict: 409,
  Gone: 410,
  LengthRequired: 411,
  PreconditionFailed: 412,
  PayloadTooLarge: 413,
  UriTooLong: 414,
  UnsupportedMediaType: 415,
  RangeNotSatisfiable: 416,
  ExpectationFailed: 417,
  ImATeapot: 418,
  MisdirectedRequest: 421,
  UnprocessableEntity: 422,
  Locked: 423,
  FailedDependency: 424,
  TooEarly: 425,
  UpgradeRequired: 426,
  PreconditionRequired: 428,
  TooManyRequests: 429,
  RequestHeaderFieldsTooLarge: 431,
  UnavailableForLegalReasons: 451,
  InternalServerError: 500,
  NotImplemented: 501,
  BadGateway: 502,
  ServiceUnavailable: 503,
  GatewayTimeout: 504,
  HttpVersionNotSupported: 505,
  VariantAlsoNegotiates: 506,
  InsufficientStorage: 507,
  LoopDetected: 508,
  NotExtended: 510,
  NetworkAuthenticationRequired: 511,
  WebServerIsDown: 521,
  ConnectionTimedOut: 522,
  OriginIsUnreachable: 523,
  TimeoutOccurred: 524,
  SslHandshakeFailed: 525,
  InvalidSslCertificate: 526
};
Object.entries(Yr).forEach(([e, t]) => {
  Yr[t] = e;
});
function Pu(e) {
  const t = new En(e), n = nu(En.prototype.request, t);
  return C.extend(n, En.prototype, t, { allOwnKeys: !0 }), C.extend(n, t, null, { allOwnKeys: !0 }), n.create = function(s) {
    return Pu(Rn(e, s));
  }, n;
}
const ye = Pu(Ha);
ye.Axios = En;
ye.CanceledError = la;
ye.CancelToken = gm;
ye.isCancel = gu;
ye.VERSION = ku;
ye.toFormData = Hs;
ye.AxiosError = ce;
ye.Cancel = ye.CanceledError;
ye.all = function(t) {
  return Promise.all(t);
};
ye.spread = bm;
ye.isAxiosError = pm;
ye.mergeConfig = Rn;
ye.AxiosHeaders = ft;
ye.formToJSON = (e) => yu(C.isHTMLForm(e) ? new FormData(e) : e);
ye.getAdapter = _u.getAdapter;
ye.HttpStatusCode = Yr;
ye.default = ye;
const {
  Axios: G0,
  AxiosError: Q0,
  CanceledError: q0,
  isCancel: K0,
  CancelToken: J0,
  VERSION: Z0,
  all: X0,
  Cancel: ek,
  isAxiosError: tk,
  spread: nk,
  toFormData: ak,
  AxiosHeaders: sk,
  HttpStatusCode: rk,
  formToJSON: lk,
  getAdapter: ik,
  mergeConfig: ok
} = ye, et = "https://unh-pfem-services.ara.inrae.fr/forum-api".replace(/\/+$/, "");
class Ya {
  constructor(t, n = et, a = ye) {
    Ie(this, "configuration");
    this.basePath = n, this.axios = a, t && (this.configuration = t, this.basePath = t.basePath || this.basePath);
  }
}
class Sm extends Error {
  constructor(n, a) {
    super(a);
    Ie(this, "name", "RequiredError");
    this.field = n;
  }
}
const at = "https://example.com", st = function(e, t, n) {
  if (n == null)
    throw new Sm(t, `Required parameter ${t} was null or undefined when calling ${e}.`);
};
function jr(e, t, n = "") {
  typeof t == "object" ? Array.isArray(t) ? t.forEach((a) => jr(e, a, n)) : Object.keys(t).forEach(
    (a) => jr(e, t[a], `${n}${n !== "" ? "." : ""}${a}`)
  ) : e.has(n) ? e.append(n, t) : e.set(n, t);
}
const rt = function(e, ...t) {
  const n = new URLSearchParams(e.search);
  jr(n, t), e.search = n.toString();
}, lt = function(e) {
  return e.pathname + e.search + e.hash;
}, it = function(e, t, n, a) {
  return (s = t, r = n) => {
    const l = { ...e.options, url: (a?.basePath || r) + e.url };
    return s.request(l);
  };
}, wm = function(e) {
  return {
    /**
     * 
     * @param {string} query the user\&#39;s query
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    chebiFuzzyQueryGet: async (t, n = {}) => {
      st("chebiFuzzyQueryGet", "query", t);
      const a = "/chebi_fuzzy/{query}/".replace("{query}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    },
    /**
     * 
     * @param {string} idChebi idChebi
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    chebiMeshIdChebiGet: async (t, n = {}) => {
      st("chebiMeshIdChebiGet", "idChebi", t);
      const a = "/chebi_mesh/{idChebi}/".replace("{idChebi}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    },
    /**
     * 
     * @param {string} idMesh  idMesh
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    meshChebiIdMeshGet: async (t, n = {}) => {
      st("meshChebiIdMeshGet", "idMesh", t);
      const a = "/mesh_chebi/{idMesh}/".replace("{idMesh}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    }
  };
}, pr = function(e) {
  const t = wm(e);
  return {
    /**
     * 
     * @param {string} query the user\&#39;s query
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async chebiFuzzyQueryGet(n, a) {
      const s = await t.chebiFuzzyQueryGet(n, a);
      return it(s, ye, et, e);
    },
    /**
     * 
     * @param {string} idChebi idChebi
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async chebiMeshIdChebiGet(n, a) {
      const s = await t.chebiMeshIdChebiGet(n, a);
      return it(s, ye, et, e);
    },
    /**
     * 
     * @param {string} idMesh  idMesh
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async meshChebiIdMeshGet(n, a) {
      const s = await t.meshChebiIdMeshGet(n, a);
      return it(s, ye, et, e);
    }
  };
};
class xu extends Ya {
  /**
   * 
   * @param {string} query the user\&#39;s query
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof ChebiApi
   */
  chebiFuzzyQueryGet(t, n) {
    return pr(this.configuration).chebiFuzzyQueryGet(t, n).then((a) => a(this.axios, this.basePath));
  }
  /**
   * 
   * @param {string} idChebi idChebi
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof ChebiApi
   */
  chebiMeshIdChebiGet(t, n) {
    return pr(this.configuration).chebiMeshIdChebiGet(t, n).then((a) => a(this.axios, this.basePath));
  }
  /**
   * 
   * @param {string} idMesh  idMesh
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof ChebiApi
   */
  meshChebiIdMeshGet(t, n) {
    return pr(this.configuration).meshChebiIdMeshGet(t, n).then((a) => a(this.axios, this.basePath));
  }
}
const _m = function(e) {
  return {
    /**
     * 
     * @param {string} query the user\&#39;s query
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    chemontFuzzyQueryGet: async (t, n = {}) => {
      st("chemontFuzzyQueryGet", "query", t);
      const a = "/chemont_fuzzy/{query}/".replace("{query}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    },
    /**
     * 
     * @param {string} idChemont idChemont
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    chemontMeshIdChemontGet: async (t, n = {}) => {
      st("chemontMeshIdChemontGet", "idChemont", t);
      const a = "/chemont_mesh/{idChemont}/".replace("{idChemont}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    },
    /**
     * 
     * @param {string} idMesh  idMesh
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    meshChemontIdMeshGet: async (t, n = {}) => {
      st("meshChemontIdMeshGet", "idMesh", t);
      const a = "/mesh_chemont/{idMesh}/".replace("{idMesh}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    }
  };
}, Sr = function(e) {
  const t = _m(e);
  return {
    /**
     * 
     * @param {string} query the user\&#39;s query
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async chemontFuzzyQueryGet(n, a) {
      const s = await t.chemontFuzzyQueryGet(n, a);
      return it(s, ye, et, e);
    },
    /**
     * 
     * @param {string} idChemont idChemont
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async chemontMeshIdChemontGet(n, a) {
      const s = await t.chemontMeshIdChemontGet(n, a);
      return it(s, ye, et, e);
    },
    /**
     * 
     * @param {string} idMesh  idMesh
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async meshChemontIdMeshGet(n, a) {
      const s = await t.meshChemontIdMeshGet(n, a);
      return it(s, ye, et, e);
    }
  };
};
class Iu extends Ya {
  /**
   * 
   * @param {string} query the user\&#39;s query
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof ChemontApi
   */
  chemontFuzzyQueryGet(t, n) {
    return Sr(this.configuration).chemontFuzzyQueryGet(t, n).then((a) => a(this.axios, this.basePath));
  }
  /**
   * 
   * @param {string} idChemont idChemont
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof ChemontApi
   */
  chemontMeshIdChemontGet(t, n) {
    return Sr(this.configuration).chemontMeshIdChemontGet(t, n).then((a) => a(this.axios, this.basePath));
  }
  /**
   * 
   * @param {string} idMesh  idMesh
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof ChemontApi
   */
  meshChemontIdMeshGet(t, n) {
    return Sr(this.configuration).meshChemontIdMeshGet(t, n).then((a) => a(this.axios, this.basePath));
  }
}
const km = function(e) {
  return {
    /**
     * 
     * @param {string} idChebi idChebi
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    chebiLabelIdChebiGet: async (t, n = {}) => {
      st("chebiLabelIdChebiGet", "idChebi", t);
      const a = "/chebi_label/{idChebi}/".replace("{idChebi}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    },
    /**
     * 
     * @param {string} idChemont idChemont
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    chemontLabelIdChemontGet: async (t, n = {}) => {
      st("chemontLabelIdChemontGet", "idChemont", t);
      const a = "/chemont_label/{idChemont}/".replace("{idChemont}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    },
    /**
     * 
     * @param {string} idMesh  idMesh
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    meshLabelIdMeshGet: async (t, n = {}) => {
      st("meshLabelIdMeshGet", "idMesh", t);
      const a = "/mesh_label/{idMesh}/".replace("{idMesh}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    },
    /**
     * 
     * @param {string} idMesh  idMesh
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    meshTreeIdMeshGet: async (t, n = {}) => {
      st("meshTreeIdMeshGet", "idMesh", t);
      const a = "/mesh_tree/{idMesh}/".replace("{idMesh}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    },
    /**
     * 
     * @param {number} idPubchem idPubchem
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pubchemLabelIdPubchemGet: async (t, n = {}) => {
      st("pubchemLabelIdPubchemGet", "idPubchem", t);
      const a = "/pubchem_label/{idPubchem}/".replace("{idPubchem}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    }
  };
}, ya = function(e) {
  const t = km(e);
  return {
    /**
     * 
     * @param {string} idChebi idChebi
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async chebiLabelIdChebiGet(n, a) {
      const s = await t.chebiLabelIdChebiGet(n, a);
      return it(s, ye, et, e);
    },
    /**
     * 
     * @param {string} idChemont idChemont
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async chemontLabelIdChemontGet(n, a) {
      const s = await t.chemontLabelIdChemontGet(n, a);
      return it(s, ye, et, e);
    },
    /**
     * 
     * @param {string} idMesh  idMesh
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async meshLabelIdMeshGet(n, a) {
      const s = await t.meshLabelIdMeshGet(n, a);
      return it(s, ye, et, e);
    },
    /**
     * 
     * @param {string} idMesh  idMesh
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async meshTreeIdMeshGet(n, a) {
      const s = await t.meshTreeIdMeshGet(n, a);
      return it(s, ye, et, e);
    },
    /**
     * 
     * @param {number} idPubchem idPubchem
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async pubchemLabelIdPubchemGet(n, a) {
      const s = await t.pubchemLabelIdPubchemGet(n, a);
      return it(s, ye, et, e);
    }
  };
};
class Cm extends Ya {
  /**
   * 
   * @param {string} idChebi idChebi
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof LabelsApi
   */
  chebiLabelIdChebiGet(t, n) {
    return ya(this.configuration).chebiLabelIdChebiGet(t, n).then((a) => a(this.axios, this.basePath));
  }
  /**
   * 
   * @param {string} idChemont idChemont
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof LabelsApi
   */
  chemontLabelIdChemontGet(t, n) {
    return ya(this.configuration).chemontLabelIdChemontGet(t, n).then((a) => a(this.axios, this.basePath));
  }
  /**
   * 
   * @param {string} idMesh  idMesh
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof LabelsApi
   */
  meshLabelIdMeshGet(t, n) {
    return ya(this.configuration).meshLabelIdMeshGet(t, n).then((a) => a(this.axios, this.basePath));
  }
  /**
   * 
   * @param {string} idMesh  idMesh
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof LabelsApi
   */
  meshTreeIdMeshGet(t, n) {
    return ya(this.configuration).meshTreeIdMeshGet(t, n).then((a) => a(this.axios, this.basePath));
  }
  /**
   * 
   * @param {number} idPubchem idPubchem
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof LabelsApi
   */
  pubchemLabelIdPubchemGet(t, n) {
    return ya(this.configuration).pubchemLabelIdPubchemGet(t, n).then((a) => a(this.axios, this.basePath));
  }
}
const Pm = function(e) {
  return {
    /**
     * 
     * @param {string} query the user\&#39;s query
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    meshFuzzyQueryGet: async (t, n = {}) => {
      st("meshFuzzyQueryGet", "query", t);
      const a = "/mesh_fuzzy/{query}/".replace("{query}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    }
  };
}, xm = function(e) {
  const t = Pm(e);
  return {
    /**
     * 
     * @param {string} query the user\&#39;s query
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async meshFuzzyQueryGet(n, a) {
      const s = await t.meshFuzzyQueryGet(n, a);
      return it(s, ye, et, e);
    }
  };
};
class Im extends Ya {
  /**
   * 
   * @param {string} query the user\&#39;s query
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof MeshApi
   */
  meshFuzzyQueryGet(t, n) {
    return xm(this.configuration).meshFuzzyQueryGet(t, n).then((a) => a(this.axios, this.basePath));
  }
}
const Om = function(e) {
  return {
    /**
     * 
     * @param {string} idMesh  idMesh
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    meshPubchemIdMeshGet: async (t, n = {}) => {
      st("meshPubchemIdMeshGet", "idMesh", t);
      const a = "/mesh_pubchem/{idMesh}/".replace("{idMesh}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    },
    /**
     * 
     * @param {string} query the user\&#39;s query
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pubchemFuzzyQueryGet: async (t, n = {}) => {
      st("pubchemFuzzyQueryGet", "query", t);
      const a = "/pubchem_fuzzy/{query}/".replace("{query}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    },
    /**
     * 
     * @param {number} idPubchem idPubchem
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pubchemMeshIdPubchemGet: async (t, n = {}) => {
      st("pubchemMeshIdPubchemGet", "idPubchem", t);
      const a = "/pubchem_mesh/{idPubchem}/".replace("{idPubchem}", encodeURIComponent(String(t))), s = new URL(a, at);
      let r;
      e && (r = e.baseOptions);
      const l = { method: "GET", ...r, ...n }, i = {};
      rt(s, {});
      let u = r && r.headers ? r.headers : {};
      return l.headers = { ...i, ...u, ...n.headers }, {
        url: lt(s),
        options: l
      };
    }
  };
}, wr = function(e) {
  const t = Om(e);
  return {
    /**
     * 
     * @param {string} idMesh  idMesh
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async meshPubchemIdMeshGet(n, a) {
      const s = await t.meshPubchemIdMeshGet(n, a);
      return it(s, ye, et, e);
    },
    /**
     * 
     * @param {string} query the user\&#39;s query
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async pubchemFuzzyQueryGet(n, a) {
      const s = await t.pubchemFuzzyQueryGet(n, a);
      return it(s, ye, et, e);
    },
    /**
     * 
     * @param {number} idPubchem idPubchem
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async pubchemMeshIdPubchemGet(n, a) {
      const s = await t.pubchemMeshIdPubchemGet(n, a);
      return it(s, ye, et, e);
    }
  };
};
class Wr extends Ya {
  /**
   * 
   * @param {string} idMesh  idMesh
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof PubchemApi
   */
  meshPubchemIdMeshGet(t, n) {
    return wr(this.configuration).meshPubchemIdMeshGet(t, n).then((a) => a(this.axios, this.basePath));
  }
  /**
   * 
   * @param {string} query the user\&#39;s query
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof PubchemApi
   */
  pubchemFuzzyQueryGet(t, n) {
    return wr(this.configuration).pubchemFuzzyQueryGet(t, n).then((a) => a(this.axios, this.basePath));
  }
  /**
   * 
   * @param {number} idPubchem idPubchem
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof PubchemApi
   */
  pubchemMeshIdPubchemGet(t, n) {
    return wr(this.configuration).pubchemMeshIdPubchemGet(t, n).then((a) => a(this.axios, this.basePath));
  }
}
class Tm {
  constructor(t, n, a) {
    Ie(this, "id");
    Ie(this, "name");
    Ie(this, "score");
    this._id = t, this._name = n, this._score = a, this.id = t, this.name = n, this.score = a;
  }
}
const Vm = Ls({
  name: "MthForumFormFinder",
  emits: ["search-query"],
  setup() {
    return {
      // from XXX to YYY
      queryType: R(ze.comp_to_mesh),
      // show / hide advanced options
      switchShowAdvancedSetting: R(!1),
      // advanced options value
      searchType: R(ve.pubchem_id),
      // search query value
      searchQueryItem: R(null),
      // new FuzzyItem("", "", 0)
      // -- init dynamic data
      labelTarget: R(
        "MeSH biomedicals concepts"
        /* CPD_TO_MESH */
      ),
      labelSource: R(
        "PubChem CID"
        /* PUBCHEM_CID_TO_MESH */
      ),
      // -- init autocomplet
      searchQueryItems: R([]),
      searchQueryLoading: R(!1),
      searchQueryNoData: R(
        "enter at least 5 letters..."
        /* DEFAULT */
      ),
      // -- init fuzzy matching APIs config
      fuzzyMatchingKeywordMinLength: R(5),
      searchQueryItemText: R(""),
      searchQueryItemTextCache: R(""),
      searchQueryItemsVisible: R(!1),
      // -- init fuzzy matching APIs
      pubchemAPI: R(new Wr()),
      chebiApi: R(new xu()),
      chemontApi: R(new Iu()),
      meshApi: R(new Im()),
      abortController: R(new AbortController())
    };
  },
  mounted() {
    this.loadParamFromHash(), this.launchQuery();
  },
  methods: {
    /**
     * Method use to reload parameters from the URL hash
     * (allow users to share results using a copy/pasted URL)
     */
    loadParamFromHash() {
      const e = kl();
      if (e.get("searchQueryName") && this.searchQueryItem != null) {
        const n = e.get("searchQueryName");
        this.searchQueryItem = t(this.searchQueryItem), this.searchQueryItem.name = n.replaceAll("%20", " ");
      }
      if (e.get("searchQueryId") && this.searchQueryItem != null) {
        const n = e.get("searchQueryId");
        this.searchQueryItem = t(this.searchQueryItem), this.searchQueryItem.id = n;
      }
      e.get("queryType") && (this.queryType = ze[e.get("queryType")]), e.get("searchType") && (this.searchType = ve[e.get("searchType")], this.switchShowAdvancedSetting = !0), console.log(" this.searchQueryItem", this.searchQueryItem);
      function t(n) {
        return n === null && (n = {}), n;
      }
    },
    /**
     * Launch a query (submit button)
     * - save the query in URL (as hash parameters)
     * - build the EndpointSearchQuery object
     * - emit this object to the parent component
     */
    launchQuery() {
      if (this.searchQueryItem?.id === null || //
      this.searchQueryItem?.id?.trim() === "")
        return;
      On("queryType", this.queryType), On("searchType", this.searchType), On("searchQueryName", this.searchQueryItem?.name ?? ""), On("searchQueryId", this.searchQueryItem?.id ?? "");
      const e = new tu();
      e.searchEntityType = ze[this.queryType], e.searchSelectorType = ve[this.searchType], e.searchEntityQuery = this.searchQueryItem?.id ?? "", e.searchEntityQuery !== "" && this.$emit("search-query", e);
    },
    /**
     * Launch an example with pres-defined parameters
     * @param queryType the query type (cpd to mesh / mesh to cpd)
     * @param searchType the search type (pubchem cid / chebi id / ...)
     * @param searchQueryName the queried item NAME
     * @param searchQueryId the queried item Identifier
     */
    launchExample(e, t, n, a) {
      this.searchQueryItemText = "", this.switchShowAdvancedSetting = !0, this.queryType = ze[e], this.searchType = ve[t], this.searchQueryItem = {}, this.searchQueryItem.name = n, this.searchQueryItem.id = a, this.triggerFormChange(), this.launchQuery();
    },
    /**
     * Method called if a change occured in the form
     */
    triggerFormChange() {
      if (this.queryType === ze.comp_to_mesh)
        switch (this.labelTarget = "MeSH biomedicals concepts", this.searchType) {
          case ve.pubchem_id:
          default:
            this.labelSource = "PubChem CID";
            break;
          case ve.chebi_id:
            this.labelSource = "ChEBI ID";
            break;
          case ve.chemont_id:
            this.labelSource = "ChemOnt ID";
            break;
        }
      else if (this.queryType === ze.mesh_to_comp)
        switch (this.labelSource = "MeSH biomedical concept", this.searchType) {
          case ve.pubchem_id:
          default:
            this.labelTarget = "PubChem CIDs";
            break;
          case ve.chebi_id:
            this.labelTarget = "ChEBI IDs";
            break;
          case ve.chemont_id:
            this.labelTarget = "ChemOnt CIDs";
            break;
        }
    },
    triggerSearchQueryUpdate(e) {
      this.searchQueryLoading && this.abortController.abort(), this.abortController = new AbortController();
      const t = { signal: this.abortController.signal };
      if (this.searchQueryItemText = e, this.searchQueryLoading = !1, this.searchQueryItems = [], this.searchQueryNoData = "enter at least 5 letters...", e && //
      e.length >= this.fuzzyMatchingKeywordMinLength) {
        this.searchQueryLoading = !0, this.searchQueryNoData = "loading...";
        const s = e.toLowerCase().replace(/\s/g, "");
        this.queryType === ze.comp_to_mesh && this.searchType === ve.pubchem_id ? this.pubchemAPI.pubchemFuzzyQueryGet(s, t).then((r) => {
          this.searchQueryLoading = !1, this.searchQueryNoData = "sorry, no matched results.", this.searchQueryItems = n(r.data, "CID");
        }).catch((r) => {
          console.error("pubchemFuzzyQueryGet::error ⇒", r);
        }) : this.queryType === ze.comp_to_mesh && this.searchType === ve.chebi_id ? this.chebiApi.chebiFuzzyQueryGet(s, t).then((r) => {
          this.searchQueryLoading = !1, this.searchQueryNoData = "sorry, no matched results.", this.searchQueryItems = n(r.data, "CHEBI");
        }).catch((r) => {
          console.error("chebiFuzzyQueryGet::error ⇒", r);
        }) : this.queryType === ze.comp_to_mesh && this.searchType === ve.chemont_id ? this.chemontApi.chemontFuzzyQueryGet(s, t).then((r) => {
          this.searchQueryLoading = !1, this.searchQueryNoData = "sorry, no matched results.", this.searchQueryItems = n(r.data, "CHEMONT");
        }).catch((r) => {
          console.error("chemontFuzzyQueryGet::error ⇒", r);
        }) : this.queryType === ze.mesh_to_comp ? this.meshApi.meshFuzzyQueryGet(s, t).then((r) => {
          this.searchQueryLoading = !1, this.searchQueryNoData = "sorry, no matched results.", this.searchQueryItems = n(r.data, "MESH");
        }).catch((r) => {
          console.error("meshFuzzyQueryGet::error ⇒", r);
        }) : console.error("INCONSISTENT FORM FINDER");
      }
      function n(s, r) {
        return s.sort(a).map(
          //
          (u) => new Tm(`${u.item[r]}`, `${u.item.name}`, u.score)
          //
        ).filter((u) => u.name.toLowerCase().includes(e.toLocaleLowerCase()));
      }
      function a(s, r) {
        return s.score < r.score ? -1 : s.score > r.score ? 1 : 0;
      }
    },
    triggerSearchMenu(e) {
      this.searchQueryItemsVisible = !1, e ? (this.searchQueryItemsVisible = !0, this.searchQueryItemText = this.searchQueryItemTextCache) : (this.searchQueryLoading = !1, this.searchQueryItemTextCache = this.searchQueryItemText, this.searchQueryItemText = "", this.launchQuery());
    }
  }
}), Ol = (e, t) => {
  const n = e.__vccOpts || e;
  for (const [a, s] of t)
    n[a] = s;
  return n;
}, Be = typeof window < "u", Tl = Be && "IntersectionObserver" in window;
function Yi(e, t, n) {
  Em(e, t), t.set(e, n);
}
function Em(e, t) {
  if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object");
}
function ji(e, t, n) {
  return e.set(Ou(e, t), n), n;
}
function qt(e, t) {
  return e.get(Ou(e, t));
}
function Ou(e, t, n) {
  if (typeof e == "function" ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
  throw new TypeError("Private element is not present on this object");
}
function Tu(e, t, n) {
  const a = t.length - 1;
  if (a < 0) return e === void 0 ? n : e;
  for (let s = 0; s < a; s++) {
    if (e == null)
      return n;
    e = e[t[s]];
  }
  return e == null || e[t[a]] === void 0 ? n : e[t[a]];
}
function gt(e, t) {
  if (e === t) return !0;
  if (e instanceof Date && t instanceof Date && e.getTime() !== t.getTime() || e !== Object(e) || t !== Object(t))
    return !1;
  const n = Object.keys(e);
  return n.length !== Object.keys(t).length ? !1 : n.every((a) => gt(e[a], t[a]));
}
function xa(e, t, n) {
  return e == null || !t || typeof t != "string" ? n : e[t] !== void 0 ? e[t] : (t = t.replace(/\[(\w+)\]/g, ".$1"), t = t.replace(/^\./, ""), Tu(e, t.split("."), n));
}
function ot(e, t, n) {
  if (t === !0) return e === void 0 ? n : e;
  if (t == null || typeof t == "boolean") return n;
  if (e !== Object(e)) {
    if (typeof t != "function") return n;
    const s = t(e, n);
    return typeof s > "u" ? n : s;
  }
  if (typeof t == "string") return xa(e, t, n);
  if (Array.isArray(t)) return Tu(e, t, n);
  if (typeof t != "function") return n;
  const a = t(e, n);
  return typeof a > "u" ? n : a;
}
function rs(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
  return Array.from({
    length: e
  }, (n, a) => t + a);
}
function te(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "px";
  if (e == null || e === "")
    return;
  const n = Number(e);
  return isNaN(n) ? String(e) : isFinite(n) ? `${n}${t}` : void 0;
}
function Gr(e) {
  return e !== null && typeof e == "object" && !Array.isArray(e);
}
function Wi(e) {
  let t;
  return e !== null && typeof e == "object" && ((t = Object.getPrototypeOf(e)) === Object.prototype || t === null);
}
function Vu(e) {
  if (e && "$el" in e) {
    const t = e.$el;
    return t?.nodeType === Node.TEXT_NODE ? t.nextElementSibling : t;
  }
  return e;
}
const Gi = 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
}), Qi = Object.freeze({
  enter: "Enter",
  tab: "Tab",
  delete: "Delete",
  esc: "Escape",
  space: "Space",
  up: "ArrowUp",
  down: "ArrowDown",
  left: "ArrowLeft",
  right: "ArrowRight",
  end: "End",
  home: "Home",
  del: "Delete",
  backspace: "Backspace",
  insert: "Insert",
  pageup: "PageUp",
  pagedown: "PageDown",
  shift: "Shift"
});
function _r(e, t) {
  return t.every((n) => e.hasOwnProperty(n));
}
function js(e, t) {
  const n = {};
  for (const a of t)
    Object.prototype.hasOwnProperty.call(e, a) && (n[a] = e[a]);
  return n;
}
function qi(e, t, n) {
  const a = /* @__PURE__ */ Object.create(null), s = /* @__PURE__ */ Object.create(null);
  for (const r in e)
    t.some((l) => l instanceof RegExp ? l.test(r) : l === r) ? a[r] = e[r] : s[r] = e[r];
  return [a, s];
}
function kn(e, t) {
  const n = {
    ...e
  };
  return t.forEach((a) => delete n[a]), n;
}
const Eu = /^on[^a-z]/, Vl = (e) => Eu.test(e), Am = ["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 Ws(e) {
  const [t, n] = qi(e, [Eu]), a = kn(t, Am), [s, r] = qi(n, ["class", "style", "id", /^data-/]);
  return Object.assign(s, t), Object.assign(r, a), [s, r];
}
function Ke(e) {
  return e == null ? [] : Array.isArray(e) ? e : [e];
}
function Dm(e, t) {
  let n = 0;
  const a = function() {
    for (var s = arguments.length, r = new Array(s), l = 0; l < s; l++)
      r[l] = arguments[l];
    clearTimeout(n), n = setTimeout(() => e(...r), _t(t));
  };
  return a.clear = () => {
    clearTimeout(n);
  }, a.immediate = e, a;
}
function bt(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1;
  return Math.max(t, Math.min(n, e));
}
function Ki(e, t) {
  let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "0";
  return e + n.repeat(Math.max(0, t - e.length));
}
function Mm(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
  const n = [];
  let a = 0;
  for (; a < e.length; )
    n.push(e.substr(a, t)), a += t;
  return n;
}
function Xt() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = arguments.length > 2 ? arguments[2] : void 0;
  const a = {};
  for (const s in e)
    a[s] = e[s];
  for (const s in t) {
    const r = e[s], l = t[s];
    if (Wi(r) && Wi(l)) {
      a[s] = Xt(r, l, n);
      continue;
    }
    if (n && Array.isArray(r) && Array.isArray(l)) {
      a[s] = n(r, l);
      continue;
    }
    a[s] = l;
  }
  return a;
}
function Au(e) {
  return e.map((t) => t.type === pe ? Au(t.children) : t).flat();
}
function An() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
  if (An.cache.has(e)) return An.cache.get(e);
  const t = e.replace(/[^a-z]/gi, "-").replace(/\B([A-Z])/g, "-$1").toLowerCase();
  return An.cache.set(e, t), t;
}
An.cache = /* @__PURE__ */ new Map();
function wa(e, t) {
  if (!t || typeof t != "object") return [];
  if (Array.isArray(t))
    return t.map((n) => wa(e, n)).flat(1);
  if (t.suspense)
    return wa(e, t.ssContent);
  if (Array.isArray(t.children))
    return t.children.map((n) => wa(e, n)).flat(1);
  if (t.component) {
    if (Object.getOwnPropertySymbols(t.component.provides).includes(e))
      return [t.component];
    if (t.component.subTree)
      return wa(e, t.component.subTree).flat(1);
  }
  return [];
}
var Hn = /* @__PURE__ */ new WeakMap(), xn = /* @__PURE__ */ new WeakMap();
class Rm {
  constructor(t) {
    Yi(this, Hn, []), Yi(this, xn, 0), this.size = t;
  }
  get isFull() {
    return qt(Hn, this).length === this.size;
  }
  push(t) {
    qt(Hn, this)[qt(xn, this)] = t, ji(xn, this, (qt(xn, this) + 1) % this.size);
  }
  values() {
    return qt(Hn, this).slice(qt(xn, this)).concat(qt(Hn, this).slice(0, qt(xn, this)));
  }
  clear() {
    qt(Hn, this).length = 0, ji(xn, this, 0);
  }
}
function El(e) {
  const t = Zn({});
  Ot(() => {
    const a = e();
    for (const s in a)
      t[s] = a[s];
  }, {
    flush: "sync"
  });
  const n = {};
  for (const a in t)
    n[a] = E(() => t[a]);
  return n;
}
function _s(e, t) {
  return e.includes(t);
}
function Du(e) {
  return e[2].toLowerCase() + e.slice(3);
}
const Je = () => [Function, Array];
function Ji(e, t) {
  return t = "on" + aa(t), !!(e[t] || e[`${t}Once`] || e[`${t}Capture`] || e[`${t}OnceCapture`] || e[`${t}CaptureOnce`]);
}
function Mu(e) {
  for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++)
    n[a - 1] = arguments[a];
  if (Array.isArray(e))
    for (const s of e)
      s(...n);
  else typeof e == "function" && e(...n);
}
function Ia(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
  const n = ["button", "[href]", 'input:not([type="hidden"])', "select", "textarea", "[tabindex]"].map((a) => `${a}${t ? ':not([tabindex="-1"])' : ""}:not([disabled])`).join(", ");
  return [...e.querySelectorAll(n)];
}
function Ru(e, t, n) {
  let a, s = e.indexOf(document.activeElement);
  const r = t === "next" ? 1 : -1;
  do
    s += r, a = e[s];
  while ((!a || a.offsetParent == null || !(n?.(a) ?? !0)) && s < e.length && s >= 0);
  return a;
}
function Ca(e, t) {
  const n = Ia(e);
  if (t == null)
    (e === document.activeElement || !e.contains(document.activeElement)) && n[0]?.focus();
  else if (t === "first")
    n[0]?.focus();
  else if (t === "last")
    n.at(-1)?.focus();
  else if (typeof t == "number")
    n[t]?.focus();
  else {
    const a = Ru(n, t);
    a ? a.focus() : Ca(e, t === "next" ? "first" : "last");
  }
}
function ls(e) {
  return e == null || typeof e == "string" && e.trim() === "";
}
function Fm() {
}
function ea(e, t) {
  if (!(Be && typeof CSS < "u" && typeof CSS.supports < "u" && CSS.supports(`selector(${t})`))) return null;
  try {
    return !!e && e.matches(t);
  } catch {
    return null;
  }
}
function Al(e) {
  return e.some((t) => Af(t) ? t.type === Df ? !1 : t.type !== pe || Al(t.children) : !0) ? e : null;
}
function Lm(e, t) {
  if (!Be || e === 0)
    return t(), () => {
    };
  const n = window.setTimeout(t, e);
  return () => window.clearTimeout(n);
}
function Nm(e, t) {
  const n = e.clientX, a = e.clientY, s = t.getBoundingClientRect(), r = s.left, l = s.top, i = s.right, o = s.bottom;
  return n >= r && n <= i && a >= l && a <= o;
}
function Qr() {
  const e = ne(), t = (n) => {
    e.value = n;
  };
  return Object.defineProperty(t, "value", {
    enumerable: !0,
    get: () => e.value,
    set: (n) => e.value = n
  }), Object.defineProperty(t, "el", {
    enumerable: !0,
    get: () => Vu(e.value)
  }), t;
}
function ks(e) {
  const t = e.key.length === 1, n = !e.ctrlKey && !e.metaKey && !e.altKey;
  return t && n;
}
function Fu(e) {
  return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || typeof e == "bigint";
}
function Ue(e, t) {
  const n = Mf();
  if (!n)
    throw new Error(`[Vuetify] ${e} must be called from inside a setup function`);
  return n;
}
function jt() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "composables";
  const t = Ue(e).type;
  return An(t?.aliasName || t?.name);
}
function Bm(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Ue("injectSelf");
  const {
    provides: n
  } = t;
  if (n && e in n)
    return n[e];
}
const Cs = Symbol.for("vuetify:defaults");
function Dl() {
  const e = De(Cs);
  if (!e) throw new Error("[Vuetify] Could not find defaults instance");
  return e;
}
function zt(e, t) {
  const n = Dl(), a = R(e), s = _(() => {
    if (_t(t?.disabled)) return n.value;
    const l = _t(t?.scoped), i = _t(t?.reset), o = _t(t?.root);
    if (a.value == null && !(l || i || o)) return n.value;
    let u = Xt(a.value, {
      prev: n.value
    });
    if (l) return u;
    if (i || o) {
      const c = Number(i || 1 / 0);
      for (let d = 0; d <= c && !(!u || !("prev" in u)); d++)
        u = u.prev;
      return u && typeof o == "string" && o in u && (u = Xt(Xt(u, {
        prev: u
      }), u[o])), u;
    }
    return u.prev ? Xt(u.prev, u) : u;
  });
  return We(Cs, s), s;
}
function $m(e, t) {
  return e.props && (typeof e.props[t] < "u" || typeof e.props[An(t)] < "u");
}
function Um() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 ? arguments[1] : void 0, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Dl();
  const a = Ue("useDefaults");
  if (t = t ?? a.type.name ?? a.type.__name, !t)
    throw new Error("[Vuetify] Could not determine component name");
  const s = _(() => n.value?.[e._as ?? t]), r = new Proxy(e, {
    get(o, u) {
      const c = Reflect.get(o, u);
      if (u === "class" || u === "style")
        return [s.value?.[u], c].filter((v) => v != null);
      if ($m(a.vnode, u)) return c;
      const d = s.value?.[u];
      if (d !== void 0) return d;
      const h = n.value?.global?.[u];
      return h !== void 0 ? h : c;
    }
  }), l = ne();
  Ot(() => {
    if (s.value) {
      const o = Object.entries(s.value).filter((u) => {
        let [c] = u;
        return c.startsWith(c[0].toUpperCase());
      });
      l.value = o.length ? Object.fromEntries(o) : void 0;
    } else
      l.value = void 0;
  });
  function i() {
    const o = Bm(Cs, a);
    We(Cs, _(() => l.value ? Xt(o?.value ?? {}, l.value) : o?.value));
  }
  return {
    props: r,
    provideSubDefaults: i
  };
}
const Lu = ["top", "bottom"], zm = ["start", "end", "left", "right"];
function qr(e, t) {
  let [n, a] = e.split(" ");
  return a || (a = _s(Lu, n) ? "start" : _s(zm, n) ? "top" : "center"), {
    side: Zi(n, t),
    align: Zi(a, t)
  };
}
function Zi(e, t) {
  return e === "start" ? t ? "right" : "left" : e === "end" ? t ? "left" : "right" : e;
}
function kr(e) {
  return {
    side: {
      center: "center",
      top: "bottom",
      bottom: "top",
      left: "right",
      right: "left"
    }[e.side],
    align: e.align
  };
}
function Cr(e) {
  return {
    side: e.side,
    align: {
      center: "center",
      top: "bottom",
      bottom: "top",
      left: "right",
      right: "left"
    }[e.align]
  };
}
function Xi(e) {
  return {
    side: e.align,
    align: e.side
  };
}
function eo(e) {
  return _s(Lu, e.side) ? "y" : "x";
}
class Bt {
  constructor(t) {
    let {
      x: n,
      y: a,
      width: s,
      height: r
    } = t;
    this.x = n, this.y = a, this.width = s, this.height = r;
  }
  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 to(e, t) {
  return {
    x: {
      before: Math.max(0, t.left - e.left),
      after: Math.max(0, e.right - t.right)
    },
    y: {
      before: Math.max(0, t.top - e.top),
      after: Math.max(0, e.bottom - t.bottom)
    }
  };
}
function Nu(e) {
  return Array.isArray(e) ? new Bt({
    x: e[0],
    y: e[1],
    width: 0,
    height: 0
  }) : e.getBoundingClientRect();
}
function Hm(e) {
  if (e === document.documentElement)
    return visualViewport ? new Bt({
      x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,
      y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,
      width: visualViewport.width * visualViewport.scale,
      height: visualViewport.height * visualViewport.scale
    }) : new Bt({
      x: 0,
      y: 0,
      width: document.documentElement.clientWidth,
      height: document.documentElement.clientHeight
    });
  {
    const t = e.getBoundingClientRect();
    return new Bt({
      x: t.x,
      y: t.y,
      width: e.clientWidth,
      height: e.clientHeight
    });
  }
}
function Ml(e) {
  const t = e.getBoundingClientRect(), n = getComputedStyle(e), a = n.transform;
  if (a) {
    let s, r, l, i, o;
    if (a.startsWith("matrix3d("))
      s = a.slice(9, -1).split(/, /), r = Number(s[0]), l = Number(s[5]), i = Number(s[12]), o = Number(s[13]);
    else if (a.startsWith("matrix("))
      s = a.slice(7, -1).split(/, /), r = Number(s[0]), l = Number(s[3]), i = Number(s[4]), o = Number(s[5]);
    else
      return new Bt(t);
    const u = n.transformOrigin, c = t.x - i - (1 - r) * parseFloat(u), d = t.y - o - (1 - l) * parseFloat(u.slice(u.indexOf(" ") + 1)), h = r ? t.width / r : e.offsetWidth + 1, v = l ? t.height / l : e.offsetHeight + 1;
    return new Bt({
      x: c,
      y: d,
      width: h,
      height: v
    });
  } else
    return new Bt(t);
}
function Gn(e, t, n) {
  if (typeof e.animate > "u") return {
    finished: Promise.resolve()
  };
  let a;
  try {
    a = e.animate(t, n);
  } catch {
    return {
      finished: Promise.resolve()
    };
  }
  return typeof a.finished > "u" && (a.finished = new Promise((s) => {
    a.onfinish = () => {
      s(a);
    };
  })), a;
}
const ys = /* @__PURE__ */ new WeakMap();
function Ym(e, t) {
  Object.keys(t).forEach((n) => {
    if (Vl(n)) {
      const a = Du(n), s = ys.get(e);
      if (t[n] == null)
        s?.forEach((r) => {
          const [l, i] = r;
          l === a && (e.removeEventListener(a, i), s.delete(r));
        });
      else if (!s || ![...s].some((r) => r[0] === a && r[1] === t[n])) {
        e.addEventListener(a, t[n]);
        const r = s || /* @__PURE__ */ new Set();
        r.add([a, t[n]]), ys.has(e) || ys.set(e, r);
      }
    } else
      t[n] == null ? e.removeAttribute(n) : e.setAttribute(n, t[n]);
  });
}
function jm(e, t) {
  Object.keys(t).forEach((n) => {
    if (Vl(n)) {
      const a = Du(n), s = ys.get(e);
      s?.forEach((r) => {
        const [l, i] = r;
        l === a && (e.removeEventListener(a, i), s.delete(r));
      });
    } else
      e.removeAttribute(n);
  });
}
const Yn = 2.4, no = 0.2126729, ao = 0.7151522, so = 0.072175, Wm = 0.55, Gm = 0.58, Qm = 0.57, qm = 0.62, is = 0.03, ro = 1.45, Km = 5e-4, Jm = 1.25, Zm = 1.25, Xm = 0.078, lo = 12.82051282051282, os = 0.06, ev = 1e-3;
function io(e, t) {
  const n = (e.r / 255) ** Yn, a = (e.g / 255) ** Yn, s = (e.b / 255) ** Yn, r = (t.r / 255) ** Yn, l = (t.g / 255) ** Yn, i = (t.b / 255) ** Yn;
  let o = n * no + a * ao + s * so, u = r * no + l * ao + i * so;
  if (o <= is && (o += (is - o) ** ro), u <= is && (u += (is - u) ** ro), Math.abs(u - o) < Km) return 0;
  let c;
  if (u > o) {
    const d = (u ** Wm - o ** Gm) * Jm;
    c = d < ev ? 0 : d < Xm ? d - d * lo * os : d - os;
  } else {
    const d = (u ** qm - o ** Qm) * Zm;
    c = d > -1e-3 ? 0 : d > -0.078 ? d - d * lo * os : d + os;
  }
  return c * 100;
}
function Sn(e) {
  Ns(`Vuetify: ${e}`);
}
function Rl(e) {
  Ns(`Vuetify error: ${e}`);
}
function tv(e, t) {
  t = Array.isArray(t) ? t.slice(0, -1).map((n) => `'${n}'`).join(", ") + ` or '${t.at(-1)}'` : `'${t}'`, Ns(`[Vuetify UPGRADE] '${e}' is deprecated, use ${t} instead.`);
}
function Kr(e) {
  return !!e && /^(#|var\(--|(rgb|hsl)a?\()/.test(e);
}
function nv(e) {
  return Kr(e) && !/^((rgb|hsl)a?\()?var\(--/.test(e);
}
const oo = /^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/, av = {
  rgb: (e, t, n, a) => ({
    r: e,
    g: t,
    b: n,
    a
  }),
  rgba: (e, t, n, a) => ({
    r: e,
    g: t,
    b: n,
    a
  }),
  hsl: (e, t, n, a) => uo({
    h: e,
    s: t,
    l: n,
    a
  }),
  hsla: (e, t, n, a) => uo({
    h: e,
    s: t,
    l: n,
    a
  }),
  hsv: (e, t, n, a) => Oa({
    h: e,
    s: t,
    v: n,
    a
  }),
  hsva: (e, t, n, a) => Oa({
    h: e,
    s: t,
    v: n,
    a
  })
};
function _a(e) {
  if (typeof e == "number")
    return (isNaN(e) || e < 0 || e > 16777215) && Sn(`'${e}' is not a valid hex color`), {
      r: (e & 16711680) >> 16,
      g: (e & 65280) >> 8,
      b: e & 255
    };
  if (typeof e == "string" && oo.test(e)) {
    const {
      groups: t
    } = e.match(oo), {
      fn: n,
      values: a
    } = t, s = a.split(/,\s*|\s*\/\s*|\s+/).map((r, l) => r.endsWith("%") || // unitless slv are %
    l > 0 && l < 3 && ["hsl", "hsla", "hsv", "hsva"].includes(n) ? parseFloat(r) / 100 : parseFloat(r));
    return av[n](...s);
  } else if (typeof e == "string") {
    let t = e.startsWith("#") ? e.slice(1) : e;
    [3, 4].includes(t.length) ? t = t.split("").map((a) => a + a).join("") : [6, 8].includes(t.length) || Sn(`'${e}' is not a valid hex(a) color`);
    const n = parseInt(t, 16);
    return (isNaN(n) || n < 0 || n > 4294967295) && Sn(`'${e}' is not a valid hex(a) color`), sv(t);
  } else if (typeof e == "object") {
    if (_r(e, ["r", "g", "b"]))
      return e;
    if (_r(e, ["h", "s", "l"]))
      return Oa(Bu(e));
    if (_r(e, ["h", "s", "v"]))
      return Oa(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 Oa(e) {
  const {
    h: t,
    s: n,
    v: a,
    a: s
  } = e, r = (i) => {
    const o = (i + t / 60) % 6;
    return a - a * n * Math.max(Math.min(o, 4 - o, 1), 0);
  }, l = [r(5), r(3), r(1)].map((i) => Math.round(i * 255));
  return {
    r: l[0],
    g: l[1],
    b: l[2],
    a: s
  };
}
function uo(e) {
  return Oa(Bu(e));
}
function Bu(e) {
  const {
    h: t,
    s: n,
    l: a,
    a: s
  } = e, r = a + n * Math.min(a, 1 - a), l = r === 0 ? 0 : 2 - 2 * a / r;
  return {
    h: t,
    s: l,
    v: r,
    a: s
  };
}
function sv(e) {
  e = rv(e);
  let [t, n, a, s] = Mm(e, 2).map((r) => parseInt(r, 16));
  return s = s === void 0 ? s : s / 255, {
    r: t,
    g: n,
    b: a,
    a: s
  };
}
function rv(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((t) => t + t).join("")), e.length !== 6 && (e = Ki(Ki(e, 6), 8, "F")), e;
}
function lv(e) {
  const t = Math.abs(io(_a(0), _a(e)));
  return Math.abs(io(_a(16777215), _a(e))) > Math.min(t, 50) ? "#fff" : "#000";
}
function M(e, t) {
  return (n) => Object.keys(e).reduce((a, s) => {
    const l = typeof e[s] == "object" && e[s] != null && !Array.isArray(e[s]) ? e[s] : {
      type: e[s]
    };
    return n && s in n ? a[s] = {
      ...l,
      default: n[s]
    } : a[s] = l, t && !a[s].source && (a[s].source = t), a;
  }, {});
}
const de = M({
  class: [String, Array, Object],
  style: {
    type: [String, Array, Object],
    default: null
  }
}, "component");
function ja(e) {
  if (e._setup = e._setup ?? e.setup, !e.name)
    return Sn("The component is missing an explicit name, unable to generate default prop value"), e;
  if (e._setup) {
    e.props = M(e.props ?? {}, e.name)();
    const t = Object.keys(e.props).filter((n) => n !== "class" && n !== "style");
    e.filterProps = function(a) {
      return js(a, t);
    }, e.props._as = String, e.setup = function(a, s) {
      const r = Dl();
      if (!r.value) return e._setup(a, s);
      const {
        props: l,
        provideSubDefaults: i
      } = Um(a, a._as ?? e.name, r), o = e._setup(l, s);
      return i(), o;
    };
  }
  return e;
}
function Q() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0;
  return (t) => (e ? ja : Ls)(t);
}
function iv(e, t) {
  return t.props = e, t;
}
function $u(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "div", n = arguments.length > 2 ? arguments[2] : void 0;
  return Q()({
    name: n ?? aa(Zo(e.replace(/__/g, "-"))),
    props: {
      tag: {
        type: String,
        default: t
      },
      ...de()
    },
    setup(a, s) {
      let {
        slots: r
      } = s;
      return () => sa(a.tag, {
        class: [e, a.class],
        style: a.style
      }, r.default?.());
    }
  });
}
function Uu(e) {
  if (typeof e.getRootNode != "function") {
    for (; e.parentNode; ) e = e.parentNode;
    return e !== document ? null : document;
  }
  const t = e.getRootNode();
  return t !== document && t.getRootNode({
    composed: !0
  }) !== document ? null : t;
}
const Ps = "cubic-bezier(0.4, 0, 0.2, 1)", ov = "cubic-bezier(0.0, 0, 0.2, 1)", uv = "cubic-bezier(0.4, 0, 1, 1)";
function co(e, t, n) {
  return Object.keys(e).filter((a) => Vl(a) && a.endsWith(t)).reduce((a, s) => (a[s.slice(0, -t.length)] = (r) => e[s](r, n(r)), a), {});
}
function zu(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
  for (; e; ) {
    if (t ? cv(e) : Fl(e)) return e;
    e = e.parentElement;
  }
  return document.scrollingElement;
}
function xs(e, t) {
  const n = [];
  if (t && e && !t.contains(e)) return n;
  for (; e && (Fl(e) && n.push(e), e !== t); )
    e = e.parentElement;
  return n;
}
function Fl(e) {
  if (!e || e.nodeType !== Node.ELEMENT_NODE) return !1;
  const t = window.getComputedStyle(e);
  return t.overflowY === "scroll" || t.overflowY === "auto" && e.scrollHeight > e.clientHeight;
}
function cv(e) {
  if (!e || e.nodeType !== Node.ELEMENT_NODE) return !1;
  const t = window.getComputedStyle(e);
  return ["scroll", "auto"].includes(t.overflowY);
}
function dv(e) {
  for (; e; ) {
    if (window.getComputedStyle(e).position === "fixed")
      return !0;
    e = e.offsetParent;
  }
  return !1;
}
function ee(e) {
  const t = Ue("useRender");
  t.render = e;
}
const fv = M({
  defaults: Object,
  disabled: Boolean,
  reset: [Number, String],
  root: [Boolean, String],
  scoped: Boolean
}, "VDefaultsProvider"), Ne = Q(!1)({
  name: "VDefaultsProvider",
  props: fv(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      defaults: a,
      disabled: s,
      reset: r,
      root: l,
      scoped: i
    } = Xo(e);
    return zt(a, {
      reset: r,
      root: l,
      scoped: i,
      disabled: s
    }), () => n.default?.();
  }
});
function Ll(e) {
  return El(() => {
    const t = sn(e), n = [], a = {};
    if (t.background)
      if (Kr(t.background)) {
        if (a.backgroundColor = t.background, !t.text && nv(t.background)) {
          const s = _a(t.background);
          if (s.a == null || s.a === 1) {
            const r = lv(s);
            a.color = r, a.caretColor = r;
          }
        }
      } else
        n.push(`bg-${t.background}`);
    return t.text && (Kr(t.text) ? (a.color = t.text, a.caretColor = t.text) : n.push(`text-${t.text}`)), {
      colorClasses: n,
      colorStyles: a
    };
  });
}
function Ht(e) {
  const {
    colorClasses: t,
    colorStyles: n
  } = Ll(() => ({
    text: sn(e)
  }));
  return {
    textColorClasses: t,
    textColorStyles: n
  };
}
function $t(e) {
  const {
    colorClasses: t,
    colorStyles: n
  } = Ll(() => ({
    background: sn(e)
  }));
  return {
    backgroundColorClasses: t,
    backgroundColorStyles: n
  };
}
const ue = [String, Function, Object, Array], hv = Symbol.for("vuetify:icons"), Gs = M({
  icon: {
    type: ue
  },
  // Could not remove this and use makeTagProps, types complained because it is not required
  tag: {
    type: [String, Object, Function],
    required: !0
  }
}, "icon"), fo = Q()({
  name: "VComponentIcon",
  props: Gs(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    return () => {
      const a = e.icon;
      return g(e.tag, null, {
        default: () => [e.icon ? g(a, null, null) : n.default?.()]
      });
    };
  }
}), mv = ja({
  name: "VSvgIcon",
  inheritAttrs: !1,
  props: Gs(),
  setup(e, t) {
    let {
      attrs: n
    } = t;
    return () => g(e.tag, j(n, {
      style: null
    }), {
      default: () => [p("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((a) => Array.isArray(a) ? p("path", {
        d: a[0],
        "fill-opacity": a[1]
      }, null) : p("path", {
        d: a
      }, null)) : p("path", {
        d: e.icon
      }, null)])]
    });
  }
});
ja({
  name: "VLigatureIcon",
  props: Gs(),
  setup(e) {
    return () => g(e.tag, null, {
      default: () => [e.icon]
    });
  }
});
ja({
  name: "VClassIcon",
  props: Gs(),
  setup(e) {
    return () => g(e.tag, {
      class: K(e.icon)
    }, null);
  }
});
const vv = (e) => {
  const t = De(hv);
  if (!t) throw new Error("Missing Vuetify Icons provide!");
  return {
    iconData: _(() => {
      const a = sn(e);
      if (!a) return {
        component: fo
      };
      let s = a;
      if (typeof s == "string" && (s = s.trim(), s.startsWith("$") && (s = t.aliases?.[s.slice(1)])), s || Sn(`Could not find aliased icon "${a}"`), Array.isArray(s))
        return {
          component: mv,
          icon: s
        };
      if (typeof s != "string")
        return {
          component: fo,
          icon: s
        };
      const r = Object.keys(t.sets).find((o) => typeof s == "string" && s.startsWith(`${o}:`)), l = r ? s.slice(r.length + 1) : s;
      return {
        component: t.sets[r ?? t.defaultSet].component,
        icon: l
      };
    })
  };
}, yv = ["x-small", "small", "default", "large", "x-large"], ia = M({
  size: {
    type: [String, Number],
    default: "default"
  }
}, "size");
function Wa(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
  return El(() => {
    const n = e.size;
    let a, s;
    return _s(yv, n) ? a = `${t}--size-${n}` : n && (s = {
      width: te(n),
      height: te(n)
    }), {
      sizeClasses: a,
      sizeStyles: s
    };
  });
}
const Le = M({
  tag: {
    type: [String, Object, Function],
    default: "div"
  }
}, "tag"), Jr = Symbol.for("vuetify:theme"), Ye = M({
  theme: String
}, "theme");
function Ze(e) {
  Ue("provideTheme");
  const t = De(Jr, null);
  if (!t) throw new Error("Could not find Vuetify theme injection");
  const n = E(() => e.theme ?? t.name.value), a = E(() => t.themes.value[n.value]), s = E(() => t.isDisabled ? void 0 : `v-theme--${n.value}`), r = {
    ...t,
    name: n,
    current: a,
    themeClasses: s
  };
  return We(Jr, r), r;
}
function gv() {
  Ue("useTheme");
  const e = De(Jr, null);
  if (!e) throw new Error("Could not find Vuetify theme injection");
  return e;
}
const bv = M({
  color: String,
  disabled: Boolean,
  start: Boolean,
  end: Boolean,
  icon: ue,
  opacity: [String, Number],
  ...de(),
  ...ia(),
  ...Le({
    tag: "i"
  }),
  ...Ye()
}, "VIcon"), Ve = Q()({
  name: "VIcon",
  props: bv(),
  setup(e, t) {
    let {
      attrs: n,
      slots: a
    } = t;
    const s = ne(), {
      themeClasses: r
    } = gv(), {
      iconData: l
    } = vv(() => s.value || e.icon), {
      sizeClasses: i
    } = Wa(e), {
      textColorClasses: o,
      textColorStyles: u
    } = Ht(() => e.color);
    return ee(() => {
      const c = a.default?.();
      c && (s.value = Au(c).filter((h) => h.type === Rf && h.children && typeof h.children == "string")[0]?.children);
      const d = !!(n.onClick || n.onClickOnce);
      return g(l.value.component, {
        tag: e.tag,
        icon: l.value.icon,
        class: K(["v-icon", "notranslate", r.value, i.value, o.value, {
          "v-icon--clickable": d,
          "v-icon--disabled": e.disabled,
          "v-icon--start": e.start,
          "v-icon--end": e.end
        }, e.class]),
        style: Z([{
          "--v-icon-opacity": e.opacity
        }, i.value ? void 0 : {
          fontSize: te(e.size),
          height: te(e.size),
          width: te(e.size)
        }, u.value, e.style]),
        role: d ? "button" : void 0,
        "aria-hidden": !d,
        tabindex: d ? e.disabled ? -1 : 0 : void 0
      }, {
        default: () => [c]
      });
    }), {};
  }
}), un = M({
  height: [Number, String],
  maxHeight: [Number, String],
  maxWidth: [Number, String],
  minHeight: [Number, String],
  minWidth: [Number, String],
  width: [Number, String]
}, "dimension");
function cn(e) {
  return {
    dimensionStyles: _(() => {
      const n = {}, a = te(e.height), s = te(e.maxHeight), r = te(e.maxWidth), l = te(e.minHeight), i = te(e.minWidth), o = te(e.width);
      return a != null && (n.height = a), s != null && (n.maxHeight = s), r != null && (n.maxWidth = r), l != null && (n.minHeight = l), i != null && (n.minWidth = i), o != null && (n.width = o), n;
    })
  };
}
function pv(e) {
  return {
    aspectStyles: _(() => {
      const t = Number(e.aspectRatio);
      return t ? {
        paddingBottom: String(1 / t * 100) + "%"
      } : void 0;
    })
  };
}
const Hu = M({
  aspectRatio: [String, Number],
  contentClass: null,
  inline: Boolean,
  ...de(),
  ...un()
}, "VResponsive"), ho = Q()({
  name: "VResponsive",
  props: Hu(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      aspectStyles: a
    } = pv(e), {
      dimensionStyles: s
    } = cn(e);
    return ee(() => p("div", {
      class: K(["v-responsive", {
        "v-responsive--inline": e.inline
      }, e.class]),
      style: Z([s.value, e.style])
    }, [p("div", {
      class: "v-responsive__sizer",
      style: Z(a.value)
    }, null), n.additional?.(), n.default && p("div", {
      class: K(["v-responsive__content", e.contentClass])
    }, [n.default()])])), {};
  }
}), kt = M({
  rounded: {
    type: [Boolean, Number, String],
    default: void 0
  },
  tile: Boolean
}, "rounded");
function Dt(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
  return {
    roundedClasses: _(() => {
      const a = $r(e) ? e.value : e.rounded, s = $r(e) ? e.value : e.tile, r = [];
      if (a === !0 || a === "")
        r.push(`${t}--rounded`);
      else if (typeof a == "string" || a === 0)
        for (const l of String(a).split(" "))
          r.push(`rounded-${l}`);
      else (s || a === !1) && r.push("rounded-0");
      return r;
    })
  };
}
const oa = M({
  transition: {
    type: null,
    default: "fade-transition",
    validator: (e) => e !== !0
  }
}, "transition"), gn = (e, t) => {
  let {
    slots: n
  } = t;
  const {
    transition: a,
    disabled: s,
    group: r,
    ...l
  } = e, {
    component: i = r ? Sl : Mn,
    ...o
  } = Gr(a) ? a : {};
  let u;
  return Gr(a) ? u = j(o, JSON.parse(JSON.stringify({
    disabled: s,
    group: r
  })), l) : u = j({
    name: s || !a ? "" : a
  }, l), sa(i, u, n);
};
function Sv(e, t) {
  if (!Tl) return;
  const n = t.modifiers || {}, a = t.value, {
    handler: s,
    options: r
  } = typeof a == "object" ? a : {
    handler: a,
    options: {}
  }, l = new IntersectionObserver(function() {
    let i = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], o = arguments.length > 1 ? arguments[1] : void 0;
    const u = e._observe?.[t.instance.$.uid];
    if (!u) return;
    const c = i.some((d) => d.isIntersecting);
    s && (!n.quiet || u.init) && (!n.once || c || u.init) && s(c, i, o), c && n.once ? Yu(e, t) : u.init = !0;
  }, r);
  e._observe = Object(e._observe), e._observe[t.instance.$.uid] = {
    init: !1,
    observer: l
  }, l.observe(e);
}
function Yu(e, t) {
  const n = e._observe?.[t.instance.$.uid];
  n && (n.observer.unobserve(e), delete e._observe[t.instance.$.uid]);
}
const Is = {
  mounted: Sv,
  unmounted: Yu
}, wv = M({
  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,
  ...Hu(),
  ...de(),
  ...kt(),
  ...oa()
}, "VImg"), Nl = Q()({
  name: "VImg",
  directives: {
    vIntersect: Is
  },
  props: wv(),
  emits: {
    loadstart: (e) => !0,
    load: (e) => !0,
    error: (e) => !0
  },
  setup(e, t) {
    let {
      emit: n,
      slots: a
    } = t;
    const {
      backgroundColorClasses: s,
      backgroundColorStyles: r
    } = $t(() => e.color), {
      roundedClasses: l
    } = Dt(e), i = Ue("VImg"), o = ne(""), u = R(), c = ne(e.eager ? "loading" : "idle"), d = ne(), h = ne(), v = _(() => 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)
    }), f = _(() => v.value.aspect || d.value / h.value || 0);
    re(() => e.src, () => {
      y(c.value !== "idle");
    }), re(f, (B, A) => {
      !B && A && u.value && I(u.value);
    }), Bs(() => y());
    function y(B) {
      if (!(e.eager && B) && !(Tl && !B && !e.eager)) {
        if (c.value = "loading", v.value.lazySrc) {
          const A = new Image();
          A.src = v.value.lazySrc, I(A, null);
        }
        v.value.src && Ge(() => {
          n("loadstart", u.value?.currentSrc || v.value.src), setTimeout(() => {
            if (!i.isUnmounted)
              if (u.value?.complete) {
                if (u.value.naturalWidth || b(), c.value === "error") return;
                f.value || I(u.value, null), c.value === "loading" && m();
              } else
                f.value || I(u.value), S();
          });
        });
      }
    }
    function m() {
      i.isUnmounted || (S(), I(u.value), c.value = "loaded", n("load", u.value?.currentSrc || v.value.src));
    }
    function b() {
      i.isUnmounted || (c.value = "error", n("error", u.value?.currentSrc || v.value.src));
    }
    function S() {
      const B = u.value;
      B && (o.value = B.currentSrc || B.src);
    }
    let P = -1;
    Et(() => {
      clearTimeout(P);
    });
    function I(B) {
      let A = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 100;
      const U = () => {
        if (clearTimeout(P), i.isUnmounted) return;
        const {
          naturalHeight: Y,
          naturalWidth: G
        } = B;
        Y || G ? (d.value = G, h.value = Y) : !B.complete && c.value === "loading" && A != null ? P = window.setTimeout(U, A) : (B.currentSrc.endsWith(".svg") || B.currentSrc.startsWith("data:image/svg+xml")) && (d.value = 1, h.value = 1);
      };
      U();
    }
    const k = E(() => ({
      "v-img__img--cover": e.cover,
      "v-img__img--contain": !e.cover
    })), D = () => {
      if (!v.value.src || c.value === "idle") return null;
      const B = p("img", {
        class: K(["v-img__img", k.value]),
        style: Z({
          objectPosition: e.position
        }),
        crossorigin: e.crossorigin,
        src: v.value.src,
        srcset: v.value.srcset,
        alt: e.alt,
        referrerpolicy: e.referrerpolicy,
        draggable: e.draggable,
        sizes: e.sizes,
        ref: u,
        onLoad: m,
        onError: b
      }, null), A = a.sources?.();
      return g(gn, {
        transition: e.transition,
        appear: !0
      }, {
        default: () => [ht(A ? p("picture", {
          class: "v-img__picture"
        }, [A, B]) : B, [[Bn, c.value === "loaded"]])]
      });
    }, V = () => g(gn, {
      transition: e.transition
    }, {
      default: () => [v.value.lazySrc && c.value !== "loaded" && p("img", {
        class: K(["v-img__img", "v-img__img--preload", k.value]),
        style: Z({
          objectPosition: e.position
        }),
        crossorigin: e.crossorigin,
        src: v.value.lazySrc,
        alt: e.alt,
        referrerpolicy: e.referrerpolicy,
        draggable: e.draggable
      }, null)]
    }), w = () => a.placeholder ? g(gn, {
      transition: e.transition,
      appear: !0
    }, {
      default: () => [(c.value === "loading" || c.value === "error" && !a.error) && p("div", {
        class: "v-img__placeholder"
      }, [a.placeholder()])]
    }) : null, T = () => a.error ? g(gn, {
      transition: e.transition,
      appear: !0
    }, {
      default: () => [c.value === "error" && p("div", {
        class: "v-img__error"
      }, [a.error()])]
    }) : null, N = () => e.gradient ? p("div", {
      class: "v-img__gradient",
      style: Z({
        backgroundImage: `linear-gradient(${e.gradient})`
      })
    }, null) : null, $ = ne(!1);
    {
      const B = re(f, (A) => {
        A && (requestAnimationFrame(() => {
          requestAnimationFrame(() => {
            $.value = !0;
          });
        }), B());
      });
    }
    return ee(() => {
      const B = ho.filterProps(e);
      return ht(g(ho, j({
        class: ["v-img", {
          "v-img--absolute": e.absolute,
          "v-img--booting": !$.value
        }, s.value, l.value, e.class],
        style: [{
          width: te(e.width === "auto" ? d.value : e.width)
        }, r.value, e.style]
      }, B, {
        aspectRatio: f.value,
        "aria-label": e.alt,
        role: e.alt ? "img" : void 0
      }), {
        additional: () => p(pe, null, [g(D, null, null), g(V, null, null), g(N, null, null), g(w, null, null), g(T, null, null)]),
        default: a.default
      }), [[Is, {
        handler: y,
        options: e.options
      }, null, {
        once: !0
      }]]);
    }), {
      currentSrc: o,
      image: u,
      state: c,
      naturalWidth: d,
      naturalHeight: h
    };
  }
}), dn = M({
  border: [Boolean, Number, String]
}, "border");
function Cn(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
  return {
    borderClasses: _(() => {
      const a = e.border;
      return a === !0 || a === "" ? `${t}--border` : typeof a == "string" || a === 0 ? String(a).split(" ").map((s) => `border-${s}`) : [];
    })
  };
}
const _v = [null, "default", "comfortable", "compact"], Ct = M({
  density: {
    type: String,
    default: "default",
    validator: (e) => _v.includes(e)
  }
}, "density");
function Wt(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
  return {
    densityClasses: E(() => `${t}--density-${e.density}`)
  };
}
const kv = ["elevated", "flat", "tonal", "outlined", "text", "plain"];
function Ga(e, t) {
  return p(pe, null, [e && p("span", {
    key: "overlay",
    class: K(`${t}__overlay`)
  }, null), p("span", {
    key: "underlay",
    class: K(`${t}__underlay`)
  }, null)]);
}
const fn = M({
  color: String,
  variant: {
    type: String,
    default: "elevated",
    validator: (e) => kv.includes(e)
  }
}, "variant");
function Qa(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
  const n = E(() => {
    const {
      variant: r
    } = sn(e);
    return `${t}--variant-${r}`;
  }), {
    colorClasses: a,
    colorStyles: s
  } = Ll(() => {
    const {
      variant: r,
      color: l
    } = sn(e);
    return {
      [["elevated", "flat"].includes(r) ? "background" : "text"]: l
    };
  });
  return {
    colorClasses: a,
    colorStyles: s,
    variantClasses: n
  };
}
const Cv = M({
  start: Boolean,
  end: Boolean,
  icon: ue,
  image: String,
  text: String,
  ...dn(),
  ...de(),
  ...Ct(),
  ...kt(),
  ...ia(),
  ...Le(),
  ...Ye(),
  ...fn({
    variant: "flat"
  })
}, "VAvatar"), _n = Q()({
  name: "VAvatar",
  props: Cv(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      themeClasses: a
    } = Ze(e), {
      borderClasses: s
    } = Cn(e), {
      colorClasses: r,
      colorStyles: l,
      variantClasses: i
    } = Qa(e), {
      densityClasses: o
    } = Wt(e), {
      roundedClasses: u
    } = Dt(e), {
      sizeClasses: c,
      sizeStyles: d
    } = Wa(e);
    return ee(() => g(e.tag, {
      class: K(["v-avatar", {
        "v-avatar--start": e.start,
        "v-avatar--end": e.end
      }, a.value, s.value, r.value, o.value, u.value, c.value, i.value, e.class]),
      style: Z([l.value, d.value, e.style])
    }, {
      default: () => [n.default ? g(Ne, {
        key: "content-defaults",
        defaults: {
          VImg: {
            cover: !0,
            src: e.image
          },
          VIcon: {
            icon: e.icon
          }
        }
      }, {
        default: () => [n.default()]
      }) : e.image ? g(Nl, {
        key: "image",
        src: e.image,
        alt: "",
        cover: !0
      }, null) : e.icon ? g(Ve, {
        key: "icon",
        icon: e.icon
      }, null) : e.text, Ga(!1, "v-avatar")]
    })), {};
  }
}), Pv = M({
  text: String,
  onClick: Je(),
  ...de(),
  ...Ye()
}, "VLabel"), Bl = Q()({
  name: "VLabel",
  props: Pv(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    return ee(() => p("label", {
      class: K(["v-label", {
        "v-label--clickable": !!e.onClick
      }, e.class]),
      style: Z(e.style),
      onClick: e.onClick
    }, [e.text, n.default?.()])), {};
  }
});
function Fn(e, t) {
  let n;
  function a() {
    n = wl(), n.run(() => t.length ? t(() => {
      n?.stop(), a();
    }) : t());
  }
  re(e, (s) => {
    s && !n ? a() : s || (n?.stop(), n = void 0);
  }, {
    immediate: !0
  }), mt(() => {
    n?.stop();
  });
}
function ke(e, t, n) {
  let a = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : (d) => d, s = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : (d) => d;
  const r = Ue("useProxiedModel"), l = R(e[t] !== void 0 ? e[t] : n), i = An(t), u = i !== t ? _(() => (e[t], !!((r.vnode.props?.hasOwnProperty(t) || r.vnode.props?.hasOwnProperty(i)) && (r.vnode.props?.hasOwnProperty(`onUpdate:${t}`) || r.vnode.props?.hasOwnProperty(`onUpdate:${i}`))))) : _(() => (e[t], !!(r.vnode.props?.hasOwnProperty(t) && r.vnode.props?.hasOwnProperty(`onUpdate:${t}`))));
  Fn(() => !u.value, () => {
    re(() => e[t], (d) => {
      l.value = d;
    });
  });
  const c = _({
    get() {
      const d = e[t];
      return a(u.value ? d : l.value);
    },
    set(d) {
      const h = s(d), v = He(u.value ? e[t] : l.value);
      v === h || a(v) === d || (l.value = h, r?.emit(`update:${t}`, h));
    }
  });
  return Object.defineProperty(c, "externalValue", {
    get: () => u.value ? e[t] : l.value
  }), c;
}
const ju = Symbol.for("vuetify:selection-control-group"), $l = M({
  color: String,
  disabled: {
    type: Boolean,
    default: null
  },
  defaultsTarget: String,
  error: Boolean,
  id: String,
  inline: Boolean,
  falseIcon: ue,
  trueIcon: ue,
  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
  },
  ...de(),
  ...Ct(),
  ...Ye()
}, "SelectionControlGroup"), xv = M({
  ...$l({
    defaultsTarget: "VSelectionControl"
  })
}, "VSelectionControlGroup"), Iv = Q()({
  name: "VSelectionControlGroup",
  props: xv(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, t) {
    let {
      slots: n
    } = t;
    const a = ke(e, "modelValue"), s = on(), r = E(() => e.id || `v-selection-control-group-${s}`), l = E(() => e.name || r.value), i = /* @__PURE__ */ new Set();
    return We(ju, {
      modelValue: a,
      forceUpdate: () => {
        i.forEach((o) => o());
      },
      onForceUpdate: (o) => {
        i.add(o), mt(() => {
          i.delete(o);
        });
      }
    }), zt({
      [e.defaultsTarget]: {
        color: E(() => e.color),
        disabled: E(() => e.disabled),
        density: E(() => e.density),
        error: E(() => e.error),
        inline: E(() => e.inline),
        modelValue: a,
        multiple: E(() => !!e.multiple || e.multiple == null && Array.isArray(a.value)),
        name: l,
        falseIcon: E(() => e.falseIcon),
        trueIcon: E(() => e.trueIcon),
        readonly: E(() => e.readonly),
        ripple: E(() => e.ripple),
        type: E(() => e.type),
        valueComparator: E(() => e.valueComparator)
      }
    }), ee(() => p("div", {
      class: K(["v-selection-control-group", {
        "v-selection-control-group--inline": e.inline
      }, e.class]),
      style: Z(e.style),
      role: e.type === "radio" ? "radiogroup" : void 0
    }, [n.default?.()])), {};
  }
}), Zr = Symbol("rippleStop"), Ov = 80;
function mo(e, t) {
  e.style.transform = t, e.style.webkitTransform = t;
}
function Xr(e) {
  return e.constructor.name === "TouchEvent";
}
function Wu(e) {
  return e.constructor.name === "KeyboardEvent";
}
const Tv = function(e, t) {
  let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, a = 0, s = 0;
  if (!Wu(e)) {
    const d = t.getBoundingClientRect(), h = Xr(e) ? e.touches[e.touches.length - 1] : e;
    a = h.clientX - d.left, s = h.clientY - d.top;
  }
  let r = 0, l = 0.3;
  t._ripple?.circle ? (l = 0.15, r = t.clientWidth / 2, r = n.center ? r : r + Math.sqrt((a - r) ** 2 + (s - r) ** 2) / 4) : r = Math.sqrt(t.clientWidth ** 2 + t.clientHeight ** 2) / 2;
  const i = `${(t.clientWidth - r * 2) / 2}px`, o = `${(t.clientHeight - r * 2) / 2}px`, u = n.center ? i : `${a - r}px`, c = n.center ? o : `${s - r}px`;
  return {
    radius: r,
    scale: l,
    x: u,
    y: c,
    centerX: i,
    centerY: o
  };
}, Os = {
  /* eslint-disable max-statements */
  show(e, t) {
    let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
    if (!t?._ripple?.enabled)
      return;
    const a = document.createElement("span"), s = document.createElement("span");
    a.appendChild(s), a.className = "v-ripple__container", n.class && (a.className += ` ${n.class}`);
    const {
      radius: r,
      scale: l,
      x: i,
      y: o,
      centerX: u,
      centerY: c
    } = Tv(e, t, n), d = `${r * 2}px`;
    s.className = "v-ripple__animation", s.style.width = d, s.style.height = d, t.appendChild(a);
    const h = window.getComputedStyle(t);
    h && h.position === "static" && (t.style.position = "relative", t.dataset.previousPosition = "static"), s.classList.add("v-ripple__animation--enter"), s.classList.add("v-ripple__animation--visible"), mo(s, `translate(${i}, ${o}) scale3d(${l},${l},${l})`), s.dataset.activated = String(performance.now()), requestAnimationFrame(() => {
      requestAnimationFrame(() => {
        s.classList.remove("v-ripple__animation--enter"), s.classList.add("v-ripple__animation--in"), mo(s, `translate(${u}, ${c}) scale3d(1,1,1)`);
      });
    });
  },
  hide(e) {
    if (!e?._ripple?.enabled) return;
    const t = e.getElementsByClassName("v-ripple__animation");
    if (t.length === 0) return;
    const n = t[t.length - 1];
    if (n.dataset.isHiding) return;
    n.dataset.isHiding = "true";
    const a = performance.now() - Number(n.dataset.activated), s = Math.max(250 - a, 0);
    setTimeout(() => {
      n.classList.remove("v-ripple__animation--in"), n.classList.add("v-ripple__animation--out"), setTimeout(() => {
        e.getElementsByClassName("v-ripple__animation").length === 1 && e.dataset.previousPosition && (e.style.position = e.dataset.previousPosition, delete e.dataset.previousPosition), n.parentNode?.parentNode === e && e.removeChild(n.parentNode);
      }, 300);
    }, s);
  }
};
function Gu(e) {
  return typeof e > "u" || !!e;
}
function Ta(e) {
  const t = {}, n = e.currentTarget;
  if (!(!n?._ripple || n._ripple.touched || e[Zr])) {
    if (e[Zr] = !0, Xr(e))
      n._ripple.touched = !0, n._ripple.isTouch = !0;
    else if (n._ripple.isTouch) return;
    if (t.center = n._ripple.centered || Wu(e), n._ripple.class && (t.class = n._ripple.class), Xr(e)) {
      if (n._ripple.showTimerCommit) return;
      n._ripple.showTimerCommit = () => {
        Os.show(e, n, t);
      }, n._ripple.showTimer = window.setTimeout(() => {
        n?._ripple?.showTimerCommit && (n._ripple.showTimerCommit(), n._ripple.showTimerCommit = null);
      }, Ov);
    } else
      Os.show(e, n, t);
  }
}
function vo(e) {
  e[Zr] = !0;
}
function yt(e) {
  const t = e.currentTarget;
  if (t?._ripple) {
    if (window.clearTimeout(t._ripple.showTimer), e.type === "touchend" && t._ripple.showTimerCommit) {
      t._ripple.showTimerCommit(), t._ripple.showTimerCommit = null, t._ripple.showTimer = window.setTimeout(() => {
        yt(e);
      });
      return;
    }
    window.setTimeout(() => {
      t._ripple && (t._ripple.touched = !1);
    }), Os.hide(t);
  }
}
function Qu(e) {
  const t = e.currentTarget;
  t?._ripple && (t._ripple.showTimerCommit && (t._ripple.showTimerCommit = null), window.clearTimeout(t._ripple.showTimer));
}
let Va = !1;
function qu(e) {
  !Va && (e.keyCode === Gi.enter || e.keyCode === Gi.space) && (Va = !0, Ta(e));
}
function Ku(e) {
  Va = !1, yt(e);
}
function Ju(e) {
  Va && (Va = !1, yt(e));
}
function Zu(e, t, n) {
  const {
    value: a,
    modifiers: s
  } = t, r = Gu(a);
  if (r || Os.hide(e), e._ripple = e._ripple ?? {}, e._ripple.enabled = r, e._ripple.centered = s.center, e._ripple.circle = s.circle, Gr(a) && a.class && (e._ripple.class = a.class), r && !n) {
    if (s.stop) {
      e.addEventListener("touchstart", vo, {
        passive: !0
      }), e.addEventListener("mousedown", vo);
      return;
    }
    e.addEventListener("touchstart", Ta, {
      passive: !0
    }), e.addEventListener("touchend", yt, {
      passive: !0
    }), e.addEventListener("touchmove", Qu, {
      passive: !0
    }), e.addEventListener("touchcancel", yt), e.addEventListener("mousedown", Ta), e.addEventListener("mouseup", yt), e.addEventListener("mouseleave", yt), e.addEventListener("keydown", qu), e.addEventListener("keyup", Ku), e.addEventListener("blur", Ju), e.addEventListener("dragstart", yt, {
      passive: !0
    });
  } else !r && n && Xu(e);
}
function Xu(e) {
  e.removeEventListener("mousedown", Ta), e.removeEventListener("touchstart", Ta), e.removeEventListener("touchend", yt), e.removeEventListener("touchmove", Qu), e.removeEventListener("touchcancel", yt), e.removeEventListener("mouseup", yt), e.removeEventListener("mouseleave", yt), e.removeEventListener("keydown", qu), e.removeEventListener("keyup", Ku), e.removeEventListener("dragstart", yt), e.removeEventListener("blur", Ju);
}
function Vv(e, t) {
  Zu(e, t, !1);
}
function Ev(e) {
  delete e._ripple, Xu(e);
}
function Av(e, t) {
  if (t.value === t.oldValue)
    return;
  const n = Gu(t.oldValue);
  Zu(e, t, n);
}
const rn = {
  mounted: Vv,
  unmounted: Ev,
  updated: Av
}, Qs = M({
  label: String,
  baseColor: String,
  trueValue: null,
  falseValue: null,
  value: null,
  ...de(),
  ...$l()
}, "VSelectionControl");
function Dv(e) {
  const t = De(ju, void 0), {
    densityClasses: n
  } = Wt(e), a = ke(e, "modelValue"), s = _(() => e.trueValue !== void 0 ? e.trueValue : e.value !== void 0 ? e.value : !0), r = _(() => e.falseValue !== void 0 ? e.falseValue : !1), l = _(() => !!e.multiple || e.multiple == null && Array.isArray(a.value)), i = _({
    get() {
      const v = t ? t.modelValue.value : a.value;
      return l.value ? Ke(v).some((f) => e.valueComparator(f, s.value)) : e.valueComparator(v, s.value);
    },
    set(v) {
      if (e.readonly) return;
      const f = v ? s.value : r.value;
      let y = f;
      l.value && (y = v ? [...Ke(a.value), f] : Ke(a.value).filter((m) => !e.valueComparator(m, s.value))), t ? t.modelValue.value = y : a.value = y;
    }
  }), {
    textColorClasses: o,
    textColorStyles: u
  } = Ht(() => {
    if (!(e.error || e.disabled))
      return i.value ? e.color : e.baseColor;
  }), {
    backgroundColorClasses: c,
    backgroundColorStyles: d
  } = $t(() => i.value && !e.error && !e.disabled ? e.color : e.baseColor), h = _(() => i.value ? e.trueIcon : e.falseIcon);
  return {
    group: t,
    densityClasses: n,
    trueValue: s,
    falseValue: r,
    model: i,
    textColorClasses: o,
    textColorStyles: u,
    backgroundColorClasses: c,
    backgroundColorStyles: d,
    icon: h
  };
}
const Ln = Q()({
  name: "VSelectionControl",
  directives: {
    vRipple: rn
  },
  inheritAttrs: !1,
  props: Qs(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, t) {
    let {
      attrs: n,
      slots: a
    } = t;
    const {
      group: s,
      densityClasses: r,
      icon: l,
      model: i,
      textColorClasses: o,
      textColorStyles: u,
      backgroundColorClasses: c,
      backgroundColorStyles: d,
      trueValue: h
    } = Dv(e), v = on(), f = ne(!1), y = ne(!1), m = R(), b = E(() => e.id || `input-${v}`), S = E(() => !e.disabled && !e.readonly);
    s?.onForceUpdate(() => {
      m.value && (m.value.checked = i.value);
    });
    function P(V) {
      S.value && (f.value = !0, ea(V.target, ":focus-visible") !== !1 && (y.value = !0));
    }
    function I() {
      f.value = !1, y.value = !1;
    }
    function k(V) {
      V.stopPropagation();
    }
    function D(V) {
      if (!S.value) {
        m.value && (m.value.checked = i.value);
        return;
      }
      e.readonly && s && Ge(() => s.forceUpdate()), i.value = V.target.checked;
    }
    return ee(() => {
      const V = a.label ? a.label({
        label: e.label,
        props: {
          for: b.value
        }
      }) : e.label, [w, T] = Ws(n), N = p("input", j({
        ref: m,
        checked: i.value,
        disabled: !!e.disabled,
        id: b.value,
        onBlur: I,
        onFocus: P,
        onInput: D,
        "aria-disabled": !!e.disabled,
        "aria-label": e.label,
        type: e.type,
        value: h.value,
        name: e.name,
        "aria-checked": e.type === "checkbox" ? i.value : void 0
      }, T), null);
      return p("div", j({
        class: ["v-selection-control", {
          "v-selection-control--dirty": i.value,
          "v-selection-control--disabled": e.disabled,
          "v-selection-control--error": e.error,
          "v-selection-control--focused": f.value,
          "v-selection-control--focus-visible": y.value,
          "v-selection-control--inline": e.inline
        }, r.value, e.class]
      }, w, {
        style: e.style
      }), [p("div", {
        class: K(["v-selection-control__wrapper", o.value]),
        style: Z(u.value)
      }, [a.default?.({
        backgroundColorClasses: c,
        backgroundColorStyles: d
      }), ht(p("div", {
        class: ["v-selection-control__input"]
      }, [a.input?.({
        model: i,
        textColorClasses: o,
        textColorStyles: u,
        backgroundColorClasses: c,
        backgroundColorStyles: d,
        inputNode: N,
        icon: l.value,
        props: {
          onFocus: P,
          onBlur: I,
          id: b.value
        }
      }) ?? p(pe, null, [l.value && g(Ve, {
        key: "icon",
        icon: l.value
      }, null), N])]), [[rn, e.ripple && [!e.disabled && !e.readonly, null, ["center", "circle"]]]])]), V && g(Bl, {
        for: b.value,
        onClick: k
      }, {
        default: () => [V]
      })]);
    }), {
      isFocused: f,
      input: m
    };
  }
}), Mv = M({
  indeterminate: Boolean,
  indeterminateIcon: {
    type: ue,
    default: "$checkboxIndeterminate"
  },
  ...Qs({
    falseIcon: "$checkboxOff",
    trueIcon: "$checkboxOn"
  })
}, "VCheckboxBtn"), qa = Q()({
  name: "VCheckboxBtn",
  props: Mv(),
  emits: {
    "update:modelValue": (e) => !0,
    "update:indeterminate": (e) => !0
  },
  setup(e, t) {
    let {
      slots: n
    } = t;
    const a = ke(e, "indeterminate"), s = ke(e, "modelValue");
    function r(o) {
      a.value && (a.value = !1);
    }
    const l = E(() => a.value ? e.indeterminateIcon : e.falseIcon), i = E(() => a.value ? e.indeterminateIcon : e.trueIcon);
    return ee(() => {
      const o = kn(Ln.filterProps(e), ["modelValue"]);
      return g(Ln, j(o, {
        modelValue: s.value,
        "onUpdate:modelValue": [(u) => s.value = u, r],
        class: ["v-checkbox-btn", e.class],
        style: e.style,
        type: "checkbox",
        falseIcon: l.value,
        trueIcon: i.value,
        "aria-checked": a.value ? "mixed" : void 0
      }), n);
    }), {};
  }
}), ec = Symbol.for("vuetify:locale");
function hn() {
  const e = De(ec);
  if (!e) throw new Error("[Vuetify] Could not find injected locale instance");
  return e;
}
function Mt() {
  const e = De(ec);
  if (!e) throw new Error("[Vuetify] Could not find injected rtl instance");
  return {
    isRtl: e.isRtl,
    rtlClasses: e.rtlClasses
  };
}
function tc(e) {
  const {
    t
  } = hn();
  function n(a) {
    let {
      name: s,
      color: r,
      ...l
    } = a;
    const i = {
      prepend: "prependAction",
      prependInner: "prependAction",
      append: "appendAction",
      appendInner: "appendAction",
      clear: "clear"
    }[s], o = e[`onClick:${s}`];
    function u(d) {
      d.key !== "Enter" && d.key !== " " || (d.preventDefault(), d.stopPropagation(), Mu(o, new PointerEvent("click", d)));
    }
    const c = o && i ? t(`$vuetify.input.${i}`, e.label ?? "") : void 0;
    return g(Ve, j({
      icon: e[`${s}Icon`],
      "aria-label": c,
      onClick: o,
      onKeydown: u,
      color: r
    }, l), null);
  }
  return {
    InputIcon: n
  };
}
const Rv = M({
  disabled: Boolean,
  group: Boolean,
  hideOnLeave: Boolean,
  leaveAbsolute: Boolean,
  mode: String,
  origin: String
}, "transition");
function pt(e, t, n) {
  return Q()({
    name: e,
    props: Rv({
      mode: n,
      origin: t
    }),
    setup(a, s) {
      let {
        slots: r
      } = s;
      const l = {
        onBeforeEnter(i) {
          a.origin && (i.style.transformOrigin = a.origin);
        },
        onLeave(i) {
          if (a.leaveAbsolute) {
            const {
              offsetTop: o,
              offsetLeft: u,
              offsetWidth: c,
              offsetHeight: d
            } = i;
            i._transitionInitialStyles = {
              position: i.style.position,
              top: i.style.top,
              left: i.style.left,
              width: i.style.width,
              height: i.style.height
            }, i.style.position = "absolute", i.style.top = `${o}px`, i.style.left = `${u}px`, i.style.width = `${c}px`, i.style.height = `${d}px`;
          }
          a.hideOnLeave && i.style.setProperty("display", "none", "important");
        },
        onAfterLeave(i) {
          if (a.leaveAbsolute && i?._transitionInitialStyles) {
            const {
              position: o,
              top: u,
              left: c,
              width: d,
              height: h
            } = i._transitionInitialStyles;
            delete i._transitionInitialStyles, i.style.position = o || "", i.style.top = u || "", i.style.left = c || "", i.style.width = d || "", i.style.height = h || "";
          }
        }
      };
      return () => {
        const i = a.group ? Sl : Mn;
        return sa(i, {
          name: a.disabled ? "" : e,
          css: !a.disabled,
          ...a.group ? void 0 : {
            mode: a.mode
          },
          ...a.disabled ? {} : l
        }, r.default);
      };
    }
  });
}
function nc(e, t) {
  let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "in-out";
  return Q()({
    name: e,
    props: {
      mode: {
        type: String,
        default: n
      },
      disabled: Boolean,
      group: Boolean
    },
    setup(a, s) {
      let {
        slots: r
      } = s;
      const l = a.group ? Sl : Mn;
      return () => sa(l, {
        name: a.disabled ? "" : e,
        css: !a.disabled,
        // mode: props.mode, // TODO: vuejs/vue-next#3104
        ...a.disabled ? {} : t
      }, r.default);
    }
  });
}
function ac() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
  const n = (arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1) ? "width" : "height", a = Zo(`offset-${n}`);
  return {
    onBeforeEnter(l) {
      l._parent = l.parentNode, l._initialStyle = {
        transition: l.style.transition,
        overflow: l.style.overflow,
        [n]: l.style[n]
      };
    },
    onEnter(l) {
      const i = l._initialStyle;
      if (!i) return;
      l.style.setProperty("transition", "none", "important"), l.style.overflow = "hidden";
      const o = `${l[a]}px`;
      l.style[n] = "0", l.offsetHeight, l.style.transition = i.transition, e && l._parent && l._parent.classList.add(e), requestAnimationFrame(() => {
        l.style[n] = o;
      });
    },
    onAfterEnter: r,
    onEnterCancelled: r,
    onLeave(l) {
      l._initialStyle = {
        transition: "",
        overflow: l.style.overflow,
        [n]: l.style[n]
      }, l.style.overflow = "hidden", l.style[n] = `${l[a]}px`, l.offsetHeight, requestAnimationFrame(() => l.style[n] = "0");
    },
    onAfterLeave: s,
    onLeaveCancelled: s
  };
  function s(l) {
    e && l._parent && l._parent.classList.remove(e), r(l);
  }
  function r(l) {
    if (!l._initialStyle) return;
    const i = l._initialStyle[n];
    l.style.overflow = l._initialStyle.overflow, i != null && (l.style[n] = i), delete l._initialStyle;
  }
}
const Fv = M({
  target: [Object, Array]
}, "v-dialog-transition"), Pr = /* @__PURE__ */ new WeakMap(), Ul = Q()({
  name: "VDialogTransition",
  props: Fv(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const a = {
      onBeforeEnter(s) {
        s.style.pointerEvents = "none", s.style.visibility = "hidden";
      },
      async onEnter(s, r) {
        await new Promise((v) => requestAnimationFrame(v)), await new Promise((v) => requestAnimationFrame(v)), s.style.visibility = "";
        const l = go(e.target, s), {
          x: i,
          y: o,
          sx: u,
          sy: c,
          speed: d
        } = l;
        Pr.set(s, l);
        const h = Gn(s, [{
          transform: `translate(${i}px, ${o}px) scale(${u}, ${c})`,
          opacity: 0
        }, {}], {
          duration: 225 * d,
          easing: ov
        });
        yo(s)?.forEach((v) => {
          Gn(v, [{
            opacity: 0
          }, {
            opacity: 0,
            offset: 0.33
          }, {}], {
            duration: 225 * 2 * d,
            easing: Ps
          });
        }), h.finished.then(() => r());
      },
      onAfterEnter(s) {
        s.style.removeProperty("pointer-events");
      },
      onBeforeLeave(s) {
        s.style.pointerEvents = "none";
      },
      async onLeave(s, r) {
        await new Promise((v) => requestAnimationFrame(v));
        let l;
        !Pr.has(s) || Array.isArray(e.target) || e.target.offsetParent || e.target.getClientRects().length ? l = go(e.target, s) : l = Pr.get(s);
        const {
          x: i,
          y: o,
          sx: u,
          sy: c,
          speed: d
        } = l;
        Gn(s, [{}, {
          transform: `translate(${i}px, ${o}px) scale(${u}, ${c})`,
          opacity: 0
        }], {
          duration: 125 * d,
          easing: uv
        }).finished.then(() => r()), yo(s)?.forEach((v) => {
          Gn(v, [{}, {
            opacity: 0,
            offset: 0.2
          }, {
            opacity: 0
          }], {
            duration: 125 * 2 * d,
            easing: Ps
          });
        });
      },
      onAfterLeave(s) {
        s.style.removeProperty("pointer-events");
      }
    };
    return () => e.target ? g(Mn, j({
      name: "dialog-transition"
    }, a, {
      css: !1
    }), n) : g(Mn, {
      name: "dialog-transition"
    }, n);
  }
});
function yo(e) {
  const t = e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list")?.children;
  return t && [...t];
}
function go(e, t) {
  const n = Nu(e), a = Ml(t), [s, r] = getComputedStyle(t).transformOrigin.split(" ").map((b) => parseFloat(b)), [l, i] = getComputedStyle(t).getPropertyValue("--v-overlay-anchor-origin").split(" ");
  let o = n.left + n.width / 2;
  l === "left" || i === "left" ? o -= n.width / 2 : (l === "right" || i === "right") && (o += n.width / 2);
  let u = n.top + n.height / 2;
  l === "top" || i === "top" ? u -= n.height / 2 : (l === "bottom" || i === "bottom") && (u += n.height / 2);
  const c = n.width / a.width, d = n.height / a.height, h = Math.max(1, c, d), v = c / h || 0, f = d / h || 0, y = a.width * a.height / (window.innerWidth * window.innerHeight), m = y > 0.12 ? Math.min(1.5, (y - 0.12) * 10 + 1) : 1;
  return {
    x: o - (s + a.left),
    y: u - (r + a.top),
    sx: v,
    sy: f,
    speed: m
  };
}
pt("fab-transition", "center center", "out-in");
pt("dialog-bottom-transition");
pt("dialog-top-transition");
const bo = pt("fade-transition"), Lv = pt("scale-transition");
pt("scroll-x-transition");
pt("scroll-x-reverse-transition");
pt("scroll-y-transition");
pt("scroll-y-reverse-transition");
pt("slide-x-transition");
pt("slide-x-reverse-transition");
const sc = pt("slide-y-transition");
pt("slide-y-reverse-transition");
const rc = nc("expand-transition", ac()), lc = nc("expand-x-transition", ac("", !0)), Nv = M({
  active: Boolean,
  color: String,
  messages: {
    type: [Array, String],
    default: () => []
  },
  ...de(),
  ...oa({
    transition: {
      component: sc,
      leaveAbsolute: !0,
      group: !0
    }
  })
}, "VMessages"), Bv = Q()({
  name: "VMessages",
  props: Nv(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const a = _(() => Ke(e.messages)), {
      textColorClasses: s,
      textColorStyles: r
    } = Ht(() => e.color);
    return ee(() => g(gn, {
      transition: e.transition,
      tag: "div",
      class: K(["v-messages", s.value, e.class]),
      style: Z([r.value, e.style])
    }, {
      default: () => [e.active && a.value.map((l, i) => p("div", {
        class: "v-messages__message",
        key: `${i}-${a.value}`
      }, [n.message ? n.message({
        message: l
      }) : l]))]
    })), {};
  }
}), ic = M({
  focused: Boolean,
  "onUpdate:focused": Je()
}, "focus");
function zl(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
  const n = ke(e, "focused"), a = E(() => ({
    [`${t}--focused`]: n.value
  }));
  function s() {
    n.value = !0;
  }
  function r() {
    n.value = !1;
  }
  return {
    focusClasses: a,
    isFocused: n,
    focus: s,
    blur: r
  };
}
const oc = Symbol.for("vuetify:form"), $v = M({
  disabled: Boolean,
  fastFail: Boolean,
  readonly: Boolean,
  modelValue: {
    type: Boolean,
    default: null
  },
  validateOn: {
    type: String,
    default: "input"
  }
}, "form");
function Uv(e) {
  const t = ke(e, "modelValue"), n = E(() => e.disabled), a = E(() => e.readonly), s = ne(!1), r = R([]), l = R([]);
  async function i() {
    const c = [];
    let d = !0;
    l.value = [], s.value = !0;
    for (const h of r.value) {
      const v = await h.validate();
      if (v.length > 0 && (d = !1, c.push({
        id: h.id,
        errorMessages: v
      })), !d && e.fastFail) break;
    }
    return l.value = c, s.value = !1, {
      valid: d,
      errors: l.value
    };
  }
  function o() {
    r.value.forEach((c) => c.reset());
  }
  function u() {
    r.value.forEach((c) => c.resetValidation());
  }
  return re(r, () => {
    let c = 0, d = 0;
    const h = [];
    for (const v of r.value)
      v.isValid === !1 ? (d++, h.push({
        id: v.id,
        errorMessages: v.errorMessages
      })) : v.isValid === !0 && c++;
    l.value = h, t.value = d > 0 ? !1 : c === r.value.length ? !0 : null;
  }, {
    deep: !0,
    flush: "post"
  }), We(oc, {
    register: (c) => {
      let {
        id: d,
        vm: h,
        validate: v,
        reset: f,
        resetValidation: y
      } = c;
      r.value.some((m) => m.id === d) && Sn(`Duplicate input name "${d}"`), r.value.push({
        id: d,
        validate: v,
        reset: f,
        resetValidation: y,
        vm: Ff(h),
        isValid: null,
        errorMessages: []
      });
    },
    unregister: (c) => {
      r.value = r.value.filter((d) => d.id !== c);
    },
    update: (c, d, h) => {
      const v = r.value.find((f) => f.id === c);
      v && (v.isValid = d, v.errorMessages = h);
    },
    isDisabled: n,
    isReadonly: a,
    isValidating: s,
    isValid: t,
    items: r,
    validateOn: E(() => e.validateOn)
  }), {
    errors: l,
    isDisabled: n,
    isReadonly: a,
    isValidating: s,
    isValid: t,
    items: r,
    validate: i,
    reset: o,
    resetValidation: u
  };
}
function Hl(e) {
  const t = De(oc, null);
  return {
    ...t,
    isReadonly: _(() => !!(e?.readonly ?? t?.isReadonly.value)),
    isDisabled: _(() => !!(e?.disabled ?? t?.isDisabled.value))
  };
}
const zv = Symbol.for("vuetify:rules");
function Hv(e) {
  const t = De(zv, null);
  return t ? t(e) : E(e);
}
const Yv = M({
  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,
  ...ic()
}, "validation");
function jv(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt(), n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : on();
  const a = ke(e, "modelValue"), s = _(() => e.validationValue === void 0 ? a.value : e.validationValue), r = Hl(e), l = Hv(() => e.rules), i = R([]), o = ne(!0), u = _(() => !!(Ke(a.value === "" ? null : a.value).length || Ke(s.value === "" ? null : s.value).length)), c = _(() => e.errorMessages?.length ? Ke(e.errorMessages).concat(i.value).slice(0, Math.max(0, Number(e.maxErrors))) : i.value), d = _(() => {
    let I = (e.validateOn ?? r.validateOn?.value) || "input";
    I === "lazy" && (I = "input lazy"), I === "eager" && (I = "input eager");
    const k = new Set(I?.split(" ") ?? []);
    return {
      input: k.has("input"),
      blur: k.has("blur") || k.has("input") || k.has("invalid-input"),
      invalidInput: k.has("invalid-input"),
      lazy: k.has("lazy"),
      eager: k.has("eager")
    };
  }), h = _(() => e.error || e.errorMessages?.length ? !1 : e.rules.length ? o.value ? i.value.length || d.value.lazy ? null : !0 : !i.value.length : !0), v = ne(!1), f = _(() => ({
    [`${t}--error`]: h.value === !1,
    [`${t}--dirty`]: u.value,
    [`${t}--disabled`]: r.isDisabled.value,
    [`${t}--readonly`]: r.isReadonly.value
  })), y = Ue("validation"), m = _(() => e.name ?? _t(n));
  Bs(() => {
    r.register?.({
      id: m.value,
      vm: y,
      validate: P,
      reset: b,
      resetValidation: S
    });
  }), Et(() => {
    r.unregister?.(m.value);
  }), Ba(async () => {
    d.value.lazy || await P(!d.value.eager), r.update?.(m.value, h.value, c.value);
  }), Fn(() => d.value.input || d.value.invalidInput && h.value === !1, () => {
    re(s, () => {
      if (s.value != null)
        P();
      else if (e.focused) {
        const I = re(() => e.focused, (k) => {
          k || P(), I();
        });
      }
    });
  }), Fn(() => d.value.blur, () => {
    re(() => e.focused, (I) => {
      I || P();
    });
  }), re([h, c], () => {
    r.update?.(m.value, h.value, c.value);
  });
  async function b() {
    a.value = null, await Ge(), await S();
  }
  async function S() {
    o.value = !0, d.value.lazy ? i.value = [] : await P(!d.value.eager);
  }
  async function P() {
    let I = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1;
    const k = [];
    v.value = !0;
    for (const D of l.value) {
      if (k.length >= Number(e.maxErrors ?? 1))
        break;
      const w = await (typeof D == "function" ? D : () => D)(s.value);
      if (w !== !0) {
        if (w !== !1 && typeof w != "string") {
          console.warn(`${w} is not a valid value. Rule functions must return boolean true or a string.`);
          continue;
        }
        k.push(w || "");
      }
    }
    return i.value = k, v.value = !1, o.value = I, i.value;
  }
  return {
    errorMessages: c,
    isDirty: u,
    isDisabled: r.isDisabled,
    isReadonly: r.isReadonly,
    isPristine: o,
    isValid: h,
    isValidating: v,
    reset: b,
    resetValidation: S,
    validate: P,
    validationClasses: f
  };
}
const qs = M({
  id: String,
  appendIcon: ue,
  baseColor: String,
  centerAffix: {
    type: Boolean,
    default: !0
  },
  color: String,
  glow: Boolean,
  iconColor: [Boolean, String],
  prependIcon: ue,
  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": Je(),
  "onClick:append": Je(),
  ...de(),
  ...Ct(),
  ...js(un(), ["maxWidth", "minWidth", "width"]),
  ...Ye(),
  ...Yv()
}, "VInput"), ta = Q()({
  name: "VInput",
  props: {
    ...qs()
  },
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, t) {
    let {
      attrs: n,
      slots: a,
      emit: s
    } = t;
    const {
      densityClasses: r
    } = Wt(e), {
      dimensionStyles: l
    } = cn(e), {
      themeClasses: i
    } = Ze(e), {
      rtlClasses: o
    } = Mt(), {
      InputIcon: u
    } = tc(e), c = on(), d = _(() => e.id || `input-${c}`), h = _(() => `${d.value}-messages`), {
      errorMessages: v,
      isDirty: f,
      isDisabled: y,
      isReadonly: m,
      isPristine: b,
      isValid: S,
      isValidating: P,
      reset: I,
      resetValidation: k,
      validate: D,
      validationClasses: V
    } = jv(e, "v-input", d), w = _(() => ({
      id: d,
      messagesId: h,
      isDirty: f,
      isDisabled: y,
      isReadonly: m,
      isPristine: b,
      isValid: S,
      isValidating: P,
      reset: I,
      resetValidation: k,
      validate: D
    })), T = E(() => e.error || e.disabled ? void 0 : e.focused ? e.color : e.baseColor), N = E(() => {
      if (e.iconColor)
        return e.iconColor === !0 ? T.value : e.iconColor;
    }), $ = _(() => e.errorMessages?.length || !b.value && v.value.length ? v.value : e.hint && (e.persistentHint || e.focused) ? e.hint : e.messages);
    return ee(() => {
      const B = !!(a.prepend || e.prependIcon), A = !!(a.append || e.appendIcon), U = $.value.length > 0, Y = !e.hideDetails || e.hideDetails === "auto" && (U || !!a.details);
      return p("div", {
        class: K(["v-input", `v-input--${e.direction}`, {
          "v-input--center-affix": e.centerAffix,
          "v-input--focused": e.focused,
          "v-input--glow": e.glow,
          "v-input--hide-spin-buttons": e.hideSpinButtons
        }, r.value, i.value, o.value, V.value, e.class]),
        style: Z([l.value, e.style])
      }, [B && p("div", {
        key: "prepend",
        class: "v-input__prepend"
      }, [a.prepend?.(w.value), e.prependIcon && g(u, {
        key: "prepend-icon",
        name: "prepend",
        color: N.value
      }, null)]), a.default && p("div", {
        class: "v-input__control"
      }, [a.default?.(w.value)]), A && p("div", {
        key: "append",
        class: "v-input__append"
      }, [e.appendIcon && g(u, {
        key: "append-icon",
        name: "append",
        color: N.value
      }, null), a.append?.(w.value)]), Y && p("div", {
        id: h.value,
        class: "v-input__details",
        role: "alert",
        "aria-live": "polite"
      }, [g(Bv, {
        active: U,
        messages: $.value
      }, {
        message: a.message
      }), a.details?.(w.value)])]);
    }), {
      reset: I,
      resetValidation: k,
      validate: D,
      isValid: S,
      errorMessages: v
    };
  }
}), Ks = ["sm", "md", "lg", "xl", "xxl"], Wv = Symbol.for("vuetify:display"), Js = M({
  mobile: {
    type: Boolean,
    default: !1
  },
  mobileBreakpoint: [Number, String]
}, "display");
function $n() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
    mobile: null
  }, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
  const n = De(Wv);
  if (!n) throw new Error("Could not find Vuetify display injection");
  const a = _(() => e.mobile ? !0 : typeof e.mobileBreakpoint == "number" ? n.width.value < e.mobileBreakpoint : e.mobileBreakpoint ? n.width.value < n.thresholds.value[e.mobileBreakpoint] : e.mobile === null ? n.mobile.value : !1), s = E(() => t ? {
    [`${t}--mobile`]: a.value
  } : {});
  return {
    ...n,
    displayClasses: s,
    mobile: a
  };
}
const Gv = Symbol.for("vuetify:goto");
function Qv() {
  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 qv(e) {
  return Yl(e) ?? (document.scrollingElement || document.body);
}
function Yl(e) {
  return typeof e == "string" ? document.querySelector(e) : Vu(e);
}
function xr(e, t, n) {
  if (typeof e == "number") return t && n ? -e : e;
  let a = Yl(e), s = 0;
  for (; a; )
    s += t ? a.offsetLeft : a.offsetTop, a = a.offsetParent;
  return s;
}
async function po(e, t, n, a) {
  const s = n ? "scrollLeft" : "scrollTop", r = Xt(a?.options ?? Qv(), t), l = a?.rtl.value, i = (typeof e == "number" ? e : Yl(e)) ?? 0, o = r.container === "parent" && i instanceof HTMLElement ? i.parentElement : qv(r.container), u = typeof r.easing == "function" ? r.easing : r.patterns[r.easing];
  if (!u) throw new TypeError(`Easing function "${r.easing}" not found.`);
  let c;
  if (typeof i == "number")
    c = xr(i, n, l);
  else if (c = xr(i, n, l) - xr(o, n, l), r.layout) {
    const f = window.getComputedStyle(i).getPropertyValue("--v-layout-top");
    f && (c -= parseInt(f, 10));
  }
  c += r.offset, c = Jv(o, c, !!l, !!n);
  const d = o[s] ?? 0;
  if (c === d) return Promise.resolve(c);
  const h = performance.now();
  return new Promise((v) => requestAnimationFrame(function f(y) {
    const b = (y - h) / r.duration, S = Math.floor(d + (c - d) * u(bt(b, 0, 1)));
    if (o[s] = S, b >= 1 && Math.abs(S - o[s]) < 10)
      return v(c);
    if (b > 2)
      return Sn("Scroll target is not reachable"), v(o[s]);
    requestAnimationFrame(f);
  }));
}
function Kv() {
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
  const t = De(Gv), {
    isRtl: n
  } = Mt();
  if (!t) throw new Error("[Vuetify] Could not find injected goto instance");
  const a = {
    ...t,
    // can be set via VLocaleProvider
    rtl: E(() => t.rtl.value || n.value)
  };
  async function s(r, l) {
    return po(r, Xt(e, l), !1, a);
  }
  return s.horizontal = async (r, l) => po(r, Xt(e, l), !0, a), s;
}
function Jv(e, t, n, a) {
  const {
    scrollWidth: s,
    scrollHeight: r
  } = e, [l, i] = e === document.scrollingElement ? [window.innerWidth, window.innerHeight] : [e.offsetWidth, e.offsetHeight];
  let o, u;
  return a ? n ? (o = -(s - l), u = 0) : (o = 0, u = s - l) : (o = 0, u = r + -i), bt(t, o, u);
}
const jl = M({
  modelValue: {
    type: null,
    default: void 0
  },
  multiple: Boolean,
  mandatory: [Boolean, String],
  max: Number,
  selectedClass: String,
  disabled: Boolean
}, "group"), uc = M({
  value: null,
  disabled: Boolean,
  selectedClass: String
}, "group-item");
function cc(e, t) {
  let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0;
  const a = Ue("useGroupItem");
  if (!a)
    throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");
  const s = on();
  We(Symbol.for(`${t.description}:id`), s);
  const r = De(t, null);
  if (!r) {
    if (!n) return r;
    throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`);
  }
  const l = E(() => e.value), i = _(() => !!(r.disabled.value || e.disabled));
  r.register({
    id: s,
    value: l,
    disabled: i
  }, a), Et(() => {
    r.unregister(s);
  });
  const o = _(() => r.isSelected(s)), u = _(() => r.items.value[0].id === s), c = _(() => r.items.value[r.items.value.length - 1].id === s), d = _(() => o.value && [r.selectedClass.value, e.selectedClass]);
  return re(o, (h) => {
    a.emit("group:selected", {
      value: h
    });
  }, {
    flush: "sync"
  }), {
    id: s,
    isSelected: o,
    isFirst: u,
    isLast: c,
    toggle: () => r.select(s, !o.value),
    select: (h) => r.select(s, h),
    selectedClass: d,
    value: l,
    disabled: i,
    group: r
  };
}
function Wl(e, t) {
  let n = !1;
  const a = Zn([]), s = ke(e, "modelValue", [], (h) => h == null ? [] : dc(a, Ke(h)), (h) => {
    const v = Xv(a, h);
    return e.multiple ? v : v[0];
  }), r = Ue("useGroup");
  function l(h, v) {
    const f = h, y = Symbol.for(`${t.description}:id`), b = wa(y, r?.vnode).indexOf(v);
    _t(f.value) == null && (f.value = b, f.useIndexAsValue = !0), b > -1 ? a.splice(b, 0, f) : a.push(f);
  }
  function i(h) {
    if (n) return;
    o();
    const v = a.findIndex((f) => f.id === h);
    a.splice(v, 1);
  }
  function o() {
    const h = a.find((v) => !v.disabled);
    h && e.mandatory === "force" && !s.value.length && (s.value = [h.id]);
  }
  Ba(() => {
    o();
  }), Et(() => {
    n = !0;
  }), Lf(() => {
    for (let h = 0; h < a.length; h++)
      a[h].useIndexAsValue && (a[h].value = h);
  });
  function u(h, v) {
    const f = a.find((y) => y.id === h);
    if (!(v && f?.disabled))
      if (e.multiple) {
        const y = s.value.slice(), m = y.findIndex((S) => S === h), b = ~m;
        if (v = v ?? !b, b && e.mandatory && y.length <= 1 || !b && e.max != null && y.length + 1 > e.max) return;
        m < 0 && v ? y.push(h) : m >= 0 && !v && y.splice(m, 1), s.value = y;
      } else {
        const y = s.value.includes(h);
        if (e.mandatory && y) return;
        s.value = v ?? !y ? [h] : [];
      }
  }
  function c(h) {
    if (e.multiple && Sn('This method is not supported when using "multiple" prop'), s.value.length) {
      const v = s.value[0], f = a.findIndex((b) => b.id === v);
      let y = (f + h) % a.length, m = a[y];
      for (; m.disabled && y !== f; )
        y = (y + h) % a.length, m = a[y];
      if (m.disabled) return;
      s.value = [a[y].id];
    } else {
      const v = a.find((f) => !f.disabled);
      v && (s.value = [v.id]);
    }
  }
  const d = {
    register: l,
    unregister: i,
    selected: s,
    select: u,
    disabled: E(() => e.disabled),
    prev: () => c(a.length - 1),
    next: () => c(1),
    isSelected: (h) => s.value.includes(h),
    selectedClass: E(() => e.selectedClass),
    items: E(() => a),
    getItemIndex: (h) => Zv(a, h)
  };
  return We(t, d), d;
}
function Zv(e, t) {
  const n = dc(e, [t]);
  return n.length ? e.findIndex((a) => a.id === n[0]) : -1;
}
function dc(e, t) {
  const n = [];
  return t.forEach((a) => {
    const s = e.find((l) => gt(a, l.value)), r = e[a];
    s?.value != null ? n.push(s.id) : r != null && n.push(r.id);
  }), n;
}
function Xv(e, t) {
  const n = [];
  return t.forEach((a) => {
    const s = e.findIndex((r) => r.id === a);
    if (~s) {
      const r = e[s];
      n.push(r.value != null ? r.value : s);
    }
  }), n;
}
function na(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "content";
  const n = Qr(), a = R();
  if (Be) {
    const s = new ResizeObserver((r) => {
      e?.(r, s), r.length && (t === "content" ? a.value = r[0].contentRect : a.value = r[0].target.getBoundingClientRect());
    });
    Et(() => {
      s.disconnect();
    }), re(() => n.el, (r, l) => {
      l && (s.unobserve(l), a.value = void 0), r && s.observe(r);
    }, {
      flush: "post"
    });
  }
  return {
    resizeRef: n,
    contentRect: _l(a)
  };
}
function ey(e) {
  let {
    selectedElement: t,
    containerElement: n,
    isRtl: a,
    isHorizontal: s
  } = e;
  const r = Ea(s, n), l = fc(s, a, n), i = Ea(s, t), o = hc(s, t), u = i * 0.4;
  return l > o ? o - u : l + r < o + i ? o - r + i + u : l;
}
function ty(e) {
  let {
    selectedElement: t,
    containerElement: n,
    isHorizontal: a
  } = e;
  const s = Ea(a, n), r = hc(a, t), l = Ea(a, t);
  return r - s / 2 + l / 2;
}
function So(e, t) {
  return t?.[e ? "scrollWidth" : "scrollHeight"] || 0;
}
function ny(e, t) {
  return t?.[e ? "clientWidth" : "clientHeight"] || 0;
}
function fc(e, t, n) {
  if (!n)
    return 0;
  const {
    scrollLeft: a,
    offsetWidth: s,
    scrollWidth: r
  } = n;
  return e ? t ? r - s + a : a : n.scrollTop;
}
function Ea(e, t) {
  return t?.[e ? "offsetWidth" : "offsetHeight"] || 0;
}
function hc(e, t) {
  return t?.[e ? "offsetLeft" : "offsetTop"] || 0;
}
const ay = Symbol.for("vuetify:v-slide-group"), mc = M({
  centerActive: Boolean,
  direction: {
    type: String,
    default: "horizontal"
  },
  symbol: {
    type: null,
    default: ay
  },
  nextIcon: {
    type: ue,
    default: "$next"
  },
  prevIcon: {
    type: ue,
    default: "$prev"
  },
  showArrows: {
    type: [Boolean, String],
    validator: (e) => typeof e == "boolean" || ["always", "desktop", "mobile"].includes(e)
  },
  ...de(),
  ...Js({
    mobile: null
  }),
  ...Le(),
  ...jl({
    selectedClass: "v-slide-group-item--active"
  })
}, "VSlideGroup"), wo = Q()({
  name: "VSlideGroup",
  props: mc(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      isRtl: a
    } = Mt(), {
      displayClasses: s,
      mobile: r
    } = $n(e), l = Wl(e, e.symbol), i = ne(!1), o = ne(0), u = ne(0), c = ne(0), d = _(() => e.direction === "horizontal"), {
      resizeRef: h,
      contentRect: v
    } = na(), {
      resizeRef: f,
      contentRect: y
    } = na(), m = Kv(), b = _(() => ({
      container: h.el,
      duration: 200,
      easing: "easeOutQuart"
    })), S = _(() => l.selected.value.length ? l.items.value.findIndex((O) => O.id === l.selected.value[0]) : -1), P = _(() => l.selected.value.length ? l.items.value.findIndex((O) => O.id === l.selected.value[l.selected.value.length - 1]) : -1);
    if (Be) {
      let O = -1;
      re(() => [l.selected.value, v.value, y.value, d.value], () => {
        cancelAnimationFrame(O), O = requestAnimationFrame(() => {
          if (v.value && y.value) {
            const F = d.value ? "width" : "height";
            u.value = v.value[F], c.value = y.value[F], i.value = u.value + 1 < c.value;
          }
          if (S.value >= 0 && f.el) {
            const F = f.el.children[P.value];
            k(F, e.centerActive);
          }
        });
      });
    }
    const I = ne(!1);
    function k(O, F) {
      let q = 0;
      F ? q = ty({
        containerElement: h.el,
        isHorizontal: d.value,
        selectedElement: O
      }) : q = ey({
        containerElement: h.el,
        isHorizontal: d.value,
        isRtl: a.value,
        selectedElement: O
      }), D(q);
    }
    function D(O) {
      if (!Be || !h.el) return;
      const F = Ea(d.value, h.el), q = fc(d.value, a.value, h.el);
      if (!(So(d.value, h.el) <= F || // Prevent scrolling by only a couple of pixels, which doesn't look smooth
      Math.abs(O - q) < 16)) {
        if (d.value && a.value && h.el) {
          const {
            scrollWidth: ae,
            offsetWidth: ie
          } = h.el;
          O = ae - ie - O;
        }
        d.value ? m.horizontal(O, b.value) : m(O, b.value);
      }
    }
    function V(O) {
      const {
        scrollTop: F,
        scrollLeft: q
      } = O.target;
      o.value = d.value ? q : F;
    }
    function w(O) {
      if (I.value = !0, !(!i.value || !f.el)) {
        for (const F of O.composedPath())
          for (const q of f.el.children)
            if (q === F) {
              k(q);
              return;
            }
      }
    }
    function T(O) {
      I.value = !1;
    }
    let N = !1;
    function $(O) {
      !N && !I.value && !(O.relatedTarget && f.el?.contains(O.relatedTarget)) && Y(), N = !1;
    }
    function B() {
      N = !0;
    }
    function A(O) {
      if (!f.el) return;
      function F(q) {
        O.preventDefault(), Y(q);
      }
      d.value ? O.key === "ArrowRight" ? F(a.value ? "prev" : "next") : O.key === "ArrowLeft" && F(a.value ? "next" : "prev") : O.key === "ArrowDown" ? F("next") : O.key === "ArrowUp" && F("prev"), O.key === "Home" ? F("first") : O.key === "End" && F("last");
    }
    function U(O, F) {
      if (!O) return;
      let q = O;
      do
        q = q?.[F === "next" ? "nextElementSibling" : "previousElementSibling"];
      while (q?.hasAttribute("disabled"));
      return q;
    }
    function Y(O) {
      if (!f.el) return;
      let F;
      if (!O)
        F = Ia(f.el)[0];
      else if (O === "next") {
        if (F = U(f.el.querySelector(":focus"), O), !F) return Y("first");
      } else if (O === "prev") {
        if (F = U(f.el.querySelector(":focus"), O), !F) return Y("last");
      } else O === "first" ? (F = f.el.firstElementChild, F?.hasAttribute("disabled") && (F = U(F, "next"))) : O === "last" && (F = f.el.lastElementChild, F?.hasAttribute("disabled") && (F = U(F, "prev")));
      F && F.focus({
        preventScroll: !0
      });
    }
    function G(O) {
      const F = d.value && a.value ? -1 : 1, q = (O === "prev" ? -F : F) * u.value;
      let se = o.value + q;
      if (d.value && a.value && h.el) {
        const {
          scrollWidth: ae,
          offsetWidth: ie
        } = h.el;
        se += ae - ie;
      }
      D(se);
    }
    const le = _(() => ({
      next: l.next,
      prev: l.prev,
      select: l.select,
      isSelected: l.isSelected
    })), oe = _(() => {
      switch (e.showArrows) {
        // Always show arrows on desktop & mobile
        case "always":
          return !0;
        // Always show arrows on desktop
        case "desktop":
          return !r.value;
        // Show arrows on mobile when overflowing.
        // This matches the default 2.2 behavior
        case !0:
          return i.value || Math.abs(o.value) > 0;
        // Always show on mobile
        case "mobile":
          return r.value || i.value || Math.abs(o.value) > 0;
        // https://material.io/components/tabs#scrollable-tabs
        // Always show arrows when
        // overflowed on desktop
        default:
          return !r.value && (i.value || Math.abs(o.value) > 0);
      }
    }), _e = _(() => Math.abs(o.value) > 1), x = _(() => {
      if (!h.value) return !1;
      const O = So(d.value, h.el), F = ny(d.value, h.el);
      return O - F - Math.abs(o.value) > 1;
    });
    return ee(() => g(e.tag, {
      class: K(["v-slide-group", {
        "v-slide-group--vertical": !d.value,
        "v-slide-group--has-affixes": oe.value,
        "v-slide-group--is-overflowing": i.value
      }, s.value, e.class]),
      style: Z(e.style),
      tabindex: I.value || l.selected.value.length ? -1 : 0,
      onFocus: $
    }, {
      default: () => [oe.value && p("div", {
        key: "prev",
        class: K(["v-slide-group__prev", {
          "v-slide-group__prev--disabled": !_e.value
        }]),
        onMousedown: B,
        onClick: () => _e.value && G("prev")
      }, [n.prev?.(le.value) ?? g(bo, null, {
        default: () => [g(Ve, {
          icon: a.value ? e.nextIcon : e.prevIcon
        }, null)]
      })]), p("div", {
        key: "container",
        ref: h,
        class: "v-slide-group__container",
        onScroll: V
      }, [p("div", {
        ref: f,
        class: "v-slide-group__content",
        onFocusin: w,
        onFocusout: T,
        onKeydown: A
      }, [n.default?.(le.value)])]), oe.value && p("div", {
        key: "next",
        class: K(["v-slide-group__next", {
          "v-slide-group__next--disabled": !x.value
        }]),
        onMousedown: B,
        onClick: () => x.value && G("next")
      }, [n.next?.(le.value) ?? g(bo, null, {
        default: () => [g(Ve, {
          icon: a.value ? e.prevIcon : e.nextIcon
        }, null)]
      })])]
    })), {
      selected: l.selected,
      scrollTo: G,
      scrollOffset: o,
      focus: Y,
      hasPrev: _e,
      hasNext: x
    };
  }
}), vc = Symbol.for("vuetify:v-chip-group"), sy = M({
  baseColor: String,
  column: Boolean,
  filter: Boolean,
  valueComparator: {
    type: Function,
    default: gt
  },
  ...mc(),
  ...de(),
  ...jl({
    selectedClass: "v-chip--selected"
  }),
  ...Le(),
  ...Ye(),
  ...fn({
    variant: "tonal"
  })
}, "VChipGroup");
Q()({
  name: "VChipGroup",
  props: sy(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      themeClasses: a
    } = Ze(e), {
      isSelected: s,
      select: r,
      next: l,
      prev: i,
      selected: o
    } = Wl(e, vc);
    return zt({
      VChip: {
        baseColor: E(() => e.baseColor),
        color: E(() => e.color),
        disabled: E(() => e.disabled),
        filter: E(() => e.filter),
        variant: E(() => e.variant)
      }
    }), ee(() => {
      const u = wo.filterProps(e);
      return g(wo, j(u, {
        class: ["v-chip-group", {
          "v-chip-group--column": e.column
        }, a.value, e.class],
        style: e.style
      }), {
        default: () => [n.default?.({
          isSelected: s,
          select: r,
          next: l,
          prev: i,
          selected: o.value
        })]
      });
    }), {};
  }
});
const Pn = M({
  elevation: {
    type: [Number, String],
    validator(e) {
      const t = parseInt(e);
      return !isNaN(t) && t >= 0 && // Material Design has a maximum elevation of 24
      // https://material.io/design/environment/elevation.html#default-elevations
      t <= 24;
    }
  }
}, "elevation");
function Un(e) {
  return {
    elevationClasses: E(() => {
      const n = $r(e) ? e.value : e.elevation;
      return n == null ? [] : [`elevation-${n}`];
    })
  };
}
function ry() {
  const e = Ue("useRoute");
  return _(() => e?.proxy?.$route);
}
function ly() {
  return Ue("useRouter")?.proxy?.$router;
}
function Zs(e, t) {
  const n = Nf("RouterLink"), a = E(() => !!(e.href || e.to)), s = _(() => a?.value || Ji(t, "click") || Ji(e, "click"));
  if (typeof n == "string" || !("useLink" in n)) {
    const c = E(() => e.href);
    return {
      isLink: a,
      isClickable: s,
      href: c,
      linkProps: Zn({
        href: c
      })
    };
  }
  const r = n.useLink({
    to: E(() => e.to || ""),
    replace: E(() => e.replace)
  }), l = _(() => e.to ? r : void 0), i = ry(), o = _(() => l.value ? e.exact ? i.value ? l.value.isExactActive?.value && gt(l.value.route.value.query, i.value.query) : l.value.isExactActive?.value ?? !1 : l.value.isActive?.value ?? !1 : !1), u = _(() => e.to ? l.value?.route.value.href : e.href);
  return {
    isLink: a,
    isClickable: s,
    isActive: o,
    route: l.value?.route,
    navigate: l.value?.navigate,
    href: u,
    linkProps: Zn({
      href: u,
      "aria-current": E(() => o.value ? "page" : void 0)
    })
  };
}
const Xs = M({
  href: String,
  replace: Boolean,
  to: [String, Object],
  exact: Boolean
}, "router");
let Ir = !1;
function iy(e, t) {
  let n = !1, a, s;
  Be && e?.beforeEach && (Ge(() => {
    window.addEventListener("popstate", r), a = e.beforeEach((l, i, o) => {
      Ir ? n ? t(o) : o() : setTimeout(() => n ? t(o) : o()), Ir = !0;
    }), s = e?.afterEach(() => {
      Ir = !1;
    });
  }), mt(() => {
    window.removeEventListener("popstate", r), a?.(), s?.();
  }));
  function r(l) {
    l.state?.replaced || (n = !0, setTimeout(() => n = !1));
  }
}
const oy = M({
  activeClass: String,
  appendAvatar: String,
  appendIcon: ue,
  baseColor: String,
  closable: Boolean,
  closeIcon: {
    type: ue,
    default: "$delete"
  },
  closeLabel: {
    type: String,
    default: "$vuetify.close"
  },
  draggable: Boolean,
  filter: Boolean,
  filterIcon: {
    type: ue,
    default: "$complete"
  },
  label: Boolean,
  link: {
    type: Boolean,
    default: void 0
  },
  pill: Boolean,
  prependAvatar: String,
  prependIcon: ue,
  ripple: {
    type: [Boolean, Object],
    default: !0
  },
  text: {
    type: [String, Number, Boolean],
    default: void 0
  },
  modelValue: {
    type: Boolean,
    default: !0
  },
  onClick: Je(),
  onClickOnce: Je(),
  ...dn(),
  ...de(),
  ...Ct(),
  ...Pn(),
  ...uc(),
  ...kt(),
  ...Xs(),
  ...ia(),
  ...Le({
    tag: "span"
  }),
  ...Ye(),
  ...fn({
    variant: "tonal"
  })
}, "VChip"), Gl = Q()({
  name: "VChip",
  directives: {
    vRipple: rn
  },
  props: oy(),
  emits: {
    "click:close": (e) => !0,
    "update:modelValue": (e) => !0,
    "group:selected": (e) => !0,
    click: (e) => !0
  },
  setup(e, t) {
    let {
      attrs: n,
      emit: a,
      slots: s
    } = t;
    const {
      t: r
    } = hn(), {
      borderClasses: l
    } = Cn(e), {
      densityClasses: i
    } = Wt(e), {
      elevationClasses: o
    } = Un(e), {
      roundedClasses: u
    } = Dt(e), {
      sizeClasses: c
    } = Wa(e), {
      themeClasses: d
    } = Ze(e), h = ke(e, "modelValue"), v = cc(e, vc, !1), f = Zs(e, n), y = E(() => e.link !== !1 && f.isLink.value), m = _(() => !e.disabled && e.link !== !1 && (!!v || e.link || f.isClickable.value)), b = E(() => ({
      "aria-label": r(e.closeLabel),
      onClick(V) {
        V.preventDefault(), V.stopPropagation(), h.value = !1, a("click:close", V);
      }
    })), {
      colorClasses: S,
      colorStyles: P,
      variantClasses: I
    } = Qa(() => ({
      color: !v || v.isSelected.value ? e.color ?? e.baseColor : e.baseColor,
      variant: e.variant
    }));
    function k(V) {
      a("click", V), m.value && (f.navigate?.(V), v?.toggle());
    }
    function D(V) {
      (V.key === "Enter" || V.key === " ") && (V.preventDefault(), k(V));
    }
    return () => {
      const V = f.isLink.value ? "a" : e.tag, w = !!(e.appendIcon || e.appendAvatar), T = !!(w || s.append), N = !!(s.close || e.closable), $ = !!(s.filter || e.filter) && v, B = !!(e.prependIcon || e.prependAvatar), A = !!(B || s.prepend);
      return h.value && ht(g(V, j({
        class: ["v-chip", {
          "v-chip--disabled": e.disabled,
          "v-chip--label": e.label,
          "v-chip--link": m.value,
          "v-chip--filter": $,
          "v-chip--pill": e.pill,
          [`${e.activeClass}`]: e.activeClass && f.isActive?.value
        }, d.value, l.value, S.value, i.value, o.value, u.value, c.value, I.value, v?.selectedClass.value, e.class],
        style: [P.value, e.style],
        disabled: e.disabled || void 0,
        draggable: e.draggable,
        tabindex: m.value ? 0 : void 0,
        onClick: k,
        onKeydown: m.value && !y.value && D
      }, f.linkProps), {
        default: () => [Ga(m.value, "v-chip"), $ && g(lc, {
          key: "filter"
        }, {
          default: () => [ht(p("div", {
            class: "v-chip__filter"
          }, [s.filter ? g(Ne, {
            key: "filter-defaults",
            disabled: !e.filterIcon,
            defaults: {
              VIcon: {
                icon: e.filterIcon
              }
            }
          }, s.filter) : g(Ve, {
            key: "filter-icon",
            icon: e.filterIcon
          }, null)]), [[Bn, v.isSelected.value]])]
        }), A && p("div", {
          key: "prepend",
          class: "v-chip__prepend"
        }, [s.prepend ? g(Ne, {
          key: "prepend-defaults",
          disabled: !B,
          defaults: {
            VAvatar: {
              image: e.prependAvatar,
              start: !0
            },
            VIcon: {
              icon: e.prependIcon,
              start: !0
            }
          }
        }, s.prepend) : p(pe, null, [e.prependIcon && g(Ve, {
          key: "prepend-icon",
          icon: e.prependIcon,
          start: !0
        }, null), e.prependAvatar && g(_n, {
          key: "prepend-avatar",
          image: e.prependAvatar,
          start: !0
        }, null)])]), p("div", {
          class: "v-chip__content",
          "data-no-activator": ""
        }, [s.default?.({
          isSelected: v?.isSelected.value,
          selectedClass: v?.selectedClass.value,
          select: v?.select,
          toggle: v?.toggle,
          value: v?.value.value,
          disabled: e.disabled
        }) ?? Te(e.text)]), T && p("div", {
          key: "append",
          class: "v-chip__append"
        }, [s.append ? g(Ne, {
          key: "append-defaults",
          disabled: !w,
          defaults: {
            VAvatar: {
              end: !0,
              image: e.appendAvatar
            },
            VIcon: {
              end: !0,
              icon: e.appendIcon
            }
          }
        }, s.append) : p(pe, null, [e.appendIcon && g(Ve, {
          key: "append-icon",
          end: !0,
          icon: e.appendIcon
        }, null), e.appendAvatar && g(_n, {
          key: "append-avatar",
          end: !0,
          image: e.appendAvatar
        }, null)])]), N && p("button", j({
          key: "close",
          class: "v-chip__close",
          type: "button",
          "data-testid": "close-chip"
        }, b.value), [s.close ? g(Ne, {
          key: "close-defaults",
          defaults: {
            VIcon: {
              icon: e.closeIcon,
              size: "x-small"
            }
          }
        }, s.close) : g(Ve, {
          key: "close-icon",
          icon: e.closeIcon,
          size: "x-small"
        }, null)])]
      }), [[rn, m.value && e.ripple, null]]);
    };
  }
}), el = Symbol.for("vuetify:list");
function yc() {
  const e = De(el, {
    hasPrepend: ne(!1),
    updateHasPrepend: () => null
  }), t = {
    hasPrepend: ne(!1),
    updateHasPrepend: (n) => {
      n && (t.hasPrepend.value = n);
    }
  };
  return We(el, t), e;
}
function gc() {
  return De(el, null);
}
const Ql = (e) => {
  const t = {
    activate: (n) => {
      let {
        id: a,
        value: s,
        activated: r
      } = n;
      return a = He(a), e && !s && r.size === 1 && r.has(a) || (s ? r.add(a) : r.delete(a)), r;
    },
    in: (n, a, s) => {
      let r = /* @__PURE__ */ new Set();
      if (n != null)
        for (const l of Ke(n))
          r = t.activate({
            id: l,
            value: !0,
            activated: new Set(r),
            children: a,
            parents: s
          });
      return r;
    },
    out: (n) => Array.from(n)
  };
  return t;
}, bc = (e) => {
  const t = Ql(e);
  return {
    activate: (a) => {
      let {
        activated: s,
        id: r,
        ...l
      } = a;
      r = He(r);
      const i = s.has(r) ? /* @__PURE__ */ new Set([r]) : /* @__PURE__ */ new Set();
      return t.activate({
        ...l,
        id: r,
        activated: i
      });
    },
    in: (a, s, r) => {
      let l = /* @__PURE__ */ new Set();
      if (a != null) {
        const i = Ke(a);
        i.length && (l = t.in(i.slice(0, 1), s, r));
      }
      return l;
    },
    out: (a, s, r) => t.out(a, s, r)
  };
}, uy = (e) => {
  const t = Ql(e);
  return {
    activate: (a) => {
      let {
        id: s,
        activated: r,
        children: l,
        ...i
      } = a;
      return s = He(s), l.has(s) ? r : t.activate({
        id: s,
        activated: r,
        children: l,
        ...i
      });
    },
    in: t.in,
    out: t.out
  };
}, cy = (e) => {
  const t = bc(e);
  return {
    activate: (a) => {
      let {
        id: s,
        activated: r,
        children: l,
        ...i
      } = a;
      return s = He(s), l.has(s) ? r : t.activate({
        id: s,
        activated: r,
        children: l,
        ...i
      });
    },
    in: t.in,
    out: t.out
  };
}, dy = {
  open: (e) => {
    let {
      id: t,
      value: n,
      opened: a,
      parents: s
    } = e;
    if (n) {
      const r = /* @__PURE__ */ new Set();
      r.add(t);
      let l = s.get(t);
      for (; l != null; )
        r.add(l), l = s.get(l);
      return r;
    } else
      return a.delete(t), a;
  },
  select: () => null
}, pc = {
  open: (e) => {
    let {
      id: t,
      value: n,
      opened: a,
      parents: s
    } = e;
    if (n) {
      let r = s.get(t);
      for (a.add(t); r != null && r !== t; )
        a.add(r), r = s.get(r);
      return a;
    } else
      a.delete(t);
    return a;
  },
  select: () => null
}, fy = {
  open: pc.open,
  select: (e) => {
    let {
      id: t,
      value: n,
      opened: a,
      parents: s
    } = e;
    if (!n) return a;
    const r = [];
    let l = s.get(t);
    for (; l != null; )
      r.push(l), l = s.get(l);
    return new Set(r);
  }
}, ql = (e) => {
  const t = {
    select: (n) => {
      let {
        id: a,
        value: s,
        selected: r
      } = n;
      if (a = He(a), e && !s) {
        const l = Array.from(r.entries()).reduce((i, o) => {
          let [u, c] = o;
          return c === "on" && i.push(u), i;
        }, []);
        if (l.length === 1 && l[0] === a) return r;
      }
      return r.set(a, s ? "on" : "off"), r;
    },
    in: (n, a, s) => {
      const r = /* @__PURE__ */ new Map();
      for (const l of n || [])
        t.select({
          id: l,
          value: !0,
          selected: r,
          children: a,
          parents: s
        });
      return r;
    },
    out: (n) => {
      const a = [];
      for (const [s, r] of n.entries())
        r === "on" && a.push(s);
      return a;
    }
  };
  return t;
}, Sc = (e) => {
  const t = ql(e);
  return {
    select: (a) => {
      let {
        selected: s,
        id: r,
        ...l
      } = a;
      r = He(r);
      const i = s.has(r) ? /* @__PURE__ */ new Map([[r, s.get(r)]]) : /* @__PURE__ */ new Map();
      return t.select({
        ...l,
        id: r,
        selected: i
      });
    },
    in: (a, s, r) => a?.length ? t.in(a.slice(0, 1), s, r) : /* @__PURE__ */ new Map(),
    out: (a, s, r) => t.out(a, s, r)
  };
}, hy = (e) => {
  const t = ql(e);
  return {
    select: (a) => {
      let {
        id: s,
        selected: r,
        children: l,
        ...i
      } = a;
      return s = He(s), l.has(s) ? r : t.select({
        id: s,
        selected: r,
        children: l,
        ...i
      });
    },
    in: t.in,
    out: t.out
  };
}, my = (e) => {
  const t = Sc(e);
  return {
    select: (a) => {
      let {
        id: s,
        selected: r,
        children: l,
        ...i
      } = a;
      return s = He(s), l.has(s) ? r : t.select({
        id: s,
        selected: r,
        children: l,
        ...i
      });
    },
    in: t.in,
    out: t.out
  };
}, wc = (e) => {
  const t = {
    select: (n) => {
      let {
        id: a,
        value: s,
        selected: r,
        children: l,
        parents: i
      } = n;
      a = He(a);
      const o = new Map(r), u = [a];
      for (; u.length; ) {
        const d = u.shift();
        r.set(He(d), s ? "on" : "off"), l.has(d) && u.push(...l.get(d));
      }
      let c = He(i.get(a));
      for (; c; ) {
        const d = l.get(c), h = d.every((f) => r.get(He(f)) === "on"), v = d.every((f) => !r.has(He(f)) || r.get(He(f)) === "off");
        r.set(c, h ? "on" : v ? "off" : "indeterminate"), c = He(i.get(c));
      }
      return e && !s && Array.from(r.entries()).reduce((h, v) => {
        let [f, y] = v;
        return y === "on" && h.push(f), h;
      }, []).length === 0 ? o : r;
    },
    in: (n, a, s) => {
      let r = /* @__PURE__ */ new Map();
      for (const l of n || [])
        r = t.select({
          id: l,
          value: !0,
          selected: r,
          children: a,
          parents: s
        });
      return r;
    },
    out: (n, a) => {
      const s = [];
      for (const [r, l] of n.entries())
        l === "on" && !a.has(r) && s.push(r);
      return s;
    }
  };
  return t;
}, vy = (e) => {
  const t = wc(e);
  return {
    select: t.select,
    in: t.in,
    out: (a, s, r) => {
      const l = [];
      for (const [i, o] of a.entries())
        if (o === "on") {
          if (r.has(i)) {
            const u = r.get(i);
            if (a.get(u) === "on") continue;
          }
          l.push(i);
        }
      return l;
    }
  };
}, Aa = Symbol.for("vuetify:nested"), _c = {
  id: ne(),
  root: {
    register: () => null,
    unregister: () => null,
    parents: R(/* @__PURE__ */ new Map()),
    children: R(/* @__PURE__ */ new Map()),
    open: () => null,
    openOnSelect: () => null,
    activate: () => null,
    select: () => null,
    activatable: R(!1),
    selectable: R(!1),
    opened: R(/* @__PURE__ */ new Set()),
    activated: R(/* @__PURE__ */ new Set()),
    selected: R(/* @__PURE__ */ new Map()),
    selectedValues: R([]),
    getPath: () => []
  }
}, yy = M({
  activatable: Boolean,
  selectable: Boolean,
  activeStrategy: [String, Function, Object],
  selectStrategy: [String, Function, Object],
  openStrategy: [String, Object],
  opened: null,
  activated: null,
  selected: null,
  mandatory: Boolean
}, "nested"), gy = (e) => {
  let t = !1;
  const n = R(/* @__PURE__ */ new Map()), a = R(/* @__PURE__ */ new Map()), s = ke(e, "opened", e.opened, (f) => new Set(f), (f) => [...f.values()]), r = _(() => {
    if (typeof e.activeStrategy == "object") return e.activeStrategy;
    if (typeof e.activeStrategy == "function") return e.activeStrategy(e.mandatory);
    switch (e.activeStrategy) {
      case "leaf":
        return uy(e.mandatory);
      case "single-leaf":
        return cy(e.mandatory);
      case "independent":
        return Ql(e.mandatory);
      case "single-independent":
      default:
        return bc(e.mandatory);
    }
  }), l = _(() => {
    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 my(e.mandatory);
      case "leaf":
        return hy(e.mandatory);
      case "independent":
        return ql(e.mandatory);
      case "single-independent":
        return Sc(e.mandatory);
      case "trunk":
        return vy(e.mandatory);
      case "classic":
      default:
        return wc(e.mandatory);
    }
  }), i = _(() => {
    if (typeof e.openStrategy == "object") return e.openStrategy;
    switch (e.openStrategy) {
      case "list":
        return fy;
      case "single":
        return dy;
      case "multiple":
      default:
        return pc;
    }
  }), o = ke(e, "activated", e.activated, (f) => r.value.in(f, n.value, a.value), (f) => r.value.out(f, n.value, a.value)), u = ke(e, "selected", e.selected, (f) => l.value.in(f, n.value, a.value), (f) => l.value.out(f, n.value, a.value));
  Et(() => {
    t = !0;
  });
  function c(f) {
    const y = [];
    let m = f;
    for (; m != null; )
      y.unshift(m), m = a.value.get(m);
    return y;
  }
  const d = Ue("nested"), h = /* @__PURE__ */ new Set(), v = {
    id: ne(),
    root: {
      opened: s,
      activatable: E(() => e.activatable),
      selectable: E(() => e.selectable),
      activated: o,
      selected: u,
      selectedValues: _(() => {
        const f = [];
        for (const [y, m] of u.value.entries())
          m === "on" && f.push(y);
        return f;
      }),
      register: (f, y, m) => {
        if (h.has(f)) {
          const b = c(f).map(String).join(" -> "), S = c(y).concat(f).map(String).join(" -> ");
          Rl(`Multiple nodes with the same ID
	${b}
	${S}`);
          return;
        } else
          h.add(f);
        y && f !== y && a.value.set(f, y), m && n.value.set(f, []), y != null && n.value.set(y, [...n.value.get(y) || [], f]);
      },
      unregister: (f) => {
        if (t) return;
        h.delete(f), n.value.delete(f);
        const y = a.value.get(f);
        if (y) {
          const m = n.value.get(y) ?? [];
          n.value.set(y, m.filter((b) => b !== f));
        }
        a.value.delete(f);
      },
      open: (f, y, m) => {
        d.emit("click:open", {
          id: f,
          value: y,
          path: c(f),
          event: m
        });
        const b = i.value.open({
          id: f,
          value: y,
          opened: new Set(s.value),
          children: n.value,
          parents: a.value,
          event: m
        });
        b && (s.value = b);
      },
      openOnSelect: (f, y, m) => {
        const b = i.value.select({
          id: f,
          value: y,
          selected: new Map(u.value),
          opened: new Set(s.value),
          children: n.value,
          parents: a.value,
          event: m
        });
        b && (s.value = b);
      },
      select: (f, y, m) => {
        d.emit("click:select", {
          id: f,
          value: y,
          path: c(f),
          event: m
        });
        const b = l.value.select({
          id: f,
          value: y,
          selected: new Map(u.value),
          children: n.value,
          parents: a.value,
          event: m
        });
        b && (u.value = b), v.root.openOnSelect(f, y, m);
      },
      activate: (f, y, m) => {
        if (!e.activatable)
          return v.root.select(f, !0, m);
        d.emit("click:activate", {
          id: f,
          value: y,
          path: c(f),
          event: m
        });
        const b = r.value.activate({
          id: f,
          value: y,
          activated: new Set(o.value),
          children: n.value,
          parents: a.value,
          event: m
        });
        if (b.size !== o.value.size)
          o.value = b;
        else {
          for (const S of b)
            if (!o.value.has(S)) {
              o.value = b;
              return;
            }
          for (const S of o.value)
            if (!b.has(S)) {
              o.value = b;
              return;
            }
        }
      },
      children: n,
      parents: a,
      getPath: c
    }
  };
  return We(Aa, v), v.root;
}, kc = (e, t) => {
  const n = De(Aa, _c), a = Symbol("nested item"), s = _(() => sn(e) ?? a), r = {
    ...n,
    id: s,
    open: (l, i) => n.root.open(s.value, l, i),
    openOnSelect: (l, i) => n.root.openOnSelect(s.value, l, i),
    isOpen: _(() => n.root.opened.value.has(s.value)),
    parent: _(() => n.root.parents.value.get(s.value)),
    activate: (l, i) => n.root.activate(s.value, l, i),
    isActivated: _(() => n.root.activated.value.has(He(s.value))),
    select: (l, i) => n.root.select(s.value, l, i),
    isSelected: _(() => n.root.selected.value.get(He(s.value)) === "on"),
    isIndeterminate: _(() => n.root.selected.value.get(He(s.value)) === "indeterminate"),
    isLeaf: _(() => !n.root.children.value.get(s.value)),
    isGroupActivator: n.isGroupActivator
  };
  return Bs(() => {
    !n.isGroupActivator && n.root.register(s.value, n.id.value, t);
  }), Et(() => {
    !n.isGroupActivator && n.root.unregister(s.value);
  }), t && We(Aa, r), r;
}, by = () => {
  const e = De(Aa, _c);
  We(Aa, {
    ...e,
    isGroupActivator: !0
  });
};
function py() {
  const e = ne(!1);
  return Ba(() => {
    window.requestAnimationFrame(() => {
      e.value = !0;
    });
  }), {
    ssrBootStyles: E(() => e.value ? void 0 : {
      transition: "none !important"
    }),
    isBooted: _l(e)
  };
}
const Sy = ja({
  name: "VListGroupActivator",
  setup(e, t) {
    let {
      slots: n
    } = t;
    return by(), () => n.default?.();
  }
}), wy = M({
  /* @deprecated */
  activeColor: String,
  baseColor: String,
  color: String,
  collapseIcon: {
    type: ue,
    default: "$collapse"
  },
  expandIcon: {
    type: ue,
    default: "$expand"
  },
  prependIcon: ue,
  appendIcon: ue,
  fluid: Boolean,
  subgroup: Boolean,
  title: String,
  value: null,
  ...de(),
  ...Le()
}, "VListGroup"), _o = Q()({
  name: "VListGroup",
  props: wy(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      isOpen: a,
      open: s,
      id: r
    } = kc(() => e.value, !0), l = _(() => `v-list-group--id-${String(r.value)}`), i = gc(), {
      isBooted: o
    } = py();
    function u(v) {
      v.stopPropagation(), !["INPUT", "TEXTAREA"].includes(v.target?.tagName) && s(!a.value, v);
    }
    const c = _(() => ({
      onClick: u,
      class: "v-list-group__header",
      id: l.value
    })), d = _(() => a.value ? e.collapseIcon : e.expandIcon), h = _(() => ({
      VListItem: {
        active: a.value,
        activeColor: e.activeColor,
        baseColor: e.baseColor,
        color: e.color,
        prependIcon: e.prependIcon || e.subgroup && d.value,
        appendIcon: e.appendIcon || !e.subgroup && d.value,
        title: e.title,
        value: e.value
      }
    }));
    return ee(() => g(e.tag, {
      class: K(["v-list-group", {
        "v-list-group--prepend": i?.hasPrepend.value,
        "v-list-group--fluid": e.fluid,
        "v-list-group--subgroup": e.subgroup,
        "v-list-group--open": a.value
      }, e.class]),
      style: Z(e.style)
    }, {
      default: () => [n.activator && g(Ne, {
        defaults: h.value
      }, {
        default: () => [g(Sy, null, {
          default: () => [n.activator({
            props: c.value,
            isOpen: a.value
          })]
        })]
      }), g(gn, {
        transition: {
          component: rc
        },
        disabled: !o.value
      }, {
        default: () => [ht(p("div", {
          class: "v-list-group__items",
          role: "group",
          "aria-labelledby": l.value
        }, [n.default?.()]), [[Bn, a.value]])]
      })]
    })), {
      isOpen: a
    };
  }
}), _y = M({
  opacity: [Number, String],
  ...de(),
  ...Le()
}, "VListItemSubtitle"), ky = Q()({
  name: "VListItemSubtitle",
  props: _y(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    return ee(() => g(e.tag, {
      class: K(["v-list-item-subtitle", e.class]),
      style: Z([{
        "--v-list-item-subtitle-opacity": e.opacity
      }, e.style])
    }, n)), {};
  }
}), Cy = $u("v-list-item-title"), Py = M({
  active: {
    type: Boolean,
    default: void 0
  },
  activeClass: String,
  /* @deprecated */
  activeColor: String,
  appendAvatar: String,
  appendIcon: ue,
  baseColor: String,
  disabled: Boolean,
  lines: [Boolean, String],
  link: {
    type: Boolean,
    default: void 0
  },
  nav: Boolean,
  prependAvatar: String,
  prependIcon: ue,
  ripple: {
    type: [Boolean, Object],
    default: !0
  },
  slim: Boolean,
  subtitle: {
    type: [String, Number, Boolean],
    default: void 0
  },
  title: {
    type: [String, Number, Boolean],
    default: void 0
  },
  value: null,
  onClick: Je(),
  onClickOnce: Je(),
  ...dn(),
  ...de(),
  ...Ct(),
  ...un(),
  ...Pn(),
  ...kt(),
  ...Xs(),
  ...Le(),
  ...Ye(),
  ...fn({
    variant: "text"
  })
}, "VListItem"), Nn = Q()({
  name: "VListItem",
  directives: {
    vRipple: rn
  },
  props: Py(),
  emits: {
    click: (e) => !0
  },
  setup(e, t) {
    let {
      attrs: n,
      slots: a,
      emit: s
    } = t;
    const r = Zs(e, n), l = _(() => e.value === void 0 ? r.href.value : e.value), {
      activate: i,
      isActivated: o,
      select: u,
      isOpen: c,
      isSelected: d,
      isIndeterminate: h,
      isGroupActivator: v,
      root: f,
      parent: y,
      openOnSelect: m,
      id: b
    } = kc(l, !1), S = gc(), P = _(() => e.active !== !1 && (e.active || r.isActive?.value || (f.activatable.value ? o.value : d.value))), I = E(() => e.link !== !1 && r.isLink.value), k = _(() => !!S && (f.selectable.value || f.activatable.value || e.value != null)), D = _(() => !e.disabled && e.link !== !1 && (e.link || r.isClickable.value || k.value)), V = E(() => e.rounded || e.nav), w = E(() => e.color ?? e.activeColor), T = E(() => ({
      color: P.value ? w.value ?? e.baseColor : e.baseColor,
      variant: e.variant
    }));
    re(() => r.isActive?.value, (se) => {
      se && N();
    }), Bs(() => {
      r.isActive?.value && N();
    });
    function N() {
      y.value != null && f.open(y.value, !0), m(!0);
    }
    const {
      themeClasses: $
    } = Ze(e), {
      borderClasses: B
    } = Cn(e), {
      colorClasses: A,
      colorStyles: U,
      variantClasses: Y
    } = Qa(T), {
      densityClasses: G
    } = Wt(e), {
      dimensionStyles: le
    } = cn(e), {
      elevationClasses: oe
    } = Un(e), {
      roundedClasses: _e
    } = Dt(V), x = E(() => e.lines ? `v-list-item--${e.lines}-line` : void 0), O = _(() => ({
      isActive: P.value,
      select: u,
      isOpen: c.value,
      isSelected: d.value,
      isIndeterminate: h.value
    }));
    function F(se) {
      s("click", se), !["INPUT", "TEXTAREA"].includes(se.target?.tagName) && D.value && (r.navigate?.(se), !v && (f.activatable.value ? i(!o.value, se) : (f.selectable.value || e.value != null) && u(!d.value, se)));
    }
    function q(se) {
      const ae = se.target;
      ["INPUT", "TEXTAREA"].includes(ae.tagName) || (se.key === "Enter" || se.key === " ") && (se.preventDefault(), se.target.dispatchEvent(new MouseEvent("click", se)));
    }
    return ee(() => {
      const se = I.value ? "a" : e.tag, ae = a.title || e.title != null, ie = a.subtitle || e.subtitle != null, J = !!(e.appendAvatar || e.appendIcon), Ee = !!(J || a.append), Se = !!(e.prependAvatar || e.prependIcon), z = !!(Se || a.prepend);
      return S?.updateHasPrepend(z), e.activeColor && tv("active-color", ["color", "base-color"]), ht(g(se, j({
        class: ["v-list-item", {
          "v-list-item--active": P.value,
          "v-list-item--disabled": e.disabled,
          "v-list-item--link": D.value,
          "v-list-item--nav": e.nav,
          "v-list-item--prepend": !z && S?.hasPrepend.value,
          "v-list-item--slim": e.slim,
          [`${e.activeClass}`]: e.activeClass && P.value
        }, $.value, B.value, A.value, G.value, oe.value, x.value, _e.value, Y.value, e.class],
        style: [U.value, le.value, e.style],
        tabindex: D.value ? S ? -2 : 0 : void 0,
        "aria-selected": k.value ? f.activatable.value ? o.value : f.selectable.value ? d.value : P.value : void 0,
        onClick: F,
        onKeydown: D.value && !I.value && q
      }, r.linkProps), {
        default: () => [Ga(D.value || P.value, "v-list-item"), z && p("div", {
          key: "prepend",
          class: "v-list-item__prepend"
        }, [a.prepend ? g(Ne, {
          key: "prepend-defaults",
          disabled: !Se,
          defaults: {
            VAvatar: {
              density: e.density,
              image: e.prependAvatar
            },
            VIcon: {
              density: e.density,
              icon: e.prependIcon
            },
            VListItemAction: {
              start: !0
            }
          }
        }, {
          default: () => [a.prepend?.(O.value)]
        }) : p(pe, null, [e.prependAvatar && g(_n, {
          key: "prepend-avatar",
          density: e.density,
          image: e.prependAvatar
        }, null), e.prependIcon && g(Ve, {
          key: "prepend-icon",
          density: e.density,
          icon: e.prependIcon
        }, null)]), p("div", {
          class: "v-list-item__spacer"
        }, null)]), p("div", {
          class: "v-list-item__content",
          "data-no-activator": ""
        }, [ae && g(Cy, {
          key: "title"
        }, {
          default: () => [a.title?.({
            title: e.title
          }) ?? Te(e.title)]
        }), ie && g(ky, {
          key: "subtitle"
        }, {
          default: () => [a.subtitle?.({
            subtitle: e.subtitle
          }) ?? Te(e.subtitle)]
        }), a.default?.(O.value)]), Ee && p("div", {
          key: "append",
          class: "v-list-item__append"
        }, [a.append ? g(Ne, {
          key: "append-defaults",
          disabled: !J,
          defaults: {
            VAvatar: {
              density: e.density,
              image: e.appendAvatar
            },
            VIcon: {
              density: e.density,
              icon: e.appendIcon
            },
            VListItemAction: {
              end: !0
            }
          }
        }, {
          default: () => [a.append?.(O.value)]
        }) : p(pe, null, [e.appendIcon && g(Ve, {
          key: "append-icon",
          density: e.density,
          icon: e.appendIcon
        }, null), e.appendAvatar && g(_n, {
          key: "append-avatar",
          density: e.density,
          image: e.appendAvatar
        }, null)]), p("div", {
          class: "v-list-item__spacer"
        }, null)])]
      }), [[rn, D.value && e.ripple]]);
    }), {
      activate: i,
      isActivated: o,
      isGroupActivator: v,
      isSelected: d,
      list: S,
      select: u,
      root: f,
      id: b,
      link: r
    };
  }
}), xy = M({
  color: String,
  inset: Boolean,
  sticky: Boolean,
  title: String,
  ...de(),
  ...Le()
}, "VListSubheader"), Iy = Q()({
  name: "VListSubheader",
  props: xy(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      textColorClasses: a,
      textColorStyles: s
    } = Ht(() => e.color);
    return ee(() => {
      const r = !!(n.default || e.title);
      return g(e.tag, {
        class: K(["v-list-subheader", {
          "v-list-subheader--inset": e.inset,
          "v-list-subheader--sticky": e.sticky
        }, a.value, e.class]),
        style: Z([{
          textColorStyles: s
        }, e.style])
      }, {
        default: () => [r && p("div", {
          class: "v-list-subheader__text"
        }, [n.default?.() ?? e.title])]
      });
    }), {};
  }
}), Oy = M({
  color: String,
  inset: Boolean,
  length: [Number, String],
  opacity: [Number, String],
  thickness: [Number, String],
  vertical: Boolean,
  ...de(),
  ...Ye()
}, "VDivider"), Cc = Q()({
  name: "VDivider",
  props: Oy(),
  setup(e, t) {
    let {
      attrs: n,
      slots: a
    } = t;
    const {
      themeClasses: s
    } = Ze(e), {
      textColorClasses: r,
      textColorStyles: l
    } = Ht(() => e.color), i = _(() => {
      const o = {};
      return e.length && (o[e.vertical ? "height" : "width"] = te(e.length)), e.thickness && (o[e.vertical ? "borderRightWidth" : "borderTopWidth"] = te(e.thickness)), o;
    });
    return ee(() => {
      const o = p("hr", {
        class: K([{
          "v-divider": !0,
          "v-divider--inset": e.inset,
          "v-divider--vertical": e.vertical
        }, s.value, r.value, e.class]),
        style: Z([i.value, l.value, {
          "--v-border-opacity": e.opacity
        }, e.style]),
        "aria-orientation": !n.role || n.role === "separator" ? e.vertical ? "vertical" : "horizontal" : void 0,
        role: `${n.role || "separator"}`
      }, null);
      return a.default ? p("div", {
        class: K(["v-divider__wrapper", {
          "v-divider__wrapper--vertical": e.vertical,
          "v-divider__wrapper--inset": e.inset
        }])
      }, [o, p("div", {
        class: "v-divider__content"
      }, [a.default()]), o]) : o;
    }), {};
  }
}), Ty = M({
  items: Array,
  returnObject: Boolean
}, "VListChildren"), Pc = Q()({
  name: "VListChildren",
  props: Ty(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    return yc(), () => n.default?.() ?? e.items?.map((a) => {
      let {
        children: s,
        props: r,
        type: l,
        raw: i
      } = a;
      if (l === "divider")
        return n.divider?.({
          props: r
        }) ?? g(Cc, r, null);
      if (l === "subheader")
        return n.subheader?.({
          props: r
        }) ?? g(Iy, r, null);
      const o = {
        subtitle: n.subtitle ? (c) => n.subtitle?.({
          ...c,
          item: i
        }) : void 0,
        prepend: n.prepend ? (c) => n.prepend?.({
          ...c,
          item: i
        }) : void 0,
        append: n.append ? (c) => n.append?.({
          ...c,
          item: i
        }) : void 0,
        title: n.title ? (c) => n.title?.({
          ...c,
          item: i
        }) : void 0
      }, u = _o.filterProps(r);
      return s ? g(_o, j({
        value: r?.value
      }, u), {
        activator: (c) => {
          let {
            props: d
          } = c;
          const h = {
            ...r,
            ...d,
            value: e.returnObject ? i : r.value
          };
          return n.header ? n.header({
            props: h
          }) : g(Nn, h, o);
        },
        default: () => g(Pc, {
          items: s,
          returnObject: e.returnObject
        }, n)
      }) : n.item ? n.item({
        props: r
      }) : g(Nn, j(r, {
        value: e.returnObject ? i : r.value
      }), o);
    });
  }
}), xc = M({
  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: Function
}, "list-items");
function tl(e, t) {
  const n = ot(t, e.itemTitle, t), a = ot(t, e.itemValue, n), s = ot(t, e.itemChildren), r = e.itemProps === !0 ? typeof t == "object" && t != null && !Array.isArray(t) ? "children" in t ? kn(t, ["children"]) : t : void 0 : ot(t, e.itemProps), l = {
    title: n,
    value: a,
    ...r
  };
  return {
    title: String(l.title ?? ""),
    value: l.value,
    props: l,
    children: Array.isArray(s) ? Ic(e, s) : void 0,
    raw: t
  };
}
function Ic(e, t) {
  const n = js(e, ["itemTitle", "itemValue", "itemChildren", "itemProps", "returnObject", "valueComparator"]), a = [];
  for (const s of t)
    a.push(tl(n, s));
  return a;
}
function Oc(e) {
  const t = _(() => Ic(e, e.items)), n = _(() => t.value.some((i) => i.value === null)), a = ne(/* @__PURE__ */ new Map()), s = ne([]);
  Ot(() => {
    const i = t.value, o = /* @__PURE__ */ new Map(), u = [];
    for (let c = 0; c < i.length; c++) {
      const d = i[c];
      if (Fu(d.value) || d.value === null) {
        let h = o.get(d.value);
        h || (h = [], o.set(d.value, h)), h.push(d);
      } else
        u.push(d);
    }
    a.value = o, s.value = u;
  });
  function r(i) {
    const o = a.value, u = t.value, c = s.value, d = n.value, h = e.returnObject, v = !!e.valueComparator, f = e.valueComparator || gt, y = js(e, ["itemTitle", "itemValue", "itemChildren", "itemProps", "returnObject", "valueComparator"]), m = [];
    e: for (const b of i) {
      if (!d && b === null) continue;
      if (h && typeof b == "string") {
        m.push(tl(y, b));
        continue;
      }
      const S = o.get(b);
      if (v || !S) {
        for (const P of v ? u : c)
          if (f(b, P.value)) {
            m.push(P);
            continue e;
          }
        m.push(tl(y, b));
        continue;
      }
      m.push(...S);
    }
    return m;
  }
  function l(i) {
    return e.returnObject ? i.map((o) => {
      let {
        raw: u
      } = o;
      return u;
    }) : i.map((o) => {
      let {
        value: u
      } = o;
      return u;
    });
  }
  return {
    items: t,
    transformIn: r,
    transformOut: l
  };
}
function Vy(e, t) {
  const n = ot(t, e.itemType, "item"), a = Fu(t) ? t : ot(t, e.itemTitle), s = ot(t, e.itemValue, void 0), r = ot(t, e.itemChildren), l = e.itemProps === !0 ? kn(t, ["children"]) : ot(t, e.itemProps), i = {
    title: a,
    value: s,
    ...l
  };
  return {
    type: n,
    title: i.title,
    value: i.value,
    props: i,
    children: n === "item" && r ? Tc(e, r) : void 0,
    raw: t
  };
}
function Tc(e, t) {
  const n = [];
  for (const a of t)
    n.push(Vy(e, a));
  return n;
}
function Ey(e) {
  return {
    items: _(() => Tc(e, e.items))
  };
}
const Ay = M({
  baseColor: String,
  /* @deprecated */
  activeColor: String,
  activeClass: String,
  bgColor: String,
  disabled: Boolean,
  expandIcon: ue,
  collapseIcon: ue,
  lines: {
    type: [Boolean, String],
    default: "one"
  },
  slim: Boolean,
  nav: Boolean,
  "onClick:open": Je(),
  "onClick:select": Je(),
  "onUpdate:opened": Je(),
  ...yy({
    selectStrategy: "single-leaf",
    openStrategy: "list"
  }),
  ...dn(),
  ...de(),
  ...Ct(),
  ...un(),
  ...Pn(),
  itemType: {
    type: String,
    default: "type"
  },
  ...xc(),
  ...kt(),
  ...Le(),
  ...Ye(),
  ...fn({
    variant: "text"
  })
}, "VList"), Vc = Q()({
  name: "VList",
  props: Ay(),
  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, t) {
    let {
      slots: n
    } = t;
    const {
      items: a
    } = Ey(e), {
      themeClasses: s
    } = Ze(e), {
      backgroundColorClasses: r,
      backgroundColorStyles: l
    } = $t(() => e.bgColor), {
      borderClasses: i
    } = Cn(e), {
      densityClasses: o
    } = Wt(e), {
      dimensionStyles: u
    } = cn(e), {
      elevationClasses: c
    } = Un(e), {
      roundedClasses: d
    } = Dt(e), {
      children: h,
      open: v,
      parents: f,
      select: y,
      getPath: m
    } = gy(e), b = E(() => e.lines ? `v-list--${e.lines}-line` : void 0), S = E(() => e.activeColor), P = E(() => e.baseColor), I = E(() => e.color);
    yc(), zt({
      VListGroup: {
        activeColor: S,
        baseColor: P,
        color: I,
        expandIcon: E(() => e.expandIcon),
        collapseIcon: E(() => e.collapseIcon)
      },
      VListItem: {
        activeClass: E(() => e.activeClass),
        activeColor: S,
        baseColor: P,
        color: I,
        density: E(() => e.density),
        disabled: E(() => e.disabled),
        lines: E(() => e.lines),
        nav: E(() => e.nav),
        slim: E(() => e.slim),
        variant: E(() => e.variant)
      }
    });
    const k = ne(!1), D = R();
    function V(A) {
      k.value = !0;
    }
    function w(A) {
      k.value = !1;
    }
    function T(A) {
      !k.value && !(A.relatedTarget && D.value?.contains(A.relatedTarget)) && B();
    }
    function N(A) {
      const U = A.target;
      if (!(!D.value || ["INPUT", "TEXTAREA"].includes(U.tagName))) {
        if (A.key === "ArrowDown")
          B("next");
        else if (A.key === "ArrowUp")
          B("prev");
        else if (A.key === "Home")
          B("first");
        else if (A.key === "End")
          B("last");
        else
          return;
        A.preventDefault();
      }
    }
    function $(A) {
      k.value = !0;
    }
    function B(A) {
      if (D.value)
        return Ca(D.value, A);
    }
    return ee(() => g(e.tag, {
      ref: D,
      class: K(["v-list", {
        "v-list--disabled": e.disabled,
        "v-list--nav": e.nav,
        "v-list--slim": e.slim
      }, s.value, r.value, i.value, o.value, c.value, b.value, d.value, e.class]),
      style: Z([l.value, u.value, e.style]),
      tabindex: e.disabled ? -1 : 0,
      role: "listbox",
      "aria-activedescendant": void 0,
      onFocusin: V,
      onFocusout: w,
      onFocus: T,
      onKeydown: N,
      onMousedown: $
    }, {
      default: () => [g(Pc, {
        items: a.value,
        returnObject: e.returnObject
      }, n)]
    })), {
      open: v,
      select: y,
      focus: B,
      children: h,
      parents: f,
      getPath: m
    };
  }
});
function Or(e, t) {
  return {
    x: e.x + t.x,
    y: e.y + t.y
  };
}
function Dy(e, t) {
  return {
    x: e.x - t.x,
    y: e.y - t.y
  };
}
function ko(e, t) {
  if (e.side === "top" || e.side === "bottom") {
    const {
      side: n,
      align: a
    } = e, s = a === "left" ? 0 : a === "center" ? t.width / 2 : a === "right" ? t.width : a, r = n === "top" ? 0 : n === "bottom" ? t.height : n;
    return Or({
      x: s,
      y: r
    }, t);
  } else if (e.side === "left" || e.side === "right") {
    const {
      side: n,
      align: a
    } = e, s = n === "left" ? 0 : n === "right" ? t.width : n, r = a === "top" ? 0 : a === "center" ? t.height / 2 : a === "bottom" ? t.height : a;
    return Or({
      x: s,
      y: r
    }, t);
  }
  return Or({
    x: t.width / 2,
    y: t.height / 2
  }, t);
}
const Ec = {
  static: Fy,
  // specific viewport position, usually centered
  connected: Ny
  // connected to a certain element
}, My = M({
  locationStrategy: {
    type: [String, Function],
    default: "static",
    validator: (e) => typeof e == "function" || e in Ec
  },
  location: {
    type: String,
    default: "bottom"
  },
  origin: {
    type: String,
    default: "auto"
  },
  offset: [Number, String, Array]
}, "VOverlay-location-strategies");
function Ry(e, t) {
  const n = R({}), a = R();
  Be && Fn(() => !!(t.isActive.value && e.locationStrategy), (i) => {
    re(() => e.locationStrategy, i), mt(() => {
      window.removeEventListener("resize", s), visualViewport?.removeEventListener("resize", r), visualViewport?.removeEventListener("scroll", l), a.value = void 0;
    }), window.addEventListener("resize", s, {
      passive: !0
    }), visualViewport?.addEventListener("resize", r, {
      passive: !0
    }), visualViewport?.addEventListener("scroll", l, {
      passive: !0
    }), typeof e.locationStrategy == "function" ? a.value = e.locationStrategy(t, e, n)?.updateLocation : a.value = Ec[e.locationStrategy](t, e, n)?.updateLocation;
  });
  function s(i) {
    a.value?.(i);
  }
  function r(i) {
    a.value?.(i);
  }
  function l(i) {
    a.value?.(i);
  }
  return {
    contentStyles: n,
    updateLocation: a
  };
}
function Fy() {
}
function Ly(e, t) {
  const n = Ml(e);
  return t ? n.x += parseFloat(e.style.right || 0) : n.x -= parseFloat(e.style.left || 0), n.y -= parseFloat(e.style.top || 0), n;
}
function Ny(e, t, n) {
  (Array.isArray(e.target.value) || dv(e.target.value)) && Object.assign(n.value, {
    position: "fixed",
    top: 0,
    [e.isRtl.value ? "right" : "left"]: 0
  });
  const {
    preferredAnchor: s,
    preferredOrigin: r
  } = El(() => {
    const b = qr(t.location, e.isRtl.value), S = t.origin === "overlap" ? b : t.origin === "auto" ? kr(b) : qr(t.origin, e.isRtl.value);
    return b.side === S.side && b.align === Cr(S).align ? {
      preferredAnchor: Xi(b),
      preferredOrigin: Xi(S)
    } : {
      preferredAnchor: b,
      preferredOrigin: S
    };
  }), [l, i, o, u] = ["minWidth", "minHeight", "maxWidth", "maxHeight"].map((b) => _(() => {
    const S = parseFloat(t[b]);
    return isNaN(S) ? 1 / 0 : S;
  })), c = _(() => {
    if (Array.isArray(t.offset))
      return t.offset;
    if (typeof t.offset == "string") {
      const b = t.offset.split(" ").map(parseFloat);
      return b.length < 2 && b.push(0), b;
    }
    return typeof t.offset == "number" ? [t.offset, 0] : [0, 0];
  });
  let d = !1, h = -1;
  const v = new Rm(4), f = new ResizeObserver(() => {
    if (!d) return;
    if (requestAnimationFrame((S) => {
      S !== h && v.clear(), requestAnimationFrame((P) => {
        h = P;
      });
    }), v.isFull) {
      const S = v.values();
      if (gt(S.at(-1), S.at(-3)))
        return;
    }
    const b = m();
    b && v.push(b.flipped);
  });
  re([e.target, e.contentEl], (b, S) => {
    let [P, I] = b, [k, D] = S;
    k && !Array.isArray(k) && f.unobserve(k), P && !Array.isArray(P) && f.observe(P), D && f.unobserve(D), I && f.observe(I);
  }, {
    immediate: !0
  }), mt(() => {
    f.disconnect();
  });
  let y = new Bt({
    x: 0,
    y: 0,
    width: 0,
    height: 0
  });
  function m() {
    if (d = !1, requestAnimationFrame(() => d = !0), !e.target.value || !e.contentEl.value) return;
    (Array.isArray(e.target.value) || e.target.value.offsetParent || e.target.value.getClientRects().length) && (y = Nu(e.target.value));
    const b = Ly(e.contentEl.value, e.isRtl.value), S = xs(e.contentEl.value), P = 12;
    S.length || (S.push(document.documentElement), e.contentEl.value.style.top && e.contentEl.value.style.left || (b.x -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x") || 0), b.y -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y") || 0)));
    const I = S.reduce((A, U) => {
      const Y = Hm(U);
      return A ? new Bt({
        x: Math.max(A.left, Y.left),
        y: Math.max(A.top, Y.top),
        width: Math.min(A.right, Y.right) - Math.max(A.left, Y.left),
        height: Math.min(A.bottom, Y.bottom) - Math.max(A.top, Y.top)
      }) : Y;
    }, void 0);
    I.x += P, I.y += P, I.width -= P * 2, I.height -= P * 2;
    let k = {
      anchor: s.value,
      origin: r.value
    };
    function D(A) {
      const U = new Bt(b), Y = ko(A.anchor, y), G = ko(A.origin, U);
      let {
        x: le,
        y: oe
      } = Dy(Y, G);
      switch (A.anchor.side) {
        case "top":
          oe -= c.value[0];
          break;
        case "bottom":
          oe += c.value[0];
          break;
        case "left":
          le -= c.value[0];
          break;
        case "right":
          le += c.value[0];
          break;
      }
      switch (A.anchor.align) {
        case "top":
          oe -= c.value[1];
          break;
        case "bottom":
          oe += c.value[1];
          break;
        case "left":
          le -= c.value[1];
          break;
        case "right":
          le += c.value[1];
          break;
      }
      return U.x += le, U.y += oe, U.width = Math.min(U.width, o.value), U.height = Math.min(U.height, u.value), {
        overflows: to(U, I),
        x: le,
        y: oe
      };
    }
    let V = 0, w = 0;
    const T = {
      x: 0,
      y: 0
    }, N = {
      x: !1,
      y: !1
    };
    let $ = -1;
    for (; ; ) {
      if ($++ > 10) {
        Rl("Infinite loop detected in connectedLocationStrategy");
        break;
      }
      const {
        x: A,
        y: U,
        overflows: Y
      } = D(k);
      V += A, w += U, b.x += A, b.y += U;
      {
        const G = eo(k.anchor), le = Y.x.before || Y.x.after, oe = Y.y.before || Y.y.after;
        let _e = !1;
        if (["x", "y"].forEach((x) => {
          if (x === "x" && le && !N.x || x === "y" && oe && !N.y) {
            const O = {
              anchor: {
                ...k.anchor
              },
              origin: {
                ...k.origin
              }
            }, F = x === "x" ? G === "y" ? Cr : kr : G === "y" ? kr : Cr;
            O.anchor = F(O.anchor), O.origin = F(O.origin);
            const {
              overflows: q
            } = D(O);
            (q[x].before <= Y[x].before && q[x].after <= Y[x].after || q[x].before + q[x].after < (Y[x].before + Y[x].after) / 2) && (k = O, _e = N[x] = !0);
          }
        }), _e) continue;
      }
      Y.x.before && (V += Y.x.before, b.x += Y.x.before), Y.x.after && (V -= Y.x.after, b.x -= Y.x.after), Y.y.before && (w += Y.y.before, b.y += Y.y.before), Y.y.after && (w -= Y.y.after, b.y -= Y.y.after);
      {
        const G = to(b, I);
        T.x = I.width - G.x.before - G.x.after, T.y = I.height - G.y.before - G.y.after, V += G.x.before, b.x += G.x.before, w += G.y.before, b.y += G.y.before;
      }
      break;
    }
    const B = eo(k.anchor);
    return Object.assign(n.value, {
      "--v-overlay-anchor-origin": `${k.anchor.side} ${k.anchor.align}`,
      transformOrigin: `${k.origin.side} ${k.origin.align}`,
      // transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,
      top: te(Tr(w)),
      left: e.isRtl.value ? void 0 : te(Tr(V)),
      right: e.isRtl.value ? te(Tr(-V)) : void 0,
      minWidth: te(B === "y" ? Math.min(l.value, y.width) : l.value),
      maxWidth: te(Co(bt(T.x, l.value === 1 / 0 ? 0 : l.value, o.value))),
      maxHeight: te(Co(bt(T.y, i.value === 1 / 0 ? 0 : i.value, u.value)))
    }), {
      available: T,
      contentBox: b,
      flipped: N
    };
  }
  return re(() => [s.value, r.value, t.offset, t.minWidth, t.minHeight, t.maxWidth, t.maxHeight], () => m()), Ge(() => {
    const b = m();
    if (!b) return;
    const {
      available: S,
      contentBox: P
    } = b;
    P.height > S.y && requestAnimationFrame(() => {
      m(), requestAnimationFrame(() => {
        m();
      });
    });
  }), {
    updateLocation: m
  };
}
function Tr(e) {
  return Math.round(e * devicePixelRatio) / devicePixelRatio;
}
function Co(e) {
  return Math.ceil(e * devicePixelRatio) / devicePixelRatio;
}
let nl = !0;
const Ts = [];
function By(e) {
  !nl || Ts.length ? (Ts.push(e), al()) : (nl = !1, e(), al());
}
let Po = -1;
function al() {
  cancelAnimationFrame(Po), Po = requestAnimationFrame(() => {
    const e = Ts.shift();
    e && e(), Ts.length ? al() : nl = !0;
  });
}
const Ac = {
  none: null,
  close: zy,
  block: Hy,
  reposition: Yy
}, $y = M({
  scrollStrategy: {
    type: [String, Function],
    default: "block",
    validator: (e) => typeof e == "function" || e in Ac
  }
}, "VOverlay-scroll-strategies");
function Uy(e, t) {
  if (!Be) return;
  let n;
  Ot(async () => {
    n?.stop(), t.isActive.value && e.scrollStrategy && (n = wl(), await new Promise((a) => setTimeout(a)), n.active && n.run(() => {
      typeof e.scrollStrategy == "function" ? e.scrollStrategy(t, e, n) : Ac[e.scrollStrategy]?.(t, e, n);
    }));
  }), mt(() => {
    n?.stop();
  });
}
function zy(e) {
  function t(n) {
    e.isActive.value = !1;
  }
  Dc(e.targetEl.value ?? e.contentEl.value, t);
}
function Hy(e, t) {
  const n = e.root.value?.offsetParent, a = [.../* @__PURE__ */ new Set([...xs(e.targetEl.value, t.contained ? n : void 0), ...xs(e.contentEl.value, t.contained ? n : void 0)])].filter((l) => !l.classList.contains("v-overlay-scroll-blocked")), s = window.innerWidth - document.documentElement.offsetWidth, r = ((l) => Fl(l) && l)(n || document.documentElement);
  r && e.root.value.classList.add("v-overlay--scroll-blocked"), a.forEach((l, i) => {
    l.style.setProperty("--v-body-scroll-x", te(-l.scrollLeft)), l.style.setProperty("--v-body-scroll-y", te(-l.scrollTop)), l !== document.documentElement && l.style.setProperty("--v-scrollbar-offset", te(s)), l.classList.add("v-overlay-scroll-blocked");
  }), mt(() => {
    a.forEach((l, i) => {
      const o = parseFloat(l.style.getPropertyValue("--v-body-scroll-x")), u = parseFloat(l.style.getPropertyValue("--v-body-scroll-y")), c = l.style.scrollBehavior;
      l.style.scrollBehavior = "auto", l.style.removeProperty("--v-body-scroll-x"), l.style.removeProperty("--v-body-scroll-y"), l.style.removeProperty("--v-scrollbar-offset"), l.classList.remove("v-overlay-scroll-blocked"), l.scrollLeft = -o, l.scrollTop = -u, l.style.scrollBehavior = c;
    }), r && e.root.value.classList.remove("v-overlay--scroll-blocked");
  });
}
function Yy(e, t, n) {
  let a = !1, s = -1, r = -1;
  function l(i) {
    By(() => {
      const o = performance.now();
      e.updateLocation.value?.(i), a = (performance.now() - o) / (1e3 / 60) > 2;
    });
  }
  r = (typeof requestIdleCallback > "u" ? (i) => i() : requestIdleCallback)(() => {
    n.run(() => {
      Dc(e.targetEl.value ?? e.contentEl.value, (i) => {
        a ? (cancelAnimationFrame(s), s = requestAnimationFrame(() => {
          s = requestAnimationFrame(() => {
            l(i);
          });
        })) : l(i);
      });
    });
  }), mt(() => {
    typeof cancelIdleCallback < "u" && cancelIdleCallback(r), cancelAnimationFrame(s);
  });
}
function Dc(e, t) {
  const n = [document, ...xs(e)];
  n.forEach((a) => {
    a.addEventListener("scroll", t, {
      passive: !0
    });
  }), mt(() => {
    n.forEach((a) => {
      a.removeEventListener("scroll", t);
    });
  });
}
const sl = Symbol.for("vuetify:v-menu"), jy = M({
  closeDelay: [Number, String],
  openDelay: [Number, String]
}, "delay");
function Wy(e, t) {
  let n = () => {
  };
  function a(l) {
    n?.();
    const i = Number(l ? e.openDelay : e.closeDelay);
    return new Promise((o) => {
      n = Lm(i, () => {
        t?.(l), o(l);
      });
    });
  }
  function s() {
    return a(!0);
  }
  function r() {
    return a(!1);
  }
  return {
    clearDelay: n,
    runOpenDelay: s,
    runCloseDelay: r
  };
}
const Gy = M({
  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,
  ...jy()
}, "VOverlay-activator");
function Qy(e, t) {
  let {
    isActive: n,
    isTop: a,
    contentEl: s
  } = t;
  const r = Ue("useActivator"), l = R();
  let i = !1, o = !1, u = !0;
  const c = _(() => e.openOnFocus || e.openOnFocus == null && e.openOnHover), d = _(() => e.openOnClick || e.openOnClick == null && !e.openOnHover && !c.value), {
    runOpenDelay: h,
    runCloseDelay: v
  } = Wy(e, (w) => {
    w === (e.openOnHover && i || c.value && o) && !(e.openOnHover && n.value && !a.value) && (n.value !== w && (u = !0), n.value = w);
  }), f = R(), y = {
    onClick: (w) => {
      w.stopPropagation(), l.value = w.currentTarget || w.target, n.value || (f.value = [w.clientX, w.clientY]), n.value = !n.value;
    },
    onMouseenter: (w) => {
      w.sourceCapabilities?.firesTouchEvents || (i = !0, l.value = w.currentTarget || w.target, h());
    },
    onMouseleave: (w) => {
      i = !1, v();
    },
    onFocus: (w) => {
      ea(w.target, ":focus-visible") !== !1 && (o = !0, w.stopPropagation(), l.value = w.currentTarget || w.target, h());
    },
    onBlur: (w) => {
      o = !1, w.stopPropagation(), v();
    }
  }, m = _(() => {
    const w = {};
    return d.value && (w.onClick = y.onClick), e.openOnHover && (w.onMouseenter = y.onMouseenter, w.onMouseleave = y.onMouseleave), c.value && (w.onFocus = y.onFocus, w.onBlur = y.onBlur), w;
  }), b = _(() => {
    const w = {};
    if (e.openOnHover && (w.onMouseenter = () => {
      i = !0, h();
    }, w.onMouseleave = () => {
      i = !1, v();
    }), c.value && (w.onFocusin = () => {
      o = !0, h();
    }, w.onFocusout = () => {
      o = !1, v();
    }), e.closeOnContentClick) {
      const T = De(sl, null);
      w.onClick = () => {
        n.value = !1, T?.closeParents();
      };
    }
    return w;
  }), S = _(() => {
    const w = {};
    return e.openOnHover && (w.onMouseenter = () => {
      u && (i = !0, u = !1, h());
    }, w.onMouseleave = () => {
      i = !1, v();
    }), w;
  });
  re(a, (w) => {
    w && (e.openOnHover && !i && (!c.value || !o) || c.value && !o && (!e.openOnHover || !i)) && !s.value?.contains(document.activeElement) && (n.value = !1);
  }), re(n, (w) => {
    w || setTimeout(() => {
      f.value = void 0;
    });
  }, {
    flush: "post"
  });
  const P = Qr();
  Ot(() => {
    P.value && Ge(() => {
      l.value = P.el;
    });
  });
  const I = Qr(), k = _(() => e.target === "cursor" && f.value ? f.value : I.value ? I.el : Mc(e.target, r) || l.value), D = _(() => Array.isArray(k.value) ? void 0 : k.value);
  let V;
  return re(() => !!e.activator, (w) => {
    w && Be ? (V = wl(), V.run(() => {
      qy(e, r, {
        activatorEl: l,
        activatorEvents: m
      });
    })) : V && V.stop();
  }, {
    flush: "post",
    immediate: !0
  }), mt(() => {
    V?.stop();
  }), {
    activatorEl: l,
    activatorRef: P,
    target: k,
    targetEl: D,
    targetRef: I,
    activatorEvents: m,
    contentEvents: b,
    scrimEvents: S
  };
}
function qy(e, t, n) {
  let {
    activatorEl: a,
    activatorEvents: s
  } = n;
  re(() => e.activator, (o, u) => {
    if (u && o !== u) {
      const c = i(u);
      c && l(c);
    }
    o && Ge(() => r());
  }, {
    immediate: !0
  }), re(() => e.activatorProps, () => {
    r();
  }), mt(() => {
    l();
  });
  function r() {
    let o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : i(), u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.activatorProps;
    o && Ym(o, j(s.value, u));
  }
  function l() {
    let o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : i(), u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.activatorProps;
    o && jm(o, j(s.value, u));
  }
  function i() {
    let o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : e.activator;
    const u = Mc(o, t);
    return a.value = u?.nodeType === Node.ELEMENT_NODE ? u : void 0, a.value;
  }
}
function Mc(e, t) {
  if (!e) return;
  let n;
  if (e === "parent") {
    let a = t?.proxy?.$el?.parentNode;
    for (; a?.hasAttribute("data-no-activator"); )
      a = a.parentNode;
    n = a;
  } else typeof e == "string" ? n = document.querySelector(e) : "$el" in e ? n = e.$el : n = e;
  return n;
}
function Ky() {
  if (!Be) return ne(!1);
  const {
    ssr: e
  } = $n();
  if (e) {
    const t = ne(!1);
    return Ba(() => {
      t.value = !0;
    }), t;
  } else
    return ne(!0);
}
const Jy = M({
  eager: Boolean
}, "lazy");
function Zy(e, t) {
  const n = ne(!1), a = E(() => n.value || e.eager || t.value);
  re(t, () => n.value = !0);
  function s() {
    e.eager || (n.value = !1);
  }
  return {
    isBooted: n,
    hasContent: a,
    onAfterLeave: s
  };
}
function Kl() {
  const t = Ue("useScopeId").vnode.scopeId;
  return {
    scopeId: t ? {
      [t]: ""
    } : void 0
  };
}
const xo = Symbol.for("vuetify:stack"), ga = Zn([]);
function Xy(e, t, n) {
  const a = Ue("useStack"), s = !n, r = De(xo, void 0), l = Zn({
    activeChildren: /* @__PURE__ */ new Set()
  });
  We(xo, l);
  const i = ne(Number(sn(t)));
  Fn(e, () => {
    const c = ga.at(-1)?.[1];
    i.value = c ? c + 10 : Number(sn(t)), s && ga.push([a.uid, i.value]), r?.activeChildren.add(a.uid), mt(() => {
      if (s) {
        const d = He(ga).findIndex((h) => h[0] === a.uid);
        ga.splice(d, 1);
      }
      r?.activeChildren.delete(a.uid);
    });
  });
  const o = ne(!0);
  s && Ot(() => {
    const c = ga.at(-1)?.[0] === a.uid;
    setTimeout(() => o.value = c);
  });
  const u = E(() => !l.activeChildren.size);
  return {
    globalTop: _l(o),
    localTop: u,
    stackStyles: E(() => ({
      zIndex: i.value
    }))
  };
}
function eg(e) {
  return {
    teleportTarget: _(() => {
      const n = e();
      if (n === !0 || !Be) return;
      const a = n === !1 ? document.body : typeof n == "string" ? document.querySelector(n) : n;
      if (a == null) {
        Ns(`Unable to locate target ${n}`);
        return;
      }
      let s = [...a.children].find((r) => r.matches(".v-overlay-container"));
      return s || (s = document.createElement("div"), s.className = "v-overlay-container", a.appendChild(s)), s;
    })
  };
}
function tg() {
  return !0;
}
function Rc(e, t, n) {
  if (!e || Fc(e, n) === !1) return !1;
  const a = Uu(t);
  if (typeof ShadowRoot < "u" && a instanceof ShadowRoot && a.host === e.target) return !1;
  const s = (typeof n.value == "object" && n.value.include || (() => []))();
  return s.push(t), !s.some((r) => r?.contains(e.target));
}
function Fc(e, t) {
  return (typeof t.value == "object" && t.value.closeConditional || tg)(e);
}
function ng(e, t, n) {
  const a = typeof n.value == "function" ? n.value : n.value.handler;
  e.shadowTarget = e.target, t._clickOutside.lastMousedownWasOutside && Rc(e, t, n) && setTimeout(() => {
    Fc(e, n) && a && a(e);
  }, 0);
}
function Io(e, t) {
  const n = Uu(e);
  t(document), typeof ShadowRoot < "u" && n instanceof ShadowRoot && t(n);
}
const Oo = {
  // [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, t) {
    const n = (s) => ng(s, e, t), a = (s) => {
      e._clickOutside.lastMousedownWasOutside = Rc(s, e, t);
    };
    Io(e, (s) => {
      s.addEventListener("click", n, !0), s.addEventListener("mousedown", a, !0);
    }), e._clickOutside || (e._clickOutside = {
      lastMousedownWasOutside: !1
    }), e._clickOutside[t.instance.$.uid] = {
      onClick: n,
      onMousedown: a
    };
  },
  beforeUnmount(e, t) {
    e._clickOutside && (Io(e, (n) => {
      if (!n || !e._clickOutside?.[t.instance.$.uid]) return;
      const {
        onClick: a,
        onMousedown: s
      } = e._clickOutside[t.instance.$.uid];
      n.removeEventListener("click", a, !0), n.removeEventListener("mousedown", s, !0);
    }), delete e._clickOutside[t.instance.$.uid]);
  }
};
function ag(e) {
  const {
    modelValue: t,
    color: n,
    ...a
  } = e;
  return g(Mn, {
    name: "fade-transition",
    appear: !0
  }, {
    default: () => [e.modelValue && p("div", j({
      class: ["v-overlay__scrim", e.color.backgroundColorClasses.value],
      style: e.color.backgroundColorStyles.value
    }, a), null)]
  });
}
const Jl = M({
  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
  },
  ...Gy(),
  ...de(),
  ...un(),
  ...Jy(),
  ...My(),
  ...$y(),
  ...Ye(),
  ...oa()
}, "VOverlay"), Vs = Q()({
  name: "VOverlay",
  directives: {
    vClickOutside: Oo
  },
  inheritAttrs: !1,
  props: {
    _disableGlobalStack: Boolean,
    ...Jl()
  },
  emits: {
    "click:outside": (e) => !0,
    "update:modelValue": (e) => !0,
    keydown: (e) => !0,
    afterEnter: () => !0,
    afterLeave: () => !0
  },
  setup(e, t) {
    let {
      slots: n,
      attrs: a,
      emit: s
    } = t;
    const r = Ue("VOverlay"), l = R(), i = R(), o = R(), u = ke(e, "modelValue"), c = _({
      get: () => u.value,
      set: (J) => {
        J && e.disabled || (u.value = J);
      }
    }), {
      themeClasses: d
    } = Ze(e), {
      rtlClasses: h,
      isRtl: v
    } = Mt(), {
      hasContent: f,
      onAfterLeave: y
    } = Zy(e, c), m = $t(() => typeof e.scrim == "string" ? e.scrim : null), {
      globalTop: b,
      localTop: S,
      stackStyles: P
    } = Xy(c, () => e.zIndex, e._disableGlobalStack), {
      activatorEl: I,
      activatorRef: k,
      target: D,
      targetEl: V,
      targetRef: w,
      activatorEvents: T,
      contentEvents: N,
      scrimEvents: $
    } = Qy(e, {
      isActive: c,
      isTop: S,
      contentEl: o
    }), {
      teleportTarget: B
    } = eg(() => {
      const J = e.attach || e.contained;
      if (J) return J;
      const Ee = I?.value?.getRootNode() || r.proxy?.$el?.getRootNode();
      return Ee instanceof ShadowRoot ? Ee : !1;
    }), {
      dimensionStyles: A
    } = cn(e), U = Ky(), {
      scopeId: Y
    } = Kl();
    re(() => e.disabled, (J) => {
      J && (c.value = !1);
    });
    const {
      contentStyles: G,
      updateLocation: le
    } = Ry(e, {
      isRtl: v,
      contentEl: o,
      target: D,
      isActive: c
    });
    Uy(e, {
      root: l,
      contentEl: o,
      targetEl: V,
      isActive: c,
      updateLocation: le
    });
    function oe(J) {
      s("click:outside", J), e.persistent ? se() : c.value = !1;
    }
    function _e(J) {
      return c.value && b.value && // If using scrim, only close if clicking on it rather than anything opened on top
      (!e.scrim || J.target === i.value || J instanceof MouseEvent && J.shadowTarget === i.value);
    }
    Be && re(c, (J) => {
      J ? window.addEventListener("keydown", x) : window.removeEventListener("keydown", x);
    }, {
      immediate: !0
    }), Et(() => {
      Be && window.removeEventListener("keydown", x);
    });
    function x(J) {
      J.key === "Escape" && b.value && (o.value?.contains(document.activeElement) || s("keydown", J), e.persistent ? se() : (c.value = !1, o.value?.contains(document.activeElement) && I.value?.focus()));
    }
    function O(J) {
      J.key === "Escape" && !b.value || s("keydown", J);
    }
    const F = ly();
    Fn(() => e.closeOnBack, () => {
      iy(F, (J) => {
        b.value && c.value ? (J(!1), e.persistent ? se() : c.value = !1) : J();
      });
    });
    const q = R();
    re(() => c.value && (e.absolute || e.contained) && B.value == null, (J) => {
      if (J) {
        const Ee = zu(l.value);
        Ee && Ee !== document.scrollingElement && (q.value = Ee.scrollTop);
      }
    });
    function se() {
      e.noClickAnimation || o.value && Gn(o.value, [{
        transformOrigin: "center"
      }, {
        transform: "scale(1.03)"
      }, {
        transformOrigin: "center"
      }], {
        duration: 150,
        easing: Ps
      });
    }
    function ae() {
      s("afterEnter");
    }
    function ie() {
      y(), s("afterLeave");
    }
    return ee(() => p(pe, null, [n.activator?.({
      isActive: c.value,
      targetRef: w,
      props: j({
        ref: k
      }, T.value, e.activatorProps)
    }), U.value && f.value && g(Bf, {
      disabled: !B.value,
      to: B.value
    }, {
      default: () => [p("div", j({
        class: ["v-overlay", {
          "v-overlay--absolute": e.absolute || e.contained,
          "v-overlay--active": c.value,
          "v-overlay--contained": e.contained
        }, d.value, h.value, e.class],
        style: [P.value, {
          "--v-overlay-opacity": e.opacity,
          top: te(q.value)
        }, e.style],
        ref: l,
        onKeydown: O
      }, Y, a), [g(ag, j({
        color: m,
        modelValue: c.value && !!e.scrim,
        ref: i
      }, $.value), null), g(gn, {
        appear: !0,
        persisted: !0,
        transition: e.transition,
        target: D.value,
        onAfterEnter: ae,
        onAfterLeave: ie
      }, {
        default: () => [ht(p("div", j({
          ref: o,
          class: ["v-overlay__content", e.contentClass],
          style: [A.value, G.value]
        }, N.value, e.contentProps), [n.default?.({
          isActive: c
        })]), [[Bn, c.value], [Oo, {
          handler: oe,
          closeConditional: _e,
          include: () => [I.value]
        }]])]
      })])]
    })])), {
      activatorEl: I,
      scrimEl: i,
      target: D,
      animateClick: se,
      contentEl: o,
      globalTop: b,
      localTop: S,
      updateLocation: le
    };
  }
}), Vr = Symbol("Forwarded refs");
function Er(e, t) {
  let n = e;
  for (; n; ) {
    const a = Reflect.getOwnPropertyDescriptor(n, t);
    if (a) return a;
    n = Object.getPrototypeOf(n);
  }
}
function ua(e) {
  for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++)
    n[a - 1] = arguments[a];
  return e[Vr] = n, new Proxy(e, {
    get(s, r) {
      if (Reflect.has(s, r))
        return Reflect.get(s, r);
      if (!(typeof r == "symbol" || r.startsWith("$") || r.startsWith("__"))) {
        for (const l of n)
          if (l.value && Reflect.has(l.value, r)) {
            const i = Reflect.get(l.value, r);
            return typeof i == "function" ? i.bind(l.value) : i;
          }
      }
    },
    has(s, r) {
      if (Reflect.has(s, r))
        return !0;
      if (typeof r == "symbol" || r.startsWith("$") || r.startsWith("__")) return !1;
      for (const l of n)
        if (l.value && Reflect.has(l.value, r))
          return !0;
      return !1;
    },
    set(s, r, l) {
      if (Reflect.has(s, r))
        return Reflect.set(s, r, l);
      if (typeof r == "symbol" || r.startsWith("$") || r.startsWith("__")) return !1;
      for (const i of n)
        if (i.value && Reflect.has(i.value, r))
          return Reflect.set(i.value, r, l);
      return !1;
    },
    getOwnPropertyDescriptor(s, r) {
      const l = Reflect.getOwnPropertyDescriptor(s, r);
      if (l) return l;
      if (!(typeof r == "symbol" || r.startsWith("$") || r.startsWith("__"))) {
        for (const i of n) {
          if (!i.value) continue;
          const o = Er(i.value, r) ?? ("_" in i.value ? Er(i.value._?.setupState, r) : void 0);
          if (o) return o;
        }
        for (const i of n) {
          const o = i.value && i.value[Vr];
          if (!o) continue;
          const u = o.slice();
          for (; u.length; ) {
            const c = u.shift(), d = Er(c.value, r);
            if (d) return d;
            const h = c.value && c.value[Vr];
            h && u.push(...h);
          }
        }
      }
    }
  });
}
const sg = M({
  // TODO
  // disableKeys: Boolean,
  id: String,
  submenu: Boolean,
  ...kn(Jl({
    closeDelay: 250,
    closeOnContentClick: !0,
    locationStrategy: "connected",
    location: void 0,
    openDelay: 300,
    scrim: !1,
    scrollStrategy: "reposition",
    transition: {
      component: Ul
    }
  }), ["absolute"])
}, "VMenu"), Lc = Q()({
  name: "VMenu",
  props: sg(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, t) {
    let {
      slots: n
    } = t;
    const a = ke(e, "modelValue"), {
      scopeId: s
    } = Kl(), {
      isRtl: r
    } = Mt(), l = on(), i = E(() => e.id || `v-menu-${l}`), o = R(), u = De(sl, null), c = ne(/* @__PURE__ */ new Set());
    We(sl, {
      register() {
        c.value.add(l);
      },
      unregister() {
        c.value.delete(l);
      },
      closeParents(m) {
        setTimeout(() => {
          !c.value.size && !e.persistent && (m == null || o.value?.contentEl && !Nm(m, o.value.contentEl)) && (a.value = !1, u?.closeParents());
        }, 40);
      }
    }), Et(() => {
      u?.unregister(), document.removeEventListener("focusin", d);
    }), $f(() => a.value = !1);
    async function d(m) {
      const b = m.relatedTarget, S = m.target;
      await Ge(), a.value && b !== S && o.value?.contentEl && // We're the topmost menu
      o.value?.globalTop && // It isn't the document or the menu body
      ![document, o.value.contentEl].includes(S) && // It isn't inside the menu body
      !o.value.contentEl.contains(S) && Ia(o.value.contentEl)[0]?.focus();
    }
    re(a, (m) => {
      m ? (u?.register(), Be && document.addEventListener("focusin", d, {
        once: !0
      })) : (u?.unregister(), Be && document.removeEventListener("focusin", d));
    }, {
      immediate: !0
    });
    function h(m) {
      u?.closeParents(m);
    }
    function v(m) {
      if (!e.disabled)
        if (m.key === "Tab" || m.key === "Enter" && !e.closeOnContentClick) {
          if (m.key === "Enter" && (m.target instanceof HTMLTextAreaElement || m.target instanceof HTMLInputElement && m.target.closest("form"))) return;
          m.key === "Enter" && m.preventDefault(), Ru(Ia(o.value?.contentEl, !1), m.shiftKey ? "prev" : "next", (S) => S.tabIndex >= 0) || (a.value = !1, o.value?.activatorEl?.focus());
        } else e.submenu && m.key === (r.value ? "ArrowRight" : "ArrowLeft") && (a.value = !1, o.value?.activatorEl?.focus());
    }
    function f(m) {
      if (e.disabled) return;
      const b = o.value?.contentEl;
      b && a.value ? m.key === "ArrowDown" ? (m.preventDefault(), m.stopImmediatePropagation(), Ca(b, "next")) : m.key === "ArrowUp" ? (m.preventDefault(), m.stopImmediatePropagation(), Ca(b, "prev")) : e.submenu && (m.key === (r.value ? "ArrowRight" : "ArrowLeft") ? a.value = !1 : m.key === (r.value ? "ArrowLeft" : "ArrowRight") && (m.preventDefault(), Ca(b, "first"))) : (e.submenu ? m.key === (r.value ? "ArrowLeft" : "ArrowRight") : ["ArrowDown", "ArrowUp"].includes(m.key)) && (a.value = !0, m.preventDefault(), setTimeout(() => setTimeout(() => f(m))));
    }
    const y = _(() => j({
      "aria-haspopup": "menu",
      "aria-expanded": String(a.value),
      "aria-controls": i.value,
      onKeydown: f
    }, e.activatorProps));
    return ee(() => {
      const m = Vs.filterProps(e);
      return g(Vs, j({
        ref: o,
        id: i.value,
        class: ["v-menu", e.class],
        style: e.style
      }, m, {
        modelValue: a.value,
        "onUpdate:modelValue": (b) => a.value = b,
        absolute: !0,
        activatorProps: y.value,
        location: e.location ?? (e.submenu ? "end" : "bottom"),
        "onClick:outside": h,
        onKeydown: v
      }, s), {
        activator: n.activator,
        default: function() {
          for (var b = arguments.length, S = new Array(b), P = 0; P < b; P++)
            S[P] = arguments[P];
          return g(Ne, {
            root: "VMenu"
          }, {
            default: () => [n.default?.(...S)]
          });
        }
      });
    }), ua({
      id: i,
      ΨopenChildren: c
    }, o);
  }
}), rg = M({
  active: Boolean,
  disabled: Boolean,
  max: [Number, String],
  value: {
    type: [Number, String],
    default: 0
  },
  ...de(),
  ...oa({
    transition: {
      component: sc
    }
  })
}, "VCounter"), lg = Q()({
  name: "VCounter",
  functional: !0,
  props: rg(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const a = E(() => e.max ? `${e.value} / ${e.max}` : String(e.value));
    return ee(() => g(gn, {
      transition: e.transition
    }, {
      default: () => [ht(p("div", {
        class: K(["v-counter", {
          "text-error": e.max && !e.disabled && parseFloat(e.value) > parseFloat(e.max)
        }, e.class]),
        style: Z(e.style)
      }, [n.default ? n.default({
        counter: a.value,
        max: e.max,
        value: e.value
      }) : a.value]), [[Bn, e.active]])]
    })), {};
  }
}), ig = M({
  floating: Boolean,
  ...de()
}, "VFieldLabel"), us = Q()({
  name: "VFieldLabel",
  props: ig(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    return ee(() => g(Bl, {
      class: K(["v-field-label", {
        "v-field-label--floating": e.floating
      }, e.class]),
      style: Z(e.style),
      "aria-hidden": e.floating || void 0
    }, n)), {};
  }
});
function Nc(e, t) {
  const n = R(), a = ne(!1);
  if (Tl) {
    const s = new IntersectionObserver((r) => {
      a.value = !!r.find((l) => l.isIntersecting);
    }, t);
    Et(() => {
      s.disconnect();
    }), re(n, (r, l) => {
      l && (s.unobserve(l), a.value = !1), r && s.observe(r);
    }, {
      flush: "post"
    });
  }
  return {
    intersectionRef: n,
    isIntersecting: a
  };
}
const To = {
  center: "center",
  top: "bottom",
  bottom: "top",
  left: "right",
  right: "left"
}, Zl = M({
  location: String
}, "location");
function Xl(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, n = arguments.length > 2 ? arguments[2] : void 0;
  const {
    isRtl: a
  } = Mt();
  return {
    locationStyles: _(() => {
      if (!e.location) return {};
      const {
        side: r,
        align: l
      } = qr(e.location.split(" ").length > 1 ? e.location : `${e.location} center`, a.value);
      function i(u) {
        return n ? n(u) : 0;
      }
      const o = {};
      return r !== "center" && (t ? o[To[r]] = `calc(100% - ${i(r)}px)` : o[r] = 0), l !== "center" ? t ? o[To[l]] = `calc(100% - ${i(l)}px)` : o[l] = 0 : (r === "center" ? o.top = o.left = "50%" : o[{
        top: "left",
        bottom: "left",
        left: "top",
        right: "top"
      }[r]] = "50%", o.transform = {
        top: "translateX(-50%)",
        bottom: "translateX(-50%)",
        left: "translateY(-50%)",
        right: "translateY(-50%)",
        center: "translate(-50%, -50%)"
      }[r]), o;
    })
  };
}
const og = M({
  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,
  ...de(),
  ...Zl({
    location: "top"
  }),
  ...kt(),
  ...Le(),
  ...Ye()
}, "VProgressLinear"), ei = Q()({
  name: "VProgressLinear",
  props: og(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, t) {
    let {
      slots: n
    } = t;
    const a = ke(e, "modelValue"), {
      isRtl: s,
      rtlClasses: r
    } = Mt(), {
      themeClasses: l
    } = Ze(e), {
      locationStyles: i
    } = Xl(e), {
      textColorClasses: o,
      textColorStyles: u
    } = Ht(() => e.color), {
      backgroundColorClasses: c,
      backgroundColorStyles: d
    } = $t(() => e.bgColor || e.color), {
      backgroundColorClasses: h,
      backgroundColorStyles: v
    } = $t(() => e.bufferColor || e.bgColor || e.color), {
      backgroundColorClasses: f,
      backgroundColorStyles: y
    } = $t(() => e.color), {
      roundedClasses: m
    } = Dt(e), {
      intersectionRef: b,
      isIntersecting: S
    } = Nc(), P = _(() => parseFloat(e.max)), I = _(() => parseFloat(e.height)), k = _(() => bt(parseFloat(e.bufferValue) / P.value * 100, 0, 100)), D = _(() => bt(parseFloat(a.value) / P.value * 100, 0, 100)), V = _(() => s.value !== e.reverse), w = _(() => e.indeterminate ? "fade-transition" : "slide-x-transition"), T = Be && window.matchMedia?.("(forced-colors: active)").matches;
    function N($) {
      if (!b.value) return;
      const {
        left: B,
        right: A,
        width: U
      } = b.value.getBoundingClientRect(), Y = V.value ? U - $.clientX + (A - U) : $.clientX - B;
      a.value = Math.round(Y / U * P.value);
    }
    return ee(() => g(e.tag, {
      ref: b,
      class: K(["v-progress-linear", {
        "v-progress-linear--absolute": e.absolute,
        "v-progress-linear--active": e.active && S.value,
        "v-progress-linear--reverse": V.value,
        "v-progress-linear--rounded": e.rounded,
        "v-progress-linear--rounded-bar": e.roundedBar,
        "v-progress-linear--striped": e.striped
      }, m.value, l.value, r.value, e.class]),
      style: Z([{
        bottom: e.location === "bottom" ? 0 : void 0,
        top: e.location === "top" ? 0 : void 0,
        height: e.active ? te(I.value) : 0,
        "--v-progress-linear-height": te(I.value),
        ...e.absolute ? i.value : {}
      }, e.style]),
      role: "progressbar",
      "aria-hidden": e.active ? "false" : "true",
      "aria-valuemin": "0",
      "aria-valuemax": e.max,
      "aria-valuenow": e.indeterminate ? void 0 : Math.min(parseFloat(a.value), P.value),
      onClick: e.clickable && N
    }, {
      default: () => [e.stream && p("div", {
        key: "stream",
        class: K(["v-progress-linear__stream", o.value]),
        style: Z({
          ...u.value,
          [V.value ? "left" : "right"]: te(-I.value),
          borderTop: `${te(I.value / 2)} dotted`,
          opacity: parseFloat(e.bufferOpacity),
          top: `calc(50% - ${te(I.value / 4)})`,
          width: te(100 - k.value, "%"),
          "--v-progress-linear-stream-to": te(I.value * (V.value ? 1 : -1))
        })
      }, null), p("div", {
        class: K(["v-progress-linear__background", T ? void 0 : c.value]),
        style: Z([d.value, {
          opacity: parseFloat(e.bgOpacity),
          width: e.stream ? 0 : void 0
        }])
      }, null), p("div", {
        class: K(["v-progress-linear__buffer", T ? void 0 : h.value]),
        style: Z([v.value, {
          opacity: parseFloat(e.bufferOpacity),
          width: te(k.value, "%")
        }])
      }, null), g(Mn, {
        name: w.value
      }, {
        default: () => [e.indeterminate ? p("div", {
          class: "v-progress-linear__indeterminate"
        }, [["long", "short"].map(($) => p("div", {
          key: $,
          class: K(["v-progress-linear__indeterminate", $, T ? void 0 : f.value]),
          style: Z(y.value)
        }, null))]) : p("div", {
          class: K(["v-progress-linear__determinate", T ? void 0 : f.value]),
          style: Z([y.value, {
            width: te(D.value, "%")
          }])
        }, null)]
      }), n.default && p("div", {
        class: "v-progress-linear__content"
      }, [n.default({
        value: D.value,
        buffer: k.value
      })])]
    })), {};
  }
}), er = M({
  loading: [Boolean, String]
}, "loader");
function Ka(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
  return {
    loaderClasses: E(() => ({
      [`${t}--loading`]: e.loading
    }))
  };
}
function tr(e, t) {
  let {
    slots: n
  } = t;
  return p("div", {
    class: K(`${e.name}__loader`)
  }, [n.default?.({
    color: e.color,
    isActive: e.active
  }) || g(ei, {
    absolute: e.absolute,
    active: e.active,
    color: e.color,
    height: "2",
    indeterminate: !0
  }, null)]);
}
const ug = ["underlined", "outlined", "filled", "solo", "solo-inverted", "solo-filled", "plain"], Bc = M({
  appendInnerIcon: ue,
  bgColor: String,
  clearable: Boolean,
  clearIcon: {
    type: ue,
    default: "$clear"
  },
  active: Boolean,
  centerAffix: {
    type: Boolean,
    default: void 0
  },
  color: String,
  baseColor: String,
  dirty: Boolean,
  disabled: {
    type: Boolean,
    default: null
  },
  glow: Boolean,
  error: Boolean,
  flat: Boolean,
  iconColor: [Boolean, String],
  label: String,
  persistentClear: Boolean,
  prependInnerIcon: ue,
  reverse: Boolean,
  singleLine: Boolean,
  variant: {
    type: String,
    default: "filled",
    validator: (e) => ug.includes(e)
  },
  "onClick:clear": Je(),
  "onClick:appendInner": Je(),
  "onClick:prependInner": Je(),
  ...de(),
  ...er(),
  ...kt(),
  ...Ye()
}, "VField"), Vo = Q()({
  name: "VField",
  inheritAttrs: !1,
  props: {
    id: String,
    ...ic(),
    ...Bc()
  },
  emits: {
    "update:focused": (e) => !0,
    "update:modelValue": (e) => !0
  },
  setup(e, t) {
    let {
      attrs: n,
      emit: a,
      slots: s
    } = t;
    const {
      themeClasses: r
    } = Ze(e), {
      loaderClasses: l
    } = Ka(e), {
      focusClasses: i,
      isFocused: o,
      focus: u,
      blur: c
    } = zl(e), {
      InputIcon: d
    } = tc(e), {
      roundedClasses: h
    } = Dt(e), {
      rtlClasses: v
    } = Mt(), f = E(() => e.dirty || e.active), y = E(() => !!(e.label || s.label)), m = E(() => !e.singleLine && y.value), b = on(), S = _(() => e.id || `input-${b}`), P = E(() => `${S.value}-messages`), I = R(), k = R(), D = R(), V = _(() => ["plain", "underlined"].includes(e.variant)), w = _(() => e.error || e.disabled ? void 0 : f.value && o.value ? e.color : e.baseColor), T = _(() => {
      if (!(!e.iconColor || e.glow && !o.value))
        return e.iconColor === !0 ? w.value : e.iconColor;
    }), {
      backgroundColorClasses: N,
      backgroundColorStyles: $
    } = $t(() => e.bgColor), {
      textColorClasses: B,
      textColorStyles: A
    } = Ht(w);
    re(f, (G) => {
      if (m.value) {
        const le = I.value.$el, oe = k.value.$el;
        requestAnimationFrame(() => {
          const _e = Ml(le), x = oe.getBoundingClientRect(), O = x.x - _e.x, F = x.y - _e.y - (_e.height / 2 - x.height / 2), q = x.width / 0.75, se = Math.abs(q - _e.width) > 1 ? {
            maxWidth: te(q)
          } : void 0, ae = getComputedStyle(le), ie = getComputedStyle(oe), J = parseFloat(ae.transitionDuration) * 1e3 || 150, Ee = parseFloat(ie.getPropertyValue("--v-field-label-scale")), Se = ie.getPropertyValue("color");
          le.style.visibility = "visible", oe.style.visibility = "hidden", Gn(le, {
            transform: `translate(${O}px, ${F}px) scale(${Ee})`,
            color: Se,
            ...se
          }, {
            duration: J,
            easing: Ps,
            direction: G ? "normal" : "reverse"
          }).finished.then(() => {
            le.style.removeProperty("visibility"), oe.style.removeProperty("visibility");
          });
        });
      }
    }, {
      flush: "post"
    });
    const U = _(() => ({
      isActive: f,
      isFocused: o,
      controlRef: D,
      blur: c,
      focus: u
    }));
    function Y(G) {
      G.target !== document.activeElement && G.preventDefault();
    }
    return ee(() => {
      const G = e.variant === "outlined", le = !!(s["prepend-inner"] || e.prependInnerIcon), oe = !!(e.clearable || s.clear) && !e.disabled, _e = !!(s["append-inner"] || e.appendInnerIcon || oe), x = () => s.label ? s.label({
        ...U.value,
        label: e.label,
        props: {
          for: S.value
        }
      }) : e.label;
      return p("div", j({
        class: ["v-field", {
          "v-field--active": f.value,
          "v-field--appended": _e,
          "v-field--center-affix": e.centerAffix ?? !V.value,
          "v-field--disabled": e.disabled,
          "v-field--dirty": e.dirty,
          "v-field--error": e.error,
          "v-field--glow": e.glow,
          "v-field--flat": e.flat,
          "v-field--has-background": !!e.bgColor,
          "v-field--persistent-clear": e.persistentClear,
          "v-field--prepended": le,
          "v-field--reverse": e.reverse,
          "v-field--single-line": e.singleLine,
          "v-field--no-label": !x(),
          [`v-field--variant-${e.variant}`]: !0
        }, r.value, N.value, i.value, l.value, h.value, v.value, e.class],
        style: [$.value, e.style],
        onClick: Y
      }, n), [p("div", {
        class: "v-field__overlay"
      }, null), g(tr, {
        name: "v-field",
        active: !!e.loading,
        color: e.error ? "error" : typeof e.loading == "string" ? e.loading : e.color
      }, {
        default: s.loader
      }), le && p("div", {
        key: "prepend",
        class: "v-field__prepend-inner"
      }, [e.prependInnerIcon && g(d, {
        key: "prepend-icon",
        name: "prependInner",
        color: T.value
      }, null), s["prepend-inner"]?.(U.value)]), p("div", {
        class: "v-field__field",
        "data-no-activator": ""
      }, [["filled", "solo", "solo-inverted", "solo-filled"].includes(e.variant) && m.value && g(us, {
        key: "floating-label",
        ref: k,
        class: K([B.value]),
        floating: !0,
        for: S.value,
        style: Z(A.value)
      }, {
        default: () => [x()]
      }), y.value && g(us, {
        key: "label",
        ref: I,
        for: S.value
      }, {
        default: () => [x()]
      }), s.default?.({
        ...U.value,
        props: {
          id: S.value,
          class: "v-field__input",
          "aria-describedby": P.value
        },
        focus: u,
        blur: c
      }) ?? p("div", {
        id: S.value,
        class: "v-field__input",
        "aria-describedby": P.value
      }, null)]), oe && g(lc, {
        key: "clear"
      }, {
        default: () => [ht(p("div", {
          class: "v-field__clearable",
          onMousedown: (O) => {
            O.preventDefault(), O.stopPropagation();
          }
        }, [g(Ne, {
          defaults: {
            VIcon: {
              icon: e.clearIcon
            }
          }
        }, {
          default: () => [s.clear ? s.clear({
            ...U.value,
            props: {
              onFocus: u,
              onBlur: c,
              onClick: e["onClick:clear"],
              tabindex: -1
            }
          }) : g(d, {
            name: "clear",
            onFocus: u,
            onBlur: c,
            tabindex: -1
          }, null)]
        })]), [[Bn, e.dirty]])]
      }), _e && p("div", {
        key: "append",
        class: "v-field__append-inner"
      }, [s["append-inner"]?.(U.value), e.appendInnerIcon && g(d, {
        key: "append-icon",
        name: "appendInner",
        color: T.value
      }, null)]), p("div", {
        class: K(["v-field__outline", B.value]),
        style: Z(A.value)
      }, [G && p(pe, null, [p("div", {
        class: "v-field__outline__start"
      }, null), m.value && p("div", {
        class: "v-field__outline__notch"
      }, [g(us, {
        ref: k,
        floating: !0,
        for: S.value
      }, {
        default: () => [x()]
      })]), p("div", {
        class: "v-field__outline__end"
      }, null)]), V.value && m.value && g(us, {
        ref: k,
        floating: !0,
        for: S.value
      }, {
        default: () => [x()]
      })])]);
    }), {
      controlRef: D,
      fieldIconColor: T
    };
  }
}), cg = ["color", "file", "time", "date", "datetime-local", "week", "month"], ti = M({
  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,
  ...qs(),
  ...Bc()
}, "VTextField"), Da = Q()({
  name: "VTextField",
  directives: {
    vIntersect: Is
  },
  inheritAttrs: !1,
  props: ti(),
  emits: {
    "click:control": (e) => !0,
    "mousedown:control": (e) => !0,
    "update:focused": (e) => !0,
    "update:modelValue": (e) => !0
  },
  setup(e, t) {
    let {
      attrs: n,
      emit: a,
      slots: s
    } = t;
    const r = ke(e, "modelValue"), {
      isFocused: l,
      focus: i,
      blur: o
    } = zl(e), u = _(() => typeof e.counterValue == "function" ? e.counterValue(r.value) : typeof e.counterValue == "number" ? e.counterValue : (r.value ?? "").toString().length), c = _(() => {
      if (n.maxlength) return n.maxlength;
      if (!(!e.counter || typeof e.counter != "number" && typeof e.counter != "string"))
        return e.counter;
    }), d = _(() => ["plain", "underlined"].includes(e.variant));
    function h(D, V) {
      !e.autofocus || !D || V[0].target?.focus?.();
    }
    const v = R(), f = R(), y = R(), m = _(() => cg.includes(e.type) || e.persistentPlaceholder || l.value || e.active);
    function b() {
      y.value !== document.activeElement && y.value?.focus(), l.value || i();
    }
    function S(D) {
      a("mousedown:control", D), D.target !== y.value && (b(), D.preventDefault());
    }
    function P(D) {
      b(), a("click:control", D);
    }
    function I(D, V) {
      D.stopPropagation(), b(), Ge(() => {
        r.value = null, V(), Mu(e["onClick:clear"], D);
      });
    }
    function k(D) {
      const V = D.target;
      if (r.value = V.value, e.modelModifiers?.trim && ["text", "search", "password", "tel", "url"].includes(e.type)) {
        const w = [V.selectionStart, V.selectionEnd];
        Ge(() => {
          V.selectionStart = w[0], V.selectionEnd = w[1];
        });
      }
    }
    return ee(() => {
      const D = !!(s.counter || e.counter !== !1 && e.counter != null), V = !!(D || s.details), [w, T] = Ws(n), {
        modelValue: N,
        ...$
      } = ta.filterProps(e), B = Vo.filterProps(e);
      return g(ta, j({
        ref: v,
        modelValue: r.value,
        "onUpdate:modelValue": (A) => r.value = A,
        class: ["v-text-field", {
          "v-text-field--prefixed": e.prefix,
          "v-text-field--suffixed": e.suffix,
          "v-input--plain-underlined": d.value
        }, e.class],
        style: e.style
      }, w, $, {
        centerAffix: !d.value,
        focused: l.value
      }), {
        ...s,
        default: (A) => {
          let {
            id: U,
            isDisabled: Y,
            isDirty: G,
            isReadonly: le,
            isValid: oe,
            reset: _e
          } = A;
          return g(Vo, j({
            ref: f,
            onMousedown: S,
            onClick: P,
            "onClick:clear": (x) => I(x, _e),
            "onClick:prependInner": e["onClick:prependInner"],
            "onClick:appendInner": e["onClick:appendInner"],
            role: e.role
          }, B, {
            id: U.value,
            active: m.value || G.value,
            dirty: G.value || e.dirty,
            disabled: Y.value,
            focused: l.value,
            error: oe.value === !1
          }), {
            ...s,
            default: (x) => {
              let {
                props: {
                  class: O,
                  ...F
                }
              } = x;
              const q = ht(p("input", j({
                ref: y,
                value: r.value,
                onInput: k,
                autofocus: e.autofocus,
                readonly: le.value,
                disabled: Y.value,
                name: e.name,
                placeholder: e.placeholder,
                size: 1,
                type: e.type,
                onFocus: b,
                onBlur: o
              }, F, T), null), [[Is, {
                handler: h
              }, null, {
                once: !0
              }]]);
              return p(pe, null, [e.prefix && p("span", {
                class: "v-text-field__prefix"
              }, [p("span", {
                class: "v-text-field__prefix__text"
              }, [e.prefix])]), s.default ? p("div", {
                class: K(O),
                "data-no-activator": ""
              }, [s.default(), q]) : Uf(q, {
                class: O
              }), e.suffix && p("span", {
                class: "v-text-field__suffix"
              }, [p("span", {
                class: "v-text-field__suffix__text"
              }, [e.suffix])])]);
            }
          });
        },
        details: V ? (A) => p(pe, null, [s.details?.(A), D && p(pe, null, [p("span", null, null), g(lg, {
          active: e.persistentCounter || l.value,
          value: u.value,
          max: c.value,
          disabled: e.disabled
        }, s.counter)])]) : void 0
      });
    }), ua({}, v, f, y);
  }
}), dg = M({
  renderless: Boolean,
  ...de()
}, "VVirtualScrollItem"), fg = Q()({
  name: "VVirtualScrollItem",
  inheritAttrs: !1,
  props: dg(),
  emits: {
    "update:height": (e) => !0
  },
  setup(e, t) {
    let {
      attrs: n,
      emit: a,
      slots: s
    } = t;
    const {
      resizeRef: r,
      contentRect: l
    } = na(void 0, "border");
    re(() => l.value?.height, (i) => {
      i != null && a("update:height", i);
    }), ee(() => e.renderless ? p(pe, null, [s.default?.({
      itemRef: r
    })]) : p("div", j({
      ref: r,
      class: ["v-virtual-scroll__item", e.class],
      style: e.style
    }, n), [s.default?.()]));
  }
}), hg = -1, mg = 1, Ar = 100, vg = M({
  itemHeight: {
    type: [Number, String],
    default: null
  },
  itemKey: {
    type: [String, Array, Function],
    default: null
  },
  height: [Number, String]
}, "virtual");
function yg(e, t) {
  const n = $n(), a = ne(0);
  Ot(() => {
    a.value = parseFloat(e.itemHeight || 0);
  });
  const s = ne(0), r = ne(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) || n.height.value) / (a.value || 16)
  ) || 1), l = ne(0), i = ne(0), o = R(), u = R();
  let c = 0;
  const {
    resizeRef: d,
    contentRect: h
  } = na();
  Ot(() => {
    d.value = o.value;
  });
  const v = _(() => o.value === document.documentElement ? n.height.value : h.value?.height || parseInt(e.height) || 0), f = _(() => !!(o.value && u.value && v.value && a.value));
  let y = Array.from({
    length: t.value.length
  }), m = Array.from({
    length: t.value.length
  });
  const b = ne(0);
  let S = -1;
  function P(x) {
    return y[x] || a.value;
  }
  const I = Dm(() => {
    const x = performance.now();
    m[0] = 0;
    const O = t.value.length;
    for (let F = 1; F <= O - 1; F++)
      m[F] = (m[F - 1] || 0) + P(F - 1);
    b.value = Math.max(b.value, performance.now() - x);
  }, b), k = re(f, (x) => {
    x && (k(), c = u.value.offsetTop, I.immediate(), G(), ~S && Ge(() => {
      Be && window.requestAnimationFrame(() => {
        oe(S), S = -1;
      });
    }));
  });
  mt(() => {
    I.clear();
  });
  function D(x, O) {
    const F = y[x], q = a.value;
    a.value = q ? Math.min(a.value, O) : O, (F !== O || q !== a.value) && (y[x] = O, I());
  }
  function V(x) {
    return x = bt(x, 0, t.value.length - 1), m[x] || 0;
  }
  function w(x) {
    return gg(m, x);
  }
  let T = 0, N = 0, $ = 0;
  re(v, (x, O) => {
    O && (G(), x < O && requestAnimationFrame(() => {
      N = 0, G();
    }));
  });
  let B = -1;
  function A() {
    if (!o.value || !u.value) return;
    const x = o.value.scrollTop, O = performance.now();
    O - $ > 500 ? (N = Math.sign(x - T), c = u.value.offsetTop) : N = x - T, T = x, $ = O, window.clearTimeout(B), B = window.setTimeout(U, 500), G();
  }
  function U() {
    !o.value || !u.value || (N = 0, $ = 0, window.clearTimeout(B), G());
  }
  let Y = -1;
  function G() {
    cancelAnimationFrame(Y), Y = requestAnimationFrame(le);
  }
  function le() {
    if (!o.value || !v.value) return;
    const x = T - c, O = Math.sign(N), F = Math.max(0, x - Ar), q = bt(w(F), 0, t.value.length), se = x + v.value + Ar, ae = bt(w(se) + 1, q + 1, t.value.length);
    if (
      // Only update the side we're scrolling towards,
      // the other side will be updated incidentally
      (O !== hg || q < s.value) && (O !== mg || ae > r.value)
    ) {
      const ie = V(s.value) - V(q), J = V(ae) - V(r.value);
      Math.max(ie, J) > Ar ? (s.value = q, r.value = ae) : (q <= 0 && (s.value = q), ae >= t.value.length && (r.value = ae));
    }
    l.value = V(s.value), i.value = V(t.value.length) - V(r.value);
  }
  function oe(x) {
    const O = V(x);
    !o.value || x && !O ? S = x : o.value.scrollTop = O;
  }
  const _e = _(() => t.value.slice(s.value, r.value).map((x, O) => {
    const F = O + s.value;
    return {
      raw: x,
      index: F,
      key: ot(x, e.itemKey, F)
    };
  }));
  return re(t, () => {
    y = Array.from({
      length: t.value.length
    }), m = Array.from({
      length: t.value.length
    }), I.immediate(), G();
  }, {
    deep: 1
  }), {
    calculateVisibleItems: G,
    containerRef: o,
    markerRef: u,
    computedItems: _e,
    paddingTop: l,
    paddingBottom: i,
    scrollToIndex: oe,
    handleScroll: A,
    handleScrollend: U,
    handleItemResize: D
  };
}
function gg(e, t) {
  let n = e.length - 1, a = 0, s = 0, r = null, l = -1;
  if (e[n] < t)
    return n;
  for (; a <= n; )
    if (s = a + n >> 1, r = e[s], r > t)
      n = s - 1;
    else if (r < t)
      l = s, a = s + 1;
    else return r === t ? s : a;
  return l;
}
const bg = M({
  items: {
    type: Array,
    default: () => []
  },
  renderless: Boolean,
  ...vg(),
  ...de(),
  ...un()
}, "VVirtualScroll"), $c = Q()({
  name: "VVirtualScroll",
  props: bg(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const a = Ue("VVirtualScroll"), {
      dimensionStyles: s
    } = cn(e), {
      calculateVisibleItems: r,
      containerRef: l,
      markerRef: i,
      handleScroll: o,
      handleScrollend: u,
      handleItemResize: c,
      scrollToIndex: d,
      paddingTop: h,
      paddingBottom: v,
      computedItems: f
    } = yg(e, E(() => e.items));
    return Fn(() => e.renderless, () => {
      function y() {
        const b = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1) ? "addEventListener" : "removeEventListener";
        l.value === document.documentElement ? (document[b]("scroll", o, {
          passive: !0
        }), document[b]("scrollend", u)) : (l.value?.[b]("scroll", o, {
          passive: !0
        }), l.value?.[b]("scrollend", u));
      }
      Ba(() => {
        l.value = zu(a.vnode.el, !0), y(!0);
      }), mt(y);
    }), ee(() => {
      const y = f.value.map((m) => g(fg, {
        key: m.key,
        renderless: e.renderless,
        "onUpdate:height": (b) => c(m.index, b)
      }, {
        default: (b) => n.default?.({
          item: m.raw,
          index: m.index,
          ...b
        })
      }));
      return e.renderless ? p(pe, null, [p("div", {
        ref: i,
        class: "v-virtual-scroll__spacer",
        style: Z({
          paddingTop: te(h.value)
        })
      }, null), y, p("div", {
        class: "v-virtual-scroll__spacer",
        style: Z({
          paddingBottom: te(v.value)
        })
      }, null)]) : p("div", {
        ref: l,
        class: K(["v-virtual-scroll", e.class]),
        onScrollPassive: o,
        onScrollend: u,
        style: Z([s.value, e.style])
      }, [p("div", {
        ref: i,
        class: "v-virtual-scroll__container",
        style: Z({
          paddingTop: te(h.value),
          paddingBottom: te(v.value)
        })
      }, [y])]);
    }), {
      calculateVisibleItems: r,
      scrollToIndex: d
    };
  }
});
function Uc(e, t) {
  const n = ne(!1);
  let a;
  function s(i) {
    cancelAnimationFrame(a), n.value = !0, a = requestAnimationFrame(() => {
      a = requestAnimationFrame(() => {
        n.value = !1;
      });
    });
  }
  async function r() {
    await new Promise((i) => requestAnimationFrame(i)), await new Promise((i) => requestAnimationFrame(i)), await new Promise((i) => requestAnimationFrame(i)), await new Promise((i) => {
      if (n.value) {
        const o = re(n, () => {
          o(), i();
        });
      } else i();
    });
  }
  async function l(i) {
    if (i.key === "Tab" && t.value?.focus(), !["PageDown", "PageUp", "Home", "End"].includes(i.key)) return;
    const o = e.value?.$el;
    if (!o) return;
    (i.key === "Home" || i.key === "End") && o.scrollTo({
      top: i.key === "Home" ? 0 : o.scrollHeight,
      behavior: "smooth"
    }), await r();
    const u = o.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");
    if (i.key === "PageDown" || i.key === "Home") {
      const c = o.getBoundingClientRect().top;
      for (const d of u)
        if (d.getBoundingClientRect().top >= c) {
          d.focus();
          break;
        }
    } else {
      const c = o.getBoundingClientRect().bottom;
      for (const d of [...u].reverse())
        if (d.getBoundingClientRect().bottom <= c) {
          d.focus();
          break;
        }
    }
  }
  return {
    onScrollPassive: s,
    onKeydown: l
  };
}
const zc = M({
  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: ue,
    default: "$dropdown"
  },
  menuProps: {
    type: Object
  },
  multiple: Boolean,
  noDataText: {
    type: String,
    default: "$vuetify.noDataText"
  },
  openOnClear: Boolean,
  itemColor: String,
  ...xc({
    itemChildren: !1
  })
}, "Select"), pg = M({
  ...zc(),
  ...kn(ti({
    modelValue: null,
    role: "combobox"
  }), ["validationValue", "dirty", "appendInnerIcon"]),
  ...oa({
    transition: {
      component: Ul
    }
  })
}, "VSelect"), Hc = Q()({
  name: "VSelect",
  props: pg(),
  emits: {
    "update:focused": (e) => !0,
    "update:modelValue": (e) => !0,
    "update:menu": (e) => !0
  },
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      t: a
    } = hn(), s = R(), r = R(), l = R(), {
      items: i,
      transformIn: o,
      transformOut: u
    } = Oc(e), c = ke(e, "modelValue", [], (x) => o(x === null ? [null] : Ke(x)), (x) => {
      const O = u(x);
      return e.multiple ? O : O[0] ?? null;
    }), d = _(() => typeof e.counterValue == "function" ? e.counterValue(c.value) : typeof e.counterValue == "number" ? e.counterValue : c.value.length), h = Hl(e), v = _(() => c.value.map((x) => x.value)), f = ne(!1);
    let y = "", m = -1, b;
    const S = _(() => e.hideSelected ? i.value.filter((x) => !c.value.some((O) => (e.valueComparator || gt)(O, x))) : i.value), P = _(() => e.hideNoData && !S.value.length || h.isReadonly.value || h.isDisabled.value), I = ke(e, "menu"), k = _({
      get: () => I.value,
      set: (x) => {
        I.value && !x && r.value?.ΨopenChildren.size || x && P.value || (I.value = x);
      }
    }), D = E(() => k.value ? e.closeText : e.openText), V = _(() => ({
      ...e.menuProps,
      activatorProps: {
        ...e.menuProps?.activatorProps || {},
        "aria-haspopup": "listbox"
        // Set aria-haspopup to 'listbox'
      }
    })), w = R(), T = Uc(w, s);
    function N(x) {
      e.openOnClear && (k.value = !0);
    }
    function $() {
      P.value || (k.value = !k.value);
    }
    function B(x) {
      ks(x) && A(x);
    }
    function A(x) {
      if (!x.key || h.isReadonly.value) return;
      ["Enter", " ", "ArrowDown", "ArrowUp", "Home", "End"].includes(x.key) && x.preventDefault(), ["Enter", "ArrowDown", " "].includes(x.key) && (k.value = !0), ["Escape", "Tab"].includes(x.key) && (k.value = !1), x.key === "Home" ? w.value?.focus("first") : x.key === "End" && w.value?.focus("last");
      const O = 1e3;
      if (!ks(x)) return;
      const F = performance.now();
      F - b > O && (y = "", m = -1), y += x.key.toLowerCase(), b = F;
      const q = S.value;
      function se() {
        let Se = ae();
        return Se || y.at(-1) === y.at(-2) && (y = y.slice(0, -1), Se = ae(), Se) || (m = -1, Se = ae(), Se) ? Se : (y = x.key.toLowerCase(), ae());
      }
      function ae() {
        for (let Se = m + 1; Se < q.length; Se++) {
          const z = q[Se];
          if (z.title.toLowerCase().startsWith(y))
            return [z, Se];
        }
      }
      const ie = se();
      if (!ie) return;
      const [J, Ee] = ie;
      m = Ee, w.value?.focus(Ee), e.multiple || (c.value = [J]);
    }
    function U(x) {
      let O = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
      if (!x.props.disabled)
        if (e.multiple) {
          const F = c.value.findIndex((se) => (e.valueComparator || gt)(se.value, x.value)), q = O ?? !~F;
          if (~F) {
            const se = q ? [...c.value, x] : [...c.value];
            se.splice(F, 1), c.value = se;
          } else q && (c.value = [...c.value, x]);
        } else {
          const F = O !== !1;
          c.value = F ? [x] : [], Ge(() => {
            k.value = !1;
          });
        }
    }
    function Y(x) {
      w.value?.$el.contains(x.relatedTarget) || (k.value = !1);
    }
    function G() {
      e.eager && l.value?.calculateVisibleItems();
    }
    function le() {
      f.value && s.value?.focus();
    }
    function oe(x) {
      f.value = !0;
    }
    function _e(x) {
      if (x == null) c.value = [];
      else if (ea(s.value, ":autofill") || ea(s.value, ":-webkit-autofill")) {
        const O = i.value.find((F) => F.title === x);
        O && U(O);
      } else s.value && (s.value.value = "");
    }
    return re(k, () => {
      if (!e.hideSelected && k.value && c.value.length) {
        const x = S.value.findIndex((O) => c.value.some((F) => (e.valueComparator || gt)(F.value, O.value)));
        Be && window.requestAnimationFrame(() => {
          x >= 0 && l.value?.scrollToIndex(x);
        });
      }
    }), re(() => e.items, (x, O) => {
      k.value || f.value && !O.length && x.length && (k.value = !0);
    }), ee(() => {
      const x = !!(e.chips || n.chip), O = !!(!e.hideNoData || S.value.length || n["prepend-item"] || n["append-item"] || n["no-data"]), F = c.value.length > 0, q = Da.filterProps(e), se = F || !f.value && e.label && !e.persistentPlaceholder ? void 0 : e.placeholder;
      return g(Da, j({
        ref: s
      }, q, {
        modelValue: c.value.map((ae) => ae.props.value).join(", "),
        "onUpdate:modelValue": _e,
        focused: f.value,
        "onUpdate:focused": (ae) => f.value = ae,
        validationValue: c.externalValue,
        counterValue: d.value,
        dirty: F,
        class: ["v-select", {
          "v-select--active-menu": k.value,
          "v-select--chips": !!e.chips,
          [`v-select--${e.multiple ? "multiple" : "single"}`]: !0,
          "v-select--selected": c.value.length,
          "v-select--selection-slot": !!n.selection
        }, e.class],
        style: e.style,
        inputmode: "none",
        placeholder: se,
        "onClick:clear": N,
        "onMousedown:control": $,
        onBlur: Y,
        onKeydown: A,
        "aria-label": a(D.value),
        title: a(D.value)
      }), {
        ...n,
        default: () => p(pe, null, [g(Lc, j({
          ref: r,
          modelValue: k.value,
          "onUpdate:modelValue": (ae) => k.value = ae,
          activator: "parent",
          contentClass: "v-select__content",
          disabled: P.value,
          eager: e.eager,
          maxHeight: 310,
          openOnClick: !1,
          closeOnContentClick: !1,
          transition: e.transition,
          onAfterEnter: G,
          onAfterLeave: le
        }, V.value), {
          default: () => [O && g(Vc, j({
            ref: w,
            selected: v.value,
            selectStrategy: e.multiple ? "independent" : "single-independent",
            onMousedown: (ae) => ae.preventDefault(),
            onKeydown: B,
            onFocusin: oe,
            tabindex: "-1",
            "aria-live": "polite",
            "aria-label": `${e.label}-list`,
            color: e.itemColor ?? e.color
          }, T, e.listProps), {
            default: () => [n["prepend-item"]?.(), !S.value.length && !e.hideNoData && (n["no-data"]?.() ?? g(Nn, {
              key: "no-data",
              title: a(e.noDataText)
            }, null)), g($c, {
              ref: l,
              renderless: !0,
              items: S.value,
              itemKey: "value"
            }, {
              default: (ae) => {
                let {
                  item: ie,
                  index: J,
                  itemRef: Ee
                } = ae;
                const Se = j(ie.props, {
                  ref: Ee,
                  key: ie.value,
                  onClick: () => U(ie, null)
                });
                return n.item?.({
                  item: ie,
                  index: J,
                  props: Se
                }) ?? g(Nn, j(Se, {
                  role: "option"
                }), {
                  prepend: (z) => {
                    let {
                      isSelected: me
                    } = z;
                    return p(pe, null, [e.multiple && !e.hideSelected ? g(qa, {
                      key: ie.value,
                      modelValue: me,
                      ripple: !1,
                      tabindex: "-1"
                    }, null) : void 0, ie.props.prependAvatar && g(_n, {
                      image: ie.props.prependAvatar
                    }, null), ie.props.prependIcon && g(Ve, {
                      icon: ie.props.prependIcon
                    }, null)]);
                  }
                });
              }
            }), n["append-item"]?.()]
          })]
        }), c.value.map((ae, ie) => {
          function J(me) {
            me.stopPropagation(), me.preventDefault(), U(ae, !1);
          }
          const Ee = {
            "onClick:close": J,
            onKeydown(me) {
              me.key !== "Enter" && me.key !== " " || (me.preventDefault(), me.stopPropagation(), J(me));
            },
            onMousedown(me) {
              me.preventDefault(), me.stopPropagation();
            },
            modelValue: !0,
            "onUpdate:modelValue": void 0
          }, Se = x ? !!n.chip : !!n.selection, z = Se ? Al(x ? n.chip({
            item: ae,
            index: ie,
            props: Ee
          }) : n.selection({
            item: ae,
            index: ie
          })) : void 0;
          if (!(Se && !z))
            return p("div", {
              key: ae.value,
              class: "v-select__selection"
            }, [x ? n.chip ? g(Ne, {
              key: "chip-defaults",
              defaults: {
                VChip: {
                  closable: e.closableChips,
                  size: "small",
                  text: ae.title
                }
              }
            }, {
              default: () => [z]
            }) : g(Gl, j({
              key: "chip",
              closable: e.closableChips,
              size: "small",
              text: ae.title,
              disabled: ae.props.disabled
            }, Ee), null) : z ?? p("span", {
              class: "v-select__selection-text"
            }, [ae.title, e.multiple && ie < c.value.length - 1 && p("span", {
              class: "v-select__selection-comma"
            }, [Fe(",")])])]);
        })]),
        "append-inner": function() {
          for (var ae = arguments.length, ie = new Array(ae), J = 0; J < ae; J++)
            ie[J] = arguments[J];
          return p(pe, null, [n["append-inner"]?.(...ie), e.menuIcon ? g(Ve, {
            class: "v-select__menu-icon",
            color: s.value?.fieldIconColor,
            icon: e.menuIcon
          }, null) : void 0]);
        }
      });
    }), ua({
      isFocused: f,
      menu: k,
      select: U
    }, s);
  }
}), Sg = (e, t, n) => {
  if (e == null || t == null) return -1;
  if (!t.length) return 0;
  e = e.toString().toLocaleLowerCase(), t = t.toString().toLocaleLowerCase();
  const a = [];
  let s = e.indexOf(t);
  for (; ~s; )
    a.push([s, s + t.length]), s = e.indexOf(t, s + t.length);
  return a.length ? a : -1;
};
function Dr(e, t) {
  if (!(e == null || typeof e == "boolean" || e === -1))
    return typeof e == "number" ? [[e, e + t.length]] : Array.isArray(e[0]) ? e : [e];
}
const Yc = M({
  customFilter: Function,
  customKeyFilter: Object,
  filterKeys: [Array, String],
  filterMode: {
    type: String,
    default: "intersection"
  },
  noFilter: Boolean
}, "filter");
function wg(e, t, n) {
  const a = [], s = n?.default ?? Sg, r = n?.filterKeys ? Ke(n.filterKeys) : !1, l = Object.keys(n?.customKeyFilter ?? {}).length;
  if (!e?.length) return a;
  e: for (let i = 0; i < e.length; i++) {
    const [o, u = o] = Ke(e[i]), c = {}, d = {};
    let h = -1;
    if ((t || l > 0) && !n?.noFilter) {
      if (typeof o == "object") {
        const y = r || Object.keys(u);
        for (const m of y) {
          const b = ot(u, m), S = n?.customKeyFilter?.[m];
          if (h = S ? S(b, t, o) : s(b, t, o), h !== -1 && h !== !1)
            S ? c[m] = Dr(h, t) : d[m] = Dr(h, t);
          else if (n?.filterMode === "every")
            continue e;
        }
      } else
        h = s(o, t, o), h !== -1 && h !== !1 && (d.title = Dr(h, t));
      const v = Object.keys(d).length, f = Object.keys(c).length;
      if (!v && !f || n?.filterMode === "union" && f !== l && !v || n?.filterMode === "intersection" && (f !== l || !v)) continue;
    }
    a.push({
      index: i,
      matches: {
        ...d,
        ...c
      }
    });
  }
  return a;
}
function jc(e, t, n, a) {
  const s = ne([]), r = ne(/* @__PURE__ */ new Map()), l = _(() => a?.transform ? _t(t).map((o) => [o, a.transform(o)]) : _t(t));
  Ot(() => {
    const o = typeof n == "function" ? n() : _t(n), u = typeof o != "string" && typeof o != "number" ? "" : String(o), c = wg(l.value, u, {
      customKeyFilter: {
        ...e.customKeyFilter,
        ..._t(a?.customKeyFilter)
      },
      default: e.customFilter,
      filterKeys: e.filterKeys,
      filterMode: e.filterMode,
      noFilter: e.noFilter
    }), d = _t(t), h = [], v = /* @__PURE__ */ new Map();
    c.forEach((f) => {
      let {
        index: y,
        matches: m
      } = f;
      const b = d[y];
      h.push(b), v.set(b.value, m);
    }), s.value = h, r.value = v;
  });
  function i(o) {
    return r.value.get(o.value);
  }
  return {
    filteredItems: s,
    filteredMatches: r,
    getMatches: i
  };
}
function _g(e, t, n) {
  return n == null || !n.length ? t : n.map((a, s) => {
    const r = s === 0 ? 0 : n[s - 1][1], l = [p("span", {
      class: K(`${e}__unmask`)
    }, [t.slice(r, a[0])]), p("span", {
      class: K(`${e}__mask`)
    }, [t.slice(a[0], a[1])])];
    return s === n.length - 1 && l.push(p("span", {
      class: K(`${e}__unmask`)
    }, [t.slice(a[1])])), p(pe, null, [l]);
  });
}
const kg = M({
  autoSelectFirst: {
    type: [Boolean, String]
  },
  clearOnSelect: Boolean,
  search: String,
  ...Yc({
    filterKeys: ["title"]
  }),
  ...zc(),
  ...kn(ti({
    modelValue: null,
    role: "combobox"
  }), ["validationValue", "dirty", "appendInnerIcon"]),
  ...oa({
    transition: !1
  })
}, "VAutocomplete"), Cg = Q()({
  name: "VAutocomplete",
  props: kg(),
  emits: {
    "update:focused": (e) => !0,
    "update:search": (e) => !0,
    "update:modelValue": (e) => !0,
    "update:menu": (e) => !0
  },
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      t: a
    } = hn(), s = R(), r = ne(!1), l = ne(!0), i = ne(!1), o = R(), u = R(), c = ne(-1), {
      items: d,
      transformIn: h,
      transformOut: v
    } = Oc(e), {
      textColorClasses: f,
      textColorStyles: y
    } = Ht(() => s.value?.color), m = ke(e, "search", ""), b = ke(e, "modelValue", [], (z) => h(z === null ? [null] : Ke(z)), (z) => {
      const me = v(z);
      return e.multiple ? me : me[0] ?? null;
    }), S = _(() => typeof e.counterValue == "function" ? e.counterValue(b.value) : typeof e.counterValue == "number" ? e.counterValue : b.value.length), P = Hl(e), {
      filteredItems: I,
      getMatches: k
    } = jc(e, d, () => l.value ? "" : m.value), D = _(() => e.hideSelected ? I.value.filter((z) => !b.value.some((me) => me.value === z.value)) : I.value), V = _(() => !!(e.chips || n.chip)), w = _(() => V.value || !!n.selection), T = _(() => b.value.map((z) => z.props.value)), N = _(() => (e.autoSelectFirst === !0 || e.autoSelectFirst === "exact" && m.value === D.value[0]?.title) && D.value.length > 0 && !l.value && !i.value), $ = _(() => e.hideNoData && !D.value.length || P.isReadonly.value || P.isDisabled.value), B = ke(e, "menu"), A = _({
      get: () => B.value,
      set: (z) => {
        B.value && !z && o.value?.ΨopenChildren.size || z && $.value || (B.value = z);
      }
    }), U = _(() => A.value ? e.closeText : e.openText), Y = R(), G = Uc(Y, s);
    function le(z) {
      e.openOnClear && (A.value = !0), m.value = "";
    }
    function oe() {
      $.value || (A.value = !0);
    }
    function _e(z) {
      $.value || (r.value && (z.preventDefault(), z.stopPropagation()), A.value = !A.value);
    }
    function x(z) {
      z.key !== " " && ks(z) && s.value?.focus();
    }
    function O(z) {
      if (P.isReadonly.value) return;
      const me = s.value?.selectionStart, Qe = b.value.length;
      if (["Enter", "ArrowDown", "ArrowUp"].includes(z.key) && z.preventDefault(), ["Enter", "ArrowDown"].includes(z.key) && (A.value = !0), ["Escape"].includes(z.key) && (A.value = !1), N.value && ["Enter", "Tab"].includes(z.key) && !b.value.some((be) => {
        let {
          value: xe
        } = be;
        return xe === D.value[0].value;
      }) && Se(D.value[0]), z.key === "ArrowDown" && N.value && Y.value?.focus("next"), ["Backspace", "Delete"].includes(z.key)) {
        if (!e.multiple && w.value && b.value.length > 0 && !m.value) return Se(b.value[0], !1);
        if (~c.value) {
          z.preventDefault();
          const be = c.value;
          Se(b.value[c.value], !1), c.value = be >= Qe - 1 ? Qe - 2 : be;
        } else z.key === "Backspace" && !m.value && (c.value = Qe - 1);
        return;
      }
      if (e.multiple)
        if (z.key === "ArrowLeft") {
          if (c.value < 0 && me && me > 0) return;
          const be = c.value > -1 ? c.value - 1 : Qe - 1;
          if (b.value[be])
            c.value = be;
          else {
            const xe = m.value?.length ?? null;
            c.value = -1, s.value?.setSelectionRange(xe, xe);
          }
        } else if (z.key === "ArrowRight") {
          if (c.value < 0) return;
          const be = c.value + 1;
          b.value[be] ? c.value = be : (c.value = -1, s.value?.setSelectionRange(0, 0));
        } else ~c.value && ks(z) && (c.value = -1);
    }
    function F(z) {
      if (ea(s.value, ":autofill") || ea(s.value, ":-webkit-autofill")) {
        const me = d.value.find((Qe) => Qe.title === z.target.value);
        me && Se(me);
      }
    }
    function q() {
      e.eager && u.value?.calculateVisibleItems();
    }
    function se() {
      r.value && (l.value = !0, s.value?.focus());
    }
    function ae(z) {
      r.value = !0, setTimeout(() => {
        i.value = !0;
      });
    }
    function ie(z) {
      i.value = !1;
    }
    function J(z) {
      (z == null || z === "" && !e.multiple && !w.value) && (b.value = []);
    }
    const Ee = ne(!1);
    function Se(z) {
      let me = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
      if (!(!z || z.props.disabled))
        if (e.multiple) {
          const Qe = b.value.findIndex((xe) => (e.valueComparator || gt)(xe.value, z.value)), be = me ?? !~Qe;
          if (~Qe) {
            const xe = be ? [...b.value, z] : [...b.value];
            xe.splice(Qe, 1), b.value = xe;
          } else be && (b.value = [...b.value, z]);
          e.clearOnSelect && (m.value = "");
        } else {
          const Qe = me !== !1;
          b.value = Qe ? [z] : [], m.value = Qe && !w.value ? z.title : "", Ge(() => {
            A.value = !1, l.value = !0;
          });
        }
    }
    return re(r, (z, me) => {
      z !== me && (z ? (Ee.value = !0, m.value = e.multiple || w.value ? "" : String(b.value.at(-1)?.props.title ?? ""), l.value = !0, Ge(() => Ee.value = !1)) : (!e.multiple && m.value == null && (b.value = []), A.value = !1, (e.multiple || w.value) && (m.value = ""), c.value = -1));
    }), re(m, (z) => {
      !r.value || Ee.value || (z && (A.value = !0), l.value = !z);
    }), re(A, () => {
      if (!e.hideSelected && A.value && b.value.length) {
        const z = D.value.findIndex((me) => b.value.some((Qe) => me.value === Qe.value));
        Be && window.requestAnimationFrame(() => {
          z >= 0 && u.value?.scrollToIndex(z);
        });
      }
    }), re(() => e.items, (z, me) => {
      A.value || r.value && !me.length && z.length && (A.value = !0);
    }), ee(() => {
      const z = !!(!e.hideNoData || D.value.length || n["prepend-item"] || n["append-item"] || n["no-data"]), me = b.value.length > 0, Qe = Da.filterProps(e);
      return g(Da, j({
        ref: s
      }, Qe, {
        modelValue: m.value,
        "onUpdate:modelValue": [(be) => m.value = be, J],
        focused: r.value,
        "onUpdate:focused": (be) => r.value = be,
        validationValue: b.externalValue,
        counterValue: S.value,
        dirty: me,
        onChange: F,
        class: ["v-autocomplete", `v-autocomplete--${e.multiple ? "multiple" : "single"}`, {
          "v-autocomplete--active-menu": A.value,
          "v-autocomplete--chips": !!e.chips,
          "v-autocomplete--selection-slot": !!w.value,
          "v-autocomplete--selecting-index": c.value > -1
        }, e.class],
        style: e.style,
        readonly: P.isReadonly.value,
        placeholder: me ? void 0 : e.placeholder,
        "onClick:clear": le,
        "onMousedown:control": oe,
        onKeydown: O
      }), {
        ...n,
        default: () => p(pe, null, [g(Lc, j({
          ref: o,
          modelValue: A.value,
          "onUpdate:modelValue": (be) => A.value = be,
          activator: "parent",
          contentClass: "v-autocomplete__content",
          disabled: $.value,
          eager: e.eager,
          maxHeight: 310,
          openOnClick: !1,
          closeOnContentClick: !1,
          transition: e.transition,
          onAfterEnter: q,
          onAfterLeave: se
        }, e.menuProps), {
          default: () => [z && g(Vc, j({
            ref: Y,
            selected: T.value,
            selectStrategy: e.multiple ? "independent" : "single-independent",
            onMousedown: (be) => be.preventDefault(),
            onKeydown: x,
            onFocusin: ae,
            onFocusout: ie,
            tabindex: "-1",
            "aria-live": "polite",
            color: e.itemColor ?? e.color
          }, G, e.listProps), {
            default: () => [n["prepend-item"]?.(), !D.value.length && !e.hideNoData && (n["no-data"]?.() ?? g(Nn, {
              key: "no-data",
              title: a(e.noDataText)
            }, null)), g($c, {
              ref: u,
              renderless: !0,
              items: D.value,
              itemKey: "value"
            }, {
              default: (be) => {
                let {
                  item: xe,
                  index: Ft,
                  itemRef: ns
                } = be;
                const ha = j(xe.props, {
                  ref: ns,
                  key: xe.value,
                  active: N.value && Ft === 0 ? !0 : void 0,
                  onClick: () => Se(xe, null)
                });
                return n.item?.({
                  item: xe,
                  index: Ft,
                  props: ha
                }) ?? g(Nn, j(ha, {
                  role: "option"
                }), {
                  prepend: (ma) => {
                    let {
                      isSelected: vt
                    } = ma;
                    return p(pe, null, [e.multiple && !e.hideSelected ? g(qa, {
                      key: xe.value,
                      modelValue: vt,
                      ripple: !1,
                      tabindex: "-1"
                    }, null) : void 0, xe.props.prependAvatar && g(_n, {
                      image: xe.props.prependAvatar
                    }, null), xe.props.prependIcon && g(Ve, {
                      icon: xe.props.prependIcon
                    }, null)]);
                  },
                  title: () => l.value ? xe.title : _g("v-autocomplete", xe.title, k(xe)?.title)
                });
              }
            }), n["append-item"]?.()]
          })]
        }), b.value.map((be, xe) => {
          function Ft(vt) {
            vt.stopPropagation(), vt.preventDefault(), Se(be, !1);
          }
          const ns = {
            "onClick:close": Ft,
            onKeydown(vt) {
              vt.key !== "Enter" && vt.key !== " " || (vt.preventDefault(), vt.stopPropagation(), Ft(vt));
            },
            onMousedown(vt) {
              vt.preventDefault(), vt.stopPropagation();
            },
            modelValue: !0,
            "onUpdate:modelValue": void 0
          }, ha = V.value ? !!n.chip : !!n.selection, ma = ha ? Al(V.value ? n.chip({
            item: be,
            index: xe,
            props: ns
          }) : n.selection({
            item: be,
            index: xe
          })) : void 0;
          if (!(ha && !ma))
            return p("div", {
              key: be.value,
              class: K(["v-autocomplete__selection", xe === c.value && ["v-autocomplete__selection--selected", f.value]]),
              style: Z(xe === c.value ? y.value : {})
            }, [V.value ? n.chip ? g(Ne, {
              key: "chip-defaults",
              defaults: {
                VChip: {
                  closable: e.closableChips,
                  size: "small",
                  text: be.title
                }
              }
            }, {
              default: () => [ma]
            }) : g(Gl, j({
              key: "chip",
              closable: e.closableChips,
              size: "small",
              text: be.title,
              disabled: be.props.disabled
            }, ns), null) : ma ?? p("span", {
              class: "v-autocomplete__selection-text"
            }, [be.title, e.multiple && xe < b.value.length - 1 && p("span", {
              class: "v-autocomplete__selection-comma"
            }, [Fe(",")])])]);
        })]),
        "append-inner": function() {
          for (var be = arguments.length, xe = new Array(be), Ft = 0; Ft < be; Ft++)
            xe[Ft] = arguments[Ft];
          return p(pe, null, [n["append-inner"]?.(...xe), e.menuIcon ? g(Ve, {
            class: "v-autocomplete__menu-icon",
            color: s.value?.fieldIconColor,
            icon: e.menuIcon,
            onMousedown: _e,
            onClick: Fm,
            "aria-label": a(U.value),
            title: a(U.value),
            tabindex: "-1"
          }, null) : void 0]);
        }
      });
    }), ua({
      isFocused: r,
      isPristine: l,
      menu: A,
      search: m,
      filteredItems: I,
      select: Se
    }, s);
  }
}), Pg = M({
  ...de(),
  ...$v()
}, "VForm"), xg = Q()({
  name: "VForm",
  props: Pg(),
  emits: {
    "update:modelValue": (e) => !0,
    submit: (e) => !0
  },
  setup(e, t) {
    let {
      slots: n,
      emit: a
    } = t;
    const s = Uv(e), r = R();
    function l(o) {
      o.preventDefault(), s.reset();
    }
    function i(o) {
      const u = o, c = s.validate();
      u.then = c.then.bind(c), u.catch = c.catch.bind(c), u.finally = c.finally.bind(c), a("submit", u), u.defaultPrevented || c.then((d) => {
        let {
          valid: h
        } = d;
        h && r.value?.submit();
      }), u.preventDefault();
    }
    return ee(() => p("form", {
      ref: r,
      class: K(["v-form", e.class]),
      style: Z(e.style),
      novalidate: !0,
      onReset: l,
      onSubmit: i
    }, [n.default?.(s)])), ua(s, r);
  }
}), Ig = M({
  fluid: {
    type: Boolean,
    default: !1
  },
  ...de(),
  ...un(),
  ...Le()
}, "VContainer"), ka = Q()({
  name: "VContainer",
  props: Ig(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      rtlClasses: a
    } = Mt(), {
      dimensionStyles: s
    } = cn(e);
    return ee(() => g(e.tag, {
      class: K(["v-container", {
        "v-container--fluid": e.fluid
      }, a.value, e.class]),
      style: Z([s.value, e.style])
    }, n)), {};
  }
}), Wc = Ks.reduce((e, t) => (e[t] = {
  type: [Boolean, String, Number],
  default: !1
}, e), {}), Gc = Ks.reduce((e, t) => {
  const n = "offset" + aa(t);
  return e[n] = {
    type: [String, Number],
    default: null
  }, e;
}, {}), Qc = Ks.reduce((e, t) => {
  const n = "order" + aa(t);
  return e[n] = {
    type: [String, Number],
    default: null
  }, e;
}, {}), Eo = {
  col: Object.keys(Wc),
  offset: Object.keys(Gc),
  order: Object.keys(Qc)
};
function Og(e, t, n) {
  let a = e;
  if (!(n == null || n === !1)) {
    if (t) {
      const s = t.replace(e, "");
      a += `-${s}`;
    }
    return e === "col" && (a = "v-" + a), e === "col" && (n === "" || n === !0) || (a += `-${n}`), a.toLowerCase();
  }
}
const Tg = ["auto", "start", "end", "center", "baseline", "stretch"], Vg = M({
  cols: {
    type: [Boolean, String, Number],
    default: !1
  },
  ...Wc,
  offset: {
    type: [String, Number],
    default: null
  },
  ...Gc,
  order: {
    type: [String, Number],
    default: null
  },
  ...Qc,
  alignSelf: {
    type: String,
    default: null,
    validator: (e) => Tg.includes(e)
  },
  ...de(),
  ...Le()
}, "VCol"), yn = Q()({
  name: "VCol",
  props: Vg(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const a = _(() => {
      const s = [];
      let r;
      for (r in Eo)
        Eo[r].forEach((i) => {
          const o = e[i], u = Og(r, i, o);
          u && s.push(u);
        });
      const l = s.some((i) => i.startsWith("v-col-"));
      return s.push({
        // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified.
        "v-col": !l || !e.cols,
        [`v-col-${e.cols}`]: e.cols,
        [`offset-${e.offset}`]: e.offset,
        [`order-${e.order}`]: e.order,
        [`align-self-${e.alignSelf}`]: e.alignSelf
      }), s;
    });
    return () => sa(e.tag, {
      class: [a.value, e.class],
      style: e.style
    }, n.default?.());
  }
}), ni = ["start", "end", "center"], qc = ["space-between", "space-around", "space-evenly"];
function ai(e, t) {
  return Ks.reduce((n, a) => {
    const s = e + aa(a);
    return n[s] = t(), n;
  }, {});
}
const Eg = [...ni, "baseline", "stretch"], Kc = (e) => Eg.includes(e), Jc = ai("align", () => ({
  type: String,
  default: null,
  validator: Kc
})), Ag = [...ni, ...qc], Zc = (e) => Ag.includes(e), Xc = ai("justify", () => ({
  type: String,
  default: null,
  validator: Zc
})), Dg = [...ni, ...qc, "stretch"], ed = (e) => Dg.includes(e), td = ai("alignContent", () => ({
  type: String,
  default: null,
  validator: ed
})), Ao = {
  align: Object.keys(Jc),
  justify: Object.keys(Xc),
  alignContent: Object.keys(td)
}, Mg = {
  align: "align",
  justify: "justify",
  alignContent: "align-content"
};
function Rg(e, t, n) {
  let a = Mg[e];
  if (n != null) {
    if (t) {
      const s = t.replace(e, "");
      a += `-${s}`;
    }
    return a += `-${n}`, a.toLowerCase();
  }
}
const Fg = M({
  dense: Boolean,
  noGutters: Boolean,
  align: {
    type: String,
    default: null,
    validator: Kc
  },
  ...Jc,
  justify: {
    type: String,
    default: null,
    validator: Zc
  },
  ...Xc,
  alignContent: {
    type: String,
    default: null,
    validator: ed
  },
  ...td,
  ...de(),
  ...Le()
}, "VRow"), rl = Q()({
  name: "VRow",
  props: Fg(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const a = _(() => {
      const s = [];
      let r;
      for (r in Ao)
        Ao[r].forEach((l) => {
          const i = e[l], o = Rg(r, l, i);
          o && s.push(o);
        });
      return s.push({
        "v-row--no-gutters": e.noGutters,
        "v-row--dense": e.dense,
        [`align-${e.align}`]: e.align,
        [`justify-${e.justify}`]: e.justify,
        [`align-content-${e.alignContent}`]: e.alignContent
      }), s;
    });
    return () => sa(e.tag, {
      class: ["v-row", a.value, e.class],
      style: e.style
    }, n.default?.());
  }
}), Lg = M({
  ...Qs({
    falseIcon: "$radioOff",
    trueIcon: "$radioOn"
  })
}, "VRadio"), ba = Q()({
  name: "VRadio",
  props: Lg(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    return ee(() => {
      const a = Ln.filterProps(e);
      return g(Ln, j(a, {
        class: ["v-radio", e.class],
        style: e.style,
        type: "radio"
      }), n);
    }), {};
  }
}), Ng = M({
  height: {
    type: [Number, String],
    default: "auto"
  },
  ...qs(),
  ...kn($l(), ["multiple"]),
  trueIcon: {
    type: ue,
    default: "$radioOn"
  },
  falseIcon: {
    type: ue,
    default: "$radioOff"
  },
  type: {
    type: String,
    default: "radio"
  }
}, "VRadioGroup"), Mr = Q()({
  name: "VRadioGroup",
  inheritAttrs: !1,
  props: Ng(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, t) {
    let {
      attrs: n,
      slots: a
    } = t;
    const s = on(), r = _(() => e.id || `radio-group-${s}`), l = ke(e, "modelValue");
    return ee(() => {
      const [i, o] = Ws(n), u = ta.filterProps(e), c = Ln.filterProps(e), d = a.label ? a.label({
        label: e.label,
        props: {
          for: r.value
        }
      }) : e.label;
      return g(ta, j({
        class: ["v-radio-group", e.class],
        style: e.style
      }, i, u, {
        modelValue: l.value,
        "onUpdate:modelValue": (h) => l.value = h,
        id: r.value
      }), {
        ...a,
        default: (h) => {
          let {
            id: v,
            messagesId: f,
            isDisabled: y,
            isReadonly: m
          } = h;
          return p(pe, null, [d && g(Bl, {
            id: v.value
          }, {
            default: () => [d]
          }), g(Iv, j(c, {
            id: v.value,
            "aria-describedby": f.value,
            defaultsTarget: "VRadio",
            trueIcon: e.trueIcon,
            falseIcon: e.falseIcon,
            type: e.type,
            disabled: y.value,
            readonly: m.value,
            "aria-labelledby": d ? v.value : void 0,
            multiple: !1
          }, o, {
            modelValue: l.value,
            "onUpdate:modelValue": (b) => l.value = b
          }), a)]);
        }
      });
    }), {};
  }
}), Bg = M({
  bgColor: String,
  color: String,
  indeterminate: [Boolean, String],
  modelValue: {
    type: [Number, String],
    default: 0
  },
  rotate: {
    type: [Number, String],
    default: 0
  },
  width: {
    type: [Number, String],
    default: 4
  },
  ...de(),
  ...ia(),
  ...Le({
    tag: "div"
  }),
  ...Ye()
}, "VProgressCircular"), nd = Q()({
  name: "VProgressCircular",
  props: Bg(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const a = 20, s = 2 * Math.PI * a, r = R(), {
      themeClasses: l
    } = Ze(e), {
      sizeClasses: i,
      sizeStyles: o
    } = Wa(e), {
      textColorClasses: u,
      textColorStyles: c
    } = Ht(() => e.color), {
      textColorClasses: d,
      textColorStyles: h
    } = Ht(() => e.bgColor), {
      intersectionRef: v,
      isIntersecting: f
    } = Nc(), {
      resizeRef: y,
      contentRect: m
    } = na(), b = E(() => bt(parseFloat(e.modelValue), 0, 100)), S = E(() => Number(e.width)), P = E(() => o.value ? Number(e.size) : m.value ? m.value.width : Math.max(S.value, 32)), I = E(() => a / (1 - S.value / P.value) * 2), k = E(() => S.value / P.value * I.value), D = E(() => te((100 - b.value) / 100 * s));
    return Ot(() => {
      v.value = r.value, y.value = r.value;
    }), ee(() => g(e.tag, {
      ref: r,
      class: K(["v-progress-circular", {
        "v-progress-circular--indeterminate": !!e.indeterminate,
        "v-progress-circular--visible": f.value,
        "v-progress-circular--disable-shrink": e.indeterminate === "disable-shrink"
      }, l.value, i.value, u.value, e.class]),
      style: Z([o.value, c.value, e.style]),
      role: "progressbar",
      "aria-valuemin": "0",
      "aria-valuemax": "100",
      "aria-valuenow": e.indeterminate ? void 0 : b.value
    }, {
      default: () => [p("svg", {
        style: Z({
          transform: `rotate(calc(-90deg + ${Number(e.rotate)}deg))`
        }),
        xmlns: "http://www.w3.org/2000/svg",
        viewBox: `0 0 ${I.value} ${I.value}`
      }, [p("circle", {
        class: K(["v-progress-circular__underlay", d.value]),
        style: Z(h.value),
        fill: "transparent",
        cx: "50%",
        cy: "50%",
        r: a,
        "stroke-width": k.value,
        "stroke-dasharray": s,
        "stroke-dashoffset": 0
      }, null), p("circle", {
        class: "v-progress-circular__overlay",
        fill: "transparent",
        cx: "50%",
        cy: "50%",
        r: a,
        "stroke-width": k.value,
        "stroke-dasharray": s,
        "stroke-dashoffset": D.value
      }, null)]), n.default && p("div", {
        class: "v-progress-circular__content"
      }, [n.default({
        value: b.value
      })])]
    })), {};
  }
}), $g = M({
  indeterminate: Boolean,
  inset: Boolean,
  flat: Boolean,
  loading: {
    type: [Boolean, String],
    default: !1
  },
  ...qs(),
  ...Qs()
}, "VSwitch"), Ug = Q()({
  name: "VSwitch",
  inheritAttrs: !1,
  props: $g(),
  emits: {
    "update:focused": (e) => !0,
    "update:modelValue": (e) => !0,
    "update:indeterminate": (e) => !0
  },
  setup(e, t) {
    let {
      attrs: n,
      slots: a
    } = t;
    const s = ke(e, "indeterminate"), r = ke(e, "modelValue"), {
      loaderClasses: l
    } = Ka(e), {
      isFocused: i,
      focus: o,
      blur: u
    } = zl(e), c = R(), d = Be && window.matchMedia("(forced-colors: active)").matches, h = E(() => typeof e.loading == "string" && e.loading !== "" ? e.loading : e.color), v = on(), f = E(() => e.id || `switch-${v}`);
    function y() {
      s.value && (s.value = !1);
    }
    function m(b) {
      b.stopPropagation(), b.preventDefault(), c.value?.input?.click();
    }
    return ee(() => {
      const [b, S] = Ws(n), P = ta.filterProps(e), I = Ln.filterProps(e);
      return g(ta, j({
        class: ["v-switch", {
          "v-switch--flat": e.flat
        }, {
          "v-switch--inset": e.inset
        }, {
          "v-switch--indeterminate": s.value
        }, l.value, e.class]
      }, b, P, {
        modelValue: r.value,
        "onUpdate:modelValue": (k) => r.value = k,
        id: f.value,
        focused: i.value,
        style: e.style
      }), {
        ...a,
        default: (k) => {
          let {
            id: D,
            messagesId: V,
            isDisabled: w,
            isReadonly: T,
            isValid: N
          } = k;
          const $ = {
            model: r,
            isValid: N
          };
          return g(Ln, j({
            ref: c
          }, I, {
            modelValue: r.value,
            "onUpdate:modelValue": [(B) => r.value = B, y],
            id: D.value,
            "aria-describedby": V.value,
            type: "checkbox",
            "aria-checked": s.value ? "mixed" : void 0,
            disabled: w.value,
            readonly: T.value,
            onFocus: o,
            onBlur: u
          }, S), {
            ...a,
            default: (B) => {
              let {
                backgroundColorClasses: A,
                backgroundColorStyles: U
              } = B;
              return p("div", {
                class: K(["v-switch__track", d ? void 0 : A.value]),
                style: Z(U.value),
                onClick: m
              }, [a["track-true"] && p("div", {
                key: "prepend",
                class: "v-switch__track-true"
              }, [a["track-true"]($)]), a["track-false"] && p("div", {
                key: "append",
                class: "v-switch__track-false"
              }, [a["track-false"]($)])]);
            },
            input: (B) => {
              let {
                inputNode: A,
                icon: U,
                backgroundColorClasses: Y,
                backgroundColorStyles: G
              } = B;
              return p(pe, null, [A, p("div", {
                class: K(["v-switch__thumb", {
                  "v-switch__thumb--filled": U || e.loading
                }, e.inset || d ? void 0 : Y.value]),
                style: Z(e.inset ? void 0 : G.value)
              }, [a.thumb ? g(Ne, {
                defaults: {
                  VIcon: {
                    icon: U,
                    size: "x-small"
                  }
                }
              }, {
                default: () => [a.thumb({
                  ...$,
                  icon: U
                })]
              }) : g(Lv, null, {
                default: () => [e.loading ? g(tr, {
                  name: "v-switch",
                  active: !0,
                  color: N.value === !1 ? void 0 : h.value
                }, {
                  default: (le) => a.loader ? a.loader(le) : g(nd, {
                    active: le.isActive,
                    color: le.color,
                    indeterminate: !0,
                    size: "16",
                    width: "2"
                  }, null)
                }) : U && g(Ve, {
                  key: String(U),
                  icon: U,
                  size: "x-small"
                }, null)]
              })])]);
            }
          });
        }
      });
    }), {};
  }
}), zg = { id: "form-finder" }, Hg = {
  key: 0,
  class: "select-slot"
}, Yg = { class: "font-weight-bold" }, jg = { class: "float-end" }, Wg = { class: "text-primary" }, Gg = { key: 0 }, Qg = {
  id: "search-helper",
  class: "alert alert-dark",
  role: "alert"
};
function qg(e, t, n, a, s, r) {
  return qe(), nt("div", zg, [
    g(xg, null, {
      default: he(() => [
        p("fieldset", null, [
          t[26] || (t[26] = p("legend", null, "Search...", -1)),
          g(ka, {
            id: "from-xxx-to-yyy",
            fluid: ""
          }, {
            default: he(() => [
              g(Mr, {
                modelValue: e.queryType,
                "onUpdate:modelValue": t[0] || (t[0] = (l) => e.queryType = l),
                inline: "",
                onChange: e.triggerFormChange,
                color: "primary"
              }, {
                default: he(() => [
                  g(ba, {
                    label: "From Compound to MeSH",
                    value: "comp_to_mesh"
                  }),
                  g(ba, {
                    label: "From MeSH to Compound",
                    value: "mesh_to_comp"
                  })
                ]),
                _: 1
              }, 8, ["modelValue", "onChange"])
            ]),
            _: 1
          }),
          e.switchShowAdvancedSetting ? ct("", !0) : (qe(), eu(ka, {
            key: 0,
            id: "switch-show-advanced-settings",
            fluid: ""
          }, {
            default: he(() => [
              g(Ug, {
                modelValue: e.switchShowAdvancedSetting,
                "onUpdate:modelValue": t[1] || (t[1] = (l) => e.switchShowAdvancedSetting = l),
                inset: "",
                label: "Advanced settings",
                color: "primary"
              }, null, 8, ["modelValue"])
            ]),
            _: 1
          })),
          g(ka, {
            id: "panel-advanced-settings",
            class: K({ hidden: !e.switchShowAdvancedSetting }),
            fluid: ""
          }, {
            default: he(() => [
              g(rl, null, {
                default: he(() => [
                  g(yn, {
                    cols: "auto",
                    md: "auto"
                  }, {
                    default: he(() => t[9] || (t[9] = [
                      p("div", { class: "forum-search-radio-label" }, [
                        p("strong", { class: "primary--text" }, "Compounds:")
                      ], -1)
                    ])),
                    _: 1,
                    __: [9]
                  }),
                  g(yn, {
                    cols: "auto",
                    md: "auto"
                  }, {
                    default: he(() => [
                      g(Mr, {
                        modelValue: e.searchType,
                        "onUpdate:modelValue": t[2] || (t[2] = (l) => e.searchType = l),
                        inline: "",
                        onChange: e.triggerFormChange,
                        color: "primary"
                      }, {
                        default: he(() => [
                          g(ba, {
                            label: "PubChem ID",
                            value: "pubchem_id"
                          })
                        ]),
                        _: 1
                      }, 8, ["modelValue", "onChange"])
                    ]),
                    _: 1
                  }),
                  g(yn, {
                    cols: "auto",
                    md: "auto"
                  }, {
                    default: he(() => t[10] || (t[10] = [
                      p("div", { class: "forum-search-radio-label" }, [
                        p("strong", { class: "primary--text" }, " | ")
                      ], -1)
                    ])),
                    _: 1,
                    __: [10]
                  }),
                  g(yn, {
                    cols: "auto",
                    md: "auto"
                  }, {
                    default: he(() => t[11] || (t[11] = [
                      p("div", { class: "forum-search-radio-label" }, [
                        p("strong", { class: "primary--text" }, " Chemical groups:")
                      ], -1)
                    ])),
                    _: 1,
                    __: [11]
                  }),
                  g(yn, {
                    cols: "auto",
                    md: "auto"
                  }, {
                    default: he(() => [
                      g(Mr, {
                        modelValue: e.searchType,
                        "onUpdate:modelValue": t[3] || (t[3] = (l) => e.searchType = l),
                        inline: "",
                        onChange: e.triggerFormChange,
                        color: "primary"
                      }, {
                        default: he(() => [
                          g(ba, { value: "chebi_id" }, {
                            label: he(() => t[12] || (t[12] = [
                              p("div", null, "ChEBI ID ", -1)
                            ])),
                            _: 1
                          }),
                          g(ba, {
                            label: "ChemOnt ID",
                            value: "chemont_id"
                          })
                        ]),
                        _: 1
                      }, 8, ["modelValue", "onChange"])
                    ]),
                    _: 1
                  })
                ]),
                _: 1
              })
            ]),
            _: 1
          }, 8, ["class"]),
          g(ka, { fluid: "" }, {
            default: he(() => [
              g(rl, null, {
                default: he(() => [
                  g(yn, {
                    cols: "6",
                    md: "6"
                  }, {
                    default: he(() => [
                      g(Cg, {
                        clearable: "",
                        density: "compact",
                        "hide-details": "auto",
                        placeholder: "enter your query",
                        modelValue: e.searchQueryItem,
                        "onUpdate:modelValue": t[4] || (t[4] = (l) => e.searchQueryItem = l),
                        "append-icon": "fas fa-search",
                        "onClick:append": e.launchQuery,
                        items: e.searchQueryItems,
                        loading: e.searchQueryLoading,
                        "no-data-text": e.searchQueryNoData,
                        search: e.searchQueryItemText,
                        "onUpdate:search": e.triggerSearchQueryUpdate,
                        "onUpdate:menu": e.triggerSearchMenu,
                        "return-object": "",
                        "no-filter": "",
                        onKeyup: zf(e.launchQuery, ["enter"])
                      }, {
                        label: he(() => [
                          g(Ve, {
                            icon: "fas fa-search",
                            style: { "vertical-align": "middle" }
                          }),
                          Fe(" Search " + Te(e.labelTarget) + " using a " + Te(e.labelSource), 1)
                        ]),
                        item: he(({ item: l, props: i }) => [
                          g(Nn, j(i, {
                            title: l?.raw?.name,
                            subtitle: l?.raw?.id
                          }), null, 16, ["title", "subtitle"])
                        ]),
                        selection: he(({ item: { raw: l } }) => [
                          l.name != "" ? (qe(), nt("p", Hg, [
                            p("span", Yg, Te(l.name), 1),
                            p("small", jg, [
                              p("span", Wg, "(" + Te(l.id) + ")", 1),
                              e.searchQueryItemsVisible ? (qe(), nt("span", Gg, "|")) : ct("", !0)
                            ])
                          ])) : ct("", !0)
                        ]),
                        _: 1
                      }, 8, ["modelValue", "onClick:append", "items", "loading", "no-data-text", "search", "onUpdate:search", "onUpdate:menu", "onKeyup"])
                    ]),
                    _: 1
                  })
                ]),
                _: 1
              })
            ]),
            _: 1
          }),
          p("div", Qg, [
            g(Ve, { icon: "fas fa-info-circle" }),
            t[13] || (t[13] = Fe(" For your first experience with the FORUM portal, please find some examples from ")),
            t[14] || (t[14] = p("a", {
              href: "https://pubchem.ncbi.nlm.nih.gov/",
              target: "_blank"
            }, "PubChem", -1)),
            t[15] || (t[15] = Fe(" (")),
            p("a", {
              class: "exemple",
              onClick: t[5] || (t[5] = (l) => e.launchExample("comp_to_mesh", "pubchem_id", "Pyruvic acid", "1060"))
            }, "1060 - Pyruvic acid"),
            t[16] || (t[16] = Fe("), ")),
            t[17] || (t[17] = p("a", {
              href: "https://www.ebi.ac.uk/ols/ontologies/chebi",
              target: "_blank"
            }, " ChEBI", -1)),
            t[18] || (t[18] = Fe(" (")),
            p("a", {
              class: "exemple",
              onClick: t[6] || (t[6] = (l) => e.launchExample("comp_to_mesh", "chebi_id", "Xanthenes", "CHEBI:38835"))
            }, "CHEBI:38835 - Xanthenes"),
            t[19] || (t[19] = Fe("), ")),
            t[20] || (t[20] = p("a", {
              href: "http://classyfire.wishartlab.com/tax_nodes",
              target: "_blank"
            }, "ChemOnt", -1)),
            t[21] || (t[21] = Fe(" (")),
            p("a", {
              class: "exemple",
              onClick: t[7] || (t[7] = (l) => e.launchExample("comp_to_mesh", "chemont_id", "Thienopyridines", "C0000344"))
            }, "C0000344 - Thienopyridines"),
            t[22] || (t[22] = Fe("), and ")),
            t[23] || (t[23] = p("a", {
              href: "https://meshb.nlm.nih.gov/search",
              target: "_blank"
            }, "MeSH", -1)),
            t[24] || (t[24] = Fe(" (")),
            p("a", {
              class: "exemple",
              onClick: t[8] || (t[8] = (l) => e.launchExample("mesh_to_comp", "pubchem_id", "Diabetes Mellitus", "D003920"))
            }, "D003920 - Diabetes Mellitus"),
            t[25] || (t[25] = Fe("). "))
          ])
        ])
      ]),
      _: 1
    })
  ]);
}
const Kg = /* @__PURE__ */ Ol(Vm, [["render", qg]]);
var ll = function(e, t) {
  return ll = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(n, a) {
    n.__proto__ = a;
  } || function(n, a) {
    for (var s in a) Object.prototype.hasOwnProperty.call(a, s) && (n[s] = a[s]);
  }, ll(e, t);
};
function Ja(e, t) {
  if (typeof t != "function" && t !== null)
    throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
  ll(e, t);
  function n() {
    this.constructor = e;
  }
  e.prototype = t === null ? Object.create(t) : (n.prototype = t.prototype, new n());
}
function il(e) {
  var t = typeof Symbol == "function" && Symbol.iterator, n = t && e[t], a = 0;
  if (n) return n.call(e);
  if (e && typeof e.length == "number") return {
    next: function() {
      return e && a >= e.length && (e = void 0), { value: e && e[a++], done: !e };
    }
  };
  throw new TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.");
}
function ol(e, t) {
  var n = typeof Symbol == "function" && e[Symbol.iterator];
  if (!n) return e;
  var a = n.call(e), s, r = [], l;
  try {
    for (; (t === void 0 || t-- > 0) && !(s = a.next()).done; ) r.push(s.value);
  } catch (i) {
    l = { error: i };
  } finally {
    try {
      s && !s.done && (n = a.return) && n.call(a);
    } finally {
      if (l) throw l.error;
    }
  }
  return r;
}
function ul(e, t, n) {
  if (n || arguments.length === 2) for (var a = 0, s = t.length, r; a < s; a++)
    (r || !(a in t)) && (r || (r = Array.prototype.slice.call(t, 0, a)), r[a] = t[a]);
  return e.concat(r || Array.prototype.slice.call(t));
}
function Ut(e) {
  return typeof e == "function";
}
function ad(e) {
  var t = function(a) {
    Error.call(a), a.stack = new Error().stack;
  }, n = e(t);
  return n.prototype = Object.create(Error.prototype), n.prototype.constructor = n, n;
}
var Rr = ad(function(e) {
  return function(n) {
    e(this), this.message = n ? n.length + ` errors occurred during unsubscription:
` + n.map(function(a, s) {
      return s + 1 + ") " + a.toString();
    }).join(`
  `) : "", this.name = "UnsubscriptionError", this.errors = n;
  };
});
function cl(e, t) {
  if (e) {
    var n = e.indexOf(t);
    0 <= n && e.splice(n, 1);
  }
}
var nr = function() {
  function e(t) {
    this.initialTeardown = t, this.closed = !1, this._parentage = null, this._finalizers = null;
  }
  return e.prototype.unsubscribe = function() {
    var t, n, a, s, r;
    if (!this.closed) {
      this.closed = !0;
      var l = this._parentage;
      if (l)
        if (this._parentage = null, Array.isArray(l))
          try {
            for (var i = il(l), o = i.next(); !o.done; o = i.next()) {
              var u = o.value;
              u.remove(this);
            }
          } catch (y) {
            t = { error: y };
          } finally {
            try {
              o && !o.done && (n = i.return) && n.call(i);
            } finally {
              if (t) throw t.error;
            }
          }
        else
          l.remove(this);
      var c = this.initialTeardown;
      if (Ut(c))
        try {
          c();
        } catch (y) {
          r = y instanceof Rr ? y.errors : [y];
        }
      var d = this._finalizers;
      if (d) {
        this._finalizers = null;
        try {
          for (var h = il(d), v = h.next(); !v.done; v = h.next()) {
            var f = v.value;
            try {
              Do(f);
            } catch (y) {
              r = r ?? [], y instanceof Rr ? r = ul(ul([], ol(r)), ol(y.errors)) : r.push(y);
            }
          }
        } catch (y) {
          a = { error: y };
        } finally {
          try {
            v && !v.done && (s = h.return) && s.call(h);
          } finally {
            if (a) throw a.error;
          }
        }
      }
      if (r)
        throw new Rr(r);
    }
  }, e.prototype.add = function(t) {
    var n;
    if (t && t !== this)
      if (this.closed)
        Do(t);
      else {
        if (t instanceof e) {
          if (t.closed || t._hasParent(this))
            return;
          t._addParent(this);
        }
        (this._finalizers = (n = this._finalizers) !== null && n !== void 0 ? n : []).push(t);
      }
  }, e.prototype._hasParent = function(t) {
    var n = this._parentage;
    return n === t || Array.isArray(n) && n.includes(t);
  }, e.prototype._addParent = function(t) {
    var n = this._parentage;
    this._parentage = Array.isArray(n) ? (n.push(t), n) : n ? [n, t] : t;
  }, e.prototype._removeParent = function(t) {
    var n = this._parentage;
    n === t ? this._parentage = null : Array.isArray(n) && cl(n, t);
  }, e.prototype.remove = function(t) {
    var n = this._finalizers;
    n && cl(n, t), t instanceof e && t._removeParent(this);
  }, e.EMPTY = function() {
    var t = new e();
    return t.closed = !0, t;
  }(), e;
}(), sd = nr.EMPTY;
function rd(e) {
  return e instanceof nr || e && "closed" in e && Ut(e.remove) && Ut(e.add) && Ut(e.unsubscribe);
}
function Do(e) {
  Ut(e) ? e() : e.unsubscribe();
}
var Jg = {
  Promise: void 0
}, Zg = {
  setTimeout: function(e, t) {
    for (var n = [], a = 2; a < arguments.length; a++)
      n[a - 2] = arguments[a];
    return setTimeout.apply(void 0, ul([e, t], ol(n)));
  },
  clearTimeout: function(e) {
    return clearTimeout(e);
  },
  delegate: void 0
};
function Xg(e) {
  Zg.setTimeout(function() {
    throw e;
  });
}
function Mo() {
}
function gs(e) {
  e();
}
var si = function(e) {
  Ja(t, e);
  function t(n) {
    var a = e.call(this) || this;
    return a.isStopped = !1, n ? (a.destination = n, rd(n) && n.add(a)) : a.destination = nb, a;
  }
  return t.create = function(n, a, s) {
    return new dl(n, a, s);
  }, t.prototype.next = function(n) {
    this.isStopped || this._next(n);
  }, t.prototype.error = function(n) {
    this.isStopped || (this.isStopped = !0, this._error(n));
  }, t.prototype.complete = function() {
    this.isStopped || (this.isStopped = !0, this._complete());
  }, t.prototype.unsubscribe = function() {
    this.closed || (this.isStopped = !0, e.prototype.unsubscribe.call(this), this.destination = null);
  }, t.prototype._next = function(n) {
    this.destination.next(n);
  }, t.prototype._error = function(n) {
    try {
      this.destination.error(n);
    } finally {
      this.unsubscribe();
    }
  }, t.prototype._complete = function() {
    try {
      this.destination.complete();
    } finally {
      this.unsubscribe();
    }
  }, t;
}(nr), eb = function() {
  function e(t) {
    this.partialObserver = t;
  }
  return e.prototype.next = function(t) {
    var n = this.partialObserver;
    if (n.next)
      try {
        n.next(t);
      } catch (a) {
        cs(a);
      }
  }, e.prototype.error = function(t) {
    var n = this.partialObserver;
    if (n.error)
      try {
        n.error(t);
      } catch (a) {
        cs(a);
      }
    else
      cs(t);
  }, e.prototype.complete = function() {
    var t = this.partialObserver;
    if (t.complete)
      try {
        t.complete();
      } catch (n) {
        cs(n);
      }
  }, e;
}(), dl = function(e) {
  Ja(t, e);
  function t(n, a, s) {
    var r = e.call(this) || this, l;
    return Ut(n) || !n ? l = {
      next: n ?? void 0,
      error: a ?? void 0,
      complete: s ?? void 0
    } : l = n, r.destination = new eb(l), r;
  }
  return t;
}(si);
function cs(e) {
  Xg(e);
}
function tb(e) {
  throw e;
}
var nb = {
  closed: !0,
  next: Mo,
  error: tb,
  complete: Mo
}, ab = function() {
  return typeof Symbol == "function" && Symbol.observable || "@@observable";
}();
function sb(e) {
  return e;
}
function rb(e) {
  return e.length === 0 ? sb : e.length === 1 ? e[0] : function(n) {
    return e.reduce(function(a, s) {
      return s(a);
    }, n);
  };
}
var Ro = function() {
  function e(t) {
    t && (this._subscribe = t);
  }
  return e.prototype.lift = function(t) {
    var n = new e();
    return n.source = this, n.operator = t, n;
  }, e.prototype.subscribe = function(t, n, a) {
    var s = this, r = ib(t) ? t : new dl(t, n, a);
    return gs(function() {
      var l = s, i = l.operator, o = l.source;
      r.add(i ? i.call(r, o) : o ? s._subscribe(r) : s._trySubscribe(r));
    }), r;
  }, e.prototype._trySubscribe = function(t) {
    try {
      return this._subscribe(t);
    } catch (n) {
      t.error(n);
    }
  }, e.prototype.forEach = function(t, n) {
    var a = this;
    return n = Fo(n), new n(function(s, r) {
      var l = new dl({
        next: function(i) {
          try {
            t(i);
          } catch (o) {
            r(o), l.unsubscribe();
          }
        },
        error: r,
        complete: s
      });
      a.subscribe(l);
    });
  }, e.prototype._subscribe = function(t) {
    var n;
    return (n = this.source) === null || n === void 0 ? void 0 : n.subscribe(t);
  }, e.prototype[ab] = function() {
    return this;
  }, e.prototype.pipe = function() {
    for (var t = [], n = 0; n < arguments.length; n++)
      t[n] = arguments[n];
    return rb(t)(this);
  }, e.prototype.toPromise = function(t) {
    var n = this;
    return t = Fo(t), new t(function(a, s) {
      var r;
      n.subscribe(function(l) {
        return r = l;
      }, function(l) {
        return s(l);
      }, function() {
        return a(r);
      });
    });
  }, e.create = function(t) {
    return new e(t);
  }, e;
}();
function Fo(e) {
  var t;
  return (t = e ?? Jg.Promise) !== null && t !== void 0 ? t : Promise;
}
function lb(e) {
  return e && Ut(e.next) && Ut(e.error) && Ut(e.complete);
}
function ib(e) {
  return e && e instanceof si || lb(e) && rd(e);
}
function ob(e) {
  return Ut(e?.lift);
}
function ld(e) {
  return function(t) {
    if (ob(t))
      return t.lift(function(n) {
        try {
          return e(n, this);
        } catch (a) {
          this.error(a);
        }
      });
    throw new TypeError("Unable to lift unknown Observable type");
  };
}
function id(e, t, n, a, s) {
  return new ub(e, t, n, a, s);
}
var ub = function(e) {
  Ja(t, e);
  function t(n, a, s, r, l, i) {
    var o = e.call(this, n) || this;
    return o.onFinalize = l, o.shouldUnsubscribe = i, o._next = a ? function(u) {
      try {
        a(u);
      } catch (c) {
        n.error(c);
      }
    } : e.prototype._next, o._error = r ? function(u) {
      try {
        r(u);
      } catch (c) {
        n.error(c);
      } finally {
        this.unsubscribe();
      }
    } : e.prototype._error, o._complete = s ? function() {
      try {
        s();
      } catch (u) {
        n.error(u);
      } finally {
        this.unsubscribe();
      }
    } : e.prototype._complete, o;
  }
  return t.prototype.unsubscribe = function() {
    var n;
    if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
      var a = this.closed;
      e.prototype.unsubscribe.call(this), !a && ((n = this.onFinalize) === null || n === void 0 || n.call(this));
    }
  }, t;
}(si), cb = ad(function(e) {
  return function() {
    e(this), this.name = "ObjectUnsubscribedError", this.message = "object unsubscribed";
  };
}), od = function(e) {
  Ja(t, e);
  function t() {
    var n = e.call(this) || this;
    return n.closed = !1, n.currentObservers = null, n.observers = [], n.isStopped = !1, n.hasError = !1, n.thrownError = null, n;
  }
  return t.prototype.lift = function(n) {
    var a = new Lo(this, this);
    return a.operator = n, a;
  }, t.prototype._throwIfClosed = function() {
    if (this.closed)
      throw new cb();
  }, t.prototype.next = function(n) {
    var a = this;
    gs(function() {
      var s, r;
      if (a._throwIfClosed(), !a.isStopped) {
        a.currentObservers || (a.currentObservers = Array.from(a.observers));
        try {
          for (var l = il(a.currentObservers), i = l.next(); !i.done; i = l.next()) {
            var o = i.value;
            o.next(n);
          }
        } catch (u) {
          s = { error: u };
        } finally {
          try {
            i && !i.done && (r = l.return) && r.call(l);
          } finally {
            if (s) throw s.error;
          }
        }
      }
    });
  }, t.prototype.error = function(n) {
    var a = this;
    gs(function() {
      if (a._throwIfClosed(), !a.isStopped) {
        a.hasError = a.isStopped = !0, a.thrownError = n;
        for (var s = a.observers; s.length; )
          s.shift().error(n);
      }
    });
  }, t.prototype.complete = function() {
    var n = this;
    gs(function() {
      if (n._throwIfClosed(), !n.isStopped) {
        n.isStopped = !0;
        for (var a = n.observers; a.length; )
          a.shift().complete();
      }
    });
  }, t.prototype.unsubscribe = function() {
    this.isStopped = this.closed = !0, this.observers = this.currentObservers = null;
  }, Object.defineProperty(t.prototype, "observed", {
    get: function() {
      var n;
      return ((n = this.observers) === null || n === void 0 ? void 0 : n.length) > 0;
    },
    enumerable: !1,
    configurable: !0
  }), t.prototype._trySubscribe = function(n) {
    return this._throwIfClosed(), e.prototype._trySubscribe.call(this, n);
  }, t.prototype._subscribe = function(n) {
    return this._throwIfClosed(), this._checkFinalizedStatuses(n), this._innerSubscribe(n);
  }, t.prototype._innerSubscribe = function(n) {
    var a = this, s = this, r = s.hasError, l = s.isStopped, i = s.observers;
    return r || l ? sd : (this.currentObservers = null, i.push(n), new nr(function() {
      a.currentObservers = null, cl(i, n);
    }));
  }, t.prototype._checkFinalizedStatuses = function(n) {
    var a = this, s = a.hasError, r = a.thrownError, l = a.isStopped;
    s ? n.error(r) : l && n.complete();
  }, t.prototype.asObservable = function() {
    var n = new Ro();
    return n.source = this, n;
  }, t.create = function(n, a) {
    return new Lo(n, a);
  }, t;
}(Ro), Lo = function(e) {
  Ja(t, e);
  function t(n, a) {
    var s = e.call(this) || this;
    return s.destination = n, s.source = a, s;
  }
  return t.prototype.next = function(n) {
    var a, s;
    (s = (a = this.destination) === null || a === void 0 ? void 0 : a.next) === null || s === void 0 || s.call(a, n);
  }, t.prototype.error = function(n) {
    var a, s;
    (s = (a = this.destination) === null || a === void 0 ? void 0 : a.error) === null || s === void 0 || s.call(a, n);
  }, t.prototype.complete = function() {
    var n, a;
    (a = (n = this.destination) === null || n === void 0 ? void 0 : n.complete) === null || a === void 0 || a.call(n);
  }, t.prototype._subscribe = function(n) {
    var a, s;
    return (s = (a = this.source) === null || a === void 0 ? void 0 : a.subscribe(n)) !== null && s !== void 0 ? s : sd;
  }, t;
}(od);
function db(e, t) {
  return ld(function(n, a) {
    var s = 0;
    n.subscribe(id(a, function(r) {
      a.next(e.call(t, r, s++));
    }));
  });
}
function fb(e, t) {
  return ld(function(n, a) {
    var s = 0;
    n.subscribe(id(a, function(r) {
      return e.call(t, r, s++) && a.next(r);
    }));
  });
}
class No {
  constructor(t, n) {
    Ie(this, "name");
    Ie(this, "value");
    this.name = t, this.value = n;
  }
}
const hb = "https://cdn.jsdelivr.net/gh/p2m2/discovery@0.3.2/dist/discovery-web.min.js";
class Ma {
  constructor() {
    //extends Vue
    Ie(this, "_subject", new od());
    Ie(this, "url", "https://forum.semantic-metabolomics.fr/sparql/");
    Ie(this, "mimetype", "application/sparql-query");
    Ie(this, "method", "POST");
    Ie(this, "cache", !0);
    Ie(this, "logLevel", "info");
    Ie(this, "batchProcessing", 80);
    Ie(this, "pageSize", 10);
    Ie(this, "discovery", null);
  }
  static buildDiscoveryObject() {
    return {
      SWDiscoveryConfiguration: window.SWDiscoveryConfiguration,
      SWDiscovery: window.SWDiscovery,
      SWTransaction: window.SWTransaction,
      URI: window.URI,
      Literal: window.Literal,
      PropertyPath: window.PropertyPath
    };
  }
  /**
   *
   * @returns return Discovery lib as a promise
   */
  loadDiscovery() {
    const t = this;
    return new Promise((n) => {
      if (t.discovery != null) {
        n(t.discovery);
        return;
      }
      const a = document.createElement("script");
      a.type = "text/javascript", a.src = hb, a.readyState ? a.onreadystatechange = () => {
        (a.readyState === "loaded" || a.readyState === "complete") && (a.onreadystatechange = null, n(Ma.buildDiscoveryObject()));
      } : a.onload = () => {
        n(Ma.buildDiscoveryObject());
      }, a.onerror = (s) => {
        console.error("error", s);
      }, document.getElementsByTagName("head")[0].appendChild(a);
    });
  }
  emit(t) {
    this._subject.next(t);
  }
  on(t, n) {
    return this._subject.pipe(
      fb((a) => a.name === t),
      db((a) => a.value)
    ).subscribe(n);
  }
  getConfiguration() {
    return `{
        "sources" : [{
        "id"  : "__id__",
"url" : "` + this.url + `",
"method" : "` + this.method + `",
"mimetype" : "` + this.mimetype + `"}],
        "settings" : {
            "cache" : ` + this.cache + `,
            "logLevel" : "` + this.logLevel + `",
            "sizeBatchProcessing" :  ` + this.batchProcessing + `,
            "pageSize" : ` + this.pageSize + `
        }
    }`;
  }
  /**
   *
   * @param cid    : Pubchem identifier
   * @param meshid  : meshid : identifiers
   * @returns number of layzy pages/listOfLazyPage
   */
  async getLazyPagesPMIDs(t, n, a = this.getConfiguration()) {
    const r = await this.loadDiscovery(), l = r.URI, i = r.PropertyPath, o = r.Literal, u = r.SWDiscoveryConfiguration, c = r.SWDiscovery;
    r.SWTransaction;
    const d = t && t.startsWith("CID") ? t : "CID" + t, h = u.setConfigString(a);
    return new Promise((v, f) => {
      let y;
      a.includes(this.url) ? y = c(h).directive(
        'DEFINE input:inference "schema-inference-rules"'
      ) : y = c(h), y.prefix("dcterm", "http://purl.org/dc/terms/").prefix("cid", "http://rdf.ncbi.nlm.nih.gov/pubchem/compound/").prefix("cito", "http://purl.org/spar/cito/").prefix("meshv", "http://id.nlm.nih.gov/mesh/vocab#").prefix("mesh", "http://id.nlm.nih.gov/mesh/").prefix("fabio", "http://purl.org/spar/fabio/").something("cid").set(l("cid:" + d)).isSubjectOf(l("cito:isDiscussedBy"), "pmid").datatype(l("http://purl.org/dc/terms/title"), "title").datatype(l("http://purl.org/dc/terms/date"), "date").isSubjectOf(
        i(
          "fabio:hasSubjectTerm|fabio:hasSubjectTerm/meshv:hasDescriptor"
        ),
        "mesh_ini"
      ).isSubjectOf(
        i(
          "meshv:treeNumber|meshv:treeNumber/meshv:parentTreeNumber"
        )
      ).isObjectOf(l("meshv:treeNumber")).set(l("mesh:" + n)).focus("mesh_ini").isA(l("meshv:TopicalDescriptor")).focus("mesh_ini").isSubjectOf("meshv:active").set(o(1)).focus("pmid").isSubjectOf("dcterm:date", "dateToOrdered").selectDistinctByPage("pmid", "title", "date").then((m) => {
        const b = Object.values(m)[0], S = Object.values(
          m
        )[1];
        v([b, S]);
      }).catch((m) => {
        f(m);
      });
    });
  }
  async getPMIDs(t) {
    const n = this;
    (await n.loadDiscovery()).SWTransaction;
    const s = t;
    return new Promise((r, l) => {
      s.distinct().orderByDesc("dateToOrdered").commit().progression((i) => {
        n.emit(new No("progression", i));
      }).requestEvent((i) => {
        n.emit(new No("requestEvent", i));
      }).raw().then((i) => {
        console.log("response", JSON.stringify(i));
        const o = [];
        if (i.results && i.results.bindings)
          for (let u = 0; u < i.results.bindings.length; u++) {
            const c = i.results.bindings[u].pmid.value, d = c.split("/").pop(), h = i.results.datatypes.title[c][0].value, v = i.results.datatypes.date[c][0].value;
            console.log(c + "-->" + h + "," + v), o.push({
              PMID: d,
              urlPMID: c,
              Title: h,
              Date: v
            });
          }
        r(o);
      }).catch((i) => {
        l(i);
      });
    });
  }
}
function Bo() {
  return {
    PMID: "",
    Title: "",
    Date: "",
    urlPMID: ""
  };
}
const mb = Ls({
  name: "MthForumLiteratureDisplay",
  props: ["searchType", "searchId", "itemId"],
  watch: {
    itemId: function(e, t) {
      console.debug("Prop changed: ", e, " | was: ", t), this.literatureItemId = e, this.discoveryService = new Ma(), this.progression = 0, this.laziestPages = [], this.pagesLength = 0, this.pageSize = 10, this.currentPage = 0, this.headers = [], this.dataSource = [], this.display_loading_div = !0, this.display_results_div = !1, this.initDataTableHeaders(), this.initDatatableContent();
    }
  },
  setup(e) {
    const t = R(!1), n = R(!1), a = R(new Ma()), s = R(0), r = [], l = [], i = R(0), o = R(10), u = R(0), c = e.searchType, d = e.searchId, h = e.itemId, v = R([]), f = R([]);
    return {
      // hide / show elelements
      display_loading_div: t,
      display_results_div: n,
      // litterature query config.
      literatureSearchType: c,
      literatureSearchId: d,
      literatureItemId: h,
      // discovery config.
      discoveryService: a,
      progression: s,
      laziestPages: r,
      pagesLength: i,
      listOfPMIDs: l,
      pageSize: o,
      currentPage: u,
      // data-table
      headers: v,
      dataSource: f,
      // footer
      footerProps: {
        firstIcon: "fas fa-angle-double-left",
        lastIcon: "fas fa-angle-double-right",
        prevIcon: "fas fa-chevron-left",
        nextIcon: "fas fa-chevron-right"
      }
    };
  },
  mounted() {
    this.display_loading_div = !0, this.display_results_div = !1, this.initDataTableHeaders(), this.initDatatableContent();
  },
  methods: {
    /**
     * Init data-table content
     */
    initDatatableContent() {
      this.discoveryService.on(
        "progression",
        (e) => this.progression = 100 * e
      ), this.discoveryService.on(
        "requestEvent",
        (e) => console.log(e)
      ), this.getAllPMIDs();
    },
    /** init all PMIDs */
    getAllPMIDs() {
      this.discoveryService.getLazyPagesPMIDs(this.literatureSearchId, this.literatureItemId).then((e) => {
        const t = e[0], n = { ...e[1] }, a = [];
        for (const s in n)
          a.push(n[s]);
        this.laziestPages = a, this.listOfPMIDs = new Array(t).fill(Bo()), this.laziestPages && this.laziestPages.length > 0 ? (this.currentPage >= this.laziestPages.length && (this.currentPage = 0), this.laziestPages[this.currentPage], this.getPMIDs(this.laziestPages[this.currentPage])) : (this.currentPage = 0, this.pageSize = 0), this.display_loading_div = !1;
      }).catch((e) => {
        console.error(e);
      });
    },
    /** display a set of PMIDs */
    getPMIDs(e) {
      this.discoveryService.getPMIDs(e).then((t) => {
        const n = this.currentPage * this.pageSize;
        for (let a = 0; a < this.pageSize; a++)
          this.listOfPMIDs[n + a] = t[a];
        this.afterViewInit();
      }).catch((t) => {
        console.error(t);
      });
    },
    afterViewInit() {
      this.display_loading_div = !1, this.display_results_div = !0, this.laziestPages && this.currentPage == this.laziestPages.length - 1 ? this.dataSource = //new MatTableDataSource(
      this.listOfPMIDs.filter((e) => e && e.PMID) : this.dataSource = //new MatTableDataSource(
      this.listOfPMIDs.map((e) => e || Bo());
    },
    /**
     * Method called when a "pagination event" occure on "litterature data-table"
     * @param e the triggered event
     */
    handlePage(e) {
      this.display_loading_div = !0, console.log("e", e), e.itemsPerPage != this.pageSize && (this.discoveryService.pageSize = e.itemsPerPage, this.pageSize = this.discoveryService.pageSize, this.getAllPMIDs()), this.currentPage = e.page, this.laziestPages && this.laziestPages.length > 0 && this.getPMIDs(this.laziestPages[this.currentPage]);
    },
    /**
     * Init data-table headers
     */
    initDataTableHeaders() {
      this.headers = [
        {
          title: "PMID",
          align: "start",
          key: "PMID",
          sortable: !1
        },
        {
          title: "Title",
          key: "Title",
          sortable: !1
        },
        { title: "Date", key: "Date", sortable: !1 }
      ];
    }
  }
}), ud = M({
  baseColor: String,
  divided: Boolean,
  ...dn(),
  ...de(),
  ...Ct(),
  ...Pn(),
  ...kt(),
  ...Le(),
  ...Ye(),
  ...fn()
}, "VBtnGroup"), $o = Q()({
  name: "VBtnGroup",
  props: ud(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      themeClasses: a
    } = Ze(e), {
      densityClasses: s
    } = Wt(e), {
      borderClasses: r
    } = Cn(e), {
      elevationClasses: l
    } = Un(e), {
      roundedClasses: i
    } = Dt(e);
    zt({
      VBtn: {
        height: "auto",
        baseColor: E(() => e.baseColor),
        color: E(() => e.color),
        density: E(() => e.density),
        flat: !0,
        variant: E(() => e.variant)
      }
    }), ee(() => g(e.tag, {
      class: K(["v-btn-group", {
        "v-btn-group--divided": e.divided
      }, a.value, r.value, s.value, l.value, i.value, e.class]),
      style: Z(e.style)
    }, n));
  }
}), cd = Symbol.for("vuetify:v-btn-toggle"), vb = M({
  ...ud(),
  ...jl()
}, "VBtnToggle");
Q()({
  name: "VBtnToggle",
  props: vb(),
  emits: {
    "update:modelValue": (e) => !0
  },
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      isSelected: a,
      next: s,
      prev: r,
      select: l,
      selected: i
    } = Wl(e, cd);
    return ee(() => {
      const o = $o.filterProps(e);
      return g($o, j({
        class: ["v-btn-toggle", e.class]
      }, o, {
        style: e.style
      }), {
        default: () => [n.default?.({
          isSelected: a,
          next: s,
          prev: r,
          select: l,
          selected: i
        })]
      });
    }), {
      next: s,
      prev: r,
      select: l
    };
  }
});
const yb = ["static", "relative", "fixed", "absolute", "sticky"], dd = M({
  position: {
    type: String,
    validator: (
      /* istanbul ignore next */
      (e) => yb.includes(e)
    )
  }
}, "position");
function fd(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : jt();
  return {
    positionClasses: E(() => e.position ? `${t}--${e.position}` : void 0)
  };
}
function gb(e, t) {
  re(() => e.isActive?.value, (n) => {
    e.isLink.value && n && t && Ge(() => {
      t(!0);
    });
  }, {
    immediate: !0
  });
}
const bb = M({
  active: {
    type: Boolean,
    default: void 0
  },
  activeColor: String,
  baseColor: String,
  symbol: {
    type: null,
    default: cd
  },
  flat: Boolean,
  icon: [Boolean, String, Function, Object],
  prependIcon: ue,
  appendIcon: ue,
  block: Boolean,
  readonly: Boolean,
  slim: Boolean,
  stacked: Boolean,
  ripple: {
    type: [Boolean, Object],
    default: !0
  },
  text: {
    type: [String, Number, Boolean],
    default: void 0
  },
  ...dn(),
  ...de(),
  ...Ct(),
  ...un(),
  ...Pn(),
  ...uc(),
  ...er(),
  ...Zl(),
  ...dd(),
  ...kt(),
  ...Xs(),
  ...ia(),
  ...Le({
    tag: "button"
  }),
  ...Ye(),
  ...fn({
    variant: "elevated"
  })
}, "VBtn"), Zt = Q()({
  name: "VBtn",
  props: bb(),
  emits: {
    "group:selected": (e) => !0
  },
  setup(e, t) {
    let {
      attrs: n,
      slots: a
    } = t;
    const {
      themeClasses: s
    } = Ze(e), {
      borderClasses: r
    } = Cn(e), {
      densityClasses: l
    } = Wt(e), {
      dimensionStyles: i
    } = cn(e), {
      elevationClasses: o
    } = Un(e), {
      loaderClasses: u
    } = Ka(e), {
      locationStyles: c
    } = Xl(e), {
      positionClasses: d
    } = fd(e), {
      roundedClasses: h
    } = Dt(e), {
      sizeClasses: v,
      sizeStyles: f
    } = Wa(e), y = cc(e, e.symbol, !1), m = Zs(e, n), b = _(() => e.active !== void 0 ? e.active : m.isLink.value ? m.isActive?.value : y?.isSelected.value), S = E(() => b.value ? e.activeColor ?? e.color : e.color), P = _(() => ({
      color: y?.isSelected.value && (!m.isLink.value || m.isActive?.value) || !y || m.isActive?.value ? S.value ?? e.baseColor : e.baseColor,
      variant: e.variant
    })), {
      colorClasses: I,
      colorStyles: k,
      variantClasses: D
    } = Qa(P), V = _(() => y?.disabled.value || e.disabled), w = E(() => e.variant === "elevated" && !(e.disabled || e.flat || e.border)), T = _(() => {
      if (!(e.value === void 0 || typeof e.value == "symbol"))
        return Object(e.value) === e.value ? JSON.stringify(e.value, null, 0) : e.value;
    });
    function N($) {
      V.value || m.isLink.value && ($.metaKey || $.ctrlKey || $.shiftKey || $.button !== 0 || n.target === "_blank") || (m.navigate?.($), y?.toggle());
    }
    return gb(m, y?.select), ee(() => {
      const $ = m.isLink.value ? "a" : e.tag, B = !!(e.prependIcon || a.prepend), A = !!(e.appendIcon || a.append), U = !!(e.icon && e.icon !== !0);
      return ht(g($, j({
        type: $ === "a" ? void 0 : "button",
        class: ["v-btn", y?.selectedClass.value, {
          "v-btn--active": b.value,
          "v-btn--block": e.block,
          "v-btn--disabled": V.value,
          "v-btn--elevated": w.value,
          "v-btn--flat": e.flat,
          "v-btn--icon": !!e.icon,
          "v-btn--loading": e.loading,
          "v-btn--readonly": e.readonly,
          "v-btn--slim": e.slim,
          "v-btn--stacked": e.stacked
        }, s.value, r.value, I.value, l.value, o.value, u.value, d.value, h.value, v.value, D.value, e.class],
        style: [k.value, i.value, c.value, f.value, e.style],
        "aria-busy": e.loading ? !0 : void 0,
        disabled: V.value || void 0,
        tabindex: e.loading || e.readonly ? -1 : void 0,
        onClick: N,
        value: T.value
      }, m.linkProps), {
        default: () => [Ga(!0, "v-btn"), !e.icon && B && p("span", {
          key: "prepend",
          class: "v-btn__prepend"
        }, [a.prepend ? g(Ne, {
          key: "prepend-defaults",
          disabled: !e.prependIcon,
          defaults: {
            VIcon: {
              icon: e.prependIcon
            }
          }
        }, a.prepend) : g(Ve, {
          key: "prepend-icon",
          icon: e.prependIcon
        }, null)]), p("span", {
          class: "v-btn__content",
          "data-no-activator": ""
        }, [!a.default && U ? g(Ve, {
          key: "content-icon",
          icon: e.icon
        }, null) : g(Ne, {
          key: "content-defaults",
          disabled: !U,
          defaults: {
            VIcon: {
              icon: e.icon
            }
          }
        }, {
          default: () => [a.default?.() ?? Te(e.text)]
        })]), !e.icon && A && p("span", {
          key: "append",
          class: "v-btn__append"
        }, [a.append ? g(Ne, {
          key: "append-defaults",
          disabled: !e.appendIcon,
          defaults: {
            VIcon: {
              icon: e.appendIcon
            }
          }
        }, a.append) : g(Ve, {
          key: "append-icon",
          icon: e.appendIcon
        }, null)]), !!e.loading && p("span", {
          key: "loader",
          class: "v-btn__loader"
        }, [a.loader?.() ?? g(nd, {
          color: typeof e.loading == "boolean" ? void 0 : e.loading,
          indeterminate: !0,
          width: "2"
        }, null)])]
      }), [[rn, !V.value && e.ripple, "", {
        center: !!e.icon
      }]]);
    }), {
      group: y
    };
  }
});
function pb() {
  const e = R([]);
  Hf(() => e.value = []);
  function t(n, a) {
    e.value[a] = n;
  }
  return {
    refs: e,
    updateRef: t
  };
}
const Sb = M({
  activeColor: String,
  start: {
    type: [Number, String],
    default: 1
  },
  modelValue: {
    type: Number,
    default: (e) => e.start
  },
  disabled: Boolean,
  length: {
    type: [Number, String],
    default: 1,
    validator: (e) => e % 1 === 0
  },
  totalVisible: [Number, String],
  firstIcon: {
    type: ue,
    default: "$first"
  },
  prevIcon: {
    type: ue,
    default: "$prev"
  },
  nextIcon: {
    type: ue,
    default: "$next"
  },
  lastIcon: {
    type: ue,
    default: "$last"
  },
  ariaLabel: {
    type: String,
    default: "$vuetify.pagination.ariaLabel.root"
  },
  pageAriaLabel: {
    type: String,
    default: "$vuetify.pagination.ariaLabel.page"
  },
  currentPageAriaLabel: {
    type: String,
    default: "$vuetify.pagination.ariaLabel.currentPage"
  },
  firstAriaLabel: {
    type: String,
    default: "$vuetify.pagination.ariaLabel.first"
  },
  previousAriaLabel: {
    type: String,
    default: "$vuetify.pagination.ariaLabel.previous"
  },
  nextAriaLabel: {
    type: String,
    default: "$vuetify.pagination.ariaLabel.next"
  },
  lastAriaLabel: {
    type: String,
    default: "$vuetify.pagination.ariaLabel.last"
  },
  ellipsis: {
    type: String,
    default: "..."
  },
  showFirstLastPage: Boolean,
  ...dn(),
  ...de(),
  ...Ct(),
  ...Pn(),
  ...kt(),
  ...ia(),
  ...Le({
    tag: "nav"
  }),
  ...Ye(),
  ...fn({
    variant: "text"
  })
}, "VPagination"), Uo = Q()({
  name: "VPagination",
  props: Sb(),
  emits: {
    "update:modelValue": (e) => !0,
    first: (e) => !0,
    prev: (e) => !0,
    next: (e) => !0,
    last: (e) => !0
  },
  setup(e, t) {
    let {
      slots: n,
      emit: a
    } = t;
    const s = ke(e, "modelValue"), {
      t: r,
      n: l
    } = hn(), {
      isRtl: i
    } = Mt(), {
      themeClasses: o
    } = Ze(e), {
      width: u
    } = $n(), c = ne(-1);
    zt(void 0, {
      scoped: !0
    });
    const {
      resizeRef: d
    } = na((w) => {
      if (!w.length) return;
      const {
        target: T,
        contentRect: N
      } = w[0], $ = T.querySelector(".v-pagination__list > *");
      if (!$) return;
      const B = N.width, A = $.offsetWidth + parseFloat(getComputedStyle($).marginRight) * 2;
      c.value = y(B, A);
    }), h = _(() => parseInt(e.length, 10)), v = _(() => parseInt(e.start, 10)), f = _(() => e.totalVisible != null ? parseInt(e.totalVisible, 10) : c.value >= 0 ? c.value : y(u.value, 58));
    function y(w, T) {
      const N = e.showFirstLastPage ? 5 : 3;
      return Math.max(0, Math.floor(
        // Round to two decimal places to avoid floating point errors
        Number(((w - T * N) / T).toFixed(2))
      ));
    }
    const m = _(() => {
      if (h.value <= 0 || isNaN(h.value) || h.value > Number.MAX_SAFE_INTEGER) return [];
      if (f.value <= 0) return [];
      if (f.value === 1) return [s.value];
      if (h.value <= f.value)
        return rs(h.value, v.value);
      const w = f.value % 2 === 0, T = w ? f.value / 2 : Math.floor(f.value / 2), N = w ? T : T + 1, $ = h.value - T;
      if (N - s.value >= 0)
        return [...rs(Math.max(1, f.value - 1), v.value), e.ellipsis, h.value];
      if (s.value - $ >= (w ? 1 : 0)) {
        const B = f.value - 1, A = h.value - B + v.value;
        return [v.value, e.ellipsis, ...rs(B, A)];
      } else {
        const B = Math.max(1, f.value - 2), A = B === 1 ? s.value : s.value - Math.ceil(B / 2) + v.value;
        return [v.value, e.ellipsis, ...rs(B, A), e.ellipsis, h.value];
      }
    });
    function b(w, T, N) {
      w.preventDefault(), s.value = T, N && a(N, T);
    }
    const {
      refs: S,
      updateRef: P
    } = pb();
    zt({
      VPaginationBtn: {
        color: E(() => e.color),
        border: E(() => e.border),
        density: E(() => e.density),
        size: E(() => e.size),
        variant: E(() => e.variant),
        rounded: E(() => e.rounded),
        elevation: E(() => e.elevation)
      }
    });
    const I = _(() => m.value.map((w, T) => {
      const N = ($) => P($, T);
      if (typeof w == "string")
        return {
          isActive: !1,
          key: `ellipsis-${T}`,
          page: w,
          props: {
            ref: N,
            ellipsis: !0,
            icon: !0,
            disabled: !0
          }
        };
      {
        const $ = w === s.value;
        return {
          isActive: $,
          key: w,
          page: l(w),
          props: {
            ref: N,
            ellipsis: !1,
            icon: !0,
            disabled: !!e.disabled || Number(e.length) < 2,
            color: $ ? e.activeColor : e.color,
            "aria-current": $,
            "aria-label": r($ ? e.currentPageAriaLabel : e.pageAriaLabel, w),
            onClick: (B) => b(B, w)
          }
        };
      }
    })), k = _(() => {
      const w = !!e.disabled || s.value <= v.value, T = !!e.disabled || s.value >= v.value + h.value - 1;
      return {
        first: e.showFirstLastPage ? {
          icon: i.value ? e.lastIcon : e.firstIcon,
          onClick: (N) => b(N, v.value, "first"),
          disabled: w,
          "aria-label": r(e.firstAriaLabel),
          "aria-disabled": w
        } : void 0,
        prev: {
          icon: i.value ? e.nextIcon : e.prevIcon,
          onClick: (N) => b(N, s.value - 1, "prev"),
          disabled: w,
          "aria-label": r(e.previousAriaLabel),
          "aria-disabled": w
        },
        next: {
          icon: i.value ? e.prevIcon : e.nextIcon,
          onClick: (N) => b(N, s.value + 1, "next"),
          disabled: T,
          "aria-label": r(e.nextAriaLabel),
          "aria-disabled": T
        },
        last: e.showFirstLastPage ? {
          icon: i.value ? e.firstIcon : e.lastIcon,
          onClick: (N) => b(N, v.value + h.value - 1, "last"),
          disabled: T,
          "aria-label": r(e.lastAriaLabel),
          "aria-disabled": T
        } : void 0
      };
    });
    function D() {
      const w = s.value - v.value;
      S.value[w]?.$el.focus();
    }
    function V(w) {
      w.key === Qi.left && !e.disabled && s.value > Number(e.start) ? (s.value = s.value - 1, Ge(D)) : w.key === Qi.right && !e.disabled && s.value < v.value + h.value - 1 && (s.value = s.value + 1, Ge(D));
    }
    return ee(() => g(e.tag, {
      ref: d,
      class: K(["v-pagination", o.value, e.class]),
      style: Z(e.style),
      role: "navigation",
      "aria-label": r(e.ariaLabel),
      onKeydown: V,
      "data-test": "v-pagination-root"
    }, {
      default: () => [p("ul", {
        class: "v-pagination__list"
      }, [e.showFirstLastPage && p("li", {
        key: "first",
        class: "v-pagination__first",
        "data-test": "v-pagination-first"
      }, [n.first ? n.first(k.value.first) : g(Zt, j({
        _as: "VPaginationBtn"
      }, k.value.first), null)]), p("li", {
        key: "prev",
        class: "v-pagination__prev",
        "data-test": "v-pagination-prev"
      }, [n.prev ? n.prev(k.value.prev) : g(Zt, j({
        _as: "VPaginationBtn"
      }, k.value.prev), null)]), I.value.map((w, T) => p("li", {
        key: w.key,
        class: K(["v-pagination__item", {
          "v-pagination__item--is-active": w.isActive
        }]),
        "data-test": "v-pagination-item"
      }, [n.item ? n.item(w) : g(Zt, j({
        _as: "VPaginationBtn"
      }, w.props), {
        default: () => [w.page]
      })])), p("li", {
        key: "next",
        class: "v-pagination__next",
        "data-test": "v-pagination-next"
      }, [n.next ? n.next(k.value.next) : g(Zt, j({
        _as: "VPaginationBtn"
      }, k.value.next), null)]), e.showFirstLastPage && p("li", {
        key: "last",
        class: "v-pagination__last",
        "data-test": "v-pagination-last"
      }, [n.last ? n.last(k.value.last) : g(Zt, j({
        _as: "VPaginationBtn"
      }, k.value.last), null)])])]
    })), {};
  }
}), wb = M({
  page: {
    type: [Number, String],
    default: 1
  },
  itemsPerPage: {
    type: [Number, String],
    default: 10
  }
}, "DataTable-paginate"), hd = Symbol.for("vuetify:data-table-pagination");
function _b(e) {
  const t = ke(e, "page", void 0, (a) => Number(a ?? 1)), n = ke(e, "itemsPerPage", void 0, (a) => Number(a ?? 10));
  return {
    page: t,
    itemsPerPage: n
  };
}
function kb(e) {
  const {
    page: t,
    itemsPerPage: n,
    itemsLength: a
  } = e, s = _(() => n.value === -1 ? 0 : n.value * (t.value - 1)), r = _(() => n.value === -1 ? a.value : Math.min(a.value, s.value + n.value)), l = _(() => n.value === -1 || a.value === 0 ? 1 : Math.ceil(a.value / n.value));
  re([t, l], () => {
    t.value > l.value && (t.value = l.value);
  });
  function i(h) {
    n.value = h, t.value = 1;
  }
  function o() {
    t.value = bt(t.value + 1, 1, l.value);
  }
  function u() {
    t.value = bt(t.value - 1, 1, l.value);
  }
  function c(h) {
    t.value = bt(h, 1, l.value);
  }
  const d = {
    page: t,
    itemsPerPage: n,
    startIndex: s,
    stopIndex: r,
    pageCount: l,
    itemsLength: a,
    nextPage: o,
    prevPage: u,
    setPage: c,
    setItemsPerPage: i
  };
  return We(hd, d), d;
}
function Cb() {
  const e = De(hd);
  if (!e) throw new Error("Missing pagination!");
  return e;
}
function Pb(e) {
  const t = Ue("usePaginatedItems"), {
    items: n,
    startIndex: a,
    stopIndex: s,
    itemsPerPage: r
  } = e, l = _(() => r.value <= 0 ? n.value : n.value.slice(a.value, s.value));
  return re(l, (i) => {
    t.emit("update:currentItems", i);
  }, {
    immediate: !0
  }), {
    paginatedItems: l
  };
}
const md = M({
  prevIcon: {
    type: ue,
    default: "$prev"
  },
  nextIcon: {
    type: ue,
    default: "$next"
  },
  firstIcon: {
    type: ue,
    default: "$first"
  },
  lastIcon: {
    type: ue,
    default: "$last"
  },
  itemsPerPageText: {
    type: String,
    default: "$vuetify.dataFooter.itemsPerPageText"
  },
  pageText: {
    type: String,
    default: "$vuetify.dataFooter.pageText"
  },
  firstPageLabel: {
    type: String,
    default: "$vuetify.dataFooter.firstPage"
  },
  prevPageLabel: {
    type: String,
    default: "$vuetify.dataFooter.prevPage"
  },
  nextPageLabel: {
    type: String,
    default: "$vuetify.dataFooter.nextPage"
  },
  lastPageLabel: {
    type: String,
    default: "$vuetify.dataFooter.lastPage"
  },
  itemsPerPageOptions: {
    type: Array,
    default: () => [{
      value: 10,
      title: "10"
    }, {
      value: 25,
      title: "25"
    }, {
      value: 50,
      title: "50"
    }, {
      value: 100,
      title: "100"
    }, {
      value: -1,
      title: "$vuetify.dataFooter.itemsPerPageAll"
    }]
  },
  showCurrentPage: Boolean
}, "VDataTableFooter"), zo = Q()({
  name: "VDataTableFooter",
  props: md(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      t: a
    } = hn(), {
      page: s,
      pageCount: r,
      startIndex: l,
      stopIndex: i,
      itemsLength: o,
      itemsPerPage: u,
      setItemsPerPage: c
    } = Cb(), d = _(() => e.itemsPerPageOptions.map((h) => typeof h == "number" ? {
      value: h,
      title: h === -1 ? a("$vuetify.dataFooter.itemsPerPageAll") : String(h)
    } : {
      ...h,
      title: isNaN(Number(h.title)) ? a(h.title) : h.title
    }));
    return ee(() => {
      const h = Uo.filterProps(e);
      return p("div", {
        class: "v-data-table-footer"
      }, [n.prepend?.(), p("div", {
        class: "v-data-table-footer__items-per-page"
      }, [p("span", null, [a(e.itemsPerPageText)]), g(Hc, {
        items: d.value,
        modelValue: u.value,
        "onUpdate:modelValue": (v) => c(Number(v)),
        density: "compact",
        variant: "outlined",
        "hide-details": !0
      }, null)]), p("div", {
        class: "v-data-table-footer__info"
      }, [p("div", null, [a(e.pageText, o.value ? l.value + 1 : 0, i.value, o.value)])]), p("div", {
        class: "v-data-table-footer__pagination"
      }, [g(Uo, j({
        modelValue: s.value,
        "onUpdate:modelValue": (v) => s.value = v,
        density: "comfortable",
        "first-aria-label": e.firstPageLabel,
        "last-aria-label": e.lastPageLabel,
        length: r.value,
        "next-aria-label": e.nextPageLabel,
        "previous-aria-label": e.prevPageLabel,
        rounded: !0,
        "show-first-last-page": !0,
        "total-visible": e.showCurrentPage ? 1 : 0,
        variant: "plain"
      }, h), null)])]);
    }), {};
  }
}), Es = iv({
  align: {
    type: String,
    default: "start"
  },
  fixed: Boolean,
  fixedOffset: [Number, String],
  height: [Number, String],
  lastFixed: Boolean,
  noPadding: Boolean,
  tag: String,
  width: [Number, String],
  maxWidth: [Number, String],
  nowrap: Boolean
}, (e, t) => {
  let {
    slots: n
  } = t;
  const a = e.tag ?? "td";
  return g(a, {
    class: K(["v-data-table__td", {
      "v-data-table-column--fixed": e.fixed,
      "v-data-table-column--last-fixed": e.lastFixed,
      "v-data-table-column--no-padding": e.noPadding,
      "v-data-table-column--nowrap": e.nowrap
    }, `v-data-table-column--align-${e.align}`]),
    style: Z({
      height: te(e.height),
      width: te(e.width),
      maxWidth: te(e.maxWidth),
      left: te(e.fixedOffset || null)
    })
  }, {
    default: () => [n.default?.()]
  });
}), xb = M({
  headers: Array
}, "DataTable-header"), vd = Symbol.for("vuetify:data-table-headers"), yd = {
  title: "",
  sortable: !1
}, Ib = {
  ...yd,
  width: 48
};
function Ob() {
  const t = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []).map((n) => ({
    element: n,
    priority: 0
  }));
  return {
    enqueue: (n, a) => {
      let s = !1;
      for (let r = 0; r < t.length; r++)
        if (t[r].priority > a) {
          t.splice(r, 0, {
            element: n,
            priority: a
          }), s = !0;
          break;
        }
      s || t.push({
        element: n,
        priority: a
      });
    },
    size: () => t.length,
    count: () => {
      let n = 0;
      if (!t.length) return 0;
      const a = Math.floor(t[0].priority);
      for (let s = 0; s < t.length; s++)
        Math.floor(t[s].priority) === a && (n += 1);
      return n;
    },
    dequeue: () => t.shift()
  };
}
function fl(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
  if (!e.children)
    t.push(e);
  else
    for (const n of e.children)
      fl(n, t);
  return t;
}
function gd(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : /* @__PURE__ */ new Set();
  for (const n of e)
    n.key && t.add(n.key), n.children && gd(n.children, t);
  return t;
}
function Tb(e) {
  if (e.key) {
    if (e.key === "data-table-group") return yd;
    if (["data-table-expand", "data-table-select"].includes(e.key)) return Ib;
  }
}
function ri(e) {
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
  return e.children ? Math.max(t, ...e.children.map((n) => ri(n, t + 1))) : t;
}
function Vb(e) {
  let t = !1;
  function n(r) {
    let l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
    if (r)
      if (l && (r.fixed = !0), r.fixed)
        if (r.children)
          for (let i = r.children.length - 1; i >= 0; i--)
            n(r.children[i], !0);
        else
          t ? isNaN(Number(r.width)) ? Rl(`Multiple fixed columns should have a static width (key: ${r.key})`) : r.minWidth = Math.max(Number(r.width) || 0, Number(r.minWidth) || 0) : r.lastFixed = !0, t = !0;
      else if (r.children)
        for (let i = r.children.length - 1; i >= 0; i--)
          n(r.children[i]);
      else
        t = !1;
  }
  for (let r = e.length - 1; r >= 0; r--)
    n(e[r]);
  function a(r) {
    let l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
    if (!r) return l;
    if (r.children) {
      r.fixedOffset = l;
      for (const i of r.children)
        l = a(i, l);
    } else r.fixed && (r.fixedOffset = l, l += parseFloat(r.width || "0") || 0);
    return l;
  }
  let s = 0;
  for (const r of e)
    s = a(r, s);
}
function Eb(e, t) {
  const n = [];
  let a = 0;
  const s = Ob(e);
  for (; s.size() > 0; ) {
    let l = s.count();
    const i = [];
    let o = 1;
    for (; l > 0; ) {
      const {
        element: u,
        priority: c
      } = s.dequeue(), d = t - a - ri(u);
      if (i.push({
        ...u,
        rowspan: d ?? 1,
        colspan: u.children ? fl(u).length : 1
      }), u.children)
        for (const h of u.children) {
          const v = c % 1 + o / Math.pow(10, a + 2);
          s.enqueue(h, a + d + v);
        }
      o += 1, l -= 1;
    }
    a += 1, n.push(i);
  }
  return {
    columns: e.map((l) => fl(l)).flat(),
    headers: n
  };
}
function bd(e) {
  const t = [];
  for (const n of e) {
    const a = {
      ...Tb(n),
      ...n
    }, s = a.key ?? (typeof a.value == "string" ? a.value : null), r = a.value ?? s ?? null, l = {
      ...a,
      key: s,
      value: r,
      sortable: a.sortable ?? (a.key != null || !!a.sort),
      children: a.children ? bd(a.children) : void 0
    };
    t.push(l);
  }
  return t;
}
function Ab(e, t) {
  const n = R([]), a = R([]), s = R({}), r = R({}), l = R({});
  Ot(() => {
    const u = (e.headers || Object.keys(e.items[0] ?? {}).map((y) => ({
      key: y,
      title: aa(y)
    }))).slice(), c = gd(u);
    t?.groupBy?.value.length && !c.has("data-table-group") && u.unshift({
      key: "data-table-group",
      title: "Group"
    }), t?.showSelect?.value && !c.has("data-table-select") && u.unshift({
      key: "data-table-select"
    }), t?.showExpand?.value && !c.has("data-table-expand") && u.push({
      key: "data-table-expand"
    });
    const d = bd(u);
    Vb(d);
    const h = Math.max(...d.map((y) => ri(y))) + 1, v = Eb(d, h);
    n.value = v.headers, a.value = v.columns;
    const f = v.headers.flat(1);
    for (const y of f)
      y.key && (y.sortable && (y.sort && (s.value[y.key] = y.sort), y.sortRaw && (r.value[y.key] = y.sortRaw)), y.filter && (l.value[y.key] = y.filter));
  });
  const i = {
    headers: n,
    columns: a,
    sortFunctions: s,
    sortRawFunctions: r,
    filterFunctions: l
  };
  return We(vd, i), i;
}
function ar() {
  const e = De(vd);
  if (!e) throw new Error("Missing headers!");
  return e;
}
const Db = {
  showSelectAll: !1,
  allSelected: () => [],
  select: (e) => {
    let {
      items: t,
      value: n
    } = e;
    return new Set(n ? [t[0]?.value] : []);
  },
  selectAll: (e) => {
    let {
      selected: t
    } = e;
    return t;
  }
}, pd = {
  showSelectAll: !0,
  allSelected: (e) => {
    let {
      currentPage: t
    } = e;
    return t;
  },
  select: (e) => {
    let {
      items: t,
      value: n,
      selected: a
    } = e;
    for (const s of t)
      n ? a.add(s.value) : a.delete(s.value);
    return a;
  },
  selectAll: (e) => {
    let {
      value: t,
      currentPage: n,
      selected: a
    } = e;
    return pd.select({
      items: n,
      value: t,
      selected: a
    });
  }
}, Sd = {
  showSelectAll: !0,
  allSelected: (e) => {
    let {
      allItems: t
    } = e;
    return t;
  },
  select: (e) => {
    let {
      items: t,
      value: n,
      selected: a
    } = e;
    for (const s of t)
      n ? a.add(s.value) : a.delete(s.value);
    return a;
  },
  selectAll: (e) => {
    let {
      value: t,
      allItems: n,
      selected: a
    } = e;
    return Sd.select({
      items: n,
      value: t,
      selected: a
    });
  }
}, Mb = M({
  showSelect: Boolean,
  selectStrategy: {
    type: [String, Object],
    default: "page"
  },
  modelValue: {
    type: Array,
    default: () => []
  },
  valueComparator: {
    type: Function,
    default: gt
  }
}, "DataTable-select"), wd = Symbol.for("vuetify:data-table-selection");
function Rb(e, t) {
  let {
    allItems: n,
    currentPage: a
  } = t;
  const s = ke(e, "modelValue", e.modelValue, (S) => new Set(Ke(S).map((P) => n.value.find((I) => e.valueComparator(P, I.value))?.value ?? P)), (S) => [...S.values()]), r = _(() => n.value.filter((S) => S.selectable)), l = _(() => a.value.filter((S) => S.selectable)), i = _(() => {
    if (typeof e.selectStrategy == "object") return e.selectStrategy;
    switch (e.selectStrategy) {
      case "single":
        return Db;
      case "all":
        return Sd;
      case "page":
      default:
        return pd;
    }
  }), o = ne(null);
  function u(S) {
    return Ke(S).every((P) => s.value.has(P.value));
  }
  function c(S) {
    return Ke(S).some((P) => s.value.has(P.value));
  }
  function d(S, P) {
    const I = i.value.select({
      items: S,
      value: P,
      selected: new Set(s.value)
    });
    s.value = I;
  }
  function h(S, P, I) {
    const k = [];
    if (P = P ?? a.value.findIndex((D) => D.value === S.value), e.selectStrategy !== "single" && I?.shiftKey && o.value !== null) {
      const [D, V] = [o.value, P].sort((w, T) => w - T);
      k.push(...a.value.slice(D, V + 1).filter((w) => w.selectable));
    } else
      k.push(S), o.value = P;
    d(k, !u([S]));
  }
  function v(S) {
    const P = i.value.selectAll({
      value: S,
      allItems: r.value,
      currentPage: l.value,
      selected: new Set(s.value)
    });
    s.value = P;
  }
  const f = _(() => s.value.size > 0), y = _(() => {
    const S = i.value.allSelected({
      allItems: r.value,
      currentPage: l.value
    });
    return !!S.length && u(S);
  }), m = E(() => i.value.showSelectAll), b = {
    toggleSelect: h,
    select: d,
    selectAll: v,
    isSelected: u,
    isSomeSelected: c,
    someSelected: f,
    allSelected: y,
    showSelectAll: m,
    lastSelectedIndex: o,
    selectStrategy: i
  };
  return We(wd, b), b;
}
function sr() {
  const e = De(wd);
  if (!e) throw new Error("Missing selection!");
  return e;
}
const Fb = M({
  sortBy: {
    type: Array,
    default: () => []
  },
  customKeySort: Object,
  multiSort: Boolean,
  mustSort: Boolean
}, "DataTable-sort"), _d = Symbol.for("vuetify:data-table-sort");
function Lb(e) {
  const t = ke(e, "sortBy"), n = E(() => e.mustSort), a = E(() => e.multiSort);
  return {
    sortBy: t,
    mustSort: n,
    multiSort: a
  };
}
function Nb(e) {
  const {
    sortBy: t,
    mustSort: n,
    multiSort: a,
    page: s
  } = e, r = (o) => {
    if (o.key == null) return;
    let u = t.value.map((d) => ({
      ...d
    })) ?? [];
    const c = u.find((d) => d.key === o.key);
    c ? c.order === "desc" ? n.value && u.length === 1 ? c.order = "asc" : u = u.filter((d) => d.key !== o.key) : c.order = "desc" : a.value ? u.push({
      key: o.key,
      order: "asc"
    }) : u = [{
      key: o.key,
      order: "asc"
    }], t.value = u, s && (s.value = 1);
  };
  function l(o) {
    return !!t.value.find((u) => u.key === o.key);
  }
  const i = {
    sortBy: t,
    toggleSort: r,
    isSorted: l
  };
  return We(_d, i), i;
}
function kd() {
  const e = De(_d);
  if (!e) throw new Error("Missing sort!");
  return e;
}
function Bb(e, t, n, a) {
  const s = hn();
  return {
    sortedItems: _(() => n.value.length ? $b(t.value, n.value, s.current.value, {
      transform: a?.transform,
      sortFunctions: {
        ...e.customKeySort,
        ...a?.sortFunctions?.value
      },
      sortRawFunctions: a?.sortRawFunctions?.value
    }) : t.value)
  };
}
function $b(e, t, n, a) {
  const s = new Intl.Collator(n, {
    sensitivity: "accent",
    usage: "sort"
  });
  return e.map((l) => [l, a?.transform ? a.transform(l) : l]).sort((l, i) => {
    for (let o = 0; o < t.length; o++) {
      let u = !1;
      const c = t[o].key, d = t[o].order ?? "asc";
      if (d === !1) continue;
      let h = xa(l[1], c), v = xa(i[1], c), f = l[0].raw, y = i[0].raw;
      if (d === "desc" && ([h, v] = [v, h], [f, y] = [y, f]), a?.sortRawFunctions?.[c]) {
        const m = a.sortRawFunctions[c](f, y);
        if (m == null) continue;
        if (u = !0, m) return m;
      }
      if (a?.sortFunctions?.[c]) {
        const m = a.sortFunctions[c](h, v);
        if (m == null) continue;
        if (u = !0, m) return m;
      }
      if (!u) {
        if (h instanceof Date && v instanceof Date)
          return h.getTime() - v.getTime();
        if ([h, v] = [h, v].map((m) => m != null ? m.toString().toLocaleLowerCase() : m), h !== v)
          return ls(h) && ls(v) ? 0 : ls(h) ? -1 : ls(v) ? 1 : !isNaN(h) && !isNaN(v) ? Number(h) - Number(v) : s.compare(h, v);
      }
    }
    return 0;
  }).map((l) => {
    let [i] = l;
    return i;
  });
}
const Cd = M({
  color: String,
  disableSort: Boolean,
  fixedHeader: Boolean,
  multiSort: Boolean,
  sortAscIcon: {
    type: ue,
    default: "$sortAsc"
  },
  sortDescIcon: {
    type: ue,
    default: "$sortDesc"
  },
  headerProps: {
    type: Object
  },
  /** @deprecated */
  sticky: Boolean,
  ...Js(),
  ...er()
}, "VDataTableHeaders"), Ho = Q()({
  name: "VDataTableHeaders",
  props: Cd(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      t: a
    } = hn(), {
      toggleSort: s,
      sortBy: r,
      isSorted: l
    } = kd(), {
      someSelected: i,
      allSelected: o,
      selectAll: u,
      showSelectAll: c
    } = sr(), {
      columns: d,
      headers: h
    } = ar(), {
      loaderClasses: v
    } = Ka(e);
    function f(w, T) {
      if (!(!(e.sticky || e.fixedHeader) && !w.fixed))
        return {
          position: "sticky",
          left: w.fixed ? te(w.fixedOffset) : void 0,
          top: e.sticky || e.fixedHeader ? `calc(var(--v-table-header-height) * ${T})` : void 0
        };
    }
    function y(w) {
      const T = r.value.find((N) => N.key === w.key);
      return T ? T.order === "asc" ? e.sortAscIcon : e.sortDescIcon : e.sortAscIcon;
    }
    const {
      backgroundColorClasses: m,
      backgroundColorStyles: b
    } = $t(() => e.color), {
      displayClasses: S,
      mobile: P
    } = $n(e), I = _(() => ({
      headers: h.value,
      columns: d.value,
      toggleSort: s,
      isSorted: l,
      sortBy: r.value,
      someSelected: i.value,
      allSelected: o.value,
      selectAll: u,
      getSortIcon: y
    })), k = _(() => ["v-data-table__th", {
      "v-data-table__th--sticky": e.sticky || e.fixedHeader
    }, S.value, v.value]), D = (w) => {
      let {
        column: T,
        x: N,
        y: $
      } = w;
      const B = T.key === "data-table-select" || T.key === "data-table-expand", A = j(e.headerProps ?? {}, T.headerProps ?? {});
      return g(Es, j({
        tag: "th",
        align: T.align,
        class: [{
          "v-data-table__th--sortable": T.sortable && !e.disableSort,
          "v-data-table__th--sorted": l(T),
          "v-data-table__th--fixed": T.fixed
        }, ...k.value],
        style: {
          width: te(T.width),
          minWidth: te(T.minWidth),
          maxWidth: te(T.maxWidth),
          ...f(T, $)
        },
        colspan: T.colspan,
        rowspan: T.rowspan,
        onClick: T.sortable ? () => s(T) : void 0,
        fixed: T.fixed,
        nowrap: T.nowrap,
        lastFixed: T.lastFixed,
        noPadding: B
      }, A), {
        default: () => {
          const U = `header.${T.key}`, Y = {
            column: T,
            selectAll: u,
            isSorted: l,
            toggleSort: s,
            sortBy: r.value,
            someSelected: i.value,
            allSelected: o.value,
            getSortIcon: y
          };
          return n[U] ? n[U](Y) : T.key === "data-table-select" ? n["header.data-table-select"]?.(Y) ?? (c.value && g(qa, {
            modelValue: o.value,
            indeterminate: i.value && !o.value,
            "onUpdate:modelValue": u
          }, null)) : p("div", {
            class: "v-data-table-header__content"
          }, [p("span", null, [T.title]), T.sortable && !e.disableSort && g(Ve, {
            key: "icon",
            class: "v-data-table-header__sort-icon",
            icon: y(T)
          }, null), e.multiSort && l(T) && p("div", {
            key: "badge",
            class: K(["v-data-table-header__sort-badge", ...m.value]),
            style: Z(b.value)
          }, [r.value.findIndex((G) => G.key === T.key) + 1])]);
        }
      });
    }, V = () => {
      const w = _(() => d.value.filter((N) => N?.sortable && !e.disableSort)), T = _(() => {
        if (d.value.find(($) => $.key === "data-table-select") != null)
          return o.value ? "$checkboxOn" : i.value ? "$checkboxIndeterminate" : "$checkboxOff";
      });
      return g(Es, j({
        tag: "th",
        class: [...k.value],
        colspan: h.value.length + 1
      }, e.headerProps), {
        default: () => [p("div", {
          class: "v-data-table-header__content"
        }, [g(Hc, {
          chips: !0,
          class: "v-data-table__td-sort-select",
          clearable: !0,
          density: "default",
          items: w.value,
          label: a("$vuetify.dataTable.sortBy"),
          multiple: e.multiSort,
          variant: "underlined",
          "onClick:clear": () => r.value = [],
          appendIcon: T.value,
          "onClick:append": () => u(!o.value)
        }, {
          ...n,
          chip: (N) => g(Gl, {
            onClick: N.item.raw?.sortable ? () => s(N.item.raw) : void 0,
            onMousedown: ($) => {
              $.preventDefault(), $.stopPropagation();
            }
          }, {
            default: () => [N.item.title, g(Ve, {
              class: K(["v-data-table__td-sort-icon", l(N.item.raw) && "v-data-table__td-sort-icon-active"]),
              icon: y(N.item.raw),
              size: "small"
            }, null)]
          })
        })])]
      });
    };
    ee(() => P.value ? p("tr", null, [g(V, null, null)]) : p(pe, null, [n.headers ? n.headers(I.value) : h.value.map((w, T) => p("tr", null, [w.map((N, $) => g(D, {
      column: N,
      x: $,
      y: T
    }, null))])), e.loading && p("tr", {
      class: "v-data-table-progress"
    }, [p("th", {
      colspan: d.value.length
    }, [g(tr, {
      name: "v-data-table-progress",
      absolute: !0,
      active: !0,
      color: typeof e.loading == "boolean" ? void 0 : e.loading,
      indeterminate: !0
    }, {
      default: n.loader
    })])])]));
  }
}), Ub = M({
  groupBy: {
    type: Array,
    default: () => []
  }
}, "DataTable-group"), Pd = Symbol.for("vuetify:data-table-group");
function zb(e) {
  return {
    groupBy: ke(e, "groupBy")
  };
}
function Hb(e) {
  const {
    disableSort: t,
    groupBy: n,
    sortBy: a
  } = e, s = R(/* @__PURE__ */ new Set()), r = _(() => n.value.map((c) => ({
    ...c,
    order: c.order ?? !1
  })).concat(t?.value ? [] : a.value));
  function l(c) {
    return s.value.has(c.id);
  }
  function i(c) {
    const d = new Set(s.value);
    l(c) ? d.delete(c.id) : d.add(c.id), s.value = d;
  }
  function o(c) {
    function d(h) {
      const v = [];
      for (const f of h.items)
        "type" in f && f.type === "group" ? v.push(...d(f)) : v.push(f);
      return [...new Set(v)];
    }
    return d({
      items: c
    });
  }
  const u = {
    sortByWithGroups: r,
    toggleGroup: i,
    opened: s,
    groupBy: n,
    extractRows: o,
    isGroupOpen: l
  };
  return We(Pd, u), u;
}
function xd() {
  const e = De(Pd);
  if (!e) throw new Error("Missing group!");
  return e;
}
function Yb(e, t) {
  if (!e.length) return [];
  const n = /* @__PURE__ */ new Map();
  for (const a of e) {
    const s = xa(a.raw, t);
    n.has(s) || n.set(s, []), n.get(s).push(a);
  }
  return n;
}
function Id(e, t) {
  let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0, a = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "root";
  if (!t.length) return [];
  const s = Yb(e, t[0]), r = [], l = t.slice(1);
  return s.forEach((i, o) => {
    const u = t[0], c = `${a}_${u}_${o}`;
    r.push({
      depth: n,
      id: c,
      key: u,
      value: o,
      items: l.length ? Id(i, l, n + 1, c) : i,
      type: "group"
    });
  }), r;
}
function Od(e, t) {
  const n = [];
  for (const a of e)
    "type" in a && a.type === "group" ? (a.value != null && n.push(a), (t.has(a.id) || a.value == null) && n.push(...Od(a.items, t))) : n.push(a);
  return n;
}
function jb(e, t, n) {
  return {
    flatItems: _(() => {
      if (!t.value.length) return e.value;
      const s = Id(e.value, t.value.map((r) => r.key));
      return Od(s, n.value);
    })
  };
}
const Wb = M({
  item: {
    type: Object,
    required: !0
  }
}, "VDataTableGroupHeaderRow"), Gb = Q()({
  name: "VDataTableGroupHeaderRow",
  props: Wb(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      isGroupOpen: a,
      toggleGroup: s,
      extractRows: r
    } = xd(), {
      isSelected: l,
      isSomeSelected: i,
      select: o
    } = sr(), {
      columns: u
    } = ar(), c = _(() => r([e.item]));
    return () => p("tr", {
      class: "v-data-table-group-header-row",
      style: Z({
        "--v-data-table-group-header-row-depth": e.item.depth
      })
    }, [u.value.map((d) => {
      if (d.key === "data-table-group") {
        const h = a(e.item) ? "$expand" : "$next", v = () => s(e.item);
        return n["data-table-group"]?.({
          item: e.item,
          count: c.value.length,
          props: {
            icon: h,
            onClick: v
          }
        }) ?? g(Es, {
          class: "v-data-table-group-header-row__column"
        }, {
          default: () => [g(Zt, {
            size: "small",
            variant: "text",
            icon: h,
            onClick: v
          }, null), p("span", null, [e.item.value]), p("span", null, [Fe("("), c.value.length, Fe(")")])]
        });
      }
      if (d.key === "data-table-select") {
        const h = l(c.value), v = i(c.value) && !h, f = (y) => o(c.value, y);
        return n["data-table-select"]?.({
          props: {
            modelValue: h,
            indeterminate: v,
            "onUpdate:modelValue": f
          }
        }) ?? p("td", null, [g(qa, {
          modelValue: h,
          indeterminate: v,
          "onUpdate:modelValue": f
        }, null)]);
      }
      return p("td", null, null);
    })]);
  }
}), Qb = M({
  expandOnClick: Boolean,
  showExpand: Boolean,
  expanded: {
    type: Array,
    default: () => []
  }
}, "DataTable-expand"), Td = Symbol.for("vuetify:datatable:expanded");
function qb(e) {
  const t = E(() => e.expandOnClick), n = ke(e, "expanded", e.expanded, (i) => new Set(i), (i) => [...i.values()]);
  function a(i, o) {
    const u = new Set(n.value);
    o ? u.add(i.value) : u.delete(i.value), n.value = u;
  }
  function s(i) {
    return n.value.has(i.value);
  }
  function r(i) {
    a(i, !s(i));
  }
  const l = {
    expand: a,
    expanded: n,
    expandOnClick: t,
    isExpanded: s,
    toggleExpand: r
  };
  return We(Td, l), l;
}
function Vd() {
  const e = De(Td);
  if (!e) throw new Error("foo");
  return e;
}
const Kb = M({
  index: Number,
  item: Object,
  cellProps: [Object, Function],
  onClick: Je(),
  onContextmenu: Je(),
  onDblclick: Je(),
  ...Js()
}, "VDataTableRow"), Jb = Q()({
  name: "VDataTableRow",
  props: Kb(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      displayClasses: a,
      mobile: s
    } = $n(e, "v-data-table__tr"), {
      isSelected: r,
      toggleSelect: l,
      someSelected: i,
      allSelected: o,
      selectAll: u
    } = sr(), {
      isExpanded: c,
      toggleExpand: d
    } = Vd(), {
      toggleSort: h,
      sortBy: v,
      isSorted: f
    } = kd(), {
      columns: y
    } = ar();
    ee(() => p("tr", {
      class: K(["v-data-table__tr", {
        "v-data-table__tr--clickable": !!(e.onClick || e.onContextmenu || e.onDblclick)
      }, a.value]),
      onClick: e.onClick,
      onContextmenu: e.onContextmenu,
      onDblclick: e.onDblclick
    }, [e.item && y.value.map((m, b) => {
      const S = e.item, P = `item.${m.key}`, I = `header.${m.key}`, k = {
        index: e.index,
        item: S.raw,
        internalItem: S,
        value: xa(S.columns, m.key),
        column: m,
        isSelected: r,
        toggleSelect: l,
        isExpanded: c,
        toggleExpand: d
      }, D = {
        column: m,
        selectAll: u,
        isSorted: f,
        toggleSort: h,
        sortBy: v.value,
        someSelected: i.value,
        allSelected: o.value,
        getSortIcon: () => ""
      }, V = typeof e.cellProps == "function" ? e.cellProps({
        index: k.index,
        item: k.item,
        internalItem: k.internalItem,
        value: k.value,
        column: m
      }) : e.cellProps, w = typeof m.cellProps == "function" ? m.cellProps({
        index: k.index,
        item: k.item,
        internalItem: k.internalItem,
        value: k.value
      }) : m.cellProps;
      return g(Es, j({
        align: m.align,
        class: {
          "v-data-table__td--expanded-row": m.key === "data-table-expand",
          "v-data-table__td--select-row": m.key === "data-table-select"
        },
        fixed: m.fixed,
        fixedOffset: m.fixedOffset,
        lastFixed: m.lastFixed,
        maxWidth: s.value ? void 0 : m.maxWidth,
        noPadding: m.key === "data-table-select" || m.key === "data-table-expand",
        nowrap: m.nowrap,
        width: s.value ? void 0 : m.width
      }, V, w), {
        default: () => {
          if (m.key === "data-table-select")
            return n["item.data-table-select"]?.({
              ...k,
              props: {
                disabled: !S.selectable,
                modelValue: r([S]),
                onClick: as(() => l(S), ["stop"])
              }
            }) ?? g(qa, {
              disabled: !S.selectable,
              modelValue: r([S]),
              onClick: as((N) => l(S, e.index, N), ["stop"])
            }, null);
          if (m.key === "data-table-expand")
            return n["item.data-table-expand"]?.({
              ...k,
              props: {
                icon: c(S) ? "$collapse" : "$expand",
                size: "small",
                variant: "text",
                onClick: as(() => d(S), ["stop"])
              }
            }) ?? g(Zt, {
              icon: c(S) ? "$collapse" : "$expand",
              size: "small",
              variant: "text",
              onClick: as(() => d(S), ["stop"])
            }, null);
          if (n[P] && !s.value) return n[P](k);
          const T = Te(k.value);
          return s.value ? p(pe, null, [p("div", {
            class: "v-data-table__td-title"
          }, [n[I]?.(D) ?? m.title]), p("div", {
            class: "v-data-table__td-value"
          }, [n[P]?.(k) ?? T])]) : T;
        }
      });
    })]));
  }
}), Ed = M({
  loading: [Boolean, String],
  loadingText: {
    type: String,
    default: "$vuetify.dataIterator.loadingText"
  },
  hideNoData: Boolean,
  items: {
    type: Array,
    default: () => []
  },
  noDataText: {
    type: String,
    default: "$vuetify.noDataText"
  },
  rowProps: [Object, Function],
  cellProps: [Object, Function],
  ...Js()
}, "VDataTableRows"), Yo = Q()({
  name: "VDataTableRows",
  inheritAttrs: !1,
  props: Ed(),
  setup(e, t) {
    let {
      attrs: n,
      slots: a
    } = t;
    const {
      columns: s
    } = ar(), {
      expandOnClick: r,
      toggleExpand: l,
      isExpanded: i
    } = Vd(), {
      isSelected: o,
      toggleSelect: u
    } = sr(), {
      toggleGroup: c,
      isGroupOpen: d
    } = xd(), {
      t: h
    } = hn(), {
      mobile: v
    } = $n(e);
    return ee(() => e.loading && (!e.items.length || a.loading) ? p("tr", {
      class: "v-data-table-rows-loading",
      key: "loading"
    }, [p("td", {
      colspan: s.value.length
    }, [a.loading?.() ?? h(e.loadingText)])]) : !e.loading && !e.items.length && !e.hideNoData ? p("tr", {
      class: "v-data-table-rows-no-data",
      key: "no-data"
    }, [p("td", {
      colspan: s.value.length
    }, [a["no-data"]?.() ?? h(e.noDataText)])]) : p(pe, null, [e.items.map((f, y) => {
      if (f.type === "group") {
        const S = {
          index: y,
          item: f,
          columns: s.value,
          isExpanded: i,
          toggleExpand: l,
          isSelected: o,
          toggleSelect: u,
          toggleGroup: c,
          isGroupOpen: d
        };
        return a["group-header"] ? a["group-header"](S) : g(Gb, j({
          key: `group-header_${f.id}`,
          item: f
        }, co(n, ":group-header", () => S)), a);
      }
      const m = {
        index: y,
        item: f.raw,
        internalItem: f,
        columns: s.value,
        isExpanded: i,
        toggleExpand: l,
        isSelected: o,
        toggleSelect: u
      }, b = {
        ...m,
        props: j({
          key: `item_${f.key ?? f.index}`,
          onClick: r.value ? () => {
            l(f);
          } : void 0,
          index: y,
          item: f,
          cellProps: e.cellProps,
          mobile: v.value
        }, co(n, ":row", () => m), typeof e.rowProps == "function" ? e.rowProps({
          item: m.item,
          index: m.index,
          internalItem: m.internalItem
        }) : e.rowProps)
      };
      return p(pe, {
        key: b.props.key
      }, [a.item ? a.item(b) : g(Jb, b.props, a), i(f) && a["expanded-row"]?.(m)]);
    })])), {};
  }
}), Ad = M({
  fixedHeader: Boolean,
  fixedFooter: Boolean,
  height: [Number, String],
  hover: Boolean,
  ...de(),
  ...Ct(),
  ...Le(),
  ...Ye()
}, "VTable"), jo = Q()({
  name: "VTable",
  props: Ad(),
  setup(e, t) {
    let {
      slots: n,
      emit: a
    } = t;
    const {
      themeClasses: s
    } = Ze(e), {
      densityClasses: r
    } = Wt(e);
    return ee(() => g(e.tag, {
      class: K(["v-table", {
        "v-table--fixed-height": !!e.height,
        "v-table--fixed-header": e.fixedHeader,
        "v-table--fixed-footer": e.fixedFooter,
        "v-table--has-top": !!n.top,
        "v-table--has-bottom": !!n.bottom,
        "v-table--hover": e.hover
      }, s.value, r.value, e.class]),
      style: Z(e.style)
    }, {
      default: () => [n.top?.(), n.default ? p("div", {
        class: "v-table__wrapper",
        style: Z({
          height: te(e.height)
        })
      }, [p("table", null, [n.default()])]) : n.wrapper?.(), n.bottom?.()]
    })), {};
  }
}), Zb = M({
  items: {
    type: Array,
    default: () => []
  },
  itemValue: {
    type: [String, Array, Function],
    default: "id"
  },
  itemSelectable: {
    type: [String, Array, Function],
    default: null
  },
  rowProps: [Object, Function],
  cellProps: [Object, Function],
  returnObject: Boolean
}, "DataTable-items");
function Xb(e, t, n, a) {
  const s = e.returnObject ? t : ot(t, e.itemValue), r = ot(t, e.itemSelectable, !0), l = a.reduce((i, o) => (o.key != null && (i[o.key] = ot(t, o.value)), i), {});
  return {
    type: "item",
    key: e.returnObject ? ot(t, e.itemValue) : s,
    index: n,
    value: s,
    selectable: r,
    columns: l,
    raw: t
  };
}
function ep(e, t, n) {
  return t.map((a, s) => Xb(e, a, s, n));
}
function tp(e, t) {
  return {
    items: _(() => ep(e, e.items, t.value))
  };
}
function np(e) {
  let {
    page: t,
    itemsPerPage: n,
    sortBy: a,
    groupBy: s,
    search: r
  } = e;
  const l = Ue("VDataTable"), i = () => ({
    page: t.value,
    itemsPerPage: n.value,
    sortBy: a.value,
    groupBy: s.value,
    search: r.value
  });
  let o = null;
  re(i, (u) => {
    gt(o, u) || (o && o.search !== u.search && (t.value = 1), l.emit("update:options", u), o = u);
  }, {
    deep: !0,
    immediate: !0
  });
}
const ap = M({
  ...Ed(),
  hideDefaultBody: Boolean,
  hideDefaultFooter: Boolean,
  hideDefaultHeader: Boolean,
  width: [String, Number],
  search: String,
  ...Qb(),
  ...Ub(),
  ...xb(),
  ...Zb(),
  ...Mb(),
  ...Fb(),
  ...Cd(),
  ...Ad()
}, "DataTable"), sp = M({
  ...wb(),
  ...ap(),
  ...Yc(),
  ...md()
}, "VDataTable"), Dd = Q()({
  name: "VDataTable",
  props: sp(),
  emits: {
    "update:modelValue": (e) => !0,
    "update:page": (e) => !0,
    "update:itemsPerPage": (e) => !0,
    "update:sortBy": (e) => !0,
    "update:options": (e) => !0,
    "update:groupBy": (e) => !0,
    "update:expanded": (e) => !0,
    "update:currentItems": (e) => !0
  },
  setup(e, t) {
    let {
      attrs: n,
      slots: a
    } = t;
    const {
      groupBy: s
    } = zb(e), {
      sortBy: r,
      multiSort: l,
      mustSort: i
    } = Lb(e), {
      page: o,
      itemsPerPage: u
    } = _b(e), {
      disableSort: c
    } = Xo(e), {
      columns: d,
      headers: h,
      sortFunctions: v,
      sortRawFunctions: f,
      filterFunctions: y
    } = Ab(e, {
      groupBy: s,
      showSelect: E(() => e.showSelect),
      showExpand: E(() => e.showExpand)
    }), {
      items: m
    } = tp(e, d), b = E(() => e.search), {
      filteredItems: S
    } = jc(e, m, b, {
      transform: (J) => J.columns,
      customKeyFilter: y
    }), {
      toggleSort: P
    } = Nb({
      sortBy: r,
      multiSort: l,
      mustSort: i,
      page: o
    }), {
      sortByWithGroups: I,
      opened: k,
      extractRows: D,
      isGroupOpen: V,
      toggleGroup: w
    } = Hb({
      groupBy: s,
      sortBy: r,
      disableSort: c
    }), {
      sortedItems: T
    } = Bb(e, S, I, {
      transform: (J) => ({
        ...J.raw,
        ...J.columns
      }),
      sortFunctions: v,
      sortRawFunctions: f
    }), {
      flatItems: N
    } = jb(T, s, k), $ = _(() => N.value.length), {
      startIndex: B,
      stopIndex: A,
      pageCount: U,
      setItemsPerPage: Y
    } = kb({
      page: o,
      itemsPerPage: u,
      itemsLength: $
    }), {
      paginatedItems: G
    } = Pb({
      items: N,
      startIndex: B,
      stopIndex: A,
      itemsPerPage: u
    }), le = _(() => D(G.value)), {
      isSelected: oe,
      select: _e,
      selectAll: x,
      toggleSelect: O,
      someSelected: F,
      allSelected: q
    } = Rb(e, {
      allItems: m,
      currentPage: le
    }), {
      isExpanded: se,
      toggleExpand: ae
    } = qb(e);
    np({
      page: o,
      itemsPerPage: u,
      sortBy: r,
      groupBy: s,
      search: b
    }), zt({
      VDataTableRows: {
        hideNoData: E(() => e.hideNoData),
        noDataText: E(() => e.noDataText),
        loading: E(() => e.loading),
        loadingText: E(() => e.loadingText)
      }
    });
    const ie = _(() => ({
      page: o.value,
      itemsPerPage: u.value,
      sortBy: r.value,
      pageCount: U.value,
      toggleSort: P,
      setItemsPerPage: Y,
      someSelected: F.value,
      allSelected: q.value,
      isSelected: oe,
      select: _e,
      selectAll: x,
      toggleSelect: O,
      isExpanded: se,
      toggleExpand: ae,
      isGroupOpen: V,
      toggleGroup: w,
      items: le.value.map((J) => J.raw),
      internalItems: le.value,
      groupedItems: G.value,
      columns: d.value,
      headers: h.value
    }));
    return ee(() => {
      const J = zo.filterProps(e), Ee = Ho.filterProps(e), Se = Yo.filterProps(e), z = jo.filterProps(e);
      return g(jo, j({
        class: ["v-data-table", {
          "v-data-table--show-select": e.showSelect,
          "v-data-table--loading": e.loading
        }, e.class],
        style: e.style
      }, z, {
        fixedHeader: e.fixedHeader || e.sticky
      }), {
        top: () => a.top?.(ie.value),
        default: () => a.default ? a.default(ie.value) : p(pe, null, [a.colgroup?.(ie.value), !e.hideDefaultHeader && p("thead", {
          key: "thead"
        }, [g(Ho, Ee, a)]), a.thead?.(ie.value), !e.hideDefaultBody && p("tbody", null, [a["body.prepend"]?.(ie.value), a.body ? a.body(ie.value) : g(Yo, j(n, Se, {
          items: G.value
        }), a), a["body.append"]?.(ie.value)]), a.tbody?.(ie.value), a.tfoot?.(ie.value)]),
        bottom: () => a.bottom ? a.bottom(ie.value) : !e.hideDefaultFooter && p(pe, null, [g(Cc, null, null), g(zo, J, {
          prepend: a["footer.prepend"]
        })])
      });
    }), {};
  }
}), rp = {
  key: 0,
  id: "loading-results"
}, lp = { id: "results" }, ip = ["href"], op = { class: "literature-item-date" };
function up(e, t, n, a, s, r) {
  return qe(), nt(pe, null, [
    e.display_loading_div ? (qe(), nt("div", rp, [
      g(ei, { indeterminate: "" })
    ])) : ct("", !0),
    ht(p("div", lp, [
      e.display_results_div ? (qe(), eu(Dd, {
        key: 0,
        id: "table-literature",
        headers: e.headers,
        items: e.dataSource,
        "items-per-page": e.pageSize,
        "item-key": "PMID",
        "footer-props": e.footerProps,
        "onUpdate:options": t[0] || (t[0] = (l) => e.handlePage(l))
      }, {
        "item.PMID": he(({ item: l }) => [
          p("a", {
            href: l.urlPMID,
            target: "_blank"
          }, Te(l.PMID), 9, ip)
        ]),
        "item.Date": he(({ item: l }) => [
          p("span", op, Te(l.Date?.substring(0, 10)), 1)
        ]),
        _: 2
      }, 1032, ["headers", "items", "items-per-page", "footer-props"])) : ct("", !0),
      p("small", null, " search type: " + Te(e.literatureSearchType) + "; search id: " + Te(e.literatureSearchId) + "; item id: " + Te(e.literatureItemId) + ". ", 1)
    ], 512), [
      [Bn, !e.display_loading_div]
    ])
  ], 64);
}
const Md = /* @__PURE__ */ Ol(mb, [["render", up]]);
class cp {
  // Weakness of compound/concept (Nullable)
  constructor(t, n, a, s, r, l, i, o, u) {
    Ie(this, "id");
    // ID of compound/concept
    Ie(this, "name");
    // Name of compound/concept
    Ie(this, "link");
    // Link to official page
    Ie(this, "root");
    // Tree root of a MeSH element
    Ie(this, "meshTree");
    // MeSH Tree-Numbers
    Ie(this, "qvalue");
    // q.value of compound/concept
    Ie(this, "oddratio");
    // odd ratio of compound/concept
    Ie(this, "papers");
    // Number of article common between MeSH and Pubchem/Chemont/Chebi of compound/concept
    Ie(this, "score");
    this._id = t, this._name = n, this._link = a, this._root = s, this._meshTree = r, this._qvalue = l, this._oddratio = i, this._papers = o, this._score = u, this.id = t, this.name = n, this.link = a, this.root = s, this.meshTree = r, this.qvalue = l, this.oddratio = i, this.papers = o, this.score = u;
  }
}
//! moment.js
//! version : 2.30.1
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
var Rd;
function H() {
  return Rd.apply(null, arguments);
}
function dp(e) {
  Rd = e;
}
function Tt(e) {
  return e instanceof Array || Object.prototype.toString.call(e) === "[object Array]";
}
function Dn(e) {
  return e != null && Object.prototype.toString.call(e) === "[object Object]";
}
function Ce(e, t) {
  return Object.prototype.hasOwnProperty.call(e, t);
}
function li(e) {
  if (Object.getOwnPropertyNames)
    return Object.getOwnPropertyNames(e).length === 0;
  var t;
  for (t in e)
    if (Ce(e, t))
      return !1;
  return !0;
}
function ut(e) {
  return e === void 0;
}
function ln(e) {
  return typeof e == "number" || Object.prototype.toString.call(e) === "[object Number]";
}
function Za(e) {
  return e instanceof Date || Object.prototype.toString.call(e) === "[object Date]";
}
function Fd(e, t) {
  var n = [], a, s = e.length;
  for (a = 0; a < s; ++a)
    n.push(t(e[a], a));
  return n;
}
function bn(e, t) {
  for (var n in t)
    Ce(t, n) && (e[n] = t[n]);
  return Ce(t, "toString") && (e.toString = t.toString), Ce(t, "valueOf") && (e.valueOf = t.valueOf), e;
}
function Gt(e, t, n, a) {
  return rf(e, t, n, a, !0).utc();
}
function fp() {
  return {
    empty: !1,
    unusedTokens: [],
    unusedInput: [],
    overflow: -2,
    charsLeftOver: 0,
    nullInput: !1,
    invalidEra: null,
    invalidMonth: null,
    invalidFormat: !1,
    userInvalidated: !1,
    iso: !1,
    parsedDateParts: [],
    era: null,
    meridiem: null,
    rfc2822: !1,
    weekdayMismatch: !1
  };
}
function fe(e) {
  return e._pf == null && (e._pf = fp()), e._pf;
}
var hl;
Array.prototype.some ? hl = Array.prototype.some : hl = function(e) {
  var t = Object(this), n = t.length >>> 0, a;
  for (a = 0; a < n; a++)
    if (a in t && e.call(this, t[a], a, t))
      return !0;
  return !1;
};
function ii(e) {
  var t = null, n = !1, a = e._d && !isNaN(e._d.getTime());
  if (a && (t = fe(e), n = hl.call(t.parsedDateParts, function(s) {
    return s != null;
  }), a = t.overflow < 0 && !t.empty && !t.invalidEra && !t.invalidMonth && !t.invalidWeekday && !t.weekdayMismatch && !t.nullInput && !t.invalidFormat && !t.userInvalidated && (!t.meridiem || t.meridiem && n), e._strict && (a = a && t.charsLeftOver === 0 && t.unusedTokens.length === 0 && t.bigHour === void 0)), Object.isFrozen == null || !Object.isFrozen(e))
    e._isValid = a;
  else
    return a;
  return e._isValid;
}
function rr(e) {
  var t = Gt(NaN);
  return e != null ? bn(fe(t), e) : fe(t).userInvalidated = !0, t;
}
var Wo = H.momentProperties = [], Fr = !1;
function oi(e, t) {
  var n, a, s, r = Wo.length;
  if (ut(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject), ut(t._i) || (e._i = t._i), ut(t._f) || (e._f = t._f), ut(t._l) || (e._l = t._l), ut(t._strict) || (e._strict = t._strict), ut(t._tzm) || (e._tzm = t._tzm), ut(t._isUTC) || (e._isUTC = t._isUTC), ut(t._offset) || (e._offset = t._offset), ut(t._pf) || (e._pf = fe(t)), ut(t._locale) || (e._locale = t._locale), r > 0)
    for (n = 0; n < r; n++)
      a = Wo[n], s = t[a], ut(s) || (e[a] = s);
  return e;
}
function Xa(e) {
  oi(this, e), this._d = new Date(e._d != null ? e._d.getTime() : NaN), this.isValid() || (this._d = /* @__PURE__ */ new Date(NaN)), Fr === !1 && (Fr = !0, H.updateOffset(this), Fr = !1);
}
function Vt(e) {
  return e instanceof Xa || e != null && e._isAMomentObject != null;
}
function Ld(e) {
  H.suppressDeprecationWarnings === !1 && typeof console < "u" && console.warn && console.warn("Deprecation warning: " + e);
}
function Pt(e, t) {
  var n = !0;
  return bn(function() {
    if (H.deprecationHandler != null && H.deprecationHandler(null, e), n) {
      var a = [], s, r, l, i = arguments.length;
      for (r = 0; r < i; r++) {
        if (s = "", typeof arguments[r] == "object") {
          s += `
[` + r + "] ";
          for (l in arguments[0])
            Ce(arguments[0], l) && (s += l + ": " + arguments[0][l] + ", ");
          s = s.slice(0, -2);
        } else
          s = arguments[r];
        a.push(s);
      }
      Ld(
        e + `
Arguments: ` + Array.prototype.slice.call(a).join("") + `
` + new Error().stack
      ), n = !1;
    }
    return t.apply(this, arguments);
  }, t);
}
var Go = {};
function Nd(e, t) {
  H.deprecationHandler != null && H.deprecationHandler(e, t), Go[e] || (Ld(t), Go[e] = !0);
}
H.suppressDeprecationWarnings = !1;
H.deprecationHandler = null;
function Qt(e) {
  return typeof Function < "u" && e instanceof Function || Object.prototype.toString.call(e) === "[object Function]";
}
function hp(e) {
  var t, n;
  for (n in e)
    Ce(e, n) && (t = e[n], Qt(t) ? this[n] = t : this["_" + n] = t);
  this._config = e, this._dayOfMonthOrdinalParseLenient = new RegExp(
    (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source
  );
}
function ml(e, t) {
  var n = bn({}, e), a;
  for (a in t)
    Ce(t, a) && (Dn(e[a]) && Dn(t[a]) ? (n[a] = {}, bn(n[a], e[a]), bn(n[a], t[a])) : t[a] != null ? n[a] = t[a] : delete n[a]);
  for (a in e)
    Ce(e, a) && !Ce(t, a) && Dn(e[a]) && (n[a] = bn({}, n[a]));
  return n;
}
function ui(e) {
  e != null && this.set(e);
}
var vl;
Object.keys ? vl = Object.keys : vl = function(e) {
  var t, n = [];
  for (t in e)
    Ce(e, t) && n.push(t);
  return n;
};
var mp = {
  sameDay: "[Today at] LT",
  nextDay: "[Tomorrow at] LT",
  nextWeek: "dddd [at] LT",
  lastDay: "[Yesterday at] LT",
  lastWeek: "[Last] dddd [at] LT",
  sameElse: "L"
};
function vp(e, t, n) {
  var a = this._calendar[e] || this._calendar.sameElse;
  return Qt(a) ? a.call(t, n) : a;
}
function Yt(e, t, n) {
  var a = "" + Math.abs(e), s = t - a.length, r = e >= 0;
  return (r ? n ? "+" : "" : "-") + Math.pow(10, Math.max(0, s)).toString().substr(1) + a;
}
var ci = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, ds = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, Lr = {}, qn = {};
function X(e, t, n, a) {
  var s = a;
  typeof a == "string" && (s = function() {
    return this[a]();
  }), e && (qn[e] = s), t && (qn[t[0]] = function() {
    return Yt(s.apply(this, arguments), t[1], t[2]);
  }), n && (qn[n] = function() {
    return this.localeData().ordinal(
      s.apply(this, arguments),
      e
    );
  });
}
function yp(e) {
  return e.match(/\[[\s\S]/) ? e.replace(/^\[|\]$/g, "") : e.replace(/\\/g, "");
}
function gp(e) {
  var t = e.match(ci), n, a;
  for (n = 0, a = t.length; n < a; n++)
    qn[t[n]] ? t[n] = qn[t[n]] : t[n] = yp(t[n]);
  return function(s) {
    var r = "", l;
    for (l = 0; l < a; l++)
      r += Qt(t[l]) ? t[l].call(s, e) : t[l];
    return r;
  };
}
function bs(e, t) {
  return e.isValid() ? (t = Bd(t, e.localeData()), Lr[t] = Lr[t] || gp(t), Lr[t](e)) : e.localeData().invalidDate();
}
function Bd(e, t) {
  var n = 5;
  function a(s) {
    return t.longDateFormat(s) || s;
  }
  for (ds.lastIndex = 0; n >= 0 && ds.test(e); )
    e = e.replace(
      ds,
      a
    ), ds.lastIndex = 0, n -= 1;
  return e;
}
var bp = {
  LTS: "h:mm:ss A",
  LT: "h:mm A",
  L: "MM/DD/YYYY",
  LL: "MMMM D, YYYY",
  LLL: "MMMM D, YYYY h:mm A",
  LLLL: "dddd, MMMM D, YYYY h:mm A"
};
function pp(e) {
  var t = this._longDateFormat[e], n = this._longDateFormat[e.toUpperCase()];
  return t || !n ? t : (this._longDateFormat[e] = n.match(ci).map(function(a) {
    return a === "MMMM" || a === "MM" || a === "DD" || a === "dddd" ? a.slice(1) : a;
  }).join(""), this._longDateFormat[e]);
}
var Sp = "Invalid date";
function wp() {
  return this._invalidDate;
}
var _p = "%d", kp = /\d{1,2}/;
function Cp(e) {
  return this._ordinal.replace("%d", e);
}
var Pp = {
  future: "in %s",
  past: "%s ago",
  s: "a few seconds",
  ss: "%d seconds",
  m: "a minute",
  mm: "%d minutes",
  h: "an hour",
  hh: "%d hours",
  d: "a day",
  dd: "%d days",
  w: "a week",
  ww: "%d weeks",
  M: "a month",
  MM: "%d months",
  y: "a year",
  yy: "%d years"
};
function xp(e, t, n, a) {
  var s = this._relativeTime[n];
  return Qt(s) ? s(e, t, n, a) : s.replace(/%d/i, e);
}
function Ip(e, t) {
  var n = this._relativeTime[e > 0 ? "future" : "past"];
  return Qt(n) ? n(t) : n.replace(/%s/i, t);
}
var Qo = {
  D: "date",
  dates: "date",
  date: "date",
  d: "day",
  days: "day",
  day: "day",
  e: "weekday",
  weekdays: "weekday",
  weekday: "weekday",
  E: "isoWeekday",
  isoweekdays: "isoWeekday",
  isoweekday: "isoWeekday",
  DDD: "dayOfYear",
  dayofyears: "dayOfYear",
  dayofyear: "dayOfYear",
  h: "hour",
  hours: "hour",
  hour: "hour",
  ms: "millisecond",
  milliseconds: "millisecond",
  millisecond: "millisecond",
  m: "minute",
  minutes: "minute",
  minute: "minute",
  M: "month",
  months: "month",
  month: "month",
  Q: "quarter",
  quarters: "quarter",
  quarter: "quarter",
  s: "second",
  seconds: "second",
  second: "second",
  gg: "weekYear",
  weekyears: "weekYear",
  weekyear: "weekYear",
  GG: "isoWeekYear",
  isoweekyears: "isoWeekYear",
  isoweekyear: "isoWeekYear",
  w: "week",
  weeks: "week",
  week: "week",
  W: "isoWeek",
  isoweeks: "isoWeek",
  isoweek: "isoWeek",
  y: "year",
  years: "year",
  year: "year"
};
function xt(e) {
  return typeof e == "string" ? Qo[e] || Qo[e.toLowerCase()] : void 0;
}
function di(e) {
  var t = {}, n, a;
  for (a in e)
    Ce(e, a) && (n = xt(a), n && (t[n] = e[a]));
  return t;
}
var Op = {
  date: 9,
  day: 11,
  weekday: 11,
  isoWeekday: 11,
  dayOfYear: 4,
  hour: 13,
  millisecond: 16,
  minute: 14,
  month: 8,
  quarter: 7,
  second: 15,
  weekYear: 1,
  isoWeekYear: 1,
  week: 5,
  isoWeek: 5,
  year: 1
};
function Tp(e) {
  var t = [], n;
  for (n in e)
    Ce(e, n) && t.push({ unit: n, priority: Op[n] });
  return t.sort(function(a, s) {
    return a.priority - s.priority;
  }), t;
}
var $d = /\d/, St = /\d\d/, Ud = /\d{3}/, fi = /\d{4}/, lr = /[+-]?\d{6}/, Me = /\d\d?/, zd = /\d\d\d\d?/, Hd = /\d\d\d\d\d\d?/, ir = /\d{1,3}/, hi = /\d{1,4}/, or = /[+-]?\d{1,6}/, ca = /\d+/, ur = /[+-]?\d+/, Vp = /Z|[+-]\d\d:?\d\d/gi, cr = /Z|[+-]\d\d(?::?\d\d)?/gi, Ep = /[+-]?\d+(\.\d{1,3})?/, es = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, da = /^[1-9]\d?/, mi = /^([1-9]\d|\d)/, As;
As = {};
function W(e, t, n) {
  As[e] = Qt(t) ? t : function(a, s) {
    return a && n ? n : t;
  };
}
function Ap(e, t) {
  return Ce(As, e) ? As[e](t._strict, t._locale) : new RegExp(Dp(e));
}
function Dp(e) {
  return nn(
    e.replace("\\", "").replace(
      /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,
      function(t, n, a, s, r) {
        return n || a || s || r;
      }
    )
  );
}
function nn(e) {
  return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
}
function wt(e) {
  return e < 0 ? Math.ceil(e) || 0 : Math.floor(e);
}
function ge(e) {
  var t = +e, n = 0;
  return t !== 0 && isFinite(t) && (n = wt(t)), n;
}
var yl = {};
function Oe(e, t) {
  var n, a = t, s;
  for (typeof e == "string" && (e = [e]), ln(t) && (a = function(r, l) {
    l[t] = ge(r);
  }), s = e.length, n = 0; n < s; n++)
    yl[e[n]] = a;
}
function ts(e, t) {
  Oe(e, function(n, a, s, r) {
    s._w = s._w || {}, t(n, s._w, s, r);
  });
}
function Mp(e, t, n) {
  t != null && Ce(yl, e) && yl[e](t, n._a, n, e);
}
function dr(e) {
  return e % 4 === 0 && e % 100 !== 0 || e % 400 === 0;
}
var tt = 0, en = 1, Nt = 2, je = 3, It = 4, tn = 5, Vn = 6, Rp = 7, Fp = 8;
X("Y", 0, 0, function() {
  var e = this.year();
  return e <= 9999 ? Yt(e, 4) : "+" + e;
});
X(0, ["YY", 2], 0, function() {
  return this.year() % 100;
});
X(0, ["YYYY", 4], 0, "year");
X(0, ["YYYYY", 5], 0, "year");
X(0, ["YYYYYY", 6, !0], 0, "year");
W("Y", ur);
W("YY", Me, St);
W("YYYY", hi, fi);
W("YYYYY", or, lr);
W("YYYYYY", or, lr);
Oe(["YYYYY", "YYYYYY"], tt);
Oe("YYYY", function(e, t) {
  t[tt] = e.length === 2 ? H.parseTwoDigitYear(e) : ge(e);
});
Oe("YY", function(e, t) {
  t[tt] = H.parseTwoDigitYear(e);
});
Oe("Y", function(e, t) {
  t[tt] = parseInt(e, 10);
});
function Pa(e) {
  return dr(e) ? 366 : 365;
}
H.parseTwoDigitYear = function(e) {
  return ge(e) + (ge(e) > 68 ? 1900 : 2e3);
};
var Yd = fa("FullYear", !0);
function Lp() {
  return dr(this.year());
}
function fa(e, t) {
  return function(n) {
    return n != null ? (jd(this, e, n), H.updateOffset(this, t), this) : Ra(this, e);
  };
}
function Ra(e, t) {
  if (!e.isValid())
    return NaN;
  var n = e._d, a = e._isUTC;
  switch (t) {
    case "Milliseconds":
      return a ? n.getUTCMilliseconds() : n.getMilliseconds();
    case "Seconds":
      return a ? n.getUTCSeconds() : n.getSeconds();
    case "Minutes":
      return a ? n.getUTCMinutes() : n.getMinutes();
    case "Hours":
      return a ? n.getUTCHours() : n.getHours();
    case "Date":
      return a ? n.getUTCDate() : n.getDate();
    case "Day":
      return a ? n.getUTCDay() : n.getDay();
    case "Month":
      return a ? n.getUTCMonth() : n.getMonth();
    case "FullYear":
      return a ? n.getUTCFullYear() : n.getFullYear();
    default:
      return NaN;
  }
}
function jd(e, t, n) {
  var a, s, r, l, i;
  if (!(!e.isValid() || isNaN(n))) {
    switch (a = e._d, s = e._isUTC, t) {
      case "Milliseconds":
        return void (s ? a.setUTCMilliseconds(n) : a.setMilliseconds(n));
      case "Seconds":
        return void (s ? a.setUTCSeconds(n) : a.setSeconds(n));
      case "Minutes":
        return void (s ? a.setUTCMinutes(n) : a.setMinutes(n));
      case "Hours":
        return void (s ? a.setUTCHours(n) : a.setHours(n));
      case "Date":
        return void (s ? a.setUTCDate(n) : a.setDate(n));
      // case 'Day': // Not real
      //    return void (isUTC ? d.setUTCDay(value) : d.setDay(value));
      // case 'Month': // Not used because we need to pass two variables
      //     return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));
      case "FullYear":
        break;
      // See below ...
      default:
        return;
    }
    r = n, l = e.month(), i = e.date(), i = i === 29 && l === 1 && !dr(r) ? 28 : i, s ? a.setUTCFullYear(r, l, i) : a.setFullYear(r, l, i);
  }
}
function Np(e) {
  return e = xt(e), Qt(this[e]) ? this[e]() : this;
}
function Bp(e, t) {
  if (typeof e == "object") {
    e = di(e);
    var n = Tp(e), a, s = n.length;
    for (a = 0; a < s; a++)
      this[n[a].unit](e[n[a].unit]);
  } else if (e = xt(e), Qt(this[e]))
    return this[e](t);
  return this;
}
function $p(e, t) {
  return (e % t + t) % t;
}
var $e;
Array.prototype.indexOf ? $e = Array.prototype.indexOf : $e = function(e) {
  var t;
  for (t = 0; t < this.length; ++t)
    if (this[t] === e)
      return t;
  return -1;
};
function vi(e, t) {
  if (isNaN(e) || isNaN(t))
    return NaN;
  var n = $p(t, 12);
  return e += (t - n) / 12, n === 1 ? dr(e) ? 29 : 28 : 31 - n % 7 % 2;
}
X("M", ["MM", 2], "Mo", function() {
  return this.month() + 1;
});
X("MMM", 0, 0, function(e) {
  return this.localeData().monthsShort(this, e);
});
X("MMMM", 0, 0, function(e) {
  return this.localeData().months(this, e);
});
W("M", Me, da);
W("MM", Me, St);
W("MMM", function(e, t) {
  return t.monthsShortRegex(e);
});
W("MMMM", function(e, t) {
  return t.monthsRegex(e);
});
Oe(["M", "MM"], function(e, t) {
  t[en] = ge(e) - 1;
});
Oe(["MMM", "MMMM"], function(e, t, n, a) {
  var s = n._locale.monthsParse(e, a, n._strict);
  s != null ? t[en] = s : fe(n).invalidMonth = e;
});
var Up = "January_February_March_April_May_June_July_August_September_October_November_December".split(
  "_"
), Wd = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), Gd = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, zp = es, Hp = es;
function Yp(e, t) {
  return e ? Tt(this._months) ? this._months[e.month()] : this._months[(this._months.isFormat || Gd).test(t) ? "format" : "standalone"][e.month()] : Tt(this._months) ? this._months : this._months.standalone;
}
function jp(e, t) {
  return e ? Tt(this._monthsShort) ? this._monthsShort[e.month()] : this._monthsShort[Gd.test(t) ? "format" : "standalone"][e.month()] : Tt(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone;
}
function Wp(e, t, n) {
  var a, s, r, l = e.toLocaleLowerCase();
  if (!this._monthsParse)
    for (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], a = 0; a < 12; ++a)
      r = Gt([2e3, a]), this._shortMonthsParse[a] = this.monthsShort(
        r,
        ""
      ).toLocaleLowerCase(), this._longMonthsParse[a] = this.months(r, "").toLocaleLowerCase();
  return n ? t === "MMM" ? (s = $e.call(this._shortMonthsParse, l), s !== -1 ? s : null) : (s = $e.call(this._longMonthsParse, l), s !== -1 ? s : null) : t === "MMM" ? (s = $e.call(this._shortMonthsParse, l), s !== -1 ? s : (s = $e.call(this._longMonthsParse, l), s !== -1 ? s : null)) : (s = $e.call(this._longMonthsParse, l), s !== -1 ? s : (s = $e.call(this._shortMonthsParse, l), s !== -1 ? s : null));
}
function Gp(e, t, n) {
  var a, s, r;
  if (this._monthsParseExact)
    return Wp.call(this, e, t, n);
  for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), a = 0; a < 12; a++) {
    if (s = Gt([2e3, a]), n && !this._longMonthsParse[a] && (this._longMonthsParse[a] = new RegExp(
      "^" + this.months(s, "").replace(".", "") + "$",
      "i"
    ), this._shortMonthsParse[a] = new RegExp(
      "^" + this.monthsShort(s, "").replace(".", "") + "$",
      "i"
    )), !n && !this._monthsParse[a] && (r = "^" + this.months(s, "") + "|^" + this.monthsShort(s, ""), this._monthsParse[a] = new RegExp(r.replace(".", ""), "i")), n && t === "MMMM" && this._longMonthsParse[a].test(e))
      return a;
    if (n && t === "MMM" && this._shortMonthsParse[a].test(e))
      return a;
    if (!n && this._monthsParse[a].test(e))
      return a;
  }
}
function Qd(e, t) {
  if (!e.isValid())
    return e;
  if (typeof t == "string") {
    if (/^\d+$/.test(t))
      t = ge(t);
    else if (t = e.localeData().monthsParse(t), !ln(t))
      return e;
  }
  var n = t, a = e.date();
  return a = a < 29 ? a : Math.min(a, vi(e.year(), n)), e._isUTC ? e._d.setUTCMonth(n, a) : e._d.setMonth(n, a), e;
}
function qd(e) {
  return e != null ? (Qd(this, e), H.updateOffset(this, !0), this) : Ra(this, "Month");
}
function Qp() {
  return vi(this.year(), this.month());
}
function qp(e) {
  return this._monthsParseExact ? (Ce(this, "_monthsRegex") || Kd.call(this), e ? this._monthsShortStrictRegex : this._monthsShortRegex) : (Ce(this, "_monthsShortRegex") || (this._monthsShortRegex = zp), this._monthsShortStrictRegex && e ? this._monthsShortStrictRegex : this._monthsShortRegex);
}
function Kp(e) {
  return this._monthsParseExact ? (Ce(this, "_monthsRegex") || Kd.call(this), e ? this._monthsStrictRegex : this._monthsRegex) : (Ce(this, "_monthsRegex") || (this._monthsRegex = Hp), this._monthsStrictRegex && e ? this._monthsStrictRegex : this._monthsRegex);
}
function Kd() {
  function e(o, u) {
    return u.length - o.length;
  }
  var t = [], n = [], a = [], s, r, l, i;
  for (s = 0; s < 12; s++)
    r = Gt([2e3, s]), l = nn(this.monthsShort(r, "")), i = nn(this.months(r, "")), t.push(l), n.push(i), a.push(i), a.push(l);
  t.sort(e), n.sort(e), a.sort(e), this._monthsRegex = new RegExp("^(" + a.join("|") + ")", "i"), this._monthsShortRegex = this._monthsRegex, this._monthsStrictRegex = new RegExp(
    "^(" + n.join("|") + ")",
    "i"
  ), this._monthsShortStrictRegex = new RegExp(
    "^(" + t.join("|") + ")",
    "i"
  );
}
function Jp(e, t, n, a, s, r, l) {
  var i;
  return e < 100 && e >= 0 ? (i = new Date(e + 400, t, n, a, s, r, l), isFinite(i.getFullYear()) && i.setFullYear(e)) : i = new Date(e, t, n, a, s, r, l), i;
}
function Fa(e) {
  var t, n;
  return e < 100 && e >= 0 ? (n = Array.prototype.slice.call(arguments), n[0] = e + 400, t = new Date(Date.UTC.apply(null, n)), isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e)) : t = new Date(Date.UTC.apply(null, arguments)), t;
}
function Ds(e, t, n) {
  var a = 7 + t - n, s = (7 + Fa(e, 0, a).getUTCDay() - t) % 7;
  return -s + a - 1;
}
function Jd(e, t, n, a, s) {
  var r = (7 + n - a) % 7, l = Ds(e, a, s), i = 1 + 7 * (t - 1) + r + l, o, u;
  return i <= 0 ? (o = e - 1, u = Pa(o) + i) : i > Pa(e) ? (o = e + 1, u = i - Pa(e)) : (o = e, u = i), {
    year: o,
    dayOfYear: u
  };
}
function La(e, t, n) {
  var a = Ds(e.year(), t, n), s = Math.floor((e.dayOfYear() - a - 1) / 7) + 1, r, l;
  return s < 1 ? (l = e.year() - 1, r = s + an(l, t, n)) : s > an(e.year(), t, n) ? (r = s - an(e.year(), t, n), l = e.year() + 1) : (l = e.year(), r = s), {
    week: r,
    year: l
  };
}
function an(e, t, n) {
  var a = Ds(e, t, n), s = Ds(e + 1, t, n);
  return (Pa(e) - a + s) / 7;
}
X("w", ["ww", 2], "wo", "week");
X("W", ["WW", 2], "Wo", "isoWeek");
W("w", Me, da);
W("ww", Me, St);
W("W", Me, da);
W("WW", Me, St);
ts(
  ["w", "ww", "W", "WW"],
  function(e, t, n, a) {
    t[a.substr(0, 1)] = ge(e);
  }
);
function Zp(e) {
  return La(e, this._week.dow, this._week.doy).week;
}
var Xp = {
  dow: 0,
  // Sunday is the first day of the week.
  doy: 6
  // The week that contains Jan 6th is the first week of the year.
};
function eS() {
  return this._week.dow;
}
function tS() {
  return this._week.doy;
}
function nS(e) {
  var t = this.localeData().week(this);
  return e == null ? t : this.add((e - t) * 7, "d");
}
function aS(e) {
  var t = La(this, 1, 4).week;
  return e == null ? t : this.add((e - t) * 7, "d");
}
X("d", 0, "do", "day");
X("dd", 0, 0, function(e) {
  return this.localeData().weekdaysMin(this, e);
});
X("ddd", 0, 0, function(e) {
  return this.localeData().weekdaysShort(this, e);
});
X("dddd", 0, 0, function(e) {
  return this.localeData().weekdays(this, e);
});
X("e", 0, 0, "weekday");
X("E", 0, 0, "isoWeekday");
W("d", Me);
W("e", Me);
W("E", Me);
W("dd", function(e, t) {
  return t.weekdaysMinRegex(e);
});
W("ddd", function(e, t) {
  return t.weekdaysShortRegex(e);
});
W("dddd", function(e, t) {
  return t.weekdaysRegex(e);
});
ts(["dd", "ddd", "dddd"], function(e, t, n, a) {
  var s = n._locale.weekdaysParse(e, a, n._strict);
  s != null ? t.d = s : fe(n).invalidWeekday = e;
});
ts(["d", "e", "E"], function(e, t, n, a) {
  t[a] = ge(e);
});
function sS(e, t) {
  return typeof e != "string" ? e : isNaN(e) ? (e = t.weekdaysParse(e), typeof e == "number" ? e : null) : parseInt(e, 10);
}
function rS(e, t) {
  return typeof e == "string" ? t.weekdaysParse(e) % 7 || 7 : isNaN(e) ? null : e;
}
function yi(e, t) {
  return e.slice(t, 7).concat(e.slice(0, t));
}
var lS = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), Zd = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), iS = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), oS = es, uS = es, cS = es;
function dS(e, t) {
  var n = Tt(this._weekdays) ? this._weekdays : this._weekdays[e && e !== !0 && this._weekdays.isFormat.test(t) ? "format" : "standalone"];
  return e === !0 ? yi(n, this._week.dow) : e ? n[e.day()] : n;
}
function fS(e) {
  return e === !0 ? yi(this._weekdaysShort, this._week.dow) : e ? this._weekdaysShort[e.day()] : this._weekdaysShort;
}
function hS(e) {
  return e === !0 ? yi(this._weekdaysMin, this._week.dow) : e ? this._weekdaysMin[e.day()] : this._weekdaysMin;
}
function mS(e, t, n) {
  var a, s, r, l = e.toLocaleLowerCase();
  if (!this._weekdaysParse)
    for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], a = 0; a < 7; ++a)
      r = Gt([2e3, 1]).day(a), this._minWeekdaysParse[a] = this.weekdaysMin(
        r,
        ""
      ).toLocaleLowerCase(), this._shortWeekdaysParse[a] = this.weekdaysShort(
        r,
        ""
      ).toLocaleLowerCase(), this._weekdaysParse[a] = this.weekdays(r, "").toLocaleLowerCase();
  return n ? t === "dddd" ? (s = $e.call(this._weekdaysParse, l), s !== -1 ? s : null) : t === "ddd" ? (s = $e.call(this._shortWeekdaysParse, l), s !== -1 ? s : null) : (s = $e.call(this._minWeekdaysParse, l), s !== -1 ? s : null) : t === "dddd" ? (s = $e.call(this._weekdaysParse, l), s !== -1 || (s = $e.call(this._shortWeekdaysParse, l), s !== -1) ? s : (s = $e.call(this._minWeekdaysParse, l), s !== -1 ? s : null)) : t === "ddd" ? (s = $e.call(this._shortWeekdaysParse, l), s !== -1 || (s = $e.call(this._weekdaysParse, l), s !== -1) ? s : (s = $e.call(this._minWeekdaysParse, l), s !== -1 ? s : null)) : (s = $e.call(this._minWeekdaysParse, l), s !== -1 || (s = $e.call(this._weekdaysParse, l), s !== -1) ? s : (s = $e.call(this._shortWeekdaysParse, l), s !== -1 ? s : null));
}
function vS(e, t, n) {
  var a, s, r;
  if (this._weekdaysParseExact)
    return mS.call(this, e, t, n);
  for (this._weekdaysParse || (this._weekdaysParse = [], this._minWeekdaysParse = [], this._shortWeekdaysParse = [], this._fullWeekdaysParse = []), a = 0; a < 7; a++) {
    if (s = Gt([2e3, 1]).day(a), n && !this._fullWeekdaysParse[a] && (this._fullWeekdaysParse[a] = new RegExp(
      "^" + this.weekdays(s, "").replace(".", "\\.?") + "$",
      "i"
    ), this._shortWeekdaysParse[a] = new RegExp(
      "^" + this.weekdaysShort(s, "").replace(".", "\\.?") + "$",
      "i"
    ), this._minWeekdaysParse[a] = new RegExp(
      "^" + this.weekdaysMin(s, "").replace(".", "\\.?") + "$",
      "i"
    )), this._weekdaysParse[a] || (r = "^" + this.weekdays(s, "") + "|^" + this.weekdaysShort(s, "") + "|^" + this.weekdaysMin(s, ""), this._weekdaysParse[a] = new RegExp(r.replace(".", ""), "i")), n && t === "dddd" && this._fullWeekdaysParse[a].test(e))
      return a;
    if (n && t === "ddd" && this._shortWeekdaysParse[a].test(e))
      return a;
    if (n && t === "dd" && this._minWeekdaysParse[a].test(e))
      return a;
    if (!n && this._weekdaysParse[a].test(e))
      return a;
  }
}
function yS(e) {
  if (!this.isValid())
    return e != null ? this : NaN;
  var t = Ra(this, "Day");
  return e != null ? (e = sS(e, this.localeData()), this.add(e - t, "d")) : t;
}
function gS(e) {
  if (!this.isValid())
    return e != null ? this : NaN;
  var t = (this.day() + 7 - this.localeData()._week.dow) % 7;
  return e == null ? t : this.add(e - t, "d");
}
function bS(e) {
  if (!this.isValid())
    return e != null ? this : NaN;
  if (e != null) {
    var t = rS(e, this.localeData());
    return this.day(this.day() % 7 ? t : t - 7);
  } else
    return this.day() || 7;
}
function pS(e) {
  return this._weekdaysParseExact ? (Ce(this, "_weekdaysRegex") || gi.call(this), e ? this._weekdaysStrictRegex : this._weekdaysRegex) : (Ce(this, "_weekdaysRegex") || (this._weekdaysRegex = oS), this._weekdaysStrictRegex && e ? this._weekdaysStrictRegex : this._weekdaysRegex);
}
function SS(e) {
  return this._weekdaysParseExact ? (Ce(this, "_weekdaysRegex") || gi.call(this), e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (Ce(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = uS), this._weekdaysShortStrictRegex && e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex);
}
function wS(e) {
  return this._weekdaysParseExact ? (Ce(this, "_weekdaysRegex") || gi.call(this), e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (Ce(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = cS), this._weekdaysMinStrictRegex && e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex);
}
function gi() {
  function e(c, d) {
    return d.length - c.length;
  }
  var t = [], n = [], a = [], s = [], r, l, i, o, u;
  for (r = 0; r < 7; r++)
    l = Gt([2e3, 1]).day(r), i = nn(this.weekdaysMin(l, "")), o = nn(this.weekdaysShort(l, "")), u = nn(this.weekdays(l, "")), t.push(i), n.push(o), a.push(u), s.push(i), s.push(o), s.push(u);
  t.sort(e), n.sort(e), a.sort(e), s.sort(e), this._weekdaysRegex = new RegExp("^(" + s.join("|") + ")", "i"), this._weekdaysShortRegex = this._weekdaysRegex, this._weekdaysMinRegex = this._weekdaysRegex, this._weekdaysStrictRegex = new RegExp(
    "^(" + a.join("|") + ")",
    "i"
  ), this._weekdaysShortStrictRegex = new RegExp(
    "^(" + n.join("|") + ")",
    "i"
  ), this._weekdaysMinStrictRegex = new RegExp(
    "^(" + t.join("|") + ")",
    "i"
  );
}
function bi() {
  return this.hours() % 12 || 12;
}
function _S() {
  return this.hours() || 24;
}
X("H", ["HH", 2], 0, "hour");
X("h", ["hh", 2], 0, bi);
X("k", ["kk", 2], 0, _S);
X("hmm", 0, 0, function() {
  return "" + bi.apply(this) + Yt(this.minutes(), 2);
});
X("hmmss", 0, 0, function() {
  return "" + bi.apply(this) + Yt(this.minutes(), 2) + Yt(this.seconds(), 2);
});
X("Hmm", 0, 0, function() {
  return "" + this.hours() + Yt(this.minutes(), 2);
});
X("Hmmss", 0, 0, function() {
  return "" + this.hours() + Yt(this.minutes(), 2) + Yt(this.seconds(), 2);
});
function Xd(e, t) {
  X(e, 0, 0, function() {
    return this.localeData().meridiem(
      this.hours(),
      this.minutes(),
      t
    );
  });
}
Xd("a", !0);
Xd("A", !1);
function ef(e, t) {
  return t._meridiemParse;
}
W("a", ef);
W("A", ef);
W("H", Me, mi);
W("h", Me, da);
W("k", Me, da);
W("HH", Me, St);
W("hh", Me, St);
W("kk", Me, St);
W("hmm", zd);
W("hmmss", Hd);
W("Hmm", zd);
W("Hmmss", Hd);
Oe(["H", "HH"], je);
Oe(["k", "kk"], function(e, t, n) {
  var a = ge(e);
  t[je] = a === 24 ? 0 : a;
});
Oe(["a", "A"], function(e, t, n) {
  n._isPm = n._locale.isPM(e), n._meridiem = e;
});
Oe(["h", "hh"], function(e, t, n) {
  t[je] = ge(e), fe(n).bigHour = !0;
});
Oe("hmm", function(e, t, n) {
  var a = e.length - 2;
  t[je] = ge(e.substr(0, a)), t[It] = ge(e.substr(a)), fe(n).bigHour = !0;
});
Oe("hmmss", function(e, t, n) {
  var a = e.length - 4, s = e.length - 2;
  t[je] = ge(e.substr(0, a)), t[It] = ge(e.substr(a, 2)), t[tn] = ge(e.substr(s)), fe(n).bigHour = !0;
});
Oe("Hmm", function(e, t, n) {
  var a = e.length - 2;
  t[je] = ge(e.substr(0, a)), t[It] = ge(e.substr(a));
});
Oe("Hmmss", function(e, t, n) {
  var a = e.length - 4, s = e.length - 2;
  t[je] = ge(e.substr(0, a)), t[It] = ge(e.substr(a, 2)), t[tn] = ge(e.substr(s));
});
function kS(e) {
  return (e + "").toLowerCase().charAt(0) === "p";
}
var CS = /[ap]\.?m?\.?/i, PS = fa("Hours", !0);
function xS(e, t, n) {
  return e > 11 ? n ? "pm" : "PM" : n ? "am" : "AM";
}
var tf = {
  calendar: mp,
  longDateFormat: bp,
  invalidDate: Sp,
  ordinal: _p,
  dayOfMonthOrdinalParse: kp,
  relativeTime: Pp,
  months: Up,
  monthsShort: Wd,
  week: Xp,
  weekdays: lS,
  weekdaysMin: iS,
  weekdaysShort: Zd,
  meridiemParse: CS
}, Re = {}, pa = {}, Na;
function IS(e, t) {
  var n, a = Math.min(e.length, t.length);
  for (n = 0; n < a; n += 1)
    if (e[n] !== t[n])
      return n;
  return a;
}
function qo(e) {
  return e && e.toLowerCase().replace("_", "-");
}
function OS(e) {
  for (var t = 0, n, a, s, r; t < e.length; ) {
    for (r = qo(e[t]).split("-"), n = r.length, a = qo(e[t + 1]), a = a ? a.split("-") : null; n > 0; ) {
      if (s = fr(r.slice(0, n).join("-")), s)
        return s;
      if (a && a.length >= n && IS(r, a) >= n - 1)
        break;
      n--;
    }
    t++;
  }
  return Na;
}
function TS(e) {
  return !!(e && e.match("^[^/\\\\]*$"));
}
function fr(e) {
  var t = null, n;
  if (Re[e] === void 0 && typeof module < "u" && module && module.exports && TS(e))
    try {
      t = Na._abbr, n = require, n("./locale/" + e), wn(t);
    } catch {
      Re[e] = null;
    }
  return Re[e];
}
function wn(e, t) {
  var n;
  return e && (ut(t) ? n = mn(e) : n = pi(e, t), n ? Na = n : typeof console < "u" && console.warn && console.warn(
    "Locale " + e + " not found. Did you forget to load it?"
  )), Na._abbr;
}
function pi(e, t) {
  if (t !== null) {
    var n, a = tf;
    if (t.abbr = e, Re[e] != null)
      Nd(
        "defineLocaleOverride",
        "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."
      ), a = Re[e]._config;
    else if (t.parentLocale != null)
      if (Re[t.parentLocale] != null)
        a = Re[t.parentLocale]._config;
      else if (n = fr(t.parentLocale), n != null)
        a = n._config;
      else
        return pa[t.parentLocale] || (pa[t.parentLocale] = []), pa[t.parentLocale].push({
          name: e,
          config: t
        }), null;
    return Re[e] = new ui(ml(a, t)), pa[e] && pa[e].forEach(function(s) {
      pi(s.name, s.config);
    }), wn(e), Re[e];
  } else
    return delete Re[e], null;
}
function VS(e, t) {
  if (t != null) {
    var n, a, s = tf;
    Re[e] != null && Re[e].parentLocale != null ? Re[e].set(ml(Re[e]._config, t)) : (a = fr(e), a != null && (s = a._config), t = ml(s, t), a == null && (t.abbr = e), n = new ui(t), n.parentLocale = Re[e], Re[e] = n), wn(e);
  } else
    Re[e] != null && (Re[e].parentLocale != null ? (Re[e] = Re[e].parentLocale, e === wn() && wn(e)) : Re[e] != null && delete Re[e]);
  return Re[e];
}
function mn(e) {
  var t;
  if (e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e)
    return Na;
  if (!Tt(e)) {
    if (t = fr(e), t)
      return t;
    e = [e];
  }
  return OS(e);
}
function ES() {
  return vl(Re);
}
function Si(e) {
  var t, n = e._a;
  return n && fe(e).overflow === -2 && (t = n[en] < 0 || n[en] > 11 ? en : n[Nt] < 1 || n[Nt] > vi(n[tt], n[en]) ? Nt : n[je] < 0 || n[je] > 24 || n[je] === 24 && (n[It] !== 0 || n[tn] !== 0 || n[Vn] !== 0) ? je : n[It] < 0 || n[It] > 59 ? It : n[tn] < 0 || n[tn] > 59 ? tn : n[Vn] < 0 || n[Vn] > 999 ? Vn : -1, fe(e)._overflowDayOfYear && (t < tt || t > Nt) && (t = Nt), fe(e)._overflowWeeks && t === -1 && (t = Rp), fe(e)._overflowWeekday && t === -1 && (t = Fp), fe(e).overflow = t), e;
}
var AS = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, DS = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, MS = /Z|[+-]\d\d(?::?\d\d)?/, fs = [
  ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
  ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/],
  ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/],
  ["GGGG-[W]WW", /\d{4}-W\d\d/, !1],
  ["YYYY-DDD", /\d{4}-\d{3}/],
  ["YYYY-MM", /\d{4}-\d\d/, !1],
  ["YYYYYYMMDD", /[+-]\d{10}/],
  ["YYYYMMDD", /\d{8}/],
  ["GGGG[W]WWE", /\d{4}W\d{3}/],
  ["GGGG[W]WW", /\d{4}W\d{2}/, !1],
  ["YYYYDDD", /\d{7}/],
  ["YYYYMM", /\d{6}/, !1],
  ["YYYY", /\d{4}/, !1]
], Nr = [
  ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/],
  ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/],
  ["HH:mm:ss", /\d\d:\d\d:\d\d/],
  ["HH:mm", /\d\d:\d\d/],
  ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/],
  ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/],
  ["HHmmss", /\d\d\d\d\d\d/],
  ["HHmm", /\d\d\d\d/],
  ["HH", /\d\d/]
], RS = /^\/?Date\((-?\d+)/i, FS = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, LS = {
  UT: 0,
  GMT: 0,
  EDT: -4 * 60,
  EST: -5 * 60,
  CDT: -5 * 60,
  CST: -6 * 60,
  MDT: -6 * 60,
  MST: -7 * 60,
  PDT: -7 * 60,
  PST: -8 * 60
};
function nf(e) {
  var t, n, a = e._i, s = AS.exec(a) || DS.exec(a), r, l, i, o, u = fs.length, c = Nr.length;
  if (s) {
    for (fe(e).iso = !0, t = 0, n = u; t < n; t++)
      if (fs[t][1].exec(s[1])) {
        l = fs[t][0], r = fs[t][2] !== !1;
        break;
      }
    if (l == null) {
      e._isValid = !1;
      return;
    }
    if (s[3]) {
      for (t = 0, n = c; t < n; t++)
        if (Nr[t][1].exec(s[3])) {
          i = (s[2] || " ") + Nr[t][0];
          break;
        }
      if (i == null) {
        e._isValid = !1;
        return;
      }
    }
    if (!r && i != null) {
      e._isValid = !1;
      return;
    }
    if (s[4])
      if (MS.exec(s[4]))
        o = "Z";
      else {
        e._isValid = !1;
        return;
      }
    e._f = l + (i || "") + (o || ""), _i(e);
  } else
    e._isValid = !1;
}
function NS(e, t, n, a, s, r) {
  var l = [
    BS(e),
    Wd.indexOf(t),
    parseInt(n, 10),
    parseInt(a, 10),
    parseInt(s, 10)
  ];
  return r && l.push(parseInt(r, 10)), l;
}
function BS(e) {
  var t = parseInt(e, 10);
  return t <= 49 ? 2e3 + t : t <= 999 ? 1900 + t : t;
}
function $S(e) {
  return e.replace(/\([^()]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "");
}
function US(e, t, n) {
  if (e) {
    var a = Zd.indexOf(e), s = new Date(
      t[0],
      t[1],
      t[2]
    ).getDay();
    if (a !== s)
      return fe(n).weekdayMismatch = !0, n._isValid = !1, !1;
  }
  return !0;
}
function zS(e, t, n) {
  if (e)
    return LS[e];
  if (t)
    return 0;
  var a = parseInt(n, 10), s = a % 100, r = (a - s) / 100;
  return r * 60 + s;
}
function af(e) {
  var t = FS.exec($S(e._i)), n;
  if (t) {
    if (n = NS(
      t[4],
      t[3],
      t[2],
      t[5],
      t[6],
      t[7]
    ), !US(t[1], n, e))
      return;
    e._a = n, e._tzm = zS(t[8], t[9], t[10]), e._d = Fa.apply(null, e._a), e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), fe(e).rfc2822 = !0;
  } else
    e._isValid = !1;
}
function HS(e) {
  var t = RS.exec(e._i);
  if (t !== null) {
    e._d = /* @__PURE__ */ new Date(+t[1]);
    return;
  }
  if (nf(e), e._isValid === !1)
    delete e._isValid;
  else
    return;
  if (af(e), e._isValid === !1)
    delete e._isValid;
  else
    return;
  e._strict ? e._isValid = !1 : H.createFromInputFallback(e);
}
H.createFromInputFallback = Pt(
  "value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",
  function(e) {
    e._d = /* @__PURE__ */ new Date(e._i + (e._useUTC ? " UTC" : ""));
  }
);
function Wn(e, t, n) {
  return e ?? t ?? n;
}
function YS(e) {
  var t = new Date(H.now());
  return e._useUTC ? [
    t.getUTCFullYear(),
    t.getUTCMonth(),
    t.getUTCDate()
  ] : [t.getFullYear(), t.getMonth(), t.getDate()];
}
function wi(e) {
  var t, n, a = [], s, r, l;
  if (!e._d) {
    for (s = YS(e), e._w && e._a[Nt] == null && e._a[en] == null && jS(e), e._dayOfYear != null && (l = Wn(e._a[tt], s[tt]), (e._dayOfYear > Pa(l) || e._dayOfYear === 0) && (fe(e)._overflowDayOfYear = !0), n = Fa(l, 0, e._dayOfYear), e._a[en] = n.getUTCMonth(), e._a[Nt] = n.getUTCDate()), t = 0; t < 3 && e._a[t] == null; ++t)
      e._a[t] = a[t] = s[t];
    for (; t < 7; t++)
      e._a[t] = a[t] = e._a[t] == null ? t === 2 ? 1 : 0 : e._a[t];
    e._a[je] === 24 && e._a[It] === 0 && e._a[tn] === 0 && e._a[Vn] === 0 && (e._nextDay = !0, e._a[je] = 0), e._d = (e._useUTC ? Fa : Jp).apply(
      null,
      a
    ), r = e._useUTC ? e._d.getUTCDay() : e._d.getDay(), e._tzm != null && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), e._nextDay && (e._a[je] = 24), e._w && typeof e._w.d < "u" && e._w.d !== r && (fe(e).weekdayMismatch = !0);
  }
}
function jS(e) {
  var t, n, a, s, r, l, i, o, u;
  t = e._w, t.GG != null || t.W != null || t.E != null ? (r = 1, l = 4, n = Wn(
    t.GG,
    e._a[tt],
    La(Ae(), 1, 4).year
  ), a = Wn(t.W, 1), s = Wn(t.E, 1), (s < 1 || s > 7) && (o = !0)) : (r = e._locale._week.dow, l = e._locale._week.doy, u = La(Ae(), r, l), n = Wn(t.gg, e._a[tt], u.year), a = Wn(t.w, u.week), t.d != null ? (s = t.d, (s < 0 || s > 6) && (o = !0)) : t.e != null ? (s = t.e + r, (t.e < 0 || t.e > 6) && (o = !0)) : s = r), a < 1 || a > an(n, r, l) ? fe(e)._overflowWeeks = !0 : o != null ? fe(e)._overflowWeekday = !0 : (i = Jd(n, a, s, r, l), e._a[tt] = i.year, e._dayOfYear = i.dayOfYear);
}
H.ISO_8601 = function() {
};
H.RFC_2822 = function() {
};
function _i(e) {
  if (e._f === H.ISO_8601) {
    nf(e);
    return;
  }
  if (e._f === H.RFC_2822) {
    af(e);
    return;
  }
  e._a = [], fe(e).empty = !0;
  var t = "" + e._i, n, a, s, r, l, i = t.length, o = 0, u, c;
  for (s = Bd(e._f, e._locale).match(ci) || [], c = s.length, n = 0; n < c; n++)
    r = s[n], a = (t.match(Ap(r, e)) || [])[0], a && (l = t.substr(0, t.indexOf(a)), l.length > 0 && fe(e).unusedInput.push(l), t = t.slice(
      t.indexOf(a) + a.length
    ), o += a.length), qn[r] ? (a ? fe(e).empty = !1 : fe(e).unusedTokens.push(r), Mp(r, a, e)) : e._strict && !a && fe(e).unusedTokens.push(r);
  fe(e).charsLeftOver = i - o, t.length > 0 && fe(e).unusedInput.push(t), e._a[je] <= 12 && fe(e).bigHour === !0 && e._a[je] > 0 && (fe(e).bigHour = void 0), fe(e).parsedDateParts = e._a.slice(0), fe(e).meridiem = e._meridiem, e._a[je] = WS(
    e._locale,
    e._a[je],
    e._meridiem
  ), u = fe(e).era, u !== null && (e._a[tt] = e._locale.erasConvertYear(u, e._a[tt])), wi(e), Si(e);
}
function WS(e, t, n) {
  var a;
  return n == null ? t : e.meridiemHour != null ? e.meridiemHour(t, n) : (e.isPM != null && (a = e.isPM(n), a && t < 12 && (t += 12), !a && t === 12 && (t = 0)), t);
}
function GS(e) {
  var t, n, a, s, r, l, i = !1, o = e._f.length;
  if (o === 0) {
    fe(e).invalidFormat = !0, e._d = /* @__PURE__ */ new Date(NaN);
    return;
  }
  for (s = 0; s < o; s++)
    r = 0, l = !1, t = oi({}, e), e._useUTC != null && (t._useUTC = e._useUTC), t._f = e._f[s], _i(t), ii(t) && (l = !0), r += fe(t).charsLeftOver, r += fe(t).unusedTokens.length * 10, fe(t).score = r, i ? r < a && (a = r, n = t) : (a == null || r < a || l) && (a = r, n = t, l && (i = !0));
  bn(e, n || t);
}
function QS(e) {
  if (!e._d) {
    var t = di(e._i), n = t.day === void 0 ? t.date : t.day;
    e._a = Fd(
      [t.year, t.month, n, t.hour, t.minute, t.second, t.millisecond],
      function(a) {
        return a && parseInt(a, 10);
      }
    ), wi(e);
  }
}
function qS(e) {
  var t = new Xa(Si(sf(e)));
  return t._nextDay && (t.add(1, "d"), t._nextDay = void 0), t;
}
function sf(e) {
  var t = e._i, n = e._f;
  return e._locale = e._locale || mn(e._l), t === null || n === void 0 && t === "" ? rr({ nullInput: !0 }) : (typeof t == "string" && (e._i = t = e._locale.preparse(t)), Vt(t) ? new Xa(Si(t)) : (Za(t) ? e._d = t : Tt(n) ? GS(e) : n ? _i(e) : KS(e), ii(e) || (e._d = null), e));
}
function KS(e) {
  var t = e._i;
  ut(t) ? e._d = new Date(H.now()) : Za(t) ? e._d = new Date(t.valueOf()) : typeof t == "string" ? HS(e) : Tt(t) ? (e._a = Fd(t.slice(0), function(n) {
    return parseInt(n, 10);
  }), wi(e)) : Dn(t) ? QS(e) : ln(t) ? e._d = new Date(t) : H.createFromInputFallback(e);
}
function rf(e, t, n, a, s) {
  var r = {};
  return (t === !0 || t === !1) && (a = t, t = void 0), (n === !0 || n === !1) && (a = n, n = void 0), (Dn(e) && li(e) || Tt(e) && e.length === 0) && (e = void 0), r._isAMomentObject = !0, r._useUTC = r._isUTC = s, r._l = n, r._i = e, r._f = t, r._strict = a, qS(r);
}
function Ae(e, t, n, a) {
  return rf(e, t, n, a, !1);
}
var JS = Pt(
  "moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",
  function() {
    var e = Ae.apply(null, arguments);
    return this.isValid() && e.isValid() ? e < this ? this : e : rr();
  }
), ZS = Pt(
  "moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",
  function() {
    var e = Ae.apply(null, arguments);
    return this.isValid() && e.isValid() ? e > this ? this : e : rr();
  }
);
function lf(e, t) {
  var n, a;
  if (t.length === 1 && Tt(t[0]) && (t = t[0]), !t.length)
    return Ae();
  for (n = t[0], a = 1; a < t.length; ++a)
    (!t[a].isValid() || t[a][e](n)) && (n = t[a]);
  return n;
}
function XS() {
  var e = [].slice.call(arguments, 0);
  return lf("isBefore", e);
}
function ew() {
  var e = [].slice.call(arguments, 0);
  return lf("isAfter", e);
}
var tw = function() {
  return Date.now ? Date.now() : +/* @__PURE__ */ new Date();
}, Sa = [
  "year",
  "quarter",
  "month",
  "week",
  "day",
  "hour",
  "minute",
  "second",
  "millisecond"
];
function nw(e) {
  var t, n = !1, a, s = Sa.length;
  for (t in e)
    if (Ce(e, t) && !($e.call(Sa, t) !== -1 && (e[t] == null || !isNaN(e[t]))))
      return !1;
  for (a = 0; a < s; ++a)
    if (e[Sa[a]]) {
      if (n)
        return !1;
      parseFloat(e[Sa[a]]) !== ge(e[Sa[a]]) && (n = !0);
    }
  return !0;
}
function aw() {
  return this._isValid;
}
function sw() {
  return Rt(NaN);
}
function hr(e) {
  var t = di(e), n = t.year || 0, a = t.quarter || 0, s = t.month || 0, r = t.week || t.isoWeek || 0, l = t.day || 0, i = t.hour || 0, o = t.minute || 0, u = t.second || 0, c = t.millisecond || 0;
  this._isValid = nw(t), this._milliseconds = +c + u * 1e3 + // 1000
  o * 6e4 + // 1000 * 60
  i * 1e3 * 60 * 60, this._days = +l + r * 7, this._months = +s + a * 3 + n * 12, this._data = {}, this._locale = mn(), this._bubble();
}
function ps(e) {
  return e instanceof hr;
}
function gl(e) {
  return e < 0 ? Math.round(-1 * e) * -1 : Math.round(e);
}
function rw(e, t, n) {
  var a = Math.min(e.length, t.length), s = Math.abs(e.length - t.length), r = 0, l;
  for (l = 0; l < a; l++)
    ge(e[l]) !== ge(t[l]) && r++;
  return r + s;
}
function of(e, t) {
  X(e, 0, 0, function() {
    var n = this.utcOffset(), a = "+";
    return n < 0 && (n = -n, a = "-"), a + Yt(~~(n / 60), 2) + t + Yt(~~n % 60, 2);
  });
}
of("Z", ":");
of("ZZ", "");
W("Z", cr);
W("ZZ", cr);
Oe(["Z", "ZZ"], function(e, t, n) {
  n._useUTC = !0, n._tzm = ki(cr, e);
});
var lw = /([\+\-]|\d\d)/gi;
function ki(e, t) {
  var n = (t || "").match(e), a, s, r;
  return n === null ? null : (a = n[n.length - 1] || [], s = (a + "").match(lw) || ["-", 0, 0], r = +(s[1] * 60) + ge(s[2]), r === 0 ? 0 : s[0] === "+" ? r : -r);
}
function Ci(e, t) {
  var n, a;
  return t._isUTC ? (n = t.clone(), a = (Vt(e) || Za(e) ? e.valueOf() : Ae(e).valueOf()) - n.valueOf(), n._d.setTime(n._d.valueOf() + a), H.updateOffset(n, !1), n) : Ae(e).local();
}
function bl(e) {
  return -Math.round(e._d.getTimezoneOffset());
}
H.updateOffset = function() {
};
function iw(e, t, n) {
  var a = this._offset || 0, s;
  if (!this.isValid())
    return e != null ? this : NaN;
  if (e != null) {
    if (typeof e == "string") {
      if (e = ki(cr, e), e === null)
        return this;
    } else Math.abs(e) < 16 && !n && (e = e * 60);
    return !this._isUTC && t && (s = bl(this)), this._offset = e, this._isUTC = !0, s != null && this.add(s, "m"), a !== e && (!t || this._changeInProgress ? df(
      this,
      Rt(e - a, "m"),
      1,
      !1
    ) : this._changeInProgress || (this._changeInProgress = !0, H.updateOffset(this, !0), this._changeInProgress = null)), this;
  } else
    return this._isUTC ? a : bl(this);
}
function ow(e, t) {
  return e != null ? (typeof e != "string" && (e = -e), this.utcOffset(e, t), this) : -this.utcOffset();
}
function uw(e) {
  return this.utcOffset(0, e);
}
function cw(e) {
  return this._isUTC && (this.utcOffset(0, e), this._isUTC = !1, e && this.subtract(bl(this), "m")), this;
}
function dw() {
  if (this._tzm != null)
    this.utcOffset(this._tzm, !1, !0);
  else if (typeof this._i == "string") {
    var e = ki(Vp, this._i);
    e != null ? this.utcOffset(e) : this.utcOffset(0, !0);
  }
  return this;
}
function fw(e) {
  return this.isValid() ? (e = e ? Ae(e).utcOffset() : 0, (this.utcOffset() - e) % 60 === 0) : !1;
}
function hw() {
  return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();
}
function mw() {
  if (!ut(this._isDSTShifted))
    return this._isDSTShifted;
  var e = {}, t;
  return oi(e, this), e = sf(e), e._a ? (t = e._isUTC ? Gt(e._a) : Ae(e._a), this._isDSTShifted = this.isValid() && rw(e._a, t.toArray()) > 0) : this._isDSTShifted = !1, this._isDSTShifted;
}
function vw() {
  return this.isValid() ? !this._isUTC : !1;
}
function yw() {
  return this.isValid() ? this._isUTC : !1;
}
function uf() {
  return this.isValid() ? this._isUTC && this._offset === 0 : !1;
}
var gw = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, bw = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
function Rt(e, t) {
  var n = e, a = null, s, r, l;
  return ps(e) ? n = {
    ms: e._milliseconds,
    d: e._days,
    M: e._months
  } : ln(e) || !isNaN(+e) ? (n = {}, t ? n[t] = +e : n.milliseconds = +e) : (a = gw.exec(e)) ? (s = a[1] === "-" ? -1 : 1, n = {
    y: 0,
    d: ge(a[Nt]) * s,
    h: ge(a[je]) * s,
    m: ge(a[It]) * s,
    s: ge(a[tn]) * s,
    ms: ge(gl(a[Vn] * 1e3)) * s
    // the millisecond decimal point is included in the match
  }) : (a = bw.exec(e)) ? (s = a[1] === "-" ? -1 : 1, n = {
    y: In(a[2], s),
    M: In(a[3], s),
    w: In(a[4], s),
    d: In(a[5], s),
    h: In(a[6], s),
    m: In(a[7], s),
    s: In(a[8], s)
  }) : n == null ? n = {} : typeof n == "object" && ("from" in n || "to" in n) && (l = pw(
    Ae(n.from),
    Ae(n.to)
  ), n = {}, n.ms = l.milliseconds, n.M = l.months), r = new hr(n), ps(e) && Ce(e, "_locale") && (r._locale = e._locale), ps(e) && Ce(e, "_isValid") && (r._isValid = e._isValid), r;
}
Rt.fn = hr.prototype;
Rt.invalid = sw;
function In(e, t) {
  var n = e && parseFloat(e.replace(",", "."));
  return (isNaN(n) ? 0 : n) * t;
}
function Ko(e, t) {
  var n = {};
  return n.months = t.month() - e.month() + (t.year() - e.year()) * 12, e.clone().add(n.months, "M").isAfter(t) && --n.months, n.milliseconds = +t - +e.clone().add(n.months, "M"), n;
}
function pw(e, t) {
  var n;
  return e.isValid() && t.isValid() ? (t = Ci(t, e), e.isBefore(t) ? n = Ko(e, t) : (n = Ko(t, e), n.milliseconds = -n.milliseconds, n.months = -n.months), n) : { milliseconds: 0, months: 0 };
}
function cf(e, t) {
  return function(n, a) {
    var s, r;
    return a !== null && !isNaN(+a) && (Nd(
      t,
      "moment()." + t + "(period, number) is deprecated. Please use moment()." + t + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."
    ), r = n, n = a, a = r), s = Rt(n, a), df(this, s, e), this;
  };
}
function df(e, t, n, a) {
  var s = t._milliseconds, r = gl(t._days), l = gl(t._months);
  e.isValid() && (a = a ?? !0, l && Qd(e, Ra(e, "Month") + l * n), r && jd(e, "Date", Ra(e, "Date") + r * n), s && e._d.setTime(e._d.valueOf() + s * n), a && H.updateOffset(e, r || l));
}
var Sw = cf(1, "add"), ww = cf(-1, "subtract");
function ff(e) {
  return typeof e == "string" || e instanceof String;
}
function _w(e) {
  return Vt(e) || Za(e) || ff(e) || ln(e) || Cw(e) || kw(e) || e === null || e === void 0;
}
function kw(e) {
  var t = Dn(e) && !li(e), n = !1, a = [
    "years",
    "year",
    "y",
    "months",
    "month",
    "M",
    "days",
    "day",
    "d",
    "dates",
    "date",
    "D",
    "hours",
    "hour",
    "h",
    "minutes",
    "minute",
    "m",
    "seconds",
    "second",
    "s",
    "milliseconds",
    "millisecond",
    "ms"
  ], s, r, l = a.length;
  for (s = 0; s < l; s += 1)
    r = a[s], n = n || Ce(e, r);
  return t && n;
}
function Cw(e) {
  var t = Tt(e), n = !1;
  return t && (n = e.filter(function(a) {
    return !ln(a) && ff(e);
  }).length === 0), t && n;
}
function Pw(e) {
  var t = Dn(e) && !li(e), n = !1, a = [
    "sameDay",
    "nextDay",
    "lastDay",
    "nextWeek",
    "lastWeek",
    "sameElse"
  ], s, r;
  for (s = 0; s < a.length; s += 1)
    r = a[s], n = n || Ce(e, r);
  return t && n;
}
function xw(e, t) {
  var n = e.diff(t, "days", !0);
  return n < -6 ? "sameElse" : n < -1 ? "lastWeek" : n < 0 ? "lastDay" : n < 1 ? "sameDay" : n < 2 ? "nextDay" : n < 7 ? "nextWeek" : "sameElse";
}
function Iw(e, t) {
  arguments.length === 1 && (arguments[0] ? _w(arguments[0]) ? (e = arguments[0], t = void 0) : Pw(arguments[0]) && (t = arguments[0], e = void 0) : (e = void 0, t = void 0));
  var n = e || Ae(), a = Ci(n, this).startOf("day"), s = H.calendarFormat(this, a) || "sameElse", r = t && (Qt(t[s]) ? t[s].call(this, n) : t[s]);
  return this.format(
    r || this.localeData().calendar(s, this, Ae(n))
  );
}
function Ow() {
  return new Xa(this);
}
function Tw(e, t) {
  var n = Vt(e) ? e : Ae(e);
  return this.isValid() && n.isValid() ? (t = xt(t) || "millisecond", t === "millisecond" ? this.valueOf() > n.valueOf() : n.valueOf() < this.clone().startOf(t).valueOf()) : !1;
}
function Vw(e, t) {
  var n = Vt(e) ? e : Ae(e);
  return this.isValid() && n.isValid() ? (t = xt(t) || "millisecond", t === "millisecond" ? this.valueOf() < n.valueOf() : this.clone().endOf(t).valueOf() < n.valueOf()) : !1;
}
function Ew(e, t, n, a) {
  var s = Vt(e) ? e : Ae(e), r = Vt(t) ? t : Ae(t);
  return this.isValid() && s.isValid() && r.isValid() ? (a = a || "()", (a[0] === "(" ? this.isAfter(s, n) : !this.isBefore(s, n)) && (a[1] === ")" ? this.isBefore(r, n) : !this.isAfter(r, n))) : !1;
}
function Aw(e, t) {
  var n = Vt(e) ? e : Ae(e), a;
  return this.isValid() && n.isValid() ? (t = xt(t) || "millisecond", t === "millisecond" ? this.valueOf() === n.valueOf() : (a = n.valueOf(), this.clone().startOf(t).valueOf() <= a && a <= this.clone().endOf(t).valueOf())) : !1;
}
function Dw(e, t) {
  return this.isSame(e, t) || this.isAfter(e, t);
}
function Mw(e, t) {
  return this.isSame(e, t) || this.isBefore(e, t);
}
function Rw(e, t, n) {
  var a, s, r;
  if (!this.isValid())
    return NaN;
  if (a = Ci(e, this), !a.isValid())
    return NaN;
  switch (s = (a.utcOffset() - this.utcOffset()) * 6e4, t = xt(t), t) {
    case "year":
      r = Ss(this, a) / 12;
      break;
    case "month":
      r = Ss(this, a);
      break;
    case "quarter":
      r = Ss(this, a) / 3;
      break;
    case "second":
      r = (this - a) / 1e3;
      break;
    // 1000
    case "minute":
      r = (this - a) / 6e4;
      break;
    // 1000 * 60
    case "hour":
      r = (this - a) / 36e5;
      break;
    // 1000 * 60 * 60
    case "day":
      r = (this - a - s) / 864e5;
      break;
    // 1000 * 60 * 60 * 24, negate dst
    case "week":
      r = (this - a - s) / 6048e5;
      break;
    // 1000 * 60 * 60 * 24 * 7, negate dst
    default:
      r = this - a;
  }
  return n ? r : wt(r);
}
function Ss(e, t) {
  if (e.date() < t.date())
    return -Ss(t, e);
  var n = (t.year() - e.year()) * 12 + (t.month() - e.month()), a = e.clone().add(n, "months"), s, r;
  return t - a < 0 ? (s = e.clone().add(n - 1, "months"), r = (t - a) / (a - s)) : (s = e.clone().add(n + 1, "months"), r = (t - a) / (s - a)), -(n + r) || 0;
}
H.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ";
H.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]";
function Fw() {
  return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
}
function Lw(e) {
  if (!this.isValid())
    return null;
  var t = e !== !0, n = t ? this.clone().utc() : this;
  return n.year() < 0 || n.year() > 9999 ? bs(
    n,
    t ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"
  ) : Qt(Date.prototype.toISOString) ? t ? this.toDate().toISOString() : new Date(this.valueOf() + this.utcOffset() * 60 * 1e3).toISOString().replace("Z", bs(n, "Z")) : bs(
    n,
    t ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ"
  );
}
function Nw() {
  if (!this.isValid())
    return "moment.invalid(/* " + this._i + " */)";
  var e = "moment", t = "", n, a, s, r;
  return this.isLocal() || (e = this.utcOffset() === 0 ? "moment.utc" : "moment.parseZone", t = "Z"), n = "[" + e + '("]', a = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY", s = "-MM-DD[T]HH:mm:ss.SSS", r = t + '[")]', this.format(n + a + s + r);
}
function Bw(e) {
  e || (e = this.isUtc() ? H.defaultFormatUtc : H.defaultFormat);
  var t = bs(this, e);
  return this.localeData().postformat(t);
}
function $w(e, t) {
  return this.isValid() && (Vt(e) && e.isValid() || Ae(e).isValid()) ? Rt({ to: this, from: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate();
}
function Uw(e) {
  return this.from(Ae(), e);
}
function zw(e, t) {
  return this.isValid() && (Vt(e) && e.isValid() || Ae(e).isValid()) ? Rt({ from: this, to: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate();
}
function Hw(e) {
  return this.to(Ae(), e);
}
function hf(e) {
  var t;
  return e === void 0 ? this._locale._abbr : (t = mn(e), t != null && (this._locale = t), this);
}
var mf = Pt(
  "moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",
  function(e) {
    return e === void 0 ? this.localeData() : this.locale(e);
  }
);
function vf() {
  return this._locale;
}
var Ms = 1e3, Kn = 60 * Ms, Rs = 60 * Kn, yf = (365 * 400 + 97) * 24 * Rs;
function Jn(e, t) {
  return (e % t + t) % t;
}
function gf(e, t, n) {
  return e < 100 && e >= 0 ? new Date(e + 400, t, n) - yf : new Date(e, t, n).valueOf();
}
function bf(e, t, n) {
  return e < 100 && e >= 0 ? Date.UTC(e + 400, t, n) - yf : Date.UTC(e, t, n);
}
function Yw(e) {
  var t, n;
  if (e = xt(e), e === void 0 || e === "millisecond" || !this.isValid())
    return this;
  switch (n = this._isUTC ? bf : gf, e) {
    case "year":
      t = n(this.year(), 0, 1);
      break;
    case "quarter":
      t = n(
        this.year(),
        this.month() - this.month() % 3,
        1
      );
      break;
    case "month":
      t = n(this.year(), this.month(), 1);
      break;
    case "week":
      t = n(
        this.year(),
        this.month(),
        this.date() - this.weekday()
      );
      break;
    case "isoWeek":
      t = n(
        this.year(),
        this.month(),
        this.date() - (this.isoWeekday() - 1)
      );
      break;
    case "day":
    case "date":
      t = n(this.year(), this.month(), this.date());
      break;
    case "hour":
      t = this._d.valueOf(), t -= Jn(
        t + (this._isUTC ? 0 : this.utcOffset() * Kn),
        Rs
      );
      break;
    case "minute":
      t = this._d.valueOf(), t -= Jn(t, Kn);
      break;
    case "second":
      t = this._d.valueOf(), t -= Jn(t, Ms);
      break;
  }
  return this._d.setTime(t), H.updateOffset(this, !0), this;
}
function jw(e) {
  var t, n;
  if (e = xt(e), e === void 0 || e === "millisecond" || !this.isValid())
    return this;
  switch (n = this._isUTC ? bf : gf, e) {
    case "year":
      t = n(this.year() + 1, 0, 1) - 1;
      break;
    case "quarter":
      t = n(
        this.year(),
        this.month() - this.month() % 3 + 3,
        1
      ) - 1;
      break;
    case "month":
      t = n(this.year(), this.month() + 1, 1) - 1;
      break;
    case "week":
      t = n(
        this.year(),
        this.month(),
        this.date() - this.weekday() + 7
      ) - 1;
      break;
    case "isoWeek":
      t = n(
        this.year(),
        this.month(),
        this.date() - (this.isoWeekday() - 1) + 7
      ) - 1;
      break;
    case "day":
    case "date":
      t = n(this.year(), this.month(), this.date() + 1) - 1;
      break;
    case "hour":
      t = this._d.valueOf(), t += Rs - Jn(
        t + (this._isUTC ? 0 : this.utcOffset() * Kn),
        Rs
      ) - 1;
      break;
    case "minute":
      t = this._d.valueOf(), t += Kn - Jn(t, Kn) - 1;
      break;
    case "second":
      t = this._d.valueOf(), t += Ms - Jn(t, Ms) - 1;
      break;
  }
  return this._d.setTime(t), H.updateOffset(this, !0), this;
}
function Ww() {
  return this._d.valueOf() - (this._offset || 0) * 6e4;
}
function Gw() {
  return Math.floor(this.valueOf() / 1e3);
}
function Qw() {
  return new Date(this.valueOf());
}
function qw() {
  var e = this;
  return [
    e.year(),
    e.month(),
    e.date(),
    e.hour(),
    e.minute(),
    e.second(),
    e.millisecond()
  ];
}
function Kw() {
  var e = this;
  return {
    years: e.year(),
    months: e.month(),
    date: e.date(),
    hours: e.hours(),
    minutes: e.minutes(),
    seconds: e.seconds(),
    milliseconds: e.milliseconds()
  };
}
function Jw() {
  return this.isValid() ? this.toISOString() : null;
}
function Zw() {
  return ii(this);
}
function Xw() {
  return bn({}, fe(this));
}
function e_() {
  return fe(this).overflow;
}
function t_() {
  return {
    input: this._i,
    format: this._f,
    locale: this._locale,
    isUTC: this._isUTC,
    strict: this._strict
  };
}
X("N", 0, 0, "eraAbbr");
X("NN", 0, 0, "eraAbbr");
X("NNN", 0, 0, "eraAbbr");
X("NNNN", 0, 0, "eraName");
X("NNNNN", 0, 0, "eraNarrow");
X("y", ["y", 1], "yo", "eraYear");
X("y", ["yy", 2], 0, "eraYear");
X("y", ["yyy", 3], 0, "eraYear");
X("y", ["yyyy", 4], 0, "eraYear");
W("N", Pi);
W("NN", Pi);
W("NNN", Pi);
W("NNNN", f_);
W("NNNNN", h_);
Oe(
  ["N", "NN", "NNN", "NNNN", "NNNNN"],
  function(e, t, n, a) {
    var s = n._locale.erasParse(e, a, n._strict);
    s ? fe(n).era = s : fe(n).invalidEra = e;
  }
);
W("y", ca);
W("yy", ca);
W("yyy", ca);
W("yyyy", ca);
W("yo", m_);
Oe(["y", "yy", "yyy", "yyyy"], tt);
Oe(["yo"], function(e, t, n, a) {
  var s;
  n._locale._eraYearOrdinalRegex && (s = e.match(n._locale._eraYearOrdinalRegex)), n._locale.eraYearOrdinalParse ? t[tt] = n._locale.eraYearOrdinalParse(e, s) : t[tt] = parseInt(e, 10);
});
function n_(e, t) {
  var n, a, s, r = this._eras || mn("en")._eras;
  for (n = 0, a = r.length; n < a; ++n) {
    switch (typeof r[n].since) {
      case "string":
        s = H(r[n].since).startOf("day"), r[n].since = s.valueOf();
        break;
    }
    switch (typeof r[n].until) {
      case "undefined":
        r[n].until = 1 / 0;
        break;
      case "string":
        s = H(r[n].until).startOf("day").valueOf(), r[n].until = s.valueOf();
        break;
    }
  }
  return r;
}
function a_(e, t, n) {
  var a, s, r = this.eras(), l, i, o;
  for (e = e.toUpperCase(), a = 0, s = r.length; a < s; ++a)
    if (l = r[a].name.toUpperCase(), i = r[a].abbr.toUpperCase(), o = r[a].narrow.toUpperCase(), n)
      switch (t) {
        case "N":
        case "NN":
        case "NNN":
          if (i === e)
            return r[a];
          break;
        case "NNNN":
          if (l === e)
            return r[a];
          break;
        case "NNNNN":
          if (o === e)
            return r[a];
          break;
      }
    else if ([l, i, o].indexOf(e) >= 0)
      return r[a];
}
function s_(e, t) {
  var n = e.since <= e.until ? 1 : -1;
  return t === void 0 ? H(e.since).year() : H(e.since).year() + (t - e.offset) * n;
}
function r_() {
  var e, t, n, a = this.localeData().eras();
  for (e = 0, t = a.length; e < t; ++e)
    if (n = this.clone().startOf("day").valueOf(), a[e].since <= n && n <= a[e].until || a[e].until <= n && n <= a[e].since)
      return a[e].name;
  return "";
}
function l_() {
  var e, t, n, a = this.localeData().eras();
  for (e = 0, t = a.length; e < t; ++e)
    if (n = this.clone().startOf("day").valueOf(), a[e].since <= n && n <= a[e].until || a[e].until <= n && n <= a[e].since)
      return a[e].narrow;
  return "";
}
function i_() {
  var e, t, n, a = this.localeData().eras();
  for (e = 0, t = a.length; e < t; ++e)
    if (n = this.clone().startOf("day").valueOf(), a[e].since <= n && n <= a[e].until || a[e].until <= n && n <= a[e].since)
      return a[e].abbr;
  return "";
}
function o_() {
  var e, t, n, a, s = this.localeData().eras();
  for (e = 0, t = s.length; e < t; ++e)
    if (n = s[e].since <= s[e].until ? 1 : -1, a = this.clone().startOf("day").valueOf(), s[e].since <= a && a <= s[e].until || s[e].until <= a && a <= s[e].since)
      return (this.year() - H(s[e].since).year()) * n + s[e].offset;
  return this.year();
}
function u_(e) {
  return Ce(this, "_erasNameRegex") || xi.call(this), e ? this._erasNameRegex : this._erasRegex;
}
function c_(e) {
  return Ce(this, "_erasAbbrRegex") || xi.call(this), e ? this._erasAbbrRegex : this._erasRegex;
}
function d_(e) {
  return Ce(this, "_erasNarrowRegex") || xi.call(this), e ? this._erasNarrowRegex : this._erasRegex;
}
function Pi(e, t) {
  return t.erasAbbrRegex(e);
}
function f_(e, t) {
  return t.erasNameRegex(e);
}
function h_(e, t) {
  return t.erasNarrowRegex(e);
}
function m_(e, t) {
  return t._eraYearOrdinalRegex || ca;
}
function xi() {
  var e = [], t = [], n = [], a = [], s, r, l, i, o, u = this.eras();
  for (s = 0, r = u.length; s < r; ++s)
    l = nn(u[s].name), i = nn(u[s].abbr), o = nn(u[s].narrow), t.push(l), e.push(i), n.push(o), a.push(l), a.push(i), a.push(o);
  this._erasRegex = new RegExp("^(" + a.join("|") + ")", "i"), this._erasNameRegex = new RegExp("^(" + t.join("|") + ")", "i"), this._erasAbbrRegex = new RegExp("^(" + e.join("|") + ")", "i"), this._erasNarrowRegex = new RegExp(
    "^(" + n.join("|") + ")",
    "i"
  );
}
X(0, ["gg", 2], 0, function() {
  return this.weekYear() % 100;
});
X(0, ["GG", 2], 0, function() {
  return this.isoWeekYear() % 100;
});
function mr(e, t) {
  X(0, [e, e.length], 0, t);
}
mr("gggg", "weekYear");
mr("ggggg", "weekYear");
mr("GGGG", "isoWeekYear");
mr("GGGGG", "isoWeekYear");
W("G", ur);
W("g", ur);
W("GG", Me, St);
W("gg", Me, St);
W("GGGG", hi, fi);
W("gggg", hi, fi);
W("GGGGG", or, lr);
W("ggggg", or, lr);
ts(
  ["gggg", "ggggg", "GGGG", "GGGGG"],
  function(e, t, n, a) {
    t[a.substr(0, 2)] = ge(e);
  }
);
ts(["gg", "GG"], function(e, t, n, a) {
  t[a] = H.parseTwoDigitYear(e);
});
function v_(e) {
  return pf.call(
    this,
    e,
    this.week(),
    this.weekday() + this.localeData()._week.dow,
    this.localeData()._week.dow,
    this.localeData()._week.doy
  );
}
function y_(e) {
  return pf.call(
    this,
    e,
    this.isoWeek(),
    this.isoWeekday(),
    1,
    4
  );
}
function g_() {
  return an(this.year(), 1, 4);
}
function b_() {
  return an(this.isoWeekYear(), 1, 4);
}
function p_() {
  var e = this.localeData()._week;
  return an(this.year(), e.dow, e.doy);
}
function S_() {
  var e = this.localeData()._week;
  return an(this.weekYear(), e.dow, e.doy);
}
function pf(e, t, n, a, s) {
  var r;
  return e == null ? La(this, a, s).year : (r = an(e, a, s), t > r && (t = r), w_.call(this, e, t, n, a, s));
}
function w_(e, t, n, a, s) {
  var r = Jd(e, t, n, a, s), l = Fa(r.year, 0, r.dayOfYear);
  return this.year(l.getUTCFullYear()), this.month(l.getUTCMonth()), this.date(l.getUTCDate()), this;
}
X("Q", 0, "Qo", "quarter");
W("Q", $d);
Oe("Q", function(e, t) {
  t[en] = (ge(e) - 1) * 3;
});
function __(e) {
  return e == null ? Math.ceil((this.month() + 1) / 3) : this.month((e - 1) * 3 + this.month() % 3);
}
X("D", ["DD", 2], "Do", "date");
W("D", Me, da);
W("DD", Me, St);
W("Do", function(e, t) {
  return e ? t._dayOfMonthOrdinalParse || t._ordinalParse : t._dayOfMonthOrdinalParseLenient;
});
Oe(["D", "DD"], Nt);
Oe("Do", function(e, t) {
  t[Nt] = ge(e.match(Me)[0]);
});
var Sf = fa("Date", !0);
X("DDD", ["DDDD", 3], "DDDo", "dayOfYear");
W("DDD", ir);
W("DDDD", Ud);
Oe(["DDD", "DDDD"], function(e, t, n) {
  n._dayOfYear = ge(e);
});
function k_(e) {
  var t = Math.round(
    (this.clone().startOf("day") - this.clone().startOf("year")) / 864e5
  ) + 1;
  return e == null ? t : this.add(e - t, "d");
}
X("m", ["mm", 2], 0, "minute");
W("m", Me, mi);
W("mm", Me, St);
Oe(["m", "mm"], It);
var C_ = fa("Minutes", !1);
X("s", ["ss", 2], 0, "second");
W("s", Me, mi);
W("ss", Me, St);
Oe(["s", "ss"], tn);
var P_ = fa("Seconds", !1);
X("S", 0, 0, function() {
  return ~~(this.millisecond() / 100);
});
X(0, ["SS", 2], 0, function() {
  return ~~(this.millisecond() / 10);
});
X(0, ["SSS", 3], 0, "millisecond");
X(0, ["SSSS", 4], 0, function() {
  return this.millisecond() * 10;
});
X(0, ["SSSSS", 5], 0, function() {
  return this.millisecond() * 100;
});
X(0, ["SSSSSS", 6], 0, function() {
  return this.millisecond() * 1e3;
});
X(0, ["SSSSSSS", 7], 0, function() {
  return this.millisecond() * 1e4;
});
X(0, ["SSSSSSSS", 8], 0, function() {
  return this.millisecond() * 1e5;
});
X(0, ["SSSSSSSSS", 9], 0, function() {
  return this.millisecond() * 1e6;
});
W("S", ir, $d);
W("SS", ir, St);
W("SSS", ir, Ud);
var pn, wf;
for (pn = "SSSS"; pn.length <= 9; pn += "S")
  W(pn, ca);
function x_(e, t) {
  t[Vn] = ge(("0." + e) * 1e3);
}
for (pn = "S"; pn.length <= 9; pn += "S")
  Oe(pn, x_);
wf = fa("Milliseconds", !1);
X("z", 0, 0, "zoneAbbr");
X("zz", 0, 0, "zoneName");
function I_() {
  return this._isUTC ? "UTC" : "";
}
function O_() {
  return this._isUTC ? "Coordinated Universal Time" : "";
}
var L = Xa.prototype;
L.add = Sw;
L.calendar = Iw;
L.clone = Ow;
L.diff = Rw;
L.endOf = jw;
L.format = Bw;
L.from = $w;
L.fromNow = Uw;
L.to = zw;
L.toNow = Hw;
L.get = Np;
L.invalidAt = e_;
L.isAfter = Tw;
L.isBefore = Vw;
L.isBetween = Ew;
L.isSame = Aw;
L.isSameOrAfter = Dw;
L.isSameOrBefore = Mw;
L.isValid = Zw;
L.lang = mf;
L.locale = hf;
L.localeData = vf;
L.max = ZS;
L.min = JS;
L.parsingFlags = Xw;
L.set = Bp;
L.startOf = Yw;
L.subtract = ww;
L.toArray = qw;
L.toObject = Kw;
L.toDate = Qw;
L.toISOString = Lw;
L.inspect = Nw;
typeof Symbol < "u" && Symbol.for != null && (L[Symbol.for("nodejs.util.inspect.custom")] = function() {
  return "Moment<" + this.format() + ">";
});
L.toJSON = Jw;
L.toString = Fw;
L.unix = Gw;
L.valueOf = Ww;
L.creationData = t_;
L.eraName = r_;
L.eraNarrow = l_;
L.eraAbbr = i_;
L.eraYear = o_;
L.year = Yd;
L.isLeapYear = Lp;
L.weekYear = v_;
L.isoWeekYear = y_;
L.quarter = L.quarters = __;
L.month = qd;
L.daysInMonth = Qp;
L.week = L.weeks = nS;
L.isoWeek = L.isoWeeks = aS;
L.weeksInYear = p_;
L.weeksInWeekYear = S_;
L.isoWeeksInYear = g_;
L.isoWeeksInISOWeekYear = b_;
L.date = Sf;
L.day = L.days = yS;
L.weekday = gS;
L.isoWeekday = bS;
L.dayOfYear = k_;
L.hour = L.hours = PS;
L.minute = L.minutes = C_;
L.second = L.seconds = P_;
L.millisecond = L.milliseconds = wf;
L.utcOffset = iw;
L.utc = uw;
L.local = cw;
L.parseZone = dw;
L.hasAlignedHourOffset = fw;
L.isDST = hw;
L.isLocal = vw;
L.isUtcOffset = yw;
L.isUtc = uf;
L.isUTC = uf;
L.zoneAbbr = I_;
L.zoneName = O_;
L.dates = Pt(
  "dates accessor is deprecated. Use date instead.",
  Sf
);
L.months = Pt(
  "months accessor is deprecated. Use month instead",
  qd
);
L.years = Pt(
  "years accessor is deprecated. Use year instead",
  Yd
);
L.zone = Pt(
  "moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",
  ow
);
L.isDSTShifted = Pt(
  "isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",
  mw
);
function T_(e) {
  return Ae(e * 1e3);
}
function V_() {
  return Ae.apply(null, arguments).parseZone();
}
function _f(e) {
  return e;
}
var Pe = ui.prototype;
Pe.calendar = vp;
Pe.longDateFormat = pp;
Pe.invalidDate = wp;
Pe.ordinal = Cp;
Pe.preparse = _f;
Pe.postformat = _f;
Pe.relativeTime = xp;
Pe.pastFuture = Ip;
Pe.set = hp;
Pe.eras = n_;
Pe.erasParse = a_;
Pe.erasConvertYear = s_;
Pe.erasAbbrRegex = c_;
Pe.erasNameRegex = u_;
Pe.erasNarrowRegex = d_;
Pe.months = Yp;
Pe.monthsShort = jp;
Pe.monthsParse = Gp;
Pe.monthsRegex = Kp;
Pe.monthsShortRegex = qp;
Pe.week = Zp;
Pe.firstDayOfYear = tS;
Pe.firstDayOfWeek = eS;
Pe.weekdays = dS;
Pe.weekdaysMin = hS;
Pe.weekdaysShort = fS;
Pe.weekdaysParse = vS;
Pe.weekdaysRegex = pS;
Pe.weekdaysShortRegex = SS;
Pe.weekdaysMinRegex = wS;
Pe.isPM = kS;
Pe.meridiem = xS;
function Fs(e, t, n, a) {
  var s = mn(), r = Gt().set(a, t);
  return s[n](r, e);
}
function kf(e, t, n) {
  if (ln(e) && (t = e, e = void 0), e = e || "", t != null)
    return Fs(e, t, n, "month");
  var a, s = [];
  for (a = 0; a < 12; a++)
    s[a] = Fs(e, a, n, "month");
  return s;
}
function Ii(e, t, n, a) {
  typeof e == "boolean" ? (ln(t) && (n = t, t = void 0), t = t || "") : (t = e, n = t, e = !1, ln(t) && (n = t, t = void 0), t = t || "");
  var s = mn(), r = e ? s._week.dow : 0, l, i = [];
  if (n != null)
    return Fs(t, (n + r) % 7, a, "day");
  for (l = 0; l < 7; l++)
    i[l] = Fs(t, (l + r) % 7, a, "day");
  return i;
}
function E_(e, t) {
  return kf(e, t, "months");
}
function A_(e, t) {
  return kf(e, t, "monthsShort");
}
function D_(e, t, n) {
  return Ii(e, t, n, "weekdays");
}
function M_(e, t, n) {
  return Ii(e, t, n, "weekdaysShort");
}
function R_(e, t, n) {
  return Ii(e, t, n, "weekdaysMin");
}
wn("en", {
  eras: [
    {
      since: "0001-01-01",
      until: 1 / 0,
      offset: 1,
      name: "Anno Domini",
      narrow: "AD",
      abbr: "AD"
    },
    {
      since: "0000-12-31",
      until: -1 / 0,
      offset: 1,
      name: "Before Christ",
      narrow: "BC",
      abbr: "BC"
    }
  ],
  dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
  ordinal: function(e) {
    var t = e % 10, n = ge(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
    return e + n;
  }
});
H.lang = Pt(
  "moment.lang is deprecated. Use moment.locale instead.",
  wn
);
H.langData = Pt(
  "moment.langData is deprecated. Use moment.localeData instead.",
  mn
);
var Kt = Math.abs;
function F_() {
  var e = this._data;
  return this._milliseconds = Kt(this._milliseconds), this._days = Kt(this._days), this._months = Kt(this._months), e.milliseconds = Kt(e.milliseconds), e.seconds = Kt(e.seconds), e.minutes = Kt(e.minutes), e.hours = Kt(e.hours), e.months = Kt(e.months), e.years = Kt(e.years), this;
}
function Cf(e, t, n, a) {
  var s = Rt(t, n);
  return e._milliseconds += a * s._milliseconds, e._days += a * s._days, e._months += a * s._months, e._bubble();
}
function L_(e, t) {
  return Cf(this, e, t, 1);
}
function N_(e, t) {
  return Cf(this, e, t, -1);
}
function Jo(e) {
  return e < 0 ? Math.floor(e) : Math.ceil(e);
}
function B_() {
  var e = this._milliseconds, t = this._days, n = this._months, a = this._data, s, r, l, i, o;
  return e >= 0 && t >= 0 && n >= 0 || e <= 0 && t <= 0 && n <= 0 || (e += Jo(pl(n) + t) * 864e5, t = 0, n = 0), a.milliseconds = e % 1e3, s = wt(e / 1e3), a.seconds = s % 60, r = wt(s / 60), a.minutes = r % 60, l = wt(r / 60), a.hours = l % 24, t += wt(l / 24), o = wt(Pf(t)), n += o, t -= Jo(pl(o)), i = wt(n / 12), n %= 12, a.days = t, a.months = n, a.years = i, this;
}
function Pf(e) {
  return e * 4800 / 146097;
}
function pl(e) {
  return e * 146097 / 4800;
}
function $_(e) {
  if (!this.isValid())
    return NaN;
  var t, n, a = this._milliseconds;
  if (e = xt(e), e === "month" || e === "quarter" || e === "year")
    switch (t = this._days + a / 864e5, n = this._months + Pf(t), e) {
      case "month":
        return n;
      case "quarter":
        return n / 3;
      case "year":
        return n / 12;
    }
  else
    switch (t = this._days + Math.round(pl(this._months)), e) {
      case "week":
        return t / 7 + a / 6048e5;
      case "day":
        return t + a / 864e5;
      case "hour":
        return t * 24 + a / 36e5;
      case "minute":
        return t * 1440 + a / 6e4;
      case "second":
        return t * 86400 + a / 1e3;
      // Math.floor prevents floating point math errors here
      case "millisecond":
        return Math.floor(t * 864e5) + a;
      default:
        throw new Error("Unknown unit " + e);
    }
}
function vn(e) {
  return function() {
    return this.as(e);
  };
}
var xf = vn("ms"), U_ = vn("s"), z_ = vn("m"), H_ = vn("h"), Y_ = vn("d"), j_ = vn("w"), W_ = vn("M"), G_ = vn("Q"), Q_ = vn("y"), q_ = xf;
function K_() {
  return Rt(this);
}
function J_(e) {
  return e = xt(e), this.isValid() ? this[e + "s"]() : NaN;
}
function zn(e) {
  return function() {
    return this.isValid() ? this._data[e] : NaN;
  };
}
var Z_ = zn("milliseconds"), X_ = zn("seconds"), e0 = zn("minutes"), t0 = zn("hours"), n0 = zn("days"), a0 = zn("months"), s0 = zn("years");
function r0() {
  return wt(this.days() / 7);
}
var Jt = Math.round, Qn = {
  ss: 44,
  // a few seconds to seconds
  s: 45,
  // seconds to minute
  m: 45,
  // minutes to hour
  h: 22,
  // hours to day
  d: 26,
  // days to month/week
  w: null,
  // weeks to month
  M: 11
  // months to year
};
function l0(e, t, n, a, s) {
  return s.relativeTime(t || 1, !!n, e, a);
}
function i0(e, t, n, a) {
  var s = Rt(e).abs(), r = Jt(s.as("s")), l = Jt(s.as("m")), i = Jt(s.as("h")), o = Jt(s.as("d")), u = Jt(s.as("M")), c = Jt(s.as("w")), d = Jt(s.as("y")), h = r <= n.ss && ["s", r] || r < n.s && ["ss", r] || l <= 1 && ["m"] || l < n.m && ["mm", l] || i <= 1 && ["h"] || i < n.h && ["hh", i] || o <= 1 && ["d"] || o < n.d && ["dd", o];
  return n.w != null && (h = h || c <= 1 && ["w"] || c < n.w && ["ww", c]), h = h || u <= 1 && ["M"] || u < n.M && ["MM", u] || d <= 1 && ["y"] || ["yy", d], h[2] = t, h[3] = +e > 0, h[4] = a, l0.apply(null, h);
}
function o0(e) {
  return e === void 0 ? Jt : typeof e == "function" ? (Jt = e, !0) : !1;
}
function u0(e, t) {
  return Qn[e] === void 0 ? !1 : t === void 0 ? Qn[e] : (Qn[e] = t, e === "s" && (Qn.ss = t - 1), !0);
}
function c0(e, t) {
  if (!this.isValid())
    return this.localeData().invalidDate();
  var n = !1, a = Qn, s, r;
  return typeof e == "object" && (t = e, e = !1), typeof e == "boolean" && (n = e), typeof t == "object" && (a = Object.assign({}, Qn, t), t.s != null && t.ss == null && (a.ss = t.s - 1)), s = this.localeData(), r = i0(this, !n, a, s), n && (r = s.pastFuture(+this, r)), s.postformat(r);
}
var Br = Math.abs;
function jn(e) {
  return (e > 0) - (e < 0) || +e;
}
function vr() {
  if (!this.isValid())
    return this.localeData().invalidDate();
  var e = Br(this._milliseconds) / 1e3, t = Br(this._days), n = Br(this._months), a, s, r, l, i = this.asSeconds(), o, u, c, d;
  return i ? (a = wt(e / 60), s = wt(a / 60), e %= 60, a %= 60, r = wt(n / 12), n %= 12, l = e ? e.toFixed(3).replace(/\.?0+$/, "") : "", o = i < 0 ? "-" : "", u = jn(this._months) !== jn(i) ? "-" : "", c = jn(this._days) !== jn(i) ? "-" : "", d = jn(this._milliseconds) !== jn(i) ? "-" : "", o + "P" + (r ? u + r + "Y" : "") + (n ? u + n + "M" : "") + (t ? c + t + "D" : "") + (s || a || e ? "T" : "") + (s ? d + s + "H" : "") + (a ? d + a + "M" : "") + (e ? d + l + "S" : "")) : "P0D";
}
var we = hr.prototype;
we.isValid = aw;
we.abs = F_;
we.add = L_;
we.subtract = N_;
we.as = $_;
we.asMilliseconds = xf;
we.asSeconds = U_;
we.asMinutes = z_;
we.asHours = H_;
we.asDays = Y_;
we.asWeeks = j_;
we.asMonths = W_;
we.asQuarters = G_;
we.asYears = Q_;
we.valueOf = q_;
we._bubble = B_;
we.clone = K_;
we.get = J_;
we.milliseconds = Z_;
we.seconds = X_;
we.minutes = e0;
we.hours = t0;
we.days = n0;
we.weeks = r0;
we.months = a0;
we.years = s0;
we.humanize = c0;
we.toISOString = vr;
we.toString = vr;
we.toJSON = vr;
we.locale = hf;
we.localeData = vf;
we.toIsoString = Pt(
  "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",
  vr
);
we.lang = mf;
X("X", 0, 0, "unix");
X("x", 0, 0, "valueOf");
W("x", ur);
W("X", Ep);
Oe("X", function(e, t, n) {
  n._d = new Date(parseFloat(e) * 1e3);
});
Oe("x", function(e, t, n) {
  n._d = new Date(ge(e));
});
//! moment.js
H.version = "2.30.1";
dp(Ae);
H.fn = L;
H.min = XS;
H.max = ew;
H.now = tw;
H.utc = Gt;
H.unix = T_;
H.months = E_;
H.isDate = Za;
H.locale = wn;
H.invalid = rr;
H.duration = Rt;
H.isMoment = Vt;
H.weekdays = D_;
H.parseZone = V_;
H.localeData = mn;
H.isDuration = ps;
H.monthsShort = A_;
H.weekdaysMin = R_;
H.defineLocale = pi;
H.updateLocale = VS;
H.locales = ES;
H.weekdaysShort = M_;
H.normalizeUnits = xt;
H.relativeTimeRounding = o0;
H.relativeTimeThreshold = u0;
H.calendarFormat = xw;
H.prototype = L;
H.HTML5_FMT = {
  DATETIME_LOCAL: "YYYY-MM-DDTHH:mm",
  // <input type="datetime-local" />
  DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss",
  // <input type="datetime-local" step="1" />
  DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS",
  // <input type="datetime-local" step="0.001" />
  DATE: "YYYY-MM-DD",
  // <input type="date" />
  TIME: "HH:mm",
  // <input type="time" />
  TIME_SECONDS: "HH:mm:ss",
  // <input type="time" step="1" />
  TIME_MS: "HH:mm:ss.SSS",
  // <input type="time" step="0.001" />
  WEEK: "GGGG-[W]WW",
  // <input type="week" />
  MONTH: "YYYY-MM"
  // <input type="month" />
};
function d0(e) {
  console.debug("[info] use calling 'launchFileDownload()' method");
  const t = e?.searchResults;
  if (!(e && t.length > 0))
    return;
  const n = "-MeSH";
  let a;
  const s = e.searchQuery;
  s.searchEntityType === ze.comp_to_mesh ? s.searchSelectorType === ve.pubchem_id ? a = "CID" + s.searchEntityQuery + n : a = s.searchEntityQuery + n : a = s.searchEntityQuery + "-" + s.searchSelectorType.slice(0, -3);
  const r = Object.keys(t[0]).map((i) => `"${i}"`).join(","), l = t.map(
    (i) => Object.values(i).map((o) => `${o}`.replace('"', '""')).map((o) => `"${o}"`).join(",")
    // values separator: comma
  ).join(`
`);
  f0(`${r}
${l}`, a);
}
function f0(e, t = "data") {
  const n = new Blob(["\uFEFF" + e], {
    type: "text/csv;charset=utf-8;"
  }), a = document.createElement("a"), s = URL.createObjectURL(n);
  navigator.userAgent.indexOf("Safari") != -1 && navigator.userAgent.indexOf("Chrome") == -1 && a.setAttribute("target", "_blank"), a.setAttribute("href", s);
  const l = H(/* @__PURE__ */ new Date()).format("YYYY-MM-DD_hh-mm");
  a.setAttribute("download", l + "_FORUM-DC_" + t + ".csv"), a.style.visibility = "hidden", document.body.appendChild(a), a.click(), document.body.removeChild(a);
}
const h0 = Ls({
  name: "MthForumResultsDisplay",
  components: {
    MthForumLiteratureDisplay: Md
  },
  props: ["search-results"],
  watch: {
    searchResults: function(e, t) {
      console.debug("Prop changed: ", e, " | was: ", t), this.inputSearch = e, this.runSearch(e);
    }
  },
  setup() {
    let e;
    const t = R(!1), n = R(!1), a = R(!1), s = R(!1), r = R("#"), l = R(""), i = R(-1), o = R(""), u = R(0), c = [
      "name",
      "root",
      "qvalue",
      "oddratio",
      "papers",
      "score"
    ], d = [], h = [], v = R(!1), f = R(!1), y = R(""), m = R([]), b = R();
    return {
      endpointSearchResults: e,
      display_loading_div: t,
      display_results_div: n,
      display_noresults_div: a,
      result_found: s,
      result_link: r,
      result_label: l,
      result_count: i,
      result_identifier: o,
      papers_count: u,
      displayedColumns: c,
      raw_res: h,
      showDialog: v,
      enablePapersLink: f,
      dialSearchType: R(""),
      dialSearchID: R(""),
      dialItemId: R(""),
      // data-table
      filter: y,
      headers: m,
      dataSource: d,
      inputSearch: b
    };
  },
  mounted() {
    const e = kl();
    if (e.get("dial-search-type") && e.get("dial-search-id") && e.get("dial-item-id")) {
      this.result_identifier = e.get("dial-search-id");
      const t = e.get("dial-item-id");
      this.openPapersModal(!0, t);
    }
  },
  methods: {
    runSearch(e) {
      this.headers = [], this.dataSource = [], this.raw_res = [], this.display_loading_div = !0, this.display_results_div = !1, this.display_noresults_div = !1, this.enablePapersLink = e?.searchQuery?.searchSelectorType == ve.pubchem_id && e?.searchQuery?.searchEntityType == ze.comp_to_mesh, this.endpointSearchResults = e, this.endpointSearchResults && (this.result_found = !1, this.endpointSearchResults.searchQuery.isEmpty() || this.endpointSearchResults.getAPIdata().then((t) => {
        this.display_loading_div = !1, this.display_results_div = t.searchResults.data.length > 0, this.display_noresults_div = !this.display_results_div;
        const n = t.searchResults;
        this.result_count = n.data.length, this.result_count === 0 ? this.display_noresults_div = !0 : (this.result_found = !0, this.updateLink(), this.endpointSearchResults.searchResults = n.data, console.log(
          "[debug]",
          "before call updateDataTable",
          "this.endpointSearchResults",
          this.endpointSearchResults
        ), this.updateDataTable(this.endpointSearchResults));
      }));
    },
    updateLink() {
      switch (this.endpointSearchResults.searchQuery.searchEntityType) {
        case ze.comp_to_mesh: {
          switch (this.endpointSearchResults.searchQuery.searchSelectorType) {
            case ve.pubchem_id: {
              this.result_link = "https://pubchem.ncbi.nlm.nih.gov/compound/";
              break;
            }
            case ve.chemont_id: {
              this.result_link = "http://classyfire.wishartlab.com/tax_nodes/";
              break;
            }
            case ve.chebi_id: {
              this.result_link = "https://www.ebi.ac.uk/chebi/searchId.do?chebiId=";
              break;
            }
            case ve.pubchem_fuzzy_id: {
              this.result_link = "https://pubchem.ncbi.nlm.nih.gov/compound/";
              break;
            }
          }
          this.result_link += this.endpointSearchResults.searchQuery.searchEntityQuery, this.getSpecificLabel(
            this.endpointSearchResults.searchQuery.searchEntityQuery,
            this.endpointSearchResults.searchQuery.searchSelectorType
          ).then((e) => {
            console.debug("[debug] label found " + e), this.result_label = e;
          });
          break;
        }
        case ze.mesh_to_comp: {
          this.result_link = "https://meshb.nlm.nih.gov/record/ui?ui=" + this.endpointSearchResults.searchQuery.searchEntityQuery, this.getSpecificLabel(
            this.endpointSearchResults.searchQuery.searchEntityQuery,
            ve.mesh_id
          ).then((e) => {
            console.debug("[debug] label found " + e), this.result_label = e;
          });
          break;
        }
        default:
          console.debug("[debug] label not found"), this.result_link = "#", this.result_found = !1;
      }
      this.result_identifier = this.endpointSearchResults.searchQuery.searchEntityQuery, this.result_found = !0;
    },
    /**
     * ASYNC: Function to get the data of a specific label
     * Returns the label (or "ID(id)") in a Promise
     * @param id ID of label to get (MeSH ID, Pubchem CID, Chemont ID, Chebi ID)
     * @param s  Type of label to get (MeSH, Pubchem, Chemont, Chebi)
     */
    async getSpecificLabel(e, t) {
      const n = new Cm();
      return new Promise((a, s) => {
        let r = "ID(" + e + ")";
        switch (t) {
          // Get Label of a MeSH ID
          case ve.mesh_id: {
            n.meshLabelIdMeshGet(e).then((l) => {
              const i = l.data;
              i.length > 0 && (r = i[0].name), a(r);
            });
            break;
          }
          // Get Label of a Pubchem CID
          case ve.pubchem_id: {
            n.pubchemLabelIdPubchemGet(+e).then((l) => {
              const i = l.data;
              i.length > 0 && (r = i[0].name), a(r);
            });
            break;
          }
          // Get Label of a Chemont ID
          case ve.chemont_id: {
            n.chemontLabelIdChemontGet(e).then((l) => {
              const i = l.data;
              i.length > 0 && (r = i[0].name), a(r);
            });
            break;
          }
          // Get Label of a Chebi ID
          case ve.chebi_id: {
            n.chebiLabelIdChebiGet(e).then((l) => {
              const i = l.data;
              i.length > 0 && (r = i[0].name), a(r);
            });
            break;
          }
          // Error case
          default: {
            console.debug("Error: fetching data from API (400 invalid request type)"), s(this);
            break;
          }
        }
      });
    },
    updateDataTable(e) {
      console.debug("[debug] display update in progress");
      let t = this.identifyIdType(), n = [];
      if (this.raw_res = e.searchResults, e.searchResults.forEach((a) => {
        let s = a, r = this.identifyIdLabelRow(t, s), l = r[0], i = r[1];
        i == null && (i = "ID(" + l + ")"), s !== void 0 && n.push(
          new cp(
            l,
            i,
            // name (request for label needed)
            this.constructURL(t, l),
            // compound url
            s.tree_root,
            // tree root
            s.tree_concat,
            // MeSH tree Tree-Numbers
            +(+s.q_value).toExponential(4),
            // pvalue
            parseFloat(s.odds_ratio).toFixed(2),
            // oddratio
            +s.COOC,
            // papers
            +s.n_weak
            // score
          )
        );
      }), this.headers = this.inputSearch?.searchQuery?.searchEntityType == ze.comp_to_mesh ? (
        //
        [
          {
            title: "Name",
            align: "start",
            key: "name",
            sortable: !0
          },
          {
            title: "MeSH root",
            key: "root",
            sortable: !0
          },
          { title: "q.value", key: "qvalue", sortable: !0 },
          { title: "Odd radio", key: "oddratio", sortable: !0 },
          { title: "Papers", key: "papers", sortable: !0 },
          { title: "Weakness", key: "score", sortable: !0 }
        ]
      ) : (
        //
        [
          {
            title: "Name",
            align: "start",
            key: "name",
            sortable: !0
          },
          // no mesh root
          { title: "q.value", key: "qvalue", sortable: !0 },
          { title: "Odd radio", key: "oddratio", sortable: !0 },
          { title: "Papers", key: "papers", sortable: !0 },
          { title: "Weakness", key: "score", sortable: !0 }
        ]
      ), this.dataSource = n, console.debug("[debug] display update done"), this.papers_count = 0, e.searchResults.length > 0) {
        const s = e.searchResults[0];
        Object.prototype.hasOwnProperty.call(s, "TOTAL_PMID_CID") && (this.papers_count = +(s?.TOTAL_PMID_CID ?? 0)), Object.prototype.hasOwnProperty.call(s, "TOTAL_PMID_CHEBI") && (this.papers_count = +(s?.TOTAL_PMID_CHEBI ?? 0)), Object.prototype.hasOwnProperty.call(s, "TOTAL_PMID_CHEMONT") && (this.papers_count = +(s?.TOTAL_PMID_CHEMONT ?? 0));
      }
    },
    constructURL(e, t) {
      switch (e) {
        case "mesh":
          return "https://meshb.nlm.nih.gov/record/ui?ui=" + t;
        case "pubchem":
          return "https://pubchem.ncbi.nlm.nih.gov/compound/" + t;
        case "chemont":
          return "http://classyfire.wishartlab.com/tax_nodes/" + t;
        case "chebi":
          return "https://www.ebi.ac.uk/chebi/searchId.do?chebiId=" + t;
        default:
          return "#UNDEF?" + t;
      }
    },
    identifyIdLabelRow(e, t) {
      let n = ["", ""];
      switch (e) {
        case "mesh": {
          n[0] = t.MESH !== void 0 ? t.MESH : "", n[1] = t.nameMesh !== void 0 ? t.nameMesh : "";
          break;
        }
        case "pubchem": {
          n[0] = t.CID !== void 0 ? t.CID : "", n[1] = t.namePubchem !== void 0 ? t.namePubchem : "";
          break;
        }
        case "chemont": {
          n[0] = t.CHEMONT !== void 0 ? t.CHEMONT : "", n[1] = t.nameChemont !== void 0 ? t.nameChemont : "";
          break;
        }
        case "chebi": {
          n[0] = t.CHEBI !== void 0 ? t.CHEBI : "", n[1] = t.nameChebi !== void 0 ? t.nameChebi : "";
          break;
        }
      }
      return n;
    },
    identifyIdType() {
      let e = "";
      switch (this.endpointSearchResults.searchQuery.searchEntityType) {
        case ze.comp_to_mesh: {
          this.displayedColumns = [
            "name",
            "root",
            "qvalue",
            "oddratio",
            "papers",
            "score"
          ], e = "mesh";
          break;
        }
        case ze.mesh_to_comp:
          switch (this.displayedColumns = [
            "name",
            "qvalue",
            "oddratio",
            "papers",
            "score"
          ], this.endpointSearchResults.searchQuery.searchSelectorType) {
            case ve.pubchem_id: {
              e = "pubchem";
              break;
            }
            case ve.chemont_id: {
              e = "chemont";
              break;
            }
            case ve.chebi_id: {
              e = "chebi";
              break;
            }
            case ve.pubchem_fuzzy_id: {
              e = "pubchem_fuzzy";
              break;
            }
          }
      }
      return e;
    },
    triggerFileDownload() {
      d0(this.endpointSearchResults);
    },
    openPapersModal(e = !0, t = "") {
      this.showDialog = e, this.dialSearchType = "pmid-cid-mesh", this.dialSearchID = this.result_identifier, this.dialItemId = t, On("dial-search-type", this.dialSearchType), On("dial-search-id", this.dialSearchID), On("dial-item-id", this.dialItemId);
    }
  }
}), If = Q()({
  name: "VCardActions",
  props: de(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    return zt({
      VBtn: {
        slim: !0,
        variant: "text"
      }
    }), ee(() => p("div", {
      class: K(["v-card-actions", e.class]),
      style: Z(e.style)
    }, [n.default?.()])), {};
  }
}), m0 = M({
  opacity: [Number, String],
  ...de(),
  ...Le()
}, "VCardSubtitle"), v0 = Q()({
  name: "VCardSubtitle",
  props: m0(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    return ee(() => g(e.tag, {
      class: K(["v-card-subtitle", e.class]),
      style: Z([{
        "--v-card-subtitle-opacity": e.opacity
      }, e.style])
    }, n)), {};
  }
}), y0 = $u("v-card-title"), g0 = M({
  appendAvatar: String,
  appendIcon: ue,
  prependAvatar: String,
  prependIcon: ue,
  subtitle: {
    type: [String, Number, Boolean],
    default: void 0
  },
  title: {
    type: [String, Number, Boolean],
    default: void 0
  },
  ...de(),
  ...Ct()
}, "VCardItem"), b0 = Q()({
  name: "VCardItem",
  props: g0(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    return ee(() => {
      const a = !!(e.prependAvatar || e.prependIcon), s = !!(a || n.prepend), r = !!(e.appendAvatar || e.appendIcon), l = !!(r || n.append), i = !!(e.title != null || n.title), o = !!(e.subtitle != null || n.subtitle);
      return p("div", {
        class: K(["v-card-item", e.class]),
        style: Z(e.style)
      }, [s && p("div", {
        key: "prepend",
        class: "v-card-item__prepend"
      }, [n.prepend ? g(Ne, {
        key: "prepend-defaults",
        disabled: !a,
        defaults: {
          VAvatar: {
            density: e.density,
            image: e.prependAvatar
          },
          VIcon: {
            density: e.density,
            icon: e.prependIcon
          }
        }
      }, n.prepend) : p(pe, null, [e.prependAvatar && g(_n, {
        key: "prepend-avatar",
        density: e.density,
        image: e.prependAvatar
      }, null), e.prependIcon && g(Ve, {
        key: "prepend-icon",
        density: e.density,
        icon: e.prependIcon
      }, null)])]), p("div", {
        class: "v-card-item__content"
      }, [i && g(y0, {
        key: "title"
      }, {
        default: () => [n.title?.() ?? Te(e.title)]
      }), o && g(v0, {
        key: "subtitle"
      }, {
        default: () => [n.subtitle?.() ?? Te(e.subtitle)]
      }), n.default?.()]), l && p("div", {
        key: "append",
        class: "v-card-item__append"
      }, [n.append ? g(Ne, {
        key: "append-defaults",
        disabled: !r,
        defaults: {
          VAvatar: {
            density: e.density,
            image: e.appendAvatar
          },
          VIcon: {
            density: e.density,
            icon: e.appendIcon
          }
        }
      }, n.append) : p(pe, null, [e.appendIcon && g(Ve, {
        key: "append-icon",
        density: e.density,
        icon: e.appendIcon
      }, null), e.appendAvatar && g(_n, {
        key: "append-avatar",
        density: e.density,
        image: e.appendAvatar
      }, null)])])]);
    }), {};
  }
}), p0 = M({
  opacity: [Number, String],
  ...de(),
  ...Le()
}, "VCardText"), Of = Q()({
  name: "VCardText",
  props: p0(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    return ee(() => g(e.tag, {
      class: K(["v-card-text", e.class]),
      style: Z([{
        "--v-card-text-opacity": e.opacity
      }, e.style])
    }, n)), {};
  }
}), S0 = M({
  appendAvatar: String,
  appendIcon: ue,
  disabled: Boolean,
  flat: Boolean,
  hover: Boolean,
  image: String,
  link: {
    type: Boolean,
    default: void 0
  },
  prependAvatar: String,
  prependIcon: ue,
  ripple: {
    type: [Boolean, Object],
    default: !0
  },
  subtitle: {
    type: [String, Number, Boolean],
    default: void 0
  },
  text: {
    type: [String, Number, Boolean],
    default: void 0
  },
  title: {
    type: [String, Number, Boolean],
    default: void 0
  },
  ...dn(),
  ...de(),
  ...Ct(),
  ...un(),
  ...Pn(),
  ...er(),
  ...Zl(),
  ...dd(),
  ...kt(),
  ...Xs(),
  ...Le(),
  ...Ye(),
  ...fn({
    variant: "elevated"
  })
}, "VCard"), w0 = Q()({
  name: "VCard",
  directives: {
    vRipple: rn
  },
  props: S0(),
  setup(e, t) {
    let {
      attrs: n,
      slots: a
    } = t;
    const {
      themeClasses: s
    } = Ze(e), {
      borderClasses: r
    } = Cn(e), {
      colorClasses: l,
      colorStyles: i,
      variantClasses: o
    } = Qa(e), {
      densityClasses: u
    } = Wt(e), {
      dimensionStyles: c
    } = cn(e), {
      elevationClasses: d
    } = Un(e), {
      loaderClasses: h
    } = Ka(e), {
      locationStyles: v
    } = Xl(e), {
      positionClasses: f
    } = fd(e), {
      roundedClasses: y
    } = Dt(e), m = Zs(e, n);
    return ee(() => {
      const b = e.link !== !1 && m.isLink.value, S = !e.disabled && e.link !== !1 && (e.link || m.isClickable.value), P = b ? "a" : e.tag, I = !!(a.title || e.title != null), k = !!(a.subtitle || e.subtitle != null), D = I || k, V = !!(a.append || e.appendAvatar || e.appendIcon), w = !!(a.prepend || e.prependAvatar || e.prependIcon), T = !!(a.image || e.image), N = D || w || V, $ = !!(a.text || e.text != null);
      return ht(g(P, j({
        class: ["v-card", {
          "v-card--disabled": e.disabled,
          "v-card--flat": e.flat,
          "v-card--hover": e.hover && !(e.disabled || e.flat),
          "v-card--link": S
        }, s.value, r.value, l.value, u.value, d.value, h.value, f.value, y.value, o.value, e.class],
        style: [i.value, c.value, v.value, e.style],
        onClick: S && m.navigate,
        tabindex: e.disabled ? -1 : void 0
      }, m.linkProps), {
        default: () => [T && p("div", {
          key: "image",
          class: "v-card__image"
        }, [a.image ? g(Ne, {
          key: "image-defaults",
          disabled: !e.image,
          defaults: {
            VImg: {
              cover: !0,
              src: e.image
            }
          }
        }, a.image) : g(Nl, {
          key: "image-img",
          cover: !0,
          src: e.image
        }, null)]), g(tr, {
          name: "v-card",
          active: !!e.loading,
          color: typeof e.loading == "boolean" ? void 0 : e.loading
        }, {
          default: a.loader
        }), N && g(b0, {
          key: "item",
          prependAvatar: e.prependAvatar,
          prependIcon: e.prependIcon,
          title: e.title,
          subtitle: e.subtitle,
          appendAvatar: e.appendAvatar,
          appendIcon: e.appendIcon
        }, {
          default: a.item,
          prepend: a.prepend,
          title: a.title,
          subtitle: a.subtitle,
          append: a.append
        }), $ && g(Of, {
          key: "text"
        }, {
          default: () => [a.text?.() ?? e.text]
        }), a.default?.(), a.actions && g(If, null, {
          default: a.actions
        }), Ga(S, "v-card")]
      }), [[rn, S && e.ripple]]);
    }), {};
  }
}), _0 = M({
  fullscreen: Boolean,
  retainFocus: {
    type: Boolean,
    default: !0
  },
  scrollable: Boolean,
  ...Jl({
    origin: "center center",
    scrollStrategy: "block",
    transition: {
      component: Ul
    },
    zIndex: 2400
  })
}, "VDialog"), k0 = Q()({
  name: "VDialog",
  props: _0(),
  emits: {
    "update:modelValue": (e) => !0,
    afterEnter: () => !0,
    afterLeave: () => !0
  },
  setup(e, t) {
    let {
      emit: n,
      slots: a
    } = t;
    const s = ke(e, "modelValue"), {
      scopeId: r
    } = Kl(), l = R();
    function i(c) {
      const d = c.relatedTarget, h = c.target;
      if (d !== h && l.value?.contentEl && // We're the topmost dialog
      l.value?.globalTop && // It isn't the document or the dialog body
      ![document, l.value.contentEl].includes(h) && // It isn't inside the dialog body
      !l.value.contentEl.contains(h)) {
        const v = Ia(l.value.contentEl);
        if (!v.length) return;
        const f = v[0], y = v[v.length - 1];
        d === f ? y.focus() : f.focus();
      }
    }
    Et(() => {
      document.removeEventListener("focusin", i);
    }), Be && re(() => s.value && e.retainFocus, (c) => {
      c ? document.addEventListener("focusin", i) : document.removeEventListener("focusin", i);
    }, {
      immediate: !0
    });
    function o() {
      n("afterEnter"), (e.scrim || e.retainFocus) && l.value?.contentEl && !l.value.contentEl.contains(document.activeElement) && l.value.contentEl.focus({
        preventScroll: !0
      });
    }
    function u() {
      n("afterLeave");
    }
    return re(s, async (c) => {
      c || (await Ge(), l.value.activatorEl?.focus({
        preventScroll: !0
      }));
    }), ee(() => {
      const c = Vs.filterProps(e), d = j({
        "aria-haspopup": "dialog"
      }, e.activatorProps), h = j({
        tabindex: -1
      }, e.contentProps);
      return g(Vs, j({
        ref: l,
        class: ["v-dialog", {
          "v-dialog--fullscreen": e.fullscreen,
          "v-dialog--scrollable": e.scrollable
        }, e.class],
        style: e.style
      }, c, {
        modelValue: s.value,
        "onUpdate:modelValue": (v) => s.value = v,
        "aria-modal": "true",
        activatorProps: d,
        contentProps: h,
        height: e.fullscreen ? void 0 : e.height,
        width: e.fullscreen ? void 0 : e.width,
        maxHeight: e.fullscreen ? void 0 : e.maxHeight,
        maxWidth: e.fullscreen ? void 0 : e.maxWidth,
        role: "dialog",
        onAfterEnter: o,
        onAfterLeave: u
      }, r), {
        activator: a.activator,
        default: function() {
          for (var v = arguments.length, f = new Array(v), y = 0; y < v; y++)
            f[y] = arguments[y];
          return g(Ne, {
            root: "VDialog"
          }, {
            default: () => [a.default?.(...f)]
          });
        }
      });
    }), ua({}, l);
  }
}), C0 = M({
  text: String,
  ...de(),
  ...Le()
}, "VToolbarTitle"), Tf = Q()({
  name: "VToolbarTitle",
  props: C0(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    return ee(() => {
      const a = !!(n.default || n.text || e.text);
      return g(e.tag, {
        class: K(["v-toolbar-title", e.class]),
        style: Z(e.style)
      }, {
        default: () => [a && p("div", {
          class: "v-toolbar-title__placeholder"
        }, [n.text ? n.text() : e.text, n.default?.()])]
      });
    }), {};
  }
}), P0 = [null, "prominent", "default", "comfortable", "compact"], x0 = M({
  absolute: Boolean,
  collapse: Boolean,
  color: String,
  density: {
    type: String,
    default: "default",
    validator: (e) => P0.includes(e)
  },
  extended: Boolean,
  extensionHeight: {
    type: [Number, String],
    default: 48
  },
  flat: Boolean,
  floating: Boolean,
  height: {
    type: [Number, String],
    default: 64
  },
  image: String,
  title: String,
  ...dn(),
  ...de(),
  ...Pn(),
  ...kt(),
  ...Le({
    tag: "header"
  }),
  ...Ye()
}, "VToolbar"), I0 = Q()({
  name: "VToolbar",
  props: x0(),
  setup(e, t) {
    let {
      slots: n
    } = t;
    const {
      backgroundColorClasses: a,
      backgroundColorStyles: s
    } = $t(() => e.color), {
      borderClasses: r
    } = Cn(e), {
      elevationClasses: l
    } = Un(e), {
      roundedClasses: i
    } = Dt(e), {
      themeClasses: o
    } = Ze(e), {
      rtlClasses: u
    } = Mt(), c = ne(!!(e.extended || n.extension?.())), d = _(() => parseInt(Number(e.height) + (e.density === "prominent" ? Number(e.height) : 0) - (e.density === "comfortable" ? 8 : 0) - (e.density === "compact" ? 16 : 0), 10)), h = _(() => c.value ? parseInt(Number(e.extensionHeight) + (e.density === "prominent" ? Number(e.extensionHeight) : 0) - (e.density === "comfortable" ? 4 : 0) - (e.density === "compact" ? 8 : 0), 10) : 0);
    return zt({
      VBtn: {
        variant: "text"
      }
    }), ee(() => {
      const v = !!(e.title || n.title), f = !!(n.image || e.image), y = n.extension?.();
      return c.value = !!(e.extended || y), g(e.tag, {
        class: K(["v-toolbar", {
          "v-toolbar--absolute": e.absolute,
          "v-toolbar--collapse": e.collapse,
          "v-toolbar--flat": e.flat,
          "v-toolbar--floating": e.floating,
          [`v-toolbar--density-${e.density}`]: !0
        }, a.value, r.value, l.value, i.value, o.value, u.value, e.class]),
        style: Z([s.value, e.style])
      }, {
        default: () => [f && p("div", {
          key: "image",
          class: "v-toolbar__image"
        }, [n.image ? g(Ne, {
          key: "image-defaults",
          disabled: !e.image,
          defaults: {
            VImg: {
              cover: !0,
              src: e.image
            }
          }
        }, n.image) : g(Nl, {
          key: "image-img",
          cover: !0,
          src: e.image
        }, null)]), g(Ne, {
          defaults: {
            VTabs: {
              height: te(d.value)
            }
          }
        }, {
          default: () => [p("div", {
            class: "v-toolbar__content",
            style: Z({
              height: te(d.value)
            })
          }, [n.prepend && p("div", {
            class: "v-toolbar__prepend"
          }, [n.prepend?.()]), v && g(Tf, {
            key: "title",
            text: e.title
          }, {
            text: n.title
          }), n.default?.(), n.append && p("div", {
            class: "v-toolbar__append"
          }, [n.append?.()])])]
        }), g(Ne, {
          defaults: {
            VTabs: {
              height: te(h.value)
            }
          }
        }, {
          default: () => [g(rc, null, {
            default: () => [c.value && p("div", {
              class: "v-toolbar__extension",
              style: Z({
                height: te(h.value)
              })
            }, [y])]
          })]
        })]
      });
    }), {
      contentHeight: d,
      extensionHeight: h
    };
  }
}), O0 = {
  key: 0,
  id: "loading-results"
}, T0 = {
  key: 1,
  id: "no-results"
}, V0 = {
  key: 2,
  id: "results"
}, E0 = { key: 0 }, A0 = { key: 1 }, D0 = ["href"], M0 = { class: "text-primary" }, R0 = ["href"], F0 = ["title"], L0 = ["onClick"], N0 = { key: 1 }, B0 = ["title"], $0 = { id: "div-container-export-link" };
function U0(e, t, n, a, s, r) {
  const l = Yf("mth-forum-literature-display");
  return qe(), nt(pe, null, [
    e.display_loading_div ? (qe(), nt("div", O0, [
      g(ei, {
        indeterminate: "",
        color: "primary"
      })
    ])) : ct("", !0),
    e.display_noresults_div ? (qe(), nt("div", T0, "Sorry, no results for your query.")) : ct("", !0),
    e.display_results_div ? (qe(), nt("div", V0, [
      p("form", null, [
        p("fieldset", null, [
          p("legend", null, [
            t[4] || (t[4] = Fe(" ... get associated compounds/medical concepts ")),
            g(Zt, {
              onClick: e.triggerFileDownload,
              size: "x-small"
            }, {
              default: he(() => [
                g(Ve, { icon: "fas fa-file-download" })
              ]),
              _: 1
            }, 8, ["onClick"])
          ]),
          g(ka, {
            id: "filters",
            fluid: ""
          }, {
            default: he(() => [
              g(rl, null, {
                default: he(() => [
                  g(yn, {
                    cols: "12",
                    md: "6"
                  }, {
                    default: he(() => [
                      g(Da, {
                        modelValue: e.filter,
                        "onUpdate:modelValue": t[0] || (t[0] = (i) => e.filter = i),
                        "append-icon": "fas fa-magnifying-glass",
                        label: "Filter",
                        "single-line": "",
                        "hide-details": "",
                        density: "compact"
                      }, null, 8, ["modelValue"]),
                      p("small", null, [
                        e.inputSearch.searchQuery.searchEntityType != "mesh_to_comp" ? (qe(), nt("span", E0, t[5] || (t[5] = [
                          Fe(" You can search the results by name or by MeSH broader descriptor, using the hierarchical "),
                          p("a", {
                            href: "https://www.nlm.nih.gov/mesh/intro_trees.html",
                            target: "_blank"
                          }, "tree number", -1),
                          Fe(". Example: "),
                          p("a", {
                            href: "http://id.nlm.nih.gov/mesh/C06.552",
                            target: "_blank"
                          }, "C06.552", -1),
                          Fe(" for all liver diseases or "),
                          p("a", {
                            href: "http://id.nlm.nih.gov/mesh/C06.552.664.642",
                            target: "_blank"
                          }, "C06.552.664", -1),
                          Fe(" for all parasitic liver diseases. ")
                        ]))) : ct("", !0),
                        e.inputSearch.searchQuery.searchEntityType == "mesh_to_comp" ? (qe(), nt("span", A0, " You can search on any data from the results. ")) : ct("", !0)
                      ])
                    ]),
                    _: 1
                  }),
                  g(yn, {
                    cols: "12",
                    md: "6"
                  }, {
                    default: he(() => [
                      e.result_found ? (qe(), nt("a", {
                        key: 0,
                        href: e.result_link,
                        target: "_blank"
                      }, [
                        Fe(" Found " + Te(e.result_count) + ' results for: "' + Te(e.result_label) + " ", 1),
                        p("small", M0, "(" + Te(e.result_identifier) + ")", 1),
                        Fe('" (from ' + Te(e.papers_count) + " distinct papers) ", 1)
                      ], 8, D0)) : ct("", !0)
                    ]),
                    _: 1
                  })
                ]),
                _: 1
              })
            ]),
            _: 1
          }),
          g(Dd, {
            id: "results-datatable",
            headers: e.headers,
            items: e.dataSource,
            "items-per-page": 25,
            "item-key": "id",
            search: e.filter,
            "sort-by": [{ key: "qvalue", order: "asc" }],
            "footer-props": {
              showFirstLastPage: !0,
              firstIcon: "fas fa-angle-double-left",
              lastIcon: "fas fa-angle-double-right",
              prevIcon: "fas fa-chevron-left",
              nextIcon: "fas fa-chevron-right"
            }
          }, {
            "item.name": he(({ item: i }) => [
              p("a", {
                href: i.link,
                target: "_blank"
              }, Te(i.name), 9, R0)
            ]),
            "item.root": he(({ item: i }) => [
              p("span", {
                class: "mesh-tree",
                title: i.meshTree
              }, Te(i.root), 9, F0)
            ]),
            "item.qvalue": he(({ item: i }) => [
              p("span", {
                class: K({ "zero-value": i.qvalue == 0 })
              }, [
                p("span", null, Te(i.qvalue), 1)
              ], 2)
            ]),
            "item.oddratio": he(({ item: i }) => [
              p("span", {
                class: K({ "nan-value": i.oddratio == "NaN" })
              }, [
                p("span", null, Te(i.oddratio), 1)
              ], 2)
            ]),
            "item.papers": he(({ item: i }) => [
              e.enablePapersLink ? (qe(), nt("a", {
                key: 0,
                class: "link-mouse-cursor",
                onClick: (o) => e.openPapersModal(!0, i.id)
              }, Te(i.papers), 9, L0)) : ct("", !0),
              e.enablePapersLink ? ct("", !0) : (qe(), nt("span", N0, Te(i.papers), 1))
            ]),
            "item.score": he(({ item: i }) => [
              i.score > 0 ? (qe(), nt("span", {
                key: 0,
                title: `weakness: ${i.score}`
              }, [
                g(Ve, { icon: "fas fa-circle-info" }),
                Fe(" " + Te(i.score), 1)
              ], 8, B0)) : ct("", !0)
            ]),
            _: 2
          }, 1032, ["headers", "items", "search"]),
          p("div", $0, [
            p("a", {
              id: "export-link",
              onClick: t[1] || (t[1] = (...i) => e.triggerFileDownload && e.triggerFileDownload(...i))
            }, "Export as CSV")
          ])
        ])
      ])
    ])) : ct("", !0),
    g(k0, {
      modelValue: e.showDialog,
      "onUpdate:modelValue": t[3] || (t[3] = (i) => e.showDialog = i),
      "hide-overlay": "",
      persistent: "",
      transition: "dialog-bottom-transition"
    }, {
      default: he(() => [
        g(w0, null, {
          default: he(() => [
            g(I0, null, {
              default: he(() => [
                g(Tf, null, {
                  default: he(() => t[6] || (t[6] = [
                    Fe("Supporting literature")
                  ])),
                  _: 1,
                  __: [6]
                })
              ]),
              _: 1
            }),
            g(Of, null, {
              default: he(() => [
                p("div", null, [
                  g(l, {
                    searchType: e.dialSearchType,
                    searchId: e.dialSearchID,
                    itemId: e.dialItemId
                  }, null, 8, ["searchType", "searchId", "itemId"])
                ])
              ]),
              _: 1
            }),
            g(If, { class: "justify-end" }, {
              default: he(() => [
                g(Zt, {
                  onClick: t[2] || (t[2] = (i) => e.openPapersModal(!1))
                }, {
                  default: he(() => t[7] || (t[7] = [
                    Fe("Close")
                  ])),
                  _: 1,
                  __: [7]
                })
              ]),
              _: 1
            })
          ]),
          _: 1
        })
      ]),
      _: 1
    }, 8, ["modelValue"])
  ], 64);
}
const z0 = /* @__PURE__ */ Ol(h0, [["render", U0]]);
class uk {
  // Query results (array of Mesh)
  constructor(t, n, a) {
    Ie(this, "searchQuery");
    // Query descriptor
    Ie(this, "searchResults");
    this.chebi_service = t, this.chemont_service = n, this.pubchem_service = a, this.chebi_service = new xu(), this.chemont_service = new Iu(), this.pubchem_service = new Wr(), this.searchQuery = new tu(), this.searchResults = [];
  }
  /**
   * ASYNC: Function to get the data requested from the Rest API
   * Returns this object (with the results updated) in a Promise
   */
  getAPIdata() {
    return new Promise((t, n) => {
      switch (this.searchQuery.searchEntityType) {
        // Search by compound => specification of input table
        // /pubchem_mesh/{idPubchem}
        // /chemont_mesh/{idChemont}
        // /chebi_mesh/{idChebi}
        case ze.comp_to_mesh: {
          switch (this.searchQuery.searchSelectorType) {
            // Request data w/ Pubchem ID
            case ve.pubchem_id: {
              this.pubchem_service.pubchemMeshIdPubchemGet(+this.searchQuery.searchEntityQuery).then((a) => {
                console.debug("[COMP_PUBCHEM] fetched objects : ", a), this.searchResults = a, t(this);
              }).catch((a) => {
                console.error("pubchem response ⇒ ", a);
              });
              break;
            }
            // Request data w/ Chemont ID
            case ve.chemont_id: {
              this.chemont_service.chemontMeshIdChemontGet(this.searchQuery.searchEntityQuery).then((a) => {
                console.debug("[COMP_CHEMONT] fetched objects : ", a), this.searchResults = a, t(this);
              }).catch((a) => {
                console.error("chemont response ⇒ ", a);
              });
              break;
            }
            // Request data w/ Chebi ID
            case ve.chebi_id: {
              this.chebi_service.chebiMeshIdChebiGet(this.searchQuery.searchEntityQuery).then((a) => {
                console.debug("[COMP_CHEBI] fetched objects : ", a), this.searchResults = a, t(this);
              }).catch((a) => {
                console.error("chebi response ⇒ ", a);
              });
              break;
            }
            // Request data w/ PubChem Fuzzy search
            case ve.pubchem_fuzzy_id:
              break;
          }
          break;
        }
        // Search by MeSH => specification of output table
        // /mesh_pubchem/{idMesh}
        // /mesh_chemont/{idMesh}
        // /mesh_chebi/{idMesh}
        case ze.mesh_to_comp: {
          switch (this.searchQuery.searchSelectorType) {
            // Request data for Pubchem
            case ve.pubchem_id: {
              new Wr().meshPubchemIdMeshGet(this.searchQuery.searchEntityQuery).then((s) => {
                console.debug("[COMP_PUBCHEM] fetched objects : ", s), this.searchResults = s, t(this);
              }).catch((s) => {
              });
              break;
            }
            // Request data for Chemont
            case ve.chemont_id:
              break;
            // Request data for Chebi
            case ve.chebi_id:
              break;
          }
          break;
        }
        // Error case
        default: {
          console.debug(
            "Error: fetching data from API (400 invalid request type)"
          ), n(this);
          break;
        }
      }
    });
  }
}
const ck = {
  install: (e) => {
    e.component("MthForumFormFinder", Kg), e.component("MthForumLiteratureDisplay", Md), e.component("MthForumResultsDisplay", z0);
  }
};
export {
  xu as ChebiApi,
  Iu as ChemontApi,
  tu as EndpointSearchQuery,
  uk as EndpointSearchResults,
  ck as MetabohubForumLibrary,
  Wr as PubchemApi,
  ze as SearchEntityType,
  ve as SelectorType
};