import { shallowReactive, reactive, effectScope, getCurrentScope, hasInjectionContext, getCurrentInstance, inject, toRef, computed, defineComponent, h, isReadonly, isRef, isShallow, isReactive, toRaw, ref, unref, shallowRef, watchEffect, readonly, onScopeDispose, provide, createElementBlock, warn, createVNode, renderSlot, watch, createBlock, openBlock, Teleport as Teleport$1, mergeProps, createElementVNode, normalizeStyle, normalizeClass, createCommentVNode, toDisplayString, withCtx, resolveDynamicComponent, nextTick, useSlots, Transition, withDirectives, createSlots, vShow, Text, Fragment, isVNode, createTextVNode, useSSRContext, defineAsyncComponent, onErrorCaptured, onServerPrefetch, createApp } from 'vue';
import { k as createHooks, l as getContext, m as sanitizeStatusCode, h as createError$1, n as toRouteMatcher, o as createRouter } from '../_/nitro.mjs';
import { ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrRenderClass, ssrRenderList, ssrRenderStyle, ssrRenderComponent, ssrIncludeBooleanAttr, ssrRenderSuspense, ssrRenderVNode } from 'vue/server-renderer';
import { u as useHead$1, h as headSymbol } from '../routes/renderer.mjs';
import axios from 'axios';

const HASH_RE = /#/g;
const AMPERSAND_RE = /&/g;
const SLASH_RE = /\//g;
const EQUAL_RE = /=/g;
const PLUS_RE = /\+/g;
const ENC_CARET_RE = /%5e/gi;
const ENC_BACKTICK_RE = /%60/gi;
const ENC_PIPE_RE = /%7c/gi;
const ENC_SPACE_RE = /%20/gi;
function encode(text) {
  return encodeURI("" + text).replace(ENC_PIPE_RE, "|");
}
function encodeQueryValue(input) {
  return encode(typeof input === "string" ? input : JSON.stringify(input)).replace(PLUS_RE, "%2B").replace(ENC_SPACE_RE, "+").replace(HASH_RE, "%23").replace(AMPERSAND_RE, "%26").replace(ENC_BACKTICK_RE, "`").replace(ENC_CARET_RE, "^").replace(SLASH_RE, "%2F");
}
function encodeQueryKey(text) {
  return encodeQueryValue(text).replace(EQUAL_RE, "%3D");
}
function decode(text = "") {
  try {
    return decodeURIComponent("" + text);
  } catch {
    return "" + text;
  }
}
function decodeQueryKey(text) {
  return decode(text.replace(PLUS_RE, " "));
}
function decodeQueryValue(text) {
  return decode(text.replace(PLUS_RE, " "));
}
function parseQuery(parametersString = "") {
  const object = {};
  if (parametersString[0] === "?") {
    parametersString = parametersString.slice(1);
  }
  for (const parameter of parametersString.split("&")) {
    const s = parameter.match(/([^=]+)=?(.*)/) || [];
    if (s.length < 2) {
      continue;
    }
    const key = decodeQueryKey(s[1]);
    if (key === "__proto__" || key === "constructor") {
      continue;
    }
    const value = decodeQueryValue(s[2] || "");
    if (object[key] === void 0) {
      object[key] = value;
    } else if (Array.isArray(object[key])) {
      object[key].push(value);
    } else {
      object[key] = [object[key], value];
    }
  }
  return object;
}
function encodeQueryItem(key, value) {
  if (typeof value === "number" || typeof value === "boolean") {
    value = String(value);
  }
  if (!value) {
    return encodeQueryKey(key);
  }
  if (Array.isArray(value)) {
    return value.map((_value) => `${encodeQueryKey(key)}=${encodeQueryValue(_value)}`).join("&");
  }
  return `${encodeQueryKey(key)}=${encodeQueryValue(value)}`;
}
function stringifyQuery(query) {
  return Object.keys(query).filter((k) => query[k] !== void 0).map((k) => encodeQueryItem(k, query[k])).filter(Boolean).join("&");
}
const PROTOCOL_STRICT_REGEX = /^[\s\w\0+.-]{2,}:([/\\]{1,2})/;
const PROTOCOL_REGEX = /^[\s\w\0+.-]{2,}:([/\\]{2})?/;
const PROTOCOL_RELATIVE_REGEX = /^([/\\]\s*){2,}[^/\\]/;
const PROTOCOL_SCRIPT_RE = /^[\s\0]*(blob|data|javascript|vbscript):$/i;
const TRAILING_SLASH_RE = /\/$|\/\?|\/#/;
const JOIN_LEADING_SLASH_RE = /^\.?\//;
function hasProtocol(inputString, opts = {}) {
  if (typeof opts === "boolean") {
    opts = { acceptRelative: opts };
  }
  if (opts.strict) {
    return PROTOCOL_STRICT_REGEX.test(inputString);
  }
  return PROTOCOL_REGEX.test(inputString) || (opts.acceptRelative ? PROTOCOL_RELATIVE_REGEX.test(inputString) : false);
}
function isScriptProtocol(protocol) {
  return !!protocol && PROTOCOL_SCRIPT_RE.test(protocol);
}
function hasTrailingSlash(input = "", respectQueryAndFragment) {
  if (!respectQueryAndFragment) {
    return input.endsWith("/");
  }
  return TRAILING_SLASH_RE.test(input);
}
function withoutTrailingSlash(input = "", respectQueryAndFragment) {
  if (!respectQueryAndFragment) {
    return (hasTrailingSlash(input) ? input.slice(0, -1) : input) || "/";
  }
  if (!hasTrailingSlash(input, true)) {
    return input || "/";
  }
  let path = input;
  let fragment = "";
  const fragmentIndex = input.indexOf("#");
  if (fragmentIndex >= 0) {
    path = input.slice(0, fragmentIndex);
    fragment = input.slice(fragmentIndex);
  }
  const [s0, ...s] = path.split("?");
  const cleanPath = s0.endsWith("/") ? s0.slice(0, -1) : s0;
  return (cleanPath || "/") + (s.length > 0 ? `?${s.join("?")}` : "") + fragment;
}
function withTrailingSlash(input = "", respectQueryAndFragment) {
  if (!respectQueryAndFragment) {
    return input.endsWith("/") ? input : input + "/";
  }
  if (hasTrailingSlash(input, true)) {
    return input || "/";
  }
  let path = input;
  let fragment = "";
  const fragmentIndex = input.indexOf("#");
  if (fragmentIndex >= 0) {
    path = input.slice(0, fragmentIndex);
    fragment = input.slice(fragmentIndex);
    if (!path) {
      return fragment;
    }
  }
  const [s0, ...s] = path.split("?");
  return s0 + "/" + (s.length > 0 ? `?${s.join("?")}` : "") + fragment;
}
function hasLeadingSlash(input = "") {
  return input.startsWith("/");
}
function withLeadingSlash(input = "") {
  return hasLeadingSlash(input) ? input : "/" + input;
}
function withQuery(input, query) {
  const parsed = parseURL(input);
  const mergedQuery = { ...parseQuery(parsed.search), ...query };
  parsed.search = stringifyQuery(mergedQuery);
  return stringifyParsedURL(parsed);
}
function isNonEmptyURL(url) {
  return url && url !== "/";
}
function joinURL(base, ...input) {
  let url = base || "";
  for (const segment of input.filter((url2) => isNonEmptyURL(url2))) {
    if (url) {
      const _segment = segment.replace(JOIN_LEADING_SLASH_RE, "");
      url = withTrailingSlash(url) + _segment;
    } else {
      url = segment;
    }
  }
  return url;
}
function isEqual(a, b, options = {}) {
  if (!options.trailingSlash) {
    a = withTrailingSlash(a);
    b = withTrailingSlash(b);
  }
  if (!options.leadingSlash) {
    a = withLeadingSlash(a);
    b = withLeadingSlash(b);
  }
  if (!options.encoding) {
    a = decode(a);
    b = decode(b);
  }
  return a === b;
}
const protocolRelative = Symbol.for("ufo:protocolRelative");
function parseURL(input = "", defaultProto) {
  const _specialProtoMatch = input.match(
    /^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i
  );
  if (_specialProtoMatch) {
    const [, _proto, _pathname = ""] = _specialProtoMatch;
    return {
      protocol: _proto.toLowerCase(),
      pathname: _pathname,
      href: _proto + _pathname,
      auth: "",
      host: "",
      search: "",
      hash: ""
    };
  }
  if (!hasProtocol(input, { acceptRelative: true })) {
    return parsePath(input);
  }
  const [, protocol = "", auth, hostAndPath = ""] = input.replace(/\\/g, "/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/) || [];
  let [, host = "", path = ""] = hostAndPath.match(/([^#/?]*)(.*)?/) || [];
  if (protocol === "file:") {
    path = path.replace(/\/(?=[A-Za-z]:)/, "");
  }
  const { pathname, search, hash } = parsePath(path);
  return {
    protocol: protocol.toLowerCase(),
    auth: auth ? auth.slice(0, Math.max(0, auth.length - 1)) : "",
    host,
    pathname,
    search,
    hash,
    [protocolRelative]: !protocol
  };
}
function parsePath(input = "") {
  const [pathname = "", search = "", hash = ""] = (input.match(/([^#?]*)(\?[^#]*)?(#.*)?/) || []).splice(1);
  return {
    pathname,
    search,
    hash
  };
}
function stringifyParsedURL(parsed) {
  const pathname = parsed.pathname || "";
  const search = parsed.search ? (parsed.search.startsWith("?") ? "" : "?") + parsed.search : "";
  const hash = parsed.hash || "";
  const auth = parsed.auth ? parsed.auth + "@" : "";
  const host = parsed.host || "";
  const proto = parsed.protocol || parsed[protocolRelative] ? (parsed.protocol || "") + "//" : "";
  return proto + auth + host + pathname + search + hash;
}

const nuxtLinkDefaults = { "componentName": "NuxtLink" };
const appId = "nuxt-app";

function getNuxtAppCtx(id = appId) {
  return getContext(id, {
    asyncContext: false
  });
}
const NuxtPluginIndicator = "__nuxt_plugin";
function createNuxtApp(options) {
  var _a;
  let hydratingCount = 0;
  const nuxtApp = {
    _id: options.id || appId || "nuxt-app",
    _scope: effectScope(),
    provide: void 0,
    globalName: "nuxt",
    versions: {
      get nuxt() {
        return "3.16.0";
      },
      get vue() {
        return nuxtApp.vueApp.version;
      }
    },
    payload: shallowReactive({
      ...((_a = options.ssrContext) == null ? void 0 : _a.payload) || {},
      data: shallowReactive({}),
      state: reactive({}),
      once: /* @__PURE__ */ new Set(),
      _errors: shallowReactive({})
    }),
    static: {
      data: {}
    },
    runWithContext(fn) {
      if (nuxtApp._scope.active && !getCurrentScope()) {
        return nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn));
      }
      return callWithNuxt(nuxtApp, fn);
    },
    isHydrating: false,
    deferHydration() {
      if (!nuxtApp.isHydrating) {
        return () => {
        };
      }
      hydratingCount++;
      let called = false;
      return () => {
        if (called) {
          return;
        }
        called = true;
        hydratingCount--;
        if (hydratingCount === 0) {
          nuxtApp.isHydrating = false;
          return nuxtApp.callHook("app:suspense:resolve");
        }
      };
    },
    _asyncDataPromises: {},
    _asyncData: shallowReactive({}),
    _payloadRevivers: {},
    ...options
  };
  {
    nuxtApp.payload.serverRendered = true;
  }
  if (nuxtApp.ssrContext) {
    nuxtApp.payload.path = nuxtApp.ssrContext.url;
    nuxtApp.ssrContext.nuxt = nuxtApp;
    nuxtApp.ssrContext.payload = nuxtApp.payload;
    nuxtApp.ssrContext.config = {
      public: nuxtApp.ssrContext.runtimeConfig.public,
      app: nuxtApp.ssrContext.runtimeConfig.app
    };
  }
  nuxtApp.hooks = createHooks();
  nuxtApp.hook = nuxtApp.hooks.hook;
  {
    const contextCaller = async function(hooks, args) {
      for (const hook of hooks) {
        await nuxtApp.runWithContext(() => hook(...args));
      }
    };
    nuxtApp.hooks.callHook = (name, ...args) => nuxtApp.hooks.callHookWith(contextCaller, name, ...args);
  }
  nuxtApp.callHook = nuxtApp.hooks.callHook;
  nuxtApp.provide = (name, value) => {
    const $name = "$" + name;
    defineGetter(nuxtApp, $name, value);
    defineGetter(nuxtApp.vueApp.config.globalProperties, $name, value);
  };
  defineGetter(nuxtApp.vueApp, "$nuxt", nuxtApp);
  defineGetter(nuxtApp.vueApp.config.globalProperties, "$nuxt", nuxtApp);
  const runtimeConfig = options.ssrContext.runtimeConfig;
  nuxtApp.provide("config", runtimeConfig);
  return nuxtApp;
}
function registerPluginHooks(nuxtApp, plugin) {
  if (plugin.hooks) {
    nuxtApp.hooks.addHooks(plugin.hooks);
  }
}
async function applyPlugin(nuxtApp, plugin) {
  if (typeof plugin === "function") {
    const { provide } = await nuxtApp.runWithContext(() => plugin(nuxtApp)) || {};
    if (provide && typeof provide === "object") {
      for (const key in provide) {
        nuxtApp.provide(key, provide[key]);
      }
    }
  }
}
async function applyPlugins(nuxtApp, plugins) {
  var _a, _b, _c, _d;
  const resolvedPlugins = [];
  const unresolvedPlugins = [];
  const parallels = [];
  const errors = [];
  let promiseDepth = 0;
  async function executePlugin(plugin) {
    var _a2;
    const unresolvedPluginsForThisPlugin = ((_a2 = plugin.dependsOn) == null ? void 0 : _a2.filter((name) => plugins.some((p) => p._name === name) && !resolvedPlugins.includes(name))) ?? [];
    if (unresolvedPluginsForThisPlugin.length > 0) {
      unresolvedPlugins.push([new Set(unresolvedPluginsForThisPlugin), plugin]);
    } else {
      const promise = applyPlugin(nuxtApp, plugin).then(async () => {
        if (plugin._name) {
          resolvedPlugins.push(plugin._name);
          await Promise.all(unresolvedPlugins.map(async ([dependsOn, unexecutedPlugin]) => {
            if (dependsOn.has(plugin._name)) {
              dependsOn.delete(plugin._name);
              if (dependsOn.size === 0) {
                promiseDepth++;
                await executePlugin(unexecutedPlugin);
              }
            }
          }));
        }
      });
      if (plugin.parallel) {
        parallels.push(promise.catch((e) => errors.push(e)));
      } else {
        await promise;
      }
    }
  }
  for (const plugin of plugins) {
    if (((_a = nuxtApp.ssrContext) == null ? void 0 : _a.islandContext) && ((_b = plugin.env) == null ? void 0 : _b.islands) === false) {
      continue;
    }
    registerPluginHooks(nuxtApp, plugin);
  }
  for (const plugin of plugins) {
    if (((_c = nuxtApp.ssrContext) == null ? void 0 : _c.islandContext) && ((_d = plugin.env) == null ? void 0 : _d.islands) === false) {
      continue;
    }
    await executePlugin(plugin);
  }
  await Promise.all(parallels);
  if (promiseDepth) {
    for (let i = 0; i < promiseDepth; i++) {
      await Promise.all(parallels);
    }
  }
  if (errors.length) {
    throw errors[0];
  }
}
// @__NO_SIDE_EFFECTS__
function defineNuxtPlugin(plugin) {
  if (typeof plugin === "function") {
    return plugin;
  }
  const _name = plugin._name || plugin.name;
  delete plugin.name;
  return Object.assign(plugin.setup || (() => {
  }), plugin, { [NuxtPluginIndicator]: true, _name });
}
function callWithNuxt(nuxt, setup, args) {
  const fn = () => setup();
  const nuxtAppCtx = getNuxtAppCtx(nuxt._id);
  {
    return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt, fn));
  }
}
function tryUseNuxtApp(id) {
  var _a;
  let nuxtAppInstance;
  if (hasInjectionContext()) {
    nuxtAppInstance = (_a = getCurrentInstance()) == null ? void 0 : _a.appContext.app.$nuxt;
  }
  nuxtAppInstance || (nuxtAppInstance = getNuxtAppCtx(id).tryUse());
  return nuxtAppInstance || null;
}
function useNuxtApp(id) {
  const nuxtAppInstance = tryUseNuxtApp(id);
  if (!nuxtAppInstance) {
    {
      throw new Error("[nuxt] instance unavailable");
    }
  }
  return nuxtAppInstance;
}
// @__NO_SIDE_EFFECTS__
function useRuntimeConfig(_event) {
  return useNuxtApp().$config;
}
function defineGetter(obj, key, val) {
  Object.defineProperty(obj, key, { get: () => val });
}

const PageRouteSymbol = Symbol("route");

const useRouter = () => {
  var _a;
  return (_a = useNuxtApp()) == null ? void 0 : _a.$router;
};
const useRoute = () => {
  if (hasInjectionContext()) {
    return inject(PageRouteSymbol, useNuxtApp()._route);
  }
  return useNuxtApp()._route;
};
// @__NO_SIDE_EFFECTS__
function defineNuxtRouteMiddleware(middleware) {
  return middleware;
}
const isProcessingMiddleware = () => {
  try {
    if (useNuxtApp()._processingMiddleware) {
      return true;
    }
  } catch {
    return false;
  }
  return false;
};
const URL_QUOTE_RE = /"/g;
const navigateTo = (to, options) => {
  to || (to = "/");
  const toPath = typeof to === "string" ? to : "path" in to ? resolveRouteObject(to) : useRouter().resolve(to).href;
  const isExternalHost = hasProtocol(toPath, { acceptRelative: true });
  const isExternal = (options == null ? void 0 : options.external) || isExternalHost;
  if (isExternal) {
    if (!(options == null ? void 0 : options.external)) {
      throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");
    }
    const { protocol } = new URL(toPath, "http://localhost");
    if (protocol && isScriptProtocol(protocol)) {
      throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`);
    }
  }
  const inMiddleware = isProcessingMiddleware();
  const router = useRouter();
  const nuxtApp = useNuxtApp();
  {
    if (nuxtApp.ssrContext) {
      const fullPath = typeof to === "string" || isExternal ? toPath : router.resolve(to).fullPath || "/";
      const location2 = isExternal ? toPath : joinURL(useRuntimeConfig().app.baseURL, fullPath);
      const redirect = async function(response) {
        await nuxtApp.callHook("app:redirected");
        const encodedLoc = location2.replace(URL_QUOTE_RE, "%22");
        const encodedHeader = encodeURL(location2, isExternalHost);
        nuxtApp.ssrContext._renderResponse = {
          statusCode: sanitizeStatusCode((options == null ? void 0 : options.redirectCode) || 302, 302),
          body: `<!DOCTYPE html><html><head><meta http-equiv="refresh" content="0; url=${encodedLoc}"></head></html>`,
          headers: { location: encodedHeader }
        };
        return response;
      };
      if (!isExternal && inMiddleware) {
        router.afterEach((final) => final.fullPath === fullPath ? redirect(false) : void 0);
        return to;
      }
      return redirect(!inMiddleware ? void 0 : (
        /* abort route navigation */
        false
      ));
    }
  }
  if (isExternal) {
    nuxtApp._scope.stop();
    if (options == null ? void 0 : options.replace) {
      (void 0).replace(toPath);
    } else {
      (void 0).href = toPath;
    }
    if (inMiddleware) {
      if (!nuxtApp.isHydrating) {
        return false;
      }
      return new Promise(() => {
      });
    }
    return Promise.resolve();
  }
  return (options == null ? void 0 : options.replace) ? router.replace(to) : router.push(to);
};
function resolveRouteObject(to) {
  return withQuery(to.path || "", to.query || {}) + (to.hash || "");
}
function encodeURL(location2, isExternalHost = false) {
  const url = new URL(location2, "http://localhost");
  if (!isExternalHost) {
    return url.pathname + url.search + url.hash;
  }
  if (location2.startsWith("//")) {
    return url.toString().replace(url.protocol, "");
  }
  return url.toString();
}

const NUXT_ERROR_SIGNATURE = "__nuxt_error";
const useError = () => toRef(useNuxtApp().payload, "error");
const showError = (error) => {
  const nuxtError = createError(error);
  try {
    const nuxtApp = useNuxtApp();
    const error2 = useError();
    if (false) ;
    error2.value || (error2.value = nuxtError);
  } catch {
    throw nuxtError;
  }
  return nuxtError;
};
const isNuxtError = (error) => !!error && typeof error === "object" && NUXT_ERROR_SIGNATURE in error;
const createError = (error) => {
  const nuxtError = createError$1(error);
  Object.defineProperty(nuxtError, NUXT_ERROR_SIGNATURE, {
    value: true,
    configurable: false,
    writable: false
  });
  return nuxtError;
};

const unhead_dp1SxSKB06hYMJELWjNfMtwvJsT23iDY2Mk_6THvQzk = defineNuxtPlugin({
  name: "nuxt:head",
  enforce: "pre",
  setup(nuxtApp) {
    const head = nuxtApp.ssrContext.head;
    nuxtApp.vueApp.use(head);
  }
});

function isPlainObject(value) {
  if (value === null || typeof value !== "object") {
    return false;
  }
  const prototype = Object.getPrototypeOf(value);
  if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) {
    return false;
  }
  if (Symbol.iterator in value) {
    return false;
  }
  if (Symbol.toStringTag in value) {
    return Object.prototype.toString.call(value) === "[object Module]";
  }
  return true;
}
function _defu(baseObject, defaults, namespace = ".", merger) {
  if (!isPlainObject(defaults)) {
    return _defu(baseObject, {}, namespace);
  }
  const object = Object.assign({}, defaults);
  for (const key in baseObject) {
    if (key === "__proto__" || key === "constructor") {
      continue;
    }
    const value = baseObject[key];
    if (value === null || value === void 0) {
      continue;
    }
    if (Array.isArray(value) && Array.isArray(object[key])) {
      object[key] = [...value, ...object[key]];
    } else if (isPlainObject(value) && isPlainObject(object[key])) {
      object[key] = _defu(
        value,
        object[key],
        (namespace ? `${namespace}.` : "") + key.toString());
    } else {
      object[key] = value;
    }
  }
  return object;
}
function createDefu(merger) {
  return (...arguments_) => (
    // eslint-disable-next-line unicorn/no-array-reduce
    arguments_.reduce((p, c) => _defu(p, c, ""), {})
  );
}
const defu = createDefu();

async function getRouteRules(arg) {
  const path = typeof arg === "string" ? arg : arg.path;
  {
    useNuxtApp().ssrContext._preloadManifest = true;
    const _routeRulesMatcher = toRouteMatcher(
      createRouter({ routes: useRuntimeConfig().nitro.routeRules })
    );
    return defu({}, ..._routeRulesMatcher.matchAll(path).reverse());
  }
}

const manifest_45route_45rule = defineNuxtRouteMiddleware(async (to) => {
  {
    return;
  }
});

const globalMiddleware = [
  manifest_45route_45rule
];

function getRouteFromPath(fullPath) {
  if (typeof fullPath === "object") {
    fullPath = stringifyParsedURL({
      pathname: fullPath.path || "",
      search: stringifyQuery(fullPath.query || {}),
      hash: fullPath.hash || ""
    });
  }
  const url = new URL(fullPath.toString(), "http://localhost");
  return {
    path: url.pathname,
    fullPath,
    query: parseQuery(url.search),
    hash: url.hash,
    // stub properties for compat with vue-router
    params: {},
    name: void 0,
    matched: [],
    redirectedFrom: void 0,
    meta: {},
    href: fullPath
  };
}
const router_zDycv0JhcQsMbxA5lqQNOFphjiM1ZIDCw2YOMH26ZzQ = defineNuxtPlugin({
  name: "nuxt:router",
  enforce: "pre",
  setup(nuxtApp) {
    const initialURL = nuxtApp.ssrContext.url;
    const routes = [];
    const hooks = {
      "navigate:before": [],
      "resolve:before": [],
      "navigate:after": [],
      "error": []
    };
    const registerHook = (hook, guard) => {
      hooks[hook].push(guard);
      return () => hooks[hook].splice(hooks[hook].indexOf(guard), 1);
    };
    useRuntimeConfig().app.baseURL;
    const route = reactive(getRouteFromPath(initialURL));
    async function handleNavigation(url, replace) {
      try {
        const to = getRouteFromPath(url);
        for (const middleware of hooks["navigate:before"]) {
          const result = await middleware(to, route);
          if (result === false || result instanceof Error) {
            return;
          }
          if (typeof result === "string" && result.length) {
            return handleNavigation(result, true);
          }
        }
        for (const handler of hooks["resolve:before"]) {
          await handler(to, route);
        }
        Object.assign(route, to);
        if (false) ;
        for (const middleware of hooks["navigate:after"]) {
          await middleware(to, route);
        }
      } catch (err) {
        for (const handler of hooks.error) {
          await handler(err);
        }
      }
    }
    const currentRoute = computed(() => route);
    const router = {
      currentRoute,
      isReady: () => Promise.resolve(),
      // These options provide a similar API to vue-router but have no effect
      options: {},
      install: () => Promise.resolve(),
      // Navigation
      push: (url) => handleNavigation(url),
      replace: (url) => handleNavigation(url),
      back: () => (void 0).history.go(-1),
      go: (delta) => (void 0).history.go(delta),
      forward: () => (void 0).history.go(1),
      // Guards
      beforeResolve: (guard) => registerHook("resolve:before", guard),
      beforeEach: (guard) => registerHook("navigate:before", guard),
      afterEach: (guard) => registerHook("navigate:after", guard),
      onError: (handler) => registerHook("error", handler),
      // Routes
      resolve: getRouteFromPath,
      addRoute: (parentName, route2) => {
        routes.push(route2);
      },
      getRoutes: () => routes,
      hasRoute: (name) => routes.some((route2) => route2.name === name),
      removeRoute: (name) => {
        const index = routes.findIndex((route2) => route2.name === name);
        if (index !== -1) {
          routes.splice(index, 1);
        }
      }
    };
    nuxtApp.vueApp.component("RouterLink", defineComponent({
      functional: true,
      props: {
        to: {
          type: String,
          required: true
        },
        custom: Boolean,
        replace: Boolean,
        // Not implemented
        activeClass: String,
        exactActiveClass: String,
        ariaCurrentValue: String
      },
      setup: (props, { slots }) => {
        const navigate = () => handleNavigation(props.to, props.replace);
        return () => {
          var _a;
          const route2 = router.resolve(props.to);
          return props.custom ? (_a = slots.default) == null ? void 0 : _a.call(slots, { href: props.to, navigate, route: route2 }) : h("a", { href: props.to, onClick: (e) => {
            e.preventDefault();
            return navigate();
          } }, slots);
        };
      }
    }));
    nuxtApp._route = route;
    nuxtApp._middleware || (nuxtApp._middleware = {
      global: [],
      named: {}
    });
    const initialLayout = nuxtApp.payload.state._layout;
    nuxtApp.hooks.hookOnce("app:created", async () => {
      router.beforeEach(async (to, from) => {
        var _a;
        to.meta = reactive(to.meta || {});
        if (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) {
          to.meta.layout = initialLayout;
        }
        nuxtApp._processingMiddleware = true;
        if (!((_a = nuxtApp.ssrContext) == null ? void 0 : _a.islandContext)) {
          const middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]);
          {
            const routeRules = await nuxtApp.runWithContext(() => getRouteRules({ path: to.path }));
            if (routeRules.appMiddleware) {
              for (const key in routeRules.appMiddleware) {
                const guard = nuxtApp._middleware.named[key];
                if (!guard) {
                  return;
                }
                if (routeRules.appMiddleware[key]) {
                  middlewareEntries.add(guard);
                } else {
                  middlewareEntries.delete(guard);
                }
              }
            }
          }
          for (const middleware of middlewareEntries) {
            const result = await nuxtApp.runWithContext(() => middleware(to, from));
            {
              if (result === false || result instanceof Error) {
                const error = result || createError$1({
                  statusCode: 404,
                  statusMessage: `Page Not Found: ${initialURL}`,
                  data: {
                    path: initialURL
                  }
                });
                delete nuxtApp._processingMiddleware;
                return nuxtApp.runWithContext(() => showError(error));
              }
            }
            if (result === true) {
              continue;
            }
            if (result || result === false) {
              return result;
            }
          }
        }
      });
      router.afterEach(() => {
        delete nuxtApp._processingMiddleware;
      });
      await router.replace(initialURL);
      if (!isEqual(route.fullPath, initialURL)) {
        await nuxtApp.runWithContext(() => navigateTo(route.fullPath));
      }
    });
    return {
      provide: {
        route,
        router
      }
    };
  }
});

function definePayloadReducer(name, reduce) {
  {
    useNuxtApp().ssrContext._payloadReducers[name] = reduce;
  }
}

const reducers = [
  ["NuxtError", (data) => isNuxtError(data) && data.toJSON()],
  ["EmptyShallowRef", (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === "bigint" ? "0n" : JSON.stringify(data.value) || "_")],
  ["EmptyRef", (data) => isRef(data) && !data.value && (typeof data.value === "bigint" ? "0n" : JSON.stringify(data.value) || "_")],
  ["ShallowRef", (data) => isRef(data) && isShallow(data) && data.value],
  ["ShallowReactive", (data) => isReactive(data) && isShallow(data) && toRaw(data)],
  ["Ref", (data) => isRef(data) && data.value],
  ["Reactive", (data) => isReactive(data) && toRaw(data)]
];
const revive_payload_server_BXtMNu_ou6aFPdlr2yij0Fh8hzak_1_swgnvOLyyoss = defineNuxtPlugin({
  name: "nuxt:revive-payload:server",
  setup() {
    for (const [reducer, fn] of reducers) {
      definePayloadReducer(reducer, fn);
    }
  }
});

const components_plugin_z4hgvsiddfKkfXTP6M8M4zG5Cb7sGnDhcryKVM45Di4 = defineNuxtPlugin({
  name: "nuxt:global-components"
});

const element_plus_teleports_plugin_3k7A_fjEiCzFRl6aN3qftblOS_EZCmhIb_4gXrhvbuY = defineNuxtPlugin((nuxtApp) => {
  nuxtApp.hook("app:rendered", (ctx) => {
    var _a;
    if ((_a = ctx.ssrContext) == null ? void 0 : _a.teleports) {
      ctx.ssrContext.teleports = renderTeleports(ctx.ssrContext.teleports);
    }
  });
});
function renderTeleports(teleports) {
  const body = Object.entries(teleports).reduce((all, [key, value]) => {
    if (key.startsWith("#el-popper-container-") || [].includes(key)) {
      return `${all}<div id="${key.slice(1)}">${value}</div>`;
    }
    return all;
  }, teleports.body || "");
  return { ...teleports, body };
}

const defaultNamespace = "el";
const statePrefix = "is-";
const _bem = (namespace, block, blockSuffix, element, modifier) => {
  let cls = `${namespace}-${block}`;
  if (blockSuffix) {
    cls += `-${blockSuffix}`;
  }
  if (element) {
    cls += `__${element}`;
  }
  if (modifier) {
    cls += `--${modifier}`;
  }
  return cls;
};
const namespaceContextKey = Symbol("namespaceContextKey");
const useGetDerivedNamespace = (namespaceOverrides) => {
  const derivedNamespace = getCurrentInstance() ? inject(namespaceContextKey, ref(defaultNamespace)) : ref(defaultNamespace);
  const namespace = computed(() => {
    return unref(derivedNamespace) || defaultNamespace;
  });
  return namespace;
};
const useNamespace = (block, namespaceOverrides) => {
  const namespace = useGetDerivedNamespace();
  const b = (blockSuffix = "") => _bem(namespace.value, block, blockSuffix, "", "");
  const e = (element) => element ? _bem(namespace.value, block, "", element, "") : "";
  const m = (modifier) => modifier ? _bem(namespace.value, block, "", "", modifier) : "";
  const be = (blockSuffix, element) => blockSuffix && element ? _bem(namespace.value, block, blockSuffix, element, "") : "";
  const em = (element, modifier) => element && modifier ? _bem(namespace.value, block, "", element, modifier) : "";
  const bm = (blockSuffix, modifier) => blockSuffix && modifier ? _bem(namespace.value, block, blockSuffix, "", modifier) : "";
  const bem = (blockSuffix, element, modifier) => blockSuffix && element && modifier ? _bem(namespace.value, block, blockSuffix, element, modifier) : "";
  const is = (name, ...args) => {
    const state = args.length >= 1 ? args[0] : true;
    return name && state ? `${statePrefix}${name}` : "";
  };
  const cssVar = (object) => {
    const styles = {};
    for (const key in object) {
      if (object[key]) {
        styles[`--${namespace.value}-${key}`] = object[key];
      }
    }
    return styles;
  };
  const cssVarBlock = (object) => {
    const styles = {};
    for (const key in object) {
      if (object[key]) {
        styles[`--${namespace.value}-${block}-${key}`] = object[key];
      }
    }
    return styles;
  };
  const cssVarName = (name) => `--${namespace.value}-${name}`;
  const cssVarBlockName = (name) => `--${namespace.value}-${block}-${name}`;
  return {
    namespace,
    b,
    e,
    m,
    be,
    em,
    bm,
    bem,
    is,
    cssVar,
    cssVarName,
    cssVarBlock,
    cssVarBlockName
  };
};

var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};

var shared_cjs_prod = {};

var hasRequiredShared_cjs_prod;
function requireShared_cjs_prod() {
  if (hasRequiredShared_cjs_prod) return shared_cjs_prod;
  hasRequiredShared_cjs_prod = 1;
  /**
  * @vue/shared v3.5.13
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
  * @license MIT
  **/
  Object.defineProperty(shared_cjs_prod, "__esModule", { value: true });
  /*! #__NO_SIDE_EFFECTS__ */
  // @__NO_SIDE_EFFECTS__
  function makeMap(str) {
    const map = /* @__PURE__ */ Object.create(null);
    for (const key of str.split(",")) map[key] = 1;
    return (val) => val in map;
  }
  const EMPTY_OBJ = {};
  const EMPTY_ARR = [];
  const NOOP = () => {
  };
  const NO = () => false;
  const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter
  (key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);
  const isModelListener = (key) => key.startsWith("onUpdate:");
  const extend = Object.assign;
  const remove = (arr, el) => {
    const i = arr.indexOf(el);
    if (i > -1) {
      arr.splice(i, 1);
    }
  };
  const hasOwnProperty = Object.prototype.hasOwnProperty;
  const hasOwn = (val, key) => hasOwnProperty.call(val, key);
  const isArray = Array.isArray;
  const isMap = (val) => toTypeString(val) === "[object Map]";
  const isSet = (val) => toTypeString(val) === "[object Set]";
  const isDate = (val) => toTypeString(val) === "[object Date]";
  const isRegExp = (val) => toTypeString(val) === "[object RegExp]";
  const isFunction = (val) => typeof val === "function";
  const isString = (val) => typeof val === "string";
  const isSymbol = (val) => typeof val === "symbol";
  const isObject = (val) => val !== null && typeof val === "object";
  const isPromise = (val) => {
    return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);
  };
  const objectToString = Object.prototype.toString;
  const toTypeString = (value) => objectToString.call(value);
  const toRawType = (value) => {
    return toTypeString(value).slice(8, -1);
  };
  const isPlainObject = (val) => toTypeString(val) === "[object Object]";
  const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
  const isReservedProp = /* @__PURE__ */ makeMap(
    // the leading comma is intentional so empty string "" is also included
    ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
  );
  const isBuiltInDirective = /* @__PURE__ */ makeMap(
    "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"
  );
  const cacheStringFunction = (fn) => {
    const cache = /* @__PURE__ */ Object.create(null);
    return (str) => {
      const hit = cache[str];
      return hit || (cache[str] = fn(str));
    };
  };
  const camelizeRE = /-(\w)/g;
  const camelize = cacheStringFunction(
    (str) => {
      return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
    }
  );
  const hyphenateRE = /\B([A-Z])/g;
  const hyphenate = cacheStringFunction(
    (str) => str.replace(hyphenateRE, "-$1").toLowerCase()
  );
  const capitalize = cacheStringFunction((str) => {
    return str.charAt(0).toUpperCase() + str.slice(1);
  });
  const toHandlerKey = cacheStringFunction(
    (str) => {
      const s = str ? `on${capitalize(str)}` : ``;
      return s;
    }
  );
  const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
  const invokeArrayFns = (fns, ...arg) => {
    for (let i = 0; i < fns.length; i++) {
      fns[i](...arg);
    }
  };
  const def = (obj, key, value, writable = false) => {
    Object.defineProperty(obj, key, {
      configurable: true,
      enumerable: false,
      writable,
      value
    });
  };
  const looseToNumber = (val) => {
    const n = parseFloat(val);
    return isNaN(n) ? val : n;
  };
  const toNumber = (val) => {
    const n = isString(val) ? Number(val) : NaN;
    return isNaN(n) ? val : n;
  };
  let _globalThis;
  const getGlobalThis = () => {
    return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof commonjsGlobal !== "undefined" ? commonjsGlobal : {});
  };
  const identRE = /^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/;
  function genPropsAccessExp(name) {
    return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;
  }
  function genCacheKey(source, options) {
    return source + JSON.stringify(
      options,
      (_, val) => typeof val === "function" ? val.toString() : val
    );
  }
  const PatchFlags = {
    "TEXT": 1,
    "1": "TEXT",
    "CLASS": 2,
    "2": "CLASS",
    "STYLE": 4,
    "4": "STYLE",
    "PROPS": 8,
    "8": "PROPS",
    "FULL_PROPS": 16,
    "16": "FULL_PROPS",
    "NEED_HYDRATION": 32,
    "32": "NEED_HYDRATION",
    "STABLE_FRAGMENT": 64,
    "64": "STABLE_FRAGMENT",
    "KEYED_FRAGMENT": 128,
    "128": "KEYED_FRAGMENT",
    "UNKEYED_FRAGMENT": 256,
    "256": "UNKEYED_FRAGMENT",
    "NEED_PATCH": 512,
    "512": "NEED_PATCH",
    "DYNAMIC_SLOTS": 1024,
    "1024": "DYNAMIC_SLOTS",
    "DEV_ROOT_FRAGMENT": 2048,
    "2048": "DEV_ROOT_FRAGMENT",
    "CACHED": -1,
    "-1": "CACHED",
    "BAIL": -2,
    "-2": "BAIL"
  };
  const PatchFlagNames = {
    [1]: `TEXT`,
    [2]: `CLASS`,
    [4]: `STYLE`,
    [8]: `PROPS`,
    [16]: `FULL_PROPS`,
    [32]: `NEED_HYDRATION`,
    [64]: `STABLE_FRAGMENT`,
    [128]: `KEYED_FRAGMENT`,
    [256]: `UNKEYED_FRAGMENT`,
    [512]: `NEED_PATCH`,
    [1024]: `DYNAMIC_SLOTS`,
    [2048]: `DEV_ROOT_FRAGMENT`,
    [-1]: `HOISTED`,
    [-2]: `BAIL`
  };
  const ShapeFlags = {
    "ELEMENT": 1,
    "1": "ELEMENT",
    "FUNCTIONAL_COMPONENT": 2,
    "2": "FUNCTIONAL_COMPONENT",
    "STATEFUL_COMPONENT": 4,
    "4": "STATEFUL_COMPONENT",
    "TEXT_CHILDREN": 8,
    "8": "TEXT_CHILDREN",
    "ARRAY_CHILDREN": 16,
    "16": "ARRAY_CHILDREN",
    "SLOTS_CHILDREN": 32,
    "32": "SLOTS_CHILDREN",
    "TELEPORT": 64,
    "64": "TELEPORT",
    "SUSPENSE": 128,
    "128": "SUSPENSE",
    "COMPONENT_SHOULD_KEEP_ALIVE": 256,
    "256": "COMPONENT_SHOULD_KEEP_ALIVE",
    "COMPONENT_KEPT_ALIVE": 512,
    "512": "COMPONENT_KEPT_ALIVE",
    "COMPONENT": 6,
    "6": "COMPONENT"
  };
  const SlotFlags = {
    "STABLE": 1,
    "1": "STABLE",
    "DYNAMIC": 2,
    "2": "DYNAMIC",
    "FORWARDED": 3,
    "3": "FORWARDED"
  };
  const slotFlagsText = {
    [1]: "STABLE",
    [2]: "DYNAMIC",
    [3]: "FORWARDED"
  };
  const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol";
  const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);
  const isGloballyWhitelisted = isGloballyAllowed;
  const range = 2;
  function generateCodeFrame(source, start = 0, end = source.length) {
    start = Math.max(0, Math.min(start, source.length));
    end = Math.max(0, Math.min(end, source.length));
    if (start > end) return "";
    let lines = source.split(/(\r?\n)/);
    const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);
    lines = lines.filter((_, idx) => idx % 2 === 0);
    let count = 0;
    const res = [];
    for (let i = 0; i < lines.length; i++) {
      count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);
      if (count >= start) {
        for (let j = i - range; j <= i + range || end > count; j++) {
          if (j < 0 || j >= lines.length) continue;
          const line = j + 1;
          res.push(
            `${line}${" ".repeat(Math.max(3 - String(line).length, 0))}|  ${lines[j]}`
          );
          const lineLength = lines[j].length;
          const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;
          if (j === i) {
            const pad = start - (count - (lineLength + newLineSeqLength));
            const length = Math.max(
              1,
              end > count ? lineLength - pad : end - start
            );
            res.push(`   |  ` + " ".repeat(pad) + "^".repeat(length));
          } else if (j > i) {
            if (end > count) {
              const length = Math.max(Math.min(end - count, lineLength), 1);
              res.push(`   |  ` + "^".repeat(length));
            }
            count += lineLength + newLineSeqLength;
          }
        }
        break;
      }
    }
    return res.join("\n");
  }
  function normalizeStyle(value) {
    if (isArray(value)) {
      const res = {};
      for (let i = 0; i < value.length; i++) {
        const item = value[i];
        const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);
        if (normalized) {
          for (const key in normalized) {
            res[key] = normalized[key];
          }
        }
      }
      return res;
    } else if (isString(value) || isObject(value)) {
      return value;
    }
  }
  const listDelimiterRE = /;(?![^(]*\))/g;
  const propertyDelimiterRE = /:([^]+)/;
  const styleCommentRE = /\/\*[^]*?\*\//g;
  function parseStringStyle(cssText) {
    const ret = {};
    cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => {
      if (item) {
        const tmp = item.split(propertyDelimiterRE);
        tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
      }
    });
    return ret;
  }
  function stringifyStyle(styles) {
    if (!styles) return "";
    if (isString(styles)) return styles;
    let ret = "";
    for (const key in styles) {
      const value = styles[key];
      if (isString(value) || typeof value === "number") {
        const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);
        ret += `${normalizedKey}:${value};`;
      }
    }
    return ret;
  }
  function normalizeClass(value) {
    let res = "";
    if (isString(value)) {
      res = value;
    } else if (isArray(value)) {
      for (let i = 0; i < value.length; i++) {
        const normalized = normalizeClass(value[i]);
        if (normalized) {
          res += normalized + " ";
        }
      }
    } else if (isObject(value)) {
      for (const name in value) {
        if (value[name]) {
          res += name + " ";
        }
      }
    }
    return res.trim();
  }
  function normalizeProps(props) {
    if (!props) return null;
    let { class: klass, style } = props;
    if (klass && !isString(klass)) {
      props.class = normalizeClass(klass);
    }
    if (style) {
      props.style = normalizeStyle(style);
    }
    return props;
  }
  const HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot";
  const SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view";
  const MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics";
  const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr";
  const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);
  const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);
  const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);
  const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
  const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
  const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
  const isBooleanAttr = /* @__PURE__ */ makeMap(
    specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`
  );
  function includeBooleanAttr(value) {
    return !!value || value === "";
  }
  const unsafeAttrCharRE = /[>/="'\u0009\u000a\u000c\u0020]/;
  const attrValidationCache = {};
  function isSSRSafeAttrName(name) {
    if (attrValidationCache.hasOwnProperty(name)) {
      return attrValidationCache[name];
    }
    const isUnsafe = unsafeAttrCharRE.test(name);
    if (isUnsafe) {
      console.error(`unsafe attribute name: ${name}`);
    }
    return attrValidationCache[name] = !isUnsafe;
  }
  const propsToAttrMap = {
    acceptCharset: "accept-charset",
    className: "class",
    htmlFor: "for",
    httpEquiv: "http-equiv"
  };
  const isKnownHtmlAttr = /* @__PURE__ */ makeMap(
    `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`
  );
  const isKnownSvgAttr = /* @__PURE__ */ makeMap(
    `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`
  );
  const isKnownMathMLAttr = /* @__PURE__ */ makeMap(
    `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`
  );
  function isRenderableAttrValue(value) {
    if (value == null) {
      return false;
    }
    const type = typeof value;
    return type === "string" || type === "number" || type === "boolean";
  }
  const escapeRE = /["'&<>]/;
  function escapeHtml(string) {
    const str = "" + string;
    const match = escapeRE.exec(str);
    if (!match) {
      return str;
    }
    let html = "";
    let escaped;
    let index;
    let lastIndex = 0;
    for (index = match.index; index < str.length; index++) {
      switch (str.charCodeAt(index)) {
        case 34:
          escaped = "&quot;";
          break;
        case 38:
          escaped = "&amp;";
          break;
        case 39:
          escaped = "&#39;";
          break;
        case 60:
          escaped = "&lt;";
          break;
        case 62:
          escaped = "&gt;";
          break;
        default:
          continue;
      }
      if (lastIndex !== index) {
        html += str.slice(lastIndex, index);
      }
      lastIndex = index + 1;
      html += escaped;
    }
    return lastIndex !== index ? html + str.slice(lastIndex, index) : html;
  }
  const commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g;
  function escapeHtmlComment(src) {
    return src.replace(commentStripRE, "");
  }
  const cssVarNameEscapeSymbolsRE = /[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g;
  function getEscapedCssVarName(key, doubleEscape) {
    return key.replace(
      cssVarNameEscapeSymbolsRE,
      (s) => doubleEscape ? s === '"' ? '\\\\\\"' : `\\\\${s}` : `\\${s}`
    );
  }
  function looseCompareArrays(a, b) {
    if (a.length !== b.length) return false;
    let equal = true;
    for (let i = 0; equal && i < a.length; i++) {
      equal = looseEqual(a[i], b[i]);
    }
    return equal;
  }
  function looseEqual(a, b) {
    if (a === b) return true;
    let aValidType = isDate(a);
    let bValidType = isDate(b);
    if (aValidType || bValidType) {
      return aValidType && bValidType ? a.getTime() === b.getTime() : false;
    }
    aValidType = isSymbol(a);
    bValidType = isSymbol(b);
    if (aValidType || bValidType) {
      return a === b;
    }
    aValidType = isArray(a);
    bValidType = isArray(b);
    if (aValidType || bValidType) {
      return aValidType && bValidType ? looseCompareArrays(a, b) : false;
    }
    aValidType = isObject(a);
    bValidType = isObject(b);
    if (aValidType || bValidType) {
      if (!aValidType || !bValidType) {
        return false;
      }
      const aKeysCount = Object.keys(a).length;
      const bKeysCount = Object.keys(b).length;
      if (aKeysCount !== bKeysCount) {
        return false;
      }
      for (const key in a) {
        const aHasKey = a.hasOwnProperty(key);
        const bHasKey = b.hasOwnProperty(key);
        if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {
          return false;
        }
      }
    }
    return String(a) === String(b);
  }
  function looseIndexOf(arr, val) {
    return arr.findIndex((item) => looseEqual(item, val));
  }
  const isRef = (val) => {
    return !!(val && val["__v_isRef"] === true);
  };
  const toDisplayString = (val) => {
    return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);
  };
  const replacer = (_key, val) => {
    if (isRef(val)) {
      return replacer(_key, val.value);
    } else if (isMap(val)) {
      return {
        [`Map(${val.size})`]: [...val.entries()].reduce(
          (entries, [key, val2], i) => {
            entries[stringifySymbol(key, i) + " =>"] = val2;
            return entries;
          },
          {}
        )
      };
    } else if (isSet(val)) {
      return {
        [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))
      };
    } else if (isSymbol(val)) {
      return stringifySymbol(val);
    } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {
      return String(val);
    }
    return val;
  };
  const stringifySymbol = (v, i = "") => {
    var _a;
    return (
      // Symbol.description in es2019+ so we need to cast here to pass
      // the lib: es2016 check
      isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v
    );
  };
  shared_cjs_prod.EMPTY_ARR = EMPTY_ARR;
  shared_cjs_prod.EMPTY_OBJ = EMPTY_OBJ;
  shared_cjs_prod.NO = NO;
  shared_cjs_prod.NOOP = NOOP;
  shared_cjs_prod.PatchFlagNames = PatchFlagNames;
  shared_cjs_prod.PatchFlags = PatchFlags;
  shared_cjs_prod.ShapeFlags = ShapeFlags;
  shared_cjs_prod.SlotFlags = SlotFlags;
  shared_cjs_prod.camelize = camelize;
  shared_cjs_prod.capitalize = capitalize;
  shared_cjs_prod.cssVarNameEscapeSymbolsRE = cssVarNameEscapeSymbolsRE;
  shared_cjs_prod.def = def;
  shared_cjs_prod.escapeHtml = escapeHtml;
  shared_cjs_prod.escapeHtmlComment = escapeHtmlComment;
  shared_cjs_prod.extend = extend;
  shared_cjs_prod.genCacheKey = genCacheKey;
  shared_cjs_prod.genPropsAccessExp = genPropsAccessExp;
  shared_cjs_prod.generateCodeFrame = generateCodeFrame;
  shared_cjs_prod.getEscapedCssVarName = getEscapedCssVarName;
  shared_cjs_prod.getGlobalThis = getGlobalThis;
  shared_cjs_prod.hasChanged = hasChanged;
  shared_cjs_prod.hasOwn = hasOwn;
  shared_cjs_prod.hyphenate = hyphenate;
  shared_cjs_prod.includeBooleanAttr = includeBooleanAttr;
  shared_cjs_prod.invokeArrayFns = invokeArrayFns;
  shared_cjs_prod.isArray = isArray;
  shared_cjs_prod.isBooleanAttr = isBooleanAttr;
  shared_cjs_prod.isBuiltInDirective = isBuiltInDirective;
  shared_cjs_prod.isDate = isDate;
  shared_cjs_prod.isFunction = isFunction;
  shared_cjs_prod.isGloballyAllowed = isGloballyAllowed;
  shared_cjs_prod.isGloballyWhitelisted = isGloballyWhitelisted;
  shared_cjs_prod.isHTMLTag = isHTMLTag;
  shared_cjs_prod.isIntegerKey = isIntegerKey;
  shared_cjs_prod.isKnownHtmlAttr = isKnownHtmlAttr;
  shared_cjs_prod.isKnownMathMLAttr = isKnownMathMLAttr;
  shared_cjs_prod.isKnownSvgAttr = isKnownSvgAttr;
  shared_cjs_prod.isMap = isMap;
  shared_cjs_prod.isMathMLTag = isMathMLTag;
  shared_cjs_prod.isModelListener = isModelListener;
  shared_cjs_prod.isObject = isObject;
  shared_cjs_prod.isOn = isOn;
  shared_cjs_prod.isPlainObject = isPlainObject;
  shared_cjs_prod.isPromise = isPromise;
  shared_cjs_prod.isRegExp = isRegExp;
  shared_cjs_prod.isRenderableAttrValue = isRenderableAttrValue;
  shared_cjs_prod.isReservedProp = isReservedProp;
  shared_cjs_prod.isSSRSafeAttrName = isSSRSafeAttrName;
  shared_cjs_prod.isSVGTag = isSVGTag;
  shared_cjs_prod.isSet = isSet;
  shared_cjs_prod.isSpecialBooleanAttr = isSpecialBooleanAttr;
  shared_cjs_prod.isString = isString;
  shared_cjs_prod.isSymbol = isSymbol;
  shared_cjs_prod.isVoidTag = isVoidTag;
  shared_cjs_prod.looseEqual = looseEqual;
  shared_cjs_prod.looseIndexOf = looseIndexOf;
  shared_cjs_prod.looseToNumber = looseToNumber;
  shared_cjs_prod.makeMap = makeMap;
  shared_cjs_prod.normalizeClass = normalizeClass;
  shared_cjs_prod.normalizeProps = normalizeProps;
  shared_cjs_prod.normalizeStyle = normalizeStyle;
  shared_cjs_prod.objectToString = objectToString;
  shared_cjs_prod.parseStringStyle = parseStringStyle;
  shared_cjs_prod.propsToAttrMap = propsToAttrMap;
  shared_cjs_prod.remove = remove;
  shared_cjs_prod.slotFlagsText = slotFlagsText;
  shared_cjs_prod.stringifyStyle = stringifyStyle;
  shared_cjs_prod.toDisplayString = toDisplayString;
  shared_cjs_prod.toHandlerKey = toHandlerKey;
  shared_cjs_prod.toNumber = toNumber;
  shared_cjs_prod.toRawType = toRawType;
  shared_cjs_prod.toTypeString = toTypeString;
  return shared_cjs_prod;
}

var shared_cjs_prodExports$1 = /* @__PURE__ */ requireShared_cjs_prod();

class ElementPlusError extends Error {
  constructor(m) {
    super(m);
    this.name = "ElementPlusError";
  }
}
function throwError(scope, m) {
  throw new ElementPlusError(`[${scope}] ${m}`);
}

var __defProp$9 = Object.defineProperty;
var __defProps$6 = Object.defineProperties;
var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
var __hasOwnProp$b = Object.prototype.hasOwnProperty;
var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues$9 = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp$b.call(b, prop))
      __defNormalProp$9(a, prop, b[prop]);
  if (__getOwnPropSymbols$b)
    for (var prop of __getOwnPropSymbols$b(b)) {
      if (__propIsEnum$b.call(b, prop))
        __defNormalProp$9(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
function computedEager(fn, options) {
  var _a2;
  const result = shallowRef();
  watchEffect(() => {
    result.value = fn();
  }, __spreadProps$6(__spreadValues$9({}, options), {
    flush: (_a2 = void 0) != null ? _a2 : "sync"
  }));
  return readonly(result);
}
function resolveUnref(r) {
  return typeof r === "function" ? r() : unref(r);
}
function tryOnScopeDispose(fn) {
  if (getCurrentScope()) {
    onScopeDispose(fn);
    return true;
  }
  return false;
}
function useTimeoutFn(cb, interval, options = {}) {
  const {
    immediate = true
  } = options;
  const isPending = ref(false);
  let timer = null;
  function clear() {
    if (timer) {
      clearTimeout(timer);
      timer = null;
    }
  }
  function stop() {
    isPending.value = false;
    clear();
  }
  function start(...args) {
    clear();
    isPending.value = true;
    timer = setTimeout(() => {
      isPending.value = false;
      timer = null;
      cb(...args);
    }, resolveUnref(interval));
  }
  if (immediate) {
    isPending.value = true;
  }
  tryOnScopeDispose(stop);
  return {
    isPending: readonly(isPending),
    start,
    stop
  };
}

const defaultIdInjection = {
  prefix: Math.floor(Math.random() * 1e4),
  current: 0
};
const ID_INJECTION_KEY = Symbol("elIdInjection");
const useIdInjection = () => {
  return getCurrentInstance() ? inject(ID_INJECTION_KEY, defaultIdInjection) : defaultIdInjection;
};
const useId = (deterministicId) => {
  const idInjection = useIdInjection();
  const namespace = useGetDerivedNamespace();
  const idRef = computedEager(() => unref(deterministicId) || `${namespace.value}-id-${idInjection.prefix}-${idInjection.current++}`);
  return idRef;
};

const isUndefined$1 = (val) => val === void 0;
const isBoolean = (val) => typeof val === "boolean";
const isNumber = (val) => typeof val === "number";
const isElement = (e) => {
  if (typeof Element === "undefined")
    return false;
  return e instanceof Element;
};
const isStringNumber = (val) => {
  if (!shared_cjs_prodExports$1.isString(val)) {
    return false;
  }
  return !Number.isNaN(Number(val));
};
shared_cjs_prodExports$1.isFunction;
shared_cjs_prodExports$1.isObject;
shared_cjs_prodExports$1.isString;

const initial = {
  current: 0
};
const zIndex = ref(0);
const defaultInitialZIndex = 2e3;
const ZINDEX_INJECTION_KEY = Symbol("elZIndexContextKey");
const zIndexContextKey = Symbol("zIndexContextKey");
const useZIndex = (zIndexOverrides) => {
  const increasingInjection = getCurrentInstance() ? inject(ZINDEX_INJECTION_KEY, initial) : initial;
  const zIndexInjection = getCurrentInstance() ? inject(zIndexContextKey, void 0) : void 0;
  const initialZIndex = computed(() => {
    const zIndexFromInjection = unref(zIndexInjection);
    return isNumber(zIndexFromInjection) ? zIndexFromInjection : defaultInitialZIndex;
  });
  const currentZIndex = computed(() => initialZIndex.value + zIndex.value);
  const nextZIndex = () => {
    increasingInjection.current++;
    zIndex.value = increasingInjection.current;
    return currentZIndex.value;
  };
  if (!inject(ZINDEX_INJECTION_KEY)) ;
  return {
    initialZIndex,
    currentZIndex,
    nextZIndex
  };
};

const element_plus_injection_plugin_LfLkpoHjV8s4Q4lRVuq_y_LbzJB5vFvehZzxqpiP_nk = defineNuxtPlugin((nuxtApp) => {
  nuxtApp.vueApp.provide(ID_INJECTION_KEY, { "prefix": 1024, "current": 0 }).provide(ZINDEX_INJECTION_KEY, { "current": 0 });
});

const plugins = [
  unhead_dp1SxSKB06hYMJELWjNfMtwvJsT23iDY2Mk_6THvQzk,
  router_zDycv0JhcQsMbxA5lqQNOFphjiM1ZIDCw2YOMH26ZzQ,
  revive_payload_server_BXtMNu_ou6aFPdlr2yij0Fh8hzak_1_swgnvOLyyoss,
  components_plugin_z4hgvsiddfKkfXTP6M8M4zG5Cb7sGnDhcryKVM45Di4,
  element_plus_teleports_plugin_3k7A_fjEiCzFRl6aN3qftblOS_EZCmhIb_4gXrhvbuY,
  element_plus_injection_plugin_LfLkpoHjV8s4Q4lRVuq_y_LbzJB5vFvehZzxqpiP_nk
];

function injectHead(nuxtApp) {
  var _a;
  const nuxt = nuxtApp || tryUseNuxtApp();
  return ((_a = nuxt == null ? void 0 : nuxt.ssrContext) == null ? void 0 : _a.head) || (nuxt == null ? void 0 : nuxt.runWithContext(() => {
    if (hasInjectionContext()) {
      return inject(headSymbol);
    }
  }));
}
function useHead(input, options = {}) {
  const head = injectHead(options.nuxt);
  if (head) {
    return useHead$1(input, { head, ...options });
  }
}

const HeadComponentCtxSymbol = Symbol("head-component");
const TagPositionProps = {
  /**
   * @deprecated Use tagPosition
   */
  body: { type: Boolean, default: void 0 },
  tagPosition: { type: String }
};
const normalizeProps = (_props) => {
  const props = Object.fromEntries(
    Object.entries(_props).filter(([_, value]) => value !== void 0)
  );
  if (typeof props.body !== "undefined") {
    props.tagPosition = props.body ? "bodyClose" : "head";
  }
  if (typeof props.renderPriority !== "undefined") {
    props.tagPriority = props.renderPriority;
  }
  return props;
};
function useHeadComponentCtx() {
  return inject(HeadComponentCtxSymbol, createHeadComponentCtx, true);
}
function createHeadComponentCtx() {
  const prev = inject(HeadComponentCtxSymbol, null);
  if (prev) {
    return prev;
  }
  const input = reactive({});
  const entry = useHead(input);
  const ctx = { input, entry };
  provide(HeadComponentCtxSymbol, ctx);
  return ctx;
}
const globalProps = {
  accesskey: String,
  autocapitalize: String,
  autofocus: {
    type: Boolean,
    default: void 0
  },
  class: { type: [String, Object, Array], default: void 0 },
  contenteditable: {
    type: Boolean,
    default: void 0
  },
  contextmenu: String,
  dir: String,
  draggable: {
    type: Boolean,
    default: void 0
  },
  enterkeyhint: String,
  exportparts: String,
  hidden: {
    type: Boolean,
    default: void 0
  },
  id: String,
  inputmode: String,
  is: String,
  itemid: String,
  itemprop: String,
  itemref: String,
  itemscope: String,
  itemtype: String,
  lang: String,
  nonce: String,
  part: String,
  slot: String,
  spellcheck: {
    type: Boolean,
    default: void 0
  },
  style: { type: [String, Object, Array], default: void 0 },
  tabindex: String,
  title: String,
  translate: String,
  /**
   * @deprecated Use tagPriority
   */
  renderPriority: [String, Number],
  /**
   * Unhead prop to modify the priority of the tag.
   */
  tagPriority: { type: [String, Number] }
};
defineComponent({
  name: "NoScript",
  inheritAttrs: false,
  props: {
    ...globalProps,
    ...TagPositionProps,
    title: String
  },
  setup(props, { slots }) {
    const { input } = useHeadComponentCtx();
    input.noscript || (input.noscript = []);
    const idx = input.noscript.push({}) - 1;
    return () => {
      var _a;
      const noscript = normalizeProps(props);
      const slotVnodes = (_a = slots.default) == null ? void 0 : _a.call(slots);
      const textContent = slotVnodes ? slotVnodes.filter(({ children }) => children).map(({ children }) => children).join("") : "";
      if (textContent) {
        noscript.innerHTML = textContent;
      }
      input.noscript[idx] = noscript;
      return null;
    };
  }
});
defineComponent({
  name: "Link",
  inheritAttrs: false,
  props: {
    ...globalProps,
    ...TagPositionProps,
    as: String,
    crossorigin: String,
    disabled: Boolean,
    fetchpriority: String,
    href: String,
    hreflang: String,
    imagesizes: String,
    imagesrcset: String,
    integrity: String,
    media: String,
    prefetch: {
      type: Boolean,
      default: void 0
    },
    referrerpolicy: String,
    rel: String,
    sizes: String,
    title: String,
    type: String,
    /** @deprecated **/
    methods: String,
    /** @deprecated **/
    target: String
  },
  setup(props) {
    const { input } = useHeadComponentCtx();
    input.link || (input.link = []);
    const idx = input.link.push({}) - 1;
    return () => {
      input.link[idx] = normalizeProps(props);
      return null;
    };
  }
});
defineComponent({
  name: "Base",
  inheritAttrs: false,
  props: {
    ...globalProps,
    href: String,
    target: String
  },
  setup(props) {
    const { input } = useHeadComponentCtx();
    return () => {
      input.base = normalizeProps(props);
      return null;
    };
  }
});
const Title = defineComponent({
  name: "Title",
  inheritAttrs: false,
  setup(_, { slots }) {
    const { input } = useHeadComponentCtx();
    return () => {
      var _a, _b, _c;
      const defaultSlot = (_a = slots.default) == null ? void 0 : _a.call(slots);
      input.title = ((_b = defaultSlot == null ? void 0 : defaultSlot[0]) == null ? void 0 : _b.children) ? String((_c = defaultSlot == null ? void 0 : defaultSlot[0]) == null ? void 0 : _c.children) : void 0;
      return null;
    };
  }
});
const Meta = defineComponent({
  name: "Meta",
  inheritAttrs: false,
  props: {
    ...globalProps,
    charset: String,
    content: String,
    httpEquiv: String,
    name: String,
    property: String
  },
  setup(props) {
    const { input } = useHeadComponentCtx();
    input.meta || (input.meta = []);
    const idx = input.meta.push({}) - 1;
    return () => {
      const meta = { "http-equiv": props.httpEquiv, ...normalizeProps(props) };
      if ("httpEquiv" in meta) {
        delete meta.httpEquiv;
      }
      input.meta[idx] = meta;
      return null;
    };
  }
});
defineComponent({
  name: "Style",
  inheritAttrs: false,
  props: {
    ...globalProps,
    ...TagPositionProps,
    type: String,
    media: String,
    nonce: String,
    title: String,
    /** @deprecated **/
    scoped: {
      type: Boolean,
      default: void 0
    }
  },
  setup(props, { slots }) {
    const { input } = useHeadComponentCtx();
    input.style || (input.style = []);
    input.style.push({}) - 1;
    return () => {
      var _a, _b, _c;
      const style = normalizeProps(props);
      const textContent = (_c = (_b = (_a = slots.default) == null ? void 0 : _a.call(slots)) == null ? void 0 : _b[0]) == null ? void 0 : _c.children;
      if (textContent) {
        style.textContent = textContent;
      }
      return null;
    };
  }
});
const Head = defineComponent({
  name: "Head",
  inheritAttrs: false,
  setup: (_props, ctx) => {
    createHeadComponentCtx();
    return () => {
      var _a, _b;
      return (_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a);
    };
  }
});
defineComponent({
  name: "Html",
  inheritAttrs: false,
  props: {
    ...globalProps,
    manifest: String,
    version: String,
    xmlns: String
  },
  setup(_props, ctx) {
    const { input } = useHeadComponentCtx();
    return () => {
      var _a, _b;
      input.htmlAttrs = { ..._props };
      return (_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a);
    };
  }
});
defineComponent({
  name: "Body",
  inheritAttrs: false,
  props: globalProps,
  setup(_props, ctx) {
    const { input } = useHeadComponentCtx();
    return () => {
      var _a, _b;
      input.bodyAttrs = { ..._props };
      return (_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a);
    };
  }
});

const clientOnlySymbol = Symbol.for("nuxt:client-only");
const __nuxt_component_3 = defineComponent({
  name: "ClientOnly",
  inheritAttrs: false,
  props: ["fallback", "placeholder", "placeholderTag", "fallbackTag"],
  setup(_, { slots, attrs }) {
    const mounted = ref(false);
    provide(clientOnlySymbol, true);
    return (props) => {
      var _a;
      if (mounted.value) {
        return (_a = slots.default) == null ? void 0 : _a.call(slots);
      }
      const slot = slots.fallback || slots.placeholder;
      if (slot) {
        return slot();
      }
      const fallbackStr = props.fallback || props.placeholder || "";
      const fallbackTag = props.fallbackTag || props.placeholderTag || "span";
      return createElementBlock(fallbackTag, attrs, fallbackStr);
    };
  }
});

const useSameTarget = (handleClick) => {
  if (!handleClick) {
    return { onClick: shared_cjs_prodExports$1.NOOP, onMousedown: shared_cjs_prodExports$1.NOOP, onMouseup: shared_cjs_prodExports$1.NOOP };
  }
  let mousedownTarget = false;
  let mouseupTarget = false;
  const onClick = (e) => {
    if (mousedownTarget && mouseupTarget) {
      handleClick(e);
    }
    mousedownTarget = mouseupTarget = false;
  };
  const onMousedown = (e) => {
    mousedownTarget = e.target === e.currentTarget;
  };
  const onMouseup = (e) => {
    mouseupTarget = e.target === e.currentTarget;
  };
  return { onClick, onMousedown, onMouseup };
};

var PatchFlags = /* @__PURE__ */ ((PatchFlags2) => {
  PatchFlags2[PatchFlags2["TEXT"] = 1] = "TEXT";
  PatchFlags2[PatchFlags2["CLASS"] = 2] = "CLASS";
  PatchFlags2[PatchFlags2["STYLE"] = 4] = "STYLE";
  PatchFlags2[PatchFlags2["PROPS"] = 8] = "PROPS";
  PatchFlags2[PatchFlags2["FULL_PROPS"] = 16] = "FULL_PROPS";
  PatchFlags2[PatchFlags2["HYDRATE_EVENTS"] = 32] = "HYDRATE_EVENTS";
  PatchFlags2[PatchFlags2["STABLE_FRAGMENT"] = 64] = "STABLE_FRAGMENT";
  PatchFlags2[PatchFlags2["KEYED_FRAGMENT"] = 128] = "KEYED_FRAGMENT";
  PatchFlags2[PatchFlags2["UNKEYED_FRAGMENT"] = 256] = "UNKEYED_FRAGMENT";
  PatchFlags2[PatchFlags2["NEED_PATCH"] = 512] = "NEED_PATCH";
  PatchFlags2[PatchFlags2["DYNAMIC_SLOTS"] = 1024] = "DYNAMIC_SLOTS";
  PatchFlags2[PatchFlags2["HOISTED"] = -1] = "HOISTED";
  PatchFlags2[PatchFlags2["BAIL"] = -2] = "BAIL";
  return PatchFlags2;
})(PatchFlags || {});

function fromPairs(pairs) {
  var index = -1, length = pairs == null ? 0 : pairs.length, result = {};
  while (++index < length) {
    var pair = pairs[index];
    result[pair[0]] = pair[1];
  }
  return result;
}

const epPropKey = "__epPropKey";
const definePropType = (val) => val;
const isEpProp = (val) => shared_cjs_prodExports$1.isObject(val) && !!val[epPropKey];
const buildProp = (prop, key) => {
  if (!shared_cjs_prodExports$1.isObject(prop) || isEpProp(prop))
    return prop;
  const { values, required, default: defaultValue, type, validator } = prop;
  const _validator = values || validator ? (val) => {
    let valid = false;
    let allowedValues = [];
    if (values) {
      allowedValues = Array.from(values);
      if (shared_cjs_prodExports$1.hasOwn(prop, "default")) {
        allowedValues.push(defaultValue);
      }
      valid || (valid = allowedValues.includes(val));
    }
    if (validator)
      valid || (valid = validator(val));
    if (!valid && allowedValues.length > 0) {
      const allowValuesText = [...new Set(allowedValues)].map((value) => JSON.stringify(value)).join(", ");
      warn(`Invalid prop: validation failed${key ? ` for prop "${key}"` : ""}. Expected one of [${allowValuesText}], got value ${JSON.stringify(val)}.`);
    }
    return valid;
  } : void 0;
  const epProp = {
    type,
    required: !!required,
    validator: _validator,
    [epPropKey]: true
  };
  if (shared_cjs_prodExports$1.hasOwn(prop, "default"))
    epProp.default = defaultValue;
  return epProp;
};
const buildProps = (props) => fromPairs(Object.entries(props).map(([key, option]) => [
  key,
  buildProp(option, key)
]));

const overlayProps = buildProps({
  mask: {
    type: Boolean,
    default: true
  },
  customMaskEvent: Boolean,
  overlayClass: {
    type: definePropType([
      String,
      Array,
      Object
    ])
  },
  zIndex: {
    type: definePropType([String, Number])
  }
});
const overlayEmits = {
  click: (evt) => evt instanceof MouseEvent
};
const BLOCK = "overlay";
var Overlay = defineComponent({
  name: "ElOverlay",
  props: overlayProps,
  emits: overlayEmits,
  setup(props, { slots, emit }) {
    const ns = useNamespace(BLOCK);
    const onMaskClick = (e) => {
      emit("click", e);
    };
    const { onClick, onMousedown, onMouseup } = useSameTarget(props.customMaskEvent ? void 0 : onMaskClick);
    return () => {
      return props.mask ? createVNode("div", {
        class: [ns.b(), props.overlayClass],
        style: {
          zIndex: props.zIndex
        },
        onClick,
        onMousedown,
        onMouseup
      }, [renderSlot(slots, "default")], PatchFlags.STYLE | PatchFlags.CLASS | PatchFlags.PROPS, ["onClick", "onMouseup", "onMousedown"]) : h("div", {
        class: props.overlayClass,
        style: {
          zIndex: props.zIndex,
          position: "fixed",
          top: "0px",
          right: "0px",
          bottom: "0px",
          left: "0px"
        }
      }, [renderSlot(slots, "default")]);
    };
  }
});

const ElOverlay = Overlay;

const FOCUSOUT_PREVENTED = "focus-trap.focusout-prevented";
const FOCUSOUT_PREVENTED_OPTS = {
  cancelable: true,
  bubbles: false
};
const ON_TRAP_FOCUS_EVT = "focusAfterTrapped";
const ON_RELEASE_FOCUS_EVT = "focusAfterReleased";
const FOCUS_TRAP_INJECTION_KEY = Symbol("elFocusTrap");

const isFocusable = (element) => {
  if (element.tabIndex > 0 || element.tabIndex === 0 && element.getAttribute("tabIndex") !== null) {
    return true;
  }
  if (element.tabIndex < 0 || element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true") {
    return false;
  }
  switch (element.nodeName) {
    case "A": {
      return !!element.href && element.rel !== "ignore";
    }
    case "INPUT": {
      return !(element.type === "hidden" || element.type === "file");
    }
    case "BUTTON":
    case "SELECT":
    case "TEXTAREA": {
      return true;
    }
    default: {
      return false;
    }
  }
};

const focusReason = ref();
const lastUserFocusTimestamp = ref(0);
const lastAutomatedFocusTimestamp = ref(0);
const obtainAllFocusableElements = (element) => {
  const nodes = [];
  const walker = (void 0).createTreeWalker(element, NodeFilter.SHOW_ELEMENT, {
    acceptNode: (node) => {
      const isHiddenInput = node.tagName === "INPUT" && node.type === "hidden";
      if (node.disabled || node.hidden || isHiddenInput)
        return NodeFilter.FILTER_SKIP;
      return node.tabIndex >= 0 || node === (void 0).activeElement ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
    }
  });
  while (walker.nextNode())
    nodes.push(walker.currentNode);
  return nodes;
};
const getVisibleElement = (elements, container) => {
  for (const element of elements) {
    if (!isHidden(element, container))
      return element;
  }
};
const isHidden = (element, container) => {
  if (getComputedStyle(element).visibility === "hidden")
    return true;
  while (element) {
    if (container && element === container)
      return false;
    if (getComputedStyle(element).display === "none")
      return true;
    element = element.parentElement;
  }
  return false;
};
const getEdges = (container) => {
  const focusable = obtainAllFocusableElements(container);
  const first = getVisibleElement(focusable, container);
  const last = getVisibleElement(focusable.reverse(), container);
  return [first, last];
};
const isSelectable = (element) => {
  return element instanceof HTMLInputElement && "select" in element;
};
const tryFocus = (element, shouldSelect) => {
  if (element && element.focus) {
    const prevFocusedElement = (void 0).activeElement;
    let cleanup = false;
    if (isElement(element) && !isFocusable(element) && !element.getAttribute("tabindex")) {
      element.setAttribute("tabindex", "-1");
      cleanup = true;
    }
    element.focus({ preventScroll: true });
    lastAutomatedFocusTimestamp.value = (void 0).performance.now();
    if (element !== prevFocusedElement && isSelectable(element) && shouldSelect) {
      element.select();
    }
    if (isElement(element) && cleanup) {
      element.removeAttribute("tabindex");
    }
  }
};
const useFocusReason = () => {
  return {
    focusReason,
    lastUserFocusTimestamp,
    lastAutomatedFocusTimestamp
  };
};
const createFocusOutPreventedEvent = (detail) => {
  return new CustomEvent(FOCUSOUT_PREVENTED, {
    ...FOCUSOUT_PREVENTED_OPTS,
    detail
  });
};

var _export_sfc$1 = (sfc, props) => {
  const target = sfc.__vccOpts || sfc;
  for (const [key, val] of props) {
    target[key] = val;
  }
  return target;
};

const EVENT_CODE = {
  tab: "Tab"
};

function isNil(value) {
  return value == null;
}

const _sfc_main$a = defineComponent({
  name: "ElFocusTrap",
  inheritAttrs: false,
  props: {
    loop: Boolean,
    trapped: Boolean,
    focusTrapEl: Object,
    focusStartEl: {
      type: [Object, String],
      default: "first"
    }
  },
  emits: [
    ON_TRAP_FOCUS_EVT,
    ON_RELEASE_FOCUS_EVT,
    "focusin",
    "focusout",
    "focusout-prevented",
    "release-requested"
  ],
  setup(props, { emit }) {
    const forwardRef = ref();
    let lastFocusAfterTrapped;
    const { focusReason } = useFocusReason();
    const onKeydown = (e) => {
      if (!props.loop && !props.trapped)
        return;
      const { code, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e;
      const { loop } = props;
      const isTabbing = code === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey;
      const currentFocusingEl = (void 0).activeElement;
      if (isTabbing && currentFocusingEl) {
        const container = currentTarget;
        const [first, last] = getEdges(container);
        const isTabbable = first && last;
        if (!isTabbable) {
          if (currentFocusingEl === container) {
            const focusoutPreventedEvent = createFocusOutPreventedEvent({
              focusReason: focusReason.value
            });
            emit("focusout-prevented", focusoutPreventedEvent);
            if (!focusoutPreventedEvent.defaultPrevented) {
              e.preventDefault();
            }
          }
        } else {
          if (!shiftKey && currentFocusingEl === last) {
            const focusoutPreventedEvent = createFocusOutPreventedEvent({
              focusReason: focusReason.value
            });
            emit("focusout-prevented", focusoutPreventedEvent);
            if (!focusoutPreventedEvent.defaultPrevented) {
              e.preventDefault();
              if (loop)
                tryFocus(first, true);
            }
          } else if (shiftKey && [first, container].includes(currentFocusingEl)) {
            const focusoutPreventedEvent = createFocusOutPreventedEvent({
              focusReason: focusReason.value
            });
            emit("focusout-prevented", focusoutPreventedEvent);
            if (!focusoutPreventedEvent.defaultPrevented) {
              e.preventDefault();
              if (loop)
                tryFocus(last, true);
            }
          }
        }
      }
    };
    provide(FOCUS_TRAP_INJECTION_KEY, {
      focusTrapRef: forwardRef,
      onKeydown
    });
    watch(() => props.focusTrapEl, (focusTrapEl) => {
      if (focusTrapEl) {
        forwardRef.value = focusTrapEl;
      }
    }, { immediate: true });
    watch([forwardRef], ([forwardRef2], [oldForwardRef]) => {
      if (forwardRef2) {
        forwardRef2.addEventListener("keydown", onKeydown);
        forwardRef2.addEventListener("focusin", onFocusIn);
        forwardRef2.addEventListener("focusout", onFocusOut);
      }
      if (oldForwardRef) {
        oldForwardRef.removeEventListener("keydown", onKeydown);
        oldForwardRef.removeEventListener("focusin", onFocusIn);
        oldForwardRef.removeEventListener("focusout", onFocusOut);
      }
    });
    const onFocusIn = (e) => {
      const trapContainer = unref(forwardRef);
      if (!trapContainer)
        return;
      const target = e.target;
      const relatedTarget = e.relatedTarget;
      const isFocusedInTrap = target && trapContainer.contains(target);
      if (!props.trapped) {
        relatedTarget && trapContainer.contains(relatedTarget);
      }
      if (isFocusedInTrap)
        emit("focusin", e);
      if (props.trapped) {
        if (isFocusedInTrap) {
          lastFocusAfterTrapped = target;
        } else {
          tryFocus(lastFocusAfterTrapped, true);
        }
      }
    };
    const onFocusOut = (e) => {
      const trapContainer = unref(forwardRef);
      if (!trapContainer)
        return;
      if (props.trapped) {
        const relatedTarget = e.relatedTarget;
        if (!isNil(relatedTarget) && !trapContainer.contains(relatedTarget)) {
          setTimeout(() => {
            if (props.trapped) {
              const focusoutPreventedEvent = createFocusOutPreventedEvent({
                focusReason: focusReason.value
              });
              emit("focusout-prevented", focusoutPreventedEvent);
              if (!focusoutPreventedEvent.defaultPrevented) {
                tryFocus(lastFocusAfterTrapped, true);
              }
            }
          }, 0);
        }
      } else {
        const target = e.target;
        const isFocusedInTrap = target && trapContainer.contains(target);
        if (!isFocusedInTrap)
          emit("focusout", e);
      }
    };
    return {
      onKeydown
    };
  }
});
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
  return renderSlot(_ctx.$slots, "default", { handleKeydown: _ctx.onKeydown });
}
var ElFocusTrap = /* @__PURE__ */ _export_sfc$1(_sfc_main$a, [["render", _sfc_render], ["__file", "focus-trap.vue"]]);

const teleportProps = buildProps({
  to: {
    type: definePropType([String, Object]),
    required: true
  },
  disabled: Boolean
});

const _sfc_main$9 = /* @__PURE__ */ defineComponent({
  __name: "teleport",
  props: teleportProps,
  setup(__props) {
    return (_ctx, _cache) => {
      return _ctx.disabled ? renderSlot(_ctx.$slots, "default", { key: 0 }) : (openBlock(), createBlock(Teleport$1, {
        key: 1,
        to: _ctx.to
      }, [
        renderSlot(_ctx.$slots, "default")
      ], 8, ["to"]));
    };
  }
});
var Teleport = /* @__PURE__ */ _export_sfc$1(_sfc_main$9, [["__file", "teleport.vue"]]);

const withInstall = (main, extra) => {
  main.install = (app) => {
    for (const comp of [main, ...Object.values(extra != null ? extra : {})]) {
      app.component(comp.name, comp);
    }
  };
  if (extra) {
    for (const [key, comp] of Object.entries(extra)) {
      main[key] = comp;
    }
  }
  return main;
};
const withInstallFunction = (fn, name) => {
  fn.install = (app) => {
    fn._context = app._context;
    app.config.globalProperties[name] = fn;
  };
  return fn;
};
const withNoopInstall = (component) => {
  component.install = shared_cjs_prodExports$1.NOOP;
  return component;
};

const ElTeleport = withInstall(Teleport);

const iconProps = buildProps({
  size: {
    type: definePropType([Number, String])
  },
  color: {
    type: String
  }
});

function addUnit(value, defaultUnit = "px") {
  if (!value)
    return "";
  if (isNumber(value) || isStringNumber(value)) {
    return `${value}${defaultUnit}`;
  } else if (shared_cjs_prodExports$1.isString(value)) {
    return value;
  }
}

const __default__$4 = defineComponent({
  name: "ElIcon",
  inheritAttrs: false
});
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
  ...__default__$4,
  props: iconProps,
  setup(__props) {
    const props = __props;
    const ns = useNamespace("icon");
    const style = computed(() => {
      const { size, color } = props;
      if (!size && !color)
        return {};
      return {
        fontSize: isUndefined$1(size) ? void 0 : addUnit(size),
        "--color": color
      };
    });
    return (_ctx, _cache) => {
      return openBlock(), createElementBlock("i", mergeProps({
        class: unref(ns).b(),
        style: unref(style)
      }, _ctx.$attrs), [
        renderSlot(_ctx.$slots, "default")
      ], 16);
    };
  }
});
var Icon = /* @__PURE__ */ _export_sfc$1(_sfc_main$8, [["__file", "icon.vue"]]);

const ElIcon = withInstall(Icon);

const dialogInjectionKey = Symbol("dialogInjectionKey");

/*! Element Plus Icons Vue v2.3.1 */
var close_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
  name: "Close",
  __name: "close",
  setup(__props) {
    return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
      xmlns: "http://www.w3.org/2000/svg",
      viewBox: "0 0 1024 1024"
    }, [
      createElementVNode("path", {
        fill: "currentColor",
        d: "M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"
      })
    ]));
  }
});
var close_default = close_vue_vue_type_script_setup_true_lang_default;
var loading_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
  name: "Loading",
  __name: "loading",
  setup(__props) {
    return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
      xmlns: "http://www.w3.org/2000/svg",
      viewBox: "0 0 1024 1024"
    }, [
      createElementVNode("path", {
        fill: "currentColor",
        d: "M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z"
      })
    ]));
  }
});
var loading_default = loading_vue_vue_type_script_setup_true_lang_default;

const iconPropType = definePropType([
  String,
  Object,
  Function
]);
const CloseComponents = {
  Close: close_default
};

const dialogContentProps = buildProps({
  center: Boolean,
  alignCenter: Boolean,
  closeIcon: {
    type: iconPropType
  },
  draggable: Boolean,
  overflow: Boolean,
  fullscreen: Boolean,
  headerClass: String,
  bodyClass: String,
  footerClass: String,
  showClose: {
    type: Boolean,
    default: true
  },
  title: {
    type: String,
    default: ""
  },
  ariaLevel: {
    type: String,
    default: "2"
  }
});
const dialogContentEmits = {
  close: () => true
};

const useDraggable = (targetRef, dragRef, draggable, overflow) => {
  const resetPosition = () => {
    if (targetRef.value) {
      targetRef.value.style.transform = "none";
    }
  };
  return {
    resetPosition
  };
};

const composeRefs = (...refs) => {
  return (el) => {
    refs.forEach((ref) => {
      if (shared_cjs_prodExports$1.isFunction(ref)) {
        ref(el);
      } else {
        ref.value = el;
      }
    });
  };
};

var English = {
  name: "en",
  el: {
    breadcrumb: {
      label: "Breadcrumb"
    },
    colorpicker: {
      confirm: "OK",
      clear: "Clear",
      defaultLabel: "color picker",
      description: "current color is {color}. press enter to select a new color.",
      alphaLabel: "pick alpha value"
    },
    datepicker: {
      now: "Now",
      today: "Today",
      cancel: "Cancel",
      clear: "Clear",
      confirm: "OK",
      dateTablePrompt: "Use the arrow keys and enter to select the day of the month",
      monthTablePrompt: "Use the arrow keys and enter to select the month",
      yearTablePrompt: "Use the arrow keys and enter to select the year",
      selectedDate: "Selected date",
      selectDate: "Select date",
      selectTime: "Select time",
      startDate: "Start Date",
      startTime: "Start Time",
      endDate: "End Date",
      endTime: "End Time",
      prevYear: "Previous Year",
      nextYear: "Next Year",
      prevMonth: "Previous Month",
      nextMonth: "Next Month",
      year: "",
      month1: "January",
      month2: "February",
      month3: "March",
      month4: "April",
      month5: "May",
      month6: "June",
      month7: "July",
      month8: "August",
      month9: "September",
      month10: "October",
      month11: "November",
      month12: "December",
      week: "week",
      weeks: {
        sun: "Sun",
        mon: "Mon",
        tue: "Tue",
        wed: "Wed",
        thu: "Thu",
        fri: "Fri",
        sat: "Sat"
      },
      weeksFull: {
        sun: "Sunday",
        mon: "Monday",
        tue: "Tuesday",
        wed: "Wednesday",
        thu: "Thursday",
        fri: "Friday",
        sat: "Saturday"
      },
      months: {
        jan: "Jan",
        feb: "Feb",
        mar: "Mar",
        apr: "Apr",
        may: "May",
        jun: "Jun",
        jul: "Jul",
        aug: "Aug",
        sep: "Sep",
        oct: "Oct",
        nov: "Nov",
        dec: "Dec"
      }
    },
    inputNumber: {
      decrease: "decrease number",
      increase: "increase number"
    },
    select: {
      loading: "Loading",
      noMatch: "No matching data",
      noData: "No data",
      placeholder: "Select"
    },
    mention: {
      loading: "Loading"
    },
    dropdown: {
      toggleDropdown: "Toggle Dropdown"
    },
    cascader: {
      noMatch: "No matching data",
      loading: "Loading",
      placeholder: "Select",
      noData: "No data"
    },
    pagination: {
      goto: "Go to",
      pagesize: "/page",
      total: "Total {total}",
      pageClassifier: "",
      page: "Page",
      prev: "Go to previous page",
      next: "Go to next page",
      currentPage: "page {pager}",
      prevPages: "Previous {pager} pages",
      nextPages: "Next {pager} pages",
      deprecationWarning: "Deprecated usages detected, please refer to the el-pagination documentation for more details"
    },
    dialog: {
      close: "Close this dialog"
    },
    drawer: {
      close: "Close this dialog"
    },
    messagebox: {
      title: "Message",
      confirm: "OK",
      cancel: "Cancel",
      error: "Illegal input",
      close: "Close this dialog"
    },
    upload: {
      deleteTip: "press delete to remove",
      delete: "Delete",
      preview: "Preview",
      continue: "Continue"
    },
    slider: {
      defaultLabel: "slider between {min} and {max}",
      defaultRangeStartLabel: "pick start value",
      defaultRangeEndLabel: "pick end value"
    },
    table: {
      emptyText: "No Data",
      confirmFilter: "Confirm",
      resetFilter: "Reset",
      clearFilter: "All",
      sumText: "Sum"
    },
    tour: {
      next: "Next",
      previous: "Previous",
      finish: "Finish"
    },
    tree: {
      emptyText: "No Data"
    },
    transfer: {
      noMatch: "No matching data",
      noData: "No data",
      titles: ["List 1", "List 2"],
      filterPlaceholder: "Enter keyword",
      noCheckedFormat: "{total} items",
      hasCheckedFormat: "{checked}/{total} checked"
    },
    image: {
      error: "FAILED"
    },
    pageHeader: {
      title: "Back"
    },
    popconfirm: {
      confirmButtonText: "Yes",
      cancelButtonText: "No"
    },
    carousel: {
      leftArrow: "Carousel arrow left",
      rightArrow: "Carousel arrow right",
      indicator: "Carousel switch to index {index}"
    }
  }
};

var isArray = Array.isArray;

var freeGlobal = typeof global == "object" && global && global.Object === Object && global;

var freeSelf = typeof self == "object" && self && self.Object === Object && self;
var root = freeGlobal || freeSelf || Function("return this")();

var Symbol$1 = root.Symbol;

var objectProto$4 = Object.prototype;
var hasOwnProperty$3 = objectProto$4.hasOwnProperty;
var nativeObjectToString$1 = objectProto$4.toString;
var symToStringTag$1 = Symbol$1 ? Symbol$1.toStringTag : void 0;
function getRawTag(value) {
  var isOwn = hasOwnProperty$3.call(value, symToStringTag$1), tag = value[symToStringTag$1];
  try {
    value[symToStringTag$1] = void 0;
    var unmasked = true;
  } catch (e) {
  }
  var result = nativeObjectToString$1.call(value);
  if (unmasked) {
    if (isOwn) {
      value[symToStringTag$1] = tag;
    } else {
      delete value[symToStringTag$1];
    }
  }
  return result;
}

var objectProto$3 = Object.prototype;
var nativeObjectToString = objectProto$3.toString;
function objectToString(value) {
  return nativeObjectToString.call(value);
}

var nullTag = "[object Null]", undefinedTag = "[object Undefined]";
var symToStringTag = Symbol$1 ? Symbol$1.toStringTag : void 0;
function baseGetTag(value) {
  if (value == null) {
    return value === void 0 ? undefinedTag : nullTag;
  }
  return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
}

function isObjectLike(value) {
  return value != null && typeof value == "object";
}

var symbolTag = "[object Symbol]";
function isSymbol(value) {
  return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag;
}

var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/;
function isKey(value, object) {
  if (isArray(value)) {
    return false;
  }
  var type = typeof value;
  if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) {
    return true;
  }
  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
}

function isObject(value) {
  var type = typeof value;
  return value != null && (type == "object" || type == "function");
}

var asyncTag = "[object AsyncFunction]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
function isFunction(value) {
  if (!isObject(value)) {
    return false;
  }
  var tag = baseGetTag(value);
  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
}

var coreJsData = root["__core-js_shared__"];

var maskSrcKey = function() {
  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
  return uid ? "Symbol(src)_1." + uid : "";
}();
function isMasked(func) {
  return !!maskSrcKey && maskSrcKey in func;
}

var funcProto$1 = Function.prototype;
var funcToString$1 = funcProto$1.toString;
function toSource(func) {
  if (func != null) {
    try {
      return funcToString$1.call(func);
    } catch (e) {
    }
    try {
      return func + "";
    } catch (e) {
    }
  }
  return "";
}

var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
var reIsHostCtor = /^\[object .+?Constructor\]$/;
var funcProto = Function.prototype, objectProto$2 = Object.prototype;
var funcToString = funcProto.toString;
var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
var reIsNative = RegExp(
  "^" + funcToString.call(hasOwnProperty$2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function baseIsNative(value) {
  if (!isObject(value) || isMasked(value)) {
    return false;
  }
  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
  return pattern.test(toSource(value));
}

function getValue(object, key) {
  return object == null ? void 0 : object[key];
}

function getNative(object, key) {
  var value = getValue(object, key);
  return baseIsNative(value) ? value : void 0;
}

var nativeCreate = getNative(Object, "create");

function hashClear() {
  this.__data__ = nativeCreate ? nativeCreate(null) : {};
  this.size = 0;
}

function hashDelete(key) {
  var result = this.has(key) && delete this.__data__[key];
  this.size -= result ? 1 : 0;
  return result;
}

var HASH_UNDEFINED$1 = "__lodash_hash_undefined__";
var objectProto$1 = Object.prototype;
var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
function hashGet(key) {
  var data = this.__data__;
  if (nativeCreate) {
    var result = data[key];
    return result === HASH_UNDEFINED$1 ? void 0 : result;
  }
  return hasOwnProperty$1.call(data, key) ? data[key] : void 0;
}

var objectProto = Object.prototype;
var hasOwnProperty = objectProto.hasOwnProperty;
function hashHas(key) {
  var data = this.__data__;
  return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
}

var HASH_UNDEFINED = "__lodash_hash_undefined__";
function hashSet(key, value) {
  var data = this.__data__;
  this.size += this.has(key) ? 0 : 1;
  data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
  return this;
}

function Hash(entries) {
  var index = -1, length = entries == null ? 0 : entries.length;
  this.clear();
  while (++index < length) {
    var entry = entries[index];
    this.set(entry[0], entry[1]);
  }
}
Hash.prototype.clear = hashClear;
Hash.prototype["delete"] = hashDelete;
Hash.prototype.get = hashGet;
Hash.prototype.has = hashHas;
Hash.prototype.set = hashSet;

function listCacheClear() {
  this.__data__ = [];
  this.size = 0;
}

function eq(value, other) {
  return value === other || value !== value && other !== other;
}

function assocIndexOf(array, key) {
  var length = array.length;
  while (length--) {
    if (eq(array[length][0], key)) {
      return length;
    }
  }
  return -1;
}

var arrayProto = Array.prototype;
var splice = arrayProto.splice;
function listCacheDelete(key) {
  var data = this.__data__, index = assocIndexOf(data, key);
  if (index < 0) {
    return false;
  }
  var lastIndex = data.length - 1;
  if (index == lastIndex) {
    data.pop();
  } else {
    splice.call(data, index, 1);
  }
  --this.size;
  return true;
}

function listCacheGet(key) {
  var data = this.__data__, index = assocIndexOf(data, key);
  return index < 0 ? void 0 : data[index][1];
}

function listCacheHas(key) {
  return assocIndexOf(this.__data__, key) > -1;
}

function listCacheSet(key, value) {
  var data = this.__data__, index = assocIndexOf(data, key);
  if (index < 0) {
    ++this.size;
    data.push([key, value]);
  } else {
    data[index][1] = value;
  }
  return this;
}

function ListCache(entries) {
  var index = -1, length = entries == null ? 0 : entries.length;
  this.clear();
  while (++index < length) {
    var entry = entries[index];
    this.set(entry[0], entry[1]);
  }
}
ListCache.prototype.clear = listCacheClear;
ListCache.prototype["delete"] = listCacheDelete;
ListCache.prototype.get = listCacheGet;
ListCache.prototype.has = listCacheHas;
ListCache.prototype.set = listCacheSet;

var Map = getNative(root, "Map");

function mapCacheClear() {
  this.size = 0;
  this.__data__ = {
    "hash": new Hash(),
    "map": new (Map || ListCache)(),
    "string": new Hash()
  };
}

function isKeyable(value) {
  var type = typeof value;
  return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
}

function getMapData(map, key) {
  var data = map.__data__;
  return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
}

function mapCacheDelete(key) {
  var result = getMapData(this, key)["delete"](key);
  this.size -= result ? 1 : 0;
  return result;
}

function mapCacheGet(key) {
  return getMapData(this, key).get(key);
}

function mapCacheHas(key) {
  return getMapData(this, key).has(key);
}

function mapCacheSet(key, value) {
  var data = getMapData(this, key), size = data.size;
  data.set(key, value);
  this.size += data.size == size ? 0 : 1;
  return this;
}

function MapCache(entries) {
  var index = -1, length = entries == null ? 0 : entries.length;
  this.clear();
  while (++index < length) {
    var entry = entries[index];
    this.set(entry[0], entry[1]);
  }
}
MapCache.prototype.clear = mapCacheClear;
MapCache.prototype["delete"] = mapCacheDelete;
MapCache.prototype.get = mapCacheGet;
MapCache.prototype.has = mapCacheHas;
MapCache.prototype.set = mapCacheSet;

var FUNC_ERROR_TEXT = "Expected a function";
function memoize(func, resolver) {
  if (typeof func != "function" || resolver != null && typeof resolver != "function") {
    throw new TypeError(FUNC_ERROR_TEXT);
  }
  var memoized = function() {
    var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
    if (cache.has(key)) {
      return cache.get(key);
    }
    var result = func.apply(this, args);
    memoized.cache = cache.set(key, result) || cache;
    return result;
  };
  memoized.cache = new (memoize.Cache || MapCache)();
  return memoized;
}
memoize.Cache = MapCache;

var MAX_MEMOIZE_SIZE = 500;
function memoizeCapped(func) {
  var result = memoize(func, function(key) {
    if (cache.size === MAX_MEMOIZE_SIZE) {
      cache.clear();
    }
    return key;
  });
  var cache = result.cache;
  return result;
}

var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
var reEscapeChar = /\\(\\)?/g;
var stringToPath = memoizeCapped(function(string) {
  var result = [];
  if (string.charCodeAt(0) === 46) {
    result.push("");
  }
  string.replace(rePropName, function(match, number, quote, subString) {
    result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
  });
  return result;
});

function arrayMap(array, iteratee) {
  var index = -1, length = array == null ? 0 : array.length, result = Array(length);
  while (++index < length) {
    result[index] = iteratee(array[index], index, array);
  }
  return result;
}

var symbolProto = Symbol$1 ? Symbol$1.prototype : void 0, symbolToString = symbolProto ? symbolProto.toString : void 0;
function baseToString(value) {
  if (typeof value == "string") {
    return value;
  }
  if (isArray(value)) {
    return arrayMap(value, baseToString) + "";
  }
  if (isSymbol(value)) {
    return symbolToString ? symbolToString.call(value) : "";
  }
  var result = value + "";
  return result == "0" && 1 / value == -Infinity ? "-0" : result;
}

function toString(value) {
  return value == null ? "" : baseToString(value);
}

function castPath(value, object) {
  if (isArray(value)) {
    return value;
  }
  return isKey(value, object) ? [value] : stringToPath(toString(value));
}

function toKey(value) {
  if (typeof value == "string" || isSymbol(value)) {
    return value;
  }
  var result = value + "";
  return result == "0" && 1 / value == -Infinity ? "-0" : result;
}

function baseGet(object, path) {
  path = castPath(path, object);
  var index = 0, length = path.length;
  while (object != null && index < length) {
    object = object[toKey(path[index++])];
  }
  return index && index == length ? object : void 0;
}

function get(object, path, defaultValue) {
  var result = object == null ? void 0 : baseGet(object, path);
  return result === void 0 ? defaultValue : result;
}

const buildTranslator = (locale) => (path, option) => translate(path, option, unref(locale));
const translate = (path, option, locale) => get(locale, path, path).replace(/\{(\w+)\}/g, (_, key) => {
  var _a;
  return `${(_a = option == null ? void 0 : option[key]) != null ? _a : `{${key}}`}`;
});
const buildLocaleContext = (locale) => {
  const lang = computed(() => unref(locale).name);
  const localeRef = isRef(locale) ? locale : ref(locale);
  return {
    lang,
    locale: localeRef,
    t: buildTranslator(locale)
  };
};
const localeContextKey = Symbol("localeContextKey");
const useLocale = (localeOverrides) => {
  const locale = inject(localeContextKey, ref());
  return buildLocaleContext(computed(() => locale.value || English));
};

const __default__$3 = defineComponent({ name: "ElDialogContent" });
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
  ...__default__$3,
  props: dialogContentProps,
  emits: dialogContentEmits,
  setup(__props, { expose }) {
    const props = __props;
    const { t } = useLocale();
    const { Close } = CloseComponents;
    const { dialogRef, headerRef, bodyId, ns, style } = inject(dialogInjectionKey);
    const { focusTrapRef } = inject(FOCUS_TRAP_INJECTION_KEY);
    const dialogKls = computed(() => [
      ns.b(),
      ns.is("fullscreen", props.fullscreen),
      ns.is("draggable", props.draggable),
      ns.is("align-center", props.alignCenter),
      { [ns.m("center")]: props.center }
    ]);
    const composedDialogRef = composeRefs(focusTrapRef, dialogRef);
    computed(() => props.draggable);
    computed(() => props.overflow);
    const { resetPosition } = useDraggable(dialogRef);
    expose({
      resetPosition
    });
    return (_ctx, _cache) => {
      return openBlock(), createElementBlock("div", {
        ref: unref(composedDialogRef),
        class: normalizeClass(unref(dialogKls)),
        style: normalizeStyle(unref(style)),
        tabindex: "-1"
      }, [
        createElementVNode("header", {
          ref_key: "headerRef",
          ref: headerRef,
          class: normalizeClass([unref(ns).e("header"), _ctx.headerClass, { "show-close": _ctx.showClose }])
        }, [
          renderSlot(_ctx.$slots, "header", {}, () => [
            createElementVNode("span", {
              role: "heading",
              "aria-level": _ctx.ariaLevel,
              class: normalizeClass(unref(ns).e("title"))
            }, toDisplayString(_ctx.title), 11, ["aria-level"])
          ]),
          _ctx.showClose ? (openBlock(), createElementBlock("button", {
            key: 0,
            "aria-label": unref(t)("el.dialog.close"),
            class: normalizeClass(unref(ns).e("headerbtn")),
            type: "button",
            onClick: ($event) => _ctx.$emit("close")
          }, [
            createVNode(unref(ElIcon), {
              class: normalizeClass(unref(ns).e("close"))
            }, {
              default: withCtx(() => [
                (openBlock(), createBlock(resolveDynamicComponent(_ctx.closeIcon || unref(Close))))
              ]),
              _: 1
            }, 8, ["class"])
          ], 10, ["aria-label", "onClick"])) : createCommentVNode("v-if", true)
        ], 2),
        createElementVNode("div", {
          id: unref(bodyId),
          class: normalizeClass([unref(ns).e("body"), _ctx.bodyClass])
        }, [
          renderSlot(_ctx.$slots, "default")
        ], 10, ["id"]),
        _ctx.$slots.footer ? (openBlock(), createElementBlock("footer", {
          key: 0,
          class: normalizeClass([unref(ns).e("footer"), _ctx.footerClass])
        }, [
          renderSlot(_ctx.$slots, "footer")
        ], 2)) : createCommentVNode("v-if", true)
      ], 6);
    };
  }
});
var ElDialogContent = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__file", "dialog-content.vue"]]);

const UPDATE_MODEL_EVENT = "update:modelValue";

const dialogProps = buildProps({
  ...dialogContentProps,
  appendToBody: Boolean,
  appendTo: {
    type: definePropType([String, Object]),
    default: "body"
  },
  beforeClose: {
    type: definePropType(Function)
  },
  destroyOnClose: Boolean,
  closeOnClickModal: {
    type: Boolean,
    default: true
  },
  closeOnPressEscape: {
    type: Boolean,
    default: true
  },
  lockScroll: {
    type: Boolean,
    default: true
  },
  modal: {
    type: Boolean,
    default: true
  },
  openDelay: {
    type: Number,
    default: 0
  },
  closeDelay: {
    type: Number,
    default: 0
  },
  top: {
    type: String
  },
  modelValue: Boolean,
  modalClass: String,
  headerClass: String,
  bodyClass: String,
  footerClass: String,
  width: {
    type: [String, Number]
  },
  zIndex: {
    type: Number
  },
  trapFocus: Boolean,
  headerAriaLevel: {
    type: String,
    default: "2"
  }
});
const dialogEmits = {
  open: () => true,
  opened: () => true,
  close: () => true,
  closed: () => true,
  [UPDATE_MODEL_EVENT]: (value) => isBoolean(value),
  openAutoFocus: () => true,
  closeAutoFocus: () => true
};

const useLockscreen = (trigger, options = {}) => {
  if (!isRef(trigger)) {
    throwError("[useLockscreen]", "You need to pass a ref param to this function");
  }
  const ns = options.ns || useNamespace("popup");
  computed(() => ns.bm("parent", "hidden"));
  {
    return;
  }
};

const configProviderContextKey = Symbol();

const componentSizes = ["", "default", "small", "large"];

const useSizeProp = buildProp({
  type: String,
  values: componentSizes,
  required: false
});
const SIZE_INJECTION_KEY = Symbol("size");
const useGlobalSize = () => {
  const injectedSize = inject(SIZE_INJECTION_KEY, {});
  return computed(() => {
    return unref(injectedSize.size) || "";
  });
};

const emptyValuesContextKey = Symbol("emptyValuesContextKey");
const useEmptyValuesProps = buildProps({
  emptyValues: Array,
  valueOnClear: {
    type: [String, Number, Boolean, Function],
    default: void 0,
    validator: (val) => shared_cjs_prodExports$1.isFunction(val) ? !val() : !val
  }
});

const keysOf = (arr) => Object.keys(arr);
// shared_cjs_prodExports.hasOwn;

const globalConfig = ref();
function useGlobalConfig(key, defaultValue = void 0) {
  const config = getCurrentInstance() ? inject(configProviderContextKey, globalConfig) : globalConfig;
  if (key) {
    return computed(() => {
      var _a, _b;
      return (_b = (_a = config.value) == null ? void 0 : _a[key]) != null ? _b : defaultValue;
    });
  } else {
    return config;
  }
}
const provideGlobalConfig = (config, app, global = false) => {
  var _a;
  const inSetup = !!getCurrentInstance();
  const oldConfig = inSetup ? useGlobalConfig() : void 0;
  const provideFn = (_a = void 0) != null ? _a : inSetup ? provide : void 0;
  if (!provideFn) {
    return;
  }
  const context = computed(() => {
    const cfg = unref(config);
    if (!(oldConfig == null ? void 0 : oldConfig.value))
      return cfg;
    return mergeConfig(oldConfig.value, cfg);
  });
  provideFn(configProviderContextKey, context);
  provideFn(localeContextKey, computed(() => context.value.locale));
  provideFn(namespaceContextKey, computed(() => context.value.namespace));
  provideFn(zIndexContextKey, computed(() => context.value.zIndex));
  provideFn(SIZE_INJECTION_KEY, {
    size: computed(() => context.value.size || "")
  });
  provideFn(emptyValuesContextKey, computed(() => ({
    emptyValues: context.value.emptyValues,
    valueOnClear: context.value.valueOnClear
  })));
  if (global || !globalConfig.value) {
    globalConfig.value = context.value;
  }
  return context;
};
const mergeConfig = (a, b) => {
  const keys = [.../* @__PURE__ */ new Set([...keysOf(a), ...keysOf(b)])];
  const obj = {};
  for (const key of keys) {
    obj[key] = b[key] !== void 0 ? b[key] : a[key];
  }
  return obj;
};

function isUndefined(value) {
  return value === void 0;
}

const useDialog = (props, targetRef) => {
  var _a;
  const instance = getCurrentInstance();
  const emit = instance.emit;
  const { nextZIndex } = useZIndex();
  let lastPosition = "";
  const titleId = useId();
  const bodyId = useId();
  const visible = ref(false);
  const closed = ref(false);
  const rendered = ref(false);
  const zIndex = ref((_a = props.zIndex) != null ? _a : nextZIndex());
  let openTimer = void 0;
  let closeTimer = void 0;
  const namespace = useGlobalConfig("namespace", defaultNamespace);
  const style = computed(() => {
    const style2 = {};
    const varPrefix = `--${namespace.value}-dialog`;
    if (!props.fullscreen) {
      if (props.top) {
        style2[`${varPrefix}-margin-top`] = props.top;
      }
      if (props.width) {
        style2[`${varPrefix}-width`] = addUnit(props.width);
      }
    }
    return style2;
  });
  const overlayDialogStyle = computed(() => {
    if (props.alignCenter) {
      return { display: "flex" };
    }
    return {};
  });
  function afterEnter() {
    emit("opened");
  }
  function afterLeave() {
    emit("closed");
    emit(UPDATE_MODEL_EVENT, false);
    if (props.destroyOnClose) {
      rendered.value = false;
    }
  }
  function beforeLeave() {
    emit("close");
  }
  function open() {
    closeTimer == null ? void 0 : closeTimer();
    openTimer == null ? void 0 : openTimer();
    if (props.openDelay && props.openDelay > 0) {
      ({ stop: openTimer } = useTimeoutFn(() => doOpen(), props.openDelay));
    }
  }
  function close() {
    openTimer == null ? void 0 : openTimer();
    closeTimer == null ? void 0 : closeTimer();
    if (props.closeDelay && props.closeDelay > 0) {
      ({ stop: closeTimer } = useTimeoutFn(() => doClose(), props.closeDelay));
    } else {
      doClose();
    }
  }
  function handleClose() {
    function hide(shouldCancel) {
      if (shouldCancel)
        return;
      closed.value = true;
      visible.value = false;
    }
    if (props.beforeClose) {
      props.beforeClose(hide);
    } else {
      close();
    }
  }
  function onModalClick() {
    if (props.closeOnClickModal) {
      handleClose();
    }
  }
  function doOpen() {
    return;
  }
  function doClose() {
    visible.value = false;
  }
  function onOpenAutoFocus() {
    emit("openAutoFocus");
  }
  function onCloseAutoFocus() {
    emit("closeAutoFocus");
  }
  function onFocusoutPrevented(event) {
    var _a2;
    if (((_a2 = event.detail) == null ? void 0 : _a2.focusReason) === "pointer") {
      event.preventDefault();
    }
  }
  if (props.lockScroll) {
    useLockscreen(visible);
  }
  function onCloseRequested() {
    if (props.closeOnPressEscape) {
      handleClose();
    }
  }
  watch(() => props.modelValue, (val) => {
    if (val) {
      closed.value = false;
      open();
      rendered.value = true;
      zIndex.value = isUndefined(props.zIndex) ? nextZIndex() : zIndex.value++;
      nextTick(() => {
        emit("open");
        if (targetRef.value) {
          targetRef.value.parentElement.scrollTop = 0;
          targetRef.value.parentElement.scrollLeft = 0;
          targetRef.value.scrollTop = 0;
        }
      });
    } else {
      if (visible.value) {
        close();
      }
    }
  });
  watch(() => props.fullscreen, (val) => {
    if (!targetRef.value)
      return;
    if (val) {
      lastPosition = targetRef.value.style.transform;
      targetRef.value.style.transform = "";
    } else {
      targetRef.value.style.transform = lastPosition;
    }
  });
  return {
    afterEnter,
    afterLeave,
    beforeLeave,
    handleClose,
    onModalClick,
    close,
    doClose,
    onOpenAutoFocus,
    onCloseAutoFocus,
    onCloseRequested,
    onFocusoutPrevented,
    titleId,
    bodyId,
    closed,
    style,
    overlayDialogStyle,
    rendered,
    visible,
    zIndex
  };
};

const useDeprecated = ({ from, replacement, scope, version, ref, type = "API" }, condition) => {
  watch(() => unref(condition), (val) => {
  }, {
    immediate: true
  });
};

const __default__$2 = defineComponent({
  name: "ElDialog",
  inheritAttrs: false
});
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
  ...__default__$2,
  props: dialogProps,
  emits: dialogEmits,
  setup(__props, { expose }) {
    const props = __props;
    const slots = useSlots();
    useDeprecated({
      scope: "el-dialog",
      from: "the title slot",
      replacement: "the header slot",
      version: "3.0.0",
      ref: "https://element-plus.org/en-US/component/dialog.html#slots"
    }, computed(() => !!slots.title));
    const ns = useNamespace("dialog");
    const dialogRef = ref();
    const headerRef = ref();
    const dialogContentRef = ref();
    const {
      visible,
      titleId,
      bodyId,
      style,
      overlayDialogStyle,
      rendered,
      zIndex,
      afterEnter,
      afterLeave,
      beforeLeave,
      handleClose,
      onModalClick,
      onOpenAutoFocus,
      onCloseAutoFocus,
      onCloseRequested,
      onFocusoutPrevented
    } = useDialog(props, dialogRef);
    provide(dialogInjectionKey, {
      dialogRef,
      headerRef,
      bodyId,
      ns,
      rendered,
      style
    });
    const overlayEvent = useSameTarget(onModalClick);
    const draggable = computed(() => props.draggable && !props.fullscreen);
    const resetPosition = () => {
      var _a;
      (_a = dialogContentRef.value) == null ? void 0 : _a.resetPosition();
    };
    expose({
      visible,
      dialogContentRef,
      resetPosition
    });
    return (_ctx, _cache) => {
      return openBlock(), createBlock(unref(ElTeleport), {
        to: _ctx.appendTo,
        disabled: _ctx.appendTo !== "body" ? false : !_ctx.appendToBody
      }, {
        default: withCtx(() => [
          createVNode(Transition, {
            name: "dialog-fade",
            onAfterEnter: unref(afterEnter),
            onAfterLeave: unref(afterLeave),
            onBeforeLeave: unref(beforeLeave),
            persisted: ""
          }, {
            default: withCtx(() => [
              withDirectives(createVNode(unref(ElOverlay), {
                "custom-mask-event": "",
                mask: _ctx.modal,
                "overlay-class": _ctx.modalClass,
                "z-index": unref(zIndex)
              }, {
                default: withCtx(() => [
                  createElementVNode("div", {
                    role: "dialog",
                    "aria-modal": "true",
                    "aria-label": _ctx.title || void 0,
                    "aria-labelledby": !_ctx.title ? unref(titleId) : void 0,
                    "aria-describedby": unref(bodyId),
                    class: normalizeClass(`${unref(ns).namespace.value}-overlay-dialog`),
                    style: normalizeStyle(unref(overlayDialogStyle)),
                    onClick: unref(overlayEvent).onClick,
                    onMousedown: unref(overlayEvent).onMousedown,
                    onMouseup: unref(overlayEvent).onMouseup
                  }, [
                    createVNode(unref(ElFocusTrap), {
                      loop: "",
                      trapped: unref(visible),
                      "focus-start-el": "container",
                      onFocusAfterTrapped: unref(onOpenAutoFocus),
                      onFocusAfterReleased: unref(onCloseAutoFocus),
                      onFocusoutPrevented: unref(onFocusoutPrevented),
                      onReleaseRequested: unref(onCloseRequested)
                    }, {
                      default: withCtx(() => [
                        unref(rendered) ? (openBlock(), createBlock(ElDialogContent, mergeProps({
                          key: 0,
                          ref_key: "dialogContentRef",
                          ref: dialogContentRef
                        }, _ctx.$attrs, {
                          center: _ctx.center,
                          "align-center": _ctx.alignCenter,
                          "close-icon": _ctx.closeIcon,
                          draggable: unref(draggable),
                          overflow: _ctx.overflow,
                          fullscreen: _ctx.fullscreen,
                          "header-class": _ctx.headerClass,
                          "body-class": _ctx.bodyClass,
                          "footer-class": _ctx.footerClass,
                          "show-close": _ctx.showClose,
                          title: _ctx.title,
                          "aria-level": _ctx.headerAriaLevel,
                          onClose: unref(handleClose)
                        }), createSlots({
                          header: withCtx(() => [
                            !_ctx.$slots.title ? renderSlot(_ctx.$slots, "header", {
                              key: 0,
                              close: unref(handleClose),
                              titleId: unref(titleId),
                              titleClass: unref(ns).e("title")
                            }) : renderSlot(_ctx.$slots, "title", { key: 1 })
                          ]),
                          default: withCtx(() => [
                            renderSlot(_ctx.$slots, "default")
                          ]),
                          _: 2
                        }, [
                          _ctx.$slots.footer ? {
                            name: "footer",
                            fn: withCtx(() => [
                              renderSlot(_ctx.$slots, "footer")
                            ])
                          } : void 0
                        ]), 1040, ["center", "align-center", "close-icon", "draggable", "overflow", "fullscreen", "header-class", "body-class", "footer-class", "show-close", "title", "aria-level", "onClose"])) : createCommentVNode("v-if", true)
                      ]),
                      _: 3
                    }, 8, ["trapped", "onFocusAfterTrapped", "onFocusAfterReleased", "onFocusoutPrevented", "onReleaseRequested"])
                  ], 46, ["aria-label", "aria-labelledby", "aria-describedby", "onClick", "onMousedown", "onMouseup"])
                ]),
                _: 3
              }, 8, ["mask", "overlay-class", "z-index"]), [
                [vShow, unref(visible)]
              ])
            ]),
            _: 3
          }, 8, ["onAfterEnter", "onAfterLeave", "onBeforeLeave"])
        ]),
        _: 3
      }, 8, ["to", "disabled"]);
    };
  }
});
var Dialog = /* @__PURE__ */ _export_sfc$1(_sfc_main$6, [["__file", "dialog.vue"]]);

const ElDialog = withInstall(Dialog);

const buttonGroupContextKey = Symbol("buttonGroupContextKey");

const formContextKey = Symbol("formContextKey");
const formItemContextKey = Symbol("formItemContextKey");

const useFormItem = () => {
  const form = inject(formContextKey, void 0);
  const formItem = inject(formItemContextKey, void 0);
  return {
    form,
    formItem
  };
};

const useProp = (name) => {
  const vm = getCurrentInstance();
  return computed(() => {
    var _a, _b;
    return (_b = (_a = vm == null ? void 0 : vm.proxy) == null ? void 0 : _a.$props) == null ? void 0 : _b[name];
  });
};

const useFormSize = (fallback, ignore = {}) => {
  const emptyRef = ref(void 0);
  const size = ignore.prop ? emptyRef : useProp("size");
  const globalConfig = ignore.global ? emptyRef : useGlobalSize();
  const form = ignore.form ? { size: void 0 } : inject(formContextKey, void 0);
  const formItem = ignore.formItem ? { size: void 0 } : inject(formItemContextKey, void 0);
  return computed(() => size.value || unref(fallback) || (formItem == null ? void 0 : formItem.size) || (form == null ? void 0 : form.size) || globalConfig.value || "");
};
const useFormDisabled = (fallback) => {
  const disabled = useProp("disabled");
  const form = inject(formContextKey, void 0);
  return computed(() => disabled.value || unref(fallback) || (form == null ? void 0 : form.disabled) || false);
};

const useButton = (props, emit) => {
  useDeprecated({
    from: "type.text",
    replacement: "link",
    version: "3.0.0",
    scope: "props",
    ref: "https://element-plus.org/en-US/component/button.html#button-attributes"
  }, computed(() => props.type === "text"));
  const buttonGroupContext = inject(buttonGroupContextKey, void 0);
  const globalConfig = useGlobalConfig("button");
  const { form } = useFormItem();
  const _size = useFormSize(computed(() => buttonGroupContext == null ? void 0 : buttonGroupContext.size));
  const _disabled = useFormDisabled();
  const _ref = ref();
  const slots = useSlots();
  const _type = computed(() => props.type || (buttonGroupContext == null ? void 0 : buttonGroupContext.type) || "");
  const autoInsertSpace = computed(() => {
    var _a, _b, _c;
    return (_c = (_b = props.autoInsertSpace) != null ? _b : (_a = globalConfig.value) == null ? void 0 : _a.autoInsertSpace) != null ? _c : false;
  });
  const _props = computed(() => {
    if (props.tag === "button") {
      return {
        ariaDisabled: _disabled.value || props.loading,
        disabled: _disabled.value || props.loading,
        autofocus: props.autofocus,
        type: props.nativeType
      };
    }
    return {};
  });
  const shouldAddSpace = computed(() => {
    var _a;
    const defaultSlot = (_a = slots.default) == null ? void 0 : _a.call(slots);
    if (autoInsertSpace.value && (defaultSlot == null ? void 0 : defaultSlot.length) === 1) {
      const slot = defaultSlot[0];
      if ((slot == null ? void 0 : slot.type) === Text) {
        const text = slot.children;
        return new RegExp("^\\p{Unified_Ideograph}{2}$", "u").test(text.trim());
      }
    }
    return false;
  });
  const handleClick = (evt) => {
    if (_disabled.value || props.loading) {
      evt.stopPropagation();
      return;
    }
    if (props.nativeType === "reset") {
      form == null ? void 0 : form.resetFields();
    }
    emit("click", evt);
  };
  return {
    _disabled,
    _size,
    _type,
    _ref,
    _props,
    shouldAddSpace,
    handleClick
  };
};

const buttonTypes = [
  "default",
  "primary",
  "success",
  "warning",
  "info",
  "danger",
  "text",
  ""
];
const buttonNativeTypes = ["button", "submit", "reset"];
const buttonProps = buildProps({
  size: useSizeProp,
  disabled: Boolean,
  type: {
    type: String,
    values: buttonTypes,
    default: ""
  },
  icon: {
    type: iconPropType
  },
  nativeType: {
    type: String,
    values: buttonNativeTypes,
    default: "button"
  },
  loading: Boolean,
  loadingIcon: {
    type: iconPropType,
    default: () => loading_default
  },
  plain: Boolean,
  text: Boolean,
  link: Boolean,
  bg: Boolean,
  autofocus: Boolean,
  round: Boolean,
  circle: Boolean,
  color: String,
  dark: Boolean,
  autoInsertSpace: {
    type: Boolean,
    default: void 0
  },
  tag: {
    type: definePropType([String, Object]),
    default: "button"
  }
});
const buttonEmits = {
  click: (evt) => evt instanceof MouseEvent
};

function bound01(n, max) {
  if (isOnePointZero(n)) {
    n = "100%";
  }
  var isPercent = isPercentage(n);
  n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));
  if (isPercent) {
    n = parseInt(String(n * max), 10) / 100;
  }
  if (Math.abs(n - max) < 1e-6) {
    return 1;
  }
  if (max === 360) {
    n = (n < 0 ? n % max + max : n % max) / parseFloat(String(max));
  } else {
    n = n % max / parseFloat(String(max));
  }
  return n;
}
function clamp01(val) {
  return Math.min(1, Math.max(0, val));
}
function isOnePointZero(n) {
  return typeof n === "string" && n.indexOf(".") !== -1 && parseFloat(n) === 1;
}
function isPercentage(n) {
  return typeof n === "string" && n.indexOf("%") !== -1;
}
function boundAlpha(a) {
  a = parseFloat(a);
  if (isNaN(a) || a < 0 || a > 1) {
    a = 1;
  }
  return a;
}
function convertToPercentage(n) {
  if (n <= 1) {
    return "".concat(Number(n) * 100, "%");
  }
  return n;
}
function pad2(c) {
  return c.length === 1 ? "0" + c : String(c);
}

function rgbToRgb(r, g, b) {
  return {
    r: bound01(r, 255) * 255,
    g: bound01(g, 255) * 255,
    b: bound01(b, 255) * 255
  };
}
function rgbToHsl(r, g, b) {
  r = bound01(r, 255);
  g = bound01(g, 255);
  b = bound01(b, 255);
  var max = Math.max(r, g, b);
  var min = Math.min(r, g, b);
  var h = 0;
  var s = 0;
  var l = (max + min) / 2;
  if (max === min) {
    s = 0;
    h = 0;
  } else {
    var d = max - min;
    s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
    switch (max) {
      case r:
        h = (g - b) / d + (g < b ? 6 : 0);
        break;
      case g:
        h = (b - r) / d + 2;
        break;
      case b:
        h = (r - g) / d + 4;
        break;
    }
    h /= 6;
  }
  return { h, s, l };
}
function hue2rgb(p, q, t) {
  if (t < 0) {
    t += 1;
  }
  if (t > 1) {
    t -= 1;
  }
  if (t < 1 / 6) {
    return p + (q - p) * (6 * t);
  }
  if (t < 1 / 2) {
    return q;
  }
  if (t < 2 / 3) {
    return p + (q - p) * (2 / 3 - t) * 6;
  }
  return p;
}
function hslToRgb(h, s, l) {
  var r;
  var g;
  var b;
  h = bound01(h, 360);
  s = bound01(s, 100);
  l = bound01(l, 100);
  if (s === 0) {
    g = l;
    b = l;
    r = l;
  } else {
    var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
    var p = 2 * l - q;
    r = hue2rgb(p, q, h + 1 / 3);
    g = hue2rgb(p, q, h);
    b = hue2rgb(p, q, h - 1 / 3);
  }
  return { r: r * 255, g: g * 255, b: b * 255 };
}
function rgbToHsv(r, g, b) {
  r = bound01(r, 255);
  g = bound01(g, 255);
  b = bound01(b, 255);
  var max = Math.max(r, g, b);
  var min = Math.min(r, g, b);
  var h = 0;
  var v = max;
  var d = max - min;
  var s = max === 0 ? 0 : d / max;
  if (max === min) {
    h = 0;
  } else {
    switch (max) {
      case r:
        h = (g - b) / d + (g < b ? 6 : 0);
        break;
      case g:
        h = (b - r) / d + 2;
        break;
      case b:
        h = (r - g) / d + 4;
        break;
    }
    h /= 6;
  }
  return { h, s, v };
}
function hsvToRgb(h, s, v) {
  h = bound01(h, 360) * 6;
  s = bound01(s, 100);
  v = bound01(v, 100);
  var i = Math.floor(h);
  var f = h - i;
  var p = v * (1 - s);
  var q = v * (1 - f * s);
  var t = v * (1 - (1 - f) * s);
  var mod = i % 6;
  var r = [v, q, p, p, t, v][mod];
  var g = [t, v, v, q, p, p][mod];
  var b = [p, p, t, v, v, q][mod];
  return { r: r * 255, g: g * 255, b: b * 255 };
}
function rgbToHex(r, g, b, allow3Char) {
  var hex = [
    pad2(Math.round(r).toString(16)),
    pad2(Math.round(g).toString(16)),
    pad2(Math.round(b).toString(16))
  ];
  if (allow3Char && hex[0].startsWith(hex[0].charAt(1)) && hex[1].startsWith(hex[1].charAt(1)) && hex[2].startsWith(hex[2].charAt(1))) {
    return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);
  }
  return hex.join("");
}
function rgbaToHex(r, g, b, a, allow4Char) {
  var hex = [
    pad2(Math.round(r).toString(16)),
    pad2(Math.round(g).toString(16)),
    pad2(Math.round(b).toString(16)),
    pad2(convertDecimalToHex(a))
  ];
  if (allow4Char && hex[0].startsWith(hex[0].charAt(1)) && hex[1].startsWith(hex[1].charAt(1)) && hex[2].startsWith(hex[2].charAt(1)) && hex[3].startsWith(hex[3].charAt(1))) {
    return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);
  }
  return hex.join("");
}
function convertDecimalToHex(d) {
  return Math.round(parseFloat(d) * 255).toString(16);
}
function convertHexToDecimal(h) {
  return parseIntFromHex(h) / 255;
}
function parseIntFromHex(val) {
  return parseInt(val, 16);
}
function numberInputToObject(color) {
  return {
    r: color >> 16,
    g: (color & 65280) >> 8,
    b: color & 255
  };
}

var names = {
  aliceblue: "#f0f8ff",
  antiquewhite: "#faebd7",
  aqua: "#00ffff",
  aquamarine: "#7fffd4",
  azure: "#f0ffff",
  beige: "#f5f5dc",
  bisque: "#ffe4c4",
  black: "#000000",
  blanchedalmond: "#ffebcd",
  blue: "#0000ff",
  blueviolet: "#8a2be2",
  brown: "#a52a2a",
  burlywood: "#deb887",
  cadetblue: "#5f9ea0",
  chartreuse: "#7fff00",
  chocolate: "#d2691e",
  coral: "#ff7f50",
  cornflowerblue: "#6495ed",
  cornsilk: "#fff8dc",
  crimson: "#dc143c",
  cyan: "#00ffff",
  darkblue: "#00008b",
  darkcyan: "#008b8b",
  darkgoldenrod: "#b8860b",
  darkgray: "#a9a9a9",
  darkgreen: "#006400",
  darkgrey: "#a9a9a9",
  darkkhaki: "#bdb76b",
  darkmagenta: "#8b008b",
  darkolivegreen: "#556b2f",
  darkorange: "#ff8c00",
  darkorchid: "#9932cc",
  darkred: "#8b0000",
  darksalmon: "#e9967a",
  darkseagreen: "#8fbc8f",
  darkslateblue: "#483d8b",
  darkslategray: "#2f4f4f",
  darkslategrey: "#2f4f4f",
  darkturquoise: "#00ced1",
  darkviolet: "#9400d3",
  deeppink: "#ff1493",
  deepskyblue: "#00bfff",
  dimgray: "#696969",
  dimgrey: "#696969",
  dodgerblue: "#1e90ff",
  firebrick: "#b22222",
  floralwhite: "#fffaf0",
  forestgreen: "#228b22",
  fuchsia: "#ff00ff",
  gainsboro: "#dcdcdc",
  ghostwhite: "#f8f8ff",
  goldenrod: "#daa520",
  gold: "#ffd700",
  gray: "#808080",
  green: "#008000",
  greenyellow: "#adff2f",
  grey: "#808080",
  honeydew: "#f0fff0",
  hotpink: "#ff69b4",
  indianred: "#cd5c5c",
  indigo: "#4b0082",
  ivory: "#fffff0",
  khaki: "#f0e68c",
  lavenderblush: "#fff0f5",
  lavender: "#e6e6fa",
  lawngreen: "#7cfc00",
  lemonchiffon: "#fffacd",
  lightblue: "#add8e6",
  lightcoral: "#f08080",
  lightcyan: "#e0ffff",
  lightgoldenrodyellow: "#fafad2",
  lightgray: "#d3d3d3",
  lightgreen: "#90ee90",
  lightgrey: "#d3d3d3",
  lightpink: "#ffb6c1",
  lightsalmon: "#ffa07a",
  lightseagreen: "#20b2aa",
  lightskyblue: "#87cefa",
  lightslategray: "#778899",
  lightslategrey: "#778899",
  lightsteelblue: "#b0c4de",
  lightyellow: "#ffffe0",
  lime: "#00ff00",
  limegreen: "#32cd32",
  linen: "#faf0e6",
  magenta: "#ff00ff",
  maroon: "#800000",
  mediumaquamarine: "#66cdaa",
  mediumblue: "#0000cd",
  mediumorchid: "#ba55d3",
  mediumpurple: "#9370db",
  mediumseagreen: "#3cb371",
  mediumslateblue: "#7b68ee",
  mediumspringgreen: "#00fa9a",
  mediumturquoise: "#48d1cc",
  mediumvioletred: "#c71585",
  midnightblue: "#191970",
  mintcream: "#f5fffa",
  mistyrose: "#ffe4e1",
  moccasin: "#ffe4b5",
  navajowhite: "#ffdead",
  navy: "#000080",
  oldlace: "#fdf5e6",
  olive: "#808000",
  olivedrab: "#6b8e23",
  orange: "#ffa500",
  orangered: "#ff4500",
  orchid: "#da70d6",
  palegoldenrod: "#eee8aa",
  palegreen: "#98fb98",
  paleturquoise: "#afeeee",
  palevioletred: "#db7093",
  papayawhip: "#ffefd5",
  peachpuff: "#ffdab9",
  peru: "#cd853f",
  pink: "#ffc0cb",
  plum: "#dda0dd",
  powderblue: "#b0e0e6",
  purple: "#800080",
  rebeccapurple: "#663399",
  red: "#ff0000",
  rosybrown: "#bc8f8f",
  royalblue: "#4169e1",
  saddlebrown: "#8b4513",
  salmon: "#fa8072",
  sandybrown: "#f4a460",
  seagreen: "#2e8b57",
  seashell: "#fff5ee",
  sienna: "#a0522d",
  silver: "#c0c0c0",
  skyblue: "#87ceeb",
  slateblue: "#6a5acd",
  slategray: "#708090",
  slategrey: "#708090",
  snow: "#fffafa",
  springgreen: "#00ff7f",
  steelblue: "#4682b4",
  tan: "#d2b48c",
  teal: "#008080",
  thistle: "#d8bfd8",
  tomato: "#ff6347",
  turquoise: "#40e0d0",
  violet: "#ee82ee",
  wheat: "#f5deb3",
  white: "#ffffff",
  whitesmoke: "#f5f5f5",
  yellow: "#ffff00",
  yellowgreen: "#9acd32"
};

function inputToRGB(color) {
  var rgb = { r: 0, g: 0, b: 0 };
  var a = 1;
  var s = null;
  var v = null;
  var l = null;
  var ok = false;
  var format = false;
  if (typeof color === "string") {
    color = stringInputToObject(color);
  }
  if (typeof color === "object") {
    if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {
      rgb = rgbToRgb(color.r, color.g, color.b);
      ok = true;
      format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb";
    } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {
      s = convertToPercentage(color.s);
      v = convertToPercentage(color.v);
      rgb = hsvToRgb(color.h, s, v);
      ok = true;
      format = "hsv";
    } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {
      s = convertToPercentage(color.s);
      l = convertToPercentage(color.l);
      rgb = hslToRgb(color.h, s, l);
      ok = true;
      format = "hsl";
    }
    if (Object.prototype.hasOwnProperty.call(color, "a")) {
      a = color.a;
    }
  }
  a = boundAlpha(a);
  return {
    ok,
    format: color.format || format,
    r: Math.min(255, Math.max(rgb.r, 0)),
    g: Math.min(255, Math.max(rgb.g, 0)),
    b: Math.min(255, Math.max(rgb.b, 0)),
    a
  };
}
var CSS_INTEGER = "[-\\+]?\\d+%?";
var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?";
var CSS_UNIT = "(?:".concat(CSS_NUMBER, ")|(?:").concat(CSS_INTEGER, ")");
var PERMISSIVE_MATCH3 = "[\\s|\\(]+(".concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")\\s*\\)?");
var PERMISSIVE_MATCH4 = "[\\s|\\(]+(".concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")\\s*\\)?");
var matchers = {
  CSS_UNIT: new RegExp(CSS_UNIT),
  rgb: new RegExp("rgb" + PERMISSIVE_MATCH3),
  rgba: new RegExp("rgba" + PERMISSIVE_MATCH4),
  hsl: new RegExp("hsl" + PERMISSIVE_MATCH3),
  hsla: new RegExp("hsla" + PERMISSIVE_MATCH4),
  hsv: new RegExp("hsv" + PERMISSIVE_MATCH3),
  hsva: new RegExp("hsva" + PERMISSIVE_MATCH4),
  hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
  hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
  hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
  hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
};
function stringInputToObject(color) {
  color = color.trim().toLowerCase();
  if (color.length === 0) {
    return false;
  }
  var named = false;
  if (names[color]) {
    color = names[color];
    named = true;
  } else if (color === "transparent") {
    return { r: 0, g: 0, b: 0, a: 0, format: "name" };
  }
  var match = matchers.rgb.exec(color);
  if (match) {
    return { r: match[1], g: match[2], b: match[3] };
  }
  match = matchers.rgba.exec(color);
  if (match) {
    return { r: match[1], g: match[2], b: match[3], a: match[4] };
  }
  match = matchers.hsl.exec(color);
  if (match) {
    return { h: match[1], s: match[2], l: match[3] };
  }
  match = matchers.hsla.exec(color);
  if (match) {
    return { h: match[1], s: match[2], l: match[3], a: match[4] };
  }
  match = matchers.hsv.exec(color);
  if (match) {
    return { h: match[1], s: match[2], v: match[3] };
  }
  match = matchers.hsva.exec(color);
  if (match) {
    return { h: match[1], s: match[2], v: match[3], a: match[4] };
  }
  match = matchers.hex8.exec(color);
  if (match) {
    return {
      r: parseIntFromHex(match[1]),
      g: parseIntFromHex(match[2]),
      b: parseIntFromHex(match[3]),
      a: convertHexToDecimal(match[4]),
      format: named ? "name" : "hex8"
    };
  }
  match = matchers.hex6.exec(color);
  if (match) {
    return {
      r: parseIntFromHex(match[1]),
      g: parseIntFromHex(match[2]),
      b: parseIntFromHex(match[3]),
      format: named ? "name" : "hex"
    };
  }
  match = matchers.hex4.exec(color);
  if (match) {
    return {
      r: parseIntFromHex(match[1] + match[1]),
      g: parseIntFromHex(match[2] + match[2]),
      b: parseIntFromHex(match[3] + match[3]),
      a: convertHexToDecimal(match[4] + match[4]),
      format: named ? "name" : "hex8"
    };
  }
  match = matchers.hex3.exec(color);
  if (match) {
    return {
      r: parseIntFromHex(match[1] + match[1]),
      g: parseIntFromHex(match[2] + match[2]),
      b: parseIntFromHex(match[3] + match[3]),
      format: named ? "name" : "hex"
    };
  }
  return false;
}
function isValidCSSUnit(color) {
  return Boolean(matchers.CSS_UNIT.exec(String(color)));
}

var TinyColor = (
  /** @class */
  function() {
    function TinyColor2(color, opts) {
      if (color === void 0) {
        color = "";
      }
      if (opts === void 0) {
        opts = {};
      }
      var _a;
      if (color instanceof TinyColor2) {
        return color;
      }
      if (typeof color === "number") {
        color = numberInputToObject(color);
      }
      this.originalInput = color;
      var rgb = inputToRGB(color);
      this.originalInput = color;
      this.r = rgb.r;
      this.g = rgb.g;
      this.b = rgb.b;
      this.a = rgb.a;
      this.roundA = Math.round(100 * this.a) / 100;
      this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;
      this.gradientType = opts.gradientType;
      if (this.r < 1) {
        this.r = Math.round(this.r);
      }
      if (this.g < 1) {
        this.g = Math.round(this.g);
      }
      if (this.b < 1) {
        this.b = Math.round(this.b);
      }
      this.isValid = rgb.ok;
    }
    TinyColor2.prototype.isDark = function() {
      return this.getBrightness() < 128;
    };
    TinyColor2.prototype.isLight = function() {
      return !this.isDark();
    };
    TinyColor2.prototype.getBrightness = function() {
      var rgb = this.toRgb();
      return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1e3;
    };
    TinyColor2.prototype.getLuminance = function() {
      var rgb = this.toRgb();
      var R;
      var G;
      var B;
      var RsRGB = rgb.r / 255;
      var GsRGB = rgb.g / 255;
      var BsRGB = rgb.b / 255;
      if (RsRGB <= 0.03928) {
        R = RsRGB / 12.92;
      } else {
        R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);
      }
      if (GsRGB <= 0.03928) {
        G = GsRGB / 12.92;
      } else {
        G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);
      }
      if (BsRGB <= 0.03928) {
        B = BsRGB / 12.92;
      } else {
        B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);
      }
      return 0.2126 * R + 0.7152 * G + 0.0722 * B;
    };
    TinyColor2.prototype.getAlpha = function() {
      return this.a;
    };
    TinyColor2.prototype.setAlpha = function(alpha) {
      this.a = boundAlpha(alpha);
      this.roundA = Math.round(100 * this.a) / 100;
      return this;
    };
    TinyColor2.prototype.isMonochrome = function() {
      var s = this.toHsl().s;
      return s === 0;
    };
    TinyColor2.prototype.toHsv = function() {
      var hsv = rgbToHsv(this.r, this.g, this.b);
      return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };
    };
    TinyColor2.prototype.toHsvString = function() {
      var hsv = rgbToHsv(this.r, this.g, this.b);
      var h = Math.round(hsv.h * 360);
      var s = Math.round(hsv.s * 100);
      var v = Math.round(hsv.v * 100);
      return this.a === 1 ? "hsv(".concat(h, ", ").concat(s, "%, ").concat(v, "%)") : "hsva(".concat(h, ", ").concat(s, "%, ").concat(v, "%, ").concat(this.roundA, ")");
    };
    TinyColor2.prototype.toHsl = function() {
      var hsl = rgbToHsl(this.r, this.g, this.b);
      return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };
    };
    TinyColor2.prototype.toHslString = function() {
      var hsl = rgbToHsl(this.r, this.g, this.b);
      var h = Math.round(hsl.h * 360);
      var s = Math.round(hsl.s * 100);
      var l = Math.round(hsl.l * 100);
      return this.a === 1 ? "hsl(".concat(h, ", ").concat(s, "%, ").concat(l, "%)") : "hsla(".concat(h, ", ").concat(s, "%, ").concat(l, "%, ").concat(this.roundA, ")");
    };
    TinyColor2.prototype.toHex = function(allow3Char) {
      if (allow3Char === void 0) {
        allow3Char = false;
      }
      return rgbToHex(this.r, this.g, this.b, allow3Char);
    };
    TinyColor2.prototype.toHexString = function(allow3Char) {
      if (allow3Char === void 0) {
        allow3Char = false;
      }
      return "#" + this.toHex(allow3Char);
    };
    TinyColor2.prototype.toHex8 = function(allow4Char) {
      if (allow4Char === void 0) {
        allow4Char = false;
      }
      return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);
    };
    TinyColor2.prototype.toHex8String = function(allow4Char) {
      if (allow4Char === void 0) {
        allow4Char = false;
      }
      return "#" + this.toHex8(allow4Char);
    };
    TinyColor2.prototype.toHexShortString = function(allowShortChar) {
      if (allowShortChar === void 0) {
        allowShortChar = false;
      }
      return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);
    };
    TinyColor2.prototype.toRgb = function() {
      return {
        r: Math.round(this.r),
        g: Math.round(this.g),
        b: Math.round(this.b),
        a: this.a
      };
    };
    TinyColor2.prototype.toRgbString = function() {
      var r = Math.round(this.r);
      var g = Math.round(this.g);
      var b = Math.round(this.b);
      return this.a === 1 ? "rgb(".concat(r, ", ").concat(g, ", ").concat(b, ")") : "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(this.roundA, ")");
    };
    TinyColor2.prototype.toPercentageRgb = function() {
      var fmt = function(x) {
        return "".concat(Math.round(bound01(x, 255) * 100), "%");
      };
      return {
        r: fmt(this.r),
        g: fmt(this.g),
        b: fmt(this.b),
        a: this.a
      };
    };
    TinyColor2.prototype.toPercentageRgbString = function() {
      var rnd = function(x) {
        return Math.round(bound01(x, 255) * 100);
      };
      return this.a === 1 ? "rgb(".concat(rnd(this.r), "%, ").concat(rnd(this.g), "%, ").concat(rnd(this.b), "%)") : "rgba(".concat(rnd(this.r), "%, ").concat(rnd(this.g), "%, ").concat(rnd(this.b), "%, ").concat(this.roundA, ")");
    };
    TinyColor2.prototype.toName = function() {
      if (this.a === 0) {
        return "transparent";
      }
      if (this.a < 1) {
        return false;
      }
      var hex = "#" + rgbToHex(this.r, this.g, this.b, false);
      for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {
        var _b = _a[_i], key = _b[0], value = _b[1];
        if (hex === value) {
          return key;
        }
      }
      return false;
    };
    TinyColor2.prototype.toString = function(format) {
      var formatSet = Boolean(format);
      format = format !== null && format !== void 0 ? format : this.format;
      var formattedString = false;
      var hasAlpha = this.a < 1 && this.a >= 0;
      var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith("hex") || format === "name");
      if (needsAlphaFormat) {
        if (format === "name" && this.a === 0) {
          return this.toName();
        }
        return this.toRgbString();
      }
      if (format === "rgb") {
        formattedString = this.toRgbString();
      }
      if (format === "prgb") {
        formattedString = this.toPercentageRgbString();
      }
      if (format === "hex" || format === "hex6") {
        formattedString = this.toHexString();
      }
      if (format === "hex3") {
        formattedString = this.toHexString(true);
      }
      if (format === "hex4") {
        formattedString = this.toHex8String(true);
      }
      if (format === "hex8") {
        formattedString = this.toHex8String();
      }
      if (format === "name") {
        formattedString = this.toName();
      }
      if (format === "hsl") {
        formattedString = this.toHslString();
      }
      if (format === "hsv") {
        formattedString = this.toHsvString();
      }
      return formattedString || this.toHexString();
    };
    TinyColor2.prototype.toNumber = function() {
      return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);
    };
    TinyColor2.prototype.clone = function() {
      return new TinyColor2(this.toString());
    };
    TinyColor2.prototype.lighten = function(amount) {
      if (amount === void 0) {
        amount = 10;
      }
      var hsl = this.toHsl();
      hsl.l += amount / 100;
      hsl.l = clamp01(hsl.l);
      return new TinyColor2(hsl);
    };
    TinyColor2.prototype.brighten = function(amount) {
      if (amount === void 0) {
        amount = 10;
      }
      var rgb = this.toRgb();
      rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));
      rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));
      rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));
      return new TinyColor2(rgb);
    };
    TinyColor2.prototype.darken = function(amount) {
      if (amount === void 0) {
        amount = 10;
      }
      var hsl = this.toHsl();
      hsl.l -= amount / 100;
      hsl.l = clamp01(hsl.l);
      return new TinyColor2(hsl);
    };
    TinyColor2.prototype.tint = function(amount) {
      if (amount === void 0) {
        amount = 10;
      }
      return this.mix("white", amount);
    };
    TinyColor2.prototype.shade = function(amount) {
      if (amount === void 0) {
        amount = 10;
      }
      return this.mix("black", amount);
    };
    TinyColor2.prototype.desaturate = function(amount) {
      if (amount === void 0) {
        amount = 10;
      }
      var hsl = this.toHsl();
      hsl.s -= amount / 100;
      hsl.s = clamp01(hsl.s);
      return new TinyColor2(hsl);
    };
    TinyColor2.prototype.saturate = function(amount) {
      if (amount === void 0) {
        amount = 10;
      }
      var hsl = this.toHsl();
      hsl.s += amount / 100;
      hsl.s = clamp01(hsl.s);
      return new TinyColor2(hsl);
    };
    TinyColor2.prototype.greyscale = function() {
      return this.desaturate(100);
    };
    TinyColor2.prototype.spin = function(amount) {
      var hsl = this.toHsl();
      var hue = (hsl.h + amount) % 360;
      hsl.h = hue < 0 ? 360 + hue : hue;
      return new TinyColor2(hsl);
    };
    TinyColor2.prototype.mix = function(color, amount) {
      if (amount === void 0) {
        amount = 50;
      }
      var rgb1 = this.toRgb();
      var rgb2 = new TinyColor2(color).toRgb();
      var p = amount / 100;
      var rgba = {
        r: (rgb2.r - rgb1.r) * p + rgb1.r,
        g: (rgb2.g - rgb1.g) * p + rgb1.g,
        b: (rgb2.b - rgb1.b) * p + rgb1.b,
        a: (rgb2.a - rgb1.a) * p + rgb1.a
      };
      return new TinyColor2(rgba);
    };
    TinyColor2.prototype.analogous = function(results, slices) {
      if (results === void 0) {
        results = 6;
      }
      if (slices === void 0) {
        slices = 30;
      }
      var hsl = this.toHsl();
      var part = 360 / slices;
      var ret = [this];
      for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results; ) {
        hsl.h = (hsl.h + part) % 360;
        ret.push(new TinyColor2(hsl));
      }
      return ret;
    };
    TinyColor2.prototype.complement = function() {
      var hsl = this.toHsl();
      hsl.h = (hsl.h + 180) % 360;
      return new TinyColor2(hsl);
    };
    TinyColor2.prototype.monochromatic = function(results) {
      if (results === void 0) {
        results = 6;
      }
      var hsv = this.toHsv();
      var h = hsv.h;
      var s = hsv.s;
      var v = hsv.v;
      var res = [];
      var modification = 1 / results;
      while (results--) {
        res.push(new TinyColor2({ h, s, v }));
        v = (v + modification) % 1;
      }
      return res;
    };
    TinyColor2.prototype.splitcomplement = function() {
      var hsl = this.toHsl();
      var h = hsl.h;
      return [
        this,
        new TinyColor2({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),
        new TinyColor2({ h: (h + 216) % 360, s: hsl.s, l: hsl.l })
      ];
    };
    TinyColor2.prototype.onBackground = function(background) {
      var fg = this.toRgb();
      var bg = new TinyColor2(background).toRgb();
      var alpha = fg.a + bg.a * (1 - fg.a);
      return new TinyColor2({
        r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,
        g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,
        b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,
        a: alpha
      });
    };
    TinyColor2.prototype.triad = function() {
      return this.polyad(3);
    };
    TinyColor2.prototype.tetrad = function() {
      return this.polyad(4);
    };
    TinyColor2.prototype.polyad = function(n) {
      var hsl = this.toHsl();
      var h = hsl.h;
      var result = [this];
      var increment = 360 / n;
      for (var i = 1; i < n; i++) {
        result.push(new TinyColor2({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));
      }
      return result;
    };
    TinyColor2.prototype.equals = function(color) {
      return this.toRgbString() === new TinyColor2(color).toRgbString();
    };
    return TinyColor2;
  }()
);

function darken(color, amount = 20) {
  return color.mix("#141414", amount).toString();
}
function useButtonCustomStyle(props) {
  const _disabled = useFormDisabled();
  const ns = useNamespace("button");
  return computed(() => {
    let styles = {};
    let buttonColor = props.color;
    if (buttonColor) {
      const match = buttonColor.match(/var\((.*?)\)/);
      if (match) {
        buttonColor = (void 0).getComputedStyle((void 0).document.documentElement).getPropertyValue(match[1]);
      }
      const color = new TinyColor(buttonColor);
      const activeBgColor = props.dark ? color.tint(20).toString() : darken(color, 20);
      if (props.plain) {
        styles = ns.cssVarBlock({
          "bg-color": props.dark ? darken(color, 90) : color.tint(90).toString(),
          "text-color": buttonColor,
          "border-color": props.dark ? darken(color, 50) : color.tint(50).toString(),
          "hover-text-color": `var(${ns.cssVarName("color-white")})`,
          "hover-bg-color": buttonColor,
          "hover-border-color": buttonColor,
          "active-bg-color": activeBgColor,
          "active-text-color": `var(${ns.cssVarName("color-white")})`,
          "active-border-color": activeBgColor
        });
        if (_disabled.value) {
          styles[ns.cssVarBlockName("disabled-bg-color")] = props.dark ? darken(color, 90) : color.tint(90).toString();
          styles[ns.cssVarBlockName("disabled-text-color")] = props.dark ? darken(color, 50) : color.tint(50).toString();
          styles[ns.cssVarBlockName("disabled-border-color")] = props.dark ? darken(color, 80) : color.tint(80).toString();
        }
      } else {
        const hoverBgColor = props.dark ? darken(color, 30) : color.tint(30).toString();
        const textColor = color.isDark() ? `var(${ns.cssVarName("color-white")})` : `var(${ns.cssVarName("color-black")})`;
        styles = ns.cssVarBlock({
          "bg-color": buttonColor,
          "text-color": textColor,
          "border-color": buttonColor,
          "hover-bg-color": hoverBgColor,
          "hover-text-color": textColor,
          "hover-border-color": hoverBgColor,
          "active-bg-color": activeBgColor,
          "active-border-color": activeBgColor
        });
        if (_disabled.value) {
          const disabledButtonColor = props.dark ? darken(color, 50) : color.tint(50).toString();
          styles[ns.cssVarBlockName("disabled-bg-color")] = disabledButtonColor;
          styles[ns.cssVarBlockName("disabled-text-color")] = props.dark ? "rgba(255, 255, 255, 0.5)" : `var(${ns.cssVarName("color-white")})`;
          styles[ns.cssVarBlockName("disabled-border-color")] = disabledButtonColor;
        }
      }
    }
    return styles;
  });
}

const __default__$1 = defineComponent({
  name: "ElButton"
});
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
  ...__default__$1,
  props: buttonProps,
  emits: buttonEmits,
  setup(__props, { expose, emit }) {
    const props = __props;
    const buttonStyle = useButtonCustomStyle(props);
    const ns = useNamespace("button");
    const { _ref, _size, _type, _disabled, _props, shouldAddSpace, handleClick } = useButton(props, emit);
    const buttonKls = computed(() => [
      ns.b(),
      ns.m(_type.value),
      ns.m(_size.value),
      ns.is("disabled", _disabled.value),
      ns.is("loading", props.loading),
      ns.is("plain", props.plain),
      ns.is("round", props.round),
      ns.is("circle", props.circle),
      ns.is("text", props.text),
      ns.is("link", props.link),
      ns.is("has-bg", props.bg)
    ]);
    expose({
      ref: _ref,
      size: _size,
      type: _type,
      disabled: _disabled,
      shouldAddSpace
    });
    return (_ctx, _cache) => {
      return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), mergeProps({
        ref_key: "_ref",
        ref: _ref
      }, unref(_props), {
        class: unref(buttonKls),
        style: unref(buttonStyle),
        onClick: unref(handleClick)
      }), {
        default: withCtx(() => [
          _ctx.loading ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
            _ctx.$slots.loading ? renderSlot(_ctx.$slots, "loading", { key: 0 }) : (openBlock(), createBlock(unref(ElIcon), {
              key: 1,
              class: normalizeClass(unref(ns).is("loading"))
            }, {
              default: withCtx(() => [
                (openBlock(), createBlock(resolveDynamicComponent(_ctx.loadingIcon)))
              ]),
              _: 1
            }, 8, ["class"]))
          ], 64)) : _ctx.icon || _ctx.$slots.icon ? (openBlock(), createBlock(unref(ElIcon), { key: 1 }, {
            default: withCtx(() => [
              _ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), { key: 0 })) : renderSlot(_ctx.$slots, "icon", { key: 1 })
            ]),
            _: 3
          })) : createCommentVNode("v-if", true),
          _ctx.$slots.default ? (openBlock(), createElementBlock("span", {
            key: 2,
            class: normalizeClass({ [unref(ns).em("text", "expand")]: unref(shouldAddSpace) })
          }, [
            renderSlot(_ctx.$slots, "default")
          ], 2)) : createCommentVNode("v-if", true)
        ]),
        _: 3
      }, 16, ["class", "style", "onClick"]);
    };
  }
});
var Button = /* @__PURE__ */ _export_sfc$1(_sfc_main$5, [["__file", "button.vue"]]);

const buttonGroupProps = {
  size: buttonProps.size,
  type: buttonProps.type
};

const __default__ = defineComponent({
  name: "ElButtonGroup"
});
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
  ...__default__,
  props: buttonGroupProps,
  setup(__props) {
    const props = __props;
    provide(buttonGroupContextKey, reactive({
      size: toRef(props, "size"),
      type: toRef(props, "type")
    }));
    const ns = useNamespace("button");
    return (_ctx, _cache) => {
      return openBlock(), createElementBlock("div", {
        class: normalizeClass(unref(ns).b("group"))
      }, [
        renderSlot(_ctx.$slots, "default")
      ], 2);
    };
  }
});
var ButtonGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$4, [["__file", "button-group.vue"]]);

const ElButton = withInstall(Button, {
  ButtonGroup
});
withNoopInstall(ButtonGroup);

const _imports_3$1 = "data:image/png;base64,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";

const _imports_4$1 = "data:image/png;base64,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";

const _imports_5$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAEMklEQVRoBdVYXVLbMBCOM4FnjpCeAB8hPUHbE+CcoGSGn0fcR+AhuQHmBMAJQk9AeoK2N2hfgSH9PlXrWcuycUKsGM0oK63k1fdJ2pWiqKfSxcXFV1QT5Fipu1Rc9Pv92dHR0bWAiliYTqd7T09PcxS7Clzwilzs7Ox8nEwmf/rUvDPwhBxbzL3o8vLycLlcTqllQvnb7u5uBna/jKIjP9glw8fHxySKojMFaRxh3z9AYbYOwZ+enqaqQ+eK5+fnqSKx4BbK9z1nvnOIHUAOxpgrsJQ+JycnxqmlLtITnUrRQPqGkBrzoG7AmugUv7y8ZDB0KNGgzk6bbSYKVQ3QIDrl0aDKRtv6SgKMThg89w84zgSz/YGZzq6AxViJRNWDFiu3EEAeCBKCPz4+nkkdMkU06KlowBM8U+3BipUrAAT57A8GgxI4NxoEQ+wMVEfA6drNaiUBbI8fAhknIP2hkHgqikL3FV0oWekDAJAhmysG9zqceomtdE1gz8/PB/CR/EhHWfsHuwRLlStAp9UzC5ApwupPZpYFIfvgAMykHlpWEiAQzPhIk3DBsY19XH3Iet0W6vG+DTAmzgMsb637BEfgKM+wShnr20y1BASY3SKZ1NuSOBBj2sZ4i6ZjNCLQ1Ni6/SzwG3w/pA3U7yEmTYjU+gCNtZ0s+DnGGaqxRijPZUWUvlTcKgEFfq+ErNej7lUSWyPgAX+HF4cvzAB+ZwkJicTWS2IrPuABP3bOklv0IegrZJK4Qp3OnaFcSMFXoAF4A9CCHSu0JMFbbyEFJdAUvCD0kJjBBlclT8EIrApeEHpIJNJGuZYP8I0GFzpzKuMq8d2e2NpuobwueDFCErDBamH2qVh5BWAowYXuAVeJW2Ze7qijMV+ybYzzEipdh/V9VtJ5VsL0WYkAwHAGmAUMjZgogev2GSs6WfC6/1rgxaaPRGMCFnwixlyJ1UhtH9OkwEvXN4EXI5aEVF/3Ac/b0F/cRlNYWNAKgB9CfGIZKQHwIdrvoJ/+V5nfjYBX9vJirRPTWbHHb9A7tl/8hvyMa7QBb3X3zmyPAH5k2yhaA0/jlVsIoPho9YA+Bjz/A+BNKMYSavC0ISekPnSMHt/wRpmZSks/XgJwyBHGmyPvcVyC5z+vunDpczCsxAG3IG20lUoEuB0wsAZ/jS0T14EXcB4S5umxTRIFAjYUMuyZhJkn+MRWG4nQJAoEMPOpQjleFbx8G5JEgYAAgHxz5AhFwiXAGP/RDq74rFcMQcIlMMK2uV8Prv+rtkkUCGCwUoz3w1pN2yaJAoE2w92mSPB2oKevz0NKFL5XaGnbhNwECfdVnCuQCTiQ4Sv0mctS2jchK0jwvlWbiInYiFE6IuzPIlbQsEBlXxreg+TO4Q3B+MBrr9BdI0Tw8ipuVkAA8h6ExvwVWvRdkQTObWO3oYH1D6b3GS95f85qAAAAAElFTkSuQmCC";

const _imports_13$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEZ0lEQVR4nO2ZUU4bMRCGvUi8gcgNmp6giwCJN8wJmp6g9AQNJ0h6AsIJGk7Q9ARZ3pAAZTkBuUGD4A3B9rMW0kzWXhaSTRPiTxrNLHhizx/biZ1ALTleAGyp8QJgS00hAXZ3d6v39/d7QRBU1QKQJEl/dXX19OzsrK9eIMCc7OzshLzYEabVAsIbFmGH5+fnMY9WnAJQ/MHj4+NPwoVnZWXlGyK0lQWrAFtbWzXcL+w98eXy8rKDF2QE0FpXbm9vrwkr2HtisL6+/jGKogHxkIwA29vbddb8EeG7w+wHFxcXLcIhNgF6CBASjnPCWmqxlmLiuYW9K2TvqhN+xQQIECPAJuGQjACs/wQ3zhXrJ8QvDNQR4z5hAuoQNYsHA4k2AY5JrOMXBupo4b5jAuoQNYsHA4kZAZg6P5g6TbVAsJSbLOUGocAL4AXwAoiaxYPBC+AF8AIkOIEXwAvgBfACuASgfY3/f6czjY+xNifGY/7lRKd3DkeENWyARZzVD8fP6qPofzlapXcVEfd+h657v5kIQCeuuwPn4UmnhVwTVrBRrBcWBp3m9AirSjJAhE2bCIytfAFo+wdXwTJwd7DJTIgJBeS0leWs/sQJAzxQY1CMS2gztt+MrUYoIKdcAehA00GX0Ao5h+S0CAXk9cgLCTOQk7mwMJATkbNHaKNPUR/xAnKa5DQIBbQNcEPEg6GoAE83Lz1CK8wA600sA4sY2B5hBvo5pR+txiCnQ85nQhtXFJURlJwmOQ1CAW1FzeLBUFQAA237SqkP2Dg3rM3wNWvT4OoHsfOu6I8pqo4XuPqhrahZPBgoKsEJXAOjE00nHcINbIjr3X+GPmLcJ2yUKwYX4q3Ql20WXLFx6siycdK+SfsGoYA+RM3iwcDgEpzAJYDh6WezOm1COuzj27SN1AswwDpOq5SInBY+FzMT6KNGWME6eTm8fpO2DULB1AWYV7wAXgAvgBfAC+AF8AI0CAVeAC/AGwQA6zl9nkGADgKMnx0KCTDAbWCjDDjg7HPAiYnnHs4M5qjeJaxgo9wggPibTYC2st/YDLAOy6GvCkA70/50UtFMMbZ30gVtqyq9a6xg42RmckYApo7mRbqEUwEhWmtraz9sR9Y8NPeAd3d3vxiLVlOCseyzl0VqhIwABkTo0HFh1V+CjmNE2C8qgk6L7yaOq7O3wBh+U3yNUGAVQDMAbmEjlb20mIQ20+8bPhdN39MuHpwXJwFmRacDaTOQzzxOi1wRdNpnN5li8eadZ/YdRJbiDQGWC8tBM6ADlW4sG9ikWEXQ0y3+BjMbdptpH6kcAmzqmJ2bj6FIuQXLiIDQvZzib/gY1pN+otgIsFIoIgJFHeM3KLyJaWWntOINpQlgQIS86+wilFq8oVQBDBOIUHrxhtIFMLxBhJkUb5iJAIZXiDCz4g0zE8CACCGbXQvb49HGCT+pNW0/qZXFTAV4xvya9PDwoBGiqgAf802N7yr2Lytl8l8EmCe8ANhS4wXAlpq/sWppbrWv2fQAAAAASUVORK5CYII=";

const _imports_14 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAE40lEQVR4nO3ZjVHbSBiH8f9WEKeCiAoiKshSQZwKTq4gpgJMBZgKMBXEVwFSBSgVRK7gTAV7j27ZwQLklWTMx8Ez8xvPxF/xK61XgNE772MAeNd9DADvuqEDSPEdibyXrJL3N0r0yqBPVtIFEr3O6gEcI1fHDLqWyX/4t9AEC3XIoEuZ3s6HD02wUCSDWCP8QX0bWmEmf8rVXrL01hyfEFrjAPVtawaxpjhD6DesIi/8Ao2QS/qK0DHmaK3LAHJJ3xA6RInXWIprhApYbckglkNohUSvu0rSF4QMWtt6520OoQJWr7slviNk0NrWO2977gEk8ksu0V2V/HtXijfGL9SdY4rWDGI5hApY7acUJxijrVzSKXJtL721xBqtGcRyCBWwevpOMFP3FvL7/M4ZxHIIFbB62i6QqX8lDrFTBrEcQgWsfCnqtZaoe3McIzSTP/qbrVA/rkQl//oppviCzc5R//vgDGI5hApY+RaS/kLfDlEikb/C3OwSU6zxWDM9HNgRcg3MIJZDqICVb46f6NsBKj0c4CUyxZupOYRcfgiDMojlECpg5UvkhzBC15aYo+4fjFB3g0TtR/5+lZrL4QCVBmQQyyFUwGr3UlwjdI4pulY/9gyhCRYakEGsfQxgjF8I/cASXbOSrhA6xUwDMojlECpgtXuZ/PYXOkKu7qW4RugUMw3IIJZDqIDV7lk1j+AEC3XPqvn8U8w0IINYDqECVruXqLkFXiJT96Y4Q+gIuQZkEMshVMDKZ+XX8QhtVfL7/hr3qzTsm3yEP6hvQ5+xRu8MYjmEClj5Fmru421NsNDDZmru5yUOEesCme66RKaBGcRyCBWw8s3xE7F+YIn7jVCp+Xu8EvXjKz1shDNkanaASgMziNU2gPo/NEei9nL5I92WVfPLLLSQf24l/z7jWyNsdow5BmcQyyFUwOppy+RP675dItOOGcRyCBWwerqs/DIao2+5/PaXa4cMYu1jACOcYIpdW2KCNXpnEMshVMBqt1JcoL59rBUqNY+slZSouW1utsYRSvTKIJZDqIDV8FJcYYTNbrCQ/0Kr1F4iv+4zPT6MCRbqkUEsh1ABq2GluMIIm51jJn8UuzbCFCe43xFydcwglkOogFX/RrhCitANxsg1vBS5mtcSaxyiUocMYjmEClj1b46fCN3AasCafaREfghfEMrlz4RoBrEcQgWs+mXlj/5mR8j1dKXI1TwTJlgokkEsh1ABq35dwequU8z09GXyu0uokr9M3ppBLIdQAavuJfI/uYVWqI/WGvuoxFeEfmCJ1gxiOYQKWHVvijOEjjHHvsrUPAsukWlLBrEcQgWsupfL/6Ez9Blr7LP69T+hrlJkGRjEcggVsOperrsBlDjEvst19551Bq1tvfM2h1ABq+4t8R2hCRbaXymuEVoh0ZYMYu0ygEzNNfncnWKmLRnEcggVsOpXia947m6QyH8ntGYQa9cBjLDENzxXK4xRYmsGsRxCBayGlck/N9H+WmN5a41oBrGeagCvMoNYmwOoFNlX31oGsXI11+8hSvwv6jKAKc4QKnGENd58BrFGqHR3eVlXye+vv1HizdZlAHWZXvaCpksTLNQzg65lev1D6PN5/qvvE6z8lL/gtbVCop4ZDCnFGIm8l66S/z1DiV4ZvOs+BoB33ccA8K77F/DNI1Ad1eJHAAAAAElFTkSuQmCC";

const _imports_8$1 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='14px'%20height='14px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cdefs%3e%3cfilter%20x='-50.00%25'%20y='-50.00%25'%20width='200.00%25'%20height='200.00%25'%20filterUnits='objectBoundingBox'%20id='filter572'%3e%3cfeColorMatrix%20type='matrix'%20values='1%200%200%200%200.4%200%201%200%200%200.4%200%200%201%200%200.4%200%200%200%201%200%20'%20in='SourceGraphic'%20/%3e%3c/filter%3e%3c/defs%3e%3cg%20transform='matrix(1%200%200%201%20-1686%20-5323%20)'%3e%3cimage%20preserveAspectRatio='none'%20style='overflow:visible'%20width='14'%20height='14'%20xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAIdQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA92IrIQAAACx0Uk5TAB5tuNj0bB0bmfz9qiBQ8/JOb24cGp6ba7e12/HZ12n7nJgZSU1MFZGitmptU/ZgAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAAASAAAAEgARslrPgAAAQ1JREFUeNrt1utOwlAQReEC5WKrnGKrItaK4t3z/s+nicYIHacN2ZHErO8nk7UDDSEkCQAAAAAAAAAAAPBpMByl43E6mkwP0syOsvglPz7pN6Vs5iH+UCz6bCmb0zxuycvuLWUz33n949L5eZRNFWJLceZvSZvzaLjwx5TNILMOWeVtSZsympbemLS5tA8rb0zaXNmH1BuTNsE+BG9M2vxyqPcY26+5tg+NNyZtDv4lnNiHG29M2kzNH4i1+6OibW6tw13ikjazov16vfHHtM196+HkD0kHbVPu/lEYdm2pm8XW06kfu7fUzdPz+vttvWz6bMmbavnahNCs3qp+U3/ZAAAAAAAAAAAA4J97B6Y13hOEznw5AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIwLTAzLTE4VDEyOjI5OjA2KzA4OjAwpDFvtAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMC0wMy0xOFQxMjoyOTowNiswODowMNVs1wgAAABJdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2V3MGNucnU1MjUvZ2VuZ2R1by5zdmfa+p/PAAAAAElFTkSuQmCC'%20x='1686px'%20y='5323px'%20filter='url(%23filter572)'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_7 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='14px'%20height='13px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cdefs%3e%3cfilter%20x='-50.00%25'%20y='-50.00%25'%20width='200.00%25'%20height='200.00%25'%20filterUnits='objectBoundingBox'%20id='filter571'%3e%3cfeColorMatrix%20type='matrix'%20values='1%200%200%200%200.4%200%201%200%200%200.4%200%200%201%200%200.4%200%200%200%201%200%20'%20in='SourceGraphic'%20/%3e%3c/filter%3e%3c/defs%3e%3cg%20transform='matrix(1%200%200%201%20-1740%20-5324%20)'%3e%3cimage%20preserveAspectRatio='none'%20style='overflow:visible'%20width='14'%20height='13'%20xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA4CAYAAABNGP5yAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAOAAAAACP8+m+AAADhUlEQVRoBe2aS4hPURzHZ7zfj4USmTGTkGcodiRRNh5JNsooO7NhgyJSyoayIDbySFlYkLLwyAaRR5Ty2DCTJPIYeYfx+U5z9O/M+f/N/zf3/q//vfdX3+4959zze3zP6557T01NxqU2EP8M8prAPDAaVLN8x/lWcBEcA+9AURlCyVHwG7SnEG3EtAEERcHfAmkM3I9pd4iBUxkJ3pGxwpGgOWAuUOv7cpuM60DjqFplOI4vA2O8AJ6TngB+Kf8QcMy46zbyQhOknq82GYbDV4GLzV0Xu0AeeoV3XUGKrg3E4k/uOxVfL+AvdWIrbfKMgF54QdUrLQL6ewXfvHRakp+8QHorLQIyLTkBmW5+gs98D+jTwx4wivpDe6jDr/6WDL23V0SsBDTi3XkwJSYvr6B3Ofgck/6/aq1DQG+KcQUv5xaB9bqJW6wEdLxExOzc+Jj1d6i3EvCkAs49qoAN8yqwB+cugx8xOPkFnSfBiRh0d1FpnQRfoUm7Kb1OarcVpbyPUtm/dFkJcHq1n66ow85wVFfrHBCV/cT15AQk3gQJO5D3gIQbIHHzme8B1mVQxK0DC8GABJuxFdsHgb75mcRKQDPWDpgsRl9pNSonAdO3TOsQWBJ9HGaNddQ070ytBMSxBzAzQEVT68uglYDj1NWPhv9BbuLEY6sj1jngHAZngwVgoNV4BPVa0HEWmBvDSoB8f9AJ3VetWIdA1QbsO54T4DOStXTeA7LW4n68eQ+AkXaPlb5eOi1Jv7E73h2U+caLcJqXTkNSh6UavEBeu/QZbtQLHPSld74rTMl1X0F8Ls41iq0WrAIioVC+ktgPLgH/aEnhc1Hda3OlP0E/y1SoHqweW2zY1lO2FqwEhfKRRB1oU6Z+buhMoGMmqatOq80E3ZURPHgfWPzd7huZTIbmAouyKOvoUOYO0J09yiajv/r1HtQ/nYKnRqVRkiBdd8BUUEo2Uliu3dPUKbl7HcQDm4G1a5XrUKnn9ZFjK9AQDclgMq+BUjpUJj0XwFLQRTQJFhMdfRkLZChOGYdyzdKNRYzoHHMTCH30kP9a3kaCkHwgswWUO7mGdMWap265t9PRUItqVdoCivUGitIhswjjHgiRoLwbQF+AUy39iG4X0IoQIuIl+XEPS0wkL3rB0QfPEAlzknevMh5ozGu913E5R4R6gFarTMlEoj0MjgC9tEUmfwCaJfF0KbQc/QAAAABJRU5ErkJggg=='%20x='1740px'%20y='5324px'%20filter='url(%23filter571)'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_10$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAFFklEQVRoBdWZW2icRRTHdze7MVsviblYRVEbr4iihnjpmnuCxEARtQYFxZc+ircHfUygUkXQPlnQKuibBEEkNRISkxDazUNDQLBREW0pPtikmsqa2N1ks/5OzLecmb0k+/ml+zkw7DlnZs78/zNn5puZDQZ2KI2MjFwVjUZfxf1+8q3ki+STmUzm/a6uri+RPUlBT7xYTsbHx+8Kh8NfA/ZGq8hRP0U40NnZueYY3P6G3DYs1G5ycrKmoqLiqyLgpekL5DcL+SjF7jkBOn+ZfLMF4i90e7RfGxsbKzRDVvPC6k4QeFp3FwwGjywuLtYRUtcgx1VZBJtRV5VtW/ScACBv070TSgf7+/tTra2tS+vr6+/qMuT7LL1k1VMCs7OzEQBHFIo0C/U3R2dtfO/I8gvZ27XuRvaUwPLy8g2CSwFZUnIAAr9qHbI3ad2N7CkBQuQWDYIRPqv1lpaWBLaUslUq2ZXoKQEQ9GoUjLARMlKGLUsAMhW6vhvZMwKDg4Pi60kLxJjWh4aGBPDljg0yq47s9tczAu3t7c8CYo8CcjGdTh9TeqChoeFqdL1GzupyN7InBEZHR2VUD1oAPu/p6fld21gjTVonhE5r3Y3sCYHKysqP6FyPfprweNsGFAqFHrVs31l6yWq45BaqASCDU1NThzA9o8wiHuXEecqyiWoQIMS+yVOnJJNrAsPDw7sA/wG9PWf1+FMkEnndsgUmJiYewnaPsieqq6tnlO5KLJmA7DZtbW1PEA7vMQP2YewCo7qfr2/CRkO8v2LZrkwkEilOr3LQ285uJPeJefJn5E+co7jeEbDnT3RyLSV3k9vJz5PzfUETEHqM0DlBuZHkiAHYPzFGjQL3yixN98kxRWK4lY6PYLi+gD9Z6NUFyjbMjO4v+Hgch3kXZTwej6ZSqfPU2VXMTyll9Dm3sLCwN4TTj2kooyt7dL5cDHwGRx+urq42FQIvoGKx2N/08xJ1/xDdi4S/pvr6+gNBwkPir9S1kKbNF+zrb3V3d89tF5CsH+oXG5CCrpLJ5HXcHw4DXO9kM24IvMhClY/UuYK97VABd+3dnGizx3O6SeR8yIjV3TCtdTKVZLSzidvV0XKAFwCAT2aB/CtEJHSMnaiurm6pubk5u60RYkabxsbGjGG4hApr6H5CSPd4OmcG2O6MGjQwCNrl2ttOy2B5xOrjRA4Bq4KvVGZgrwYEoRnZRo0RJsaNGdANyilv4nxYY2BNzPxvZmB6evpOSNQqAkuszx+3JMC0+WKG+ObEFHgR43xX1rckYDUqp2rEP0A2TrI5BObn5325BgBszACBEZfRzCEgxmKpHASJ9Rri/w6FS258J0UP2zGuKvlGBGwMnNnBRv62o6ND7hGlz0A5WAHYiH8IbYRPXgIDAwO+WwMQMOIfAtmraHZaioyssY1eaoLyGAbgBzU+CBWeAV3RDzKHy3vBcYXCco7L0xlH384MOHXL8svjgRH/gDiugQgBI0SYnqJrYKty7dwj2SaQjX/x7/sZAKOxgHX8+56AXCEBuUeAbqbkysqKcQf37QzwR/llXGsPOcg3f+f6+vqS2pbzGsE70c+6AluYVgN2uVHooUK/teQa7RL9mNZFziFApUa7kta3Ktd1PZZ/qKqqOmz7lBA6bxt9qJ/hKecpeSCzscmV8g2M8nDqu8SOs0B+B2AP8JQjD7s5aeMbIE/lpAbI/Oc/3XJ6cGlYW1u70Nvb69lTpEsYO9/sHwHIu0q4cL20AAAAAElFTkSuQmCC";

const _imports_17 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAAD30lEQVR4AeVa7XXaMBSVDANkBDxB6QRxJmg6QVmANp2gZAOaDBCYoGwQugGZAGUD+F9Q7zPIxxAZy7ZkG0vn5Ejoy/fe954+7HDWgrRbf/8FGPeMySFyIRmf9MOneR3QeB0PufQMkJ+AOAlwlvgqYMEdD6ebswarPwOrs5WaTP7QD5PDPdu/6tvs1bZAAHaTTUcODx6S3aNqS6MhINcP0Z7tcq0csF6IUBBVyerGt8EDdLhO6iASFkg3qVEBEOORGS3+zaxf8V6NCmAOVw4RLhfWCvOZzns2KoBkMjoHdOH38EJb6abGBCCLYgW+NUW+Y7uBad8i/RoTACCjIkA544Mi/U37NiYALDoyBemyXyMCwP0HcP8vLomZzt2IANj+JqYAXferXQCyPi4/zvb1ooLVLgBi/6UoSOqPLVOUGZc3plYBYP17xH6UB0rX3mM9oauvWlebAOT6ONOXsv6R5KYqWd342gQ4un7p4yxugysdgap1/aoTmIzfrcdk+cikb0aft4z6ytXOPeDfejwCSvqrkLgT6xMgpwIQeSx6VeJeiSZUwXbuTACL5GGlYGmbuJoPBrKfbJIndL3w2QlOmtu6B9gmLxn7S0BdpRNl5Xp8a/ogHj5/AIa9/gZ7/RpzlN7uNM+fwUozTX3pqjT2WAA6oR0PKQWA81UvfPqcRnGc50+6rqVlgTfNX+lsEQA0PkDsCHQB8kQrfk8XUUkl3PKGqtzynE6lr+A+CHBCm7QcrCt4CNf9JEAMGMe9KyQNzvuJdoGCrt8gXOuPlpwEeLc+79VMiC/Q2GfF1eC1DlTiE7zHCVvhCosgF75qgHPAkjzASwEQ+vFJ1tsQgOcvyfOxCLp520qTtznhir0ifIGrt61tJn/EtqTcyxCg+McCuFECCCr4lFT8E+cASgifyMekWbBQnH0MgS2MHi+ABzEOUnh0H+CJ9RMBfLoPYPv7KICKBw/yLTgu0zzjNcCf+wBfqO1PiaAWQaEqupyfuz9xVQJ0mbfiRqv/SfwnAvhxH+AzpUQ6jz3Ah/sA3H+aJq7KvoTAW9aJVwkglCJdzHHO0VqfuMYCZKnTETG2/fB5lsVFeUBWewfqeab1iVxagE7eB7D4zS5ZMRGgm/cBPs8L70SASypda1vW1pfmkwjQtfvA8bXXKk1WV04EQKPQdbjWOhzuHkywJwJ06zjMHxH7udYngRIBoNgSv+m+fOWJz/GvOxNTEokAtFoibozcJjX5JlWGmoePDem6GstkvJ8gPyryzEQAGkQnJnwxvaMFJGeS+GHnbobfC8b475yxNpvfD1j5I3AP8P+E06KT/wdPOffX7me6UQAAAABJRU5ErkJggg==";

const _imports_12 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAgKADAAQAAAABAAAAgAAAAABIjgR3AAAGo0lEQVR4Ae2dTW8bVRSGEydOihDEUSW2ICQ2wBJERSLRDaJlwc8obBI5ShQkVl4SN5aVOEIgfgb9QioqCxcWXSLY0ILKjkWkuBVK4yQO5ygzMHbjyXzcO3PPue9Iluf73vu8z1zPxJnxxAQGEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABPQQmbTVlZWXl9cFg8GalUnk2MzPzYGNjo2erLI37rdfrtZOTk3epbbPE8Ld2u/2HjXYaF2B5efkNqvC3VNkPIhXuT05Ofj03N/d5o9F4FpmP0RECxOdCr9e7TuFfo0Uz4WKavkevT7e3t38P55l4NypAEP7PVLGLYyrXpd7g42az+XTMcq9nr6+vv9Tv928RhMUxIHbpQLpEvcHDMctTz66k3iJmg+DIHxc+b7lIDbzNDY3ZjZeLgvBvM6MYABepF/gmZnnqRcZ6AP7Mp8o9SliD+9QTXEVPcEorEv5CEn5TU1OvtVqtx0nWPW8dYz0An/CdV1hk+QJ6glMaacPnrQ4PD9+KsMw1akwAPttPWRPvJcgSPjPOwHpsNMYE4Es9KqU/tqSzF3grQdbwCeNBwPpsoinnGhOAr/P5Ui9l+by6dxLkCH+CzrO+MnnuZEwATpKv8+mty+MpB28kyBM+Me3Oz89/kZJt7OrGrgLCUtbW1l48Ojq6QdOXw3lJ36kH+Ym2vdrpdJ4k3UbSegGbm1Tn6B/JEjWB2VSr1Ssmj34u2LgAvFNIwBSGBxfD5xpaEYB3DAmYwungavhcO2sC8M4hwX8MnOr2OZtwsCoAF+KzBC4f+YUJ4KsEEsLnbKz3AKFpPvUEUsIvVAAuzAcJJIVfuADaJZAWfikCaJVAYvilCaBNAqnhlyqAFgkkh1+6ANIlkB6+EwJIlUBD+M4IIE0CLeE7JYAUCTSF75wArkugLXwnBXBVAo3hOyuAaxJoDd9pAVyRQHP4zgtQtgTawxchQFkS+BC+GAGKlsCX8EUJUJQEPoUvTgDbEvgWvkgBbEngY/hiBTAtga/hixbAlASzs7PHdDuas/+3z+20ORT2X8G2GpHzZsv7Qb0SPZljpA0qnnIiXgAOJejCM92QOhJqoklbN2omKtzwSioEYCZFSaApfOamRoAiJNAWvjoBbEqgMXyVAtiQQGv4agUwKYHm8FULYEIC7eEzI6MPieIdOjjkOtHd39/Ptb2DPIaqpLZxef68GyXEvYDmB1epFMBU+KEImiVQJ4Dp8LVLoEoAW+FrlkCNALbD1yqBCgGKCl+jBOIvA/nrYDpL/57CSf34VdqGvw4OvxIO8z33nR7Y/D79aMMtLvvclR1fQbQAfOTTD098R4xTf5/PZ/b8qyXT09Mf0fY/ZshpgX644c7S0tLLGbZ1ZhOxHwF5uv3Rv/AF+8r0/wTSLxFFCmAy/PBQ9FUCcQLYCN9nCUQJYDN8XyUQI0AR4fsogQgBigzfNwmcF6CM8H2SwGkBygzfFwmcFcCF8H2QwEkBXApfuwTOCeBi+JolcEoAl8PXKoEzAkgIX6METgggKXxtEpQugMTwNUlQqgCSw9ciQWkCaAhfgwSlCKApfOkSFC6AxvAlS1CoAJrDlypBYQL4EL5ECQoRwKfwpUlgXQAfw5ckgVUBfA5figTWBED4oQL5HmFn+74DKwIg/P/DD8cCJs7dfGJcAIQfRv78u4sSGL03sNFoXKAbNe9Q0zPdqFmtVq80m82nz6PTMWdzc/Mfuh/xE2pN1htSbzJjkzSMCtDr9a5T5RYzVFDFg5eTtJsF55tSad3UEjDbvb29L5OUk3QdYx8B9Xq9RoX+Ta+ZpIUH63kTfpRLjqecHxwfH7/S6XSeRPeXddxYD0Bnq+9QJRB+wiRy9ASz9GwCZm1kMCbAYDBI+9nk5ZEfTS2rBBlYR4sdGjcmAHVLvw7tOX7C+/BDPFkkoJPlNKzDos58NybAzs7On/TolHtnljI8E+EP85hIKcHdVqv1eGQXmSeNCcA1qFQq1+htN6Y2XT4D5gbHrOPloogE3RgAu9TTfhazPPUiowK02+2HdDJ4iV4/jNTkgHqHdq1W+xDhj5CJTDIbZkSztuh1EFnEo3cp/Pfo7P/RyPxck8YuA0drsbq6+ipV+G2av09H/QMEP0oofpofPhWc7b9AB88vW1tbf8VvgaUgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIg8C9yNG0zv/zA5QAAAABJRU5ErkJggg==";

const _imports_13 = "data:image/png;base64,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";

const mutable = (val) => val;

const messageTypes = ["success", "info", "warning", "error"];
const messageDefaults = mutable({
  customClass: "",
  center: false,
  dangerouslyUseHTMLString: false,
  duration: 3e3,
  icon: void 0,
  id: "",
  message: "",
  onClose: void 0,
  showClose: false,
  type: "info",
  plain: false,
  offset: 16,
  zIndex: 0,
  grouping: false,
  repeatNum: 1,
  appendTo: void 0
});
buildProps({
  customClass: {
    type: String,
    default: messageDefaults.customClass
  },
  center: {
    type: Boolean,
    default: messageDefaults.center
  },
  dangerouslyUseHTMLString: {
    type: Boolean,
    default: messageDefaults.dangerouslyUseHTMLString
  },
  duration: {
    type: Number,
    default: messageDefaults.duration
  },
  icon: {
    type: iconPropType,
    default: messageDefaults.icon
  },
  id: {
    type: String,
    default: messageDefaults.id
  },
  message: {
    type: definePropType([
      String,
      Object,
      Function
    ]),
    default: messageDefaults.message
  },
  onClose: {
    type: definePropType(Function),
    default: messageDefaults.onClose
  },
  showClose: {
    type: Boolean,
    default: messageDefaults.showClose
  },
  type: {
    type: String,
    values: messageTypes,
    default: messageDefaults.type
  },
  plain: {
    type: Boolean,
    default: messageDefaults.plain
  },
  offset: {
    type: Number,
    default: messageDefaults.offset
  },
  zIndex: {
    type: Number,
    default: messageDefaults.zIndex
  },
  grouping: {
    type: Boolean,
    default: messageDefaults.grouping
  },
  repeatNum: {
    type: Number,
    default: messageDefaults.repeatNum
  }
});

const instances = shallowReactive([]);

const configProviderProps = buildProps({
  a11y: {
    type: Boolean,
    default: true
  },
  locale: {
    type: definePropType(Object)
  },
  size: useSizeProp,
  button: {
    type: definePropType(Object)
  },
  experimentalFeatures: {
    type: definePropType(Object)
  },
  keyboardNavigation: {
    type: Boolean,
    default: true
  },
  message: {
    type: definePropType(Object)
  },
  zIndex: Number,
  namespace: {
    type: String,
    default: "el"
  },
  ...useEmptyValuesProps
});

const messageConfig = {};
defineComponent({
  name: "ElConfigProvider",
  props: configProviderProps,
  setup(props, { slots }) {
    watch(() => props.message, (val) => {
      Object.assign(messageConfig, val != null ? val : {});
    }, { immediate: true, deep: true });
    const config = provideGlobalConfig(props);
    return () => renderSlot(slots, "default", { config: config == null ? void 0 : config.value });
  }
});

const normalizeOptions = (params) => {
  const options = !params || shared_cjs_prodExports$1.isString(params) || isVNode(params) || shared_cjs_prodExports$1.isFunction(params) ? { message: params } : params;
  const normalized = {
    ...messageDefaults,
    ...options
  };
  if (!normalized.appendTo) {
    normalized.appendTo = (void 0).body;
  } else if (shared_cjs_prodExports$1.isString(normalized.appendTo)) {
    let appendTo = (void 0).querySelector(normalized.appendTo);
    if (!isElement(appendTo)) {
      appendTo = (void 0).body;
    }
    normalized.appendTo = appendTo;
  }
  if (isBoolean(messageConfig.grouping) && !normalized.grouping) {
    normalized.grouping = messageConfig.grouping;
  }
  if (isNumber(messageConfig.duration) && normalized.duration === 3e3) {
    normalized.duration = messageConfig.duration;
  }
  if (isNumber(messageConfig.offset) && normalized.offset === 16) {
    normalized.offset = messageConfig.offset;
  }
  if (isBoolean(messageConfig.showClose) && !normalized.showClose) {
    normalized.showClose = messageConfig.showClose;
  }
  return normalized;
};
const message = (options = {}, context) => {
  return { close: () => void 0 };
};
messageTypes.forEach((type) => {
  message[type] = (options = {}, appContext) => {
    const normalized = normalizeOptions(options);
    return message({ ...normalized });
  };
});
function closeAll(type) {
  for (const instance of instances) {
    if (!type || type === instance.props.type) {
      instance.handler.close();
    }
  }
}
message.closeAll = closeAll;
message._context = null;

const ElMessage = withInstallFunction(message, "$message");

const _sfc_main$3 = {
  __name: "commentList",
  __ssrInlineRender: true,
  props: {
    token: String
  },
  setup(__props, { expose: __expose, emit: __emit }) {
    let permissions = ref([]);
    const $ajax = inject("$ajax");
    inject("$ajaxGET");
    const detailsToken = inject("detailsToken");
    const handleDate = inject("handleDate");
    inject("isNeedLogin");
    inject("handleMsg");
    inject("uploadImg");
    inject("handleAnswerText");
    const emojiMaskState = inject("emojiMaskState");
    const user = inject("user");
    inject("goLogin");
    inject("detailLoading");
    const commentList = ref([]);
    let commentCount = ref(0);
    let commentTotalCount = ref(0);
    let commentPage = ref(1);
    let isgetCommentSate = false;
    const getComment = () => {
      if (commentPage.value == 0 || isgetCommentSate) return;
      isgetCommentSate = true;
      $ajax("/api/comment/lists", {
        token: detailsToken.value,
        page: commentPage.value,
        limit: 1500
      }).then((res) => {
        if (res.code != 200) return;
        let data = res.data;
        data.data.forEach((element, index) => {
          element["isReplyBoxShow"] = 0;
          if (element.child.length > 0) {
            element.child.forEach((el) => {
              el["isReplyBoxShow"] = 0;
            });
          }
        });
        if (commentPage.value > 1) {
          let alreadyCommentIdList2 = alreadyCommentIdList2;
          for (let index = 0; index < data.data.length; index++) {
            if (alreadyCommentIdList2.includes(data.data[index].id)) {
              data.data.splice(index, 1);
              index--;
            }
          }
        }
        commentList.value = commentList.value.concat(data.data);
        commentCount.value = data.count;
        commentTotalCount.value = data.comments;
        commentPage.value = data.count > commentList.length ? commentPage.value + 1 : 0;
      }).finally(() => {
        isgetCommentSate = false;
      });
    };
    let picture = ref({});
    watch(
      detailsToken,
      (newValue, oldValue) => {
        if (newValue !== oldValue) {
          commentPage.value = 1;
          commentList.value = [];
          picture.value = {};
          commentTotalCount.value = 0;
          commentCount.value = 0;
          getComment();
        }
      },
      { immediate: true }
    );
    let emojiState = ref(false);
    const emojiData = ["😀", "😁", "😆", "😅", "😂", "😉", "😍", "🥰", "😋", "😜", "🤪", "😎", "🤩", "🥳", "😔", "🙁", "😭", "😡", "😳", "🤗", "🤔", "🤭", "🤫", "😯", "😵", "🙄", "🥴", "🤢", "🤑", "🤠", "👌", "✌️", "🤟", "🤘", "🤙", "👍", "👎", "✊", "👏", "🤝", "🙏", "💪", "❤️", "💔", "🌹", "🥀", "🎉", "🎁", "🧧", "🌙", "⭐", "🌍", "💌", "📬", "🚗", "🚕", "🚲", "🛵", "🚀", "🚁", "⛵", "🚢", "🍎", "🍐", "🍊", "🍉", "🍓", "🍑", "🍔", "🍟", "🍕", "🥪", "🍜", "🍡", "🍨", "🍦", "🎂", "🍰", "🍭", "🍿", "🍩", "🧃", "🍹"];
    const closeEmoji = (index, i) => {
      commentList.value.forEach((ele) => {
        ele["emojiState"] = false;
        if (ele["child"] && ele["child"].length != 0) {
          ele["child"].forEach((el) => {
            el["emojiState"] = false;
          });
        }
      });
      emojiState.value = false;
      emojiMaskState.value = false;
      editEmojiState.value = false;
    };
    __expose({
      closeEmoji
    });
    let inputTextarea = ref("");
    inject("handleMenuState");
    let dialogVisible = ref(false);
    let commemtDelete = {};
    const confirmCommentDelete = () => {
      $ajax("/api/comment/commentDelete", {
        token: commemtDelete.token
      }).then((res) => {
        if (res.code != 200) {
          ElMessage.error(res.message);
          return;
        }
        if (commemtDelete.i >= 0) {
          commentList.value[commemtDelete.index].child.splice(commemtDelete.i, 1);
          commentList.value[commemtDelete.index].childnum -= 1;
        } else {
          commentTotalCount.value -= commentList.value[commemtDelete.index].childnum;
          commentList.value.splice(commemtDelete.index, 1);
        }
        commentTotalCount.value -= 1;
        dialogVisible.value = false;
        ElMessage.success(res.message || "操作成功");
      });
    };
    let editCommentState = ref(false);
    let editPicture = ref({});
    let editInput = ref("");
    let editEmojiState = ref(false);
    ref(null);
    return (_ctx, _push, _parent, _attrs) => {
      const _component_el_dialog = ElDialog;
      const _component_el_button = ElButton;
      _push(`<div${ssrRenderAttrs(mergeProps({ class: "answer-discuss" }, _attrs))}>`);
      if (unref(editCommentState)) {
        _push(`<div class="edit-comment flexcenter"><div class="box"><div class="text">编辑评论</div><div class="input-box"><div class="top flexflex"><textarea class="input-textarea flex1" maxlength="500" placeholder="说说你的想法或疑问…">${ssrInterpolate(unref(editInput))}</textarea></div>`);
        if (unref(editPicture).url) {
          _push(`<div class="picture-box"><div class="picture"><img class="close"${ssrRenderAttr("src", _imports_3$1)}><img class="img"${ssrRenderAttr("src", unref(editPicture).base64 || unref(editPicture).url)}></div></div>`);
        } else {
          _push(`<!---->`);
        }
        _push(`<div class="bottom flexacenter"><div class="operate flexacenter"><div class="${ssrRenderClass([{ pitch: unref(editEmojiState) }, "item"])}"><img class="icon"${ssrRenderAttr("src", _imports_4$1)} alt=""><div class="emoji-box"><!--[-->`);
        ssrRenderList(emojiData, (item) => {
          _push(`<div class="emoji-icon">${ssrInterpolate(item)}</div>`);
        });
        _push(`<!--]--></div></div><div class="item flexacenter"><input class="file" type="file" accept=".png, .jpg, .jpeg"><img class="icon" style="${ssrRenderStyle({ "border-radius": "0" })}"${ssrRenderAttr("src", _imports_5$1)} alt=""><span class="file-hint">最多可上传1张图片，支持在输入框中直接粘贴图片。</span></div></div></div></div><div class="btn-list flexacenter"><div class="btn">取消</div><div class="btn send">发送</div></div></div></div>`);
      } else {
        _push(`<!---->`);
      }
      _push(`<div class="header flexacenter"> 回答&amp;讨论 <span class="num">${ssrInterpolate(unref(commentTotalCount) || "")}</span></div><div class="input-box"><div class="top flexflex">`);
      if (unref(user).avatar) {
        _push(`<img class="avatar"${ssrRenderAttr("src", unref(user).avatar)}>`);
      } else {
        _push(`<!---->`);
      }
      _push(`<textarea class="input-textarea flex1" maxlength="500" placeholder="说说你的看法…">${ssrInterpolate(unref(inputTextarea))}</textarea></div>`);
      if (unref(picture).url) {
        _push(`<div class="picture-box"><div class="picture"><img class="close"${ssrRenderAttr("src", _imports_3$1)}><img class="img"${ssrRenderAttr("src", unref(picture).base64 || unref(picture).url)}></div></div>`);
      } else {
        _push(`<!---->`);
      }
      _push(`<div class="bottom flexacenter"><div class="operate flexacenter"><div class="${ssrRenderClass([{ pitch: unref(emojiState) }, "item"])}"><img class="icon"${ssrRenderAttr("src", _imports_4$1)} alt=""><div class="emoji-box"><!--[-->`);
      ssrRenderList(emojiData, (item) => {
        _push(`<div class="emoji-icon">${ssrInterpolate(item)}</div>`);
      });
      _push(`<!--]--></div></div><div class="item flexacenter"><input class="file" type="file" accept=".png, .jpg, .jpeg"><img class="icon" style="${ssrRenderStyle({ "border-radius": "0" })}"${ssrRenderAttr("src", _imports_5$1)} alt=""><span class="file-hint">最多可上传1张图片，支持在输入框中直接粘贴图片。</span></div></div><div class="btn">发送</div></div></div><div class="comments-box"><!--[-->`);
      ssrRenderList(unref(commentList), (item, index) => {
        var _a, _b, _c, _d;
        _push(`<div class="comments-item"><div class="comments-header flexacenter"><div class="comments-header-left flexacenter"><img class="comments-avatar"${ssrRenderAttr("src", item["avatar"])}><div class="comments-username">${ssrInterpolate(item["nickname"] || "匿名用户")}</div><div class="comments-time">${ssrInterpolate(unref(handleDate)(item["timestamp"]))}</div>`);
        if (item["isauthor"] == 1) {
          _push(`<div class="comments-identity">提问者</div>`);
        } else {
          _push(`<!---->`);
        }
        if (item["groupimage"]) {
          _push(`<img class="comments-title"${ssrRenderAttr("src", item.groupimage)}${ssrRenderAttr("alt", item.grouptitle)} style="${ssrRenderStyle({ "height": "17px" })}">`);
        } else {
          _push(`<!---->`);
        }
        if (item["avatarState"]) {
          _push(`<div class="avatar-box flexflex"><a class="avatar-item flexcenter" target="_blank"><img class="avatar-icon"${ssrRenderAttr("src", _imports_13$1)}> 发送信息 </a><a class="avatar-item flexcenter" target="_blank"><img class="avatar-icon"${ssrRenderAttr("src", _imports_14)}> TA的主页 </a><div class="avatar-mask"></div></div>`);
        } else {
          _push(`<!---->`);
        }
        _push(`</div><div class="comments-header-right flexacenter"><div class="menu-box flexacenter"><img class="menu-icon"${ssrRenderAttr("src", _imports_8$1)}><div class="operate-boxx"><div class="item flexcenter">举报</div>`);
        if (unref(permissions).includes("comment.edit")) {
          _push(`<div class="item flexcenter">编辑</div>`);
        } else {
          _push(`<!---->`);
        }
        if (unref(permissions).includes("comment.delete")) {
          _push(`<div class="item flexcenter">删除</div>`);
        } else {
          _push(`<!---->`);
        }
        _push(`</div></div><img class="comment-icon"${ssrRenderAttr("src", _imports_7)}><div class="flexacenter like-box">`);
        if (item["islike"] == 0) {
          _push(`<img class="like-icon"${ssrRenderAttr("src", _imports_10$1)}>`);
        } else {
          _push(`<img class="like-icon"${ssrRenderAttr("src", _imports_17)}>`);
        }
        _push(`<div class="like-quantity">${ssrInterpolate(item["likenum"] || "")}</div></div></div></div><div class="comments-content"><div class="comments-text">${item["content"] ?? ""}</div>`);
        if ((_a = item.image) == null ? void 0 : _a.url) {
          _push(`<img class="comments-img"${ssrRenderAttr("src", ((_b = item.image) == null ? void 0 : _b.base64) || ((_c = item.image) == null ? void 0 : _c.url))}>`);
        } else {
          _push(`<!---->`);
        }
        if (item["childState"]) {
          _push(`<div class="input-box"><img class="cross"${ssrRenderAttr("src", _imports_12)}><div class="top flexflex"><textarea class="input-textarea flex1" maxlength="500" placeholder="说说你的看法…">${ssrInterpolate(item["commentInput"])}</textarea></div>`);
          if ((_d = item.picture) == null ? void 0 : _d.url) {
            _push(`<div class="picture-box"><div class="picture"><img class="close"${ssrRenderAttr("src", _imports_3$1)}><img class="img"${ssrRenderAttr("src", item.picture.base64 || item.picture.url)}></div></div>`);
          } else {
            _push(`<!---->`);
          }
          _push(`<div class="bottom flexacenter"><div class="operate flexacenter"><div class="${ssrRenderClass([{ pitch: item.emojiState }, "item"])}"><img class="icon"${ssrRenderAttr("src", _imports_4$1)} alt=""><div class="emoji-box"><!--[-->`);
          ssrRenderList(emojiData, (item2) => {
            _push(`<div class="emoji-icon">${ssrInterpolate(item2)}</div>`);
          });
          _push(`<!--]--></div></div><div class="item flexacenter"><input class="file" type="file" accept=".png, .jpg, .jpeg"><img class="icon" style="${ssrRenderStyle({ "border-radius": "0" })}"${ssrRenderAttr("src", _imports_5$1)} alt=""><span class="file-hint">最多可上传1张图片，支持在输入框中直接粘贴图片。</span></div></div><div class="btn">发送</div></div></div>`);
        } else {
          _push(`<!---->`);
        }
        _push(`</div>`);
        if (item["child"].length != 0) {
          _push(`<div class="child-comments"><!--[-->`);
          ssrRenderList(item["child"], (ite, i) => {
            var _a2, _b2, _c2, _d2, _e;
            _push(`<div class="comments-item"><div class="comments-header flexacenter"><div class="comments-header-left flexacenter"><img class="comments-avatar"${ssrRenderAttr("src", ite["avatar"])}><div class="comments-username">${ssrInterpolate(ite["nickname"] || "匿名用户")}</div><div class="comments-time">${ssrInterpolate(unref(handleDate)(ite["timestamp"]))}</div>`);
            if (ite["isauthor"] == 1) {
              _push(`<div class="comments-identity">提问者</div>`);
            } else {
              _push(`<!---->`);
            }
            if (ite["groupimage"]) {
              _push(`<img class="comments-title"${ssrRenderAttr("src", ite.groupimage)}${ssrRenderAttr("alt", ite.grouptitle)} style="${ssrRenderStyle({ "height": "17px" })}">`);
            } else {
              _push(`<!---->`);
            }
            if (ite["avatarState"]) {
              _push(`<div class="avatar-box flexflex"><a class="avatar-item flexcenter" target="_blank"><img class="avatar-icon"${ssrRenderAttr("src", _imports_13$1)}> 发送信息 </a><a class="avatar-item flexcenter" target="_blank"><img class="avatar-icon"${ssrRenderAttr("src", _imports_14)}> TA的主页 </a><div class="avatar-mask"></div></div>`);
            } else {
              _push(`<!---->`);
            }
            _push(`</div><div class="comments-header-right flexacenter"><div class="menu-box flexacenter"><img class="menu-icon"${ssrRenderAttr("src", _imports_8$1)}><div class="operate-boxx"><div class="item flexcenter">举报</div>`);
            if (unref(permissions).includes("comment.edit")) {
              _push(`<div class="item flexcenter">编辑</div>`);
            } else {
              _push(`<!---->`);
            }
            if (unref(permissions).includes("comment.delete")) {
              _push(`<div class="item flexcenter">删除</div>`);
            } else {
              _push(`<!---->`);
            }
            _push(`</div></div><img class="comment-icon"${ssrRenderAttr("src", _imports_7)}><div class="flexacenter like-box">`);
            if (ite["islike"] == 0) {
              _push(`<img class="like-icon"${ssrRenderAttr("src", _imports_10$1)}>`);
            } else {
              _push(`<img class="like-icon"${ssrRenderAttr("src", _imports_17)}>`);
            }
            _push(`<div class="like-quantity">${ssrInterpolate(ite["likenum"] || "")}</div></div></div></div><div class="comments-content"><div class="comments-text">`);
            if ((_a2 = ite == null ? void 0 : ite.reply) == null ? void 0 : _a2.nickname) {
              _push(`<div class="comments-reply">@${ssrInterpolate(ite["reply"]["nickname"] || "匿名用户")}</div>`);
            } else {
              _push(`<!---->`);
            }
            _push(`<span>${ite["content"] ?? ""}</span></div>`);
            if ((_b2 = ite.image) == null ? void 0 : _b2.url) {
              _push(`<img class="comments-img"${ssrRenderAttr("src", ((_c2 = ite.image) == null ? void 0 : _c2.base64) || ((_d2 = ite.image) == null ? void 0 : _d2.url))}>`);
            } else {
              _push(`<!---->`);
            }
            if (ite["childState"]) {
              _push(`<div class="input-box"><img class="cross"${ssrRenderAttr("src", _imports_12)}><div class="top flexflex"><textarea class="input-textarea flex1" maxlength="500"${ssrRenderAttr("placeholder", "回复“" + (ite["nickname"] || "匿名用户") + "”：")}>${ssrInterpolate(ite["commentInput"])}</textarea></div>`);
              if ((_e = ite.picture) == null ? void 0 : _e.url) {
                _push(`<div class="picture-box"><div class="picture"><img class="close"${ssrRenderAttr("src", _imports_3$1)}><img class="img"${ssrRenderAttr("src", ite.picture.base64 || ite.picture.url)}></div></div>`);
              } else {
                _push(`<!---->`);
              }
              _push(`<div class="bottom flexacenter"><div class="operate flexacenter"><div class="${ssrRenderClass([{ pitch: ite.emojiState }, "item"])}"><img class="icon"${ssrRenderAttr("src", _imports_4$1)} alt=""><div class="emoji-box"><!--[-->`);
              ssrRenderList(emojiData, (item2) => {
                _push(`<div class="emoji-icon">${ssrInterpolate(item2)}</div>`);
              });
              _push(`<!--]--></div></div><div class="item flexacenter"><input class="file" type="file" accept=".png, .jpg, .jpeg"><img class="icon" style="${ssrRenderStyle({ "border-radius": "0" })}"${ssrRenderAttr("src", _imports_5$1)} alt=""><span class="file-hint">最多可上传1张图片，支持在输入框中直接粘贴图片。</span></div></div><div class="btn">发送</div></div></div>`);
            } else {
              _push(`<!---->`);
            }
            _push(`</div></div>`);
          });
          _push(`<!--]-->`);
          if (item["childnum"] > item["child"].length) {
            _push(`<div class="comments-also flexacenter"><div class>还有${ssrInterpolate(item["childnum"] - item.child.length)}条回复</div><img class="also-icon"${ssrRenderAttr("src", _imports_13)}></div>`);
          } else {
            _push(`<!---->`);
          }
          _push(`</div>`);
        } else {
          _push(`<!---->`);
        }
        _push(`</div>`);
      });
      _push(`<!--]--></div>`);
      _push(ssrRenderComponent(_component_el_dialog, {
        modelValue: unref(dialogVisible),
        "onUpdate:modelValue": ($event) => isRef(dialogVisible) ? dialogVisible.value = $event : dialogVisible = $event,
        title: "提示",
        width: "500"
      }, {
        footer: withCtx((_, _push2, _parent2, _scopeId) => {
          if (_push2) {
            _push2(`<div class="dialog-footer"${_scopeId}>`);
            _push2(ssrRenderComponent(_component_el_button, {
              onClick: ($event) => isRef(dialogVisible) ? dialogVisible.value = false : dialogVisible = false
            }, {
              default: withCtx((_2, _push3, _parent3, _scopeId2) => {
                if (_push3) {
                  _push3(`取 消`);
                } else {
                  return [
                    createTextVNode("取 消")
                  ];
                }
              }),
              _: 1
            }, _parent2, _scopeId));
            _push2(ssrRenderComponent(_component_el_button, {
              type: "primary",
              onClick: confirmCommentDelete
            }, {
              default: withCtx((_2, _push3, _parent3, _scopeId2) => {
                if (_push3) {
                  _push3(`确 定`);
                } else {
                  return [
                    createTextVNode("确 定")
                  ];
                }
              }),
              _: 1
            }, _parent2, _scopeId));
            _push2(`</div>`);
          } else {
            return [
              createVNode("div", { class: "dialog-footer" }, [
                createVNode(_component_el_button, {
                  onClick: ($event) => isRef(dialogVisible) ? dialogVisible.value = false : dialogVisible = false
                }, {
                  default: withCtx(() => [
                    createTextVNode("取 消")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                createVNode(_component_el_button, {
                  type: "primary",
                  onClick: confirmCommentDelete
                }, {
                  default: withCtx(() => [
                    createTextVNode("确 定")
                  ]),
                  _: 1
                })
              ])
            ];
          }
        }),
        default: withCtx((_, _push2, _parent2, _scopeId) => {
          if (_push2) {
            _push2(`<span${_scopeId}>确定删除该讨论吗？</span>`);
          } else {
            return [
              createVNode("span", null, "确定删除该讨论吗？")
            ];
          }
        }),
        _: 1
      }, _parent));
      _push(`</div>`);
    };
  }
};
const _sfc_setup$3 = _sfc_main$3.setup;
_sfc_main$3.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/commentList.vue");
  return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
};

const _imports_0 = "" + __buildAssetsURL("logo.DlviZpxD.png");

const _imports_1 = "data:image/png;base64,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";

const _imports_2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAkBQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA03KISwAAAL90Uk5TAA9Ne6PBzN3Qxa2GWxwTbMb82oQnIJH3xA2O+9yfdlNENUFMa5PLtSNA49l5EGHA9m4BUgIzr64MA5nybUXbyhXOJaXWkLMJ/sgLYKoEoir1uwZ/4vEZ/TsR5aFYK130FKCNSyRmdLe2czHwMuw2G/oFXteFVLx4YqZlrKtanIcp2M1cGozz5GMiGPmS6+pDOfidX+nTL+Ys4H25HQp13yYImB/UgEJvsrrVeqhpx2ipLTQHEpfeg+cu7j9PVmTFnY/3AAAAAWJLR0QAiAUdSAAAAAlwSFlzAAAASAAAAEgARslrPgAAAxFJREFUWMPtV/k7VVEUPc/QMxQqUppkKGWI50bPEBqfR+QpLw00oEGZSjRKESGlVCTNc5rncf1r7Xsf38cdj9dvfe2f7l37rHXO3Wefs/dl7L9pmsnD08t7itnH189/6rRJswMCg6ZjnM2YGTwZesisUChstgcvfU7YXIkxb/6CheGLIiKjohe7VrMkhou/dJk4ODYuZBwWn7BcBBOTLMZ8T3E2n2RBjq9IESVSVxrQrWk0Kj3DqubLXEW+rGxdvuBFY3JWawVnDXnXBugJrKMR6zfofJ8NyLVr+/OIn79Rb4YoGlGg6S3cBBQ59INUTAoJGj4LbdXmAH0+s6QCW0o0P8C5lRlZ6TZgu6rHSruUZshnbAfNs1PNUQaU7+IQYEHAbjXcF9jDw2d7gdB4JVxhg43vsLBYoFKJVgHefHxxK/cp0f3AAU6BgxQtRbpYqoFDnALCYaBGDtYCdfWcAqwIaJBjEcARXj6LBo7KsUbgGLdAk0rKNQMp3AKBwHE5dgI4yS1QCZySY6dV91bDKGfOyDHKzyxugRYgTI6dBaq5BfyADDnmoGLCXQFbgUwFeA44z8lvs8GZrUDb9W7LiUZXV44SDQcu2PkEKJNblKi1A+jk4l90Amp3mj9VVCuPAFW/XDW8K5FvCcHdQLKqpwe4ZFQWXBHwUa/ypb1UGA0bgCTAdlnD10Blq8qAf6UPuKrpLSD1a7r8in5quEya7jnX6WIr0+HfuEnZMqAzoHaQ1nBL0HJH0s3bl8n0rMJMcRi6reobbqf2AncMgtRFhwrlTcqkFhrvSr1e/z0DhfsPxGG9xQ8noKbOR2MN52CtgQLzkKZy+j5+4mokTDVPnyWKUPpzSeGFYbYNv+wdna28wzxYPfrc3ZMtjEhPucan1v7qtaxTbo0TV+4Ykl6GHIYKjMW8GYmtc5E7/KrGSqHdJfxW4FAgqw95936g5MN46KMrmJ/4BNSs7bOk8MV9hZivkgJvM6Fi376LArZm9xV+SP8zdYXuK/yUfml+uS/A8uhY5XAWAXX7bc6P/xv+P2Z/AEq6ab7rDxu3AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA4LTE4VDE1OjIwOjM1KzA4OjAwHpcN9AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wOC0xOFQxNToyMDozNSswODowMG/KtUgAAABJdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2kyYzV4MjJydTJsL3NvdXN1by5zdmfTYjJrAAAAAElFTkSuQmCC";

const _imports_3 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='14px'%20height='14px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-1460%20-88%20)'%3e%3cpath%20d='M%2010.91015625%207.99348958333333%20C%2011.0256076388889%207.87803819444444%2011.0833333333333%207.74131944444444%2011.0833333333333%207.58333333333333%20L%2011.0833333333333%206.41666666666667%20C%2011.0833333333333%206.25868055555555%2011.0256076388889%206.12196180555555%2010.91015625%206.00651041666667%20C%2010.7947048611111%205.89105902777778%2010.6579861111111%205.83333333333333%2010.5%205.83333333333333%20L%208.16666666666667%205.83333333333333%20L%208.16666666666667%203.5%20C%208.16666666666667%203.34201388888889%208.10894097222222%203.20529513888889%207.99348958333333%203.08984375%20C%207.87803819444445%202.97439236111111%207.74131944444445%202.91666666666667%207.58333333333333%202.91666666666667%20L%206.41666666666667%202.91666666666667%20C%206.25868055555556%202.91666666666667%206.12196180555556%202.97439236111111%206.00651041666667%203.08984375%20C%205.89105902777778%203.20529513888889%205.83333333333333%203.34201388888889%205.83333333333333%203.5%20L%205.83333333333333%205.83333333333333%20L%203.5%205.83333333333333%20C%203.34201388888889%205.83333333333333%203.20529513888889%205.89105902777778%203.08984375%206.00651041666667%20C%202.97439236111111%206.12196180555555%202.91666666666667%206.25868055555555%202.91666666666667%206.41666666666667%20L%202.91666666666667%207.58333333333333%20C%202.91666666666667%207.74131944444444%202.97439236111111%207.87803819444444%203.08984375%207.99348958333333%20C%203.20529513888889%208.10894097222222%203.34201388888889%208.16666666666667%203.5%208.16666666666667%20L%205.83333333333333%208.16666666666667%20L%205.83333333333333%2010.5%20C%205.83333333333333%2010.6579861111111%205.89105902777778%2010.7947048611111%206.00651041666667%2010.91015625%20C%206.12196180555556%2011.0256076388889%206.25868055555556%2011.0833333333333%206.41666666666667%2011.0833333333333%20L%207.58333333333333%2011.0833333333333%20C%207.74131944444445%2011.0833333333333%207.87803819444445%2011.0256076388889%207.99348958333333%2010.91015625%20C%208.10894097222222%2010.7947048611111%208.16666666666667%2010.6579861111111%208.16666666666667%2010.5%20L%208.16666666666667%208.16666666666667%20L%2010.5%208.16666666666667%20C%2010.6579861111111%208.16666666666667%2010.7947048611111%208.10894097222222%2010.91015625%207.99348958333333%20Z%20M%2013.0611979166667%203.486328125%20C%2013.6870659722222%204.55881076388889%2014%205.73003472222222%2014%207%20C%2014%208.26996527777778%2013.6870659722222%209.44118923611111%2013.0611979166667%2010.513671875%20C%2012.4353298611111%2011.5861545138889%2011.5861545138889%2012.4353298611111%2010.513671875%2013.0611979166667%20C%209.44118923611111%2013.6870659722222%208.26996527777778%2014%207%2014%20C%205.73003472222222%2014%204.55881076388889%2013.6870659722222%203.486328125%2013.0611979166667%20C%202.41384548611111%2012.4353298611111%201.56467013888889%2011.5861545138889%200.938802083333333%2010.513671875%20C%200.312934027777778%209.44118923611111%200%208.26996527777778%200%207%20C%200%205.73003472222222%200.312934027777778%204.55881076388889%200.938802083333333%203.486328125%20C%201.56467013888889%202.41384548611111%202.41384548611111%201.56467013888889%203.486328125%200.938802083333333%20C%204.55881076388889%200.312934027777777%205.73003472222222%200%207%200%20C%208.26996527777778%200%209.44118923611111%200.312934027777777%2010.513671875%200.938802083333333%20C%2011.5861545138889%201.56467013888889%2012.4353298611111%202.41384548611111%2013.0611979166667%203.486328125%20Z%20'%20fill-rule='nonzero'%20fill='%23000000'%20stroke='none'%20transform='matrix(1%200%200%201%201460%2088%20)'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_4 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAAED0lEQVRYCe2Wu09UQRTGdwlYWWMAIzEhWhCJhRgVAbHzAWil1sT/gKcKLAqG159AYimVgIFSeVOglSYmRhPFEEiIlTQ2sP6+y5zr3OUuLFDqJLPnzHce883MmdmbSPzrLXmQDRgaGjqNfyO9Op1OFyFPuvjVZDK5Dja3tbU10dHR8d3h+4qcCDDxdZL3ku3yvhlxgMwS4nFLS8vMfv57Eujr6zuRn5//goQ3vESf0Sch9BW55vBifMrA6pFnPN9Jxk0Q2fCwiJqVwODg4Hk8J+inXMQYyVIk+xDJkDFgtyogkgK+60wrxDVki4sloMkJmifRcZJsoN/LZTvdhIEYGBioI26UQSF9E/1qHIldBLTtBQUFywRp5Z/y8vJuNjc3r6AfuA0PD5dub29PEVhOX4HERUhEjiMvM6vOHEyTbxxlcuUVcXLcUi56KTs6ItxvEQKqdlgGBYfz/cOu3J9AOcj5wGH1HG+tb48QYNI+Zxxra2ub9h2lc64XSFCVidtYNvnY2CTb/hZ9XGPIPDdcMiTgHplLAnFKSfqN86wEV20s4Nvp26Q7bEE+cSTAu+XHIq+oNqSrhQQw3NmBEl/iqpViOoY9KFp8n7LaLuefkC7MjZPo8o00l1NviEjoNQ1aSACGVx322smIaG1tXSSw1QN7WHU3q20D6zGcPF3t7e1LNvYl8boRatU7IroDwbtOgi9mzJTUxZBPAj2Ff7/5aXJW+szGMTLITVyJ2cIdAChy4JoZ42QmCfPJYfIEV3Ld+RdbnE8gLZCz3vU4mbMn/TiD4zCzBdLLHcwl0A+ylYfsItFuoDP3t918dByqCRvHSeKCXUbaXH8JGIgsiwsWpmrHHp45kK5jeCVFwr8divEbdsu9mwDGOTkzQXhF/GASq3LDakfv5Gb0qkv3fHv6+/vtRnlwoN7WL0cxa4bwCPQlI1As2coKczBJAf2WWWNIPnETB2bpwoIBPujyjTTlBD8DyBTp8KqHBPQZhcOSonBISfqNN/0dJCphX8VVsyc7dBEmm3y4Ke9Dg1PIGewecyzyTvwwe6TiYXkNx2kZkdfj/g8s8CCSvPqke+NiatixeYsPd0AAq5hBTEqH6aj/Zgs7TFMOJn/pYsf9yYVFCAhg4ibECr2QLZ06CgnFKody0b9xPA+RkbaLALugT7AGvDbp5SRY1tFEonIY8F7UKVY56L/QG6mjn5mhkRrwjapatk7VWiocUq+4KSkK6KPvl6lzBc+xUhWcfZR+0+TZ4rISUGJIFEJiBLVeY9f0l6rPbf2xBA8KE5Qw1iOje36Wbm1c2x63cnPYk4A58QjVouvqVRm2l4TMAsQfZRZcXExOBCzQVXQjyWuYpAhpf+Gr6Pqnm2U3Jvx7brH/ZbYd+APZxM/2zgvhdQAAAABJRU5ErkJggg==";

const _imports_5 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='6px'%20height='6px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%3e%3cpath%20d='M%203%200%20C%204.68%200%206%201.32%206%203%20C%206%204.68%204.68%206%203%206%20C%201.32%206%200%204.68%200%203%20C%200%201.32%201.32%200%203%200%20Z%20'%20fill-rule='nonzero'%20fill='%23ffffff'%20stroke='none'%20/%3e%3cpath%20d='M%203%200.5%20C%204.4%200.5%205.5%201.6%205.5%203%20C%205.5%204.4%204.4%205.5%203%205.5%20C%201.6%205.5%200.5%204.4%200.5%203%20C%200.5%201.6%201.6%200.5%203%200.5%20Z%20'%20stroke-width='1'%20stroke='%23797979'%20fill='none'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_6 = "data:image/png;base64,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";

const _imports_8 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='8px'%20height='8px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-924%20-6237%20)'%3e%3cpath%20d='M%20928%206238%20C%20929.68%206238%20931%206239.32%20931%206241%20C%20931%206242.68%20929.68%206244%20928%206244%20C%20926.32%206244%20925%206242.68%20925%206241%20C%20925%206239.32%20926.32%206238%20928%206238%20Z%20'%20fill-rule='nonzero'%20fill='%23fddf6d'%20stroke='none'%20/%3e%3cpath%20d='M%20928%206238%20C%20929.68%206238%20931%206239.32%20931%206241%20C%20931%206242.68%20929.68%206244%20928%206244%20C%20926.32%206244%20925%206242.68%20925%206241%20C%20925%206239.32%20926.32%206238%20928%206238%20Z%20'%20stroke-width='2'%20stroke='%23aaaaaa'%20fill='none'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_9 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='8px'%20height='8px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-963%20-6237%20)'%3e%3cpath%20d='M%20967%206238%20C%20968.68%206238%20970%206239.32%20970%206241%20C%20970%206242.68%20968.68%206244%20967%206244%20C%20965.32%206244%20964%206242.68%20964%206241%20C%20964%206239.32%20965.32%206238%20967%206238%20Z%20'%20fill-rule='nonzero'%20fill='%23d7d7d7'%20stroke='none'%20/%3e%3cpath%20d='M%20967%206238%20C%20968.68%206238%20970%206239.32%20970%206241%20C%20970%206242.68%20968.68%206244%20967%206244%20C%20965.32%206244%20964%206242.68%20964%206241%20C%20964%206239.32%20965.32%206238%20967%206238%20Z%20'%20stroke-width='2'%20stroke='%23aaaaaa'%20fill='none'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_10 = "" + __buildAssetsURL("empty-icon.CyaRoygc.png");

const _imports_11 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='20px'%20height='20px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-1540%20-229%20)'%3e%3cpath%20d='M%201550%20229%20C%201555.6%20229%201560%20233.4%201560%20239%20C%201560%20244.6%201555.6%20249%201550%20249%20C%201544.4%20249%201540%20244.6%201540%20239%20C%201540%20233.4%201544.4%20229%201550%20229%20Z%20'%20fill-rule='nonzero'%20fill='%23ffffff'%20stroke='none'%20fill-opacity='0'%20/%3e%3cpath%20d='M%201550%20229.5%20C%201555.32%20229.5%201559.5%20233.68%201559.5%20239%20C%201559.5%20244.32%201555.32%20248.5%201550%20248.5%20C%201544.68%20248.5%201540.5%20244.32%201540.5%20239%20C%201540.5%20233.68%201544.68%20229.5%201550%20229.5%20Z%20'%20stroke-width='1'%20stroke='%23797979'%20fill='none'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_15 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='13px'%20height='8px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-1296%20-538%20)'%3e%3cpath%20d='M%209.65206473214286%206.26736111111111%20C%2010.6217447916667%205.70486111111111%2011.4281994047619%204.94907407407407%2012.0714285714286%204%20C%2011.3363095238095%202.90740740740741%2010.4149925595238%202.09027777777778%209.30747767857143%201.54861111111111%20C%209.60249255952381%202.03009259259259%209.75%202.55092592592593%209.75%203.11111111111111%20C%209.75%203.96759259259259%209.43201264880952%204.70023148148148%208.79603794642857%205.30902777777778%20C%208.16006324404762%205.91782407407407%207.39471726190476%206.22222222222222%206.5%206.22222222222222%20C%205.60528273809524%206.22222222222222%204.83993675595238%205.91782407407407%204.20396205357143%205.30902777777778%20C%203.56798735119048%204.70023148148148%203.25%203.96759259259259%203.25%203.11111111111111%20C%203.25%202.55092592592593%203.39750744047619%202.03009259259259%203.69252232142857%201.54861111111111%20C%202.58500744047619%202.09027777777778%201.66369047619048%202.90740740740741%200.928571428571428%204%20C%201.5718005952381%204.94907407407407%202.37825520833333%205.70486111111111%203.34793526785714%206.26736111111111%20C%204.31761532738095%206.82986111111111%205.36830357142857%207.11111111111111%206.5%207.11111111111111%20C%207.63169642857143%207.11111111111111%208.68238467261905%206.82986111111111%209.65206473214286%206.26736111111111%20Z%20M%206.74665178571429%201.56944444444444%20C%206.81436011904762%201.50462962962963%206.84821428571429%201.42592592592593%206.84821428571429%201.33333333333333%20C%206.84821428571429%201.24074074074074%206.81436011904762%201.16203703703704%206.74665178571429%201.09722222222222%20C%206.67894345238095%201.03240740740741%206.59672619047619%200.999999999999999%206.5%201%20C%205.89546130952381%200.999999999999999%205.37676711309524%201.20717592592593%204.94391741071429%201.62152777777778%20C%204.51106770833333%202.03587962962963%204.29464285714286%202.53240740740741%204.29464285714286%203.11111111111111%20C%204.29464285714286%203.2037037037037%204.32849702380952%203.28240740740741%204.39620535714286%203.34722222222222%20C%204.46391369047619%203.41203703703704%204.54613095238095%203.44444444444444%204.64285714285714%203.44444444444444%20C%204.73958333333333%203.44444444444444%204.8218005952381%203.41203703703704%204.88950892857143%203.34722222222222%20C%204.95721726190476%203.28240740740741%204.99107142857143%203.2037037037037%204.99107142857143%203.11111111111111%20C%204.99107142857143%202.71296296296296%205.13857886904762%202.37268518518519%205.43359375%202.09027777777778%20C%205.72860863095238%201.80787037037037%206.08407738095238%201.66666666666667%206.5%201.66666666666667%20C%206.59672619047619%201.66666666666667%206.67894345238095%201.63425925925926%206.74665178571429%201.56944444444444%20Z%20M%2012.8549107142857%203.52083333333333%20C%2012.9516369047619%203.68287037037037%2013%203.84259259259259%2013%204%20C%2013%204.15740740740741%2012.9516369047619%204.31712962962963%2012.8549107142857%204.47916666666667%20C%2012.1778273809524%205.54398148148148%2011.2673921130952%206.39699074074074%2010.1236049107143%207.03819444444444%20C%208.97981770833333%207.67939814814815%207.77194940476191%208%206.5%208%20C%205.2280505952381%208%204.02018229166667%207.67824074074074%202.87639508928571%207.03472222222222%20C%201.73260788690476%206.3912037037037%200.822172619047619%205.53935185185185%200.145089285714286%204.47916666666667%20C%200.0483630952380952%204.31712962962963%200%204.15740740740741%200%204%20C%200%203.84259259259259%200.0483630952380952%203.68287037037037%200.145089285714286%203.52083333333333%20C%200.822172619047619%202.46064814814815%201.73260788690476%201.6087962962963%202.87639508928571%200.965277777777778%20C%204.02018229166667%200.321759259259259%205.2280505952381%200%206.5%200%20C%207.77194940476191%200%208.97981770833333%200.321759259259259%2010.1236049107143%200.965277777777778%20C%2011.2673921130952%201.6087962962963%2012.1778273809524%202.46064814814815%2012.8549107142857%203.52083333333333%20Z%20'%20fill-rule='nonzero'%20fill='%23333333'%20stroke='none'%20transform='matrix(1%200%200%201%201296%20538%20)'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_16 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAAE8ElEQVR4Ae1a24tPURQexjAxuZVcm1FESqHc80CDkhIpCsULcnlQ3kSUFy9480L+BeWdPGBGQiPEw8wowjAz7nLn+6bZ0/7t+fb5/Y5z5sw+J6vWnHO+vfY+a3177cvZv6mqGjwZgVfvhV6BvoR+h76AXoJuhg6FFlZWILJW6J8IvYWyGdDCyVpE9AUaFbwpY2bMKhID0xBMZ4XBGxJaYF9TFBLOxQzekLCnCARw0vssCHgPbD90AZSBdkNN4ObaBCz3shQRmIDs61Ynso0euzGOXe4eN3gCq3Mi4Xi3CTL3ix27VB6zXGs5BFz5BYDDwpYfeODs78qArAZZEsAVwJVPANjDrrS5AJ5zT8B0EdRzgRHqEvhYgSWGsswA1YPPPBG8FXi1wBJDWRHAiW6l8PaJwAh9FfgwgSWGsiJgHTytFd7yQ0jJaAEOiK8D0qhwfqfA+PV3TeCEFAEdHttEcBYE8MtvvfCSn70fBU5ogsCfCix4aAg8vA41mxn7usrjPfcLZnm07Rs99kHDR+CdHYS5vwuc5ChhoMbOvjYo45CxNXDupyeY1RGOnxJ1nkbYB1nEAPmVZ/egub9cxuN7ot6FMnWCKt4JbzjDm4DtK2fySRHeLvTU2xJRJ1FRmpuLqfDkNNT9vDUO8sNnO/SVAcT1sMAI8ZD0XydBHr/x/PEa9AE0dalHiyegXNLs3rbvf6NsFzRKSKAvc+y2ktzzoHVJlBOVlE2GEcf4ISh3cuzZKKdYfhBaTvbAIKqdtMo4Me+2neE+nWd17dDuMvoO5XEcYVbwhKcSOQCjOG0nsWVGbjJOnR+gF99Bu3PNSyq4ToTNG2iSwOLU7cS7RnMz8hqqtp6A/0nY6yehZ6FMtzgyE8aHoTOgvo1SnPZoy3MEHrhW88ERvqvqGzQOcz5bEnkUOg4amsyHQ+xx1/erdDQpARxC3PWluaTSr7TlGBp0Ceik0yrVLgLnkmELWdxnA733B3EliaFLu3BwJDG19u4Qxpw1XQb5rE57RfVBhzg8Xf+7fOcBNHRFZQptlK1bN4TnZcKJFhLgC0zYSygPBDBG/jLlSlOcDHAr5+l5DpwdLxz2EiBscw0tF94zc5t9GSDsEw8V1WZWmBr/T/DyzjgE+JzNwxygMuAmA0pjEvQREwrOnels4UwTMV8G5KFXRUwSYu+rla4vA2StAoFq/L9DfI8Zoy8D4sQferao8c/055lALAJUGsUhajBs+a2zSLy4Z/wT902CofeqiElC84DWiZKe8U88jSEg2g8GUunPM8rbxsM0CAg5W9QEeB/Bf0iTANNWiFeVAX3jnw7HyYC8TYJTEF+D6JWKCAg5rUVMElK9T8O+CZAPvlWAZZVKqGSp8d+BoNrswOIMAbteHu5VBtxwHS8qASMQKH8LcKVk/LPQR4BK6zxNgtz9kQRXSsY/C30EuBWjnhVZUfZZlKnx/w0v5r/mlAgJyFPPljgf8aAIYPD9/gGTBITYgxGxlS2qgYWaAPuNf7aUxhAo61GGBsPxrjNQ/tLsiiSA6a8ygOvlZ6eFUXhWDZesq06dLB8ZB4+/1PE3U78eyp/f+wkrFl2ZFV7hyUiRCXiI+NSZQA8hnANae+6K+acZYTVC+a+3XtmGEh4SFCkL+K94x6G10EgxewAeHZEpLiF5FZ7/cbPzCHql9x6X//KfgSgG/gK9mIkzqc2oKwAAAABJRU5ErkJggg==";

const _imports_20 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAADpUlEQVRoBe2ZO2gVQRSGTXxEo4UJYuEjGkHBoCjaKqIWViKIKFgJVkpANGlErGORSkUURBAFGy3FwkZFfKOJDxBBBG0EwfiM78f3x2wye+7c3b25s5uL5MB/d845M3P+M7MzO7u3blyyNCW7U72fqfE9tVa8wlRUtRuRTKFVJ+gBCvynSqiPE6AOpMlsKjwGinkJNIOKpIXaj0C1pH3t12Zg0m1iP0EXp0SpH/Rq5C+CJYm1R+5UUmnSbyq0od8AS43dq3Zg9Y1ctbZv9HsMZLmFplOv18OjD9sakCgP8Lpkr6FrBLSIq8Ek2lciSuIKcLmo/AVsAV7R6NgFu8hbsxjjZMKcBzaJX9jaLQWRbwR225qI7aetnJOu3UaLfCVYDLQbzQCtwCddGA8AJTggSsBmO2HQl9dFe/0OoFtVA2Xjp+mnaDMkRSYwjaj7wRuQRjLNvz7KoKgENhLwZQDiUWKbi0qggUDHU4g/x38S7AYbgNbDMnAQRITd623sQztcnjOgBXqzDAltHEfBCuCT7Rj1HHGJq6xjhm7FIckrgZlE8B1NtB1qRuQvJ/tw/AaW/Gls2iFjkkcCGqG7wBLQGlgVix5XtK13A9tO+iEgf4nkkcAFolgSt7Bpfy8n9TjOAttOM7anXCPZQyewiz4tCe332vuTZCtO2+4rtm1JjeQLmcAs+vsAXCI6FuuMkybtVHDbvUdfl9ZI/pAJnKE/l8Qn9DYFySBK8iFQ+xdgOcgkoRJYSDR7LOjMxGC40niKC0DJTjNcpbQUKgGd+93Rf1YpkVJq2SwhEtDT9i1wE9iZLXxFteZSWw+/I2BO1DJEApvozCX/Dl2vqaHlHh1Gce5EnYdI4LDTsQLEjrtRoCqvmmX36axygx4eIWS16eSy0UOoWuDuk1hl2areRjUI/SCaWl3ngdDiu1MaQ8yAFpN7vyuZV6HZl+svRALNpvPX6Lo/C5EQCWhqXfnoKnmXQyTwFJI6MkRyPSoUdfUtjkq/SuiMfw50Ab0L5CE+ngOz73NUmkAehG2fPp5BdiEbqFA9xBoolLANNpaAHZGi9bEZKHrEbbyxGbAjUrT+X8yAPh79MCPXYvRaUOcbEvpbTP+dDUgPv+4Lid6o8ngp+Ret8t9WmlwFLsf7bjcdxulWrNXyXjcBvVH5PoXXKvle+OrfzJjovo8+7dUqcfESeX0f8oqy0tToj2/fvyOjlZi46J4Xt9jIu58p8JVIU4lldAx95cL+BRfIP0NGsZjIAAAAAElFTkSuQmCC";

const _imports_21 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAACWUlEQVRoBe2Zyy4sURSGm7QBI2dESI4WyTFhxuQ8BPEQLhPEROI2FzPxHNIJOZwnOE9gSjsuESNDA9f/a7WS1a2LiC69S/ZK/uy1V7H3vy5VvatWofBaumSaE/4KF8Kd8JSCBdk/K6yRtj57w+FQmBU6hTdlSlcvhbQF6+1ZO1C/H85MeA/a3WRJ+q7Q52yhqf0iVBYWjVhbohB5yNscc0XYS8ZbDA3kn2xHDewfMY3oj3+n/AMlMyhMCiXB5FEKnOFXoOZ92TxoviIUhVCkQ0RWBbhZWZ1Lr94T3LBmZIR8qLImYp7rDER52pjxWHpIkYefFzJREYzvATcxNWiyL+XeJgGOPFardZ9wG8WBHkf0zOmhqv8dsV4c8CUTcvSNt+dYxIFcS3Sg1emLGWh1Bjj7VH/NEiLNONtk7dNbZ6es947rxwjECMQI1EWAx+i4sCx0110LfXojgls4wAtCScijVDhK8HaTV3kiA2MCJfQjZ15QQps54xzpxgjECHy7CPAYzf0LjX2mY2zG9/6ss1zTEIkv9VmH+731Ywbei1DW179FBmq+9mYdsSasX/M1nQxcu0V/Oj1UteSIXaHTRLbfghPptHFCFbidCsb3D0TpgJuBkW5gqLIhYp7rNERpVV64C7Qy6QaGlAm4rAu+zXqmeSdnIYT2fVnwT6VTzWn60blsZaN7SPvDb0AwodGNrVpCZlyU4j30qUrTOZd8Vlgjbf1GdjjO26Y+4tsy0r6nnEIVuvNEfscIegew0YP9JXBjHwiXgv+d0PRLhb3hQKlw7B9OdA0v8gypmLKP2lSLggAAAABJRU5ErkJggg==";

const _imports_22 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='16px'%20height='16px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-1195%20-1486%20)'%3e%3cpath%20d='M%202.90909090909091%2011.6363636363636%20L%204.36363636363636%2011.6363636363636%20L%204.36363636363636%2013.0909090909091%20L%202.90909090909091%2013.0909090909091%20L%202.90909090909091%2011.6363636363636%20Z%20M%202.90909090909091%202.90909090909091%20L%204.36363636363636%202.90909090909091%20L%204.36363636363636%204.36363636363636%20L%202.90909090909091%204.36363636363636%20L%202.90909090909091%202.90909090909091%20Z%20M%2011.6363636363636%202.90909090909091%20L%2013.0909090909091%202.90909090909091%20L%2013.0909090909091%204.36363636363636%20L%2011.6363636363636%204.36363636363636%20L%2011.6363636363636%202.90909090909091%20Z%20M%201.45454545454545%2010.1818181818182%20L%201.45454545454545%2014.5340909090909%20L%205.81818181818182%2014.5340909090909%20L%205.81818181818182%2010.1818181818182%20L%201.45454545454545%2010.1818181818182%20Z%20M%201.45454545454545%201.45454545454546%20L%201.45454545454545%205.81818181818182%20L%205.81818181818182%205.81818181818182%20L%205.81818181818182%201.45454545454546%20L%201.45454545454545%201.45454545454546%20Z%20M%2010.1818181818182%201.45454545454546%20L%2010.1818181818182%205.81818181818182%20L%2014.5454545454545%205.81818181818182%20L%2014.5454545454545%201.45454545454546%20L%2010.1818181818182%201.45454545454546%20Z%20M%200%208.72727272727273%20L%207.27272727272727%208.72727272727273%20L%207.27272727272727%2016%20L%200%2016%20L%200%208.72727272727273%20Z%20M%2011.6363636363636%2014.5454545454545%20L%2013.0909090909091%2014.5454545454545%20L%2013.0909090909091%2016%20L%2011.6363636363636%2016%20L%2011.6363636363636%2014.5454545454545%20Z%20M%2014.5454545454545%2014.5454545454545%20L%2016%2014.5454545454545%20L%2016%2016%20L%2014.5454545454545%2016%20L%2014.5454545454545%2014.5454545454545%20Z%20M%2014.5454545454545%208.72727272727273%20L%2016%208.72727272727273%20L%2016%2013.0909090909091%20L%2011.6363636363636%2013.0909090909091%20L%2011.6363636363636%2011.6363636363636%20L%2010.1818181818182%2011.6363636363636%20L%2010.1818181818182%2016%20L%208.72727272727273%2016%20L%208.72727272727273%208.72727272727273%20L%2013.0909090909091%208.72727272727273%20L%2013.0909090909091%2010.1818181818182%20L%2014.5454545454545%2010.1818181818182%20L%2014.5454545454545%208.72727272727273%20Z%20M%200%200%20L%207.27272727272727%200%20L%207.27272727272727%207.27272727272727%20L%200%207.27272727272727%20L%200%200%20Z%20M%208.72727272727273%200%20L%2016%200%20L%2016%207.27272727272727%20L%208.72727272727273%207.27272727272727%20L%208.72727272727273%200%20Z%20'%20fill-rule='nonzero'%20fill='%23000000'%20stroke='none'%20transform='matrix(1%200%200%201%201195%201486%20)'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_23 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAANCAYAAACdKY9CAAAAAXNSR0IArs4c6QAAANNJREFUKFPdksENwjAMRW1ZlXpkhN4q5wQb0A0YASYANmAD2KCMwAZlBE61eusIPVaqIiNXBFLoBHwphzzlfyexESI1TbPx3peIuDCsqh0R7fI8v4VjGBtE5AEAF2a+GheRrarunXOrt0FE7hb2AmsAsH2sCUMRMVCp6hERrcKPVHWJiGcAKMYriYhVKJj5O300h1BmxokBAE6vZVVNFhBY9ZcGIuqSJGn7vh87naZpNwxD5r23/efRdV23RHSIR2BmZC7OuSx86xYAyrmmRWxnI/MEFGt9FwAKNzYAAAAASUVORK5CYII=";

const _imports_24 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='8px'%20height='5px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-33%20-8%20)'%3e%3cpath%20d='M%207.91983967935872%200.515463917525773%20C%207.97327989311957%200.572737686139747%208%200.638602520045818%208%200.713058419243986%20C%208%200.787514318442153%207.97327989311957%200.853379152348224%207.91983967935872%200.910652920962199%20L%204.18436873747495%204.91408934707904%20C%204.1309285237141%204.97136311569301%204.06947227788911%205%204%205%20C%203.93052772211089%205%203.86907147628591%204.97136311569301%203.81563126252505%204.91408934707904%20L%200.0801603206412826%200.910652920962199%20C%200.0267201068804276%200.853379152348224%200%200.787514318442153%200%200.713058419243986%20C%200%200.638602520045818%200.0267201068804276%200.572737686139747%200.0801603206412826%200.515463917525773%20L%200.480961923847695%200.0859106529209624%20C%200.534402137608551%200.0286368843069867%200.595858383433534%200%200.665330661322645%200%20C%200.734802939211757%200%200.79625918503674%200.0286368843069867%200.849699398797595%200.0859106529209624%20L%204%203.46219931271478%20L%207.1503006012024%200.0859106529209624%20C%207.20374081496326%200.0286368843069867%207.26519706078824%200%207.33466933867735%200%20C%207.40414161656647%200%207.46559786239145%200.0286368843069867%207.51903807615231%200.0859106529209624%20L%207.91983967935872%200.515463917525773%20Z%20'%20fill-rule='nonzero'%20fill='%23aaaaaa'%20stroke='none'%20transform='matrix(1%200%200%201%2033%208%20)'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_25 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='11px'%20height='8px'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20transform='matrix(1%200%200%201%20-784%20-11798%20)'%3e%3cpath%20d='M%2010.8012903225806%201.1043771043771%20C%2010.9337634408602%201.2300785634119%2011%201.38271604938272%2011%201.56228956228956%20C%2011%201.74186307519641%2010.9337634408602%201.89450056116723%2010.8012903225806%202.02020202020202%20L%205.66322580645161%206.8956228956229%20L%204.69806451612903%207.81144781144781%20C%204.56559139784946%207.9371492704826%204.4047311827957%208%204.21548387096774%208%20C%204.02623655913979%208%203.86537634408602%207.9371492704826%203.73290322580645%207.81144781144781%20L%202.76774193548387%206.8956228956229%20L%200.198709677419355%204.45791245791246%20C%200.066236559139785%204.33221099887766%200%204.17957351290685%200%204%20C%200%203.82042648709315%200.066236559139785%203.66778900112233%200.198709677419355%203.54208754208754%20L%201.16387096774194%202.62626262626263%20C%201.29634408602151%202.50056116722783%201.45720430107527%202.43771043771044%201.64645161290323%202.43771043771044%20C%201.83569892473118%202.43771043771044%201.99655913978495%202.50056116722783%202.12903225806452%202.62626262626263%20L%204.21548387096774%204.61279461279461%20L%208.87096774193548%200.188552188552189%20C%209.00344086021505%200.0628507295173959%209.16430107526882%200%209.35354838709677%200%20C%209.54279569892473%200%209.7036559139785%200.0628507295173959%209.83612903225806%200.188552188552189%20L%2010.8012903225806%201.1043771043771%20Z%20'%20fill-rule='nonzero'%20fill='%23fa6b11'%20stroke='none'%20transform='matrix(1%200%200%201%20784%2011798%20)'%20/%3e%3c/g%3e%3c/svg%3e";

const _imports_26 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAECklEQVRoBe1YS2tTQRTOowmND1wYEl26Cc2jWVhXBUvEqlDqMq2KCzdaf4ArcSEIWlB3LkTpqq0IAQVRd2pUbFwY+kif2bRQKDTGhViTJsbE76QzdW7M497k5uaCGbg9Z+bOPef7zpyZnozB0G7tCPzfETC2mr7f73fk8/mbhUJhw+Px3AmFQr+VYGopAQb+DQD7GOiQ3W6/EA6Hc3JJmOVOVHteGfDkwptKpdxYiedra2t5OT5NciapPcfn8zmRNu9gl0c+I/gIJpPJ8WAwKCu4siYJxhtWKfLId0obLzP2E3LAaDTGIM+wMR9IyFoJTQmUSRsCPzg/Px9OJBIRp9P5QyAhK500I1ANPIu6gUg4HI4t9E+zsZokNCEgB3y9JJpOQAn4ekg0lQCdNtiwdNrwDbtlMpkGYrHYBw6WSyLa19e3vbi4WKAxlk5ZqCfZHEqnDMY/sn5RNO0YJfDw8BaPhzksgp+bm5MAoHder/c8jtX15eXlMTaXiwgUIsGbgytcdnBFTakUPI7Qcfg341nnOGAjAP0VHisbm83lcreYvitULyXK5HwKaTS4sLBAqSRpADmEgUk8FMgxHKdXIPOwcRwr8hr6PjzUZrPZbH88Hk/udP/+VZWA1uCJhmoEWgFeNQKtAq8KgVaCb5hAq8E3REAP4OsmoBfwdRHQE3jFBPQGXhEBPYInAlR/1GxdXV0HUa+8x0ReVf5EfwD/+mlM0iqVByjYTmAilQd72QczqG36V1ZWvkkMKOzIKubMZvNt2OVVJUqbwlmA/6ckrgYehF/Cxh6Grwge1WdD4MmWnHLaBOfDzDEJdI1XA4GAhDzA+/HuCZ4OvH8MgpehFwsz9F9A5+CpMDulBnjYrE0AwOjq4wBNFtoQbg0mRRJYlRSAbkI+wA+WEcwtYN/IrioF24rUmsVcd3f3CEA9ZFZXIY8IHibcbvelcteBlPMg1JS0EfzXXgGA7+UfANAN6Nd4H/Li0tKSZCXoHUUec8W0mVEzbQT/tQlgskgggty+jzGRxDDSaYKnU5m0KW7Ycj9GRCD16lVTyOVy2a1WawLGad4mwB/ijrA1iMRd3od8itV6xCLPf0mpdtoIfiRq1VPIYrFQ9DnJKfFLkLmH/nVh7BzA05WhZuDJt+QoFMBwdTd9MEA3BMXW09NjSafTRxHxNEBvYpBuIKhxsk2P/I47BQQAdj9OllF82JvJZI7hfsfGjZRIzcCTXx6xEgwGA0UZQL/jRSWgkm9AMI6BZ52dnaPRaJS+06RVTCGkiKtKlNMA/AXvI7j++ISNHpmenv6qCeISJxUJ2Gy21e3t7Thy3IVnA99NEVjURZ+xuRHk6K8SW/rrUhrhP+1h/SFrI2pHoB2BdgT0EoE/XD0Yrfi3Ps4AAAAASUVORK5CYII=";

const _imports_27 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='12px'%20height='12px'%20viewBox='656%208620%2012%2012'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M%20656.5%208620.5%20L%20667.5%208620.5%20L%20667.5%208631.5%20L%20656.5%208631.5%20L%20656.5%208620.5%20Z%20'%20fill-rule='nonzero'%20fill='%23ffffff'%20stroke='none'%20/%3e%3cpath%20d='M%20656.5%208620.5%20L%20667.5%208620.5%20L%20667.5%208631.5%20L%20656.5%208631.5%20L%20656.5%208620.5%20Z%20'%20stroke-width='1'%20stroke='%23797979'%20fill='none'%20/%3e%3c/svg%3e";

const _imports_28 = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='12px'%20height='12px'%20viewBox='656%208620%2012%2012'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M%20656.5%208620.5%20L%20667.5%208620.5%20L%20667.5%208631.5%20L%20656.5%208631.5%20L%20656.5%208620.5%20Z%20'%20fill-rule='nonzero'%20fill='%23ffffff'%20stroke='none'%20/%3e%3cpath%20d='M%20656.5%208620.5%20L%20667.5%208620.5%20L%20667.5%208631.5%20L%20656.5%208631.5%20L%20656.5%208620.5%20Z%20'%20stroke-width='1'%20stroke='%23797979'%20fill='none'%20/%3e%3cpath%20d='M%20658.571428571429%208626%20L%20661.142857142857%208628.57142857143%20L%20665.428571428571%208622.57142857143%20'%20stroke-width='2.57142857142857'%20stroke='%23797979'%20fill='none'%20/%3e%3c/svg%3e";

const _export_sfc = (sfc, props) => {
  const target = sfc.__vccOpts || sfc;
  for (const [key, val] of props) {
    target[key] = val;
  }
  return target;
};

const _sfc_main$2 = {
  name: "#answer-app",
  async setup() {
    const $ajax = (url, data) => {
      url = url.indexOf("//") > -1 ? url : baseURL + url;
      return new Promise(function(resolve, reject) {
        axios.post(url, data, {
          emulateJSON: true,
          withCredentials: true,
          headers: {
            authorization: "production" !== "production"
            // 头部标记
          }
        }).then(function(res) {
          var data2 = null;
          try {
            data2 = typeof res.data == "string" ? JSON.parse(res.data) : res.data;
            if (data2["code"] == 401) goLogin();
            if (data2["code"] != 200) handleMsg("error", data2["message"] || "报错了，请重试！！！");
          } catch (error) {
          }
          resolve(data2);
        }).catch((err) => {
          if (err.response.status == 401) ;
          resolve(err.response.data);
        });
      });
    };
    const $ajaxGET = (url, data) => {
      url = url.indexOf("//") > -1 ? url : baseURL + url;
      return new Promise(function(resolve, reject) {
        axios.get(url, data, {
          emulateJSON: true,
          withCredentials: true,
          headers: {
            authorization: "production" !== "production"
            // 头部标记
          }
        }).then(function(res) {
          var data2 = null;
          try {
            data2 = typeof res.data == "string" ? JSON.parse(res.data) : res.data;
            if (data2["code"] == 401) {
              goLogin();
            }
            if (data2["code"] != 200) handleMsg("error", data2["message"] || "报错了，请重试！！！");
          } catch (error) {
          }
          resolve(data2);
        }).catch((err) => {
          if (err.response.status == 401) ;
          resolve(err.response.data);
        });
      });
    };
    provide("$ajax", $ajax);
    provide("$ajaxGET", $ajaxGET);
    let isNeedLogin = ref(true);
    provide("isNeedLogin", isNeedLogin);
    let emojiMaskState = ref(false);
    provide("emojiMaskState", emojiMaskState);
    const goLogin = () => {
      return;
    };
    provide("goLogin", goLogin);
    const route = useRoute();
    const baseURL = "https://ask.gter.net";
    let type = ref("list");
    let user = ref({});
    provide("user", user);
    let originUrl = ref("");
    const getCurrentUrl = () => {
      return `${(void 0).location["origin"]}?uniqid=${detailsInfo.value["uniqid"] || ""}`;
    };
    let myCount = ref({});
    const getUserData = (key) => {
      $ajax("/api/user").then((res) => {
        if (res.code != 200) return;
        let data = res.data;
        myCount.value = data.count;
        handleMy(key);
      });
    };
    let isSearchMode = ref(false);
    const setHistoricalSearchList = () => {
      if (!keyword.value) return;
      historicalSearchList.value.unshift(keyword.value);
      historicalSearchList.value = [...new Set(historicalSearchList.value)];
      historicalSearchList.value = historicalSearchList.value.slice(0, 10);
      localStorage.setItem("historical-Search", JSON.stringify(historicalSearchList.value));
    };
    const searchClick = () => {
      setHistoricalSearchList();
      page = 1;
      list.value = [];
      backupsList = [];
      listHeight.value = 0;
      type.value = "list";
      pitchIndex.value = null;
      openBottom();
      myModelState.value = false;
      replaceState({
        keyword: keyword.value
      });
      searchBlur();
      getList();
    };
    const searchFocus = () => {
      if (historicalSearchList.value.length == 0) return;
      historicalSearchState.value = true;
    };
    const searchBlur = () => {
      setTimeout(() => historicalSearchState.value = false, 300);
    };
    const handleClickHistoricalItem = (value) => {
      keyword.value = value;
      searchClick();
    };
    const handleClickClear = () => {
      keyword.value = "";
      page = 1;
      list.value = [];
      backupsList = [];
      listHeight.value = 0;
      type.value = "list";
      openBottom();
      pitchIndex.value = null;
      getList();
    };
    let historicalSearchState = ref(false);
    let historicalSearchList = ref([]);
    let tabListFixeState = ref(false);
    let keyword = ref("");
    let keywordText = ref("");
    let list = ref([]);
    let backupsList = [];
    let page = 1;
    let total = ref(0);
    let loading = ref(false);
    let inTheEndState = ref(false);
    let isListEmptyState = ref();
    let zeroreply = ref(0);
    const getList = () => {
      if (page == 0 || loading.value) return;
      loading.value = true;
      $ajax("/api/lists", {
        page,
        limit: 20,
        keyword: keyword.value,
        type: typePitch.value,
        zeroreply: zeroreply.value
      }).then((res) => {
        if (res.code == 401) ;
        if (res.code != 200) return;
        let data = res.data;
        data.data.forEach((element) => {
          element["content"] = element["content"].replace(/<[^>]*>/g, "");
          element["content"] = element["content"].replace(/&nbsp;/g, "");
        });
        list.value = list.value.concat(data.data || []);
        backupsList = backupsList.concat(data.data || []);
        total.value = data.count || 0;
        keywordText.value = keyword.value || "";
        if (list.value.length >= data["count"]) page = 0;
        else page++;
        if (page == 0 && list.value.length != 0) inTheEndState.value = true;
        else inTheEndState.value = false;
        if (list.value.length == 0) isListEmptyState.value = true;
        else isListEmptyState.value = false;
        if (keyword.value) isSearchMode.value = true;
        else isSearchMode.value = false;
        if (type.value == "details") handleInsertRelatedlist();
        if (list.value.length == 0) type.value = "list";
      }).finally(() => loading.value = false);
    };
    let typeList = ref([]);
    let typePitch = ref(null);
    let pageHeaderHeight = ref(0);
    let pageListHeight = ref(0);
    let isCommentList = ref(false);
    let detailsInfo = ref({});
    let detailsIsanswered = ref(0);
    let detailsIscollection = ref(0);
    let detailsIsmyself = ref(0);
    let detailsToken = "";
    let detailsToken2 = ref("");
    let detailShare = ref({});
    let detailLoading = ref(false);
    provide("detailLoading", detailLoading);
    provide("detailsToken", detailsToken2);
    const getDetails = (uniqid, index, isOpenAnswer) => {
      if (detailLoading.value) return;
      detailLoading.value = true;
      detailsInfo.value = {};
      answerList.value = [];
      answerPage.value = 0;
      $ajax("/api/details", { uniqid }).then((res) => {
        if (res.code != 200) {
          type.value = "list";
          openBottom();
          pitchIndex.value = null;
          return;
        }
        let data = res.data;
        data["info"]["uniqid"] = uniqid;
        detailsInfo.value = data["info"] || {};
        detailsIsanswered.value = data["isanswered"] || 0;
        detailsIscollection.value = data["iscollection"] || 0;
        detailsIsmyself.value = data["ismyself"] || 0;
        detailsToken = data["token"] || "";
        detailsToken2.value = data["token"] || "";
        detailShare.value = data["share"] || {};
        islike.value = data["islike"] || 0;
        type.value = "details";
        if (index !== null && index !== void 0) cut(index);
        else calculateListIndex(data.info, uniqid);
        answerList.value = [];
        answerPage.value = 1;
        closeAllTransmitState();
        if (isOpenAnswer) openIAnswer();
        seo.value = data.seo;
        yourAnswer.value = {
          text: "",
          anonymous: 0
        };
        nextTick(() => detailsAreaScrollTop());
        handleInsertRelatedlist(uniqid);
        isCommentList.value = true;
      }).finally(() => detailLoading.value = false);
    };
    const detailsAreaScrollTop = () => {
      let detailsArea = (void 0).querySelector(".details-area-box");
      detailsArea.scrollTo({
        top: 0,
        behavior: "smooth"
      });
    };
    const calculateListIndex = (info, uniqid) => {
      var _a;
      let targetList = [...list.value];
      if (targetList.length == 0 && isSearchMode.value == false && myModelState.value == false) {
        setTimeout(() => calculateListIndex(info, uniqid), 200);
        return;
      }
      let valve = false;
      list.value.forEach((element, index) => {
        if (element["uniqid"] == uniqid) {
          cut(index);
          pitchIndex.value = index;
          valve = true;
        }
      });
      if (!valve) {
        let content = "";
        if (((_a = info == null ? void 0 : info["content"]) == null ? void 0 : _a.indexOf("<img")) == -1) content = info["content"];
        content = content.replace(/<[^>]*>/g, "");
        content = content.replace(/&nbsp;/g, "");
        const obj = {
          answers: info["answers"],
          content,
          publicationdate: info["publicationdate"],
          title: info["title"],
          typename: info["typename"],
          uniqid
        };
        list.value.unshift(obj);
        cut(0);
      }
    };
    let answerList = ref([]);
    let answerPage = ref(1);
    const operateLike = () => {
      if (isNeedLogin.value) {
        return;
      }
      $ajax("/api/operate/like", { token: detailsToken }).then((res) => {
        if (res.code != 200) return;
        let data = res.data;
        islike.value = data.status || 0;
        detailsInfo.value["likenum"] = data.count || 0;
        handleMsg("success", res["message"] || "操作成功");
      });
    };
    const operateCollect = (token = detailsToken, index) => {
      if (isNeedLogin.value) {
        return;
      }
      $ajax("/api/operate/collect", {
        token
      }).then((res) => {
        if (res.code != 200) return;
        let data = res.data;
        myCollectionPage = 1;
        myCollectionList.value = [];
        if (data["type"] == "askquestioncollection") {
          detailsIscollection.value = data["status"];
          detailsInfo.value["collectionnum"] = data["count"];
        } else {
          answerList.value[index]["iscollection"] = data["status"];
          answerList.value[index]["collectionnum"] = data["count"];
        }
        handleMsg("success", res["message"] || "操作成功");
        if (data["status"]) myCount.value["collect"]++;
        else myCount.value["collect"]--;
      });
    };
    let IAnswerState = ref(false);
    let IAnswerEditState = ref(false);
    let IAnswerInfo = ref({});
    const amendIAnswer = () => {
      IAnswerInfo.value["anonymous"] = IAnswerInfo.value["anonymous"] == 0 ? 1 : 0;
    };
    const openCommentState = (index) => {
      if (answerList.value[index]["commentState"]) answerList.value[index]["commentState"] = false;
      else answerList.value[index]["commentState"] = true;
      if (answerList.value[index]["commentList"].length == 0 && answerList.value[index]["commentnum"] != 0) getAnswerCommentList(index);
    };
    const getAnswerCommentList = (index) => {
      getAnswerCommentPublic(index, 2).then((res) => {
        let data = res.data;
        answerList.value[index]["commentList"] = answerList.value[index]["commentList"].concat(data.data);
        answerList.value[index]["commentCount"] = data["count"];
      });
    };
    const handleAllComment = (index) => {
      answerCommentLimit = 1e3;
      getAnswerCommentPublic(index, 1e3).then((res) => {
        if (res.code != 200) return;
        let data = res.data;
        let slice3 = data.data.slice(1);
        let merged1 = [...answerList.value[index]["commentList"], ...slice3.filter((item2) => !answerList.value[index]["commentList"].find((item1) => item1.id == item2.id))];
        answerList.value[index]["commentList"] = merged1;
        answerList.value[index]["showOneCommentState"] = false;
      });
    };
    const getAnswerCommentPublic = (index, limit) => {
      return new Promise((resolve, reject) => {
        $ajax("/api/comment/lists", {
          token: answerList.value[index]["token"],
          limit,
          childlimit: 1
        }).then((res) => {
          if (res.code != 200) return;
          resolve(res);
        });
      });
    };
    let myType = ref("");
    const handleMy = (key) => {
      if (isNeedLogin.value) {
        return;
      }
      if (Object.keys(myCount.value).length === 0) {
        getUserData(key);
        return;
      }
      if (key == "collect") {
        myCollectionList.value = [];
        myCollectionPage = 1;
        getMyCollection();
      } else if (key == "answers") {
        myAnswerList.value = [];
        myAnswerPage = 1;
        getMyAnswer();
      } else if (key == "questions") {
        myQuestionsList.value = [];
        myQuestionsPage = 1;
        getMyQuestions();
      }
    };
    let myCollectionList = ref([]);
    let myCollectionCount = ref(0);
    let myCollectionPage = 1;
    let myCollectionLading = false;
    const getMyCollection = () => {
      if (myCollectionPage == 0 || myCollectionLading) return;
      myCollectionLading = true;
      $ajax("/api/user/collect", {
        limit: 20,
        page: myCollectionPage
      }).then((res) => {
        if (res.code != 200) return;
        let data = res.data;
        myType.value = "collect";
        data.data.forEach((element) => {
          if (element["type"] == "askanswercollection") {
            let content = element["data"]["content"];
            element["data"]["content"] = processHtml(content);
          }
        });
        myCollectionList.value = myCollectionList.value.concat(data.data);
        myCollectionCount.value = data.count;
        if (myCollectionList.value.length != data["count"]) myCollectionPage++;
        else myCollectionPage = 0;
      }).finally(() => myCollectionLading = false);
    };
    const processHtml = (html) => {
      var parser = new DOMParser();
      var doc = parser.parseFromString(html, "text/html");
      var img = doc.querySelector("img");
      if (img) return `<img src="${img.src}">`;
      else return doc.body.textContent;
    };
    const cancelCollection = (token, index) => {
      $ajax("/api/user/deleteCollect", { token }).then((res) => {
        if (res.code == 200) {
          myCollectionList.value.splice(index, 1);
          myCollectionCount.value--;
          myCount.value["collect"]--;
          handleMsg("success", res["message"] || "操作成功");
        }
      });
    };
    const handleCollectionScroll = (e) => {
      const el = e.target;
      if (el.scrollHeight - el.scrollTop >= el.clientHeight + 10) return;
      getMyCollection();
    };
    let myAnswerList = ref([]);
    let myAnswerCount = ref(0);
    let myAnswerPage = 1;
    let myAnswerloadimg = false;
    const getMyAnswer = () => {
      if (myAnswerPage == 0 || myAnswerloadimg) return;
      myAnswerloadimg = true;
      $ajax("/api/user/answer", {
        limit: 20,
        page: myAnswerPage
      }).then((res) => {
        if (res.code != 200) return;
        let data = res.data;
        data.data.forEach((element) => {
          element["popupState"] = false;
        });
        data.data.forEach((element) => {
          let content = element["content"];
          element["content"] = processHtml(content);
        });
        myAnswerList.value = myAnswerList.value.concat(data.data);
        myAnswerCount.value = data.count;
        if (myAnswerList.value.length != data["count"]) myAnswerPage++;
        else myAnswerPage = 0;
        myType.value = "answers";
      }).finally(() => myAnswerloadimg = false);
    };
    const handleAnswersScroll = (e) => {
      const el = e.target;
      if (el.scrollHeight - el.scrollTop >= el.clientHeight + 10) return;
      getMyAnswer();
    };
    let answerIndexOld = null;
    const cutAnswerPopupState = (index) => {
      myAnswerList.value[index]["popupState"] = true;
      if (answerIndexOld == index) {
        myAnswerList.value[index]["popupState"] = false;
        answerIndexOld = null;
      } else {
        myAnswerList.value[index]["popupState"] = true;
        if (answerIndexOld != null) myAnswerList.value[answerIndexOld]["popupState"] = false;
        answerIndexOld = index;
      }
    };
    const changeAnonymous = (token, anonymous, index) => {
      $ajax("/api/publish/changeAnonymous", {
        token,
        anonymous
      }).then((res) => {
        if (res.code != 200) return;
        res.data;
        myAnswerList.value[index]["anonymous"] = anonymous;
        cutAnswerPopupState(index);
        handleMsg("success", res["message"] || "操作成功");
      });
    };
    let myQuestionsList = ref([]);
    let myQuestionsCount = ref(0);
    let myQuestionsPage = 0;
    let myQuestionsloading = false;
    const getMyQuestions = () => {
      if (myQuestionsPage == 0 || myQuestionsloading) return;
      myQuestionsloading = true;
      $ajax("/api/user/questions", {
        limit: 20,
        page: myQuestionsPage
      }).then((res) => {
        if (res.code != 200) return;
        let data = res.data;
        myQuestionsList.value = myQuestionsList.value.concat(data.data);
        myQuestionsCount.value = data.count;
        myType.value = "questions";
        if (myQuestionsList.value.length != data["count"]) myQuestionsPage++;
        else myQuestionsPage = 0;
      }).finally(() => myQuestionsloading = false);
    };
    const handleQuestionsScroll = (e) => {
      const el = e.target;
      if (el.scrollHeight - el.scrollTop >= el.clientHeight + 10) return;
      getMyQuestions();
    };
    let questionsIndexOld = null;
    const cutQuestionsPopupState = (index) => {
      myQuestionsList.value[index]["popupState"] = true;
      if (questionsIndexOld == index) {
        myQuestionsList.value[index]["popupState"] = false;
        questionsIndexOld = null;
      } else {
        myQuestionsList.value[index]["popupState"] = true;
        if (questionsIndexOld != null) myQuestionsList.value[questionsIndexOld]["popupState"] = false;
        questionsIndexOld = index;
      }
    };
    const changeAnonymousQuestions = (token, anonymous, index) => {
      $ajax("/api/publish/changeAnonymous", {
        token,
        anonymous
      }).then((res) => {
        if (res.code != 200) return;
        myQuestionsList.value[index]["anonymous"] = anonymous;
        cutQuestionsPopupState(index);
        handleMsg("success", res["message"] || "操作成功");
      });
    };
    let questionsSetp = ref(0);
    const cutQuestionsSetp = (value) => questionsSetp.value = value;
    let questionsTypeList = ref([]);
    let questionsObj = ref({
      // 提问的内容
      token: "",
      title: "",
      content: "",
      tags: "",
      tid: "",
      anonymous: 0
    });
    const questionsInit = () => {
      if (isNeedLogin.value) {
        return;
      }
      $ajax("/api/publish/questions").then((res) => {
        if (res.code != 200) return;
        let data = res.data;
        questionsObj.value["token"] = data["token"];
        questionsTypeList.value = data["typeList"] || [];
        cutQuestionsSetp(1);
      });
    };
    const choosingTheme = (id) => {
      questionsObj.value.tid = id;
      cutQuestionsSetp(2);
    };
    const cutAnonymous = () => {
      questionsObj.value.anonymous = questionsObj.value.anonymous == 0 ? 1 : 0;
    };
    const postingIssue = () => {
      if (isNeedLogin.value) {
        return;
      }
      $ajax("/api/publish/questionsSubmit", questionsObj.value).then((res) => {
        if (res.code == 200) {
          myCount.value["questions"]++;
          questionsSetp.value = 0;
          questionsObj.value = {
            token: "",
            title: "",
            content: "",
            tags: "",
            tid: "",
            anonymous: 0
          };
          handleMsg("success", res["message"] || "操作成功");
          let data = res.data;
          getDetails(data["uniqid"]);
          return;
        }
        handleMsg("error", res["message"] || "刷新重试！！！");
      });
    };
    let pitchIndex = ref(null);
    const cut = (index) => {
      pitchIndex.value = index;
      setTimeout(() => scrollLeftInMiddle(), 350);
    };
    const scrollLeftInMiddle = () => {
      {
        return;
      }
    };
    const listStyle = () => {
      const newtype = type.value;
      let width = "";
      let margin = "";
      let height = "";
      if (newtype == "list") {
        width = "1200px";
        margin = "0 auto";
      } else {
        width = "calc((100vw - 1200px) / 2 + 512px)";
        margin = "initial";
      }
      return {
        width,
        margin,
        height
      };
    };
    let listHeight = ref(0);
    let itemHeightLeft = 0;
    let itemHeightRight = 0;
    const itemStyle = (index, content, typetype) => {
      if (index == 0) {
        itemHeightLeft = 0;
        itemHeightRight = 0;
      }
      const newtype = type.value;
      let obj = {};
      if (newtype == "list") {
        if (itemHeightLeft <= itemHeightRight) {
          obj["top"] = itemHeightLeft + "px";
          itemHeightLeft += content == "" ? 107 : 137;
          obj["left"] = 0;
        } else {
          obj["top"] = itemHeightRight + "px";
          itemHeightRight += content == "" ? 107 : 137;
          obj["left"] = "649px";
        }
      } else {
        obj["position"] = "relative";
        if (!typetype) {
          itemHeightLeft += content == "" ? 107 : 137;
          obj["height"] = content == "" ? "107px" : "137px";
        } else {
          itemHeightLeft += typetype == "vote" ? 170 : 137;
          obj["height"] = typetype == "vote" ? "170px" : "137px";
        }
        obj["width"] = "100%";
        obj["paddingLeft"] = "calc((100vw - 1210px) / 2)";
      }
      if (index + 1 == list.value.length) listHeight.value = Math.max(itemHeightLeft, itemHeightRight);
      return obj;
    };
    const bottomTpsStyle = (index, content) => {
      const newtype = type.value;
      let obj = {};
      if (newtype == "list") ;
      else {
        obj["width"] = "calc(50vw - 88px)";
        obj["height"] = `calc(100vh - ${list.value.length * 128}px - 268px)`;
        obj["paddingLeft"] = "calc((100vw - 1200px) / 2)";
        obj["borderRight"] = "1px solid #ebebeb";
        obj["background"] = "#fff";
      }
      return obj;
    };
    const listBoxStyle = () => {
      const newtype = type.value;
      let obj = {};
      if (newtype == "list") obj["overflow"] = "visible";
      else obj["height"] = pageListHeight.value + "px";
      return obj;
    };
    const handleDate = (dateTimeStamp = /* @__PURE__ */ new Date(), ishour = true) => {
      dateTimeStamp = dateTimeStamp ? dateTimeStamp : null;
      var timestamp = new Date(dateTimeStamp);
      timestamp = timestamp.getTime();
      var minute = 1e3 * 60;
      var hour = minute * 60;
      var day = hour * 24;
      var now = (/* @__PURE__ */ new Date()).getTime();
      var diffValue = now - timestamp;
      var result;
      if (diffValue < 0) return "刚刚";
      var dayC = diffValue / day;
      var hourC = diffValue / (hour + 1);
      var minC = diffValue / minute;
      if (dayC >= 7) {
        let date = new Date(timestamp);
        let Y = date.getFullYear() + "-";
        let M = (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1) + "-";
        let D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
        let h = (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":";
        let m = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
        if (ishour) result = "" + Y + M + D + h + m;
        else result = "" + Y + M + D;
      } else if (dayC >= 1) result = "" + Math.round(dayC) + "天前";
      else if (hourC >= 1) result = "" + Math.round(hourC) + "小时前";
      else if (minC >= 1) result = "" + Math.round(minC) + "分钟前";
      else result = "刚刚";
      return result;
    };
    provide("handleDate", handleDate);
    let questionsTransmitState = ref(false);
    let questionsTransmitMaskState = ref(false);
    const closeTransmitState = () => {
      questionsTransmitState.value = true;
      questionsTransmitMaskState.value = true;
      countForwardingTimes(detailsToken);
    };
    const closeAllTransmitState = () => {
      answerList.value.forEach((element) => {
        element["transmitState"] = false;
      });
      questionsTransmitState.value = false;
      questionsTransmitMaskState.value = false;
    };
    const handleAnswerTransmitList = (Iindex, type2) => {
      answerList.value[Iindex]["transmitState"] = true;
      questionsTransmitMaskState.value = true;
      countForwardingTimes(answerList.value[Iindex]["token"]);
    };
    const countForwardingTimes = (token) => {
      $ajaxGET("/api/operate/share?token=" + token);
    };
    const closeDetailMode = () => {
      if (myModelState.value) {
        closeMyModel();
        return;
      }
      type.value = "list";
      openBottom();
      pitchIndex.value = null;
      seo.value = {};
      list.value = JSON.parse(JSON.stringify(backupsList));
    };
    const handleListScroll = (e) => {
      const el = e.target;
      if (el.scrollHeight - el.scrollTop >= el.clientHeight + 40 || myModelState.value) return;
      getList();
    };
    const handlePaste = (event, type2) => {
      const items = (event.clipboardData || event.originalEvent.clipboardData).items;
      for (const item of items) {
        if (item.type.indexOf("image") === 0) {
          event.preventDefault();
          handleMsg("warning", "上传图片中");
          const file = item.getAsFile();
          const reader = new FileReader();
          reader.onload = (e) => {
            const base64 = e.target.result;
            uploadImg(base64).then((res) => {
              let questionTextarea = null;
              if (type2 == "you") questionTextarea = (void 0).querySelector(".your-answer-textarea");
              else questionTextarea = (void 0).querySelector(".question-textarea");
              let imgNode = (void 0).createElement("img");
              imgNode.setAttribute("src", res.url);
              imgNode.setAttribute("data-aid", res.aid);
              questionTextarea.appendChild(imgNode);
              if (type2 == "you") handleInputYou();
              else handleInput();
              handleMsg("success", "上传成功");
            });
          };
          reader.readAsDataURL(file);
        }
      }
    };
    const uploadImg = (base64) => {
      return new Promise((resolve, reject) => {
        detailLoading.value = true;
        $ajax("/api/common/upload", {
          data: base64
        }).then((res) => {
          if (res.code != 200) {
            handleMsg("error", res.message || "上传失败");
            return;
          }
          let data = res.data;
          resolve(data);
        }).finally(() => detailLoading.value = false);
      });
    };
    provide("uploadImg", uploadImg);
    let questionPlaceholderState = ref(false);
    let yourAnswerPlaceholderState = ref(true);
    const handleInput = () => {
      const questionTextarea = (void 0).querySelector(".question-textarea");
      const html = questionTextarea.innerHTML;
      if (html) questionPlaceholderState.value = false;
      else questionPlaceholderState.value = true;
    };
    const handleInputYou = () => {
      const questionTextarea = (void 0).querySelector(".your-answer-textarea");
      const html = questionTextarea.innerHTML;
      if (html) yourAnswerPlaceholderState.value = false;
      else yourAnswerPlaceholderState.value = true;
    };
    let msg = ref({});
    const handleMsg = (type2, text) => {
      msg.value["state"] = true;
      msg.value["type"] = type2;
      msg.value["text"] = text;
    };
    provide("handleMsg", handleMsg);
    const boxClass = () => {
      msgShowTimer();
      return type ? `box-item-${msg.value["type"]}` : "";
    };
    let msgTimer = null;
    const msgShowTimer = () => {
      clearTimeout(msgTimer);
      msgTimer = setTimeout(() => {
        msg.value["state"] = false;
      }, 1e3);
    };
    let copyText = (text) => {
      if ((void 0).clipboard) {
        copyText = () => {
          (void 0).clipboard.writeText(text);
          handleMsg("success", "复制成功");
        };
      } else {
        copyText = () => {
          var tempInput = (void 0).createElement("input");
          tempInput.value = text;
          (void 0).body.appendChild(tempInput);
          tempInput.select();
          (void 0).execCommand("copy");
          (void 0).body.removeChild(tempInput);
          handleMsg("success", "复制成功");
        };
      }
      copyText();
    };
    const replaceState = (obj = {}) => {
      return;
    };
    let myModelState = ref(false);
    let myModelList = ref([]);
    let temporaryData = {};
    const myOpenDetails = (uniqid) => {
      if (!uniqid) {
        handleMsg("error", "没有找到相关提问");
        return;
      }
      if (!myModelState.value) {
        temporaryData = {
          total: total.value,
          keywordText: keywordText.value,
          isSearchMode: isSearchMode.value,
          inTheEndState: inTheEndState.value,
          type: type.value,
          pitchIndex: pitchIndex.value,
          listlist: JSON.parse(JSON.stringify(list.value))
        };
        isSearchMode.value = false;
        inTheEndState.value = false;
        keyword.value = "";
        list.value = JSON.parse(JSON.stringify(myModelList.value));
        myModelState.value = true;
        pitchIndex.value = null;
      }
      getDetails(uniqid);
      myType.value = "";
    };
    const closeMyModel = () => {
      myModelList.value = JSON.parse(JSON.stringify(list.value));
      isSearchMode.value = temporaryData["isSearchMode"];
      keywordText.value = temporaryData["keywordText"];
      keyword.value = temporaryData["keywordText"];
      total.value = temporaryData["total"];
      type.value = temporaryData["type"];
      pitchIndex.value = temporaryData["pitchIndex"];
      inTheEndState.value = temporaryData["inTheEndState"];
      list.value = JSON.parse(JSON.stringify(temporaryData.listlist));
      myModelState.value = false;
      if (pitchIndex.value !== null && pitchIndex.value !== void 0) {
        let uniqid = list.value[pitchIndex.value]["uniqid"];
        getDetails(uniqid);
      }
    };
    const handleDetailsScroll = (e) => {
      const el = e.target;
      if (el.scrollHeight - el.scrollTop !== el.clientHeight) return;
    };
    let dialogSrc = ref("");
    const handleAnswerText = (e) => {
      if (e.target.tagName === "IMG") {
        var src = e.target.getAttribute("src");
        dialogSrc.value = src;
        (void 0).addEventListener("keydown", handleKeydown);
      }
    };
    provide("handleAnswerText", handleAnswerText);
    const handleKeydown = (event) => {
      if (event.key !== "Escape") return;
      dialogSrc.value = "";
      (void 0).removeEventListener("keydown", handleKeydown);
    };
    const cutType = (id) => {
      typePitch.value = id;
      page = 1;
      list.value = [];
      backupsList = [];
      listHeight.value = 0;
      myModelState.value = false;
      type.value = "list";
      openBottom();
      pitchIndex.value = null;
      getList();
      listHeight.value = 0;
    };
    const handleMenuState = (token) => {
      reportToken = token;
      alertShow.value = true;
    };
    provide("handleMenuState", handleMenuState);
    let reportToken = "";
    const reasonList = ["广告", "辱骂", "重复发送", "不良信息", "其他"];
    let checkList = ref([]);
    let alertShow = ref(false);
    let alertText = ref("");
    const selectRadio = (value) => {
      const index = checkList.value.indexOf(value);
      if (index === -1) checkList.value.push(value);
      else checkList.value.splice(index, 1);
    };
    const alertSubmit = () => {
      checkList.value.push(alertText.value);
      $ajax("/api/operate/report", {
        message: checkList.value,
        token: reportToken
      }).then((res) => {
        checkList.value = [];
        reportToken = "";
        alertShow.value = false;
        handleMsg("success", "举报成功");
      });
    };
    let recommendList = [];
    let recommendPage = 1;
    const getRecommend = (uniqid) => {
      $ajax("/api/details/relatedlist", {
        page: recommendPage,
        limit: 20
      }).then((res) => {
        if (res.code != 200) return;
        let obj = {
          offer: "Offer",
          mj: "面经",
          vote: "投票",
          thread: "帖子"
        };
        let data = res.data;
        data.forEach((element) => {
          element["typename"] = obj[element["type"]];
          element["isrecom"] = true;
        });
        recommendList = recommendList.concat(data);
        recommendPage++;
        handleInsertRelatedlist(uniqid);
      });
    };
    const handleInsertRelatedlist = (uniqid) => {
      if (myModelState.value) return;
      let insertCount = Math.ceil(backupsList.length / 5);
      if (recommendList.length < insertCount) {
        getRecommend(uniqid);
        return;
      }
      let target = JSON.parse(JSON.stringify(backupsList));
      let result = [];
      let j = 0;
      for (let i = 0; i < target.length; i++) {
        result.push(target[i]);
        if ((i + 1) % 4 === 0 && j < recommendList.length) {
          result.push(recommendList[j]);
          j++;
        }
      }
      list.value = JSON.parse(JSON.stringify(result));
      nextTick(() => {
        if (uniqid) {
          result.forEach((element, index) => {
            if (element["uniqid"] == uniqid) {
              pitchIndex.value = index;
            }
          });
        }
      });
    };
    const replaceNumberObj = ["①", "②", "③"];
    let seo = ref({});
    let initState = ref(0);
    let islike = ref(0);
    try {
      const params = route.query;
      if (params["keyword"]) keyword.value = params["keyword"];
      if (params["tid"]) typePitch.value = params["tid"];
      await $ajax("/api/lists", {
        page,
        limit: 20,
        keyword: keyword.value,
        type: typePitch.value
      }).then((res) => {
        if (res.code != 200) return;
        let data = res.data;
        data.data.forEach((element) => {
          element["content"] = element["content"].replace(/<[^>]*>/g, "");
          element["content"] = element["content"].replace(/&nbsp;/g, "");
        });
        list.value = data.data;
        backupsList = data.data;
        total.value = data.count || 0;
        keywordText.value = keyword.value || "";
        if (list.value.length != data["count"]) page++;
        else page = 0;
        if (page == 0 && list.value.length != 0) inTheEndState.value = true;
        else inTheEndState.value = false;
        if (list.value.length == 0) isListEmptyState.value = true;
        else isListEmptyState.value = false;
        if (keyword.value) isSearchMode.value = true;
        else isSearchMode.value = false;
        nextTick(() => {
          if (list.value.length == 0) type.value = "list";
        });
      });
    } catch (error) {
      console.error(error);
    }
    watch(initState, (newValue, oldValue) => {
      if (newValue === 2) {
        route.query;
      }
    });
    const setItemUrl = (uniqid) => {
      let url = `./index.html?uniqid=${uniqid}`;
      let query = route.query;
      for (const key in query) {
        if (key != "uniqid") url += `&${key}=${query[key]}`;
      }
      return url;
    };
    const handleLogo = () => {
      (void 0).location.href = (void 0).location.origin + (void 0).location.pathname;
    };
    let yourAnswer = ref({
      text: "",
      anonymous: 0
    });
    const cutYourAnswerAnonymous = () => {
      yourAnswer.value["anonymous"] = yourAnswer.value["anonymous"] ? 0 : 1;
    };
    const openListIAnswer = (index) => {
      if (isNeedLogin.value) {
        return;
      }
      let targetData = list.value[index];
      IAnswerInfo.value = {
        title: targetData["title"],
        content: targetData["content"],
        token: targetData["token"],
        uniqid: targetData["uniqid"],
        anonymous: 0,
        index
      };
      IAnswerState.value = true;
      nextTick(() => handleInput());
    };
    let avatarState = ref(false);
    const openUserInfo = () => {
      if (detailsInfo.value["uin"] > 0) avatarState.value = !avatarState.value;
    };
    const sendMessage = (uin) => {
      if (uin && typeof messagePrivateItem == "function") {
        messagePrivateItem({ uin });
        return;
      } else redirectToExternalWebsite(`https://bbs.gter.net/home.php?mod=space&showmsg=1&uid=${uin}`);
    };
    const TAHomePage = (uin) => {
      redirectToExternalWebsite(`https://bbs.gter.net/home.php?mod=space&uid=${uin}`);
    };
    provide("TAHomePag", TAHomePage);
    const redirectToExternalWebsite = (url) => {
      const link = (void 0).createElement("a");
      link.href = url;
      link.target = "_blank";
      link.click();
    };
    const openBottom = () => {
      const footer = (void 0).querySelector("body .index-footer");
      if (footer) footer.style.display = "block";
      else setTimeout(() => openBottom(), 1e3);
    };
    const handleLookOnly = () => {
      zeroreply.value = zeroreply.value == 0 ? 1 : 0;
      page = 1;
      list.value = [];
      backupsList = [];
      listHeight.value = 0;
      getList();
    };
    const commentList = ref([]);
    const commentListRef = ref(null);
    const closeEmojiMask = () => {
      if (commentListRef.value) commentListRef.value.closeEmoji();
    };
    const handleUpdateAnswers = (value) => {
      list.value.forEach((element) => {
        if (element.uniqid == detailsInfo.value["uniqid"]) element["answers"] = value;
      });
      backupsList.forEach((element) => {
        if (element.uniqid == detailsInfo.value["uniqid"]) element["answers"] = value;
      });
    };
    return { handleUpdateAnswers, commentListRef, closeEmojiMask, emojiMaskState, isCommentList, commentList, islike, handleLookOnly, zeroreply, replaceNumberObj, closeMyModel, myModelList, myModelState, listHeight, bottomTpsStyle, TAHomePage, sendMessage, avatarState, openUserInfo, isNeedLogin, handleInputYou, openListIAnswer, isListEmptyState, cutYourAnswerAnonymous, yourAnswer, handleLogo, inTheEndState, setItemUrl, seo, originUrl, handleMenuState, reasonList, checkList, alertShow, alertText, selectRadio, alertSubmit, cutType, dialogSrc, answerPage, handleDetailsScroll, replaceState, copyText, boxClass, questionPlaceholderState, yourAnswerPlaceholderState, handleInput, handlePaste, itemStyle, listStyle, listBoxStyle, myType, type, pitchIndex, cut, list, keyword, keywordText, getList, total, typeList, typePitch, getDetails, detailsInfo, detailsIsanswered, detailsIscollection, detailsIsmyself, detailShare, detailLoading, answerList, operateLike, operateCollect, IAnswerState, IAnswerEditState, IAnswerInfo, amendIAnswer, openCommentState, handleAllComment, myCollectionList, myCollectionCount, myQuestionsList, myQuestionsCount, myAnswerList, myAnswerCount, cutAnswerPopupState, handleDate, handleCollectionScroll, handleAnswersScroll, handleQuestionsScroll, cancelCollection, getMyCollection, questionsSetp, questionsObj, cutAnonymous, cutQuestionsSetp, cutQuestionsPopupState, questionsTypeList, postingIssue, choosingTheme, handleMy, changeAnonymous, changeAnonymousQuestions, pageHeaderHeight, pageListHeight, questionsTransmitState, questionsTransmitMaskState, closeAllTransmitState, closeTransmitState, handleAnswerTransmitList, closeDetailMode, tabListFixeState, handleListScroll, historicalSearchState, historicalSearchList, searchFocus, searchBlur, searchClick, handleClickHistoricalItem, handleClickClear, isSearchMode, questionsInit, myCount, msg, myOpenDetails, handleAnswerText, getCurrentUrl, loading };
  }
};
function _sfc_ssrRender(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
  const _component_Head = Head;
  const _component_Title = Title;
  const _component_Meta = Meta;
  const _component_ClientOnly = __nuxt_component_3;
  const _component_commentList = _sfc_main$3;
  _push(`<!--[--><div id="append_parent"></div><div id="ajaxwaitid"></div><div>`);
  _push(ssrRenderComponent(_component_Head, null, {
    default: withCtx((_, _push2, _parent2, _scopeId) => {
      if (_push2) {
        _push2(ssrRenderComponent(_component_Title, null, {
          default: withCtx((_2, _push3, _parent3, _scopeId2) => {
            if (_push3) {
              _push3(`${ssrInterpolate(`${$setup.seo["title"] || "问答"} - 寄托天下出国留学网`)}`);
            } else {
              return [
                createTextVNode(toDisplayString(`${$setup.seo["title"] || "问答"} - 寄托天下出国留学网`), 1)
              ];
            }
          }),
          _: 1
        }, _parent2, _scopeId));
        _push2(ssrRenderComponent(_component_Meta, {
          name: "keyword",
          content: $setup.seo["keyword"]
        }, null, _parent2, _scopeId));
        _push2(ssrRenderComponent(_component_Meta, {
          name: "description",
          content: $setup.seo["description"]
        }, null, _parent2, _scopeId));
      } else {
        return [
          createVNode(_component_Title, null, {
            default: withCtx(() => [
              createTextVNode(toDisplayString(`${$setup.seo["title"] || "问答"} - 寄托天下出国留学网`), 1)
            ]),
            _: 1
          }),
          createVNode(_component_Meta, {
            name: "keyword",
            content: $setup.seo["keyword"]
          }, null, 8, ["content"]),
          createVNode(_component_Meta, {
            name: "description",
            content: $setup.seo["description"]
          }, null, 8, ["content"])
        ];
      }
    }),
    _: 1
  }, _parent));
  _push(`<div class id="answer-app"><header class="flexacenter" id="pageHeader"><div class="flexacenter top"><a href="./index.html"><img class="logo" alt="寄托问答"${ssrRenderAttr("src", _imports_0)}></a><div class="right flexacenter flex1"><div class="searchInput flexacenter"><input class="input flex1" placeholder="输入搜索关键词"${ssrRenderAttr("value", $setup.keyword)}>`);
  if ($setup.isSearchMode) {
    _push(`<div class="clear-search flexacenter"><img class="cross-circle-black"${ssrRenderAttr("src", _imports_1)}><div class="halving-line"></div></div>`);
  } else {
    _push(`<!---->`);
  }
  _push(`<img class="input-icon"${ssrRenderAttr("src", _imports_2)}>`);
  if ($setup.historicalSearchState) {
    _push(`<div class="history-box"><div class="history-title">历史搜索</div><div class="history-list"><!--[-->`);
    ssrRenderList($setup.historicalSearchList, (item, index) => {
      _push(`<div class="history-item ellipsis">${ssrInterpolate(item)}</div>`);
    });
    _push(`<!--]--></div></div>`);
  } else {
    _push(`<!---->`);
  }
  _push(`</div><div class="btn-list flexacenter"><div class="item flex1">我的收藏</div><div class="item flex1">我的提问</div></div><div class="add-btn flexcenter"><img class="add-icon"${ssrRenderAttr("src", _imports_3)}> 我要提问 </div></div></div><div class="${ssrRenderClass([{ "tab-list-fixed": $setup.tabListFixeState }, "tab-box flexcenter"])}"><div class="tab-list flexacenter"><!--[-->`);
  ssrRenderList($setup.typeList, (item, index) => {
    _push(`<!--[-->`);
    if (index !== 0) {
      _push(`<div class="halving-line">|</div>`);
    } else {
      _push(`<!---->`);
    }
    _push(`<!--[-->`);
    ssrRenderList(item, (it) => {
      _push(`<div class="${ssrRenderClass([{ pitch: $setup.typePitch == it["id"] }, "item flexcenter"])}">${ssrInterpolate(it["name"])}</div>`);
    });
    _push(`<!--]--><!--]-->`);
  });
  _push(`<!--]--></div></div></header><div class="${ssrRenderClass([{ "mode-list": $setup.type == "list" }, "main flexflex"])}"><div class="list-box" style="${ssrRenderStyle({ paddingRight: $setup.type == "list" ? 0 : "15px" })}"><div class="main-header" style="${ssrRenderStyle({ paddingLeft: $setup.type == "list" ? 0 : "calc((100vw - 1210px) / 2)" })}"><div class="flexacenter">`);
  if ($setup.myModelState) {
    _push(`<div class="search-keyword flexacenter"><div class="ellipsis">我的收藏/提问</div><img class="search-keyword-cross"${ssrRenderAttr("src", _imports_4)}></div>`);
  } else if ($setup.isSearchMode) {
    _push(`<!--[--><div class="search-keyword flexacenter"><div class="ellipsis">${ssrInterpolate($setup.keywordText)}</div><img class="search-keyword-cross"${ssrRenderAttr("src", _imports_4)}></div><div class="total grid-item">共 ${ssrInterpolate($setup.total)} 条搜索结果</div><!--]-->`);
  } else {
    _push(`<div class="total grid-item">共 ${ssrInterpolate($setup.total)} 条问答</div>`);
  }
  _push(`</div></div><div class="list" id="list" style="${ssrRenderStyle([$setup.listStyle(), { height: $setup.listHeight + "px" }])}"><!--[-->`);
  ssrRenderList($setup.list, (item, index) => {
    _push(`<!--[-->`);
    if (item["isrecom"] && $setup.type != "list") {
      _push(`<a style="${ssrRenderStyle($setup.itemStyle(index, item["content"], item["type"]))}" class="${ssrRenderClass([{ pitch: index === $setup.pitchIndex, upLevel: index === $setup.pitchIndex - 1 }, "item grid-item flexflex"])}" target="_blank"${ssrRenderAttr("href", item["url"])}><img class="dot"${ssrRenderAttr("src", _imports_5)}><div class="content" style="${ssrRenderStyle({ width: $setup.type == "list" ? "531px" : "430px" })}"><div class="issue-title flexcenter"><div class="recommend flexcenter">推荐阅读</div><div class="issue ellipsis flex1">${ssrInterpolate(item["title"])}</div></div>`);
      if (item["type"] == "thread") {
        _push(`<!--[-->`);
        if (item["message"]) {
          _push(`<div class="answer ellipsis">${ssrInterpolate(item["message"])}</div>`);
        } else {
          _push(`<!---->`);
        }
        _push(`<!--]-->`);
      } else if (item["type"] == "vote") {
        _push(`<div class="answer" style="${ssrRenderStyle({ "height": "auto" })}"><!--[-->`);
        ssrRenderList(item["option"].slice(0, 2), (ite, i) => {
          _push(`<div>${ssrInterpolate($setup.replaceNumberObj[i] + ite)}</div>`);
        });
        _push(`<!--]--><div>${ssrInterpolate($setup.replaceNumberObj[2])} …</div></div>`);
      } else {
        _push(`<div class="answer ellipsis flexacenter">`);
        if (item["profession"] || item["professional"]) {
          _push(`<div class="value-value">${ssrInterpolate(item["profession"] || item["professional"])}</div>`);
        } else {
          _push(`<!---->`);
        }
        if (item["project"] || item["degree"]) {
          _push(`<div class="value-value">${ssrInterpolate(item["project"] || item["degree"])}</div>`);
        } else {
          _push(`<!---->`);
        }
        if (item["interviewtime"] || item["semester"]) {
          _push(`<div class="value-value">${ssrInterpolate(item["interviewtime"] || item["semester"])}</div>`);
        } else {
          _push(`<!---->`);
        }
        if (item["apply_results"]) {
          _push(`<div class="value-value">${ssrInterpolate(item["apply_results"])}</div>`);
        } else {
          _push(`<!---->`);
        }
        _push(`</div>`);
      }
      _push(`<div class="bottom flexacenter"><div class="typename flexcenter">${ssrInterpolate(item["typename"])}</div></div></div></a>`);
    } else {
      _push(`<a style="${ssrRenderStyle($setup.itemStyle(index, item["content"]))}" class="${ssrRenderClass([[{ pitch: index === $setup.pitchIndex, upLevel: index === $setup.pitchIndex - 1 }, `item${index}`], "item grid-item flexflex"])}"${ssrRenderAttr("href", $setup.setItemUrl(item["uniqid"]))}><img class="dot"${ssrRenderAttr("src", _imports_5)}><div class="content" style="${ssrRenderStyle({ width: $setup.type == "list" ? "531px" : "430px" })}"><div class="issue-title flexcenter">`);
      if (item["ishot"] == 1) {
        _push(`<img class="hot-icon"${ssrRenderAttr("src", _imports_6)}>`);
      } else {
        _push(`<!---->`);
      }
      _push(`<div class="issue ellipsis flex1">${ssrInterpolate(item["title"])}</div></div>`);
      if (item["content"]) {
        _push(`<div class="answer ellipsis">${ssrInterpolate(item["content"])}</div>`);
      } else {
        _push(`<!---->`);
      }
      _push(`<div class="bottom flexacenter">`);
      if (item["typename"]) {
        _push(`<div class="typename flexcenter">${ssrInterpolate(item["typename"])}</div>`);
      } else {
        _push(`<div></div>`);
      }
      _push(`<div class="flexacenter"><div class="quantity">${ssrInterpolate($setup.handleDate(item.publicationdate, false))}提问</div><div class="amount flexacenter"><img class="amount-icon"${ssrRenderAttr("src", _imports_7)} alt=""> ${ssrInterpolate(item.answers)}</div></div></div></div></a>`);
    }
    _push(`<!--]-->`);
  });
  _push(`<!--]--></div>`);
  if ($setup.inTheEndState) {
    _push(`<div class="bottom-tps" style="${ssrRenderStyle($setup.bottomTpsStyle())}">- 到底了 -</div>`);
  } else {
    _push(`<!---->`);
  }
  if ($setup.myModelState) {
    _push(`<div class="bottom-tps" style="${ssrRenderStyle($setup.bottomTpsStyle())}"></div>`);
  } else {
    _push(`<!---->`);
  }
  if ($setup.isListEmptyState && $setup.list.length == 0) {
    _push(`<div class="empty-box flexcenter"><div class="dot-list flexacenter"><img class="item"${ssrRenderAttr("src", _imports_8)}><img class="item"${ssrRenderAttr("src", _imports_8)}><img class="item"${ssrRenderAttr("src", _imports_8)}><img class="item"${ssrRenderAttr("src", _imports_9)}><img class="item"${ssrRenderAttr("src", _imports_9)}><img class="item"${ssrRenderAttr("src", _imports_9)}></div><img class="empty-icon"${ssrRenderAttr("src", _imports_10)}>`);
    if ($setup.isSearchMode) {
      _push(`<div class="empty-hint">没有找到相关结果，请更换搜索关键词</div>`);
    } else {
      _push(`<div class="empty-hint">暂无数据</div>`);
    }
    _push(`</div>`);
  } else {
    _push(`<!---->`);
  }
  _push(`</div>`);
  if ($setup.type == "details") {
    _push(`<div class="details-area-box flexflex"><div class="details-box flexflex">`);
    if ($setup.detailLoading) {
      _push(`<div class="loading-bj flexcenter"><svg t="1642133548066" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2597" width="200" height="200"><path d="M512 249.5c-22.5 0-37.5-15-37.5-37.5V99.5c0-22.5 15-37.5 37.5-37.5s37.5 15 37.5 37.5V212c0 22.5-15 37.5-37.5 37.5z m0 712.5c-22.5 0-37.5-15-37.5-37.5V812c0-22.5 15-37.5 37.5-37.5s37.5 15 37.5 37.5v112.5c0 22.5-15 37.5-37.5 37.5zM212 549.5H99.5C77 549.5 62 534.5 62 512s15-37.5 37.5-37.5H212c22.5 0 37.5 15 37.5 37.5s-15 37.5-37.5 37.5z m712.5 0H812c-22.5 0-37.5-15-37.5-37.5s15-37.5 37.5-37.5h112.5c22.5 0 37.5 15 37.5 37.5s-15 37.5-37.5 37.5z m-153.75-150c-11.25 0-26.25-7.5-33.75-18.75-11.25-18.75-3.75-41.25 15-52.5L849.5 272c18.75-11.25 41.25-3.75 52.5 15s3.75 41.25-15 52.5l-97.5 56.25c-3.75 3.75-11.25 3.75-18.75 3.75z m-615 356.25c-11.25 0-26.25-7.5-33.75-18.75-11.25-18.75-3.75-41.25 15-52.5l97.5-56.25c18.75-11.25 41.25-3.75 52.5 15s3.75 41.25-15 52.5L174.5 752c-7.5 3.75-15 3.75-18.75 3.75z m506.25-465c-7.5 0-11.25 0-18.75-3.75-18.75-11.25-22.5-33.75-15-52.5L684.5 137c11.25-18.75 33.75-22.5 52.5-15 18.75 11.25 22.5 33.75 15 52.5L695.75 272c-7.5 11.25-22.5 18.75-33.75 18.75z m-356.25 615c-7.5 0-11.25 0-18.75-3.75-18.75-11.25-22.5-33.75-15-52.5l56.25-97.5c11.25-15 33.75-22.5 52.5-11.25s22.5 33.75 15 52.5L339.5 887c-7.5 11.25-22.5 18.75-33.75 18.75z m-52.5-506.25c-7.5 0-15 0-18.75-3.75L137 339.5c-18.75-11.25-26.25-33.75-15-52.5s33.75-22.5 52.5-15l97.5 56.25c18.75 11.25 22.5 33.75 11.25 52.5-3.75 11.25-18.75 18.75-30 18.75z m615 356.25c-7.5 0-11.25 0-18.75-3.75L752 695.75c-18.75-11.25-22.5-33.75-15-52.5 11.25-18.75 33.75-22.5 52.5-15L887 684.5c18.75 11.25 22.5 33.75 15 52.5-7.5 11.25-18.75 18.75-33.75 18.75zM362 290.75c-11.25 0-26.25-7.5-33.75-18.75L272 174.5c-7.5-18.75-3.75-41.25 15-52.5s41.25-3.75 52.5 15l56.25 97.5c7.5 18.75 3.75 41.25-15 48.75-7.5 3.75-11.25 7.5-18.75 7.5z m356.25 615c-11.25 0-26.25-7.5-33.75-18.75l-56.25-97.5c-11.25-18.75-3.75-41.25 15-52.5s41.25-3.75 52.5 15L752 849.5c11.25 18.75 3.75 41.25-15 52.5-7.5 3.75-11.25 3.75-18.75 3.75z" p-id="2598" fill="#26d79f"></path></svg></div>`);
    } else {
      _push(`<!---->`);
    }
    if ($setup.emojiMaskState) {
      _push(`<div class="emoji-box-mask"></div>`);
    } else {
      _push(`<!---->`);
    }
    _push(`<div class="close-box"><div class="close-circle flexcenter"><img class="close-icon"${ssrRenderAttr("src", _imports_11)}><img class="details-cross-icon"${ssrRenderAttr("src", _imports_12)}></div></div><div class="details-issue">`);
    if ($setup.detailsInfo.typename) {
      _push(`<div class="label">${ssrInterpolate($setup.detailsInfo.typename)}</div>`);
    } else {
      _push(`<!---->`);
    }
    _push(`<div class="titletitle">${ssrInterpolate($setup.detailsInfo["title"])}</div>`);
    if ($setup.detailsInfo["content"]) {
      _push(`<div class="hint">${$setup.detailsInfo["content"] ?? ""}</div>`);
    } else {
      _push(`<!---->`);
    }
    _push(`<div class="info-box flexacenter"><div class="user-info flexacenter">`);
    if ($setup.detailsInfo["avatar"]) {
      _push(`<img class="avatar"${ssrRenderAttr("src", $setup.detailsInfo["avatar"])}>`);
    } else {
      _push(`<!---->`);
    }
    _push(`<div class="user-name">${ssrInterpolate($setup.detailsInfo["nickname"])}</div>`);
    if ($setup.avatarState) {
      _push(`<div class="avatar-box flexflex"><a class="avatar-item flexcenter" target="_blank"><img class="avatar-icon"${ssrRenderAttr("src", _imports_13$1)}> 发送信息 </a><a class="avatar-item flexcenter" target="_blank"><img class="avatar-icon"${ssrRenderAttr("src", _imports_14)}> TA的主页 </a><div class="avatar-mask"></div></div>`);
    } else {
      _push(`<!---->`);
    }
    _push(`<div class="time">${ssrInterpolate($setup.handleDate($setup.detailsInfo["publicationdate"]))}</div></div><div class="operate-item flexacenter" style="${ssrRenderStyle({ "cursor": "auto" })}"><img class="operate-icon operate-collect-icon" style="${ssrRenderStyle({ "width": "13px", "height": "8px" })}"${ssrRenderAttr("src", _imports_15)}> ${ssrInterpolate($setup.detailsInfo["viewnum"] || 0)}</div></div><div class="operate-box flexacenter"><div class="operate-list flexacenter"><div class="operate-item flexacenter">`);
    if ($setup.islike == 0) {
      _push(`<img class="operate-icon operate-like-icon"${ssrRenderAttr("src", _imports_16)}>`);
    } else {
      _push(`<img class="operate-icon operate-like-icon"${ssrRenderAttr("src", _imports_17)}>`);
    }
    _push(` ${ssrInterpolate($setup.detailsInfo.likenum || "赞")}</div>`);
    _push(ssrRenderComponent(_component_ClientOnly, null, {}, _parent));
    _push(`<div class="operate-item flexacenter operate-transmit"><img class="operate-icon operate-transmit-icon"${ssrRenderAttr("src", _imports_20)}> 转发 `);
    if ($setup.questionsTransmitState) {
      _push(`<div class="transmit-box flexflex" style="${ssrRenderStyle({ "z-index": "10" })}"><img class="cross-icon"${ssrRenderAttr("src", _imports_12)}><div class="transmit-left transmit-web"><div class="transmit-title">转发网页版</div><div class="transmit-content"><div class="transmit-headline">${ssrInterpolate($setup.detailsInfo["title"])}</div><div class="transmit-url">${ssrInterpolate($setup.getCurrentUrl())}</div></div><div class="transmit-web-btn flexcenter">复制链接</div></div><div class="transmit-right transmit-mini"><div class="transmit-title">转发小程序版</div><div class="transmit-content flexcenter"><img class="transmit-mini-img"${ssrRenderAttr("src", $setup.detailShare["qrcode"])}><div class="flexcenter"><img class="give-sweep"${ssrRenderAttr("src", _imports_21)}> 扫码转发该问答 </div></div></div></div>`);
    } else {
      _push(`<!---->`);
    }
    _push(`</div></div></div></div>`);
    if ($setup.isCommentList) {
      _push(ssrRenderComponent(_component_commentList, {
        ref: "commentListRef",
        onUpdateAnswers: $setup.handleUpdateAnswers
      }, null, _parent));
    } else {
      _push(`<!---->`);
    }
    _push(`<div class="mobile-phone-check flexcenter"><img class="QRCode-icon"${ssrRenderAttr("src", _imports_22)} alt> 手机查看该问答 <div class="QRCode-pop flexcenter"><img class="offer-mini-QRcode"${ssrRenderAttr("src", $setup.detailShare["qrcode"])}><div class="QRCode-hint flexacenter"><img class="QRCode-img"${ssrRenderAttr("src", _imports_21)}> 微信扫一扫 </div></div></div></div></div>`);
  } else {
    _push(`<!---->`);
  }
  _push(`</div>`);
  if ($setup.myType) {
    _push(`<div class="popover-mask my-popover flexcenter"><div class="popover-box flexflex"><img class="cross-icon"${ssrRenderAttr("src", _imports_12)}><div class="tab-list flexcenter"><div class="${ssrRenderClass([{ pitch: $setup.myType == "collect" }, "tab-item flexacenter"])}"> 我的收藏 <div class="quantity">${ssrInterpolate($setup.myCollectionCount || $setup.myCount["collect"] || 0)}</div></div><div class="long-string"></div><div class="${ssrRenderClass([{ pitch: $setup.myType == "questions" }, "tab-item flexacenter"])}"> 我的提问 <div class="quantity">${ssrInterpolate($setup.myQuestionsCount || $setup.myCount["questions"] || 0)}</div></div></div>`);
    if ($setup.myType == "collect" && $setup.myCollectionList.length == 0 || $setup.myType == "answers" && $setup.myAnswerList.length == 0 || $setup.myType == "questions" && $setup.myQuestionsList.length == 0) {
      _push(`<div class="empty-box flexcenter"><div class="dot-list flexacenter"><img class="item"${ssrRenderAttr("src", _imports_8)}><img class="item"${ssrRenderAttr("src", _imports_8)}><img class="item"${ssrRenderAttr("src", _imports_8)}><img class="item"${ssrRenderAttr("src", _imports_9)}><img class="item"${ssrRenderAttr("src", _imports_9)}><img class="item"${ssrRenderAttr("src", _imports_9)}></div><img class="empty-icon"${ssrRenderAttr("src", _imports_10)}><div class="empty-hint">暂无内容</div></div>`);
    } else {
      _push(`<!---->`);
    }
    if ($setup.myType == "collect" && $setup.myCollectionList.length != 0) {
      _push(`<div class="content-box collect-list"><!--[-->`);
      ssrRenderList($setup.myCollectionList, (item, index) => {
        _push(`<div class="item flexflex">`);
        if (item.type == "askanswercollection") {
          _push(`<!--[--><div class="icon a flexcenter">A</div><div class="centre flexflex flex1"><div class="titletitle ellipsis">${item["data"]["content"] ?? ""}</div><div class="text ellipsis">提问：${ssrInterpolate(item["data"]["title"])}</div></div><div class="delete-box flexacenter"><img class="delete-icon"${ssrRenderAttr("src", _imports_23)}></div><!--]-->`);
        } else {
          _push(`<!--[--><div class="icon q flexcenter">Q</div><div class="centre flexflex flex1"><div class="titletitle ellipsis">${ssrInterpolate(item["data"]["title"])}</div><div class="text ellipsis">${ssrInterpolate(item["data"]["answers"] > 0 ? "共" + item["data"]["answers"] + "个回答&讨论" : "暂无回答&讨论")}</div></div><div class="delete-box flexacenter"><img class="delete-icon"${ssrRenderAttr("src", _imports_23)}></div><!--]-->`);
        }
        _push(`</div>`);
      });
      _push(`<!--]--></div>`);
    } else {
      _push(`<!---->`);
    }
    if ($setup.myType == "answers" && $setup.myAnswerList.length != 0) {
      _push(`<div class="content-box answers-list"><!--[-->`);
      ssrRenderList($setup.myAnswerList, (item, index) => {
        _push(`<div class="item flexflex"><div class="icon a flexcenter">A</div><div class="centre flexflex flex1"><div class="info flexacenter"><div class="name">${ssrInterpolate(item["nickname"])}</div><div class="time">${ssrInterpolate($setup.handleDate(item["publicationdate"]))}</div></div><div class="titletitle ellipsis">${item["content"] ?? ""}</div><div class="text ellipsis">提问：${ssrInterpolate(item["title"])}</div></div><div class="operate-box flexacenter"><div class="state-box flexacenter"><div class="text">${ssrInterpolate(item["anonymous"] == 0 ? "公开" : "匿名")}</div><img class="arrows"${ssrRenderAttr("src", _imports_24)}>`);
        if (item["popupState"]) {
          _push(`<div class="state-popup flexflex"><div class="${ssrRenderClass([{ pitch: item["anonymous"] == 0 }, "state-popup-item flexacenter flex1"])}"><div class>公开发表</div><img class="state-popup-icon"${ssrRenderAttr("src", _imports_25)}></div><div class="${ssrRenderClass([{ pitch: item["anonymous"] == 1 }, "state-popup-item flexacenter flex1"])}"><div class>匿名发表</div><img class="state-popup-icon"${ssrRenderAttr("src", _imports_25)}></div></div>`);
        } else {
          _push(`<!---->`);
        }
        _push(`</div><img class="edit-icon"${ssrRenderAttr("src", _imports_26)}></div></div>`);
      });
      _push(`<!--]--></div>`);
    } else {
      _push(`<!---->`);
    }
    if ($setup.myType == "questions" && $setup.myQuestionsList.length != 0) {
      _push(`<div class="content-box questions-list"><!--[-->`);
      ssrRenderList($setup.myQuestionsList, (item, index) => {
        _push(`<div class="item flexflex"><div class="icon q flexcenter">Q</div><div class="centre flexflex flex1"><div class="info flexacenter"><div class="name">${ssrInterpolate(item["nickname"])}</div><div class="time">${ssrInterpolate($setup.handleDate(item["publicationdate"]))}</div></div><div class="titletitle ellipsis">${ssrInterpolate(item["title"])}</div><div class="text flexacenter">`);
        if (item["authornewnum"] > 0) {
          _push(`<div class="new-answer flexacenter"> 有${ssrInterpolate(item["authornewnum"])}个新回答&amp;讨论 <div class="long-string"></div></div>`);
        } else {
          _push(`<!---->`);
        }
        _push(` ${ssrInterpolate(item["answers"] == 0 ? "暂无回答&讨论" : "共" + item["answers"] + "个回答&讨论")}</div></div><div class="operate-box flexacenter"><div class="state-box flexacenter"><div class="text">${ssrInterpolate(item["anonymous"] == 0 ? "公开" : "匿名")}</div><img class="arrows"${ssrRenderAttr("src", _imports_24)}>`);
        if (item["popupState"]) {
          _push(`<div class="state-popup flexflex"><div class="${ssrRenderClass([{ pitch: item["anonymous"] == 0 }, "state-popup-item flexacenter flex1"])}"><div class>公开发表</div><img class="state-popup-icon"${ssrRenderAttr("src", _imports_25)}></div><div class="${ssrRenderClass([{ pitch: item["anonymous"] == 1 }, "state-popup-item flexacenter flex1"])}"><div class>匿名发表</div><img class="state-popup-icon"${ssrRenderAttr("src", _imports_25)}></div></div>`);
        } else {
          _push(`<!---->`);
        }
        _push(`</div></div></div>`);
      });
      _push(`<!--]--></div>`);
    } else {
      _push(`<!---->`);
    }
    _push(`</div></div>`);
  } else {
    _push(`<!---->`);
  }
  if ($setup.questionsSetp) {
    _push(`<div class="popover-mask flexcenter issue-box">`);
    if ($setup.questionsSetp == 1) {
      _push(`<div class="choosing-theme"><div class="titletitle">选择提问所属主题</div><div class="theme-list flexflex"><!--[-->`);
      ssrRenderList($setup.questionsTypeList, (item, index) => {
        _push(`<div class="theme-stair-box flexflex"><!--[-->`);
        ssrRenderList(item, (item2) => {
          _push(`<div class="theme-item flexcenter">${ssrInterpolate(item2.name)}</div>`);
        });
        _push(`<!--]--></div>`);
      });
      _push(`<!--]--></div></div>`);
    } else {
      _push(`<div class="issue-form"><div class="issue-bj"><svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="727px" height="526px" xmlns="http://www.w3.org/2000/svg"><defs><mask fill="white" id="clip598"><path d="M 1 510  L 0.999871317552845 19.7966825002877  C 3.4185524978235 21.8045610459778  6.54626184609054 23  10 23  C 17.84 23  24 16.8399999999999  24 9  C 24 5.54542319048073  22.8039804094246 2.41703354202741  20.7929431454809 0  L 711 0  C 716.6 0  721 4.40000000000009  721 10  L 721 510  C 721 515.6  716.6 520  711 520  L 11 520  C 5.39999999999998 520  1 515.6  1 510  Z " fill-rule="evenodd"></path></mask><filter x="1126px" y="8991px" width="727px" height="526px" filterUnits="userSpaceOnUse" id="filter599"><feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetInner"></feOffset><feGaussianBlur stdDeviation="1.5" in="shadowOffsetInner" result="shadowGaussian"></feGaussianBlur><feComposite in2="shadowGaussian" operator="atop" in="SourceAlpha" result="shadowComposite"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.117647058823529 0  " in="shadowComposite"></feColorMatrix></filter><g id="widget600"><path d="M 1 510  L 0.999871317552845 19.7966825002877  C 3.4185524978235 21.8045610459778  6.54626184609054 23  10 23  C 17.84 23  24 16.8399999999999  24 9  C 24 5.54542319048073  22.8039804094246 2.41703354202741  20.7929431454809 0  L 711 0  C 716.6 0  721 4.40000000000009  721 10  L 721 510  C 721 515.6  716.6 520  711 520  L 11 520  C 5.39999999999998 520  1 515.6  1 510  Z " fill-rule="nonzero" fill="#ffffff" stroke="none" transform="matrix(1 0 0 1 1129 8994 )"></path><path d="M 1 510  L 0.999871317552845 19.7966825002877  C 3.4185524978235 21.8045610459778  6.54626184609054 23  10 23  C 17.84 23  24 16.8399999999999  24 9  C 24 5.54542319048073  22.8039804094246 2.41703354202741  20.7929431454809 0  L 711 0  C 716.6 0  721 4.40000000000009  721 10  L 721 510  C 721 515.6  716.6 520  711 520  L 11 520  C 5.39999999999998 520  1 515.6  1 510  Z " stroke-width="2" stroke="#ebebeb" fill="none" transform="matrix(1 0 0 1 1129 8994 )" mask="url(#clip598)"></path></g></defs><g transform="matrix(1 0 0 1 -1126 -8991 )"><use xlink:href="#widget600" filter="url(#filter599)"></use><use xlink:href="#widget600"></use></g></svg></div><div class="flexcenter q">Q</div><img class="cross-icon"${ssrRenderAttr("src", _imports_12)}><div class="issue-input"><textarea placeholder="一句话描述问题，以问号结尾">${ssrInterpolate($setup.questionsObj.title)}</textarea></div><textarea class="issue-replenish" placeholder="欢迎补充，清晰表达问题的关键点，可获得更有效的解答（非必填）">${ssrInterpolate($setup.questionsObj.content)}</textarea><div class="issue-bottom flexacenter"><div class="option-box flexacenter" style="${ssrRenderStyle({ "color": "#333" })}">`);
      if ($setup.questionsObj.anonymous == 0) {
        _push(`<img class="option-icon"${ssrRenderAttr("src", _imports_27)}>`);
      } else {
        _push(`<img class="option-icon"${ssrRenderAttr("src", _imports_28)}>`);
      }
      _push(` 匿名发表 <div class style="${ssrRenderStyle({ "color": "#aaa" })}">（发布后只能修改是否匿名）</div></div><div class="issue-btn flexcenter">发布问题</div></div></div>`);
    }
    _push(`</div>`);
  } else {
    _push(`<!---->`);
  }
  _push(`<template><div class="${ssrRenderClass([$setup.boxClass(), "box-item"])}" style="${ssrRenderStyle({ top: "20px" })}"><div class="msg-container">${ssrInterpolate($setup.msg["text"])}</div></div></template>`);
  if ($setup.dialogSrc) {
    _push(`<div class="detail-image-mask flexcenter"><div class="detail-image flexcenter"><img class="detail-img"${ssrRenderAttr("src", $setup.dialogSrc)}></div></div>`);
  } else {
    _push(`<!---->`);
  }
  _push(`<div class="alert-form" style="${ssrRenderStyle($setup.alertShow ? null : { display: "none" })}"><div class="comments reports"><div class="head"><span style="${ssrRenderStyle({ "display": "flex", "align-items": "center" })}"><img style="${ssrRenderStyle({ "width": "25px", "margin-right": "7px" })}" src="//app.gter.net/image/gter/offer/img/exclamationpoint.png?v=4.2.08_331040000"> 举报投诉 </span><div class="close icon-close iconfont"></div></div><div class="form"><div class="radio-area flexacenter"><!--[-->`);
  ssrRenderList($setup.reasonList, (s, i) => {
    _push(`<div class="${ssrRenderClass([{ pitch: $setup.checkList.includes(s) }, "radio-area-item flexacenter"])}"><div class="radio-area-frame"></div> ${ssrInterpolate(s)}</div>`);
  });
  _push(`<!--]--></div><div class="text-box"><textarea placeholder="请输入举报原因" maxlength="200">${ssrInterpolate($setup.alertText)}</textarea><div class="text-num">${ssrInterpolate(200 - $setup.alertText.length)}</div></div><div class="footer"><button type="button">取消</button><button type="submit"${ssrIncludeBooleanAttr($setup.checkList.length == 0) ? " disabled" : ""}>提交</button></div></div></div></div></div></div><!--]-->`);
}
const _sfc_setup$2 = _sfc_main$2.setup;
_sfc_main$2.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("app.vue");
  return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
};
const AppComponent = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["ssrRender", _sfc_ssrRender]]);

const _sfc_main$1 = {
  __name: "nuxt-error-page",
  __ssrInlineRender: true,
  props: {
    error: Object
  },
  setup(__props) {
    const props = __props;
    const _error = props.error;
    _error.stack ? _error.stack.split("\n").splice(1).map((line) => {
      const text = line.replace("webpack:/", "").replace(".vue", ".js").trim();
      return {
        text,
        internal: line.includes("node_modules") && !line.includes(".cache") || line.includes("internal") || line.includes("new Promise")
      };
    }).map((i) => `<span class="stack${i.internal ? " internal" : ""}">${i.text}</span>`).join("\n") : "";
    const statusCode = Number(_error.statusCode || 500);
    const is404 = statusCode === 404;
    const statusMessage = _error.statusMessage ?? (is404 ? "Page Not Found" : "Internal Server Error");
    const description = _error.message || _error.toString();
    const stack = void 0;
    const _Error404 = defineAsyncComponent(() => import('./error-404.vue.mjs'));
    const _Error = defineAsyncComponent(() => import('./error-500.vue.mjs'));
    const ErrorTemplate = is404 ? _Error404 : _Error;
    return (_ctx, _push, _parent, _attrs) => {
      _push(ssrRenderComponent(unref(ErrorTemplate), mergeProps({ statusCode: unref(statusCode), statusMessage: unref(statusMessage), description: unref(description), stack: unref(stack) }, _attrs), null, _parent));
    };
  }
};
const _sfc_setup$1 = _sfc_main$1.setup;
_sfc_main$1.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/components/nuxt-error-page.vue");
  return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
};

const _sfc_main = {
  __name: "nuxt-root",
  __ssrInlineRender: true,
  setup(__props) {
    const IslandRenderer = () => null;
    const nuxtApp = useNuxtApp();
    nuxtApp.deferHydration();
    nuxtApp.ssrContext.url;
    const SingleRenderer = false;
    provide(PageRouteSymbol, useRoute());
    nuxtApp.hooks.callHookWith((hooks) => hooks.map((hook) => hook()), "vue:setup");
    const error = useError();
    const abortRender = error.value && !nuxtApp.ssrContext.error;
    onErrorCaptured((err, target, info) => {
      nuxtApp.hooks.callHook("vue:error", err, target, info).catch((hookError) => console.error("[nuxt] Error in `vue:error` hook", hookError));
      {
        const p = nuxtApp.runWithContext(() => showError(err));
        onServerPrefetch(() => p);
        return false;
      }
    });
    const islandContext = nuxtApp.ssrContext.islandContext;
    return (_ctx, _push, _parent, _attrs) => {
      ssrRenderSuspense(_push, {
        default: () => {
          if (unref(abortRender)) {
            _push(`<div></div>`);
          } else if (unref(error)) {
            _push(ssrRenderComponent(unref(_sfc_main$1), { error: unref(error) }, null, _parent));
          } else if (unref(islandContext)) {
            _push(ssrRenderComponent(unref(IslandRenderer), { context: unref(islandContext) }, null, _parent));
          } else if (unref(SingleRenderer)) {
            ssrRenderVNode(_push, createVNode(resolveDynamicComponent(unref(SingleRenderer)), null, null), _parent);
          } else {
            _push(ssrRenderComponent(unref(AppComponent), null, null, _parent));
          }
        },
        _: 1
      });
    };
  }
};
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("node_modules/.store/nuxt@3.16.0/node_modules/nuxt/dist/app/components/nuxt-root.vue");
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};

let entry;
{
  entry = async function createNuxtAppServer(ssrContext) {
    var _a;
    const vueApp = createApp(_sfc_main);
    const nuxt = createNuxtApp({ vueApp, ssrContext });
    try {
      await applyPlugins(nuxt, plugins);
      await nuxt.hooks.callHook("app:created", vueApp);
    } catch (error) {
      await nuxt.hooks.callHook("app:error", error);
      (_a = nuxt.payload).error || (_a.error = createError(error));
    }
    if (ssrContext == null ? void 0 : ssrContext._renderResponse) {
      throw new Error("skipping render");
    }
    return vueApp;
  };
}
const entry$1 = (ssrContext) => entry(ssrContext);

const server = /*#__PURE__*/Object.freeze({
  __proto__: null,
  default: entry$1
});

export { _export_sfc as _, useNuxtApp as a, useRuntimeConfig as b, withoutTrailingSlash as c, nuxtLinkDefaults as d, useHead as e, hasProtocol as h, joinURL as j, navigateTo as n, parseQuery as p, resolveRouteObject as r, server as s, useRouter as u, withTrailingSlash as w };
//# sourceMappingURL=server.mjs.map
