twinny-server 4.2.7 → 4.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +6 -2
  2. package/cli.js +533 -96
  3. package/package.json +1 -1
package/cli.js CHANGED
@@ -21144,7 +21144,7 @@ var require_dist_cjs2 = __commonJS({
21144
21144
  Fields: () => Fields5,
21145
21145
  HttpRequest: () => HttpRequest10,
21146
21146
  HttpResponse: () => HttpResponse6,
21147
- IHttpRequest: () => import_types88.HttpRequest,
21147
+ IHttpRequest: () => import_types89.HttpRequest,
21148
21148
  getHttpHandlerExtensionConfiguration: () => getHttpHandlerExtensionConfiguration5,
21149
21149
  isValidHostname: () => isValidHostname6,
21150
21150
  resolveHttpHandlerRuntimeConfig: () => resolveHttpHandlerRuntimeConfig5
@@ -21172,9 +21172,9 @@ var require_dist_cjs2 = __commonJS({
21172
21172
  httpHandler: httpHandlerExtensionConfiguration.httpHandler()
21173
21173
  };
21174
21174
  }, "resolveHttpHandlerRuntimeConfig");
21175
- var import_types88 = require_dist_cjs();
21175
+ var import_types89 = require_dist_cjs();
21176
21176
  var _Field = class _Field {
21177
- constructor({ name, kind = import_types88.FieldPosition.HEADER, values = [] }) {
21177
+ constructor({ name, kind = import_types89.FieldPosition.HEADER, values = [] }) {
21178
21178
  this.name = name;
21179
21179
  this.kind = kind;
21180
21180
  this.values = values;
@@ -22588,8 +22588,8 @@ var require_dist_cjs10 = __commonJS({
22588
22588
  normalizeProvider: () => normalizeProvider10
22589
22589
  });
22590
22590
  module2.exports = __toCommonJS2(src_exports);
22591
- var import_types88 = require_dist_cjs();
22592
- var getSmithyContext8 = /* @__PURE__ */ __name((context) => context[import_types88.SMITHY_CONTEXT_KEY] || (context[import_types88.SMITHY_CONTEXT_KEY] = {}), "getSmithyContext");
22591
+ var import_types89 = require_dist_cjs();
22592
+ var getSmithyContext8 = /* @__PURE__ */ __name((context) => context[import_types89.SMITHY_CONTEXT_KEY] || (context[import_types89.SMITHY_CONTEXT_KEY] = {}), "getSmithyContext");
22593
22593
  var normalizeProvider10 = /* @__PURE__ */ __name((input) => {
22594
22594
  if (typeof input === "function")
22595
22595
  return input;
@@ -25740,17 +25740,17 @@ var require_dist_cjs26 = __commonJS({
25740
25740
  var getProfileName6 = /* @__PURE__ */ __name((init) => init.profile || process.env[ENV_PROFILE6] || DEFAULT_PROFILE6, "getProfileName");
25741
25741
  __reExport(src_exports, require_getSSOTokenFilepath(), module2.exports);
25742
25742
  __reExport(src_exports, require_getSSOTokenFromFile(), module2.exports);
25743
- var import_types88 = require_dist_cjs();
25743
+ var import_types89 = require_dist_cjs();
25744
25744
  var getConfigData6 = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key3]) => {
25745
25745
  const indexOfSeparator = key3.indexOf(CONFIG_PREFIX_SEPARATOR6);
25746
25746
  if (indexOfSeparator === -1) {
25747
25747
  return false;
25748
25748
  }
25749
- return Object.values(import_types88.IniSectionType).includes(key3.substring(0, indexOfSeparator));
25749
+ return Object.values(import_types89.IniSectionType).includes(key3.substring(0, indexOfSeparator));
25750
25750
  }).reduce(
25751
25751
  (acc, [key3, value]) => {
25752
25752
  const indexOfSeparator = key3.indexOf(CONFIG_PREFIX_SEPARATOR6);
25753
- const updatedKey = key3.substring(0, indexOfSeparator) === import_types88.IniSectionType.PROFILE ? key3.substring(indexOfSeparator + 1) : key3;
25753
+ const updatedKey = key3.substring(0, indexOfSeparator) === import_types89.IniSectionType.PROFILE ? key3.substring(indexOfSeparator + 1) : key3;
25754
25754
  acc[updatedKey] = value;
25755
25755
  return acc;
25756
25756
  },
@@ -25783,7 +25783,7 @@ var require_dist_cjs26 = __commonJS({
25783
25783
  const matches2 = prefixKeyRegex6.exec(sectionName);
25784
25784
  if (matches2) {
25785
25785
  const [, prefix, , name] = matches2;
25786
- if (Object.values(import_types88.IniSectionType).includes(prefix)) {
25786
+ if (Object.values(import_types89.IniSectionType).includes(prefix)) {
25787
25787
  currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR6);
25788
25788
  }
25789
25789
  } else {
@@ -25842,7 +25842,7 @@ var require_dist_cjs26 = __commonJS({
25842
25842
  credentialsFile: parsedFiles[1]
25843
25843
  };
25844
25844
  }, "loadSharedConfigFiles");
25845
- var getSsoSessionData4 = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key3]) => key3.startsWith(import_types88.IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR6)).reduce((acc, [key3, value]) => ({ ...acc, [key3.substring(key3.indexOf(CONFIG_PREFIX_SEPARATOR6) + 1)]: value }), {}), "getSsoSessionData");
25845
+ var getSsoSessionData4 = /* @__PURE__ */ __name((data) => Object.entries(data).filter(([key3]) => key3.startsWith(import_types89.IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR6)).reduce((acc, [key3, value]) => ({ ...acc, [key3.substring(key3.indexOf(CONFIG_PREFIX_SEPARATOR6) + 1)]: value }), {}), "getSsoSessionData");
25846
25846
  var import_slurpFile2 = require_slurpFile();
25847
25847
  var swallowError22 = /* @__PURE__ */ __name(() => ({}), "swallowError");
25848
25848
  var loadSsoSessionData4 = /* @__PURE__ */ __name(async (init = {}) => (0, import_slurpFile2.slurpFile)(init.configFilepath ?? getConfigFilepath6()).then(parseIni6).then(getSsoSessionData4).catch(swallowError22), "loadSsoSessionData");
@@ -27567,7 +27567,7 @@ var require_dist_cjs34 = __commonJS({
27567
27567
  __name(_Client, "Client");
27568
27568
  var Client4 = _Client;
27569
27569
  var import_protocols59 = (init_protocols(), __toCommonJS(protocols_exports));
27570
- var import_types88 = require_dist_cjs();
27570
+ var import_types89 = require_dist_cjs();
27571
27571
  var _Command = class _Command {
27572
27572
  constructor() {
27573
27573
  this.middlewareStack = (0, import_middleware_stack.constructStack)();
@@ -27603,7 +27603,7 @@ var require_dist_cjs34 = __commonJS({
27603
27603
  commandName,
27604
27604
  inputFilterSensitiveLog,
27605
27605
  outputFilterSensitiveLog,
27606
- [import_types88.SMITHY_CONTEXT_KEY]: {
27606
+ [import_types89.SMITHY_CONTEXT_KEY]: {
27607
27607
  commandInstance: this,
27608
27608
  ...smithyContext
27609
27609
  },
@@ -28301,8 +28301,8 @@ var require_dist_cjs34 = __commonJS({
28301
28301
  }, "emitWarningIfUnsupportedVersion");
28302
28302
  var getChecksumConfiguration4 = /* @__PURE__ */ __name((runtimeConfig) => {
28303
28303
  const checksumAlgorithms = [];
28304
- for (const id in import_types88.AlgorithmId) {
28305
- const algorithmId = import_types88.AlgorithmId[id];
28304
+ for (const id in import_types89.AlgorithmId) {
28305
+ const algorithmId = import_types89.AlgorithmId[id];
28306
28306
  if (runtimeConfig[algorithmId] === void 0) {
28307
28307
  continue;
28308
28308
  }
@@ -136797,6 +136797,11 @@ var inviteLink = (gatewayUrl, code, scheme = "vscode") => {
136797
136797
  const query = new URLSearchParams({ url: gatewayUrl.replace(/\/+$/, ""), code });
136798
136798
  return `${scheme}://${TWINNY_EXTENSION_ID}/join?${query.toString()}`;
136799
136799
  };
136800
+ var PERSONAL_KEY_PREFIX = "tsk";
136801
+ var isPersonalKey = (credential) => !!credential && credential.startsWith(`${PERSONAL_KEY_PREFIX}_`);
136802
+ var GATEWAY_PAGE_PATH = "/admin";
136803
+ var REMOTE_PAGE_LINK_PATH = "/page-link";
136804
+ var REMOTE_PAGE_LINK_OPEN_PATH = "/page-link/open";
136800
136805
  var REMOTE_STREAM_CONTENT_TYPE = "application/x-ndjson";
136801
136806
 
136802
136807
  // src/common/guards.ts
@@ -136911,6 +136916,26 @@ var optionalStringList = (body, key3) => {
136911
136916
  }
136912
136917
  return value;
136913
136918
  };
136919
+ var ROLES = ["system", "user", "assistant"];
136920
+ var parseMessages = (messages) => {
136921
+ if (!Array.isArray(messages) || messages.length === 0) {
136922
+ throw new RemoteRequestError('"messages" must be a non-empty list.');
136923
+ }
136924
+ return messages.map((message, index) => {
136925
+ if (!isRecord(message)) {
136926
+ throw new RemoteRequestError(`message ${index} must be an object.`);
136927
+ }
136928
+ rejectUnknownFields(message, ["role", "content"]);
136929
+ const { role, content } = message;
136930
+ if (typeof role !== "string" || !ROLES.includes(role)) {
136931
+ throw new RemoteRequestError(`message ${index} has no valid role.`);
136932
+ }
136933
+ if (typeof content !== "string" && !Array.isArray(content)) {
136934
+ throw new RemoteRequestError(`message ${index} has no content.`);
136935
+ }
136936
+ return { role, content };
136937
+ });
136938
+ };
136914
136939
  var parseFimRequest = (input) => {
136915
136940
  const body = requireRecord(input);
136916
136941
  rejectUnknownFields(body, [
@@ -136921,7 +136946,8 @@ var parseFimRequest = (input) => {
136921
136946
  "stop",
136922
136947
  "maxTokens",
136923
136948
  "temperature",
136924
- "keepAlive"
136949
+ "keepAlive",
136950
+ "messages"
136925
136951
  ]);
136926
136952
  const prompt = body.prompt;
136927
136953
  if (typeof prompt !== "string")
@@ -136938,34 +136964,18 @@ var parseFimRequest = (input) => {
136938
136964
  stop: optionalStringList(body, "stop"),
136939
136965
  maxTokens: optionalNumber(body, "maxTokens"),
136940
136966
  temperature: optionalNumber(body, "temperature"),
136941
- keepAlive: keepAlive === null ? void 0 : keepAlive
136967
+ keepAlive: keepAlive === null ? void 0 : keepAlive,
136968
+ // A chat-only FIM model's prompt, as the chat it was rendered from
136969
+ // (see `getFimChat`), so the backend does not template it again.
136970
+ messages: body.messages === void 0 || body.messages === null ? void 0 : parseMessages(body.messages)
136942
136971
  };
136943
136972
  };
136944
- var ROLES = ["system", "user", "assistant"];
136945
136973
  var parseChatRequest = (input) => {
136946
136974
  const body = requireRecord(input);
136947
136975
  rejectUnknownFields(body, ["model", "messages", "maxTokens", "temperature"]);
136948
- const messages = body.messages;
136949
- if (!Array.isArray(messages) || messages.length === 0) {
136950
- throw new RemoteRequestError('"messages" must be a non-empty list.');
136951
- }
136952
- const parsed = messages.map((message, index) => {
136953
- if (!isRecord(message)) {
136954
- throw new RemoteRequestError(`message ${index} must be an object.`);
136955
- }
136956
- rejectUnknownFields(message, ["role", "content"]);
136957
- const { role, content } = message;
136958
- if (typeof role !== "string" || !ROLES.includes(role)) {
136959
- throw new RemoteRequestError(`message ${index} has no valid role.`);
136960
- }
136961
- if (typeof content !== "string" && !Array.isArray(content)) {
136962
- throw new RemoteRequestError(`message ${index} has no content.`);
136963
- }
136964
- return { role, content };
136965
- });
136966
136976
  return {
136967
136977
  model: requireModel(body),
136968
- messages: parsed,
136978
+ messages: parseMessages(body.messages),
136969
136979
  maxTokens: optionalNumber(body, "maxTokens"),
136970
136980
  temperature: optionalNumber(body, "temperature")
136971
136981
  };
@@ -137247,6 +137257,29 @@ var RemoteInferenceProvider = class _RemoteInferenceProvider {
137247
137257
  throw new InferenceError("inference-failure", "The gateway sent an unexpected sign-in status.");
137248
137258
  }
137249
137259
  }
137260
+ /** A one-time code that signs this key in to the gateway's page. Personal keys only. */
137261
+ async pageLink(options) {
137262
+ const response = await this.send(REMOTE_PAGE_LINK_PATH, {}, options?.signal);
137263
+ const body = await response.json();
137264
+ if (typeof body?.code !== "string" || typeof body?.expiresAt !== "string") {
137265
+ throw new InferenceError("inference-failure", "The gateway sent no sign-in link.");
137266
+ }
137267
+ return { code: body.code, expiresAt: body.expiresAt };
137268
+ }
137269
+ /**
137270
+ * The plugins this key opens on the gateway's page: what an admin shared
137271
+ * with a developer, or every running plugin for an admin.
137272
+ */
137273
+ async sharedPlugins(options) {
137274
+ const response = await this.send("/admin/plugins", void 0, options?.signal);
137275
+ const body = await response.json();
137276
+ if (!Array.isArray(body?.plugins)) return [];
137277
+ return body.plugins.flatMap((entry) => {
137278
+ const plugin = entry;
137279
+ if (typeof plugin?.id !== "string" || typeof plugin.name !== "string" || plugin.enabled === false) return [];
137280
+ return [{ id: plugin.id, name: plugin.name, ...typeof plugin.description === "string" ? { description: plugin.description } : {} }];
137281
+ });
137282
+ }
137250
137283
  fim(request, options) {
137251
137284
  return this.stream("fim", request, options);
137252
137285
  }
@@ -139469,7 +139502,7 @@ var writePrivateJson = (file, value) => writePrivateFile(file, `${JSON.stringify
139469
139502
  `);
139470
139503
 
139471
139504
  // src/gateway/keys.ts
139472
- var KEY_PREFIX = "tsk";
139505
+ var KEY_PREFIX = PERSONAL_KEY_PREFIX;
139473
139506
  var ID_BYTES = 4;
139474
139507
  var SECRET_BYTES = 32;
139475
139508
  var KEY_PATTERN = /^tsk_([0-9a-f]{8})_([0-9a-f]{64})$/;
@@ -139594,7 +139627,7 @@ var KeyStore = class _KeyStore {
139594
139627
  }
139595
139628
  /** Whether a string is shaped like one of these keys at all. */
139596
139629
  static looksLikeKey(presented) {
139597
- return !!presented && presented.startsWith(`${KEY_PREFIX}_`);
139630
+ return isPersonalKey(presented);
139598
139631
  }
139599
139632
  /** Rereads the file when it changed on disk, at most every `minRefreshMs`. */
139600
139633
  refresh(now = Date.now()) {
@@ -141652,6 +141685,28 @@ var import_node_path32 = __toESM(require("node:path"));
141652
141685
  var import_node_fs12 = __toESM(require("node:fs"));
141653
141686
  var import_node_path30 = __toESM(require("node:path"));
141654
141687
 
141688
+ // src/gateway/plugins/access.ts
141689
+ var NO_ACCESS = Object.freeze({ everyone: false, people: [] });
141690
+ var MAX_PEOPLE = 500;
141691
+ var parseAccess = (value) => {
141692
+ if (!isRecord(value)) throw new Error("Send { everyone, people }.");
141693
+ if (value.everyone !== void 0 && typeof value.everyone !== "boolean")
141694
+ throw new Error("everyone is true or false.");
141695
+ if (value.people !== void 0 && !Array.isArray(value.people))
141696
+ throw new Error("people is a list of key names.");
141697
+ const names2 = /* @__PURE__ */ new Set();
141698
+ for (const entry of value.people ?? []) {
141699
+ const name = typeof entry === "string" ? entry.trim() : "";
141700
+ if (!KEY_NAME_PATTERN.test(name)) throw new Error(`"${String(entry)}" is not a key name.`);
141701
+ names2.add(name);
141702
+ }
141703
+ if (names2.size > MAX_PEOPLE) throw new Error(`At most ${MAX_PEOPLE} people; share with everyone instead.`);
141704
+ return { everyone: value.everyone === true, people: [...names2].sort((a6, b6) => a6.localeCompare(b6)) };
141705
+ };
141706
+ var grants = (access, principal) => access.everyone || access.people.includes(principal);
141707
+ var memberMay = (routes, method, path21) => routes.some((route) => route.method === method && route.path.test(path21));
141708
+ var isShared = (access) => access.everyone || access.people.length > 0;
141709
+
141655
141710
  // src/gateway/plugins/events.ts
141656
141711
  var EVENT_KINDS = [
141657
141712
  { type: "review.done", label: "Review finished", description: "A model finished reviewing a pull, whatever it concluded." },
@@ -141661,6 +141716,7 @@ var EVENT_KINDS = [
141661
141716
  { type: "issue.triaged", label: "Issue triaged", description: "A model suggested labels, a priority and a first reply for an issue." },
141662
141717
  { type: "pull.opened", label: "Pull opened", description: "A new pull request appeared on a watched repository." },
141663
141718
  { type: "pull.checks-failed", label: "Checks failed", description: "A watched pull's checks went from passing or pending to failing." },
141719
+ { type: "pull.approved", label: "Pull approved", description: "Someone approved a pull from the admin page." },
141664
141720
  { type: "backup.ok", label: "Backup made", description: "A backup was written to its destination." },
141665
141721
  { type: "backup.failed", label: "Backup failed", description: "A backup could not be made or stored." },
141666
141722
  { type: "backend.down", label: "Backend down", description: "A configured backend stopped answering." },
@@ -141727,13 +141783,25 @@ var parsePluginsFile = (text2, file) => {
141727
141783
  if (!isRecord(parsed) || parsed.version !== 1 || !Array.isArray(parsed.enabled) || !parsed.enabled.every((id) => typeof id === "string")) {
141728
141784
  throw new Error(`${file} is not a twinny-server plugins file.`);
141729
141785
  }
141730
- return { version: 1, enabled: parsed.enabled };
141786
+ const access = {};
141787
+ if (parsed.access !== void 0) {
141788
+ if (!isRecord(parsed.access)) throw new Error(`${file} has a malformed access section.`);
141789
+ for (const [id, entry] of Object.entries(parsed.access)) {
141790
+ try {
141791
+ access[id] = parseAccess(entry);
141792
+ } catch (error) {
141793
+ throw new Error(`${file} has a malformed access entry for "${id}": ${messageOf(error)}`);
141794
+ }
141795
+ }
141796
+ }
141797
+ return { version: 1, enabled: parsed.enabled, access };
141731
141798
  };
141732
141799
  var pluginsFileFor = (keysFile) => import_node_path30.default.join(import_node_path30.default.dirname(keysFile), "plugins.json");
141733
141800
  var PluginStore = class _PluginStore {
141734
141801
  constructor(file) {
141735
141802
  this.file = file;
141736
141803
  this._enabled = [];
141804
+ this._access = {};
141737
141805
  }
141738
141806
  static open(file) {
141739
141807
  const store = new _PluginStore(file);
@@ -141751,22 +141819,35 @@ var PluginStore = class _PluginStore {
141751
141819
  this._enabled = enabled ? [...without, id] : without;
141752
141820
  this.save();
141753
141821
  }
141822
+ /** Who a plugin is shared with; nobody unless an admin said otherwise. */
141823
+ access(id) {
141824
+ return this._access[id] ?? NO_ACCESS;
141825
+ }
141826
+ setAccess(id, access) {
141827
+ const others = Object.fromEntries(Object.entries(this._access).filter(([entry]) => entry !== id));
141828
+ this._access = isShared(access) ? { ...others, [id]: access } : others;
141829
+ this.save();
141830
+ }
141754
141831
  reload() {
141755
141832
  try {
141756
- this._enabled = parsePluginsFile(
141757
- import_node_fs12.default.readFileSync(this.file, "utf8"),
141758
- this.file
141759
- ).enabled;
141833
+ const file = parsePluginsFile(import_node_fs12.default.readFileSync(this.file, "utf8"), this.file);
141834
+ this._enabled = file.enabled;
141835
+ this._access = file.access ?? {};
141760
141836
  } catch (error) {
141761
141837
  if (error.code === "ENOENT") {
141762
141838
  this._enabled = [];
141839
+ this._access = {};
141763
141840
  return;
141764
141841
  }
141765
141842
  throw error;
141766
141843
  }
141767
141844
  }
141768
141845
  save() {
141769
- const content = { version: 1, enabled: this._enabled };
141846
+ const content = {
141847
+ version: 1,
141848
+ enabled: this._enabled,
141849
+ ...Object.keys(this._access).length ? { access: this._access } : {}
141850
+ };
141770
141851
  writePrivateJson(this.file, content);
141771
141852
  }
141772
141853
  };
@@ -141813,14 +141894,46 @@ var PluginHost = class {
141813
141894
  async stop() {
141814
141895
  for (const id of [...this._running.keys()]) await this.halt(id);
141815
141896
  }
141897
+ /** Everything bundled, with who each shareable plugin is shared with: the admin's view. */
141816
141898
  list() {
141817
141899
  return [...this._byId.values()].map((plugin) => ({
141818
- id: plugin.id,
141819
- name: plugin.name,
141820
- description: plugin.description,
141821
- enabled: this._running.has(plugin.id)
141900
+ ...this.summary(plugin),
141901
+ ...plugin.memberRoutes ? { access: this._options.store.access(plugin.id) } : {}
141822
141902
  }));
141823
141903
  }
141904
+ /** What a developer may open: running, shareable plugins shared with them. Nothing about who else. */
141905
+ listFor(principal) {
141906
+ return [...this._byId.values()].filter((plugin) => this._running.has(plugin.id) && this.shares(plugin, principal)).map((plugin) => this.summary(plugin));
141907
+ }
141908
+ access(id) {
141909
+ const plugin = this.plugin(id);
141910
+ if (!plugin.memberRoutes) throw new PluginError(`The ${plugin.name} plugin is for admins only.`, 404);
141911
+ return this._options.store.access(id);
141912
+ }
141913
+ /** Shares a plugin, or stops sharing it; takes effect with the next request. */
141914
+ setAccess(id, input) {
141915
+ const plugin = this.plugin(id);
141916
+ if (!plugin.memberRoutes)
141917
+ throw new PluginError(`The ${plugin.name} plugin is for admins only and cannot be shared.`, 400);
141918
+ let access;
141919
+ try {
141920
+ access = parseAccess(input);
141921
+ } catch (error) {
141922
+ throw new PluginError(messageOf(error), 400);
141923
+ }
141924
+ this._options.store.setAccess(id, access);
141925
+ return this._options.store.access(id);
141926
+ }
141927
+ /**
141928
+ * Why a developer may not make this request, or nothing when they may:
141929
+ * the plugin must be shared with them and name the route as theirs.
141930
+ */
141931
+ refuseMember(id, principal, method, path21) {
141932
+ const plugin = this.plugin(id);
141933
+ if (!this.shares(plugin, principal)) return `The ${plugin.name} plugin is not shared with ${principal}. An admin can share it on the Plugins page.`;
141934
+ if (!memberMay(plugin.memberRoutes ?? [], method, path21)) return `Only an admin can do that in the ${plugin.name} plugin.`;
141935
+ return void 0;
141936
+ }
141824
141937
  has(id) {
141825
141938
  return this._byId.has(id);
141826
141939
  }
@@ -141896,9 +142009,13 @@ var PluginHost = class {
141896
142009
  id: plugin.id,
141897
142010
  name: plugin.name,
141898
142011
  description: plugin.description,
141899
- enabled: this._running.has(plugin.id)
142012
+ enabled: this._running.has(plugin.id),
142013
+ shareable: !!plugin.memberRoutes
141900
142014
  };
141901
142015
  }
142016
+ shares(plugin, principal) {
142017
+ return !!plugin.memberRoutes && grants(this._options.store.access(plugin.id), principal);
142018
+ }
141902
142019
  run(id) {
141903
142020
  const plugin = this.plugin(id);
141904
142021
  const dataDir = import_node_path30.default.join(this._options.dataDir, "plugins", id);
@@ -143443,6 +143560,24 @@ var Triager = class {
143443
143560
  var SYNC_INTERVAL_MS = 5 * 6e4;
143444
143561
  var REVIEW_TICK_MS = 6e4;
143445
143562
  var REQUEST_TIMEOUT_MS = 3e4;
143563
+ var REPO = "repos/[0-9a-f]{8}";
143564
+ var NUMBER = "[1-9][0-9]{0,8}";
143565
+ var MEMBER_ROUTES = [
143566
+ { method: "GET", path: /^$/ },
143567
+ { method: "POST", path: /^sync$/ },
143568
+ { method: "PUT", path: /^me$/ },
143569
+ { method: "POST", path: new RegExp(`^${REPO}/sync$`) },
143570
+ { method: "GET", path: new RegExp(`^${REPO}/pulls/${NUMBER}$`) },
143571
+ { method: "POST", path: new RegExp(`^${REPO}/pulls/${NUMBER}/review(?:/post|/ask)?$`) },
143572
+ { method: "GET", path: new RegExp(`^${REPO}/issues/${NUMBER}$`) },
143573
+ { method: "POST", path: new RegExp(`^${REPO}/issues/${NUMBER}/triage(?:/post)?$`) }
143574
+ ];
143575
+ var MAX_USERNAME = 100;
143576
+ var cleanUsername = (value) => {
143577
+ const name = typeof value === "string" ? value.trim().replace(/^@/, "") : "";
143578
+ if (name.length > MAX_USERNAME) throw new PluginError("That username is too long.", 400);
143579
+ return name;
143580
+ };
143446
143581
  var withTimeout = (parent, ms) => timeoutSignal(ms, { parent, reason: () => noAnswer(ms) });
143447
143582
  var PullsPlugin = class {
143448
143583
  constructor(_context, forge, _intervalMs = SYNC_INTERVAL_MS, _pluginId = "pulls") {
@@ -143480,12 +143615,28 @@ var PullsPlugin = class {
143480
143615
  await this._syncing?.catch(() => void 0);
143481
143616
  await this._autoReviewing?.catch(() => void 0);
143482
143617
  }
143483
- /** The alias reviews use: the setting, else the first chat alias the gateway serves. */
143484
- /** Who the operator is on the host: the setting, else what a token said. */
143485
- me() {
143618
+ /**
143619
+ * Who the caller is on the host. Admins share one name: the setting,
143620
+ * else what a token said. A developer's name is only ever their own,
143621
+ * set with `PUT me`: the token belongs to whoever set the repository
143622
+ * up, not to them.
143623
+ */
143624
+ me(caller) {
143625
+ if (caller?.member) {
143626
+ const own = this.people()[caller.principal];
143627
+ return own ? { name: own } : {};
143628
+ }
143486
143629
  const set = this.store.settings().me;
143487
- return { ...typeof set === "string" && set ? { name: set } : this._detectedMe ? { name: this._detectedMe } : {}, ...this._detectedMe ? { detected: this._detectedMe } : {} };
143630
+ const name = typeof set === "string" && set ? set : this._detectedMe;
143631
+ return { ...name ? { name } : {}, ...this._detectedMe ? { detected: this._detectedMe } : {} };
143632
+ }
143633
+ /** Each person's own name on the host, by key name. */
143634
+ people() {
143635
+ const people = this.store.settings().people;
143636
+ if (typeof people !== "object" || people === null || Array.isArray(people)) return {};
143637
+ return Object.fromEntries(Object.entries(people).filter((entry) => typeof entry[1] === "string"));
143488
143638
  }
143639
+ /** The alias reviews use: the setting, else the first chat alias the gateway serves. */
143489
143640
  reviewAlias() {
143490
143641
  const set = this.store.settings().reviewAlias;
143491
143642
  const aliases = this._reviewer.aliases();
@@ -143736,7 +143887,7 @@ ${summaryOf(review.text)}`,
143736
143887
  repos: this.views(),
143737
143888
  appAuth: this._forge.hasAppAuth(),
143738
143889
  host: this._forge.status(),
143739
- me: this.me(),
143890
+ me: this.me(request),
143740
143891
  review: {
143741
143892
  available: this._reviewer.available,
143742
143893
  aliases: this._reviewer.aliases(),
@@ -143749,6 +143900,13 @@ ${summaryOf(review.text)}`,
143749
143900
  await this.syncAll();
143750
143901
  return json({ repos: this.views() });
143751
143902
  }
143903
+ if (route === "me" && method === "PUT") {
143904
+ if (!request.member) throw new PluginError("Admins share one name on the host: set it with PUT settings { me }.", 400);
143905
+ const name = cleanUsername((await request.body()).me);
143906
+ const others = Object.fromEntries(Object.entries(this.people()).filter(([person]) => person !== request.principal));
143907
+ this.store.setSettings({ ...this.store.settings(), people: name ? { ...others, [request.principal]: name } : others });
143908
+ return json({ me: this.me(request) });
143909
+ }
143752
143910
  if (route === "repos" && method === "POST") return this.addRepo(request);
143753
143911
  const repoMatch = /^repos\/([0-9a-f]{8})(?:\/(.*))?$/.exec(route);
143754
143912
  if (repoMatch) {
@@ -143801,10 +143959,12 @@ _Triaged by twinny-server with \`${record.alias}\`._`, signal);
143801
143959
  updated = { ...updated, reply: text2, repliedAt: new Date(this._context.now()).toISOString() };
143802
143960
  }
143803
143961
  if (body.labels !== false && record.labels.length && this._forge.labelIssue) {
143804
- const labels = Array.isArray(body.labelNames) ? body.labelNames.filter((l4) => typeof l4 === "string") : record.labels;
143962
+ const chosen = Array.isArray(body.labelNames) ? body.labelNames.filter((l4) => typeof l4 === "string") : record.labels;
143963
+ const labels = request.member ? chosen.filter((label) => record.labels.includes(label)) : chosen;
143805
143964
  if (labels.length) await this._forge.labelIssue(repo, number2, labels, signal);
143806
143965
  updated = { ...updated, labels, labeledAt: new Date(this._context.now()).toISOString() };
143807
143966
  }
143967
+ if (updated.repliedAt !== record.repliedAt || updated.labeledAt !== record.labeledAt) updated = { ...updated, postedBy: request.principal };
143808
143968
  this.triage.put(updated);
143809
143969
  this._context.log.info({ event: "plugin.triage-posted", key: request.principal, reason: `${repo.fullName}#${number2}` });
143810
143970
  return json({ triage: updated });
@@ -143827,13 +143987,14 @@ _Triaged by twinny-server with \`${record.alias}\`._`, signal);
143827
143987
  await this.syncOne(repo);
143828
143988
  return json({ repo: this.view(repo) });
143829
143989
  }
143830
- const pullMatch = /^pulls\/([1-9][0-9]{0,8})(\/review(?:\/post|\/ask)?)?$/.exec(rest);
143990
+ const pullMatch = /^pulls\/([1-9][0-9]{0,8})(\/review(?:\/post|\/ask)?|\/approve)?$/.exec(rest);
143831
143991
  if (pullMatch) {
143832
143992
  const number2 = Number(pullMatch[1]);
143833
143993
  const wantsReview = pullMatch[2] === "/review";
143834
143994
  const wantsPost = pullMatch[2] === "/review/post";
143835
143995
  const wantsAsk = pullMatch[2] === "/review/ask";
143836
- if (wantsReview || wantsPost || wantsAsk ? method !== "POST" : method !== "GET") return notFound();
143996
+ const wantsApprove = pullMatch[2] === "/approve";
143997
+ if (wantsReview || wantsPost || wantsAsk || wantsApprove ? method !== "POST" : method !== "GET") return notFound();
143837
143998
  let pull = this.pull(repo.id, number2);
143838
143999
  if (!pull) {
143839
144000
  await this.syncOne(repo);
@@ -143845,9 +144006,16 @@ _Triaged by twinny-server with \`${record.alias}\`._`, signal);
143845
144006
  const as = body.as === "request-changes" || body.as === "approve" ? body.as : "comment";
143846
144007
  const review2 = this.reviews.latest(repo.id, number2);
143847
144008
  if (!review2 || review2.status !== "done") throw new PluginError("There is no finished review to post.", 409);
144009
+ if (request.member && as !== "comment") throw new PluginError("Only an admin can post a review as an approval or a change request.", 403);
144010
+ if (request.member && review2.postedAt) throw new PluginError("This review is already on the host.", 409);
143848
144011
  const posted = await this.postReview(repo, pull, review2, as, request.principal);
143849
144012
  return json({ review: posted });
143850
144013
  }
144014
+ if (wantsApprove) {
144015
+ await this.approvePull(repo, pull, request.principal);
144016
+ await this.syncOne(repo);
144017
+ return json({ pull: this.pull(repo.id, number2) ?? pull });
144018
+ }
143851
144019
  if (wantsAsk) {
143852
144020
  const body = await request.body();
143853
144021
  const question = typeof body.question === "string" ? body.question : "";
@@ -143891,8 +144059,7 @@ _Triaged by twinny-server with \`${record.alias}\`._`, signal);
143891
144059
  hostChanged = true;
143892
144060
  }
143893
144061
  if ("me" in body) {
143894
- const me = typeof body.me === "string" ? body.me.trim().replace(/^@/, "") : "";
143895
- if (me.length > 100) throw new PluginError("That username is too long.", 400);
144062
+ const me = cleanUsername(body.me);
143896
144063
  if (me) settings.me = me;
143897
144064
  else delete settings.me;
143898
144065
  }
@@ -143910,7 +144077,7 @@ _Triaged by twinny-server with \`${record.alias}\`._`, signal);
143910
144077
  }
143911
144078
  return json({
143912
144079
  host: this._forge.status(),
143913
- me: this.me(),
144080
+ me: this.me(request),
143914
144081
  review: {
143915
144082
  available: this._reviewer.available,
143916
144083
  aliases: this._reviewer.aliases(),
@@ -143981,6 +144148,27 @@ _Reviewed by twinny-server with \`${review.alias}\`${review.headSha ? ` at ${rev
143981
144148
  throw error instanceof PluginError ? error : new PluginError(`Posting to the host failed: ${message}`, 502);
143982
144149
  }
143983
144150
  }
144151
+ /** Approves the pull on the host, with no review text. */
144152
+ async approvePull(repo, pull, by) {
144153
+ const label = `${repo.fullName}${this._forge.noun === "Merge request" ? "!" : "#"}${pull.number}`;
144154
+ try {
144155
+ await this._forge.approvePull(repo, pull, withTimeout(this._stopped.signal, REQUEST_TIMEOUT_MS));
144156
+ } catch (error) {
144157
+ const message = messageOf(error);
144158
+ this._context.log.warn({ event: "plugin.approve-failed", key: by, reason: label, message });
144159
+ throw error instanceof PluginError ? error : new PluginError(`Approving on the host failed: ${message}`, 502);
144160
+ }
144161
+ this._context.log.info({ event: "plugin.approved", key: by, reason: label });
144162
+ this._context.events?.emit({
144163
+ type: "pull.approved",
144164
+ source: this._pluginId,
144165
+ level: "info",
144166
+ title: `${label} approved by ${by}`,
144167
+ text: `${pull.title} by ${pull.author}.`,
144168
+ url: pull.url,
144169
+ data: { repo: repo.fullName, number: pull.number }
144170
+ });
144171
+ }
143984
144172
  pull(repoId, number2) {
143985
144173
  return this._state.get(repoId)?.pulls.find((pull) => pull.number === number2);
143986
144174
  }
@@ -144152,6 +144340,10 @@ var BitbucketForge = class {
144152
144340
  }
144153
144341
  return { url: str2(rec(rec(comment.links).html).href, pull.url) };
144154
144342
  }
144343
+ async approvePull(repo, pull, signal) {
144344
+ const response = await this._context.fetch(this.api(repo, `/pullrequests/${pull.number}/approve`), { method: "POST", headers: this.headers(repo), signal });
144345
+ if (!response.ok) await readJson(response, `Approving ${repo.fullName}#${pull.number}`);
144346
+ }
144155
144347
  async pullContent(repo, number2, signal) {
144156
144348
  const what = `Reading ${repo.fullName}#${number2}`;
144157
144349
  const pull = await this.get(repo, `/pullrequests/${number2}`, signal, what);
@@ -144168,6 +144360,7 @@ var bitbucketPlugin = {
144168
144360
  id: "bitbucket",
144169
144361
  name: "Bitbucket",
144170
144362
  description: "Watch repositories on Bitbucket Cloud and see their open pull requests, build statuses and approvals. Reads with an app password or API token per repository.",
144363
+ memberRoutes: MEMBER_ROUTES,
144171
144364
  create: (context) => new PullsPlugin(context, (store, ctx) => new BitbucketForge(store, ctx), void 0, "bitbucket")
144172
144365
  };
144173
144366
 
@@ -145318,6 +145511,17 @@ var GiteaForge = class {
145318
145511
  );
145319
145512
  return { url: str2(answer.html_url, pull.url) };
145320
145513
  }
145514
+ async approvePull(repo, pull, signal) {
145515
+ await readJson(
145516
+ await this._context.fetch(this.api(repo, `/pulls/${pull.number}/reviews`), {
145517
+ method: "POST",
145518
+ headers: { ...this.headers(repo), "Content-Type": "application/json" },
145519
+ body: JSON.stringify({ body: "", event: "APPROVED", commit_id: pull.headSha }),
145520
+ signal
145521
+ }),
145522
+ `Approving ${repo.fullName}#${pull.number}`
145523
+ );
145524
+ }
145321
145525
  async pullContent(repo, number2, signal) {
145322
145526
  const what = `Reading ${repo.fullName}#${number2}`;
145323
145527
  const pull = await this.get(repo, `/pulls/${number2}`, signal, what);
@@ -145334,6 +145538,7 @@ var giteaPlugin = {
145334
145538
  id: "gitea",
145335
145539
  name: "Gitea / Forgejo",
145336
145540
  description: "Watch repositories on your own Gitea or Forgejo (or Codeberg) and see their open pull requests, statuses and reviews. Reads with an access token per repository.",
145541
+ memberRoutes: MEMBER_ROUTES,
145337
145542
  create: (context) => new PullsPlugin(context, (store, ctx) => new GiteaForge(store, ctx), void 0, "gitea")
145338
145543
  };
145339
145544
 
@@ -145739,6 +145944,16 @@ var GitHubForge = class {
145739
145944
  const answer = await readJson(response, `Posting the review on ${repo.fullName}#${pull.number}`);
145740
145945
  return { url: str2(answer.html_url, pull.url) };
145741
145946
  }
145947
+ async approvePull(repo, pull, signal) {
145948
+ const token = await this.tokenFor(repo, signal);
145949
+ const response = await this._context.fetch(`${this.restUrl}/repos/${repo.fullName}/pulls/${pull.number}/reviews`, {
145950
+ method: "POST",
145951
+ headers: { Authorization: `Bearer ${token}`, Accept: "application/vnd.github+json", "X-GitHub-Api-Version": "2022-11-28", "User-Agent": USER_AGENT6, "Content-Type": "application/json" },
145952
+ body: JSON.stringify({ event: "APPROVE", commit_id: pull.headSha }),
145953
+ signal
145954
+ });
145955
+ await readJson(response, `Approving ${repo.fullName}#${pull.number}`);
145956
+ }
145742
145957
  async handle(request) {
145743
145958
  const { method, path: path21 } = request;
145744
145959
  if (path21 === "app" && method === "PUT") {
@@ -145831,6 +146046,7 @@ var githubPlugin = {
145831
146046
  id: "github",
145832
146047
  name: "GitHub",
145833
146048
  description: "Watch repositories on GitHub (or GitHub Enterprise) and see their open pull requests, checks and review state. Reads with a GitHub App or a token.",
146049
+ memberRoutes: MEMBER_ROUTES,
145834
146050
  create: (context) => new PullsPlugin(context, (store, ctx) => new GitHubForge(store, ctx), void 0, "github")
145835
146051
  };
145836
146052
 
@@ -146083,6 +146299,17 @@ var GitLabForge = class {
146083
146299
  const id = num(note.id);
146084
146300
  return { url: id !== void 0 ? `${pull.url}#note_${id}` : pull.url };
146085
146301
  }
146302
+ async approvePull(repo, pull, signal) {
146303
+ await readJson(
146304
+ await this._context.fetch(`${this.project(repo)}/merge_requests/${pull.number}/approve`, {
146305
+ method: "POST",
146306
+ headers: { ...this.headers(repo), "Content-Type": "application/json" },
146307
+ body: JSON.stringify({ sha: pull.headSha }),
146308
+ signal
146309
+ }),
146310
+ `Approving ${repo.fullName}!${pull.number}`
146311
+ );
146312
+ }
146086
146313
  async pullContent(repo, number2, signal) {
146087
146314
  const what = `Reading ${repo.fullName}!${number2}`;
146088
146315
  const detail = await readJson(
@@ -146129,6 +146356,7 @@ var gitlabPlugin = {
146129
146356
  id: "gitlab",
146130
146357
  name: "GitLab",
146131
146358
  description: "Watch projects on gitlab.com or a self-managed GitLab and see their open merge requests, pipelines and approvals. Reads with an access token per project.",
146359
+ memberRoutes: MEMBER_ROUTES,
146132
146360
  create: (context) => new PullsPlugin(context, (store, ctx) => new GitLabForge(store, ctx), void 0, "gitlab")
146133
146361
  };
146134
146362
 
@@ -146505,7 +146733,7 @@ var BUNDLED_PLUGINS = [
146505
146733
  ];
146506
146734
 
146507
146735
  // src/gateway/server.ts
146508
- var import_node_crypto28 = require("node:crypto");
146736
+ var import_node_crypto29 = require("node:crypto");
146509
146737
  var import_node_http2 = __toESM(require("node:http"));
146510
146738
 
146511
146739
  // src/protocol/job.ts
@@ -147167,7 +147395,7 @@ var refuseUpgrade = (socket, status, body, headers = {}) => {
147167
147395
  };
147168
147396
 
147169
147397
  // src/gateway/admin-page.ts
147170
- var js = true ? '"use strict";(()=>{var gS=Object.create;var pu=Object.defineProperty;var yS=Object.getOwnPropertyDescriptor;var vS=Object.getOwnPropertyNames;var bS=Object.getPrototypeOf,kS=Object.prototype.hasOwnProperty;var ie=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Hf=(e,t)=>{for(var n in t)pu(e,n,{get:t[n],enumerable:!0})},wS=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of vS(t))!kS.call(e,i)&&i!==n&&pu(e,i,{get:()=>t[i],enumerable:!(r=yS(t,i))||r.enumerable});return e};var Z=(e,t,n)=>(n=e!=null?gS(bS(e)):{},wS(t||!e||!e.__esModule?pu(n,"default",{value:e,enumerable:!0}):n,e));var th=ie(Ae=>{"use strict";var va=Symbol.for("react.element"),xS=Symbol.for("react.portal"),NS=Symbol.for("react.fragment"),SS=Symbol.for("react.strict_mode"),ES=Symbol.for("react.profiler"),CS=Symbol.for("react.provider"),TS=Symbol.for("react.context"),AS=Symbol.for("react.forward_ref"),RS=Symbol.for("react.suspense"),IS=Symbol.for("react.memo"),PS=Symbol.for("react.lazy"),qf=Symbol.iterator;function LS(e){return e===null||typeof e!="object"?null:(e=qf&&e[qf]||e["@@iterator"],typeof e=="function"?e:null)}var Kf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Gf=Object.assign,Qf={};function vi(e,t,n){this.props=e,this.context=t,this.refs=Qf,this.updater=n||Kf}vi.prototype.isReactComponent={};vi.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};vi.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Yf(){}Yf.prototype=vi.prototype;function fu(e,t,n){this.props=e,this.context=t,this.refs=Qf,this.updater=n||Kf}var hu=fu.prototype=new Yf;hu.constructor=fu;Gf(hu,vi.prototype);hu.isPureReactComponent=!0;var Vf=Array.isArray,Xf=Object.prototype.hasOwnProperty,gu={current:null},Zf={key:!0,ref:!0,__self:!0,__source:!0};function Jf(e,t,n){var r,i={},a=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(a=""+t.key),t)Xf.call(t,r)&&!Zf.hasOwnProperty(r)&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(1<s){for(var l=Array(s),u=0;u<s;u++)l[u]=arguments[u+2];i.children=l}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)i[r]===void 0&&(i[r]=s[r]);return{$$typeof:va,type:e,key:a,ref:o,props:i,_owner:gu.current}}function OS(e,t){return{$$typeof:va,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function yu(e){return typeof e=="object"&&e!==null&&e.$$typeof===va}function _S(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var Wf=/\\/+/g;function mu(e,t){return typeof e=="object"&&e!==null&&e.key!=null?_S(""+e.key):t.toString(36)}function Mo(e,t,n,r,i){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(a){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case va:case xS:o=!0}}if(o)return o=e,i=i(o),e=r===""?"."+mu(o,0):r,Vf(i)?(n="",e!=null&&(n=e.replace(Wf,"$&/")+"/"),Mo(i,t,n,"",function(u){return u})):i!=null&&(yu(i)&&(i=OS(i,n+(!i.key||o&&o.key===i.key?"":(""+i.key).replace(Wf,"$&/")+"/")+e)),t.push(i)),1;if(o=0,r=r===""?".":r+":",Vf(e))for(var s=0;s<e.length;s++){a=e[s];var l=r+mu(a,s);o+=Mo(a,t,n,l,i)}else if(l=LS(e),typeof l=="function")for(e=l.call(e),s=0;!(a=e.next()).done;)a=a.value,l=r+mu(a,s++),o+=Mo(a,t,n,l,i);else if(a==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return o}function $o(e,t,n){if(e==null)return e;var r=[],i=0;return Mo(e,r,"","",function(a){return t.call(n,a,i++)}),r}function DS(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var At={current:null},Bo={transition:null},FS={ReactCurrentDispatcher:At,ReactCurrentBatchConfig:Bo,ReactCurrentOwner:gu};function eh(){throw Error("act(...) is not supported in production builds of React.")}Ae.Children={map:$o,forEach:function(e,t,n){$o(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return $o(e,function(){t++}),t},toArray:function(e){return $o(e,function(t){return t})||[]},only:function(e){if(!yu(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Ae.Component=vi;Ae.Fragment=NS;Ae.Profiler=ES;Ae.PureComponent=fu;Ae.StrictMode=SS;Ae.Suspense=RS;Ae.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=FS;Ae.act=eh;Ae.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=Gf({},e.props),i=e.key,a=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(a=t.ref,o=gu.current),t.key!==void 0&&(i=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in t)Xf.call(t,l)&&!Zf.hasOwnProperty(l)&&(r[l]=t[l]===void 0&&s!==void 0?s[l]:t[l])}var l=arguments.length-2;if(l===1)r.children=n;else if(1<l){s=Array(l);for(var u=0;u<l;u++)s[u]=arguments[u+2];r.children=s}return{$$typeof:va,type:e.type,key:i,ref:a,props:r,_owner:o}};Ae.createContext=function(e){return e={$$typeof:TS,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:CS,_context:e},e.Consumer=e};Ae.createElement=Jf;Ae.createFactory=function(e){var t=Jf.bind(null,e);return t.type=e,t};Ae.createRef=function(){return{current:null}};Ae.forwardRef=function(e){return{$$typeof:AS,render:e}};Ae.isValidElement=yu;Ae.lazy=function(e){return{$$typeof:PS,_payload:{_status:-1,_result:e},_init:DS}};Ae.memo=function(e,t){return{$$typeof:IS,type:e,compare:t===void 0?null:t}};Ae.startTransition=function(e){var t=Bo.transition;Bo.transition={};try{e()}finally{Bo.transition=t}};Ae.unstable_act=eh;Ae.useCallback=function(e,t){return At.current.useCallback(e,t)};Ae.useContext=function(e){return At.current.useContext(e)};Ae.useDebugValue=function(){};Ae.useDeferredValue=function(e){return At.current.useDeferredValue(e)};Ae.useEffect=function(e,t){return At.current.useEffect(e,t)};Ae.useId=function(){return At.current.useId()};Ae.useImperativeHandle=function(e,t,n){return At.current.useImperativeHandle(e,t,n)};Ae.useInsertionEffect=function(e,t){return At.current.useInsertionEffect(e,t)};Ae.useLayoutEffect=function(e,t){return At.current.useLayoutEffect(e,t)};Ae.useMemo=function(e,t){return At.current.useMemo(e,t)};Ae.useReducer=function(e,t,n){return At.current.useReducer(e,t,n)};Ae.useRef=function(e){return At.current.useRef(e)};Ae.useState=function(e){return At.current.useState(e)};Ae.useSyncExternalStore=function(e,t,n){return At.current.useSyncExternalStore(e,t,n)};Ae.useTransition=function(){return At.current.useTransition()};Ae.version="18.3.1"});var tt=ie((PO,nh)=>{"use strict";nh.exports=th()});var ph=ie(Me=>{"use strict";function wu(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,i=e[r];if(0<jo(i,t))e[r]=t,e[n]=i,n=r;else break e}}function pn(e){return e.length===0?null:e[0]}function Ho(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length,a=i>>>1;r<a;){var o=2*(r+1)-1,s=e[o],l=o+1,u=e[l];if(0>jo(s,n))l<i&&0>jo(u,s)?(e[r]=u,e[l]=n,r=l):(e[r]=s,e[o]=n,r=o);else if(l<i&&0>jo(u,n))e[r]=u,e[l]=n,r=l;else break e}}return t}function jo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(rh=performance,Me.unstable_now=function(){return rh.now()}):(vu=Date,ih=vu.now(),Me.unstable_now=function(){return vu.now()-ih});var rh,vu,ih,xn=[],er=[],zS=1,Jt=null,gt=3,qo=!1,Or=!1,ka=!1,sh=typeof setTimeout=="function"?setTimeout:null,lh=typeof clearTimeout=="function"?clearTimeout:null,ah=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function xu(e){for(var t=pn(er);t!==null;){if(t.callback===null)Ho(er);else if(t.startTime<=e)Ho(er),t.sortIndex=t.expirationTime,wu(xn,t);else break;t=pn(er)}}function Nu(e){if(ka=!1,xu(e),!Or)if(pn(xn)!==null)Or=!0,Eu(Su);else{var t=pn(er);t!==null&&Cu(Nu,t.startTime-e)}}function Su(e,t){Or=!1,ka&&(ka=!1,lh(wa),wa=-1),qo=!0;var n=gt;try{for(xu(t),Jt=pn(xn);Jt!==null&&(!(Jt.expirationTime>t)||e&&!dh());){var r=Jt.callback;if(typeof r=="function"){Jt.callback=null,gt=Jt.priorityLevel;var i=r(Jt.expirationTime<=t);t=Me.unstable_now(),typeof i=="function"?Jt.callback=i:Jt===pn(xn)&&Ho(xn),xu(t)}else Ho(xn);Jt=pn(xn)}if(Jt!==null)var a=!0;else{var o=pn(er);o!==null&&Cu(Nu,o.startTime-t),a=!1}return a}finally{Jt=null,gt=n,qo=!1}}var Vo=!1,Uo=null,wa=-1,uh=5,ch=-1;function dh(){return!(Me.unstable_now()-ch<uh)}function bu(){if(Uo!==null){var e=Me.unstable_now();ch=e;var t=!0;try{t=Uo(!0,e)}finally{t?ba():(Vo=!1,Uo=null)}}else Vo=!1}var ba;typeof ah=="function"?ba=function(){ah(bu)}:typeof MessageChannel<"u"?(ku=new MessageChannel,oh=ku.port2,ku.port1.onmessage=bu,ba=function(){oh.postMessage(null)}):ba=function(){sh(bu,0)};var ku,oh;function Eu(e){Uo=e,Vo||(Vo=!0,ba())}function Cu(e,t){wa=sh(function(){e(Me.unstable_now())},t)}Me.unstable_IdlePriority=5;Me.unstable_ImmediatePriority=1;Me.unstable_LowPriority=4;Me.unstable_NormalPriority=3;Me.unstable_Profiling=null;Me.unstable_UserBlockingPriority=2;Me.unstable_cancelCallback=function(e){e.callback=null};Me.unstable_continueExecution=function(){Or||qo||(Or=!0,Eu(Su))};Me.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):uh=0<e?Math.floor(1e3/e):5};Me.unstable_getCurrentPriorityLevel=function(){return gt};Me.unstable_getFirstCallbackNode=function(){return pn(xn)};Me.unstable_next=function(e){switch(gt){case 1:case 2:case 3:var t=3;break;default:t=gt}var n=gt;gt=t;try{return e()}finally{gt=n}};Me.unstable_pauseExecution=function(){};Me.unstable_requestPaint=function(){};Me.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=gt;gt=e;try{return t()}finally{gt=n}};Me.unstable_scheduleCallback=function(e,t,n){var r=Me.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?r+n:r):n=r,e){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return i=n+i,e={id:zS++,callback:t,priorityLevel:e,startTime:n,expirationTime:i,sortIndex:-1},n>r?(e.sortIndex=n,wu(er,e),pn(xn)===null&&e===pn(er)&&(ka?(lh(wa),wa=-1):ka=!0,Cu(Nu,n-r))):(e.sortIndex=i,wu(xn,e),Or||qo||(Or=!0,Eu(Su))),e};Me.unstable_shouldYield=dh;Me.unstable_wrapCallback=function(e){var t=gt;return function(){var n=gt;gt=t;try{return e.apply(this,arguments)}finally{gt=n}}}});var fh=ie((OO,mh)=>{"use strict";mh.exports=ph()});var vv=ie(Qt=>{"use strict";var $S=tt(),Kt=fh();function Q(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var wg=new Set,Ha={};function Wr(e,t){Mi(e,t),Mi(e+"Capture",t)}function Mi(e,t){for(Ha[e]=t,e=0;e<t.length;e++)wg.add(t[e])}var Vn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Qu=Object.prototype.hasOwnProperty,MS=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,hh={},gh={};function BS(e){return Qu.call(gh,e)?!0:Qu.call(hh,e)?!1:MS.test(e)?gh[e]=!0:(hh[e]=!0,!1)}function jS(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function US(e,t,n,r){if(t===null||typeof t>"u"||jS(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Pt(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var ht={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ht[e]=new Pt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ht[t]=new Pt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ht[e]=new Pt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ht[e]=new Pt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ht[e]=new Pt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ht[e]=new Pt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ht[e]=new Pt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ht[e]=new Pt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ht[e]=new Pt(e,5,!1,e.toLowerCase(),null,!1,!1)});var jc=/[\\-:]([a-z])/g;function Uc(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(jc,Uc);ht[t]=new Pt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(jc,Uc);ht[t]=new Pt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(jc,Uc);ht[t]=new Pt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ht[e]=new Pt(e,1,!1,e.toLowerCase(),null,!1,!1)});ht.xlinkHref=new Pt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ht[e]=new Pt(e,1,!1,e.toLowerCase(),null,!0,!0)});function Hc(e,t,n,r){var i=ht.hasOwnProperty(t)?ht[t]:null;(i!==null?i.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(US(t,n,i,r)&&(n=null),r||i===null?BS(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type===3?!1:"":n:(t=i.attributeName,r=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&n===!0?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var Qn=$S.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Wo=Symbol.for("react.element"),wi=Symbol.for("react.portal"),xi=Symbol.for("react.fragment"),qc=Symbol.for("react.strict_mode"),Yu=Symbol.for("react.profiler"),xg=Symbol.for("react.provider"),Ng=Symbol.for("react.context"),Vc=Symbol.for("react.forward_ref"),Xu=Symbol.for("react.suspense"),Zu=Symbol.for("react.suspense_list"),Wc=Symbol.for("react.memo"),nr=Symbol.for("react.lazy");Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var Sg=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden");Symbol.for("react.cache");Symbol.for("react.tracing_marker");var yh=Symbol.iterator;function xa(e){return e===null||typeof e!="object"?null:(e=yh&&e[yh]||e["@@iterator"],typeof e=="function"?e:null)}var Ge=Object.assign,Tu;function Ia(e){if(Tu===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\\n( *(at )?)/);Tu=t&&t[1]||""}return`\n`+Tu+e}var Au=!1;function Ru(e,t){if(!e||Au)return"";Au=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&typeof u.stack=="string"){for(var i=u.stack.split(`\n`),a=r.stack.split(`\n`),o=i.length-1,s=a.length-1;1<=o&&0<=s&&i[o]!==a[s];)s--;for(;1<=o&&0<=s;o--,s--)if(i[o]!==a[s]){if(o!==1||s!==1)do if(o--,s--,0>s||i[o]!==a[s]){var l=`\n`+i[o].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}while(1<=o&&0<=s);break}}}finally{Au=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ia(e):""}function HS(e){switch(e.tag){case 5:return Ia(e.type);case 16:return Ia("Lazy");case 13:return Ia("Suspense");case 19:return Ia("SuspenseList");case 0:case 2:case 15:return e=Ru(e.type,!1),e;case 11:return e=Ru(e.type.render,!1),e;case 1:return e=Ru(e.type,!0),e;default:return""}}function Ju(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case xi:return"Fragment";case wi:return"Portal";case Yu:return"Profiler";case qc:return"StrictMode";case Xu:return"Suspense";case Zu:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Ng:return(e.displayName||"Context")+".Consumer";case xg:return(e._context.displayName||"Context")+".Provider";case Vc:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Wc:return t=e.displayName||null,t!==null?t:Ju(e.type)||"Memo";case nr:t=e._payload,e=e._init;try{return Ju(e(t))}catch{}}return null}function qS(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Ju(t);case 8:return t===qc?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function gr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Eg(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function VS(e){var t=Eg(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,a.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ko(e){e._valueTracker||(e._valueTracker=VS(e))}function Cg(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Eg(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function ws(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ec(e,t){var n=t.checked;return Ge({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function vh(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=gr(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Tg(e,t){t=t.checked,t!=null&&Hc(e,"checked",t,!1)}function tc(e,t){Tg(e,t);var n=gr(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?nc(e,t.type,n):t.hasOwnProperty("defaultValue")&&nc(e,t.type,gr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function bh(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function nc(e,t,n){(t!=="number"||ws(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Pa=Array.isArray;function Oi(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t["$"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty("$"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=""+gr(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function rc(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(Q(91));return Ge({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function kh(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(Q(92));if(Pa(n)){if(1<n.length)throw Error(Q(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:gr(n)}}function Ag(e,t){var n=gr(t.value),r=gr(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function wh(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function Rg(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ic(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Rg(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Go,Ig=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Go=Go||document.createElement("div"),Go.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Go.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function qa(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var _a={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},WS=["Webkit","ms","Moz","O"];Object.keys(_a).forEach(function(e){WS.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),_a[t]=_a[e]})});function Pg(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||_a.hasOwnProperty(e)&&_a[e]?(""+t).trim():t+"px"}function Lg(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=Pg(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var KS=Ge({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ac(e,t){if(t){if(KS[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Q(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Q(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Q(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Q(62))}}function oc(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var sc=null;function Kc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var lc=null,_i=null,Di=null;function xh(e){if(e=lo(e)){if(typeof lc!="function")throw Error(Q(280));var t=e.stateNode;t&&(t=Qs(t),lc(e.stateNode,e.type,t))}}function Og(e){_i?Di?Di.push(e):Di=[e]:_i=e}function _g(){if(_i){var e=_i,t=Di;if(Di=_i=null,xh(e),t)for(e=0;e<t.length;e++)xh(t[e])}}function Dg(e,t){return e(t)}function Fg(){}var Iu=!1;function zg(e,t,n){if(Iu)return e(t,n);Iu=!0;try{return Dg(e,t,n)}finally{Iu=!1,(_i!==null||Di!==null)&&(Fg(),_g())}}function Va(e,t){var n=e.stateNode;if(n===null)return null;var r=Qs(n);if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(Q(231,t,typeof n));return n}var uc=!1;if(Vn)try{bi={},Object.defineProperty(bi,"passive",{get:function(){uc=!0}}),window.addEventListener("test",bi,bi),window.removeEventListener("test",bi,bi)}catch{uc=!1}var bi;function GS(e,t,n,r,i,a,o,s,l){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(c){this.onError(c)}}var Da=!1,xs=null,Ns=!1,cc=null,QS={onError:function(e){Da=!0,xs=e}};function YS(e,t,n,r,i,a,o,s,l){Da=!1,xs=null,GS.apply(QS,arguments)}function XS(e,t,n,r,i,a,o,s,l){if(YS.apply(this,arguments),Da){if(Da){var u=xs;Da=!1,xs=null}else throw Error(Q(198));Ns||(Ns=!0,cc=u)}}function Kr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function $g(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Nh(e){if(Kr(e)!==e)throw Error(Q(188))}function ZS(e){var t=e.alternate;if(!t){if(t=Kr(e),t===null)throw Error(Q(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var a=i.alternate;if(a===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===n)return Nh(i),e;if(a===r)return Nh(i),t;a=a.sibling}throw Error(Q(188))}if(n.return!==r.return)n=i,r=a;else{for(var o=!1,s=i.child;s;){if(s===n){o=!0,n=i,r=a;break}if(s===r){o=!0,r=i,n=a;break}s=s.sibling}if(!o){for(s=a.child;s;){if(s===n){o=!0,n=a,r=i;break}if(s===r){o=!0,r=a,n=i;break}s=s.sibling}if(!o)throw Error(Q(189))}}if(n.alternate!==r)throw Error(Q(190))}if(n.tag!==3)throw Error(Q(188));return n.stateNode.current===n?e:t}function Mg(e){return e=ZS(e),e!==null?Bg(e):null}function Bg(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Bg(e);if(t!==null)return t;e=e.sibling}return null}var jg=Kt.unstable_scheduleCallback,Sh=Kt.unstable_cancelCallback,JS=Kt.unstable_shouldYield,eE=Kt.unstable_requestPaint,Ze=Kt.unstable_now,tE=Kt.unstable_getCurrentPriorityLevel,Gc=Kt.unstable_ImmediatePriority,Ug=Kt.unstable_UserBlockingPriority,Ss=Kt.unstable_NormalPriority,nE=Kt.unstable_LowPriority,Hg=Kt.unstable_IdlePriority,Vs=null,Cn=null;function rE(e){if(Cn&&typeof Cn.onCommitFiberRoot=="function")try{Cn.onCommitFiberRoot(Vs,e,void 0,(e.current.flags&128)===128)}catch{}}var yn=Math.clz32?Math.clz32:oE,iE=Math.log,aE=Math.LN2;function oE(e){return e>>>=0,e===0?32:31-(iE(e)/aE|0)|0}var Qo=64,Yo=4194304;function La(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Es(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~i;s!==0?r=La(s):(a&=o,a!==0&&(r=La(a)))}else o=n&~i,o!==0?r=La(o):a!==0&&(r=La(a));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,a=t&-t,i>=a||i===16&&(a&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-yn(t),i=1<<n,r|=e[n],t&=~i;return r}function sE(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function lE(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var o=31-yn(a),s=1<<o,l=i[o];l===-1?(!(s&n)||s&r)&&(i[o]=sE(s,t)):l<=t&&(e.expiredLanes|=s),a&=~s}}function dc(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function qg(){var e=Qo;return Qo<<=1,!(Qo&4194240)&&(Qo=64),e}function Pu(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function oo(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-yn(t),e[t]=n}function uE(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-yn(n),a=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~a}}function Qc(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-yn(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var De=0;function Vg(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Wg,Yc,Kg,Gg,Qg,pc=!1,Xo=[],lr=null,ur=null,cr=null,Wa=new Map,Ka=new Map,ir=[],cE="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Eh(e,t){switch(e){case"focusin":case"focusout":lr=null;break;case"dragenter":case"dragleave":ur=null;break;case"mouseover":case"mouseout":cr=null;break;case"pointerover":case"pointerout":Wa.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ka.delete(t.pointerId)}}function Na(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=lo(t),t!==null&&Yc(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function dE(e,t,n,r,i){switch(t){case"focusin":return lr=Na(lr,e,t,n,r,i),!0;case"dragenter":return ur=Na(ur,e,t,n,r,i),!0;case"mouseover":return cr=Na(cr,e,t,n,r,i),!0;case"pointerover":var a=i.pointerId;return Wa.set(a,Na(Wa.get(a)||null,e,t,n,r,i)),!0;case"gotpointercapture":return a=i.pointerId,Ka.set(a,Na(Ka.get(a)||null,e,t,n,r,i)),!0}return!1}function Yg(e){var t=Fr(e.target);if(t!==null){var n=Kr(t);if(n!==null){if(t=n.tag,t===13){if(t=$g(n),t!==null){e.blockedOn=t,Qg(e.priority,function(){Kg(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function ds(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=mc(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);sc=r,n.target.dispatchEvent(r),sc=null}else return t=lo(n),t!==null&&Yc(t),e.blockedOn=n,!1;t.shift()}return!0}function Ch(e,t,n){ds(e)&&n.delete(t)}function pE(){pc=!1,lr!==null&&ds(lr)&&(lr=null),ur!==null&&ds(ur)&&(ur=null),cr!==null&&ds(cr)&&(cr=null),Wa.forEach(Ch),Ka.forEach(Ch)}function Sa(e,t){e.blockedOn===t&&(e.blockedOn=null,pc||(pc=!0,Kt.unstable_scheduleCallback(Kt.unstable_NormalPriority,pE)))}function Ga(e){function t(i){return Sa(i,e)}if(0<Xo.length){Sa(Xo[0],e);for(var n=1;n<Xo.length;n++){var r=Xo[n];r.blockedOn===e&&(r.blockedOn=null)}}for(lr!==null&&Sa(lr,e),ur!==null&&Sa(ur,e),cr!==null&&Sa(cr,e),Wa.forEach(t),Ka.forEach(t),n=0;n<ir.length;n++)r=ir[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<ir.length&&(n=ir[0],n.blockedOn===null);)Yg(n),n.blockedOn===null&&ir.shift()}var Fi=Qn.ReactCurrentBatchConfig,Cs=!0;function mE(e,t,n,r){var i=De,a=Fi.transition;Fi.transition=null;try{De=1,Xc(e,t,n,r)}finally{De=i,Fi.transition=a}}function fE(e,t,n,r){var i=De,a=Fi.transition;Fi.transition=null;try{De=4,Xc(e,t,n,r)}finally{De=i,Fi.transition=a}}function Xc(e,t,n,r){if(Cs){var i=mc(e,t,n,r);if(i===null)$u(e,t,r,Ts,n),Eh(e,r);else if(dE(i,e,t,n,r))r.stopPropagation();else if(Eh(e,r),t&4&&-1<cE.indexOf(e)){for(;i!==null;){var a=lo(i);if(a!==null&&Wg(a),a=mc(e,t,n,r),a===null&&$u(e,t,r,Ts,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else $u(e,t,r,null,n)}}var Ts=null;function mc(e,t,n,r){if(Ts=null,e=Kc(r),e=Fr(e),e!==null)if(t=Kr(e),t===null)e=null;else if(n=t.tag,n===13){if(e=$g(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Ts=e,null}function Xg(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(tE()){case Gc:return 1;case Ug:return 4;case Ss:case nE:return 16;case Hg:return 536870912;default:return 16}default:return 16}}var or=null,Zc=null,ps=null;function Zg(){if(ps)return ps;var e,t=Zc,n=t.length,r,i="value"in or?or.value:or.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return ps=i.slice(e,1<r?1-r:void 0)}function ms(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Zo(){return!0}function Th(){return!1}function Gt(e){function t(n,r,i,a,o){this._reactName=n,this._targetInst=i,this.type=r,this.nativeEvent=a,this.target=o,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(n=e[s],this[s]=n?n(a):a[s]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?Zo:Th,this.isPropagationStopped=Th,this}return Ge(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Zo)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Zo)},persist:function(){},isPersistent:Zo}),t}var Wi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Jc=Gt(Wi),so=Ge({},Wi,{view:0,detail:0}),hE=Gt(so),Lu,Ou,Ea,Ws=Ge({},so,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ed,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Ea&&(Ea&&e.type==="mousemove"?(Lu=e.screenX-Ea.screenX,Ou=e.screenY-Ea.screenY):Ou=Lu=0,Ea=e),Lu)},movementY:function(e){return"movementY"in e?e.movementY:Ou}}),Ah=Gt(Ws),gE=Ge({},Ws,{dataTransfer:0}),yE=Gt(gE),vE=Ge({},so,{relatedTarget:0}),_u=Gt(vE),bE=Ge({},Wi,{animationName:0,elapsedTime:0,pseudoElement:0}),kE=Gt(bE),wE=Ge({},Wi,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),xE=Gt(wE),NE=Ge({},Wi,{data:0}),Rh=Gt(NE),SE={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},EE={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},CE={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function TE(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=CE[e])?!!t[e]:!1}function ed(){return TE}var AE=Ge({},so,{key:function(e){if(e.key){var t=SE[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=ms(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?EE[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ed,charCode:function(e){return e.type==="keypress"?ms(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?ms(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),RE=Gt(AE),IE=Ge({},Ws,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Ih=Gt(IE),PE=Ge({},so,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ed}),LE=Gt(PE),OE=Ge({},Wi,{propertyName:0,elapsedTime:0,pseudoElement:0}),_E=Gt(OE),DE=Ge({},Ws,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),FE=Gt(DE),zE=[9,13,27,32],td=Vn&&"CompositionEvent"in window,Fa=null;Vn&&"documentMode"in document&&(Fa=document.documentMode);var $E=Vn&&"TextEvent"in window&&!Fa,Jg=Vn&&(!td||Fa&&8<Fa&&11>=Fa),Ph=" ",Lh=!1;function ey(e,t){switch(e){case"keyup":return zE.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ty(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ni=!1;function ME(e,t){switch(e){case"compositionend":return ty(t);case"keypress":return t.which!==32?null:(Lh=!0,Ph);case"textInput":return e=t.data,e===Ph&&Lh?null:e;default:return null}}function BE(e,t){if(Ni)return e==="compositionend"||!td&&ey(e,t)?(e=Zg(),ps=Zc=or=null,Ni=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Jg&&t.locale!=="ko"?null:t.data;default:return null}}var jE={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Oh(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!jE[e.type]:t==="textarea"}function ny(e,t,n,r){Og(r),t=As(t,"onChange"),0<t.length&&(n=new Jc("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var za=null,Qa=null;function UE(e){my(e,0)}function Ks(e){var t=Ci(e);if(Cg(t))return e}function HE(e,t){if(e==="change")return t}var ry=!1;Vn&&(Vn?(es="oninput"in document,es||(Du=document.createElement("div"),Du.setAttribute("oninput","return;"),es=typeof Du.oninput=="function"),Jo=es):Jo=!1,ry=Jo&&(!document.documentMode||9<document.documentMode));var Jo,es,Du;function _h(){za&&(za.detachEvent("onpropertychange",iy),Qa=za=null)}function iy(e){if(e.propertyName==="value"&&Ks(Qa)){var t=[];ny(t,Qa,e,Kc(e)),zg(UE,t)}}function qE(e,t,n){e==="focusin"?(_h(),za=t,Qa=n,za.attachEvent("onpropertychange",iy)):e==="focusout"&&_h()}function VE(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Ks(Qa)}function WE(e,t){if(e==="click")return Ks(t)}function KE(e,t){if(e==="input"||e==="change")return Ks(t)}function GE(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var bn=typeof Object.is=="function"?Object.is:GE;function Ya(e,t){if(bn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!Qu.call(t,i)||!bn(e[i],t[i]))return!1}return!0}function Dh(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Fh(e,t){var n=Dh(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Dh(n)}}function ay(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ay(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function oy(){for(var e=window,t=ws();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=ws(e.document)}return t}function nd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function QE(e){var t=oy(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&ay(n.ownerDocument.documentElement,n)){if(r!==null&&nd(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=Fh(n,a);var o=Fh(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var YE=Vn&&"documentMode"in document&&11>=document.documentMode,Si=null,fc=null,$a=null,hc=!1;function zh(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;hc||Si==null||Si!==ws(r)||(r=Si,"selectionStart"in r&&nd(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),$a&&Ya($a,r)||($a=r,r=As(fc,"onSelect"),0<r.length&&(t=new Jc("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=Si)))}function ts(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Ei={animationend:ts("Animation","AnimationEnd"),animationiteration:ts("Animation","AnimationIteration"),animationstart:ts("Animation","AnimationStart"),transitionend:ts("Transition","TransitionEnd")},Fu={},sy={};Vn&&(sy=document.createElement("div").style,"AnimationEvent"in window||(delete Ei.animationend.animation,delete Ei.animationiteration.animation,delete Ei.animationstart.animation),"TransitionEvent"in window||delete Ei.transitionend.transition);function Gs(e){if(Fu[e])return Fu[e];if(!Ei[e])return e;var t=Ei[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in sy)return Fu[e]=t[n];return e}var ly=Gs("animationend"),uy=Gs("animationiteration"),cy=Gs("animationstart"),dy=Gs("transitionend"),py=new Map,$h="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function vr(e,t){py.set(e,t),Wr(t,[e])}for(ns=0;ns<$h.length;ns++)rs=$h[ns],Mh=rs.toLowerCase(),Bh=rs[0].toUpperCase()+rs.slice(1),vr(Mh,"on"+Bh);var rs,Mh,Bh,ns;vr(ly,"onAnimationEnd");vr(uy,"onAnimationIteration");vr(cy,"onAnimationStart");vr("dblclick","onDoubleClick");vr("focusin","onFocus");vr("focusout","onBlur");vr(dy,"onTransitionEnd");Mi("onMouseEnter",["mouseout","mouseover"]);Mi("onMouseLeave",["mouseout","mouseover"]);Mi("onPointerEnter",["pointerout","pointerover"]);Mi("onPointerLeave",["pointerout","pointerover"]);Wr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Wr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Wr("onBeforeInput",["compositionend","keypress","textInput","paste"]);Wr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Wr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Wr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Oa="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),XE=new Set("cancel close invalid load scroll toggle".split(" ").concat(Oa));function jh(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,XS(r,t,void 0,e),e.currentTarget=null}function my(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],l=s.instance,u=s.currentTarget;if(s=s.listener,l!==a&&i.isPropagationStopped())break e;jh(i,s,u),a=l}else for(o=0;o<r.length;o++){if(s=r[o],l=s.instance,u=s.currentTarget,s=s.listener,l!==a&&i.isPropagationStopped())break e;jh(i,s,u),a=l}}}if(Ns)throw e=cc,Ns=!1,cc=null,e}function je(e,t){var n=t[kc];n===void 0&&(n=t[kc]=new Set);var r=e+"__bubble";n.has(r)||(fy(t,e,2,!1),n.add(r))}function zu(e,t,n){var r=0;t&&(r|=4),fy(n,e,r,t)}var is="_reactListening"+Math.random().toString(36).slice(2);function Xa(e){if(!e[is]){e[is]=!0,wg.forEach(function(n){n!=="selectionchange"&&(XE.has(n)||zu(n,!1,e),zu(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[is]||(t[is]=!0,zu("selectionchange",!1,t))}}function fy(e,t,n,r){switch(Xg(t)){case 1:var i=mE;break;case 4:i=fE;break;default:i=Xc}n=i.bind(null,t,n,e),i=void 0,!uc||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(i=!0),r?i!==void 0?e.addEventListener(t,n,{capture:!0,passive:i}):e.addEventListener(t,n,!0):i!==void 0?e.addEventListener(t,n,{passive:i}):e.addEventListener(t,n,!1)}function $u(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var s=r.stateNode.containerInfo;if(s===i||s.nodeType===8&&s.parentNode===i)break;if(o===4)for(o=r.return;o!==null;){var l=o.tag;if((l===3||l===4)&&(l=o.stateNode.containerInfo,l===i||l.nodeType===8&&l.parentNode===i))return;o=o.return}for(;s!==null;){if(o=Fr(s),o===null)return;if(l=o.tag,l===5||l===6){r=a=o;continue e}s=s.parentNode}}r=r.return}zg(function(){var u=a,c=Kc(n),d=[];e:{var p=py.get(e);if(p!==void 0){var f=Jc,h=e;switch(e){case"keypress":if(ms(n)===0)break e;case"keydown":case"keyup":f=RE;break;case"focusin":h="focus",f=_u;break;case"focusout":h="blur",f=_u;break;case"beforeblur":case"afterblur":f=_u;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":f=Ah;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":f=yE;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":f=LE;break;case ly:case uy:case cy:f=kE;break;case dy:f=_E;break;case"scroll":f=hE;break;case"wheel":f=FE;break;case"copy":case"cut":case"paste":f=xE;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":f=Ih}var v=(t&4)!==0,b=!v&&e==="scroll",g=v?p!==null?p+"Capture":null:p;v=[];for(var y=u,x;y!==null;){x=y;var N=x.stateNode;if(x.tag===5&&N!==null&&(x=N,g!==null&&(N=Va(y,g),N!=null&&v.push(Za(y,N,x)))),b)break;y=y.return}0<v.length&&(p=new f(p,h,null,n,c),d.push({event:p,listeners:v}))}}if(!(t&7)){e:{if(p=e==="mouseover"||e==="pointerover",f=e==="mouseout"||e==="pointerout",p&&n!==sc&&(h=n.relatedTarget||n.fromElement)&&(Fr(h)||h[Wn]))break e;if((f||p)&&(p=c.window===c?c:(p=c.ownerDocument)?p.defaultView||p.parentWindow:window,f?(h=n.relatedTarget||n.toElement,f=u,h=h?Fr(h):null,h!==null&&(b=Kr(h),h!==b||h.tag!==5&&h.tag!==6)&&(h=null)):(f=null,h=u),f!==h)){if(v=Ah,N="onMouseLeave",g="onMouseEnter",y="mouse",(e==="pointerout"||e==="pointerover")&&(v=Ih,N="onPointerLeave",g="onPointerEnter",y="pointer"),b=f==null?p:Ci(f),x=h==null?p:Ci(h),p=new v(N,y+"leave",f,n,c),p.target=b,p.relatedTarget=x,N=null,Fr(c)===u&&(v=new v(g,y+"enter",h,n,c),v.target=x,v.relatedTarget=b,N=v),b=N,f&&h)t:{for(v=f,g=h,y=0,x=v;x;x=ki(x))y++;for(x=0,N=g;N;N=ki(N))x++;for(;0<y-x;)v=ki(v),y--;for(;0<x-y;)g=ki(g),x--;for(;y--;){if(v===g||g!==null&&v===g.alternate)break t;v=ki(v),g=ki(g)}v=null}else v=null;f!==null&&Uh(d,p,f,v,!1),h!==null&&b!==null&&Uh(d,b,h,v,!0)}}e:{if(p=u?Ci(u):window,f=p.nodeName&&p.nodeName.toLowerCase(),f==="select"||f==="input"&&p.type==="file")var S=HE;else if(Oh(p))if(ry)S=KE;else{S=VE;var k=qE}else(f=p.nodeName)&&f.toLowerCase()==="input"&&(p.type==="checkbox"||p.type==="radio")&&(S=WE);if(S&&(S=S(e,u))){ny(d,S,n,c);break e}k&&k(e,p,u),e==="focusout"&&(k=p._wrapperState)&&k.controlled&&p.type==="number"&&nc(p,"number",p.value)}switch(k=u?Ci(u):window,e){case"focusin":(Oh(k)||k.contentEditable==="true")&&(Si=k,fc=u,$a=null);break;case"focusout":$a=fc=Si=null;break;case"mousedown":hc=!0;break;case"contextmenu":case"mouseup":case"dragend":hc=!1,zh(d,n,c);break;case"selectionchange":if(YE)break;case"keydown":case"keyup":zh(d,n,c)}var A;if(td)e:{switch(e){case"compositionstart":var I="onCompositionStart";break e;case"compositionend":I="onCompositionEnd";break e;case"compositionupdate":I="onCompositionUpdate";break e}I=void 0}else Ni?ey(e,n)&&(I="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(I="onCompositionStart");I&&(Jg&&n.locale!=="ko"&&(Ni||I!=="onCompositionStart"?I==="onCompositionEnd"&&Ni&&(A=Zg()):(or=c,Zc="value"in or?or.value:or.textContent,Ni=!0)),k=As(u,I),0<k.length&&(I=new Rh(I,e,null,n,c),d.push({event:I,listeners:k}),A?I.data=A:(A=ty(n),A!==null&&(I.data=A)))),(A=$E?ME(e,n):BE(e,n))&&(u=As(u,"onBeforeInput"),0<u.length&&(c=new Rh("onBeforeInput","beforeinput",null,n,c),d.push({event:c,listeners:u}),c.data=A))}my(d,t)})}function Za(e,t,n){return{instance:e,listener:t,currentTarget:n}}function As(e,t){for(var n=t+"Capture",r=[];e!==null;){var i=e,a=i.stateNode;i.tag===5&&a!==null&&(i=a,a=Va(e,n),a!=null&&r.unshift(Za(e,a,i)),a=Va(e,t),a!=null&&r.push(Za(e,a,i))),e=e.return}return r}function ki(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Uh(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,l=s.alternate,u=s.stateNode;if(l!==null&&l===r)break;s.tag===5&&u!==null&&(s=u,i?(l=Va(n,a),l!=null&&o.unshift(Za(n,l,s))):i||(l=Va(n,a),l!=null&&o.push(Za(n,l,s)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var ZE=/\\r\\n?/g,JE=/\\u0000|\\uFFFD/g;function Hh(e){return(typeof e=="string"?e:""+e).replace(ZE,`\n`).replace(JE,"")}function as(e,t,n){if(t=Hh(t),Hh(e)!==t&&n)throw Error(Q(425))}function Rs(){}var gc=null,yc=null;function vc(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var bc=typeof setTimeout=="function"?setTimeout:void 0,eC=typeof clearTimeout=="function"?clearTimeout:void 0,qh=typeof Promise=="function"?Promise:void 0,tC=typeof queueMicrotask=="function"?queueMicrotask:typeof qh<"u"?function(e){return qh.resolve(null).then(e).catch(nC)}:bc;function nC(e){setTimeout(function(){throw e})}function Mu(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n==="/$"){if(r===0){e.removeChild(i),Ga(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=i}while(n);Ga(t)}function dr(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Vh(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var Ki=Math.random().toString(36).slice(2),En="__reactFiber$"+Ki,Ja="__reactProps$"+Ki,Wn="__reactContainer$"+Ki,kc="__reactEvents$"+Ki,rC="__reactListeners$"+Ki,iC="__reactHandles$"+Ki;function Fr(e){var t=e[En];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Wn]||n[En]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Vh(e);e!==null;){if(n=e[En])return n;e=Vh(e)}return t}e=n,n=e.parentNode}return null}function lo(e){return e=e[En]||e[Wn],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Ci(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(Q(33))}function Qs(e){return e[Ja]||null}var wc=[],Ti=-1;function br(e){return{current:e}}function Ue(e){0>Ti||(e.current=wc[Ti],wc[Ti]=null,Ti--)}function Be(e,t){Ti++,wc[Ti]=e.current,e.current=t}var yr={},kt=br(yr),zt=br(!1),jr=yr;function Bi(e,t){var n=e.type.contextTypes;if(!n)return yr;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function $t(e){return e=e.childContextTypes,e!=null}function Is(){Ue(zt),Ue(kt)}function Wh(e,t,n){if(kt.current!==yr)throw Error(Q(168));Be(kt,t),Be(zt,n)}function hy(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(Q(108,qS(e)||"Unknown",i));return Ge({},n,r)}function Ps(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||yr,jr=kt.current,Be(kt,e),Be(zt,zt.current),!0}function Kh(e,t,n){var r=e.stateNode;if(!r)throw Error(Q(169));n?(e=hy(e,t,jr),r.__reactInternalMemoizedMergedChildContext=e,Ue(zt),Ue(kt),Be(kt,e)):Ue(zt),Be(zt,n)}var jn=null,Ys=!1,Bu=!1;function gy(e){jn===null?jn=[e]:jn.push(e)}function aC(e){Ys=!0,gy(e)}function kr(){if(!Bu&&jn!==null){Bu=!0;var e=0,t=De;try{var n=jn;for(De=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}jn=null,Ys=!1}catch(i){throw jn!==null&&(jn=jn.slice(e+1)),jg(Gc,kr),i}finally{De=t,Bu=!1}}return null}var Ai=[],Ri=0,Ls=null,Os=0,en=[],tn=0,Ur=null,Un=1,Hn="";function _r(e,t){Ai[Ri++]=Os,Ai[Ri++]=Ls,Ls=e,Os=t}function yy(e,t,n){en[tn++]=Un,en[tn++]=Hn,en[tn++]=Ur,Ur=e;var r=Un;e=Hn;var i=32-yn(r)-1;r&=~(1<<i),n+=1;var a=32-yn(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Un=1<<32-yn(t)+i|n<<i|r,Hn=a+e}else Un=1<<a|n<<i|r,Hn=e}function rd(e){e.return!==null&&(_r(e,1),yy(e,1,0))}function id(e){for(;e===Ls;)Ls=Ai[--Ri],Ai[Ri]=null,Os=Ai[--Ri],Ai[Ri]=null;for(;e===Ur;)Ur=en[--tn],en[tn]=null,Hn=en[--tn],en[tn]=null,Un=en[--tn],en[tn]=null}var Wt=null,Vt=null,Ve=!1,gn=null;function vy(e,t){var n=nn(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function Gh(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Wt=e,Vt=dr(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Wt=e,Vt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=Ur!==null?{id:Un,overflow:Hn}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=nn(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,Wt=e,Vt=null,!0):!1;default:return!1}}function xc(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Nc(e){if(Ve){var t=Vt;if(t){var n=t;if(!Gh(e,t)){if(xc(e))throw Error(Q(418));t=dr(n.nextSibling);var r=Wt;t&&Gh(e,t)?vy(r,n):(e.flags=e.flags&-4097|2,Ve=!1,Wt=e)}}else{if(xc(e))throw Error(Q(418));e.flags=e.flags&-4097|2,Ve=!1,Wt=e}}}function Qh(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Wt=e}function os(e){if(e!==Wt)return!1;if(!Ve)return Qh(e),Ve=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!vc(e.type,e.memoizedProps)),t&&(t=Vt)){if(xc(e))throw by(),Error(Q(418));for(;t;)vy(e,t),t=dr(t.nextSibling)}if(Qh(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(Q(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){Vt=dr(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}Vt=null}}else Vt=Wt?dr(e.stateNode.nextSibling):null;return!0}function by(){for(var e=Vt;e;)e=dr(e.nextSibling)}function ji(){Vt=Wt=null,Ve=!1}function ad(e){gn===null?gn=[e]:gn.push(e)}var oC=Qn.ReactCurrentBatchConfig;function Ca(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(Q(309));var r=n.stateNode}if(!r)throw Error(Q(147,e));var i=r,a=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===a?t.ref:(t=function(o){var s=i.refs;o===null?delete s[a]:s[a]=o},t._stringRef=a,t)}if(typeof e!="string")throw Error(Q(284));if(!n._owner)throw Error(Q(290,e))}return e}function ss(e,t){throw e=Object.prototype.toString.call(t),Error(Q(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Yh(e){var t=e._init;return t(e._payload)}function ky(e){function t(g,y){if(e){var x=g.deletions;x===null?(g.deletions=[y],g.flags|=16):x.push(y)}}function n(g,y){if(!e)return null;for(;y!==null;)t(g,y),y=y.sibling;return null}function r(g,y){for(g=new Map;y!==null;)y.key!==null?g.set(y.key,y):g.set(y.index,y),y=y.sibling;return g}function i(g,y){return g=hr(g,y),g.index=0,g.sibling=null,g}function a(g,y,x){return g.index=x,e?(x=g.alternate,x!==null?(x=x.index,x<y?(g.flags|=2,y):x):(g.flags|=2,y)):(g.flags|=1048576,y)}function o(g){return e&&g.alternate===null&&(g.flags|=2),g}function s(g,y,x,N){return y===null||y.tag!==6?(y=Ku(x,g.mode,N),y.return=g,y):(y=i(y,x),y.return=g,y)}function l(g,y,x,N){var S=x.type;return S===xi?c(g,y,x.props.children,N,x.key):y!==null&&(y.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===nr&&Yh(S)===y.type)?(N=i(y,x.props),N.ref=Ca(g,y,x),N.return=g,N):(N=ks(x.type,x.key,x.props,null,g.mode,N),N.ref=Ca(g,y,x),N.return=g,N)}function u(g,y,x,N){return y===null||y.tag!==4||y.stateNode.containerInfo!==x.containerInfo||y.stateNode.implementation!==x.implementation?(y=Gu(x,g.mode,N),y.return=g,y):(y=i(y,x.children||[]),y.return=g,y)}function c(g,y,x,N,S){return y===null||y.tag!==7?(y=Br(x,g.mode,N,S),y.return=g,y):(y=i(y,x),y.return=g,y)}function d(g,y,x){if(typeof y=="string"&&y!==""||typeof y=="number")return y=Ku(""+y,g.mode,x),y.return=g,y;if(typeof y=="object"&&y!==null){switch(y.$$typeof){case Wo:return x=ks(y.type,y.key,y.props,null,g.mode,x),x.ref=Ca(g,null,y),x.return=g,x;case wi:return y=Gu(y,g.mode,x),y.return=g,y;case nr:var N=y._init;return d(g,N(y._payload),x)}if(Pa(y)||xa(y))return y=Br(y,g.mode,x,null),y.return=g,y;ss(g,y)}return null}function p(g,y,x,N){var S=y!==null?y.key:null;if(typeof x=="string"&&x!==""||typeof x=="number")return S!==null?null:s(g,y,""+x,N);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case Wo:return x.key===S?l(g,y,x,N):null;case wi:return x.key===S?u(g,y,x,N):null;case nr:return S=x._init,p(g,y,S(x._payload),N)}if(Pa(x)||xa(x))return S!==null?null:c(g,y,x,N,null);ss(g,x)}return null}function f(g,y,x,N,S){if(typeof N=="string"&&N!==""||typeof N=="number")return g=g.get(x)||null,s(y,g,""+N,S);if(typeof N=="object"&&N!==null){switch(N.$$typeof){case Wo:return g=g.get(N.key===null?x:N.key)||null,l(y,g,N,S);case wi:return g=g.get(N.key===null?x:N.key)||null,u(y,g,N,S);case nr:var k=N._init;return f(g,y,x,k(N._payload),S)}if(Pa(N)||xa(N))return g=g.get(x)||null,c(y,g,N,S,null);ss(y,N)}return null}function h(g,y,x,N){for(var S=null,k=null,A=y,I=y=0,z=null;A!==null&&I<x.length;I++){A.index>I?(z=A,A=null):z=A.sibling;var R=p(g,A,x[I],N);if(R===null){A===null&&(A=z);break}e&&A&&R.alternate===null&&t(g,A),y=a(R,y,I),k===null?S=R:k.sibling=R,k=R,A=z}if(I===x.length)return n(g,A),Ve&&_r(g,I),S;if(A===null){for(;I<x.length;I++)A=d(g,x[I],N),A!==null&&(y=a(A,y,I),k===null?S=A:k.sibling=A,k=A);return Ve&&_r(g,I),S}for(A=r(g,A);I<x.length;I++)z=f(A,g,I,x[I],N),z!==null&&(e&&z.alternate!==null&&A.delete(z.key===null?I:z.key),y=a(z,y,I),k===null?S=z:k.sibling=z,k=z);return e&&A.forEach(function(X){return t(g,X)}),Ve&&_r(g,I),S}function v(g,y,x,N){var S=xa(x);if(typeof S!="function")throw Error(Q(150));if(x=S.call(x),x==null)throw Error(Q(151));for(var k=S=null,A=y,I=y=0,z=null,R=x.next();A!==null&&!R.done;I++,R=x.next()){A.index>I?(z=A,A=null):z=A.sibling;var X=p(g,A,R.value,N);if(X===null){A===null&&(A=z);break}e&&A&&X.alternate===null&&t(g,A),y=a(X,y,I),k===null?S=X:k.sibling=X,k=X,A=z}if(R.done)return n(g,A),Ve&&_r(g,I),S;if(A===null){for(;!R.done;I++,R=x.next())R=d(g,R.value,N),R!==null&&(y=a(R,y,I),k===null?S=R:k.sibling=R,k=R);return Ve&&_r(g,I),S}for(A=r(g,A);!R.done;I++,R=x.next())R=f(A,g,I,R.value,N),R!==null&&(e&&R.alternate!==null&&A.delete(R.key===null?I:R.key),y=a(R,y,I),k===null?S=R:k.sibling=R,k=R);return e&&A.forEach(function(B){return t(g,B)}),Ve&&_r(g,I),S}function b(g,y,x,N){if(typeof x=="object"&&x!==null&&x.type===xi&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case Wo:e:{for(var S=x.key,k=y;k!==null;){if(k.key===S){if(S=x.type,S===xi){if(k.tag===7){n(g,k.sibling),y=i(k,x.props.children),y.return=g,g=y;break e}}else if(k.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===nr&&Yh(S)===k.type){n(g,k.sibling),y=i(k,x.props),y.ref=Ca(g,k,x),y.return=g,g=y;break e}n(g,k);break}else t(g,k);k=k.sibling}x.type===xi?(y=Br(x.props.children,g.mode,N,x.key),y.return=g,g=y):(N=ks(x.type,x.key,x.props,null,g.mode,N),N.ref=Ca(g,y,x),N.return=g,g=N)}return o(g);case wi:e:{for(k=x.key;y!==null;){if(y.key===k)if(y.tag===4&&y.stateNode.containerInfo===x.containerInfo&&y.stateNode.implementation===x.implementation){n(g,y.sibling),y=i(y,x.children||[]),y.return=g,g=y;break e}else{n(g,y);break}else t(g,y);y=y.sibling}y=Gu(x,g.mode,N),y.return=g,g=y}return o(g);case nr:return k=x._init,b(g,y,k(x._payload),N)}if(Pa(x))return h(g,y,x,N);if(xa(x))return v(g,y,x,N);ss(g,x)}return typeof x=="string"&&x!==""||typeof x=="number"?(x=""+x,y!==null&&y.tag===6?(n(g,y.sibling),y=i(y,x),y.return=g,g=y):(n(g,y),y=Ku(x,g.mode,N),y.return=g,g=y),o(g)):n(g,y)}return b}var Ui=ky(!0),wy=ky(!1),_s=br(null),Ds=null,Ii=null,od=null;function sd(){od=Ii=Ds=null}function ld(e){var t=_s.current;Ue(_s),e._currentValue=t}function Sc(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function zi(e,t){Ds=e,od=Ii=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Ft=!0),e.firstContext=null)}function an(e){var t=e._currentValue;if(od!==e)if(e={context:e,memoizedValue:t,next:null},Ii===null){if(Ds===null)throw Error(Q(308));Ii=e,Ds.dependencies={lanes:0,firstContext:e}}else Ii=Ii.next=e;return t}var zr=null;function ud(e){zr===null?zr=[e]:zr.push(e)}function xy(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,ud(t)):(n.next=i.next,i.next=n),t.interleaved=n,Kn(e,r)}function Kn(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var rr=!1;function cd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ny(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function qn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function pr(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Pe&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Kn(e,n)}return i=r.interleaved,i===null?(t.next=t,ud(r)):(t.next=i.next,i.next=t),r.interleaved=t,Kn(e,n)}function fs(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Qc(e,n)}}function Xh(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Fs(e,t,n,r){var i=e.updateQueue;rr=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var l=s,u=l.next;l.next=null,o===null?a=u:o.next=u,o=l;var c=e.alternate;c!==null&&(c=c.updateQueue,s=c.lastBaseUpdate,s!==o&&(s===null?c.firstBaseUpdate=u:s.next=u,c.lastBaseUpdate=l))}if(a!==null){var d=i.baseState;o=0,c=u=l=null,s=a;do{var p=s.lane,f=s.eventTime;if((r&p)===p){c!==null&&(c=c.next={eventTime:f,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var h=e,v=s;switch(p=t,f=n,v.tag){case 1:if(h=v.payload,typeof h=="function"){d=h.call(f,d,p);break e}d=h;break e;case 3:h.flags=h.flags&-65537|128;case 0:if(h=v.payload,p=typeof h=="function"?h.call(f,d,p):h,p==null)break e;d=Ge({},d,p);break e;case 2:rr=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,p=i.effects,p===null?i.effects=[s]:p.push(s))}else f={eventTime:f,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},c===null?(u=c=f,l=d):c=c.next=f,o|=p;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(!0);if(c===null&&(l=d),i.baseState=l,i.firstBaseUpdate=u,i.lastBaseUpdate=c,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);qr|=o,e.lanes=o,e.memoizedState=d}}function Zh(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(i!==null){if(r.callback=null,r=n,typeof i!="function")throw Error(Q(191,i));i.call(r)}}}var uo={},Tn=br(uo),eo=br(uo),to=br(uo);function $r(e){if(e===uo)throw Error(Q(174));return e}function dd(e,t){switch(Be(to,t),Be(eo,e),Be(Tn,uo),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ic(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=ic(t,e)}Ue(Tn),Be(Tn,t)}function Hi(){Ue(Tn),Ue(eo),Ue(to)}function Sy(e){$r(to.current);var t=$r(Tn.current),n=ic(t,e.type);t!==n&&(Be(eo,e),Be(Tn,n))}function pd(e){eo.current===e&&(Ue(Tn),Ue(eo))}var We=br(0);function zs(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ju=[];function md(){for(var e=0;e<ju.length;e++)ju[e]._workInProgressVersionPrimary=null;ju.length=0}var hs=Qn.ReactCurrentDispatcher,Uu=Qn.ReactCurrentBatchConfig,Hr=0,Ke=null,ot=null,ut=null,$s=!1,Ma=!1,no=0,sC=0;function yt(){throw Error(Q(321))}function fd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!bn(e[n],t[n]))return!1;return!0}function hd(e,t,n,r,i,a){if(Hr=a,Ke=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,hs.current=e===null||e.memoizedState===null?dC:pC,e=n(r,i),Ma){a=0;do{if(Ma=!1,no=0,25<=a)throw Error(Q(301));a+=1,ut=ot=null,t.updateQueue=null,hs.current=mC,e=n(r,i)}while(Ma)}if(hs.current=Ms,t=ot!==null&&ot.next!==null,Hr=0,ut=ot=Ke=null,$s=!1,t)throw Error(Q(300));return e}function gd(){var e=no!==0;return no=0,e}function Sn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ut===null?Ke.memoizedState=ut=e:ut=ut.next=e,ut}function on(){if(ot===null){var e=Ke.alternate;e=e!==null?e.memoizedState:null}else e=ot.next;var t=ut===null?Ke.memoizedState:ut.next;if(t!==null)ut=t,ot=e;else{if(e===null)throw Error(Q(310));ot=e,e={memoizedState:ot.memoizedState,baseState:ot.baseState,baseQueue:ot.baseQueue,queue:ot.queue,next:null},ut===null?Ke.memoizedState=ut=e:ut=ut.next=e}return ut}function ro(e,t){return typeof t=="function"?t(e):t}function Hu(e){var t=on(),n=t.queue;if(n===null)throw Error(Q(311));n.lastRenderedReducer=e;var r=ot,i=r.baseQueue,a=n.pending;if(a!==null){if(i!==null){var o=i.next;i.next=a.next,a.next=o}r.baseQueue=i=a,n.pending=null}if(i!==null){a=i.next,r=r.baseState;var s=o=null,l=null,u=a;do{var c=u.lane;if((Hr&c)===c)l!==null&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var d={lane:c,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};l===null?(s=l=d,o=r):l=l.next=d,Ke.lanes|=c,qr|=c}u=u.next}while(u!==null&&u!==a);l===null?o=r:l.next=s,bn(r,t.memoizedState)||(Ft=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=l,n.lastRenderedState=r}if(e=n.interleaved,e!==null){i=e;do a=i.lane,Ke.lanes|=a,qr|=a,i=i.next;while(i!==e)}else i===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function qu(e){var t=on(),n=t.queue;if(n===null)throw Error(Q(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,a=t.memoizedState;if(i!==null){n.pending=null;var o=i=i.next;do a=e(a,o.action),o=o.next;while(o!==i);bn(a,t.memoizedState)||(Ft=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function Ey(){}function Cy(e,t){var n=Ke,r=on(),i=t(),a=!bn(r.memoizedState,i);if(a&&(r.memoizedState=i,Ft=!0),r=r.queue,yd(Ry.bind(null,n,r,e),[e]),r.getSnapshot!==t||a||ut!==null&&ut.memoizedState.tag&1){if(n.flags|=2048,io(9,Ay.bind(null,n,r,i,t),void 0,null),ct===null)throw Error(Q(349));Hr&30||Ty(n,t,i)}return i}function Ty(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Ke.updateQueue,t===null?(t={lastEffect:null,stores:null},Ke.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Ay(e,t,n,r){t.value=n,t.getSnapshot=r,Iy(t)&&Py(e)}function Ry(e,t,n){return n(function(){Iy(t)&&Py(e)})}function Iy(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!bn(e,n)}catch{return!0}}function Py(e){var t=Kn(e,1);t!==null&&vn(t,e,1,-1)}function Jh(e){var t=Sn();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ro,lastRenderedState:e},t.queue=e,e=e.dispatch=cC.bind(null,Ke,e),[t.memoizedState,e]}function io(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=Ke.updateQueue,t===null?(t={lastEffect:null,stores:null},Ke.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function Ly(){return on().memoizedState}function gs(e,t,n,r){var i=Sn();Ke.flags|=e,i.memoizedState=io(1|t,n,void 0,r===void 0?null:r)}function Xs(e,t,n,r){var i=on();r=r===void 0?null:r;var a=void 0;if(ot!==null){var o=ot.memoizedState;if(a=o.destroy,r!==null&&fd(r,o.deps)){i.memoizedState=io(t,n,a,r);return}}Ke.flags|=e,i.memoizedState=io(1|t,n,a,r)}function eg(e,t){return gs(8390656,8,e,t)}function yd(e,t){return Xs(2048,8,e,t)}function Oy(e,t){return Xs(4,2,e,t)}function _y(e,t){return Xs(4,4,e,t)}function Dy(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Fy(e,t,n){return n=n!=null?n.concat([e]):null,Xs(4,4,Dy.bind(null,t,e),n)}function vd(){}function zy(e,t){var n=on();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&fd(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function $y(e,t){var n=on();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&fd(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function My(e,t,n){return Hr&21?(bn(n,t)||(n=qg(),Ke.lanes|=n,qr|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Ft=!0),e.memoizedState=n)}function lC(e,t){var n=De;De=n!==0&&4>n?n:4,e(!0);var r=Uu.transition;Uu.transition={};try{e(!1),t()}finally{De=n,Uu.transition=r}}function By(){return on().memoizedState}function uC(e,t,n){var r=fr(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},jy(e))Uy(t,n);else if(n=xy(e,t,n,r),n!==null){var i=It();vn(n,e,r,i),Hy(n,t,r)}}function cC(e,t,n){var r=fr(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(jy(e))Uy(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,bn(s,o)){var l=t.interleaved;l===null?(i.next=i,ud(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=xy(e,t,i,r),n!==null&&(i=It(),vn(n,e,r,i),Hy(n,t,r))}}function jy(e){var t=e.alternate;return e===Ke||t!==null&&t===Ke}function Uy(e,t){Ma=$s=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Hy(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Qc(e,n)}}var Ms={readContext:an,useCallback:yt,useContext:yt,useEffect:yt,useImperativeHandle:yt,useInsertionEffect:yt,useLayoutEffect:yt,useMemo:yt,useReducer:yt,useRef:yt,useState:yt,useDebugValue:yt,useDeferredValue:yt,useTransition:yt,useMutableSource:yt,useSyncExternalStore:yt,useId:yt,unstable_isNewReconciler:!1},dC={readContext:an,useCallback:function(e,t){return Sn().memoizedState=[e,t===void 0?null:t],e},useContext:an,useEffect:eg,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,gs(4194308,4,Dy.bind(null,t,e),n)},useLayoutEffect:function(e,t){return gs(4194308,4,e,t)},useInsertionEffect:function(e,t){return gs(4,2,e,t)},useMemo:function(e,t){var n=Sn();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Sn();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=uC.bind(null,Ke,e),[r.memoizedState,e]},useRef:function(e){var t=Sn();return e={current:e},t.memoizedState=e},useState:Jh,useDebugValue:vd,useDeferredValue:function(e){return Sn().memoizedState=e},useTransition:function(){var e=Jh(!1),t=e[0];return e=lC.bind(null,e[1]),Sn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Ke,i=Sn();if(Ve){if(n===void 0)throw Error(Q(407));n=n()}else{if(n=t(),ct===null)throw Error(Q(349));Hr&30||Ty(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,eg(Ry.bind(null,r,a,e),[e]),r.flags|=2048,io(9,Ay.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=Sn(),t=ct.identifierPrefix;if(Ve){var n=Hn,r=Un;n=(r&~(1<<32-yn(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=no++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=sC++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},pC={readContext:an,useCallback:zy,useContext:an,useEffect:yd,useImperativeHandle:Fy,useInsertionEffect:Oy,useLayoutEffect:_y,useMemo:$y,useReducer:Hu,useRef:Ly,useState:function(){return Hu(ro)},useDebugValue:vd,useDeferredValue:function(e){var t=on();return My(t,ot.memoizedState,e)},useTransition:function(){var e=Hu(ro)[0],t=on().memoizedState;return[e,t]},useMutableSource:Ey,useSyncExternalStore:Cy,useId:By,unstable_isNewReconciler:!1},mC={readContext:an,useCallback:zy,useContext:an,useEffect:yd,useImperativeHandle:Fy,useInsertionEffect:Oy,useLayoutEffect:_y,useMemo:$y,useReducer:qu,useRef:Ly,useState:function(){return qu(ro)},useDebugValue:vd,useDeferredValue:function(e){var t=on();return ot===null?t.memoizedState=e:My(t,ot.memoizedState,e)},useTransition:function(){var e=qu(ro)[0],t=on().memoizedState;return[e,t]},useMutableSource:Ey,useSyncExternalStore:Cy,useId:By,unstable_isNewReconciler:!1};function fn(e,t){if(e&&e.defaultProps){t=Ge({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function Ec(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Ge({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Zs={isMounted:function(e){return(e=e._reactInternals)?Kr(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=It(),i=fr(e),a=qn(r,i);a.payload=t,n!=null&&(a.callback=n),t=pr(e,a,i),t!==null&&(vn(t,e,i,r),fs(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=It(),i=fr(e),a=qn(r,i);a.tag=1,a.payload=t,n!=null&&(a.callback=n),t=pr(e,a,i),t!==null&&(vn(t,e,i,r),fs(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=It(),r=fr(e),i=qn(n,r);i.tag=2,t!=null&&(i.callback=t),t=pr(e,i,r),t!==null&&(vn(t,e,r,n),fs(t,e,r))}};function tg(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Ya(n,r)||!Ya(i,a):!0}function qy(e,t,n){var r=!1,i=yr,a=t.contextType;return typeof a=="object"&&a!==null?a=an(a):(i=$t(t)?jr:kt.current,r=t.contextTypes,a=(r=r!=null)?Bi(e,i):yr),t=new t(n,a),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Zs,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function ng(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Zs.enqueueReplaceState(t,t.state,null)}function Cc(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},cd(e);var a=t.contextType;typeof a=="object"&&a!==null?i.context=an(a):(a=$t(t)?jr:kt.current,i.context=Bi(e,a)),i.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a=="function"&&(Ec(e,t,a,n),i.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(t=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),t!==i.state&&Zs.enqueueReplaceState(i,i.state,null),Fs(e,n,i,r),i.state=e.memoizedState),typeof i.componentDidMount=="function"&&(e.flags|=4194308)}function qi(e,t){try{var n="",r=t;do n+=HS(r),r=r.return;while(r);var i=n}catch(a){i=`\nError generating stack: `+a.message+`\n`+a.stack}return{value:e,source:t,stack:i,digest:null}}function Vu(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Tc(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var fC=typeof WeakMap=="function"?WeakMap:Map;function Vy(e,t,n){n=qn(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){js||(js=!0,zc=r),Tc(e,t)},n}function Wy(e,t,n){n=qn(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){Tc(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(n.callback=function(){Tc(e,t),typeof r!="function"&&(mr===null?mr=new Set([this]):mr.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function rg(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new fC;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=AC.bind(null,e,t,n),t.then(e,e))}function ig(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function ag(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=qn(-1,1),t.tag=2,pr(n,t,1))),n.lanes|=1),e)}var hC=Qn.ReactCurrentOwner,Ft=!1;function Rt(e,t,n,r){t.child=e===null?wy(t,null,n,r):Ui(t,e.child,n,r)}function og(e,t,n,r,i){n=n.render;var a=t.ref;return zi(t,i),r=hd(e,t,n,r,a,i),n=gd(),e!==null&&!Ft?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Gn(e,t,i)):(Ve&&n&&rd(t),t.flags|=1,Rt(e,t,r,i),t.child)}function sg(e,t,n,r,i){if(e===null){var a=n.type;return typeof a=="function"&&!Cd(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,Ky(e,t,a,r,i)):(e=ks(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!(e.lanes&i)){var o=a.memoizedProps;if(n=n.compare,n=n!==null?n:Ya,n(o,r)&&e.ref===t.ref)return Gn(e,t,i)}return t.flags|=1,e=hr(a,r),e.ref=t.ref,e.return=t,t.child=e}function Ky(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Ya(a,r)&&e.ref===t.ref)if(Ft=!1,t.pendingProps=r=a,(e.lanes&i)!==0)e.flags&131072&&(Ft=!0);else return t.lanes=e.lanes,Gn(e,t,i)}return Ac(e,t,n,r,i)}function Gy(e,t,n){var r=t.pendingProps,i=r.children,a=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Be(Li,qt),qt|=n;else{if(!(n&1073741824))return e=a!==null?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Be(Li,qt),qt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a!==null?a.baseLanes:n,Be(Li,qt),qt|=r}else a!==null?(r=a.baseLanes|n,t.memoizedState=null):r=n,Be(Li,qt),qt|=r;return Rt(e,t,i,n),t.child}function Qy(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Ac(e,t,n,r,i){var a=$t(n)?jr:kt.current;return a=Bi(t,a),zi(t,i),n=hd(e,t,n,r,a,i),r=gd(),e!==null&&!Ft?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Gn(e,t,i)):(Ve&&r&&rd(t),t.flags|=1,Rt(e,t,n,i),t.child)}function lg(e,t,n,r,i){if($t(n)){var a=!0;Ps(t)}else a=!1;if(zi(t,i),t.stateNode===null)ys(e,t),qy(t,n,r),Cc(t,n,r,i),r=!0;else if(e===null){var o=t.stateNode,s=t.memoizedProps;o.props=s;var l=o.context,u=n.contextType;typeof u=="object"&&u!==null?u=an(u):(u=$t(n)?jr:kt.current,u=Bi(t,u));var c=n.getDerivedStateFromProps,d=typeof c=="function"||typeof o.getSnapshotBeforeUpdate=="function";d||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(s!==r||l!==u)&&ng(t,o,r,u),rr=!1;var p=t.memoizedState;o.state=p,Fs(t,r,o,i),l=t.memoizedState,s!==r||p!==l||zt.current||rr?(typeof c=="function"&&(Ec(t,n,c,r),l=t.memoizedState),(s=rr||tg(t,n,s,r,p,l,u))?(d||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),o.props=r,o.state=l,o.context=u,r=s):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,Ny(e,t),s=t.memoizedProps,u=t.type===t.elementType?s:fn(t.type,s),o.props=u,d=t.pendingProps,p=o.context,l=n.contextType,typeof l=="object"&&l!==null?l=an(l):(l=$t(n)?jr:kt.current,l=Bi(t,l));var f=n.getDerivedStateFromProps;(c=typeof f=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(s!==d||p!==l)&&ng(t,o,r,l),rr=!1,p=t.memoizedState,o.state=p,Fs(t,r,o,i);var h=t.memoizedState;s!==d||p!==h||zt.current||rr?(typeof f=="function"&&(Ec(t,n,f,r),h=t.memoizedState),(u=rr||tg(t,n,u,r,p,h,l)||!1)?(c||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,h,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,h,l)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=h),o.props=r,o.state=h,o.context=l,r=u):(typeof o.componentDidUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Rc(e,t,n,r,a,i)}function Rc(e,t,n,r,i,a){Qy(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return i&&Kh(t,n,!1),Gn(e,t,a);r=t.stateNode,hC.current=t;var s=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&o?(t.child=Ui(t,e.child,null,a),t.child=Ui(t,null,s,a)):Rt(e,t,s,a),t.memoizedState=r.state,i&&Kh(t,n,!0),t.child}function Yy(e){var t=e.stateNode;t.pendingContext?Wh(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Wh(e,t.context,!1),dd(e,t.containerInfo)}function ug(e,t,n,r,i){return ji(),ad(i),t.flags|=256,Rt(e,t,n,r),t.child}var Ic={dehydrated:null,treeContext:null,retryLane:0};function Pc(e){return{baseLanes:e,cachePool:null,transitions:null}}function Xy(e,t,n){var r=t.pendingProps,i=We.current,a=!1,o=(t.flags&128)!==0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(i&2)!==0),s?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),Be(We,i&1),e===null)return Nc(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,a?(r=t.mode,a=t.child,o={mode:"hidden",children:o},!(r&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=tl(o,r,0,null),e=Br(e,r,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Pc(n),t.memoizedState=Ic,e):bd(t,o));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return gC(e,t,o,r,s,i,n);if(a){a=r.fallback,o=t.mode,i=e.child,s=i.sibling;var l={mode:"hidden",children:r.children};return!(o&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=hr(i,l),r.subtreeFlags=i.subtreeFlags&14680064),s!==null?a=hr(s,a):(a=Br(a,o,n,null),a.flags|=2),a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,o=e.child.memoizedState,o=o===null?Pc(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~n,t.memoizedState=Ic,r}return a=e.child,e=a.sibling,r=hr(a,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function bd(e,t){return t=tl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function ls(e,t,n,r){return r!==null&&ad(r),Ui(t,e.child,null,n),e=bd(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function gC(e,t,n,r,i,a,o){if(n)return t.flags&256?(t.flags&=-257,r=Vu(Error(Q(422))),ls(e,t,o,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(a=r.fallback,i=t.mode,r=tl({mode:"visible",children:r.children},i,0,null),a=Br(a,i,o,null),a.flags|=2,r.return=t,a.return=t,r.sibling=a,t.child=r,t.mode&1&&Ui(t,e.child,null,o),t.child.memoizedState=Pc(o),t.memoizedState=Ic,a);if(!(t.mode&1))return ls(e,t,o,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var s=r.dgst;return r=s,a=Error(Q(419)),r=Vu(a,r,void 0),ls(e,t,o,r)}if(s=(o&e.childLanes)!==0,Ft||s){if(r=ct,r!==null){switch(o&-o){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|o)?0:i,i!==0&&i!==a.retryLane&&(a.retryLane=i,Kn(e,i),vn(r,e,i,-1))}return Ed(),r=Vu(Error(Q(421))),ls(e,t,o,r)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=RC.bind(null,e),i._reactRetry=t,null):(e=a.treeContext,Vt=dr(i.nextSibling),Wt=t,Ve=!0,gn=null,e!==null&&(en[tn++]=Un,en[tn++]=Hn,en[tn++]=Ur,Un=e.id,Hn=e.overflow,Ur=t),t=bd(t,r.children),t.flags|=4096,t)}function cg(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Sc(e.return,t,n)}function Wu(e,t,n,r,i){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=i)}function Zy(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(Rt(e,t,r.children,n),r=We.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&cg(e,n,t);else if(e.tag===19)cg(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Be(We,r),!(t.mode&1))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&zs(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Wu(t,!1,i,n,a);break;case"backwards":for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&zs(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Wu(t,!0,n,null,a);break;case"together":Wu(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function ys(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Gn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),qr|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(Q(153));if(t.child!==null){for(e=t.child,n=hr(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=hr(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function yC(e,t,n){switch(t.tag){case 3:Yy(t),ji();break;case 5:Sy(t);break;case 1:$t(t.type)&&Ps(t);break;case 4:dd(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Be(_s,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(Be(We,We.current&1),t.flags|=128,null):n&t.child.childLanes?Xy(e,t,n):(Be(We,We.current&1),e=Gn(e,t,n),e!==null?e.sibling:null);Be(We,We.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return Zy(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Be(We,We.current),r)break;return null;case 22:case 23:return t.lanes=0,Gy(e,t,n)}return Gn(e,t,n)}var Jy,Lc,ev,tv;Jy=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};Lc=function(){};ev=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,$r(Tn.current);var a=null;switch(n){case"input":i=ec(e,i),r=ec(e,r),a=[];break;case"select":i=Ge({},i,{value:void 0}),r=Ge({},r,{value:void 0}),a=[];break;case"textarea":i=rc(e,i),r=rc(e,r),a=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Rs)}ac(n,r);var o;n=null;for(u in i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null)if(u==="style"){var s=i[u];for(o in s)s.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Ha.hasOwnProperty(u)?a||(a=[]):(a=a||[]).push(u,null));for(u in r){var l=r[u];if(s=i?.[u],r.hasOwnProperty(u)&&l!==s&&(l!=null||s!=null))if(u==="style")if(s){for(o in s)!s.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in l)l.hasOwnProperty(o)&&s[o]!==l[o]&&(n||(n={}),n[o]=l[o])}else n||(a||(a=[]),a.push(u,n)),n=l;else u==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,s=s?s.__html:void 0,l!=null&&s!==l&&(a=a||[]).push(u,l)):u==="children"?typeof l!="string"&&typeof l!="number"||(a=a||[]).push(u,""+l):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Ha.hasOwnProperty(u)?(l!=null&&u==="onScroll"&&je("scroll",e),a||s===l||(a=[])):(a=a||[]).push(u,l))}n&&(a=a||[]).push("style",n);var u=a;(t.updateQueue=u)&&(t.flags|=4)}};tv=function(e,t,n,r){n!==r&&(t.flags|=4)};function Ta(e,t){if(!Ve)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function vt(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function vC(e,t,n){var r=t.pendingProps;switch(id(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return vt(t),null;case 1:return $t(t.type)&&Is(),vt(t),null;case 3:return r=t.stateNode,Hi(),Ue(zt),Ue(kt),md(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(os(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,gn!==null&&(Bc(gn),gn=null))),Lc(e,t),vt(t),null;case 5:pd(t);var i=$r(to.current);if(n=t.type,e!==null&&t.stateNode!=null)ev(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(Q(166));return vt(t),null}if(e=$r(Tn.current),os(t)){r=t.stateNode,n=t.type;var a=t.memoizedProps;switch(r[En]=t,r[Ja]=a,e=(t.mode&1)!==0,n){case"dialog":je("cancel",r),je("close",r);break;case"iframe":case"object":case"embed":je("load",r);break;case"video":case"audio":for(i=0;i<Oa.length;i++)je(Oa[i],r);break;case"source":je("error",r);break;case"img":case"image":case"link":je("error",r),je("load",r);break;case"details":je("toggle",r);break;case"input":vh(r,a),je("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!a.multiple},je("invalid",r);break;case"textarea":kh(r,a),je("invalid",r)}ac(n,a),i=null;for(var o in a)if(a.hasOwnProperty(o)){var s=a[o];o==="children"?typeof s=="string"?r.textContent!==s&&(a.suppressHydrationWarning!==!0&&as(r.textContent,s,e),i=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(a.suppressHydrationWarning!==!0&&as(r.textContent,s,e),i=["children",""+s]):Ha.hasOwnProperty(o)&&s!=null&&o==="onScroll"&&je("scroll",r)}switch(n){case"input":Ko(r),bh(r,a,!0);break;case"textarea":Ko(r),wh(r);break;case"select":case"option":break;default:typeof a.onClick=="function"&&(r.onclick=Rs)}r=i,t.updateQueue=r,r!==null&&(t.flags|=4)}else{o=i.nodeType===9?i:i.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Rg(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=o.createElement("div"),e.innerHTML="<script><\\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[En]=t,e[Ja]=r,Jy(e,t,!1,!1),t.stateNode=e;e:{switch(o=oc(n,r),n){case"dialog":je("cancel",e),je("close",e),i=r;break;case"iframe":case"object":case"embed":je("load",e),i=r;break;case"video":case"audio":for(i=0;i<Oa.length;i++)je(Oa[i],e);i=r;break;case"source":je("error",e),i=r;break;case"img":case"image":case"link":je("error",e),je("load",e),i=r;break;case"details":je("toggle",e),i=r;break;case"input":vh(e,r),i=ec(e,r),je("invalid",e);break;case"option":i=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},i=Ge({},r,{value:void 0}),je("invalid",e);break;case"textarea":kh(e,r),i=rc(e,r),je("invalid",e);break;default:i=r}ac(n,i),s=i;for(a in s)if(s.hasOwnProperty(a)){var l=s[a];a==="style"?Lg(e,l):a==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&Ig(e,l)):a==="children"?typeof l=="string"?(n!=="textarea"||l!=="")&&qa(e,l):typeof l=="number"&&qa(e,""+l):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(Ha.hasOwnProperty(a)?l!=null&&a==="onScroll"&&je("scroll",e):l!=null&&Hc(e,a,l,o))}switch(n){case"input":Ko(e),bh(e,r,!1);break;case"textarea":Ko(e),wh(e);break;case"option":r.value!=null&&e.setAttribute("value",""+gr(r.value));break;case"select":e.multiple=!!r.multiple,a=r.value,a!=null?Oi(e,!!r.multiple,a,!1):r.defaultValue!=null&&Oi(e,!!r.multiple,r.defaultValue,!0);break;default:typeof i.onClick=="function"&&(e.onclick=Rs)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return vt(t),null;case 6:if(e&&t.stateNode!=null)tv(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(Q(166));if(n=$r(to.current),$r(Tn.current),os(t)){if(r=t.stateNode,n=t.memoizedProps,r[En]=t,(a=r.nodeValue!==n)&&(e=Wt,e!==null))switch(e.tag){case 3:as(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&as(r.nodeValue,n,(e.mode&1)!==0)}a&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[En]=t,t.stateNode=r}return vt(t),null;case 13:if(Ue(We),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Ve&&Vt!==null&&t.mode&1&&!(t.flags&128))by(),ji(),t.flags|=98560,a=!1;else if(a=os(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(Q(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(Q(317));a[En]=t}else ji(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;vt(t),a=!1}else gn!==null&&(Bc(gn),gn=null),a=!0;if(!a)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||We.current&1?st===0&&(st=3):Ed())),t.updateQueue!==null&&(t.flags|=4),vt(t),null);case 4:return Hi(),Lc(e,t),e===null&&Xa(t.stateNode.containerInfo),vt(t),null;case 10:return ld(t.type._context),vt(t),null;case 17:return $t(t.type)&&Is(),vt(t),null;case 19:if(Ue(We),a=t.memoizedState,a===null)return vt(t),null;if(r=(t.flags&128)!==0,o=a.rendering,o===null)if(r)Ta(a,!1);else{if(st!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=zs(e),o!==null){for(t.flags|=128,Ta(a,!1),r=o.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)a=n,e=r,a.flags&=14680066,o=a.alternate,o===null?(a.childLanes=0,a.lanes=e,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=o.childLanes,a.lanes=o.lanes,a.child=o.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=o.memoizedProps,a.memoizedState=o.memoizedState,a.updateQueue=o.updateQueue,a.type=o.type,e=o.dependencies,a.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Be(We,We.current&1|2),t.child}e=e.sibling}a.tail!==null&&Ze()>Vi&&(t.flags|=128,r=!0,Ta(a,!1),t.lanes=4194304)}else{if(!r)if(e=zs(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Ta(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!Ve)return vt(t),null}else 2*Ze()-a.renderingStartTime>Vi&&n!==1073741824&&(t.flags|=128,r=!0,Ta(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(n=a.last,n!==null?n.sibling=o:t.child=o,a.last=o)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=Ze(),t.sibling=null,n=We.current,Be(We,r?n&1|2:n&1),t):(vt(t),null);case 22:case 23:return Sd(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?qt&1073741824&&(vt(t),t.subtreeFlags&6&&(t.flags|=8192)):vt(t),null;case 24:return null;case 25:return null}throw Error(Q(156,t.tag))}function bC(e,t){switch(id(t),t.tag){case 1:return $t(t.type)&&Is(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Hi(),Ue(zt),Ue(kt),md(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return pd(t),null;case 13:if(Ue(We),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Q(340));ji()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ue(We),null;case 4:return Hi(),null;case 10:return ld(t.type._context),null;case 22:case 23:return Sd(),null;case 24:return null;default:return null}}var us=!1,bt=!1,kC=typeof WeakSet=="function"?WeakSet:Set,ce=null;function Pi(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Qe(e,t,r)}else n.current=null}function Oc(e,t,n){try{n()}catch(r){Qe(e,t,r)}}var dg=!1;function wC(e,t){if(gc=Cs,e=oy(),nd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var o=0,s=-1,l=-1,u=0,c=0,d=e,p=null;t:for(;;){for(var f;d!==n||i!==0&&d.nodeType!==3||(s=o+i),d!==a||r!==0&&d.nodeType!==3||(l=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(f=d.firstChild)!==null;)p=d,d=f;for(;;){if(d===e)break t;if(p===n&&++u===i&&(s=o),p===a&&++c===r&&(l=o),(f=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=f}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(yc={focusedElem:e,selectionRange:n},Cs=!1,ce=t;ce!==null;)if(t=ce,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ce=e;else for(;ce!==null;){t=ce;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var v=h.memoizedProps,b=h.memoizedState,g=t.stateNode,y=g.getSnapshotBeforeUpdate(t.elementType===t.type?v:fn(t.type,v),b);g.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var x=t.stateNode.containerInfo;x.nodeType===1?x.textContent="":x.nodeType===9&&x.documentElement&&x.removeChild(x.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Q(163))}}catch(N){Qe(t,t.return,N)}if(e=t.sibling,e!==null){e.return=t.return,ce=e;break}ce=t.return}return h=dg,dg=!1,h}function Ba(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&Oc(t,n,a)}i=i.next}while(i!==r)}}function Js(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function _c(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function nv(e){var t=e.alternate;t!==null&&(e.alternate=null,nv(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[En],delete t[Ja],delete t[kc],delete t[rC],delete t[iC])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function rv(e){return e.tag===5||e.tag===3||e.tag===4}function pg(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||rv(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Dc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Rs));else if(r!==4&&(e=e.child,e!==null))for(Dc(e,t,n),e=e.sibling;e!==null;)Dc(e,t,n),e=e.sibling}function Fc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Fc(e,t,n),e=e.sibling;e!==null;)Fc(e,t,n),e=e.sibling}var mt=null,hn=!1;function tr(e,t,n){for(n=n.child;n!==null;)iv(e,t,n),n=n.sibling}function iv(e,t,n){if(Cn&&typeof Cn.onCommitFiberUnmount=="function")try{Cn.onCommitFiberUnmount(Vs,n)}catch{}switch(n.tag){case 5:bt||Pi(n,t);case 6:var r=mt,i=hn;mt=null,tr(e,t,n),mt=r,hn=i,mt!==null&&(hn?(e=mt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):mt.removeChild(n.stateNode));break;case 18:mt!==null&&(hn?(e=mt,n=n.stateNode,e.nodeType===8?Mu(e.parentNode,n):e.nodeType===1&&Mu(e,n),Ga(e)):Mu(mt,n.stateNode));break;case 4:r=mt,i=hn,mt=n.stateNode.containerInfo,hn=!0,tr(e,t,n),mt=r,hn=i;break;case 0:case 11:case 14:case 15:if(!bt&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&Oc(n,t,o),i=i.next}while(i!==r)}tr(e,t,n);break;case 1:if(!bt&&(Pi(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){Qe(n,t,s)}tr(e,t,n);break;case 21:tr(e,t,n);break;case 22:n.mode&1?(bt=(r=bt)||n.memoizedState!==null,tr(e,t,n),bt=r):tr(e,t,n);break;default:tr(e,t,n)}}function mg(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new kC),t.forEach(function(r){var i=IC.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function mn(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r];try{var a=e,o=t,s=o;e:for(;s!==null;){switch(s.tag){case 5:mt=s.stateNode,hn=!1;break e;case 3:mt=s.stateNode.containerInfo,hn=!0;break e;case 4:mt=s.stateNode.containerInfo,hn=!0;break e}s=s.return}if(mt===null)throw Error(Q(160));iv(a,o,i),mt=null,hn=!1;var l=i.alternate;l!==null&&(l.return=null),i.return=null}catch(u){Qe(i,t,u)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)av(t,e),t=t.sibling}function av(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(mn(t,e),Nn(e),r&4){try{Ba(3,e,e.return),Js(3,e)}catch(v){Qe(e,e.return,v)}try{Ba(5,e,e.return)}catch(v){Qe(e,e.return,v)}}break;case 1:mn(t,e),Nn(e),r&512&&n!==null&&Pi(n,n.return);break;case 5:if(mn(t,e),Nn(e),r&512&&n!==null&&Pi(n,n.return),e.flags&32){var i=e.stateNode;try{qa(i,"")}catch(v){Qe(e,e.return,v)}}if(r&4&&(i=e.stateNode,i!=null)){var a=e.memoizedProps,o=n!==null?n.memoizedProps:a,s=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{s==="input"&&a.type==="radio"&&a.name!=null&&Tg(i,a),oc(s,o);var u=oc(s,a);for(o=0;o<l.length;o+=2){var c=l[o],d=l[o+1];c==="style"?Lg(i,d):c==="dangerouslySetInnerHTML"?Ig(i,d):c==="children"?qa(i,d):Hc(i,c,d,u)}switch(s){case"input":tc(i,a);break;case"textarea":Ag(i,a);break;case"select":var p=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!a.multiple;var f=a.value;f!=null?Oi(i,!!a.multiple,f,!1):p!==!!a.multiple&&(a.defaultValue!=null?Oi(i,!!a.multiple,a.defaultValue,!0):Oi(i,!!a.multiple,a.multiple?[]:"",!1))}i[Ja]=a}catch(v){Qe(e,e.return,v)}}break;case 6:if(mn(t,e),Nn(e),r&4){if(e.stateNode===null)throw Error(Q(162));i=e.stateNode,a=e.memoizedProps;try{i.nodeValue=a}catch(v){Qe(e,e.return,v)}}break;case 3:if(mn(t,e),Nn(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Ga(t.containerInfo)}catch(v){Qe(e,e.return,v)}break;case 4:mn(t,e),Nn(e);break;case 13:mn(t,e),Nn(e),i=e.child,i.flags&8192&&(a=i.memoizedState!==null,i.stateNode.isHidden=a,!a||i.alternate!==null&&i.alternate.memoizedState!==null||(xd=Ze())),r&4&&mg(e);break;case 22:if(c=n!==null&&n.memoizedState!==null,e.mode&1?(bt=(u=bt)||c,mn(t,e),bt=u):mn(t,e),Nn(e),r&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!c&&e.mode&1)for(ce=e,c=e.child;c!==null;){for(d=ce=c;ce!==null;){switch(p=ce,f=p.child,p.tag){case 0:case 11:case 14:case 15:Ba(4,p,p.return);break;case 1:Pi(p,p.return);var h=p.stateNode;if(typeof h.componentWillUnmount=="function"){r=p,n=p.return;try{t=r,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(v){Qe(r,n,v)}}break;case 5:Pi(p,p.return);break;case 22:if(p.memoizedState!==null){hg(d);continue}}f!==null?(f.return=p,ce=f):hg(d)}c=c.sibling}e:for(c=null,d=e;;){if(d.tag===5){if(c===null){c=d;try{i=d.stateNode,u?(a=i.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none"):(s=d.stateNode,l=d.memoizedProps.style,o=l!=null&&l.hasOwnProperty("display")?l.display:null,s.style.display=Pg("display",o))}catch(v){Qe(e,e.return,v)}}}else if(d.tag===6){if(c===null)try{d.stateNode.nodeValue=u?"":d.memoizedProps}catch(v){Qe(e,e.return,v)}}else if((d.tag!==22&&d.tag!==23||d.memoizedState===null||d===e)&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===e)break e;for(;d.sibling===null;){if(d.return===null||d.return===e)break e;c===d&&(c=null),d=d.return}c===d&&(c=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:mn(t,e),Nn(e),r&4&&mg(e);break;case 21:break;default:mn(t,e),Nn(e)}}function Nn(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(rv(n)){var r=n;break e}n=n.return}throw Error(Q(160))}switch(r.tag){case 5:var i=r.stateNode;r.flags&32&&(qa(i,""),r.flags&=-33);var a=pg(e);Fc(e,a,i);break;case 3:case 4:var o=r.stateNode.containerInfo,s=pg(e);Dc(e,s,o);break;default:throw Error(Q(161))}}catch(l){Qe(e,e.return,l)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function xC(e,t,n){ce=e,ov(e,t,n)}function ov(e,t,n){for(var r=(e.mode&1)!==0;ce!==null;){var i=ce,a=i.child;if(i.tag===22&&r){var o=i.memoizedState!==null||us;if(!o){var s=i.alternate,l=s!==null&&s.memoizedState!==null||bt;s=us;var u=bt;if(us=o,(bt=l)&&!u)for(ce=i;ce!==null;)o=ce,l=o.child,o.tag===22&&o.memoizedState!==null?gg(i):l!==null?(l.return=o,ce=l):gg(i);for(;a!==null;)ce=a,ov(a,t,n),a=a.sibling;ce=i,us=s,bt=u}fg(e,t,n)}else i.subtreeFlags&8772&&a!==null?(a.return=i,ce=a):fg(e,t,n)}}function fg(e){for(;ce!==null;){var t=ce;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:bt||Js(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!bt)if(n===null)r.componentDidMount();else{var i=t.elementType===t.type?n.memoizedProps:fn(t.type,n.memoizedProps);r.componentDidUpdate(i,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;a!==null&&Zh(t,a,r);break;case 3:var o=t.updateQueue;if(o!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}Zh(t,o,n)}break;case 5:var s=t.stateNode;if(n===null&&t.flags&4){n=s;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var c=u.memoizedState;if(c!==null){var d=c.dehydrated;d!==null&&Ga(d)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(Q(163))}bt||t.flags&512&&_c(t)}catch(p){Qe(t,t.return,p)}}if(t===e){ce=null;break}if(n=t.sibling,n!==null){n.return=t.return,ce=n;break}ce=t.return}}function hg(e){for(;ce!==null;){var t=ce;if(t===e){ce=null;break}var n=t.sibling;if(n!==null){n.return=t.return,ce=n;break}ce=t.return}}function gg(e){for(;ce!==null;){var t=ce;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Js(4,t)}catch(l){Qe(t,n,l)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var i=t.return;try{r.componentDidMount()}catch(l){Qe(t,i,l)}}var a=t.return;try{_c(t)}catch(l){Qe(t,a,l)}break;case 5:var o=t.return;try{_c(t)}catch(l){Qe(t,o,l)}}}catch(l){Qe(t,t.return,l)}if(t===e){ce=null;break}var s=t.sibling;if(s!==null){s.return=t.return,ce=s;break}ce=t.return}}var NC=Math.ceil,Bs=Qn.ReactCurrentDispatcher,kd=Qn.ReactCurrentOwner,rn=Qn.ReactCurrentBatchConfig,Pe=0,ct=null,nt=null,ft=0,qt=0,Li=br(0),st=0,ao=null,qr=0,el=0,wd=0,ja=null,Dt=null,xd=0,Vi=1/0,Bn=null,js=!1,zc=null,mr=null,cs=!1,sr=null,Us=0,Ua=0,$c=null,vs=-1,bs=0;function It(){return Pe&6?Ze():vs!==-1?vs:vs=Ze()}function fr(e){return e.mode&1?Pe&2&&ft!==0?ft&-ft:oC.transition!==null?(bs===0&&(bs=qg()),bs):(e=De,e!==0||(e=window.event,e=e===void 0?16:Xg(e.type)),e):1}function vn(e,t,n,r){if(50<Ua)throw Ua=0,$c=null,Error(Q(185));oo(e,n,r),(!(Pe&2)||e!==ct)&&(e===ct&&(!(Pe&2)&&(el|=n),st===4&&ar(e,ft)),Mt(e,r),n===1&&Pe===0&&!(t.mode&1)&&(Vi=Ze()+500,Ys&&kr()))}function Mt(e,t){var n=e.callbackNode;lE(e,t);var r=Es(e,e===ct?ft:0);if(r===0)n!==null&&Sh(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Sh(n),t===1)e.tag===0?aC(yg.bind(null,e)):gy(yg.bind(null,e)),tC(function(){!(Pe&6)&&kr()}),n=null;else{switch(Vg(r)){case 1:n=Gc;break;case 4:n=Ug;break;case 16:n=Ss;break;case 536870912:n=Hg;break;default:n=Ss}n=fv(n,sv.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function sv(e,t){if(vs=-1,bs=0,Pe&6)throw Error(Q(327));var n=e.callbackNode;if($i()&&e.callbackNode!==n)return null;var r=Es(e,e===ct?ft:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=Hs(e,r);else{t=r;var i=Pe;Pe|=2;var a=uv();(ct!==e||ft!==t)&&(Bn=null,Vi=Ze()+500,Mr(e,t));do try{CC();break}catch(s){lv(e,s)}while(!0);sd(),Bs.current=a,Pe=i,nt!==null?t=0:(ct=null,ft=0,t=st)}if(t!==0){if(t===2&&(i=dc(e),i!==0&&(r=i,t=Mc(e,i))),t===1)throw n=ao,Mr(e,0),ar(e,r),Mt(e,Ze()),n;if(t===6)ar(e,r);else{if(i=e.current.alternate,!(r&30)&&!SC(i)&&(t=Hs(e,r),t===2&&(a=dc(e),a!==0&&(r=a,t=Mc(e,a))),t===1))throw n=ao,Mr(e,0),ar(e,r),Mt(e,Ze()),n;switch(e.finishedWork=i,e.finishedLanes=r,t){case 0:case 1:throw Error(Q(345));case 2:Dr(e,Dt,Bn);break;case 3:if(ar(e,r),(r&130023424)===r&&(t=xd+500-Ze(),10<t)){if(Es(e,0)!==0)break;if(i=e.suspendedLanes,(i&r)!==r){It(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=bc(Dr.bind(null,e,Dt,Bn),t);break}Dr(e,Dt,Bn);break;case 4:if(ar(e,r),(r&4194240)===r)break;for(t=e.eventTimes,i=-1;0<r;){var o=31-yn(r);a=1<<o,o=t[o],o>i&&(i=o),r&=~a}if(r=i,r=Ze()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*NC(r/1960))-r,10<r){e.timeoutHandle=bc(Dr.bind(null,e,Dt,Bn),r);break}Dr(e,Dt,Bn);break;case 5:Dr(e,Dt,Bn);break;default:throw Error(Q(329))}}}return Mt(e,Ze()),e.callbackNode===n?sv.bind(null,e):null}function Mc(e,t){var n=ja;return e.current.memoizedState.isDehydrated&&(Mr(e,t).flags|=256),e=Hs(e,t),e!==2&&(t=Dt,Dt=n,t!==null&&Bc(t)),e}function Bc(e){Dt===null?Dt=e:Dt.push.apply(Dt,e)}function SC(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!bn(a(),i))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function ar(e,t){for(t&=~wd,t&=~el,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-yn(t),r=1<<n;e[n]=-1,t&=~r}}function yg(e){if(Pe&6)throw Error(Q(327));$i();var t=Es(e,0);if(!(t&1))return Mt(e,Ze()),null;var n=Hs(e,t);if(e.tag!==0&&n===2){var r=dc(e);r!==0&&(t=r,n=Mc(e,r))}if(n===1)throw n=ao,Mr(e,0),ar(e,t),Mt(e,Ze()),n;if(n===6)throw Error(Q(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Dr(e,Dt,Bn),Mt(e,Ze()),null}function Nd(e,t){var n=Pe;Pe|=1;try{return e(t)}finally{Pe=n,Pe===0&&(Vi=Ze()+500,Ys&&kr())}}function Vr(e){sr!==null&&sr.tag===0&&!(Pe&6)&&$i();var t=Pe;Pe|=1;var n=rn.transition,r=De;try{if(rn.transition=null,De=1,e)return e()}finally{De=r,rn.transition=n,Pe=t,!(Pe&6)&&kr()}}function Sd(){qt=Li.current,Ue(Li)}function Mr(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,eC(n)),nt!==null)for(n=nt.return;n!==null;){var r=n;switch(id(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Is();break;case 3:Hi(),Ue(zt),Ue(kt),md();break;case 5:pd(r);break;case 4:Hi();break;case 13:Ue(We);break;case 19:Ue(We);break;case 10:ld(r.type._context);break;case 22:case 23:Sd()}n=n.return}if(ct=e,nt=e=hr(e.current,null),ft=qt=t,st=0,ao=null,wd=el=qr=0,Dt=ja=null,zr!==null){for(t=0;t<zr.length;t++)if(n=zr[t],r=n.interleaved,r!==null){n.interleaved=null;var i=r.next,a=n.pending;if(a!==null){var o=a.next;a.next=i,r.next=o}n.pending=r}zr=null}return e}function lv(e,t){do{var n=nt;try{if(sd(),hs.current=Ms,$s){for(var r=Ke.memoizedState;r!==null;){var i=r.queue;i!==null&&(i.pending=null),r=r.next}$s=!1}if(Hr=0,ut=ot=Ke=null,Ma=!1,no=0,kd.current=null,n===null||n.return===null){st=1,ao=t,nt=null;break}e:{var a=e,o=n.return,s=n,l=t;if(t=ft,s.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){var u=l,c=s,d=c.tag;if(!(c.mode&1)&&(d===0||d===11||d===15)){var p=c.alternate;p?(c.updateQueue=p.updateQueue,c.memoizedState=p.memoizedState,c.lanes=p.lanes):(c.updateQueue=null,c.memoizedState=null)}var f=ig(o);if(f!==null){f.flags&=-257,ag(f,o,s,a,t),f.mode&1&&rg(a,u,t),t=f,l=u;var h=t.updateQueue;if(h===null){var v=new Set;v.add(l),t.updateQueue=v}else h.add(l);break e}else{if(!(t&1)){rg(a,u,t),Ed();break e}l=Error(Q(426))}}else if(Ve&&s.mode&1){var b=ig(o);if(b!==null){!(b.flags&65536)&&(b.flags|=256),ag(b,o,s,a,t),ad(qi(l,s));break e}}a=l=qi(l,s),st!==4&&(st=2),ja===null?ja=[a]:ja.push(a),a=o;do{switch(a.tag){case 3:a.flags|=65536,t&=-t,a.lanes|=t;var g=Vy(a,l,t);Xh(a,g);break e;case 1:s=l;var y=a.type,x=a.stateNode;if(!(a.flags&128)&&(typeof y.getDerivedStateFromError=="function"||x!==null&&typeof x.componentDidCatch=="function"&&(mr===null||!mr.has(x)))){a.flags|=65536,t&=-t,a.lanes|=t;var N=Wy(a,s,t);Xh(a,N);break e}}a=a.return}while(a!==null)}dv(n)}catch(S){t=S,nt===n&&n!==null&&(nt=n=n.return);continue}break}while(!0)}function uv(){var e=Bs.current;return Bs.current=Ms,e===null?Ms:e}function Ed(){(st===0||st===3||st===2)&&(st=4),ct===null||!(qr&268435455)&&!(el&268435455)||ar(ct,ft)}function Hs(e,t){var n=Pe;Pe|=2;var r=uv();(ct!==e||ft!==t)&&(Bn=null,Mr(e,t));do try{EC();break}catch(i){lv(e,i)}while(!0);if(sd(),Pe=n,Bs.current=r,nt!==null)throw Error(Q(261));return ct=null,ft=0,st}function EC(){for(;nt!==null;)cv(nt)}function CC(){for(;nt!==null&&!JS();)cv(nt)}function cv(e){var t=mv(e.alternate,e,qt);e.memoizedProps=e.pendingProps,t===null?dv(e):nt=t,kd.current=null}function dv(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=bC(n,t),n!==null){n.flags&=32767,nt=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{st=6,nt=null;return}}else if(n=vC(n,t,qt),n!==null){nt=n;return}if(t=t.sibling,t!==null){nt=t;return}nt=t=e}while(t!==null);st===0&&(st=5)}function Dr(e,t,n){var r=De,i=rn.transition;try{rn.transition=null,De=1,TC(e,t,n,r)}finally{rn.transition=i,De=r}return null}function TC(e,t,n,r){do $i();while(sr!==null);if(Pe&6)throw Error(Q(327));n=e.finishedWork;var i=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(Q(177));e.callbackNode=null,e.callbackPriority=0;var a=n.lanes|n.childLanes;if(uE(e,a),e===ct&&(nt=ct=null,ft=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||cs||(cs=!0,fv(Ss,function(){return $i(),null})),a=(n.flags&15990)!==0,n.subtreeFlags&15990||a){a=rn.transition,rn.transition=null;var o=De;De=1;var s=Pe;Pe|=4,kd.current=null,wC(e,n),av(n,e),QE(yc),Cs=!!gc,yc=gc=null,e.current=n,xC(n,e,i),eE(),Pe=s,De=o,rn.transition=a}else e.current=n;if(cs&&(cs=!1,sr=e,Us=i),a=e.pendingLanes,a===0&&(mr=null),rE(n.stateNode,r),Mt(e,Ze()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)i=t[n],r(i.value,{componentStack:i.stack,digest:i.digest});if(js)throw js=!1,e=zc,zc=null,e;return Us&1&&e.tag!==0&&$i(),a=e.pendingLanes,a&1?e===$c?Ua++:(Ua=0,$c=e):Ua=0,kr(),null}function $i(){if(sr!==null){var e=Vg(Us),t=rn.transition,n=De;try{if(rn.transition=null,De=16>e?16:e,sr===null)var r=!1;else{if(e=sr,sr=null,Us=0,Pe&6)throw Error(Q(331));var i=Pe;for(Pe|=4,ce=e.current;ce!==null;){var a=ce,o=a.child;if(ce.flags&16){var s=a.deletions;if(s!==null){for(var l=0;l<s.length;l++){var u=s[l];for(ce=u;ce!==null;){var c=ce;switch(c.tag){case 0:case 11:case 15:Ba(8,c,a)}var d=c.child;if(d!==null)d.return=c,ce=d;else for(;ce!==null;){c=ce;var p=c.sibling,f=c.return;if(nv(c),c===u){ce=null;break}if(p!==null){p.return=f,ce=p;break}ce=f}}}var h=a.alternate;if(h!==null){var v=h.child;if(v!==null){h.child=null;do{var b=v.sibling;v.sibling=null,v=b}while(v!==null)}}ce=a}}if(a.subtreeFlags&2064&&o!==null)o.return=a,ce=o;else e:for(;ce!==null;){if(a=ce,a.flags&2048)switch(a.tag){case 0:case 11:case 15:Ba(9,a,a.return)}var g=a.sibling;if(g!==null){g.return=a.return,ce=g;break e}ce=a.return}}var y=e.current;for(ce=y;ce!==null;){o=ce;var x=o.child;if(o.subtreeFlags&2064&&x!==null)x.return=o,ce=x;else e:for(o=y;ce!==null;){if(s=ce,s.flags&2048)try{switch(s.tag){case 0:case 11:case 15:Js(9,s)}}catch(S){Qe(s,s.return,S)}if(s===o){ce=null;break e}var N=s.sibling;if(N!==null){N.return=s.return,ce=N;break e}ce=s.return}}if(Pe=i,kr(),Cn&&typeof Cn.onPostCommitFiberRoot=="function")try{Cn.onPostCommitFiberRoot(Vs,e)}catch{}r=!0}return r}finally{De=n,rn.transition=t}}return!1}function vg(e,t,n){t=qi(n,t),t=Vy(e,t,1),e=pr(e,t,1),t=It(),e!==null&&(oo(e,1,t),Mt(e,t))}function Qe(e,t,n){if(e.tag===3)vg(e,e,n);else for(;t!==null;){if(t.tag===3){vg(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(mr===null||!mr.has(r))){e=qi(n,e),e=Wy(t,e,1),t=pr(t,e,1),e=It(),t!==null&&(oo(t,1,e),Mt(t,e));break}}t=t.return}}function AC(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=It(),e.pingedLanes|=e.suspendedLanes&n,ct===e&&(ft&n)===n&&(st===4||st===3&&(ft&130023424)===ft&&500>Ze()-xd?Mr(e,0):wd|=n),Mt(e,t)}function pv(e,t){t===0&&(e.mode&1?(t=Yo,Yo<<=1,!(Yo&130023424)&&(Yo=4194304)):t=1);var n=It();e=Kn(e,t),e!==null&&(oo(e,t,n),Mt(e,n))}function RC(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),pv(e,n)}function IC(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Q(314))}r!==null&&r.delete(t),pv(e,n)}var mv;mv=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||zt.current)Ft=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Ft=!1,yC(e,t,n);Ft=!!(e.flags&131072)}else Ft=!1,Ve&&t.flags&1048576&&yy(t,Os,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;ys(e,t),e=t.pendingProps;var i=Bi(t,kt.current);zi(t,n),i=hd(null,t,r,e,i,n);var a=gd();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,$t(r)?(a=!0,Ps(t)):a=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,cd(t),i.updater=Zs,t.stateNode=i,i._reactInternals=t,Cc(t,r,e,n),t=Rc(null,t,r,!0,a,n)):(t.tag=0,Ve&&a&&rd(t),Rt(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(ys(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=LC(r),e=fn(r,e),i){case 0:t=Ac(null,t,r,e,n);break e;case 1:t=lg(null,t,r,e,n);break e;case 11:t=og(null,t,r,e,n);break e;case 14:t=sg(null,t,r,fn(r.type,e),n);break e}throw Error(Q(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:fn(r,i),Ac(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:fn(r,i),lg(e,t,r,i,n);case 3:e:{if(Yy(t),e===null)throw Error(Q(387));r=t.pendingProps,a=t.memoizedState,i=a.element,Ny(e,t),Fs(t,r,null,n);var o=t.memoizedState;if(r=o.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){i=qi(Error(Q(423)),t),t=ug(e,t,r,n,i);break e}else if(r!==i){i=qi(Error(Q(424)),t),t=ug(e,t,r,n,i);break e}else for(Vt=dr(t.stateNode.containerInfo.firstChild),Wt=t,Ve=!0,gn=null,n=wy(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ji(),r===i){t=Gn(e,t,n);break e}Rt(e,t,r,n)}t=t.child}return t;case 5:return Sy(t),e===null&&Nc(t),r=t.type,i=t.pendingProps,a=e!==null?e.memoizedProps:null,o=i.children,vc(r,i)?o=null:a!==null&&vc(r,a)&&(t.flags|=32),Qy(e,t),Rt(e,t,o,n),t.child;case 6:return e===null&&Nc(t),null;case 13:return Xy(e,t,n);case 4:return dd(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ui(t,null,r,n):Rt(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:fn(r,i),og(e,t,r,i,n);case 7:return Rt(e,t,t.pendingProps,n),t.child;case 8:return Rt(e,t,t.pendingProps.children,n),t.child;case 12:return Rt(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,a=t.memoizedProps,o=i.value,Be(_s,r._currentValue),r._currentValue=o,a!==null)if(bn(a.value,o)){if(a.children===i.children&&!zt.current){t=Gn(e,t,n);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var s=a.dependencies;if(s!==null){o=a.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(a.tag===1){l=qn(-1,n&-n),l.tag=2;var u=a.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),Sc(a.return,n,t),s.lanes|=n;break}l=l.next}}else if(a.tag===10)o=a.type===t.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(Q(341));o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),Sc(o,n,t),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===t){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}Rt(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,zi(t,n),i=an(i),r=r(i),t.flags|=1,Rt(e,t,r,n),t.child;case 14:return r=t.type,i=fn(r,t.pendingProps),i=fn(r.type,i),sg(e,t,r,i,n);case 15:return Ky(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:fn(r,i),ys(e,t),t.tag=1,$t(r)?(e=!0,Ps(t)):e=!1,zi(t,n),qy(t,r,i),Cc(t,r,i,n),Rc(null,t,r,!0,e,n);case 19:return Zy(e,t,n);case 22:return Gy(e,t,n)}throw Error(Q(156,t.tag))};function fv(e,t){return jg(e,t)}function PC(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function nn(e,t,n,r){return new PC(e,t,n,r)}function Cd(e){return e=e.prototype,!(!e||!e.isReactComponent)}function LC(e){if(typeof e=="function")return Cd(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Vc)return 11;if(e===Wc)return 14}return 2}function hr(e,t){var n=e.alternate;return n===null?(n=nn(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ks(e,t,n,r,i,a){var o=2;if(r=e,typeof e=="function")Cd(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case xi:return Br(n.children,i,a,t);case qc:o=8,i|=8;break;case Yu:return e=nn(12,n,t,i|2),e.elementType=Yu,e.lanes=a,e;case Xu:return e=nn(13,n,t,i),e.elementType=Xu,e.lanes=a,e;case Zu:return e=nn(19,n,t,i),e.elementType=Zu,e.lanes=a,e;case Sg:return tl(n,i,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case xg:o=10;break e;case Ng:o=9;break e;case Vc:o=11;break e;case Wc:o=14;break e;case nr:o=16,r=null;break e}throw Error(Q(130,e==null?e:typeof e,""))}return t=nn(o,n,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function Br(e,t,n,r){return e=nn(7,e,r,t),e.lanes=n,e}function tl(e,t,n,r){return e=nn(22,e,r,t),e.elementType=Sg,e.lanes=n,e.stateNode={isHidden:!1},e}function Ku(e,t,n){return e=nn(6,e,null,t),e.lanes=n,e}function Gu(e,t,n){return t=nn(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function OC(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pu(0),this.expirationTimes=Pu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pu(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Td(e,t,n,r,i,a,o,s,l){return e=new OC(e,t,n,s,l),t===1?(t=1,a===!0&&(t|=8)):t=0,a=nn(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},cd(a),e}function _C(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:wi,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function hv(e){if(!e)return yr;e=e._reactInternals;e:{if(Kr(e)!==e||e.tag!==1)throw Error(Q(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if($t(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(Q(171))}if(e.tag===1){var n=e.type;if($t(n))return hy(e,n,t)}return t}function gv(e,t,n,r,i,a,o,s,l){return e=Td(n,r,!0,e,i,a,o,s,l),e.context=hv(null),n=e.current,r=It(),i=fr(n),a=qn(r,i),a.callback=t??null,pr(n,a,i),e.current.lanes=i,oo(e,i,r),Mt(e,r),e}function nl(e,t,n,r){var i=t.current,a=It(),o=fr(i);return n=hv(n),t.context===null?t.context=n:t.pendingContext=n,t=qn(a,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=pr(i,t,o),e!==null&&(vn(e,i,o,a),fs(e,i,o)),o}function qs(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function bg(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Ad(e,t){bg(e,t),(e=e.alternate)&&bg(e,t)}function DC(){return null}var yv=typeof reportError=="function"?reportError:function(e){console.error(e)};function Rd(e){this._internalRoot=e}rl.prototype.render=Rd.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(Q(409));nl(e,t,null,null)};rl.prototype.unmount=Rd.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Vr(function(){nl(null,e,null,null)}),t[Wn]=null}};function rl(e){this._internalRoot=e}rl.prototype.unstable_scheduleHydration=function(e){if(e){var t=Gg();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ir.length&&t!==0&&t<ir[n].priority;n++);ir.splice(n,0,e),n===0&&Yg(e)}};function Id(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function il(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function kg(){}function FC(e,t,n,r,i){if(i){if(typeof r=="function"){var a=r;r=function(){var u=qs(o);a.call(u)}}var o=gv(t,r,e,0,null,!1,!1,"",kg);return e._reactRootContainer=o,e[Wn]=o.current,Xa(e.nodeType===8?e.parentNode:e),Vr(),o}for(;i=e.lastChild;)e.removeChild(i);if(typeof r=="function"){var s=r;r=function(){var u=qs(l);s.call(u)}}var l=Td(e,0,!1,null,null,!1,!1,"",kg);return e._reactRootContainer=l,e[Wn]=l.current,Xa(e.nodeType===8?e.parentNode:e),Vr(function(){nl(t,l,n,r)}),l}function al(e,t,n,r,i){var a=n._reactRootContainer;if(a){var o=a;if(typeof i=="function"){var s=i;i=function(){var l=qs(o);s.call(l)}}nl(t,o,e,i)}else o=FC(n,t,e,i,r);return qs(o)}Wg=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=La(t.pendingLanes);n!==0&&(Qc(t,n|1),Mt(t,Ze()),!(Pe&6)&&(Vi=Ze()+500,kr()))}break;case 13:Vr(function(){var r=Kn(e,1);if(r!==null){var i=It();vn(r,e,1,i)}}),Ad(e,1)}};Yc=function(e){if(e.tag===13){var t=Kn(e,134217728);if(t!==null){var n=It();vn(t,e,134217728,n)}Ad(e,134217728)}};Kg=function(e){if(e.tag===13){var t=fr(e),n=Kn(e,t);if(n!==null){var r=It();vn(n,e,t,r)}Ad(e,t)}};Gg=function(){return De};Qg=function(e,t){var n=De;try{return De=e,t()}finally{De=n}};lc=function(e,t,n){switch(t){case"input":if(tc(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+\'][type="radio"]\'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=Qs(r);if(!i)throw Error(Q(90));Cg(r),tc(r,i)}}}break;case"textarea":Ag(e,n);break;case"select":t=n.value,t!=null&&Oi(e,!!n.multiple,t,!1)}};Dg=Nd;Fg=Vr;var zC={usingClientEntryPoint:!1,Events:[lo,Ci,Qs,Og,_g,Nd]},Aa={findFiberByHostInstance:Fr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},$C={bundleType:Aa.bundleType,version:Aa.version,rendererPackageName:Aa.rendererPackageName,rendererConfig:Aa.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Qn.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Mg(e),e===null?null:e.stateNode},findFiberByHostInstance:Aa.findFiberByHostInstance||DC,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Ra=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Ra.isDisabled&&Ra.supportsFiber))try{Vs=Ra.inject($C),Cn=Ra}catch{}var Ra;Qt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=zC;Qt.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Id(t))throw Error(Q(200));return _C(e,t,null,n)};Qt.createRoot=function(e,t){if(!Id(e))throw Error(Q(299));var n=!1,r="",i=yv;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=Td(e,1,!1,null,null,n,!1,r,i),e[Wn]=t.current,Xa(e.nodeType===8?e.parentNode:e),new Rd(t)};Qt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(Q(188)):(e=Object.keys(e).join(","),Error(Q(268,e)));return e=Mg(t),e=e===null?null:e.stateNode,e};Qt.flushSync=function(e){return Vr(e)};Qt.hydrate=function(e,t,n){if(!il(t))throw Error(Q(200));return al(null,e,t,!0,n)};Qt.hydrateRoot=function(e,t,n){if(!Id(e))throw Error(Q(405));var r=n!=null&&n.hydratedSources||null,i=!1,a="",o=yv;if(n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(a=n.identifierPrefix),n.onRecoverableError!==void 0&&(o=n.onRecoverableError)),t=gv(t,null,e,1,n??null,i,!1,a,o),e[Wn]=t.current,Xa(e),r)for(e=0;e<r.length;e++)n=r[e],i=n._getVersion,i=i(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,i]:t.mutableSourceEagerHydrationData.push(n,i);return new rl(t)};Qt.render=function(e,t,n){if(!il(t))throw Error(Q(200));return al(null,e,t,!1,n)};Qt.unmountComponentAtNode=function(e){if(!il(e))throw Error(Q(40));return e._reactRootContainer?(Vr(function(){al(null,null,e,!1,function(){e._reactRootContainer=null,e[Wn]=null})}),!0):!1};Qt.unstable_batchedUpdates=Nd;Qt.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!il(n))throw Error(Q(200));if(e==null||e._reactInternals===void 0)throw Error(Q(38));return al(e,t,n,!1,r)};Qt.version="18.3.1-next-f1338f8080-20240426"});var wv=ie((DO,kv)=>{"use strict";function bv(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(bv)}catch(e){console.error(e)}}bv(),kv.exports=vv()});var Nv=ie(Pd=>{"use strict";var xv=wv();Pd.createRoot=xv.createRoot,Pd.hydrateRoot=xv.hydrateRoot;var FO});var Ev=ie(ol=>{"use strict";var jC=tt(),UC=Symbol.for("react.element"),HC=Symbol.for("react.fragment"),qC=Object.prototype.hasOwnProperty,VC=jC.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,WC={key:!0,ref:!0,__self:!0,__source:!0};function Sv(e,t,n){var r,i={},a=null,o=null;n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),t.ref!==void 0&&(o=t.ref);for(r in t)qC.call(t,r)&&!WC.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)i[r]===void 0&&(i[r]=t[r]);return{$$typeof:UC,type:e,key:a,ref:o,props:i,_owner:VC.current}}ol.Fragment=HC;ol.jsx=Sv;ol.jsxs=Sv});var Ie=ie((qO,Cv)=>{"use strict";Cv.exports=Ev()});var Zv=ie((CD,Xv)=>{var Kv=/\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g,w2=/\\n/g,x2=/^\\s*/,N2=/^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/,S2=/^:\\s*/,E2=/^((?:\'(?:\\\\\'|.)*?\'|"(?:\\\\"|.)*?"|\\([^)]*?\\)|[^};])+)/,C2=/^[;\\s]*/,T2=/^\\s+|\\s+$/g,A2=`\n`,Gv="/",Qv="*",Xr="",R2="comment",I2="declaration";Xv.exports=function(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,r=1;function i(v){var b=v.match(w2);b&&(n+=b.length);var g=v.lastIndexOf(A2);r=~g?v.length-g:r+v.length}function a(){var v={line:n,column:r};return function(b){return b.position=new o(v),c(),b}}function o(v){this.start=v,this.end={line:n,column:r},this.source=t.source}o.prototype.content=e;var s=[];function l(v){var b=new Error(t.source+":"+n+":"+r+": "+v);if(b.reason=v,b.filename=t.source,b.line=n,b.column=r,b.source=e,t.silent)s.push(b);else throw b}function u(v){var b=v.exec(e);if(b){var g=b[0];return i(g),e=e.slice(g.length),b}}function c(){u(x2)}function d(v){var b;for(v=v||[];b=p();)b!==!1&&v.push(b);return v}function p(){var v=a();if(!(Gv!=e.charAt(0)||Qv!=e.charAt(1))){for(var b=2;Xr!=e.charAt(b)&&(Qv!=e.charAt(b)||Gv!=e.charAt(b+1));)++b;if(b+=2,Xr===e.charAt(b-1))return l("End of comment missing");var g=e.slice(2,b-2);return r+=2,i(g),e=e.slice(b),r+=2,v({type:R2,comment:g})}}function f(){var v=a(),b=u(N2);if(b){if(p(),!u(S2))return l("property missing \':\'");var g=u(E2),y=v({type:I2,property:Yv(b[0].replace(Kv,Xr)),value:g?Yv(g[0].replace(Kv,Xr)):Xr});return u(C2),y}}function h(){var v=[];d(v);for(var b;b=f();)b!==!1&&(v.push(b),d(v));return v}return c(),h()};function Yv(e){return e?e.replace(T2,Xr):Xr}});var Jv=ie(go=>{"use strict";var P2=go&&go.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(go,"__esModule",{value:!0});var L2=P2(Zv());function O2(e,t){var n=null;if(!e||typeof e!="string")return n;var r=(0,L2.default)(e),i=typeof t=="function";return r.forEach(function(a){if(a.type==="declaration"){var o=a.property,s=a.value;i?t(o,s,a):s&&(n=n||{},n[o]=s)}}),n}go.default=O2});var bk=ie((o$,vk)=>{"use strict";var Bl=Object.prototype.hasOwnProperty,yk=Object.prototype.toString,dk=Object.defineProperty,pk=Object.getOwnPropertyDescriptor,mk=function(t){return typeof Array.isArray=="function"?Array.isArray(t):yk.call(t)==="[object Array]"},fk=function(t){if(!t||yk.call(t)!=="[object Object]")return!1;var n=Bl.call(t,"constructor"),r=t.constructor&&t.constructor.prototype&&Bl.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!r)return!1;var i;for(i in t);return typeof i>"u"||Bl.call(t,i)},hk=function(t,n){dk&&n.name==="__proto__"?dk(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},gk=function(t,n){if(n==="__proto__")if(Bl.call(t,n)){if(pk)return pk(t,n).value}else return;return t[n]};vk.exports=function e(){var t,n,r,i,a,o,s=arguments[0],l=1,u=arguments.length,c=!1;for(typeof s=="boolean"&&(c=s,s=arguments[1]||{},l=2),(s==null||typeof s!="object"&&typeof s!="function")&&(s={});l<u;++l)if(t=arguments[l],t!=null)for(n in t)r=gk(s,n),i=gk(t,n),s!==i&&(c&&i&&(fk(i)||(a=mk(i)))?(a?(a=!1,o=r&&mk(r)?r:[]):o=r&&fk(r)?r:{},hk(s,{name:n,newValue:e(c,o,i)})):typeof i<"u"&&hk(s,{name:n,newValue:i}));return s}});var Fk=ie((tM,Dk)=>{"use strict";Dk.exports=Op;Op.displayName="bash";Op.aliases=["shell"];function Op(e){(function(t){var n="\\\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\\\b",r={pattern:/(^(["\']?)\\w+\\2)[ \\t]+\\S.*/,lookbehind:!0,alias:"punctuation",inside:null},i={bash:r,environment:{pattern:RegExp("\\\\$"+n),alias:"constant"},variable:[{pattern:/\\$?\\(\\([\\s\\S]+?\\)\\)/,greedy:!0,inside:{variable:[{pattern:/(^\\$\\(\\([\\s\\S]+)\\)\\)/,lookbehind:!0},/^\\$\\(\\(/],number:/\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,operator:/--|\\+\\+|\\*\\*=?|<<=?|>>=?|&&|\\|\\||[=!+\\-*/%<>^&|]=?|[?~:]/,punctuation:/\\(\\(?|\\)\\)?|,|;/}},{pattern:/\\$\\((?:\\([^)]+\\)|[^()])+\\)|`[^`]+`/,greedy:!0,inside:{variable:/^\\$\\(|^`|\\)$|`$/}},{pattern:/\\$\\{[^}]+\\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\\/]|##?|%%?|\\^\\^?|,,?/,punctuation:/[\\[\\]]/,environment:{pattern:RegExp("(\\\\{)"+n),lookbehind:!0,alias:"constant"}}},/\\$(?:\\w+|[#?*!@$])/],entity:/\\\\(?:[abceEfnrtv\\\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};t.languages.bash={shebang:{pattern:/^#!\\s*\\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\\bfunction\\s+)[\\w-]+(?=(?:\\s*\\(?:\\s*\\))?\\s*\\{)/,lookbehind:!0,alias:"function"},{pattern:/\\b[\\w-]+(?=\\s*\\(\\s*\\)\\s*\\{)/,alias:"function"}],"for-or-select":{pattern:/(\\b(?:for|select)\\s+)\\w+(?=\\s+in\\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\\s;|&]|[<>]\\()\\w+(?=\\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\\\s;|&]|[<>]\\\\()"+n),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\\s*)(\\w+)\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\2/,lookbehind:!0,greedy:!0,inside:i},{pattern:/((?:^|[^<])<<-?\\s*)(["\'])(\\w+)\\2\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\3/,lookbehind:!0,greedy:!0,inside:{bash:r}},{pattern:/(^|[^\\\\](?:\\\\\\\\)*)"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^"\\\\`$])*"/,lookbehind:!0,greedy:!0,inside:i},{pattern:/(^|[^$\\\\])\'[^\']*\'/,lookbehind:!0,greedy:!0},{pattern:/\\$\'(?:[^\'\\\\]|\\\\[\\s\\S])*\'/,greedy:!0,inside:{entity:i.entity}}],environment:{pattern:RegExp("\\\\$?"+n),alias:"constant"},variable:i.variable,function:{pattern:/(^|[\\s;|&]|[<>]\\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\\s;|&]|[<>]\\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\\s;|&]|[<>]\\()(?:\\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\\s;|&]|[<>]\\()(?:false|true)(?=$|[)\\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\\B&\\d\\b/,alias:"important"},operator:{pattern:/\\d?<>|>\\||\\+=|=[=~]?|!=?|<<[<-]?|[&\\d]?>>|\\d[<>]&?|[<>][&=]?|&[>&]?|\\|[&|]?/,inside:{"file-descriptor":{pattern:/^\\d/,alias:"important"}}},punctuation:/\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];\\\\]/,number:{pattern:/(^|\\s)(?:[1-9]\\d*|0)(?:[.,]\\d+)?\\b/,lookbehind:!0}},r.inside=t.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=i.variable[1].inside,s=0;s<a.length;s++)o[a[s]]=t.languages.bash[a[s]];t.languages.shell=t.languages.bash})(e)}});var Dp=ie((rM,Mk)=>{"use strict";Mk.exports=_p;_p.displayName="c";_p.aliases=[];function _p(e){e.languages.c=e.languages.extend("clike",{comment:{pattern:/\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,greedy:!0},string:{pattern:/"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"/,greedy:!0},"class-name":{pattern:/(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,lookbehind:!0},keyword:/\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,function:/\\b[a-z_]\\w*(?=\\s*\\()/i,number:/(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/}),e.languages.insertBefore("c","string",{char:{pattern:/\'(?:\\\\(?:\\r\\n|[\\s\\S])|[^\'\\\\\\r\\n]){0,32}\'/,greedy:!0}}),e.languages.insertBefore("c","string",{macro:{pattern:/(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\\s*include\\s*)<[^>]+>/,lookbehind:!0},e.languages.c.string],char:e.languages.c.char,comment:e.languages.c.comment,"macro-name":[{pattern:/(^#\\s*define\\s+)\\w+\\b(?!\\()/i,lookbehind:!0},{pattern:/(^#\\s*define\\s+)\\w+\\b(?=\\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\\\(?=[\\r\\n])/,expression:{pattern:/\\S[\\s\\S]*/,inside:e.languages.c}}}}),e.languages.insertBefore("c","function",{constant:/\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/}),delete e.languages.c.boolean}});var Hk=ie((aM,Uk)=>{"use strict";var pR=Dp();Uk.exports=Fp;Fp.displayName="cpp";Fp.aliases=[];function Fp(e){e.register(pR),function(t){var n=/\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/,r=/\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g,function(){return n.source});t.languages.cpp=t.languages.extend("c",{"class-name":[{pattern:RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g,function(){return n.source})),lookbehind:!0},/\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/,/\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i,/\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/],keyword:n,number:{pattern:/(?:\\b0b[01\']+|\\b0x(?:[\\da-f\']+(?:\\.[\\da-f\']*)?|\\.[\\da-f\']+)(?:p[+-]?[\\d\']+)?|(?:\\b[\\d\']+(?:\\.[\\d\']*)?|\\B\\.[\\d\']+)(?:e[+-]?[\\d\']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,boolean:/\\b(?:false|true)\\b/}),t.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\\b(?:import|module)\\s+)/.source+"(?:"+/"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"|<[^<>\\r\\n]*>/.source+"|"+/<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g,function(){return r})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\\s\\S]+/,operator:/:/,punctuation:/\\./}},"raw-string":{pattern:/R"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1"/,alias:"string",greedy:!0}}),t.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,inside:{function:/^\\w+/,generic:{pattern:/<[\\s\\S]+/,alias:"class-name",inside:t.languages.cpp}}}}),t.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),t.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}"\'\\s]+(?:\\s+[^;{}"\'\\s]+)*(?=\\s*[;{])/,lookbehind:!0,greedy:!0,inside:t.languages.extend("cpp",{})}}),t.languages.insertBefore("inside","double-colon",{"class-name":/\\b[a-z_]\\w*\\b(?!\\s*::)/i},t.languages.cpp["base-clause"])}(e)}});var Kk=ie((sM,Wk)=>{"use strict";Wk.exports=zp;zp.displayName="csharp";zp.aliases=["dotnet","cs"];function zp(e){(function(t){function n(m,E){return m.replace(/<<(\\d+)>>/g,function(D,C){return"(?:"+E[+C]+")"})}function r(m,E,D){return RegExp(n(m,E),D||"")}function i(m,E){for(var D=0;D<E;D++)m=m.replace(/<<self>>/g,function(){return"(?:"+m+")"});return m.replace(/<<self>>/g,"[^\\\\s\\\\S]")}var a={type:"bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",typeDeclaration:"class enum interface record struct",contextual:"add alias and ascending async await by descending from(?=\\\\s*(?:\\\\w|$)) get global group into init(?=\\\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\\\s*{)",other:"abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield"};function o(m){return"\\\\b(?:"+m.trim().replace(/ /g,"|")+")\\\\b"}var s=o(a.typeDeclaration),l=RegExp(o(a.type+" "+a.typeDeclaration+" "+a.contextual+" "+a.other)),u=o(a.typeDeclaration+" "+a.contextual+" "+a.other),c=o(a.type+" "+a.typeDeclaration+" "+a.other),d=i(/<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>/.source,2),p=i(/\\((?:[^()]|<<self>>)*\\)/.source,2),f=/@?\\b[A-Za-z_]\\w*\\b/.source,h=n(/<<0>>(?:\\s*<<1>>)?/.source,[f,d]),v=n(/(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*/.source,[u,h]),b=/\\[\\s*(?:,\\s*)*\\]/.source,g=n(/<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?/.source,[v,b]),y=n(/[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[d,p,b]),x=n(/\\(<<0>>+(?:,<<0>>+)+\\)/.source,[y]),N=n(/(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?/.source,[x,v,b]),S={keyword:l,punctuation:/[<>()?,.:[\\]]/},k=/\'(?:[^\\r\\n\'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})\'/.source,A=/"(?:\\\\.|[^\\\\"\\r\\n])*"/.source,I=/@"(?:""|\\\\[\\s\\S]|[^\\\\"])*"(?!")/.source;t.languages.csharp=t.languages.extend("clike",{string:[{pattern:r(/(^|[^$\\\\])<<0>>/.source,[I]),lookbehind:!0,greedy:!0},{pattern:r(/(^|[^@$\\\\])<<0>>/.source,[A]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:r(/(\\busing\\s+static\\s+)<<0>>(?=\\s*;)/.source,[v]),lookbehind:!0,inside:S},{pattern:r(/(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)/.source,[f,N]),lookbehind:!0,inside:S},{pattern:r(/(\\busing\\s+)<<0>>(?=\\s*=)/.source,[f]),lookbehind:!0},{pattern:r(/(\\b<<0>>\\s+)<<1>>/.source,[s,h]),lookbehind:!0,inside:S},{pattern:r(/(\\bcatch\\s*\\(\\s*)<<0>>/.source,[v]),lookbehind:!0,inside:S},{pattern:r(/(\\bwhere\\s+)<<0>>/.source,[f]),lookbehind:!0},{pattern:r(/(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>/.source,[g]),lookbehind:!0,inside:S},{pattern:r(/\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))/.source,[N,c,f]),inside:S}],keyword:l,number:/(?:\\b0(?:x[\\da-f_]*[\\da-f]|b[01_]*[01])|(?:\\B\\.\\d+(?:_+\\d+)*|\\b\\d+(?:_+\\d+)*(?:\\.\\d+(?:_+\\d+)*)?)(?:e[-+]?\\d+(?:_+\\d+)*)?)(?:[dflmu]|lu|ul)?\\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\\1|~|\\?\\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\\?\\.?|::|[{}[\\];(),.:]/}),t.languages.insertBefore("csharp","number",{range:{pattern:/\\.\\./,alias:"operator"}}),t.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:r(/([(,]\\s*)<<0>>(?=\\s*:)/.source,[f]),lookbehind:!0,alias:"punctuation"}}),t.languages.insertBefore("csharp","class-name",{namespace:{pattern:r(/(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])/.source,[f]),lookbehind:!0,inside:{punctuation:/\\./}},"type-expression":{pattern:r(/(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))/.source,[p]),lookbehind:!0,alias:"class-name",inside:S},"return-type":{pattern:r(/<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))/.source,[N,v]),inside:S,alias:"class-name"},"constructor-invocation":{pattern:r(/(\\bnew\\s+)<<0>>(?=\\s*[[({])/.source,[N]),lookbehind:!0,inside:S,alias:"class-name"},"generic-method":{pattern:r(/<<0>>\\s*<<1>>(?=\\s*\\()/.source,[f,d]),inside:{function:r(/^<<0>>/.source,[f]),generic:{pattern:RegExp(d),alias:"class-name",inside:S}}},"type-list":{pattern:r(/\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))/.source,[s,h,f,N,l.source,p,/\\bnew\\s*\\(\\s*\\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:r(/(^(?!new\\s*\\()<<0>>\\s*)<<1>>/.source,[h,p]),lookbehind:!0,greedy:!0,inside:t.languages.csharp},keyword:l,"class-name":{pattern:RegExp(N),greedy:!0,inside:S},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\\b/,lookbehind:!0,alias:"keyword"}}}});var z=A+"|"+k,R=n(/\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>/.source,[z]),X=i(n(/[^"\'/()]|<<0>>|\\(<<self>>*\\)/.source,[R]),2),B=/\\b(?:assembly|event|field|method|module|param|property|return|type)\\b/.source,F=n(/<<0>>(?:\\s*\\(<<1>>*\\))?/.source,[v,X]);t.languages.insertBefore("csharp","class-name",{attribute:{pattern:r(/((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])/.source,[B,F]),lookbehind:!0,greedy:!0,inside:{target:{pattern:r(/^<<0>>(?=\\s*:)/.source,[B]),alias:"keyword"},"attribute-arguments":{pattern:r(/\\(<<0>>*\\)/.source,[X]),inside:t.languages.csharp},"class-name":{pattern:RegExp(v),inside:{punctuation:/\\./}},punctuation:/[:,]/}}});var q=/:[^}\\r\\n]+/.source,O=i(n(/[^"\'/()]|<<0>>|\\(<<self>>*\\)/.source,[R]),2),Y=n(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source,[O,q]),oe=i(n(/[^"\'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)/.source,[z]),2),j=n(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source,[oe,q]);function _(m,E){return{interpolation:{pattern:r(/((?:^|[^{])(?:\\{\\{)*)<<0>>/.source,[m]),lookbehind:!0,inside:{"format-string":{pattern:r(/(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)/.source,[E,q]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\\{|\\}$/,expression:{pattern:/[\\s\\S]+/,alias:"language-csharp",inside:t.languages.csharp}}},string:/[\\s\\S]+/}}t.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:r(/(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{"])*"/.source,[Y]),lookbehind:!0,greedy:!0,inside:_(Y,O)},{pattern:r(/(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"/.source,[j]),lookbehind:!0,greedy:!0,inside:_(j,oe)}],char:{pattern:RegExp(k),greedy:!0}}),t.languages.dotnet=t.languages.cs=t.languages.csharp})(e)}});var Xk=ie((uM,Yk)=>{"use strict";Yk.exports=$p;$p.displayName="dart";$p.aliases=[];function $p(e){(function(t){var n=[/\\b(?:async|sync|yield)\\*/,/\\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\\b/],r=/(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source,i={pattern:RegExp(r+/[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,inside:{punctuation:/\\./}}}};t.languages.dart=t.languages.extend("clike",{"class-name":[i,{pattern:RegExp(r+/[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])/.source),lookbehind:!0,inside:i.inside}],keyword:n,operator:/\\bis!|\\b(?:as|is)\\b|\\+\\+|--|&&|\\|\\||<<=?|>>=?|~(?:\\/=?)?|[+\\-*\\/%&^|=!<>]=?|\\?/}),t.languages.insertBefore("dart","string",{"string-literal":{pattern:/r?(?:("""|\'\'\')[\\s\\S]*?\\1|(["\'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2(?!\\2))/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\w+|\\{(?:[^{}]|\\{[^{}]*\\})*\\})/,lookbehind:!0,inside:{punctuation:/^\\$\\{?|\\}$/,expression:{pattern:/[\\s\\S]+/,inside:t.languages.dart}}},string:/[\\s\\S]+/}},string:void 0}),t.languages.insertBefore("dart","class-name",{metadata:{pattern:/@\\w+/,alias:"function"}}),t.languages.insertBefore("dart","class-name",{generics:{pattern:/<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,inside:{"class-name":i,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})})(e)}});var tw=ie((dM,ew)=>{"use strict";ew.exports=Mp;Mp.displayName="diff";Mp.aliases=[];function Mp(e){(function(t){t.languages.diff={coord:[/^(?:\\*{3}|-{3}|\\+{3}).*$/m,/^@@.*@@$/m,/^\\d.*$/m]};var n={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(n).forEach(function(r){var i=n[r],a=[];/^\\w+$/.test(r)||a.push(/\\w+/.exec(r)[0]),r==="diff"&&a.push("bold"),t.languages.diff[r]={pattern:RegExp("^(?:["+i+`].*(?:\\r\n?|\n|(?![\\\\s\\\\S])))+`,"m"),alias:a,inside:{line:{pattern:/(.)(?=[\\s\\S]).*(?:\\r\\n?|\\n)?/,lookbehind:!0},prefix:{pattern:/[\\s\\S]/,alias:/\\w+/.exec(r)[0]}}}}),Object.defineProperty(t.languages.diff,"PREFIXES",{value:n})})(e)}});var aw=ie((mM,iw)=>{"use strict";iw.exports=Bp;Bp.displayName="docker";Bp.aliases=["dockerfile"];function Bp(e){(function(t){var n=/\\\\[\\r\\n](?:\\s|\\\\[\\r\\n]|#.*(?!.))*(?![\\s#]|\\\\[\\r\\n])/.source,r=/(?:[ \\t]+(?![ \\t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(/<SP_BS>/g,function(){return n}),i=/"(?:[^"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*"|\'(?:[^\'\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\'/.source,a=/--[\\w-]+=(?:<STR>|(?!["\'])(?:[^\\s\\\\]|\\\\.)+)/.source.replace(/<STR>/g,function(){return i}),o={pattern:RegExp(i),greedy:!0},s={pattern:/(^[ \\t]*)#.*/m,lookbehind:!0,greedy:!0};function l(u,c){return u=u.replace(/<OPT>/g,function(){return a}).replace(/<SP>/g,function(){return r}),RegExp(u,c)}t.languages.docker={instruction:{pattern:/(^[ \\t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\\s)(?:\\\\.|[^\\r\\n\\\\])*(?:\\\\$(?:\\s|#.*$)*(?![\\s#])(?:\\\\.|[^\\r\\n\\\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:l(/(^(?:ONBUILD<SP>)?\\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,"i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\\s)--[\\w-]+/,lookbehind:!0},string:[o,{pattern:/(=)(?!["\'])(?:[^\\s\\\\]|\\\\.)+/,lookbehind:!0}],operator:/\\\\$/m,punctuation:/=/}},keyword:[{pattern:l(/(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\\b/.source,"i"),lookbehind:!0,greedy:!0},{pattern:l(/(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \\t\\\\]+<SP>)AS/.source,"i"),lookbehind:!0,greedy:!0},{pattern:l(/(^ONBUILD<SP>)\\w+/.source,"i"),lookbehind:!0,greedy:!0},{pattern:/^\\w+/,greedy:!0}],comment:s,string:o,variable:/\\$(?:\\w+|\\{[^{}"\'\\\\]*\\})/,operator:/\\\\$/m}},comment:s},t.languages.dockerfile=t.languages.docker})(e)}});var uw=ie((hM,lw)=>{"use strict";lw.exports=jp;jp.displayName="go";jp.aliases=[];function jp(e){e.languages.go=e.languages.extend("clike",{string:{pattern:/(^|[^\\\\])"(?:\\\\.|[^"\\\\\\r\\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,boolean:/\\b(?:_|false|iota|nil|true)\\b/,number:[/\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i,/\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i,/(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i],operator:/[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,builtin:/\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/}),e.languages.insertBefore("go","string",{char:{pattern:/\'(?:\\\\.|[^\'\\\\\\r\\n]){0,10}\'/,greedy:!0}}),delete e.languages.go["class-name"]}});var mw=ie((yM,pw)=>{"use strict";pw.exports=Up;Up.displayName="graphql";Up.aliases=[];function Up(e){e.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\\\.|[^\\\\"\\r\\n])*")(?=\\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\\1)[\\s\\S]+(?=\\1$)/,lookbehind:!0,inside:e.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\\\.|[^\\\\"\\r\\n])*"/,greedy:!0},number:/(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,boolean:/\\b(?:false|true)\\b/,variable:/\\$[a-z_]\\w*/i,directive:{pattern:/@[a-z_]\\w*/i,alias:"function"},"attr-name":{pattern:/\\b[a-z_]\\w*(?=\\s*(?:\\((?:[^()"]|"(?:\\\\.|[^\\\\"\\r\\n])*")*\\))?:)/i,greedy:!0},"atom-input":{pattern:/\\b[A-Z]\\w*Input\\b/,alias:"class-name"},scalar:/\\b(?:Boolean|Float|ID|Int|String)\\b/,constant:/\\b[A-Z][A-Z_\\d]*\\b/,"class-name":{pattern:/(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*|:\\s*|\\[)[A-Z_]\\w*/,lookbehind:!0},fragment:{pattern:/(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\\bmutation\\s+)[a-zA-Z_]\\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\\bquery\\s+)[a-zA-Z_]\\w*/,lookbehind:!0,alias:"function"},keyword:/\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/,operator:/[!=|&]|\\.{3}/,"property-query":/\\w+(?=\\s*\\()/,object:/\\w+(?=\\s*\\{)/,punctuation:/[!(){}\\[\\]:=,]/,property:/\\w+/},e.hooks.add("after-tokenize",function(n){if(n.language!=="graphql")return;var r=n.tokens.filter(function(b){return typeof b!="string"&&b.type!=="comment"&&b.type!=="scalar"}),i=0;function a(b){return r[i+b]}function o(b,g){g=g||0;for(var y=0;y<b.length;y++){var x=a(y+g);if(!x||x.type!==b[y])return!1}return!0}function s(b,g){for(var y=1,x=i;x<r.length;x++){var N=r[x],S=N.content;if(N.type==="punctuation"&&typeof S=="string"){if(b.test(S))y++;else if(g.test(S)&&(y--,y===0))return x}}return-1}function l(b,g){var y=b.alias;y?Array.isArray(y)||(b.alias=y=[y]):b.alias=y=[],y.push(g)}for(;i<r.length;){var u=r[i++];if(u.type==="keyword"&&u.content==="mutation"){var c=[];if(o(["definition-mutation","punctuation"])&&a(1).content==="("){i+=2;var d=s(/^\\($/,/^\\)$/);if(d===-1)continue;for(;i<d;i++){var p=a(0);p.type==="variable"&&(l(p,"variable-input"),c.push(p.content))}i=d+1}if(o(["punctuation","property-query"])&&a(0).content==="{"&&(i++,l(a(0),"property-mutation"),c.length>0)){var f=s(/^\\{$/,/^\\}$/);if(f===-1)continue;for(var h=i;h<f;h++){var v=r[h];v.type==="variable"&&c.indexOf(v.content)>=0&&l(v,"variable-input")}}}}})}});var yw=ie((bM,gw)=>{"use strict";gw.exports=Hp;Hp.displayName="ini";Hp.aliases=[];function Hp(e){e.languages.ini={comment:{pattern:/(^[ \\f\\t\\v]*)[#;][^\\n\\r]*/m,lookbehind:!0},section:{pattern:/(^[ \\f\\t\\v]*)\\[[^\\n\\r\\]]*\\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\\[[ \\f\\t\\v]*)[^ \\f\\t\\v\\]]+(?:[ \\f\\t\\v]+[^ \\f\\t\\v\\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\\[|\\]/}},key:{pattern:/(^[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v=]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v=]+)*(?=[ \\f\\t\\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|\').+(?=\\1$)/,lookbehind:!0}}},punctuation:/=/}}});var ww=ie((wM,kw)=>{"use strict";kw.exports=qp;qp.displayName="java";qp.aliases=[];function qp(e){(function(t){var n=/\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/,r=/(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source,i={pattern:RegExp(r+/[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,inside:{punctuation:/\\./}},punctuation:/\\./}};t.languages.java=t.languages.extend("clike",{string:{pattern:/(^|[^\\\\])"(?:\\\\.|[^"\\\\\\r\\n])*"/,lookbehind:!0,greedy:!0},"class-name":[i,{pattern:RegExp(r+/[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])/.source),lookbehind:!0,inside:i.inside}],keyword:n,function:[t.languages.clike.function,{pattern:/(::\\s*)[a-z_]\\w*/,lookbehind:!0}],number:/\\b0b[01][01_]*L?\\b|\\b0x(?:\\.[\\da-f_p+-]+|[\\da-f_]+(?:\\.[\\da-f_p+-]+)?)\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),t.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \\t]*[\\r\\n](?:(?:"|"")?(?:\\\\.|[^"\\\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/\'(?:\\\\.|[^\'\\\\\\r\\n]){1,6}\'/,greedy:!0}}),t.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":i,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}},namespace:{pattern:RegExp(/(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?/.source.replace(/<keyword>/g,function(){return n.source})),lookbehind:!0,inside:{punctuation:/\\./}}})})(e)}});var Wp=ie((NM,Sw)=>{"use strict";Sw.exports=Vp;Vp.displayName="javascript";Vp.aliases=["js"];function Vp(e){e.languages.javascript=e.languages.extend("clike",{"class-name":[e.languages.clike["class-name"],{pattern:/(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\\})\\s*)catch\\b/,lookbehind:!0},{pattern:/(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:[\'"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,lookbehind:!0}],function:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,number:{pattern:RegExp(/(^|[^\\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source+"|"+/\\d+(?:_\\d+)*n/.source+"|"+/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source)+")"+/(?![\\w$])/.source),lookbehind:!0},operator:/--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/}),e.languages.javascript["class-name"][0].pattern=/(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/,e.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\\w\\xA0-\\uFFFF."\'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^\\/|\\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/}),e.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\\$\\{|\\}$/,alias:"punctuation"},rest:e.languages.javascript}},string:/[\\s\\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \\t]*)(["\'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),e.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,lookbehind:!0,alias:"property"}}),e.languages.markup&&(e.languages.markup.tag.addInlined("script","javascript"),e.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),e.languages.js=e.languages.javascript}});var Aw=ie((EM,Tw)=>{"use strict";Tw.exports=Kp;Kp.displayName="json";Kp.aliases=["webmanifest"];function Kp(e){e.languages.json={property:{pattern:/(^|[^\\\\])"(?:\\\\.|[^\\\\"\\r\\n])*"(?=\\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\\\])"(?:\\\\.|[^\\\\"\\r\\n])*"(?!\\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,greedy:!0},number:/-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,punctuation:/[{}[\\],]/,operator:/:/,boolean:/\\b(?:false|true)\\b/,null:{pattern:/\\bnull\\b/,alias:"keyword"}},e.languages.webmanifest=e.languages.json}});var Qp=ie((TM,Pw)=>{"use strict";Pw.exports=Gp;Gp.displayName="jsx";Gp.aliases=[];function Gp(e){(function(t){var n=t.util.clone(t.languages.javascript),r=/(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source,i=/(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source,a=/(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})/.source;function o(u,c){return u=u.replace(/<S>/g,function(){return r}).replace(/<BRACES>/g,function(){return i}).replace(/<SPREAD>/g,function(){return a}),RegExp(u,c)}a=o(a).source,t.languages.jsx=t.languages.extend("markup",n),t.languages.jsx.tag.pattern=o(/<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|\'(?:\\\\[\\s\\S]|[^\\\\\'])*\'|[^\\s{\'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>/.source),t.languages.jsx.tag.inside.tag.pattern=/^<\\/?[^\\s>\\/]*/,t.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\\{)(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|\'(?:\\\\[\\s\\S]|[^\\\\\'])*\'|[^\\s\'">]+)/,t.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/,t.languages.jsx.tag.inside.comment=n.comment,t.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:t.languages.jsx}},t.languages.jsx.tag),t.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\\{)/,alias:"punctuation"},rest:t.languages.jsx}}},t.languages.jsx.tag);var s=function(u){return u?typeof u=="string"?u:typeof u.content=="string"?u.content:u.content.map(s).join(""):""},l=function(u){for(var c=[],d=0;d<u.length;d++){var p=u[d],f=!1;if(typeof p!="string"&&(p.type==="tag"&&p.content[0]&&p.content[0].type==="tag"?p.content[0].content[0].content==="</"?c.length>0&&c[c.length-1].tagName===s(p.content[0].content[1])&&c.pop():p.content[p.content.length-1].content==="/>"||c.push({tagName:s(p.content[0].content[1]),openedBraces:0}):c.length>0&&p.type==="punctuation"&&p.content==="{"?c[c.length-1].openedBraces++:c.length>0&&c[c.length-1].openedBraces>0&&p.type==="punctuation"&&p.content==="}"?c[c.length-1].openedBraces--:f=!0),(f||typeof p=="string")&&c.length>0&&c[c.length-1].openedBraces===0){var h=s(p);d<u.length-1&&(typeof u[d+1]=="string"||u[d+1].type==="plain-text")&&(h+=s(u[d+1]),u.splice(d+1,1)),d>0&&(typeof u[d-1]=="string"||u[d-1].type==="plain-text")&&(h=s(u[d-1])+h,u.splice(d-1,1),d--),u[d]=new t.Token("plain-text",h,null,h)}p.content&&typeof p.content!="string"&&l(p.content)}};t.hooks.add("after-tokenize",function(u){u.language!=="jsx"&&u.language!=="tsx"||l(u.tokens)})})(e)}});var Dw=ie((RM,_w)=>{"use strict";_w.exports=Yp;Yp.displayName="kotlin";Yp.aliases=["kt","kts"];function Yp(e){(function(t){t.languages.kotlin=t.languages.extend("clike",{keyword:{pattern:/(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/,lookbehind:!0},function:[{pattern:/(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/,greedy:!0},{pattern:/(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/,lookbehind:!0,greedy:!0}],number:/\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,operator:/\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/}),delete t.languages.kotlin["class-name"];var n={"interpolation-punctuation":{pattern:/^\\$\\{?|\\}$/,alias:"punctuation"},expression:{pattern:/[\\s\\S]+/,inside:t.languages.kotlin}};t.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,inside:n},string:/[\\s\\S]+/}},{pattern:/"(?:[^"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,lookbehind:!0,inside:n},string:/[\\s\\S]+/}}],char:{pattern:/\'(?:[^\'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))\'/,greedy:!0}}),delete t.languages.kotlin.string,t.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,alias:"builtin"}}),t.languages.insertBefore("kotlin","function",{label:{pattern:/\\b\\w+@|@\\w+\\b/,alias:"symbol"}}),t.languages.kt=t.languages.kotlin,t.languages.kts=t.languages.kotlin})(e)}});var Mw=ie((PM,$w)=>{"use strict";$w.exports=Xp;Xp.displayName="lua";Xp.aliases=[];function Xp(e){e.languages.lua={comment:/^#!.+|--(?:\\[(=*)\\[[\\s\\S]*?\\]\\1\\]|.*)/m,string:{pattern:/(["\'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\z(?:\\r\\n|\\s)|\\\\(?:\\r\\n|[^z]))*\\1|\\[(=*)\\[[\\s\\S]*?\\]\\2\\]/,greedy:!0},number:/\\b0x[a-f\\d]+(?:\\.[a-f\\d]*)?(?:p[+-]?\\d+)?\\b|\\b\\d+(?:\\.\\B|(?:\\.\\d*)?(?:e[+-]?\\d+)?\\b)|\\B\\.\\d+(?:e[+-]?\\d+)?\\b/i,keyword:/\\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\\b/,function:/(?!\\d)\\w+(?=\\s*(?:[({]))/,operator:[/[-+*%^&|#]|\\/\\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\\.\\.(?!\\.)/,lookbehind:!0}],punctuation:/[\\[\\](){},;]|\\.+|:+/}}});var Hw=ie((OM,Uw)=>{"use strict";Uw.exports=Zp;Zp.displayName="makefile";Zp.aliases=[];function Zp(e){e.languages.makefile={comment:{pattern:/(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,lookbehind:!0},string:{pattern:/(["\'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},"builtin-target":{pattern:/\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\\s]|[ \\t]+(?![\\s:]))+(?=\\s*:(?!=))/m,alias:"symbol",inside:{variable:/\\$+(?:(?!\\$)[^(){}:#=\\s]+|(?=[({]))/}},variable:/\\$+(?:(?!\\$)[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,keyword:/-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/,function:{pattern:/(\\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \\t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}}});var Kw=ie((DM,Ww)=>{"use strict";Ww.exports=Jp;Jp.displayName="markdown";Jp.aliases=["md"];function Jp(e){(function(t){var n=/(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;function r(d){return d=d.replace(/<inner>/g,function(){return n}),RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source+"(?:"+d+")")}var i=/(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source,a=/\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g,function(){return i}),o=/\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source;t.languages.markdown=t.languages.extend("markup",{}),t.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\\S+(?:\\s+\\S+)*/,alias:["yaml","language-yaml"],inside:t.languages.yaml}}},blockquote:{pattern:/^>(?:[\\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(i),inside:t.languages.markdown},punctuation:/\\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(i),alias:"important",inside:t.languages.markdown},punctuation:/\\|/}}}},code:[{pattern:/((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\\s\\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:"(?:\\\\.|[^"\\\\])*"|\'(?:\\\\.|[^\'\\\\])*\'|\\((?:\\\\.|[^)\\\\])*\\)))?/,inside:{variable:{pattern:/^(!?\\[)[^\\]]+/,lookbehind:!0},string:/(?:"(?:\\\\.|[^"\\\\])*"|\'(?:\\\\.|[^\'\\\\])*\'|\\((?:\\\\.|[^)\\\\])*\\))$/,punctuation:/^[\\[\\]!:]|[<>]/},alias:"url"},bold:{pattern:r(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\\s\\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\\*\\*|__/}},italic:{pattern:r(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\\s\\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:r(/(~~?)(?:(?!~)<inner>)+\\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\\s\\S]+(?=\\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:r(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\\[)[^\\]]+(?=\\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,lookbehind:!0},url:{pattern:/(^\\]\\()[^\\s)]+/,lookbehind:!0},string:{pattern:/(^[ \\t]+)"(?:\\\\.|[^"\\\\])*"(?=\\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(d){["url","bold","italic","strike","code-snippet"].forEach(function(p){d!==p&&(t.languages.markdown[d].inside.content.inside[p]=t.languages.markdown[p])})}),t.hooks.add("after-tokenize",function(d){if(d.language!=="markdown"&&d.language!=="md")return;function p(f){if(!(!f||typeof f=="string"))for(var h=0,v=f.length;h<v;h++){var b=f[h];if(b.type!=="code"){p(b.content);continue}var g=b.content[1],y=b.content[3];if(g&&y&&g.type==="code-language"&&y.type==="code-block"&&typeof g.content=="string"){var x=g.content.replace(/\\b#/g,"sharp").replace(/\\b\\+\\+/g,"pp");x=(/[a-z][\\w-]*/i.exec(x)||[""])[0].toLowerCase();var N="language-"+x;y.alias?typeof y.alias=="string"?y.alias=[y.alias,N]:y.alias.push(N):y.alias=[N]}}}p(d.tokens)}),t.hooks.add("wrap",function(d){if(d.type==="code-block"){for(var p="",f=0,h=d.classes.length;f<h;f++){var v=d.classes[f],b=/language-(.+)/.exec(v);if(b){p=b[1];break}}var g=t.languages[p];if(g)d.content=t.highlight(c(d.content.value),g,p);else if(p&&p!=="none"&&t.plugins.autoloader){var y="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);d.attributes.id=y,t.plugins.autoloader.loadLanguages(p,function(){var x=document.getElementById(y);x&&(x.innerHTML=t.highlight(x.textContent,t.languages[p],p))})}}});var s=RegExp(t.languages.markup.tag.pattern.source,"gi"),l={amp:"&",lt:"<",gt:">",quot:\'"\'},u=String.fromCodePoint||String.fromCharCode;function c(d){var p=d.replace(s,"");return p=p.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi,function(f,h){if(h=h.toLowerCase(),h[0]==="#"){var v;return h[1]==="x"?v=parseInt(h.slice(2),16):v=Number(h.slice(1)),u(v)}else{var b=l[h];return b||f}}),p}t.languages.md=t.languages.markdown})(e)}});var tm=ie((zM,Yw)=>{"use strict";Yw.exports=em;em.displayName="markup";em.aliases=["html","mathml","svg","xml","ssml","atom","rss"];function em(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\\s\\S])*?-->/,greedy:!0},prolog:{pattern:/<\\?[\\s\\S]+?\\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"\'[\\]]|"[^"]*"|\'[^\']*\')+(?:\\[(?:[^<"\'\\]]|"[^"]*"|\'[^\']*\'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|\'[^\']*\'/,greedy:!0},punctuation:/^<!|>$|[[\\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\\s<>\'"]+/}},cdata:{pattern:/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,greedy:!0},tag:{pattern:/<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:"[^"]*"|\'[^\']*\'|[^\\s\'">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,greedy:!0,inside:{tag:{pattern:/^<\\/?[^\\s>\\/]+/,inside:{punctuation:/^<\\/?/,namespace:/^[^\\s>\\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\\s*(?:"[^"]*"|\'[^\']*\'|[^\\s\'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|\'/]}},punctuation:/\\/?>/,"attr-name":{pattern:/[^\\s>\\/]+/,inside:{namespace:/^[^\\s>\\/:]+:/}}}},entity:[{pattern:/&[\\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\\da-f]{1,8};/i]},e.languages.markup.tag.inside["attr-value"].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside["internal-subset"].inside=e.languages.markup,e.hooks.add("wrap",function(t){t.type==="entity"&&(t.attributes.title=t.content.value.replace(/&amp;/,"&"))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(n,r){var i={};i["language-"+r]={pattern:/(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,lookbehind:!0,inside:e.languages[r]},i.cdata=/^<!\\[CDATA\\[|\\]\\]>$/i;var a={"included-cdata":{pattern:/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,inside:i}};a["language-"+r]={pattern:/[\\s\\S]+/,inside:e.languages[r]};var o={};o[n]={pattern:RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g,function(){return n}),"i"),lookbehind:!0,greedy:!0,inside:a},e.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(t,n){e.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["\'\\s])/.source+"(?:"+t+")"+/\\s*=\\s*(?:"[^"]*"|\'[^\']*\'|[^\\s\'">=]+(?=[\\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\\s=]+/,"attr-value":{pattern:/=[\\s\\S]+/,inside:{value:{pattern:/(^=\\s*(["\']|(?!["\'])))\\S[\\s\\S]*(?=\\2$)/,lookbehind:!0,alias:[n,"language-"+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|\'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend("markup",{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}});var e0=ie((MM,Jw)=>{"use strict";Jw.exports=nm;nm.displayName="markupTemplating";nm.aliases=[];function nm(e){(function(t){function n(r,i){return"___"+r.toUpperCase()+i+"___"}Object.defineProperties(t.languages["markup-templating"]={},{buildPlaceholders:{value:function(r,i,a,o){if(r.language===i){var s=r.tokenStack=[];r.code=r.code.replace(a,function(l){if(typeof o=="function"&&!o(l))return l;for(var u=s.length,c;r.code.indexOf(c=n(i,u))!==-1;)++u;return s[u]=l,c}),r.grammar=t.languages.markup}}},tokenizePlaceholders:{value:function(r,i){if(r.language!==i||!r.tokenStack)return;r.grammar=t.languages[i];var a=0,o=Object.keys(r.tokenStack);function s(l){for(var u=0;u<l.length&&!(a>=o.length);u++){var c=l[u];if(typeof c=="string"||c.content&&typeof c.content=="string"){var d=o[a],p=r.tokenStack[d],f=typeof c=="string"?c:c.content,h=n(i,d),v=f.indexOf(h);if(v>-1){++a;var b=f.substring(0,v),g=new t.Token(i,t.tokenize(p,r.grammar),"language-"+i,p),y=f.substring(v+h.length),x=[];b&&x.push.apply(x,s([b])),x.push(g),y&&x.push.apply(x,s([y])),typeof c=="string"?l.splice.apply(l,[u,1].concat(x)):c.content=x}}else c.content&&s(c.content)}return l}s(r.tokens)}}})})(e)}});var n0=ie((BM,t0)=>{"use strict";var mR=e0();t0.exports=rm;rm.displayName="php";rm.aliases=[];function rm(e){e.register(mR),function(t){var n=/\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|#(?!\\[).*/,r=[{pattern:/\\b(?:false|true)\\b/i,alias:"boolean"},{pattern:/(::\\s*)\\b[a-z_]\\w*\\b(?!\\s*\\()/i,greedy:!0,lookbehind:!0},{pattern:/(\\b(?:case|const)\\s+)\\b[a-z_]\\w*(?=\\s*[;=])/i,greedy:!0,lookbehind:!0},/\\b(?:null)\\b/i,/\\b[A-Z_][A-Z0-9_]*\\b(?!\\s*\\()/],i=/\\b0b[01]+(?:_[01]+)*\\b|\\b0o[0-7]+(?:_[0-7]+)*\\b|\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b|(?:\\b\\d+(?:_\\d+)*\\.?(?:\\d+(?:_\\d+)*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,a=/<?=>|\\?\\?=?|\\.{3}|\\??->|[!=]=?=?|::|\\*\\*=?|--|\\+\\+|&&|\\|\\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,o=/[{}\\[\\](),:;]/;t.languages.php={delimiter:{pattern:/\\?>$|^<\\?(?:php(?=\\s)|=)?/i,alias:"important"},comment:n,variable:/\\$+(?:\\w+\\b|(?=\\{))/,package:{pattern:/(namespace\\s+|use\\s+(?:function\\s+)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,lookbehind:!0,inside:{punctuation:/\\\\/}},"class-name-definition":{pattern:/(\\b(?:class|enum|interface|trait)\\s+)\\b[a-z_]\\w*(?!\\\\)\\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\\bfunction\\s+)[a-z_]\\w*(?=\\s*\\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\\(\\s*)\\b(?:array|bool|boolean|float|int|integer|object|string)\\b(?=\\s*\\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\\s*)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string)\\b(?=\\s*\\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\\)\\s*:\\s*(?:\\?\\s*)?)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string|void)\\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\\b(?:array(?!\\s*\\()|bool|float|int|iterable|mixed|object|string|void)\\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\\|\\s*)(?:false|null)\\b|\\b(?:false|null)(?=\\s*\\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\\b(?:parent|self|static)(?=\\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\\byield\\s+)from\\b/i,lookbehind:!0},/\\bclass\\b/i,{pattern:/((?:^|[^\\s>:]|(?:^|[^-])>|(?:^|[^:]):)\\s*)\\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\\s+)\\b[a-z_]\\w*(?=\\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\\b(?:extends|implements|instanceof|new(?!\\s+self|\\s+static))\\s+|\\bcatch\\s*\\()\\b[a-z_]\\w*(?!\\\\)\\b/i,greedy:!0,lookbehind:!0},{pattern:/(\\|\\s*)\\b[a-z_]\\w*(?!\\\\)\\b/i,greedy:!0,lookbehind:!0},{pattern:/\\b[a-z_]\\w*(?!\\\\)\\b(?=\\s*\\|)/i,greedy:!0},{pattern:/(\\|\\s*)(?:\\\\?\\b[a-z_]\\w*)+\\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}},{pattern:/(?:\\\\?\\b[a-z_]\\w*)+\\b(?=\\s*\\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\\\/}},{pattern:/(\\b(?:extends|implements|instanceof|new(?!\\s+self\\b|\\s+static\\b))\\s+|\\bcatch\\s*\\()(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}},{pattern:/\\b[a-z_]\\w*(?=\\s*\\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\\\/}},{pattern:/\\b[a-z_]\\w*(?=\\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\\\/}},{pattern:/([(,?]\\s*)[a-z_]\\w*(?=\\s*\\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\\s*)(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}},{pattern:/(\\)\\s*:\\s*(?:\\?\\s*)?)\\b[a-z_]\\w*(?!\\\\)\\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\\)\\s*:\\s*(?:\\?\\s*)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}}],constant:r,function:{pattern:/(^|[^\\\\\\w])\\\\?[a-z_](?:[\\w\\\\]*\\w)?(?=\\s*\\()/i,lookbehind:!0,inside:{punctuation:/\\\\/}},property:{pattern:/(->\\s*)\\w+/,lookbehind:!0},number:i,operator:a,punctuation:o};var s={pattern:/\\{\\$(?:\\{(?:\\{[^{}]+\\}|[^{}]+)\\}|[^{}])+\\}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[[^\\r\\n\\[\\]]+\\]|->\\w+)?)/,lookbehind:!0,inside:t.languages.php},l=[{pattern:/<<<\'([^\']+)\'[\\r\\n](?:.*[\\r\\n])*?\\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<\'[^\']+\'|[a-z_]\\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<\'?|[\';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\\r\\n](?:.*[\\r\\n])*?\\1;|([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\\w*)|[a-z_]\\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:s}},{pattern:/`(?:\\\\[\\s\\S]|[^\\\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/\'(?:\\\\[\\s\\S]|[^\\\\\'])*\'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\\\[\\s\\S]|[^\\\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:s}}];t.languages.insertBefore("php","variable",{string:l,attribute:{pattern:/#\\[(?:[^"\'\\/#]|\\/(?![*/])|\\/\\/.*$|#(?!\\[).*$|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|"(?:\\\\[\\s\\S]|[^\\\\"])*"|\'(?:\\\\[\\s\\S]|[^\\\\\'])*\')+\\](?=\\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\\[)[\\s\\S]+(?=\\]$)/,lookbehind:!0,inside:{comment:n,string:l,"attribute-class-name":[{pattern:/([^:]|^)\\b[a-z_]\\w*(?!\\\\)\\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\\\?\\b[a-z_]\\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}}],constant:r,number:i,operator:a,punctuation:o}},delimiter:{pattern:/^#\\[|\\]$/,alias:"punctuation"}}}}),t.hooks.add("before-tokenize",function(u){if(/<\\?/.test(u.code)){var c=/<\\?(?:[^"\'/#]|\\/(?![*/])|("|\')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#(?!\\[))(?:[^?\\n\\r]|\\?(?!>))*(?=$|\\?>|[\\r\\n])|#\\[|\\/\\*(?:[^*]|\\*(?!\\/))*(?:\\*\\/|$))*?(?:\\?>|$)/g;t.languages["markup-templating"].buildPlaceholders(u,"php",c)}}),t.hooks.add("after-tokenize",function(u){t.languages["markup-templating"].tokenizePlaceholders(u,"php")})}(e)}});var o0=ie((UM,a0)=>{"use strict";a0.exports=im;im.displayName="powershell";im.aliases=[];function im(e){(function(t){var n=t.languages.powershell={comment:[{pattern:/(^|[^`])<#[\\s\\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\\s\\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/\'(?:[^\']|\'\')*\'/,greedy:!0}],namespace:/\\[[a-z](?:\\[(?:\\[[^\\]]*\\]|[^\\[\\]])*\\]|[^\\[\\]])*\\]/i,boolean:/\\$(?:false|true)\\b/i,variable:/\\$\\w+\\b/,function:[/\\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\\b/i,/\\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\\b/i],keyword:/\\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\\b/i,operator:{pattern:/(^|\\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\\b|-[-=]?|\\+[+=]?|[*\\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\\];(),.]/};n.string[0].inside={function:{pattern:/(^|[^`])\\$\\((?:\\$\\([^\\r\\n()]*\\)|(?!\\$\\()[^\\r\\n)])*\\)/,lookbehind:!0,inside:n},boolean:n.boolean,variable:n.variable}})(e)}});var c0=ie((qM,u0)=>{"use strict";u0.exports=am;am.displayName="python";am.aliases=["py"];function am(e){e.languages.python={comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|\'\'\')[\\s\\S]*?\\1|("|\')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\\s\\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|\'\'\')[\\s\\S]*?\\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|\')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,greedy:!0},function:{pattern:/((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,lookbehind:!0},"class-name":{pattern:/(\\bclass\\s+)\\w+/i,lookbehind:!0},decorator:{pattern:/(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\\./}},keyword:/\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,builtin:/\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,boolean:/\\b(?:False|None|True)\\b/,number:/\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,operator:/[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\\];(),.:]/},e.languages.python["string-interpolation"].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}});var f0=ie((WM,m0)=>{"use strict";m0.exports=om;om.displayName="ruby";om.aliases=["rb"];function om(e){(function(t){t.languages.ruby=t.languages.extend("clike",{comment:{pattern:/#.*|^=begin\\s[\\s\\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\\b(?:class|module)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+|\\b[A-Z_]\\w*(?=\\s*\\.\\s*new\\b)/,lookbehind:!0,inside:{punctuation:/[.\\\\]/}},keyword:/\\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\\b/,operator:/\\.{2,3}|&\\.|===|<?=>|[!=]?~|(?:&&|\\|\\||<<|>>|\\*\\*|[+\\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\\].,;]/}),t.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var n={pattern:/((?:^|[^\\\\])(?:\\\\{2})*)#\\{(?:[^{}]|\\{[^{}]*\\})*\\}/,lookbehind:!0,inside:{content:{pattern:/^(#\\{)[\\s\\S]+(?=\\}$)/,lookbehind:!0,inside:t.languages.ruby},delimiter:{pattern:/^#\\{|\\}$/,alias:"punctuation"}}};delete t.languages.ruby.function;var r="(?:"+[/([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,/\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)/.source,/\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}/.source,/\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]/.source,/<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>/.source].join("|")+")",i=/(?:"(?:\\\\.|[^"\\\\\\r\\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)/.source;t.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+r+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:n,regex:/[\\s\\S]+/}},{pattern:/(^|[^/])\\/(?!\\/)(?:\\[[^\\r\\n\\]]+\\]|\\\\.|[^[/\\\\\\r\\n])+\\/[egimnosux]{0,6}(?=\\s*(?:$|[\\r\\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:n,regex:/[\\s\\S]+/}}],variable:/[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+i),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\\r\\n{(,][ \\t]*)/.source+i+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\\bdef\\s+)\\w+(?:\\s*\\.\\s*\\w+)?/,lookbehind:!0,inside:{function:/\\b\\w+$/,keyword:/^self\\b/,"class-name":/^\\w+/,punctuation:/\\./}}}),t.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+r),greedy:!0,inside:{interpolation:n,string:/[\\s\\S]+/}},{pattern:/("|\')(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\#\\r\\n])*\\1/,greedy:!0,inside:{interpolation:n,string:/[\\s\\S]+/}},{pattern:/<<[-~]?([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\\w*|\\b[a-z_]\\w*$/i,inside:{symbol:/\\b\\w+/,punctuation:/^<<[-~]?/}},interpolation:n,string:/[\\s\\S]+/}},{pattern:/<<[-~]?\'([a-z_]\\w*)\'[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?\'[a-z_]\\w*\'|\\b[a-z_]\\w*$/i,inside:{symbol:/\\b\\w+/,punctuation:/^<<[-~]?\'|\'$/}},string:/[\\s\\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+r),greedy:!0,inside:{interpolation:n,command:{pattern:/[\\s\\S]+/,alias:"string"}}},{pattern:/`(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|[^\\\\`#\\r\\n])*`/,greedy:!0,inside:{interpolation:n,command:{pattern:/[\\s\\S]+/,alias:"string"}}}]}),delete t.languages.ruby.string,t.languages.insertBefore("ruby","number",{builtin:/\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\\b/,constant:/\\b[A-Z][A-Z0-9_]*(?:[?!]|\\b)/}),t.languages.rb=t.languages.ruby})(e)}});var v0=ie((GM,y0)=>{"use strict";y0.exports=sm;sm.displayName="rust";sm.aliases=[];function sm(e){(function(t){for(var n=/\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source,r=0;r<2;r++)n=n.replace(/<self>/g,function(){return n});n=n.replace(/<self>/g,function(){return/[^\\s\\S]/.source}),t.languages.rust={comment:[{pattern:RegExp(/(^|[^\\\\])/.source+n),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\\\[\\s\\S]|[^\\\\"])*"|b?r(#*)"(?:[^"]|"(?!\\1))*"\\1/,greedy:!0},char:{pattern:/b?\'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t\'])\'/,greedy:!0},attribute:{pattern:/#!?\\[(?:[^\\[\\]"]|"(?:\\\\[\\s\\S]|[^\\\\"])*")*\\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\\||\\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/\'\\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\\$\\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\\$\\w+/,"function-definition":{pattern:/(\\bfn\\s+)\\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,/\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/],function:/\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,macro:{pattern:/\\b\\w+!/,alias:"property"},constant:/\\b[A-Z_][A-Z_\\d]+\\b/,"class-name":/\\b[A-Z]\\w*\\b/,namespace:{pattern:/(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,inside:{punctuation:/::/}},number:/\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,boolean:/\\b(?:false|true)\\b/,punctuation:/->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,operator:/[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/},t.languages.rust["closure-params"].inside.rest=t.languages.rust,t.languages.rust.attribute.inside.string=t.languages.rust.string})(e)}});var x0=ie((YM,w0)=>{"use strict";w0.exports=lm;lm.displayName="sql";lm.aliases=[];function lm(e){e.languages.sql={comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["\'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,greedy:!0},/@[\\w.$]+/],string:{pattern:/(^|[^@\\\\])("|\')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,keyword:/\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,boolean:/\\b(?:FALSE|NULL|TRUE)\\b/i,number:/\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,operator:/[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,punctuation:/[;[\\]()`,.]/}}});var C0=ie((ZM,E0)=>{"use strict";E0.exports=um;um.displayName="swift";um.aliases=[];function um(e){e.languages.swift={comment:{pattern:/(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n"])*"/.source+"|"+/"""(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\\)|\\\\\\($/,alias:"punctuation"},punctuation:/\\\\(?=[\\r\\n])/,string:/[\\s\\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?"/.source+"|"+/"""(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?"""/.source+")\\\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\\)|\\\\#+\\($/,alias:"punctuation"},string:/[\\s\\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+(/(?:elseif|if)\\b/.source+"(?:[ ]*"+/(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source+")+")+"|"+/(?:else|endif)\\b/.source+")"),alias:"property",inside:{"directive-name":/^#\\w+/,boolean:/\\b(?:false|true)\\b/,number:/\\b\\d+(?:\\.\\d+)*\\b/,operator:/!|&&|\\|\\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,alias:"constant"},"other-directive":{pattern:/#\\w+\\b/,alias:"property"},attribute:{pattern:/@\\w+/,alias:"atrule"},"function-definition":{pattern:/(\\bfunc\\s+)\\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,lookbehind:!0,alias:"important"},keyword:/\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,boolean:/\\b(?:false|true)\\b/,nil:{pattern:/\\bnil\\b/,alias:"constant"},"short-argument":/\\$\\d+\\b/,omit:{pattern:/\\b_\\b/,alias:"keyword"},number:/\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,"class-name":/\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,function:/\\b[a-z_]\\w*(?=\\s*\\()/i,constant:/\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,operator:/[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\\]();,.:\\\\]/},e.languages.swift["string-literal"].forEach(function(t){t.inside.interpolation.inside=e.languages.swift})}});var I0=ie((e6,R0)=>{"use strict";R0.exports=cm;cm.displayName="toml";cm.aliases=[];function cm(e){(function(t){var n=/(?:[\\w-]+|\'[^\'\\n\\r]*\'|"(?:\\\\.|[^\\\\"\\r\\n])*")/.source;function r(i){return i.replace(/__/g,function(){return n})}t.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(r(/(^[\\t ]*\\[\\s*(?:\\[\\s*)?)__(?:\\s*\\.\\s*__)*(?=\\s*\\])/.source),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(r(/(^[\\t ]*|[{,]\\s*)__(?:\\s*\\.\\s*__)*(?=\\s*=)/.source),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\\\[\\s\\S]|[^\\\\])*?"""|\'\'\'[\\s\\S]*?\'\'\'|\'[^\'\\n\\r]*\'|"(?:\\\\.|[^\\\\"\\r\\n])*"/,greedy:!0},date:[{pattern:/\\b\\d{4}-\\d{2}-\\d{2}(?:[T\\s]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?\\b/i,alias:"number"},{pattern:/\\b\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?\\b/,alias:"number"}],number:/(?:\\b0(?:x[\\da-zA-Z]+(?:_[\\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\\b|[-+]?\\b\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?\\b|[-+]?\\b(?:inf|nan)\\b/,boolean:/\\b(?:false|true)\\b/,punctuation:/[.,=[\\]{}]/}})(e)}});var pm=ie((n6,O0)=>{"use strict";O0.exports=dm;dm.displayName="typescript";dm.aliases=["ts"];function dm(e){(function(t){t.languages.typescript=t.languages.extend("javascript",{"class-name":{pattern:/(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/}),t.languages.typescript.keyword.push(/\\b(?:abstract|declare|is|keyof|readonly|require)\\b/,/\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/,/\\btype\\b(?=\\s*(?:[\\{*]|$))/),delete t.languages.typescript.parameter,delete t.languages.typescript["literal-property"];var n=t.languages.extend("typescript",{});delete n["class-name"],t.languages.typescript["class-name"].inside=n,t.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\\w\\xA0-\\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\\s\\S]+/}},"generic-function":{pattern:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/,greedy:!0,inside:{function:/^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/,generic:{pattern:/<[\\s\\S]+/,alias:"class-name",inside:n}}}}),t.languages.ts=t.languages.typescript})(e)}});var D0=ie((r6,_0)=>{"use strict";var fR=Qp(),hR=pm();_0.exports=mm;mm.displayName="tsx";mm.aliases=[];function mm(e){e.register(fR),e.register(hR),function(t){var n=t.util.clone(t.languages.typescript);t.languages.tsx=t.languages.extend("jsx",n),delete t.languages.tsx.parameter,delete t.languages.tsx["literal-property"];var r=t.languages.tsx.tag;r.pattern=RegExp(/(^|[^\\w$]|(?=<\\/))/.source+"(?:"+r.pattern.source+")",r.pattern.flags),r.lookbehind=!0}(e)}});var j0=ie((o6,B0)=>{"use strict";B0.exports=fm;fm.displayName="yaml";fm.aliases=["yml"];function fm(e){(function(t){var n=/[*&][^\\s[\\]{},]+/,r=/!(?:<[\\w\\-%#;/?:@&=+$,.!~*\'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*\'()]+)?/,i="(?:"+r.source+"(?:[ ]+"+n.source+")?|"+n.source+"(?:[ ]+"+r.source+")?)",a=/(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&\'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/.source}),o=/"(?:[^"\\\\\\r\\n]|\\\\.)*"|\'(?:[^\'\\\\\\r\\n]|\\\\.)*\'/.source;function s(l,u){u=(u||"").replace(/m/g,"")+"m";var c=/([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source.replace(/<<prop>>/g,function(){return i}).replace(/<<value>>/g,function(){return l});return RegExp(c,u)}t.languages.yaml={scalar:{pattern:RegExp(/([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(/<<prop>>/g,function(){return i})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source.replace(/<<prop>>/g,function(){return i}).replace(/<<key>>/g,function(){return"(?:"+a+"|"+o+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \\t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:s(/\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:s(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:s(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:s(o),lookbehind:!0,greedy:!0},number:{pattern:s(/[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/.source,"i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\\]{}\\-,|>?]|\\.\\.\\./},t.languages.yml=t.languages.yaml})(e)}});var i1=ie((I6,r1)=>{r1.exports=CR;var ER=Object.prototype.hasOwnProperty;function CR(){for(var e={},t=0;t<arguments.length;t++){var n=arguments[t];for(var r in n)ER.call(n,r)&&(e[r]=n[r])}return e}});var gm=ie((P6,o1)=>{"use strict";o1.exports=a1;var hm=a1.prototype;hm.space=null;hm.normal={};hm.property={};function a1(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}});var u1=ie((L6,l1)=>{"use strict";var s1=i1(),TR=gm();l1.exports=AR;function AR(e){for(var t=e.length,n=[],r=[],i=-1,a,o;++i<t;)a=e[i],n.push(a.property),r.push(a.normal),o=a.space;return new TR(s1.apply(null,n),s1.apply(null,r),o)}});var Kl=ie((O6,c1)=>{"use strict";c1.exports=RR;function RR(e){return e.toLowerCase()}});var ym=ie((_6,p1)=>{"use strict";p1.exports=d1;var un=d1.prototype;un.space=null;un.attribute=null;un.property=null;un.boolean=!1;un.booleanish=!1;un.overloadedBoolean=!1;un.number=!1;un.commaSeparated=!1;un.spaceSeparated=!1;un.commaOrSpaceSeparated=!1;un.mustUseProperty=!1;un.defined=!1;function d1(e,t){this.property=e,this.attribute=t}});var Gl=ie(Ir=>{"use strict";var IR=0;Ir.boolean=ui();Ir.booleanish=ui();Ir.overloadedBoolean=ui();Ir.number=ui();Ir.spaceSeparated=ui();Ir.commaSeparated=ui();Ir.commaOrSpaceSeparated=ui();function ui(){return Math.pow(2,++IR)}});var bm=ie((F6,y1)=>{"use strict";var h1=ym(),m1=Gl();y1.exports=vm;vm.prototype=new h1;vm.prototype.defined=!0;var g1=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"],PR=g1.length;function vm(e,t,n,r){var i=-1,a;for(f1(this,"space",r),h1.call(this,e,t);++i<PR;)a=g1[i],f1(this,a,(n&m1[a])===m1[a])}function f1(e,t,n){n&&(e[t]=n)}});var ia=ie((z6,b1)=>{"use strict";var v1=Kl(),LR=gm(),OR=bm();b1.exports=_R;function _R(e){var t=e.space,n=e.mustUseProperty||[],r=e.attributes||{},i=e.properties,a=e.transform,o={},s={},l,u;for(l in i)u=new OR(l,a(r,l),i[l],t),n.indexOf(l)!==-1&&(u.mustUseProperty=!0),o[l]=u,s[v1(l)]=l,s[v1(u.attribute)]=l;return new LR(o,s,t)}});var w1=ie(($6,k1)=>{"use strict";var DR=ia();k1.exports=DR({space:"xlink",transform:FR,properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}});function FR(e,t){return"xlink:"+t.slice(5).toLowerCase()}});var N1=ie((M6,x1)=>{"use strict";var zR=ia();x1.exports=zR({space:"xml",transform:$R,properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function $R(e,t){return"xml:"+t.slice(3).toLowerCase()}});var E1=ie((B6,S1)=>{"use strict";S1.exports=MR;function MR(e,t){return t in e?e[t]:t}});var km=ie((j6,C1)=>{"use strict";var BR=E1();C1.exports=jR;function jR(e,t){return BR(e,t.toLowerCase())}});var A1=ie((U6,T1)=>{"use strict";var UR=ia(),HR=km();T1.exports=UR({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:HR,properties:{xmlns:null,xmlnsXLink:null}})});var I1=ie((H6,R1)=>{"use strict";var wm=Gl(),qR=ia(),jt=wm.booleanish,cn=wm.number,ci=wm.spaceSeparated;R1.exports=qR({transform:VR,properties:{ariaActiveDescendant:null,ariaAtomic:jt,ariaAutoComplete:null,ariaBusy:jt,ariaChecked:jt,ariaColCount:cn,ariaColIndex:cn,ariaColSpan:cn,ariaControls:ci,ariaCurrent:null,ariaDescribedBy:ci,ariaDetails:null,ariaDisabled:jt,ariaDropEffect:ci,ariaErrorMessage:null,ariaExpanded:jt,ariaFlowTo:ci,ariaGrabbed:jt,ariaHasPopup:null,ariaHidden:jt,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ci,ariaLevel:cn,ariaLive:null,ariaModal:jt,ariaMultiLine:jt,ariaMultiSelectable:jt,ariaOrientation:null,ariaOwns:ci,ariaPlaceholder:null,ariaPosInSet:cn,ariaPressed:jt,ariaReadOnly:jt,ariaRelevant:null,ariaRequired:jt,ariaRoleDescription:ci,ariaRowCount:cn,ariaRowIndex:cn,ariaRowSpan:cn,ariaSelected:jt,ariaSetSize:cn,ariaSort:null,ariaValueMax:cn,ariaValueMin:cn,ariaValueNow:cn,ariaValueText:null,role:null}});function VR(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});var L1=ie((q6,P1)=>{"use strict";var aa=Gl(),WR=ia(),KR=km(),Te=aa.boolean,GR=aa.overloadedBoolean,Lo=aa.booleanish,qe=aa.number,_t=aa.spaceSeparated,Ql=aa.commaSeparated;P1.exports=WR({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:KR,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Ql,acceptCharset:_t,accessKey:_t,action:null,allow:null,allowFullScreen:Te,allowPaymentRequest:Te,allowUserMedia:Te,alt:null,as:null,async:Te,autoCapitalize:null,autoComplete:_t,autoFocus:Te,autoPlay:Te,capture:Te,charSet:null,checked:Te,cite:null,className:_t,cols:qe,colSpan:null,content:null,contentEditable:Lo,controls:Te,controlsList:_t,coords:qe|Ql,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Te,defer:Te,dir:null,dirName:null,disabled:Te,download:GR,draggable:Lo,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Te,formTarget:null,headers:_t,height:qe,hidden:Te,high:qe,href:null,hrefLang:null,htmlFor:_t,httpEquiv:_t,id:null,imageSizes:null,imageSrcSet:Ql,inputMode:null,integrity:null,is:null,isMap:Te,itemId:null,itemProp:_t,itemRef:_t,itemScope:Te,itemType:_t,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Te,low:qe,manifest:null,max:null,maxLength:qe,media:null,method:null,min:null,minLength:qe,multiple:Te,muted:Te,name:null,nonce:null,noModule:Te,noValidate:Te,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextMenu:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Te,optimum:qe,pattern:null,ping:_t,placeholder:null,playsInline:Te,poster:null,preload:null,readOnly:Te,referrerPolicy:null,rel:_t,required:Te,reversed:Te,rows:qe,rowSpan:qe,sandbox:_t,scope:null,scoped:Te,seamless:Te,selected:Te,shape:null,size:qe,sizes:null,slot:null,span:qe,spellCheck:Lo,src:null,srcDoc:null,srcLang:null,srcSet:Ql,start:qe,step:null,style:null,tabIndex:qe,target:null,title:null,translate:null,type:null,typeMustMatch:Te,useMap:null,value:Lo,width:qe,wrap:null,align:null,aLink:null,archive:_t,axis:null,background:null,bgColor:null,border:qe,borderColor:null,bottomMargin:qe,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Te,declare:Te,event:null,face:null,frame:null,frameBorder:null,hSpace:qe,leftMargin:qe,link:null,longDesc:null,lowSrc:null,marginHeight:qe,marginWidth:qe,noResize:Te,noHref:Te,noShade:Te,noWrap:Te,object:null,profile:null,prompt:null,rev:null,rightMargin:qe,rules:null,scheme:null,scrolling:Lo,standby:null,summary:null,text:null,topMargin:qe,valueType:null,version:null,vAlign:null,vLink:null,vSpace:qe,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Te,disableRemotePlayback:Te,prefix:null,property:null,results:qe,security:null,unselectable:null}})});var _1=ie((V6,O1)=>{"use strict";var QR=u1(),YR=w1(),XR=N1(),ZR=A1(),JR=I1(),eI=L1();O1.exports=QR([XR,YR,ZR,JR,eI])});var z1=ie((W6,F1)=>{"use strict";var tI=Kl(),nI=bm(),rI=ym(),xm="data";F1.exports=oI;var iI=/^data[-\\w.:]+$/i,D1=/-[a-z]/g,aI=/[A-Z]/g;function oI(e,t){var n=tI(t),r=t,i=rI;return n in e.normal?e.property[e.normal[n]]:(n.length>4&&n.slice(0,4)===xm&&iI.test(t)&&(t.charAt(4)==="-"?r=sI(t):t=lI(t),i=nI),new i(r,t))}function sI(e){var t=e.slice(5).replace(D1,cI);return xm+t.charAt(0).toUpperCase()+t.slice(1)}function lI(e){var t=e.slice(4);return D1.test(t)?e:(t=t.replace(aI,uI),t.charAt(0)!=="-"&&(t="-"+t),xm+t)}function uI(e){return"-"+e.toLowerCase()}function cI(e){return e.charAt(1).toUpperCase()}});var B1=ie((K6,M1)=>{"use strict";M1.exports=dI;var $1=/[#.]/g;function dI(e,t){for(var n=e||"",r=t||"div",i={},a=0,o,s,l;a<n.length;)$1.lastIndex=a,l=$1.exec(n),o=n.slice(a,l?l.index:n.length),o&&(s?s==="#"?i.id=o:i.className?i.className.push(o):i.className=[o]:r=o,a+=o.length),l&&(s=l[0],a++);return{type:"element",tagName:r,properties:i,children:[]}}});var U1=ie(Nm=>{"use strict";Nm.parse=fI;Nm.stringify=hI;var j1="",pI=" ",mI=/[ \\t\\n\\r\\f]+/g;function fI(e){var t=String(e||j1).trim();return t===j1?[]:t.split(mI)}function hI(e){return e.join(pI).trim()}});var q1=ie(Em=>{"use strict";Em.parse=gI;Em.stringify=yI;var Sm=",",H1=" ",Oo="";function gI(e){for(var t=[],n=String(e||Oo),r=n.indexOf(Sm),i=0,a=!1,o;!a;)r===-1&&(r=n.length,a=!0),o=n.slice(i,r).trim(),(o||!a)&&t.push(o),i=r+1,r=n.indexOf(Sm,i);return t}function yI(e,t){var n=t||{},r=n.padLeft===!1?Oo:H1,i=n.padRight?H1:Oo;return e[e.length-1]===Oo&&(e=e.concat(Oo)),e.join(i+Sm+r).trim()}});var X1=ie((Y6,Y1)=>{"use strict";var vI=z1(),V1=Kl(),bI=B1(),W1=U1().parse,K1=q1().parse;Y1.exports=wI;var kI={}.hasOwnProperty;function wI(e,t,n){var r=n?CI(n):null;return i;function i(o,s){var l=bI(o,t),u=Array.prototype.slice.call(arguments,2),c=l.tagName.toLowerCase(),d;if(l.tagName=r&&kI.call(r,c)?r[c]:c,s&&xI(s,l)&&(u.unshift(s),s=null),s)for(d in s)a(l.properties,d,s[d]);return Q1(l.children,u),l.tagName==="template"&&(l.content={type:"root",children:l.children},l.children=[]),l}function a(o,s,l){var u,c,d;l==null||l!==l||(u=vI(e,s),c=u.property,d=l,typeof d=="string"&&(u.spaceSeparated?d=W1(d):u.commaSeparated?d=K1(d):u.commaOrSpaceSeparated&&(d=W1(K1(d).join(" ")))),c==="style"&&typeof l!="string"&&(d=EI(d)),c==="className"&&o.className&&(d=o.className.concat(d)),o[c]=SI(u,c,d))}}function xI(e,t){return typeof e=="string"||"length"in e||NI(t.tagName,e)}function NI(e,t){var n=t.type;return e==="input"||!n||typeof n!="string"?!1:typeof t.children=="object"&&"length"in t.children?!0:(n=n.toLowerCase(),e==="button"?n!=="menu"&&n!=="submit"&&n!=="reset"&&n!=="button":"value"in t)}function Q1(e,t){var n,r;if(typeof t=="string"||typeof t=="number"){e.push({type:"text",value:String(t)});return}if(typeof t=="object"&&"length"in t){for(n=-1,r=t.length;++n<r;)Q1(e,t[n]);return}if(typeof t!="object"||!("type"in t))throw new Error("Expected node, nodes, or string, got `"+t+"`");e.push(t)}function SI(e,t,n){var r,i,a;if(typeof n!="object"||!("length"in n))return G1(e,t,n);for(i=n.length,r=-1,a=[];++r<i;)a[r]=G1(e,t,n[r]);return a}function G1(e,t,n){var r=n;return e.number||e.positiveNumber?!isNaN(r)&&r!==""&&(r=Number(r)):(e.boolean||e.overloadedBoolean)&&typeof r=="string"&&(r===""||V1(n)===V1(t))&&(r=!0),r}function EI(e){var t=[],n;for(n in e)t.push([n,e[n]].join(": "));return t.join("; ")}function CI(e){for(var t=e.length,n=-1,r={},i;++n<t;)i=e[n],r[i.toLowerCase()]=i;return r}});var ex=ie((X6,J1)=>{"use strict";var TI=_1(),AI=X1(),Z1=AI(TI,"div");Z1.displayName="html";J1.exports=Z1});var nx=ie((Z6,tx)=>{"use strict";tx.exports=ex()});var rx=ie((J6,RI)=>{RI.exports={AElig:"\\xC6",AMP:"&",Aacute:"\\xC1",Acirc:"\\xC2",Agrave:"\\xC0",Aring:"\\xC5",Atilde:"\\xC3",Auml:"\\xC4",COPY:"\\xA9",Ccedil:"\\xC7",ETH:"\\xD0",Eacute:"\\xC9",Ecirc:"\\xCA",Egrave:"\\xC8",Euml:"\\xCB",GT:">",Iacute:"\\xCD",Icirc:"\\xCE",Igrave:"\\xCC",Iuml:"\\xCF",LT:"<",Ntilde:"\\xD1",Oacute:"\\xD3",Ocirc:"\\xD4",Ograve:"\\xD2",Oslash:"\\xD8",Otilde:"\\xD5",Ouml:"\\xD6",QUOT:\'"\',REG:"\\xAE",THORN:"\\xDE",Uacute:"\\xDA",Ucirc:"\\xDB",Ugrave:"\\xD9",Uuml:"\\xDC",Yacute:"\\xDD",aacute:"\\xE1",acirc:"\\xE2",acute:"\\xB4",aelig:"\\xE6",agrave:"\\xE0",amp:"&",aring:"\\xE5",atilde:"\\xE3",auml:"\\xE4",brvbar:"\\xA6",ccedil:"\\xE7",cedil:"\\xB8",cent:"\\xA2",copy:"\\xA9",curren:"\\xA4",deg:"\\xB0",divide:"\\xF7",eacute:"\\xE9",ecirc:"\\xEA",egrave:"\\xE8",eth:"\\xF0",euml:"\\xEB",frac12:"\\xBD",frac14:"\\xBC",frac34:"\\xBE",gt:">",iacute:"\\xED",icirc:"\\xEE",iexcl:"\\xA1",igrave:"\\xEC",iquest:"\\xBF",iuml:"\\xEF",laquo:"\\xAB",lt:"<",macr:"\\xAF",micro:"\\xB5",middot:"\\xB7",nbsp:"\\xA0",not:"\\xAC",ntilde:"\\xF1",oacute:"\\xF3",ocirc:"\\xF4",ograve:"\\xF2",ordf:"\\xAA",ordm:"\\xBA",oslash:"\\xF8",otilde:"\\xF5",ouml:"\\xF6",para:"\\xB6",plusmn:"\\xB1",pound:"\\xA3",quot:\'"\',raquo:"\\xBB",reg:"\\xAE",sect:"\\xA7",shy:"\\xAD",sup1:"\\xB9",sup2:"\\xB2",sup3:"\\xB3",szlig:"\\xDF",thorn:"\\xFE",times:"\\xD7",uacute:"\\xFA",ucirc:"\\xFB",ugrave:"\\xF9",uml:"\\xA8",uuml:"\\xFC",yacute:"\\xFD",yen:"\\xA5",yuml:"\\xFF"}});var ix=ie((eB,II)=>{II.exports={"0":"\\uFFFD","128":"\\u20AC","130":"\\u201A","131":"\\u0192","132":"\\u201E","133":"\\u2026","134":"\\u2020","135":"\\u2021","136":"\\u02C6","137":"\\u2030","138":"\\u0160","139":"\\u2039","140":"\\u0152","142":"\\u017D","145":"\\u2018","146":"\\u2019","147":"\\u201C","148":"\\u201D","149":"\\u2022","150":"\\u2013","151":"\\u2014","152":"\\u02DC","153":"\\u2122","154":"\\u0161","155":"\\u203A","156":"\\u0153","158":"\\u017E","159":"\\u0178"}});var Cm=ie((tB,ax)=>{"use strict";ax.exports=PI;function PI(e){var t=typeof e=="string"?e.charCodeAt(0):e;return t>=48&&t<=57}});var sx=ie((nB,ox)=>{"use strict";ox.exports=LI;function LI(e){var t=typeof e=="string"?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}});var ux=ie((rB,lx)=>{"use strict";lx.exports=OI;function OI(e){var t=typeof e=="string"?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}});var dx=ie((iB,cx)=>{"use strict";var _I=ux(),DI=Cm();cx.exports=FI;function FI(e){return _I(e)||DI(e)}});var mx=ie((aB,px)=>{"use strict";var Yl,zI=59;px.exports=$I;function $I(e){var t="&"+e+";",n;return Yl=Yl||document.createElement("i"),Yl.innerHTML=t,n=Yl.textContent,n.charCodeAt(n.length-1)===zI&&e!=="semi"||n===t?!1:n}});var Tx=ie((oB,Cx)=>{"use strict";var fx=rx(),hx=ix(),MI=Cm(),BI=sx(),bx=dx(),jI=mx();Cx.exports=eP;var UI={}.hasOwnProperty,oa=String.fromCharCode,HI=Function.prototype,gx={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},qI=9,yx=10,VI=12,WI=32,vx=38,KI=59,GI=60,QI=61,YI=35,XI=88,ZI=120,JI=65533,sa="named",Am="hexadecimal",Rm="decimal",Im={};Im[Am]=16;Im[Rm]=10;var Xl={};Xl[sa]=bx;Xl[Rm]=MI;Xl[Am]=BI;var kx=1,wx=2,xx=3,Nx=4,Sx=5,Tm=6,Ex=7,Pr={};Pr[kx]="Named character references must be terminated by a semicolon";Pr[wx]="Numeric character references must be terminated by a semicolon";Pr[xx]="Named character references cannot be empty";Pr[Nx]="Numeric character references cannot be empty";Pr[Sx]="Named character references must be known";Pr[Tm]="Numeric character references cannot be disallowed";Pr[Ex]="Numeric character references cannot be outside the permissible Unicode range";function eP(e,t){var n={},r,i;t||(t={});for(i in gx)r=t[i],n[i]=r??gx[i];return(n.position.indent||n.position.start)&&(n.indent=n.position.indent||[],n.position=n.position.start),tP(e,n)}function tP(e,t){var n=t.additional,r=t.nonTerminated,i=t.text,a=t.reference,o=t.warning,s=t.textContext,l=t.referenceContext,u=t.warningContext,c=t.position,d=t.indent||[],p=e.length,f=0,h=-1,v=c.column||1,b=c.line||1,g="",y=[],x,N,S,k,A,I,z,R,X,B,F,q,O,Y,oe,j,_,m,E;for(typeof n=="string"&&(n=n.charCodeAt(0)),j=D(),R=o?C:HI,f--,p++;++f<p;)if(A===yx&&(v=d[h]||1),A=e.charCodeAt(f),A===vx){if(z=e.charCodeAt(f+1),z===qI||z===yx||z===VI||z===WI||z===vx||z===GI||z!==z||n&&z===n){g+=oa(A),v++;continue}for(O=f+1,q=O,E=O,z===YI?(E=++q,z=e.charCodeAt(E),z===XI||z===ZI?(Y=Am,E=++q):Y=Rm):Y=sa,x="",F="",k="",oe=Xl[Y],E--;++E<p&&(z=e.charCodeAt(E),!!oe(z));)k+=oa(z),Y===sa&&UI.call(fx,k)&&(x=k,F=fx[k]);S=e.charCodeAt(E)===KI,S&&(E++,N=Y===sa?jI(k):!1,N&&(x=k,F=N)),m=1+E-O,!S&&!r||(k?Y===sa?(S&&!F?R(Sx,1):(x!==k&&(E=q+x.length,m=1+E-q,S=!1),S||(X=x?kx:xx,t.attribute?(z=e.charCodeAt(E),z===QI?(R(X,m),F=null):bx(z)?F=null:R(X,m)):R(X,m))),I=F):(S||R(wx,m),I=parseInt(k,Im[Y]),nP(I)?(R(Ex,m),I=oa(JI)):I in hx?(R(Tm,m),I=hx[I]):(B="",rP(I)&&R(Tm,m),I>65535&&(I-=65536,B+=oa(I>>>10|55296),I=56320|I&1023),I=B+oa(I))):Y!==sa&&R(Nx,m)),I?(pe(),j=D(),f=E-1,v+=E-O+1,y.push(I),_=D(),_.offset++,a&&a.call(l,I,{start:j,end:_},e.slice(O-1,E)),j=_):(k=e.slice(O-1,E),g+=k,v+=k.length,f=E-1)}else A===10&&(b++,h++,v=0),A===A?(g+=oa(A),v++):pe();return y.join("");function D(){return{line:b,column:v,offset:f+(c.offset||0)}}function C(Ne,ee){var ue=D();ue.column+=ee,ue.offset+=ee,o.call(u,Pr[Ne],ue,Ne)}function pe(){g&&(y.push(g),i&&i.call(s,g,{start:j,end:D()}),g="")}}function nP(e){return e>=55296&&e<=57343||e>1114111}function rP(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}});var Rx=ie((sB,Zl)=>{var iP=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};var Ax=function(e){var t=/(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i,n=0,r={},i={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function v(b){return b instanceof a?new a(b.type,v(b.content),b.alias):Array.isArray(b)?b.map(v):b.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\\u00a0/g," ")},type:function(v){return Object.prototype.toString.call(v).slice(8,-1)},objId:function(v){return v.__id||Object.defineProperty(v,"__id",{value:++n}),v.__id},clone:function v(b,g){g=g||{};var y,x;switch(i.util.type(b)){case"Object":if(x=i.util.objId(b),g[x])return g[x];y={},g[x]=y;for(var N in b)b.hasOwnProperty(N)&&(y[N]=v(b[N],g));return y;case"Array":return x=i.util.objId(b),g[x]?g[x]:(y=[],g[x]=y,b.forEach(function(S,k){y[k]=v(S,g)}),y);default:return b}},getLanguage:function(v){for(;v;){var b=t.exec(v.className);if(b)return b[1].toLowerCase();v=v.parentElement}return"none"},setLanguage:function(v,b){v.className=v.className.replace(RegExp(t,"gi"),""),v.classList.add("language-"+b)},currentScript:function(){if(typeof document>"u")return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(y){var v=(/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(y.stack)||[])[1];if(v){var b=document.getElementsByTagName("script");for(var g in b)if(b[g].src==v)return b[g]}return null}},isActive:function(v,b,g){for(var y="no-"+b;v;){var x=v.classList;if(x.contains(b))return!0;if(x.contains(y))return!1;v=v.parentElement}return!!g}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(v,b){var g=i.util.clone(i.languages[v]);for(var y in b)g[y]=b[y];return g},insertBefore:function(v,b,g,y){y=y||i.languages;var x=y[v],N={};for(var S in x)if(x.hasOwnProperty(S)){if(S==b)for(var k in g)g.hasOwnProperty(k)&&(N[k]=g[k]);g.hasOwnProperty(S)||(N[S]=x[S])}var A=y[v];return y[v]=N,i.languages.DFS(i.languages,function(I,z){z===A&&I!=v&&(this[I]=N)}),N},DFS:function v(b,g,y,x){x=x||{};var N=i.util.objId;for(var S in b)if(b.hasOwnProperty(S)){g.call(b,S,b[S],y||S);var k=b[S],A=i.util.type(k);A==="Object"&&!x[N(k)]?(x[N(k)]=!0,v(k,g,null,x)):A==="Array"&&!x[N(k)]&&(x[N(k)]=!0,v(k,g,S,x))}}},plugins:{},highlightAll:function(v,b){i.highlightAllUnder(document,v,b)},highlightAllUnder:function(v,b,g){var y={callback:g,container:v,selector:\'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code\'};i.hooks.run("before-highlightall",y),y.elements=Array.prototype.slice.apply(y.container.querySelectorAll(y.selector)),i.hooks.run("before-all-elements-highlight",y);for(var x=0,N;N=y.elements[x++];)i.highlightElement(N,b===!0,y.callback)},highlightElement:function(v,b,g){var y=i.util.getLanguage(v),x=i.languages[y];i.util.setLanguage(v,y);var N=v.parentElement;N&&N.nodeName.toLowerCase()==="pre"&&i.util.setLanguage(N,y);var S=v.textContent,k={element:v,language:y,grammar:x,code:S};function A(z){k.highlightedCode=z,i.hooks.run("before-insert",k),k.element.innerHTML=k.highlightedCode,i.hooks.run("after-highlight",k),i.hooks.run("complete",k),g&&g.call(k.element)}if(i.hooks.run("before-sanity-check",k),N=k.element.parentElement,N&&N.nodeName.toLowerCase()==="pre"&&!N.hasAttribute("tabindex")&&N.setAttribute("tabindex","0"),!k.code){i.hooks.run("complete",k),g&&g.call(k.element);return}if(i.hooks.run("before-highlight",k),!k.grammar){A(i.util.encode(k.code));return}if(b&&e.Worker){var I=new Worker(i.filename);I.onmessage=function(z){A(z.data)},I.postMessage(JSON.stringify({language:k.language,code:k.code,immediateClose:!0}))}else A(i.highlight(k.code,k.grammar,k.language))},highlight:function(v,b,g){var y={code:v,grammar:b,language:g};if(i.hooks.run("before-tokenize",y),!y.grammar)throw new Error(\'The language "\'+y.language+\'" has no grammar.\');return y.tokens=i.tokenize(y.code,y.grammar),i.hooks.run("after-tokenize",y),a.stringify(i.util.encode(y.tokens),y.language)},tokenize:function(v,b){var g=b.rest;if(g){for(var y in g)b[y]=g[y];delete b.rest}var x=new l;return u(x,x.head,v),s(v,x,b,x.head,0),d(x)},hooks:{all:{},add:function(v,b){var g=i.hooks.all;g[v]=g[v]||[],g[v].push(b)},run:function(v,b){var g=i.hooks.all[v];if(!(!g||!g.length))for(var y=0,x;x=g[y++];)x(b)}},Token:a};e.Prism=i;function a(v,b,g,y){this.type=v,this.content=b,this.alias=g,this.length=(y||"").length|0}a.stringify=function v(b,g){if(typeof b=="string")return b;if(Array.isArray(b)){var y="";return b.forEach(function(A){y+=v(A,g)}),y}var x={type:b.type,content:v(b.content,g),tag:"span",classes:["token",b.type],attributes:{},language:g},N=b.alias;N&&(Array.isArray(N)?Array.prototype.push.apply(x.classes,N):x.classes.push(N)),i.hooks.run("wrap",x);var S="";for(var k in x.attributes)S+=" "+k+\'="\'+(x.attributes[k]||"").replace(/"/g,"&quot;")+\'"\';return"<"+x.tag+\' class="\'+x.classes.join(" ")+\'"\'+S+">"+x.content+"</"+x.tag+">"};function o(v,b,g,y){v.lastIndex=b;var x=v.exec(g);if(x&&y&&x[1]){var N=x[1].length;x.index+=N,x[0]=x[0].slice(N)}return x}function s(v,b,g,y,x,N){for(var S in g)if(!(!g.hasOwnProperty(S)||!g[S])){var k=g[S];k=Array.isArray(k)?k:[k];for(var A=0;A<k.length;++A){if(N&&N.cause==S+","+A)return;var I=k[A],z=I.inside,R=!!I.lookbehind,X=!!I.greedy,B=I.alias;if(X&&!I.pattern.global){var F=I.pattern.toString().match(/[imsuy]*$/)[0];I.pattern=RegExp(I.pattern.source,F+"g")}for(var q=I.pattern||I,O=y.next,Y=x;O!==b.tail&&!(N&&Y>=N.reach);Y+=O.value.length,O=O.next){var oe=O.value;if(b.length>v.length)return;if(!(oe instanceof a)){var j=1,_;if(X){if(_=o(q,Y,v,R),!_||_.index>=v.length)break;var C=_.index,m=_.index+_[0].length,E=Y;for(E+=O.value.length;C>=E;)O=O.next,E+=O.value.length;if(E-=O.value.length,Y=E,O.value instanceof a)continue;for(var D=O;D!==b.tail&&(E<m||typeof D.value=="string");D=D.next)j++,E+=D.value.length;j--,oe=v.slice(Y,E),_.index-=Y}else if(_=o(q,0,oe,R),!_)continue;var C=_.index,pe=_[0],Ne=oe.slice(0,C),ee=oe.slice(C+pe.length),ue=Y+oe.length;N&&ue>N.reach&&(N.reach=ue);var ge=O.prev;Ne&&(ge=u(b,ge,Ne),Y+=Ne.length),c(b,ge,j);var pt=new a(S,z?i.tokenize(pe,z):pe,B,pe);if(O=u(b,ge,pt),ee&&u(b,O,ee),j>1){var et={cause:S+","+A,reach:ue};s(v,b,g,O.prev,Y,et),N&&et.reach>N.reach&&(N.reach=et.reach)}}}}}}function l(){var v={value:null,prev:null,next:null},b={value:null,prev:v,next:null};v.next=b,this.head=v,this.tail=b,this.length=0}function u(v,b,g){var y=b.next,x={value:g,prev:b,next:y};return b.next=x,y.prev=x,v.length++,x}function c(v,b,g){for(var y=b.next,x=0;x<g&&y!==v.tail;x++)y=y.next;b.next=y,y.prev=b,v.length-=x}function d(v){for(var b=[],g=v.head.next;g!==v.tail;)b.push(g.value),g=g.next;return b}if(!e.document)return e.addEventListener&&(i.disableWorkerMessageHandler||e.addEventListener("message",function(v){var b=JSON.parse(v.data),g=b.language,y=b.code,x=b.immediateClose;e.postMessage(i.highlight(y,i.languages[g],g)),x&&e.close()},!1)),i;var p=i.util.currentScript();p&&(i.filename=p.src,p.hasAttribute("data-manual")&&(i.manual=!0));function f(){i.manual||i.highlightAll()}if(!i.manual){var h=document.readyState;h==="loading"||h==="interactive"&&p&&p.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return i}(iP);typeof Zl<"u"&&Zl.exports&&(Zl.exports=Ax);typeof global<"u"&&(global.Prism=Ax)});var Lm=ie((lB,Ix)=>{"use strict";Ix.exports=Pm;Pm.displayName="css";Pm.aliases=[];function Pm(e){(function(t){var n=/(?:"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"|\'(?:\\\\(?:\\r\\n|[\\s\\S])|[^\'\\\\\\r\\n])*\')/;t.languages.css={comment:/\\/\\*[\\s\\S]*?\\*\\//,atrule:{pattern:/@[\\w-](?:[^;{\\s]|\\s+(?![\\s{]))*(?:;|(?=\\s*\\{))/,inside:{rule:/^@[\\w-]+/,"selector-function-argument":{pattern:/(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\\\burl\\\\((?:"+n.source+"|"+/(?:[^\\\\\\r\\n()"\']|\\\\[\\s\\S])*/.source+")\\\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\\(|\\)$/,string:{pattern:RegExp("^"+n.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\\\s])[^{}\\\\s](?:[^{};"\'\\\\s]|\\\\s+(?![\\\\s{])|`+n.source+")*(?=\\\\s*\\\\{)"),lookbehind:!0},string:{pattern:n,greedy:!0},property:{pattern:/(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,lookbehind:!0},important:/!important\\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,lookbehind:!0},punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var r=t.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))})(e)}});var Lx=ie((uB,Px)=>{"use strict";Px.exports=Om;Om.displayName="clike";Om.aliases=[];function Om(e){e.languages.clike={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["\'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},"class-name":{pattern:/(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\\\]/}},keyword:/\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,boolean:/\\b(?:false|true)\\b/,function:/\\b\\w+(?=\\()/,number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,punctuation:/[{}[\\];(),.:]/}}});var Fx=ie((cB,Dx)=>{"use strict";var _o=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{},aP=kP();_o.Prism={manual:!0,disableWorkerMessageHandler:!0};var oP=nx(),sP=Tx(),Ox=Rx(),lP=tm(),uP=Lm(),cP=Lx(),dP=Wp();aP();var _m={}.hasOwnProperty;function _x(){}_x.prototype=Ox;var at=new _x;Dx.exports=at;at.highlight=mP;at.register=Do;at.alias=pP;at.registered=fP;at.listLanguages=hP;Do(lP);Do(uP);Do(cP);Do(dP);at.util.encode=vP;at.Token.stringify=gP;function Do(e){if(typeof e!="function"||!e.displayName)throw new Error("Expected `function` for `grammar`, got `"+e+"`");at.languages[e.displayName]===void 0&&e(at)}function pP(e,t){var n=at.languages,r=e,i,a,o,s;t&&(r={},r[e]=t);for(i in r)for(a=r[i],a=typeof a=="string"?[a]:a,o=a.length,s=-1;++s<o;)n[a[s]]=n[i]}function mP(e,t){var n=Ox.highlight,r;if(typeof e!="string")throw new Error("Expected `string` for `value`, got `"+e+"`");if(at.util.type(t)==="Object")r=t,t=null;else{if(typeof t!="string")throw new Error("Expected `string` for `name`, got `"+t+"`");if(_m.call(at.languages,t))r=at.languages[t];else throw new Error("Unknown language: `"+t+"` is not registered")}return n.call(this,e,r,t)}function fP(e){if(typeof e!="string")throw new Error("Expected `string` for `language`, got `"+e+"`");return _m.call(at.languages,e)}function hP(){var e=at.languages,t=[],n;for(n in e)_m.call(e,n)&&typeof e[n]=="object"&&t.push(n);return t}function gP(e,t,n){var r;return typeof e=="string"?{type:"text",value:e}:at.util.type(e)==="Array"?yP(e,t):(r={type:e.type,content:at.Token.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n},e.alias&&(r.classes=r.classes.concat(e.alias)),at.hooks.run("wrap",r),oP(r.tag+"."+r.classes.join("."),bP(r.attributes),r.content))}function yP(e,t){for(var n=[],r=e.length,i=-1,a;++i<r;)a=e[i],a!==""&&a!==null&&a!==void 0&&n.push(a);for(i=-1,r=n.length;++i<r;)a=n[i],n[i]=at.Token.stringify(a,t,n);return n}function vP(e){return e}function bP(e){var t;for(t in e)e[t]=sP(e[t]);return e}function kP(){var e="Prism"in _o,t=e?_o.Prism:void 0;return n;function n(){e?_o.Prism=t:delete _o.Prism,e=void 0,t=void 0}}});var CN=ie((Tj,EN)=>{"use strict";EN.exports=kf;kf.displayName="scss";kf.aliases=[];function kf(e){e.languages.scss=e.languages.extend("css",{comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,lookbehind:!0},atrule:{pattern:/@[\\w-](?:\\([^()]+\\)|[^()\\s]|\\s+(?!\\s))*?(?=\\s+[{;])/,inside:{rule:/@[\\w-]+/}},url:/(?:[-a-z]+-)?url(?=\\()/i,selector:{pattern:/(?=\\S)[^@;{}()]?(?:[^@;{}()\\s]|\\s+(?!\\s)|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\\w]+/,variable:/\\$[-\\w]+|#\\{\\$[-\\w]+\\}/}},property:{pattern:/(?:[-\\w]|\\$[-\\w]|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,inside:{variable:/\\$[-\\w]+|#\\{\\$[-\\w]+\\}/}}}),e.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore("scss","important",{variable:/\\$[-\\w]+|#\\{\\$[-\\w]+\\}/}),e.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\\b(?:as|hide|show|with)\\b/i,alias:"keyword"},placeholder:{pattern:/%[-\\w]+/,alias:"selector"},statement:{pattern:/\\B!(?:default|optional)\\b/i,alias:"keyword"},boolean:/\\b(?:false|true)\\b/,null:{pattern:/\\bnull\\b/,alias:"keyword"},operator:{pattern:/(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|not|or)(?=\\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}});var Oe=Z(tt()),uS=Z(Nv());var be=e=>e instanceof Error?e.message:String(e);var MC={models:"/models",whoami:"/whoami",status:"/status",team:"/team",fim:"/fim",chat:"/chat",embeddings:"/embeddings"},MO=Object.keys(MC);var BC="rjmacarthy.twinny",co=(e,t,n="vscode")=>{let r=new URLSearchParams({url:e.replace(/\\/+$/,""),code:t});return`${n}://${BC}/join?${r.toString()}`};var Yn=class extends Error{constructor(n,r){super(n);this.status=r}},ne=async(e,t,n={})=>{let r=await fetch(e,{method:n.method??"GET",headers:{Authorization:`Bearer ${t}`,...n.body!==void 0?{"Content-Type":"application/json"}:{}},...n.body!==void 0?{body:JSON.stringify(n.body)}:{}}),i=await r.text(),a;try{a=JSON.parse(i)}catch{a=void 0}if(!r.ok){let o=a?.error?.message||`The gateway answered ${r.status}.`;throw new Yn(o,r.status)}return a};var An=Z(tt());var $=e=>e.toLocaleString("en-US"),Gi=(e,t)=>t?`${Math.round(e/t*100)}%`:"\\u2013",wr=e=>e.replace("T"," ").slice(0,16),Gr=e=>e.replace("T"," ").slice(0,19),Le=(e,t=Date.now())=>{let n=Math.round((t-Date.parse(e))/1e3);if(!Number.isFinite(n))return"\\u2013";if(n<0)return"just now";if(n<60)return`${n}s ago`;let r=Math.round(n/60);if(r<60)return`${r} min ago`;let i=Math.round(r/60);if(i<24)return`${i} h ago`;let a=Math.round(i/24);return a<14?`${a} d ago`:e.slice(0,10)},po=(e,t=Date.now())=>{let n=Math.round((Date.parse(e)-t)/1e3);return Number.isFinite(n)?n<=0?"expired":n<60?`in ${n}s`:n<3600?`in ${Math.round(n/60)} min`:n<172800?`in ${Math.round(n/3600)} h`:`in ${Math.round(n/86400)} days`:"\\u2013"},Lt=e=>e<1e3?`${$(Math.round(e))} ms`:`${(e/1e3).toFixed(e<1e4?1:0)} s`,wt=e=>e<1e4?$(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`,Fe=(e,t,n=`${t}s`)=>`${$(e)} ${e===1?t:n}`;var ye=Z(Ie()),KC=["","key.","invite.","signin.","config.","license.","plugin."],GC={"":"everything","key.":"keys","invite.":"invites","signin.":"sign-ins","config.":"configuration","license.":"licence","plugin.":"plugins"},Tv=({apiKey:e})=>{let[t,n]=(0,An.useState)(null),[r,i]=(0,An.useState)(),[a,o]=(0,An.useState)(""),[s,l]=(0,An.useState)(""),[u,c]=(0,An.useState)("30d"),d=(0,An.useCallback)(async()=>{try{let h=new URLSearchParams({since:u,limit:"500"});a&&h.set("action",a),s.trim()&&h.set("actor",s.trim()),n(await ne(`/twinny/v1/admin/audit?${h.toString()}`,e)),i(void 0)}catch(h){i(be(h))}},[e,a,s,u]);(0,An.useEffect)(()=>{d()},[d]);let p=async()=>{let v=await(await fetch("/twinny/v1/admin/audit/export",{headers:{Authorization:`Bearer ${e}`}})).blob(),b=URL.createObjectURL(v),g=document.createElement("a");g.href=b,g.download="twinny-audit.jsonl",g.click(),URL.revokeObjectURL(b)},f=h=>Object.entries(h.details??{}).map(([v,b])=>`${v}=${String(b)}`).join(" ");return(0,ye.jsxs)(ye.Fragment,{children:[(0,ye.jsxs)("div",{className:"page-title",children:[(0,ye.jsx)("h2",{children:"Audit log"}),(0,ye.jsx)("p",{children:"Who changed what on this gateway. Each line carries the hash of the one before it, so a gap or an edit shows."})]}),r&&(0,ye.jsx)("div",{className:"error-bar",children:r}),t&&(0,ye.jsxs)("div",{className:"tiles",children:[(0,ye.jsxs)("div",{className:"tile",children:[(0,ye.jsx)("div",{className:"label",children:"entries shown"}),(0,ye.jsx)("div",{className:"value",children:$(t.entries.length)})]}),(0,ye.jsxs)("div",{className:"tile",children:[(0,ye.jsx)("div",{className:"label",children:"entries kept"}),(0,ye.jsx)("div",{className:"value",children:$(t.verification.entries)})]}),(0,ye.jsxs)("div",{className:`tile ${t.verification.ok?"":"bad"}`,children:[(0,ye.jsx)("div",{className:"label",children:"chain"}),(0,ye.jsx)("div",{className:"value",children:t.verification.ok?"intact":"broken"})]})]}),t&&!t.verification.ok&&t.verification.brokenAt&&(0,ye.jsxs)("div",{className:"error-bar",children:["The chain breaks in ",t.verification.brokenAt.file," at line ",$(t.verification.brokenAt.line),": ",t.verification.brokenAt.reason,". Everything before it is intact."]}),(0,ye.jsxs)("section",{className:"panel",children:[(0,ye.jsxs)("div",{className:"toolbar",children:[(0,ye.jsx)("span",{className:"chips",role:"group","aria-label":"Period",children:["24h","7d","30d","365d"].map(h=>(0,ye.jsx)("button",{type:"button",className:u===h?"on":"",onClick:()=>c(h),children:h},h))}),(0,ye.jsx)("select",{value:a,onChange:h=>o(h.target.value),"aria-label":"Action",children:KC.map(h=>(0,ye.jsx)("option",{value:h,children:GC[h]},h))}),(0,ye.jsx)("input",{type:"search",className:"search",placeholder:"actor (key name)",value:s,onChange:h=>l(h.target.value),"aria-label":"Actor"}),(0,ye.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>void p(),children:"export"})]}),t?t.entries.length===0?(0,ye.jsx)("div",{className:"empty",children:"Nothing in this period."}):(0,ye.jsx)("div",{className:"scroll",children:(0,ye.jsxs)("table",{children:[(0,ye.jsx)("thead",{children:(0,ye.jsxs)("tr",{children:[(0,ye.jsx)("th",{children:"when"}),(0,ye.jsx)("th",{children:"actor"}),(0,ye.jsx)("th",{children:"action"}),(0,ye.jsx)("th",{children:"target"}),(0,ye.jsx)("th",{children:"details"}),(0,ye.jsx)("th",{children:"from"})]})}),(0,ye.jsx)("tbody",{children:t.entries.map((h,v)=>(0,ye.jsxs)("tr",{children:[(0,ye.jsx)("td",{className:"muted",title:Gr(h.ts),children:Le(h.ts)}),(0,ye.jsx)("td",{className:"entity-name",children:h.actor}),(0,ye.jsx)("td",{children:(0,ye.jsx)("span",{className:"tag",children:h.action})}),(0,ye.jsx)("td",{children:h.target??""}),(0,ye.jsx)("td",{className:"muted",children:f(h)}),(0,ye.jsx)("td",{className:"muted",children:h.from??""})]},`${h.ts}-${v}`))})]})}):(0,ye.jsx)("div",{className:"loading",children:"Loading\\u2026"})]})]})};var He=Z(tt());var T=Z(Ie()),Ld="/twinny/v1/admin/config",sl=["chat","fim","embeddings"],mo={chat:"Chat",fim:"Autocomplete (FIM)",embeddings:"Embeddings"},Rn=({label:e,value:t,onChange:n,placeholder:r,required:i,type:a="text",min:o,step:s,hint:l,max:u,pattern:c})=>(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:e}),(0,T.jsx)("input",{value:t,onChange:d=>n(d.target.value),placeholder:r,required:i,type:a,step:s,min:o,max:u,pattern:c,autoComplete:"off"}),l&&(0,T.jsx)("small",{className:"muted",children:l})]}),QC=({originalName:e,initial:t,kinds:n,onApply:r,onCancel:i})=>{let[a,o]=(0,He.useState)(e),[s,l]=(0,He.useState)(t),[u,c]=(0,He.useState)(""),d=(h,v)=>l(b=>({...b,[h]:v})),p=s.provider==="team";return(0,T.jsxs)("form",{className:"config-editor",onSubmit:h=>{h.preventDefault();let v={provider:s.provider};if(p){try{r(a.trim(),v)}catch(g){c(be(g))}return}s.apiHostname?.trim()&&(v.apiHostname=s.apiHostname.trim()),s.apiProtocol&&(v.apiProtocol=s.apiProtocol),s.apiPort!==void 0&&(v.apiPort=s.apiPort),s.apiKeyEnv?.trim()&&(v.apiKeyEnv=s.apiKeyEnv.trim());let b=Object.fromEntries(Object.entries(s.paths??{}).filter(([,g])=>g?.trim()).map(([g,y])=>[g,y.trim()]));Object.keys(b).length&&(v.paths=b);try{r(a.trim(),v)}catch(g){c(be(g))}},children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h3",{children:e?`Edit ${e}`:"Add provider"}),(0,T.jsx)("span",{className:"muted",children:p?"Teammates\' computers":"Connection settings"})]}),(0,T.jsxs)("div",{className:"config-fields",children:[(0,T.jsx)(Rn,{label:"Provider name",value:a,onChange:o,required:!0,pattern:"[A-Za-z0-9][A-Za-z0-9._\\\\-]{0,63}",placeholder:p?"team":"team-inference"}),(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"Adapter"}),(0,T.jsx)("select",{"aria-label":"Adapter",value:s.provider,onChange:h=>{let v=n.find(b=>b.id===h.target.value).defaults;l({...v,...s.apiKeyEnv?{apiKeyEnv:s.apiKeyEnv}:{}})},children:n.map(h=>(0,T.jsx)("option",{value:h.id,children:h.label},h.id))})]}),!p&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(Rn,{label:"Hostname",value:s.apiHostname??"",onChange:h=>d("apiHostname",h),placeholder:"Adapter default"}),(0,T.jsx)(Rn,{label:"Port",value:s.apiPort??"",onChange:h=>d("apiPort",h?Number(h):void 0),type:"number",min:1,max:65535,placeholder:"Adapter default"}),(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"Protocol"}),(0,T.jsxs)("select",{value:s.apiProtocol??"http",onChange:h=>d("apiProtocol",h.target.value),children:[(0,T.jsx)("option",{value:"http",children:"HTTP"}),(0,T.jsx)("option",{value:"https",children:"HTTPS"})]})]}),(0,T.jsx)(Rn,{label:"API key environment variable",value:s.apiKeyEnv??"",onChange:h=>d("apiKeyEnv",h),placeholder:"Optional, e.g. MODEL_API_KEY",pattern:"[A-Za-z_][A-Za-z0-9_]*"})]})]}),p&&(0,T.jsx)("p",{className:"config-hint",children:"Aliases on this provider are served by whichever connected teammate has the model. Developers switch sharing on from the Twinny sidebar (Share this computer with the team); nothing to configure here. Only one such provider is allowed."}),!p&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)("p",{className:"config-hint",children:"For authenticated backends, name an environment variable available to the gateway process. The key itself stays on the server."}),(0,T.jsxs)("details",{className:"advanced-fields",children:[(0,T.jsx)("summary",{children:"Custom API paths"}),(0,T.jsx)("p",{className:"config-hint",children:"Leave blank to use adapter defaults. Chat uses a base path for OpenAI-compatible adapters, such as /v1."}),(0,T.jsx)("div",{className:"config-fields",children:sl.map(h=>(0,T.jsx)(Rn,{label:`${mo[h]} path`,value:s.paths?.[h]??"",onChange:v=>d("paths",{...s.paths,[h]:v}),placeholder:"Adapter default"},h))})]})]}),u&&(0,T.jsx)("div",{className:"error",role:"alert",children:u}),(0,T.jsxs)("div",{className:"editor-actions",children:[(0,T.jsx)("button",{type:"submit",className:"primary",children:"Apply to draft"}),(0,T.jsx)("button",{type:"button",className:"ghost",onClick:i,children:"Cancel"})]})]})},YC=({initial:e,providers:t,apiKey:n,onApply:r,onCancel:i})=>{let[a,o]=(0,He.useState)(e),[s,l]=(0,He.useState)(""),[u,c]=(0,He.useState)([]),[d,p]=(0,He.useState)(!0),[f,h]=(0,He.useState)(""),[v,b]=(0,He.useState)(!1),[g,y]=(0,He.useState)(0),x=t[a.provider];(0,He.useEffect)(()=>{let k=!1;return p(!0),h(""),c([]),ne("/twinny/v1/admin/provider-models",n,{method:"POST",body:{provider:x}}).then(A=>{k||c(A.models)}).catch(A=>{k||h(be(A))}).finally(()=>{k||p(!1)}),()=>{k=!0}},[n,x,g]);let N=v||!d&&(f!==""||u.length===0);return(0,T.jsxs)("form",{className:"config-editor",onSubmit:k=>{if(k.preventDefault(),!a.model.trim()){l("Select or enter a backend model.");return}if(!a.capabilities.length){l("Choose at least one capability.");return}try{r({...a,alias:a.alias.trim(),model:a.model.trim()})}catch(A){l(be(A))}},children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h3",{children:e.alias?`Edit ${e.alias}`:"Add model"}),(0,T.jsx)("span",{className:"muted",children:"Available to developers"})]}),(0,T.jsxs)("div",{className:"config-fields",children:[(0,T.jsx)(Rn,{label:"Public alias",value:a.alias,onChange:k=>o({...a,alias:k}),required:!0,placeholder:"team-chat"}),(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"Provider"}),(0,T.jsx)("select",{"aria-label":"Provider",value:a.provider,onChange:k=>{o({...a,provider:k.target.value,model:""}),b(!1)},required:!0,children:Object.keys(t).map(k=>(0,T.jsx)("option",{value:k,children:k},k))})]}),(0,T.jsxs)("div",{className:"model-select-field",children:[N?(0,T.jsx)(Rn,{label:"Backend model name",value:a.model,onChange:k=>o({...a,model:k}),required:!0,placeholder:"Exact model name on the backend"}):(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"Backend model"}),(0,T.jsxs)("select",{"aria-label":"Backend model",value:a.model,onChange:k=>o({...a,model:k.target.value}),required:!0,disabled:d,children:[(0,T.jsx)("option",{value:"",children:d?"Fetching models\\u2026":"Select a model"}),a.model&&!u.some(k=>k.id===a.model)&&(0,T.jsxs)("option",{value:a.model,children:[a.model," (current, not listed)"]}),u.map(k=>(0,T.jsx)("option",{value:k.id,children:k.name||k.id},k.id))]})]}),(0,T.jsxs)("div",{className:"model-list-actions",children:[(0,T.jsx)("button",{type:"button",className:"ghost",disabled:d,onClick:()=>y(k=>k+1),children:d?"Fetching\\u2026":"Refresh models"}),!d&&u.length>0&&(0,T.jsx)("button",{type:"button",className:"ghost",onClick:()=>b(!v),children:v?"Choose from list":"Enter a model name"})]}),!d&&(f||!u.length)&&(0,T.jsxs)("p",{className:"config-hint",role:"status",children:[f?`Could not fetch models: ${f}`:"This provider returned no models."," Enter a name manually or refresh the list."]})]}),(0,T.jsx)(Rn,{label:"Context window (tokens)",value:a.contextWindow??"",onChange:k=>o({...a,contextWindow:k?Number(k):void 0}),type:"number",min:1,placeholder:"Optional"}),(0,T.jsx)(Rn,{label:"Price per million input tokens (for the Usage page)",value:a.price?.input??"",onChange:k=>o({...a,price:k||a.price?.output!==void 0?{input:k?Number(k):0,output:a.price?.output??0}:void 0}),type:"number",min:0,step:"any",placeholder:"Optional, e.g. 0.15",hint:"Per million tokens, in the currency set above. Examples: gpt-4o-mini 0.15 in / 0.60 out; claude-3-5-haiku 0.80 / 4.00; mistral-small 0.20 / 0.60; a local model 0 / 0 or your GPU\'s hourly cost spread over tokens."}),(0,T.jsx)(Rn,{label:"Price per million output tokens",value:a.price?.output??"",onChange:k=>o({...a,price:k||a.price?.input!==void 0?{input:a.price?.input??0,output:k?Number(k):0}:void 0}),type:"number",min:0,step:"any",placeholder:"Optional, e.g. 0.60"})]}),(0,T.jsxs)("fieldset",{className:"capability-picker",children:[(0,T.jsx)("legend",{children:"Capabilities"}),sl.map(k=>(0,T.jsxs)("label",{children:[(0,T.jsx)("input",{type:"checkbox",checked:a.capabilities.includes(k),onChange:A=>o({...a,capabilities:A.target.checked?[...a.capabilities,k]:a.capabilities.filter(I=>I!==k)})}),mo[k]]},k))]}),(0,T.jsx)("p",{className:"config-hint",children:"Select only the jobs this model supports. Developers select the public alias in Twinny."}),s&&(0,T.jsx)("div",{className:"error",role:"alert",children:s}),(0,T.jsxs)("div",{className:"editor-actions",children:[(0,T.jsx)("button",{type:"submit",className:"primary",children:"Apply to draft"}),(0,T.jsx)("button",{type:"button",className:"ghost",onClick:i,children:"Cancel"})]})]})},Av=({apiKey:e,onSaved:t,features:n=[],section:r="models",status:i,usage:a,period:o,onNavigate:s})=>{let[l,u]=(0,He.useState)(null),[c,d]=(0,He.useState)(null),[p,f]=(0,He.useState)(null),[h,v]=(0,He.useState)(null),[b,g]=(0,He.useState)(!1),[y,x]=(0,He.useState)(""),[N,S]=(0,He.useState)(""),k=!!l&&!!c&&JSON.stringify(c)!==JSON.stringify({providers:l.providers,models:l.models,teamDefaults:l.teamDefaults??{},policy:l.policy??{}}),A=m=>{u(m),d({providers:m.providers,models:m.models,teamDefaults:m.teamDefaults??{},policy:m.policy??{}}),f(null),v(null),x("")};(0,He.useEffect)(()=>{let m=!1;return ne(Ld,e).then(E=>{m||A(E)}).catch(E=>{m||x(be(E))}),()=>{m=!0}},[e]),(0,He.useEffect)(()=>{if(!k&&!p)return;let m=E=>{E.preventDefault(),E.returnValue=""};return window.addEventListener("beforeunload",m),()=>window.removeEventListener("beforeunload",m)},[k,p]);let I=async()=>{g(!0);try{A(await ne(Ld,e)),S("")}catch(m){x(be(m))}finally{g(!1)}},z=async()=>{if(!(!l||!c||b)){g(!0),x(""),S("");try{A(await ne(Ld,e,{method:"PUT",body:{revision:l.revision,...c}})),S("Saved. New requests now use this configuration."),t()}catch(m){x(be(m))}finally{g(!1)}}},R=m=>{f(m),v(null),S(""),x("")},X=()=>{if(!(!c||!h||h==="reload")){if(h.type==="provider"){let m={...c.providers};delete m[h.name],d({...c,providers:m})}else d({...c,models:c.models.filter((m,E)=>E!==h.index),teamDefaults:Object.fromEntries(Object.entries(c.teamDefaults??{}).filter(([,m])=>m!==c.models[h.index].alias))});v(null),S("")}};if(!c||!l)return(0,T.jsx)("section",{className:"panel",children:y?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)("div",{className:"error",role:"alert",children:y}),(0,T.jsx)("button",{onClick:()=>void I(),disabled:b,children:"Retry"})]}):(0,T.jsx)("div",{className:"loading",children:"Loading configuration\\u2026"})});let B=b||p!==null,F=m=>i?.backends.find(E=>E.provider===m),q=new Map((i?.models??[]).map(m=>[m.id,m.ok])),O=m=>a?.byModel[m]?.requests??0,Y=m=>l.models.find(E=>E.alias===m),oe=m=>sl.filter(E=>c.teamDefaults?.[E]===m),j=n.includes("policy"),_=p?.type==="provider"?c.providers[p.name]:void 0;return(0,T.jsxs)("div",{className:"configuration",children:[(0,T.jsxs)("div",{className:"config-toolbar",children:[(0,T.jsxs)("div",{children:[(0,T.jsx)("h2",{children:r==="policy"?"Team policy":"Providers & models"}),(0,T.jsx)("p",{children:r==="policy"?"What connected extensions enforce. Saved with the rest of the configuration.":"Connect backends. Choose the models your team can use."})]}),(0,T.jsxs)("div",{className:"editor-actions",children:[(0,T.jsx)("span",{className:k?"draft-state":"muted",children:k?"Unsaved changes":"Up to date"}),(0,T.jsx)("button",{className:"ghost",disabled:b,onClick:()=>k||p?v("reload"):void I(),children:"Reload"}),(0,T.jsx)("button",{className:"primary",disabled:!k||B,onClick:()=>void z(),children:b?"Saving\\u2026":"Save changes"})]})]}),y&&(0,T.jsx)("div",{className:"error-bar",role:"alert",children:y}),N&&(0,T.jsx)("div",{className:"success-bar",role:"status",children:N}),h==="reload"&&(0,T.jsxs)("div",{className:"confirm-bar",role:"alert",children:[(0,T.jsx)("span",{children:"Discard your draft and reload the saved configuration?"}),(0,T.jsx)("button",{className:"danger",disabled:b,onClick:()=>void I(),children:"Discard and reload"}),(0,T.jsx)("button",{className:"ghost",disabled:b,onClick:()=>v(null),children:"Cancel"})]}),(0,T.jsxs)("section",{className:"panel",hidden:r!=="models",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h2",{children:"Team defaults"}),(0,T.jsx)("span",{className:"muted",children:"What a developer gets the moment they connect"})]}),(0,T.jsx)("div",{className:"slots",children:sl.map(m=>{let E=c.teamDefaults?.[m]??"",D=c.models.find(ee=>ee.alias===E),C=D?F(D.provider):void 0,pe=D?q.get(D.alias):void 0,Ne=c.models.filter(ee=>ee.capabilities.includes(m));return(0,T.jsxs)("div",{className:`slot ${E?"":"unset"}`,children:[(0,T.jsx)("div",{className:"slot-label",children:mo[m]}),(0,T.jsxs)("select",{"aria-label":`${mo[m]} default`,disabled:B||!Ne.length,value:E,onChange:ee=>{let ue={...c.teamDefaults};ee.target.value?ue[m]=ee.target.value:delete ue[m],d({...c,teamDefaults:ue}),S("")},children:[(0,T.jsx)("option",{value:"",children:Ne.length?"Not set: developers pick their own":"No model offers this"}),Ne.map(ee=>(0,T.jsx)("option",{value:ee.alias,children:ee.alias},ee.alias))]}),(0,T.jsx)("div",{className:"slot-detail muted",children:D?(0,T.jsxs)(T.Fragment,{children:[Y(D.alias)&&pe!==void 0&&(0,T.jsx)("i",{className:`status-dot ${pe?"ok":"bad"}`,title:pe?"answering":"down"}),D.model," on ",D.provider,C&&!C.ok?(0,T.jsx)("span",{className:"revoked",children:" \\xB7 down"}):C?` \\xB7 ${Lt(C.ms)}`:"",a&&O(D.alias)>0?` \\xB7 ${Fe(O(D.alias),"request")}${o?` in ${o}`:""}`:""]}):Ne.length?"Developers keep whatever they had configured for this.":"Add a model with this capability first."})]},m)})}),(0,T.jsx)("p",{className:"config-hint",children:"Share the gateway URL and a personal access key. Developers open Twinny \\u2192 Providers \\u2192 Connect to team. Existing connections keep their aliases until they reconnect."})]}),(0,T.jsxs)("div",{hidden:r!=="policy",children:[(0,T.jsxs)("section",{className:"panel",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h2",{children:"Rules"}),(0,T.jsx)("span",{className:`pill-s ${j?"ok":"warn"}`,children:j?"enforced":"not sent: needs a licence"})]}),(0,T.jsx)("p",{className:"config-hint",children:"What connected extensions enforce on the developer\'s machine. Shown for consent before connecting, re-read at every VS Code start, and released when the developer leaves the team."}),!j&&(0,T.jsxs)("div",{className:"confirm-bar",style:{marginBottom:14},children:[(0,T.jsx)("span",{children:"Rules are saved but not sent until the gateway\'s licence includes team policy."}),s&&(0,T.jsx)("button",{type:"button",className:"ghost",onClick:()=>s("plan"),children:"Plan & licence"})]}),(0,T.jsxs)("fieldset",{className:"policy-rule",children:[(0,T.jsx)("legend",{children:"Other providers"}),[[!1,"Allow","Developers may add and use their own providers alongside the team gateway."],[!0,"Team gateway only","Developers cannot add or activate any other provider while connected."]].map(([m,E,D])=>(0,T.jsxs)("label",{className:"policy-option",children:[(0,T.jsx)("input",{type:"radio",name:"policy-team-only",checked:c.policy?.teamOnly===!0===m,disabled:B,onChange:()=>{let C={...c.policy};m?C.teamOnly=!0:delete C.teamOnly,d({...c,policy:C}),S("")}}),(0,T.jsxs)("span",{children:[(0,T.jsx)("b",{children:E}),(0,T.jsx)("small",{children:D})]})]},String(m)))]}),(0,T.jsxs)("fieldset",{className:"policy-rule",children:[(0,T.jsx)("legend",{children:"Default models"}),(0,T.jsxs)("label",{className:"policy-option",children:[(0,T.jsx)("input",{type:"checkbox",checked:c.policy?.lockDefaults===!0,disabled:B,onChange:m=>{let E={...c.policy};m.target.checked?E.lockDefaults=!0:delete E.lockDefaults,d({...c,policy:E}),S("")}}),(0,T.jsxs)("span",{children:[(0,T.jsx)("b",{children:"Keep the team defaults active"}),(0,T.jsx)("small",{children:"Chat, autocomplete and embeddings stay on the team\'s models; developers cannot switch them to another provider while connected."})]})]})]})]}),(0,T.jsxs)("section",{className:"panel",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h2",{children:"Secret shield"}),(0,T.jsx)("span",{className:"muted",children:"Applied by the gateway to every request, whatever client sent it"})]}),(0,T.jsxs)("fieldset",{className:"policy-rule",children:[(0,T.jsx)("legend",{children:"Shield prompts sent to"}),[["offMachine","Backends off this machine","Keys, tokens and passwords in prompts become placeholders before a request reaches a hosted API, another host or a teammate\'s computer, and are put back in the reply."],["always","Every backend","Local backends get placeholders too."],["off","Off","Prompts are forwarded as they arrive."]].map(([m,E,D])=>(0,T.jsxs)("label",{className:"policy-option",children:[(0,T.jsx)("input",{type:"radio",name:"secret-shield",checked:(c.policy?.secretShield??"offMachine")===m,disabled:B,onChange:()=>{let C={...c.policy};m==="offMachine"?delete C.secretShield:C.secretShield=m,d({...c,policy:C}),S("")}}),(0,T.jsxs)("span",{children:[(0,T.jsx)("b",{children:E}),(0,T.jsx)("small",{children:D})]})]},m))]})]}),(0,T.jsxs)("section",{className:"panel",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h2",{children:"Team system prompt"}),(0,T.jsx)("span",{className:"muted",children:"Sent to connected extensions and put before every chat\'s system prompt"})]}),(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"team system prompt"}),(0,T.jsx)("textarea",{rows:4,value:c.policy?.systemPrompt??"",disabled:B,placeholder:"e.g. We write TypeScript with strict mode. Prefer small functions. Never suggest adding dependencies without saying why.",onChange:m=>{let E={...c.policy};m.target.value.trim()?E.systemPrompt=m.target.value:delete E.systemPrompt,d({...c,policy:E}),S("")}})]})]}),(0,T.jsxs)("section",{className:"panel",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h2",{children:"Routing rules"}),(0,T.jsx)("span",{className:"muted",children:"By the workspace name the extension sends; the first matching rule decides"})]}),(c.policy?.routing??[]).map((m,E)=>(0,T.jsxs)("div",{className:"policy-entry",children:[(0,T.jsxs)("div",{className:"config-fields",children:[(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"workspace (glob, e.g. payments-*)"}),(0,T.jsx)("input",{value:m.workspace,disabled:B,onChange:D=>{let C=[...c.policy?.routing??[]];C[E]={...m,workspace:D.target.value},d({...c,policy:{...c.policy,routing:C}}),S("")}})]}),(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"only these aliases (comma-separated; blank: any)"}),(0,T.jsx)("input",{value:(m.aliases??[]).join(", "),disabled:B,onChange:D=>{let C=[...c.policy?.routing??[]],pe=D.target.value.split(",").map(Ne=>Ne.trim()).filter(Boolean);C[E]={...m,...pe.length?{aliases:pe}:{}},pe.length||delete C[E].aliases,d({...c,policy:{...c.policy,routing:C}}),S("")}})]})]}),(0,T.jsxs)("div",{className:"backup-options",children:[(0,T.jsxs)("label",{className:"policy-option",children:[(0,T.jsx)("input",{type:"checkbox",checked:m.localOnly===!0,disabled:B,onChange:D=>{let C=[...c.policy?.routing??[]];C[E]={...m},D.target.checked?C[E].localOnly=!0:delete C[E].localOnly,d({...c,policy:{...c.policy,routing:C}}),S("")}}),(0,T.jsxs)("span",{children:[(0,T.jsx)("b",{children:"local backends only"}),(0,T.jsx)("small",{children:"never a hosted provider"})]})]}),(0,T.jsx)("button",{type:"button",className:"ghost mini",disabled:B,onClick:()=>{let D=(c.policy?.routing??[]).filter((pe,Ne)=>Ne!==E),C={...c.policy};D.length?C.routing=D:delete C.routing,d({...c,policy:C}),S("")},children:"remove rule"})]})]},E)),(0,T.jsx)("button",{type:"button",disabled:B,onClick:()=>{let m=[...c.policy?.routing??[],{workspace:"",localOnly:!0}];d({...c,policy:{...c.policy,routing:m}}),S("")},children:"+ Add rule"})]})]}),(0,T.jsxs)("section",{className:"panel",hidden:r!=="models",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h2",{children:"Prices"}),(0,T.jsx)("span",{className:"muted",children:"what the Usage page multiplies token counts by; set per alias in its form"})]}),(0,T.jsxs)("div",{className:"newkey",children:[(0,T.jsxs)("label",{children:[(0,T.jsx)("span",{className:"muted",children:"currency"}),(0,T.jsx)("input",{value:c.pricing?.currency??"",placeholder:"USD",maxLength:3,disabled:B,style:{width:80},onChange:m=>{let E=m.target.value.toUpperCase(),D={...c};E?D.pricing={currency:E}:delete D.pricing,d(D),S("")}})]}),(0,T.jsx)("span",{className:"muted",children:c.models.filter(m=>m.price).length?`${c.models.filter(m=>m.price).length} of ${c.models.length} aliases have a price.`:"No alias has a price yet; open a model and set one per million tokens."})]})]}),(0,T.jsxs)("section",{className:"panel",hidden:r!=="models",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsxs)("h2",{children:["Providers"," ",(0,T.jsx)("span",{className:"count",children:Object.keys(c.providers).length})]}),(0,T.jsx)("button",{disabled:B,onClick:()=>R({type:"provider",name:""}),children:"+ Add provider"})]}),(0,T.jsx)("div",{className:"scroll",children:(0,T.jsxs)("table",{children:[(0,T.jsx)("thead",{children:(0,T.jsxs)("tr",{children:[(0,T.jsx)("th",{children:"Name"}),(0,T.jsx)("th",{children:"Adapter"}),(0,T.jsx)("th",{children:"Endpoint"}),(0,T.jsx)("th",{children:"Status"}),(0,T.jsx)("th",{className:"num",children:"Models"}),(0,T.jsx)("th",{children:(0,T.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,T.jsx)("tbody",{children:Object.entries(c.providers).map(([m,E])=>{let D=c.models.filter(ue=>ue.provider===m),C=l.kinds.find(ue=>ue.id===E.provider)?.defaults,pe=E.apiHostname??C?.apiHostname,Ne=E.apiPort??C?.apiPort,ee=h!=="reload"&&h?.type==="provider"&&h.name===m;return(0,T.jsxs)(He.default.Fragment,{children:[(0,T.jsxs)("tr",{className:ee?"confirming":void 0,children:[(0,T.jsx)("td",{className:"entity-name",children:m}),(0,T.jsx)("td",{children:l.kinds.find(ue=>ue.id===E.provider)?.label??E.provider}),(0,T.jsx)("td",{className:"muted",children:pe?`${E.apiProtocol??C?.apiProtocol??"http"}://${pe}${Ne?`:${Ne}`:""}`:"Managed by adapter"}),(0,T.jsx)("td",{children:(()=>{let ue=F(m);return l.providers[m]?ue?(0,T.jsx)("span",{className:`pill-s ${ue.ok?"ok":"bad"}`,children:ue.ok?`answering \\xB7 ${Lt(ue.ms)}`:`down \\xB7 ${ue.kind??"unreachable"}`}):(0,T.jsx)("span",{className:"muted",children:"\\u2013"}):(0,T.jsx)("span",{className:"pill-s warn",children:"unsaved"})})()}),(0,T.jsx)("td",{className:"num",children:D.length}),(0,T.jsxs)("td",{className:"actions",children:[(0,T.jsx)("button",{className:"ghost",disabled:B,onClick:()=>R({type:"provider",name:m}),"aria-label":`Edit provider ${m}`,children:"Edit"}),(0,T.jsx)("button",{className:"ghost",disabled:B||D.length>0||Object.keys(c.providers).length===1,title:D.length?"Remove or reassign this provider\'s models first.":"Keep at least one provider.",onClick:()=>v(ee?null:{type:"provider",name:m}),"aria-label":`Remove provider ${m}`,children:"Remove"})]})]}),ee&&(0,T.jsx)("tr",{className:"confirm-row",children:(0,T.jsx)("td",{colSpan:6,children:(0,T.jsxs)("div",{className:"confirm-bar",role:"alert",children:[(0,T.jsxs)("span",{children:["Remove provider \\u201C",m,"\\u201D from the draft?"]}),(0,T.jsx)("button",{className:"danger",disabled:b,onClick:X,autoFocus:!0,children:"Remove from draft"}),(0,T.jsx)("button",{className:"ghost",disabled:b,onClick:()=>v(null),children:"Cancel"})]})})})]},m)})})]})}),p?.type==="provider"&&(0,T.jsx)(QC,{originalName:p.name,kinds:l.kinds,initial:_??l.kinds.find(m=>m.id==="openai-compatible").defaults,onCancel:()=>f(null),onApply:(m,E)=>{if(!m)throw new Error("Enter a provider name.");if(m!==p.name&&Object.prototype.hasOwnProperty.call(c.providers,m))throw new Error("That provider name is already in use.");let D=Object.fromEntries(Object.entries(c.providers).map(([C,pe])=>C===p.name?[m,E]:[C,pe]));p.name||Object.defineProperty(D,m,{value:E,enumerable:!0,writable:!0,configurable:!0}),d({...c,providers:D,models:c.models.map(C=>C.provider===p.name?{...C,provider:m}:C)}),f(null)}},p.name)]}),(0,T.jsxs)("section",{className:"panel",hidden:r!=="models",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsxs)("h2",{children:["Models ",(0,T.jsx)("span",{className:"count",children:c.models.length})]}),(0,T.jsx)("button",{disabled:B||!Object.keys(c.providers).length,onClick:()=>R({type:"model",index:-1}),children:"+ Add model"})]}),(0,T.jsx)("div",{className:"scroll",children:(0,T.jsxs)("table",{children:[(0,T.jsx)("thead",{children:(0,T.jsxs)("tr",{children:[(0,T.jsx)("th",{children:"Public alias"}),(0,T.jsx)("th",{children:"Backend model"}),(0,T.jsx)("th",{children:"Provider"}),(0,T.jsx)("th",{children:"Capabilities"}),a&&(0,T.jsxs)("th",{className:"num",children:["Requests",o?` \\xB7 ${o}`:""]}),(0,T.jsx)("th",{children:(0,T.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,T.jsx)("tbody",{children:c.models.map((m,E)=>{let D=h!=="reload"&&h?.type==="model"&&h.index===E;return(0,T.jsxs)(He.default.Fragment,{children:[(0,T.jsxs)("tr",{className:D?"confirming":void 0,children:[(0,T.jsxs)("td",{children:[Y(m.alias)&&q.has(m.alias)?(0,T.jsx)("i",{className:`status-dot ${q.get(m.alias)?"ok":"bad"}`,title:q.get(m.alias)?"answering":"down"}):(0,T.jsx)("i",{className:"status-dot",title:"not saved yet"}),(0,T.jsx)("span",{className:"entity-name",children:m.alias})]}),(0,T.jsxs)("td",{children:[m.model,m.contextWindow?(0,T.jsxs)("div",{className:"muted",style:{fontSize:11},children:[$(m.contextWindow)," token context"]}):null]}),(0,T.jsx)("td",{className:"muted",children:m.provider}),(0,T.jsx)("td",{children:m.capabilities.map(C=>{let pe=oe(m.alias).includes(C);return(0,T.jsx)("span",{className:pe?"capability-tag default":"capability-tag",title:pe?`Team default for ${mo[C].toLowerCase()}`:void 0,children:C},C)})}),a&&(0,T.jsx)("td",{className:"num",children:O(m.alias)?$(O(m.alias)):(0,T.jsx)("span",{className:"muted",children:"0"})}),(0,T.jsxs)("td",{className:"actions",children:[(0,T.jsx)("button",{className:"ghost",disabled:B,onClick:()=>R({type:"model",index:E}),"aria-label":`Edit model ${m.alias}`,children:"Edit"}),(0,T.jsx)("button",{className:"ghost",disabled:B||c.models.length===1,title:c.models.length===1?"Keep at least one model.":void 0,onClick:()=>v(D?null:{type:"model",index:E}),"aria-label":`Remove model ${m.alias}`,children:"Remove"})]})]}),D&&(0,T.jsx)("tr",{className:"confirm-row",children:(0,T.jsx)("td",{colSpan:a?6:5,children:(0,T.jsxs)("div",{className:"confirm-bar",role:"alert",children:[(0,T.jsxs)("span",{children:["Remove model \\u201C",m.alias,"\\u201D from the draft? Developers will lose this alias when you save."]}),(0,T.jsx)("button",{className:"danger",disabled:b,onClick:X,autoFocus:!0,children:"Remove from draft"}),(0,T.jsx)("button",{className:"ghost",disabled:b,onClick:()=>v(null),children:"Cancel"})]})})})]},m.alias)})})]})}),p?.type==="model"&&(0,T.jsx)(YC,{initial:c.models[p.index]??{alias:"",provider:Object.keys(c.providers)[0],model:"",capabilities:["chat"]},providers:c.providers,apiKey:e,onCancel:()=>f(null),onApply:m=>{if(c.models.some((E,D)=>D!==p.index&&E.alias.toLowerCase()===m.alias.toLowerCase()))throw new Error("That public alias is already in use.");d({...c,teamDefaults:Object.fromEntries(Object.entries(c.teamDefaults??{}).map(([E,D])=>[E,D===c.models[p.index]?.alias?m.alias:D])),models:p.index<0?[...c.models,m]:c.models.map((E,D)=>D===p.index?m:E)}),f(null)}},p.index)]}),(0,T.jsx)("p",{className:"config-hint",hidden:r!=="models",children:"A highlighted capability is the team default for it. Changes take effect when you save; requests already running finish with their original configuration. Keep at least one provider and model."}),(0,T.jsx)("p",{className:"config-hint",hidden:r!=="policy",children:"Changes take effect when you save. Connected developers see new rules the next time VS Code starts."})]})};var ll=Z(tt());var le=Z(Ie()),XC=e=>e.requests&&e.ok/e.requests<.9?"revoked":"",Rv=({t:e,whole:t,max:n,currency:r})=>(0,le.jsxs)(le.Fragment,{children:[(0,le.jsx)("td",{className:"num",children:(0,le.jsxs)("span",{className:"share",children:[(0,le.jsx)("span",{className:"share-fill",style:{width:`${e.requests/Math.max(1,n)*100}%`}}),(0,le.jsx)("span",{className:"share-text",children:$(e.requests)})]})}),(0,le.jsx)("td",{className:"num muted",children:Gi(e.requests,t)}),(0,le.jsx)("td",{className:`num ${XC(e)}`,children:Gi(e.ok,e.requests)}),(0,le.jsx)("td",{className:`num ${e.failed?"revoked":"muted"}`,children:$(e.failed)}),(0,le.jsx)("td",{className:"num muted",children:$(e.cancelled)}),(0,le.jsx)("td",{className:"num",children:e.counted?wt(e.promptTokens):(0,le.jsx)("span",{className:"muted",children:"\\u2013"})}),(0,le.jsx)("td",{className:"num",children:e.counted?wt(e.completionTokens):(0,le.jsx)("span",{className:"muted",children:"\\u2013"})}),r&&(0,le.jsx)("td",{className:"num",children:e.cost!==void 0?Od(e.cost,r):(0,le.jsx)("span",{className:"muted",children:"\\u2013"})}),(0,le.jsx)("td",{className:"num",children:e.requests?Lt(e.ms/e.requests):"\\u2013"}),(0,le.jsx)("td",{className:"num",children:e.indexing.runs?(0,le.jsxs)("span",{title:`${$(e.indexing.calls)} embedding calls${e.indexing.texts?`, ${$(e.indexing.texts)} texts`:""}`,children:[$(e.indexing.runs),e.indexing.texts?(0,le.jsxs)("span",{className:"muted",children:[" \\xB7 ",wt(e.indexing.texts)," texts"]}):null]}):(0,le.jsx)("span",{className:"muted",children:"\\u2013"})})]}),Od=(e,t)=>`${e<.01&&e>0?"<0.01":e.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})} ${t}`,ZC=e=>(0,le.jsxs)(le.Fragment,{children:[(0,le.jsx)("th",{className:"num",children:"Requests"}),(0,le.jsx)("th",{className:"num",children:"Share"}),(0,le.jsx)("th",{className:"num",children:"OK"}),(0,le.jsx)("th",{className:"num",children:"Failed"}),(0,le.jsx)("th",{className:"num",children:"Cancelled"}),(0,le.jsx)("th",{className:"num",children:"Prompt tok"}),(0,le.jsx)("th",{className:"num",children:"Output tok"}),e&&(0,le.jsx)("th",{className:"num",children:"Cost"}),(0,le.jsx)("th",{className:"num",children:"Avg"}),(0,le.jsx)("th",{className:"num",title:"Embedding calls grouped: a developer\'s calls to one model with no two-minute gap are one run, counted as one request",children:"Index runs"})]}),Iv=({summary:e,status:t,period:n,colorOf:r})=>{let i=Object.keys(e.byPeer??{}),[a,o]=(0,ll.useState)("key"),s=e.total.requests,l=new Map(t.models.map(p=>[p.id,p.ok])),u=(0,ll.useMemo)(()=>{let p;return a==="key"?p=Object.entries(e.byKey).map(([f,h])=>({id:f,key:f,totals:h})):a==="model"?p=Object.entries(e.byModel).map(([f,h])=>({id:f,model:f,totals:h})):a==="peer"?p=Object.entries(e.byPeer??{}).map(([f,h])=>({id:f,peer:f,totals:h})):p=Object.entries(e.byKeyAndModel).flatMap(([f,h])=>Object.entries(h).map(([v,b])=>({id:`${f}\\0${v}`,key:f,model:v,totals:b}))),p.sort((f,h)=>h.totals.requests-f.totals.requests||f.id.localeCompare(h.id))},[e,a]),c=Math.max(1,...u.map(p=>p.totals.requests)),d=(p,f,h)=>(0,le.jsxs)("button",{type:"button",className:a===p?"on":"ghost",onClick:()=>o(p),children:[f,(0,le.jsx)("span",{className:"chip-count",children:$(h)})]},p);return(0,le.jsxs)(le.Fragment,{children:[(0,le.jsxs)("div",{className:"page-title",children:[(0,le.jsx)("h2",{children:"Usage"}),(0,le.jsxs)("p",{children:["Who used which model over the last ",n,". Token counts are what the backends reported. Indexing a workspace is hundreds of embedding calls; those are grouped into runs, and a run counts as one request."]})]}),(0,le.jsxs)("section",{className:"panel",children:[(0,le.jsxs)("div",{className:"section-heading",children:[(0,le.jsx)("h2",{children:a==="key"?"By developer":a==="model"?"By model":a==="peer"?"By teammate\'s computer":"By developer and model"}),(0,le.jsxs)("span",{className:"chips",role:"group","aria-label":"Group by",children:[d("key","Developers",Object.keys(e.byKey).length),d("model","Models",Object.keys(e.byModel).length),d("key-model","Developer \\xD7 model",u.length&&a==="key-model"?u.length:Object.values(e.byKeyAndModel).reduce((p,f)=>p+Object.keys(f).length,0)),i.length>0&&d("peer","Teammates\' computers",i.length)]})]}),s?(0,le.jsx)("div",{className:"scroll",children:(0,le.jsxs)("table",{className:"usage",children:[(0,le.jsx)("thead",{children:(0,le.jsxs)("tr",{children:[(a==="key"||a==="key-model")&&(0,le.jsx)("th",{children:"Developer"}),(a==="model"||a==="key-model")&&(0,le.jsx)("th",{children:"Model"}),a==="peer"&&(0,le.jsx)("th",{children:"Computer"}),ZC(e.currency)]})}),(0,le.jsx)("tbody",{children:u.map(p=>(0,le.jsxs)("tr",{children:[p.key!==void 0&&(0,le.jsxs)("td",{children:[(0,le.jsx)("span",{className:"dot",style:{background:r(p.key)}}),p.key]}),p.model!==void 0&&(0,le.jsxs)("td",{children:[l.has(p.model)&&(0,le.jsx)("i",{className:`status-dot ${l.get(p.model)?"ok":"bad"}`,title:l.get(p.model)?"answering":"down"}),p.model]}),p.peer!==void 0&&(0,le.jsx)("td",{children:p.peer}),(0,le.jsx)(Rv,{t:p.totals,whole:s,max:c,currency:e.currency})]},p.id))}),(0,le.jsx)("tfoot",{children:(0,le.jsxs)("tr",{children:[(0,le.jsx)("td",{colSpan:a==="key-model"?2:1,children:"Everyone"}),(0,le.jsx)(Rv,{t:e.total,whole:s,max:e.total.requests,currency:e.currency})]})})]})}):(0,le.jsxs)("div",{className:"empty",children:["No requests in the last ",n,". Usage appears as developers use chat, autocomplete and embeddings through the gateway."]})]})]})};var V=Z(Ie()),ul="var(--other)",JC=(e,t)=>{let n=[],r=new Date(t.slice(0,10)+"T00:00:00Z").getTime();for(let i=new Date(e.slice(0,10)+"T00:00:00Z").getTime();i<=r;i+=864e5)n.push(new Date(i).toISOString().slice(0,10));return n},e2=({summary:e,series:t})=>{let n=JC(String(e.since),String(e.until)),r=new Map(e.byDay.map(S=>[S.day,S])),i=new Set(t.map(S=>S.name)),a=n.map(S=>{let k=r.get(S),A=t.map(z=>k?.byKey[z.name]??0),I=k?Object.entries(k.byKey).filter(([z])=>!i.has(z)).reduce((z,[,R])=>z+R,0):0;return{day:S,counts:A,other:I,total:k?.requests??0}}),o=Math.max(1,...a.map(S=>S.total)),s=900,l=180,u=36,c=22,d=14,p=s-u-8,f=l-d-c,h=p/a.length,v=Math.max(4,Math.min(28,h*.6)),b=S=>d+f-S/o*f,g=[0,Math.round(o/2),o],y=Math.ceil(a.length/10),x=a.length<=14,N=a.some(S=>S.other>0);return e.total.requests?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)("svg",{className:"chart",viewBox:`0 0 ${s} ${l}`,role:"img","aria-label":"Requests per day by key",children:[g.map(S=>(0,V.jsxs)("g",{children:[(0,V.jsx)("line",{className:"grid",x1:u,x2:s-8,y1:b(S),y2:b(S)}),(0,V.jsx)("text",{x:u-6,y:b(S)+3,textAnchor:"end",children:$(S)})]},S)),a.map((S,k)=>{let A=u+k*h+(h-v)/2,I=0,z=[...S.counts.map((R,X)=>({n:R,color:t[X].color,name:t[X].name})),{n:S.other,color:ul,name:"other"}];return(0,V.jsxs)("g",{children:[z.map(R=>{if(!R.n)return null;let X=b(I+R.n),B=b(I)-X;return I+=R.n,(0,V.jsx)("rect",{className:"seg",x:A,y:X,width:v,height:B,rx:I===S.total?3:0,fill:R.color,children:(0,V.jsx)("title",{children:`${S.day} \\xB7 ${R.name}: ${$(R.n)} of ${$(S.total)}`})},R.name)}),x&&S.total>0&&(0,V.jsx)("text",{className:"label",x:A+v/2,y:b(S.total)-4,textAnchor:"middle",children:$(S.total)}),k%y===0&&(0,V.jsx)("text",{x:A+v/2,y:l-6,textAnchor:"middle",children:S.day.slice(5)})]},S.day)})]}),(0,V.jsxs)("div",{className:"legend",children:[t.map(S=>(0,V.jsxs)("span",{children:[(0,V.jsx)("i",{style:{background:S.color}}),S.name]},S.name)),N&&(0,V.jsxs)("span",{children:[(0,V.jsx)("i",{style:{background:ul}}),"other"]})]})]}):(0,V.jsx)("div",{className:"empty",children:"No requests in this period."})},Pv=({rows:e,whole:t,colorOf:n,limit:r=8,emptyText:i,right:a})=>{let o=[...e].sort((c,d)=>d.totals.requests-c.totals.requests||c.name.localeCompare(d.name)),s=o.slice(0,r),l=o.slice(r),u=Math.max(1,...s.map(c=>c.totals.requests));return s.length?(0,V.jsxs)("div",{className:"bars",children:[s.map(c=>(0,V.jsxs)("div",{className:"bar-row",title:`${$(c.totals.requests)} of ${$(t)} requests`,children:[(0,V.jsxs)("span",{className:"bar-name",children:[n&&(0,V.jsx)("i",{className:"dot",style:{background:n(c.name)}}),c.name,c.note]}),(0,V.jsx)("span",{className:"bar-track",children:(0,V.jsx)("span",{className:"bar-fill",style:{width:`${c.totals.requests/u*100}%`,background:n?n(c.name):"var(--accent)"}})}),(0,V.jsxs)("span",{className:"bar-value",children:[a?a(c.totals):$(c.totals.requests),(0,V.jsxs)("span",{className:"muted",children:[" \\xB7 ",Gi(c.totals.requests,t)]})]})]},c.name)),l.length>0&&(0,V.jsxs)("div",{className:"bar-row muted",children:[(0,V.jsx)("span",{className:"bar-name",children:Fe(l.length,"more")}),(0,V.jsx)("span",{className:"bar-track"}),(0,V.jsx)("span",{className:"bar-value",children:$(l.reduce((c,d)=>c+d.totals.requests,0))})]})]}):(0,V.jsx)("div",{className:"empty",children:i})},Lv=({status:e,usage:t,keys:n,period:r,series:i,colorOf:a,onNavigate:o})=>{let s=t.total,l=n.keys.filter(h=>!h.revokedAt),u=Object.entries(t.byKey).filter(([,h])=>h.requests>0).length,c=e.backends.filter(h=>!h.ok),d=Math.max(1,t.byDay.length),p=new Map(e.models.map(h=>[h.id,h.ok])),f=s.requests?Math.round(s.ok/s.requests*100):null;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)("div",{className:"page-title",children:[(0,V.jsx)("h2",{children:"Overview"}),(0,V.jsxs)("p",{children:["The last ",r,", and whether the backends answer right now."]})]}),c.length>0&&(0,V.jsxs)("div",{className:"error-bar",children:[c.length===1?"A backend is down":`${c.length} backends are down`,":"," ",c.map(h=>`${h.provider} (${h.kind??"unreachable"})`).join(", "),". Requests routed to",c.length===1?" it ":" them ","fail until it answers."," ",(0,V.jsx)("button",{type:"button",className:"link",onClick:()=>o("models"),children:"Check the provider"}),"."]}),(0,V.jsxs)("section",{className:"tiles",children:[(0,V.jsxs)("div",{className:"tile",children:[(0,V.jsx)("div",{className:"label",children:"Requests"}),(0,V.jsx)("div",{className:"value",children:$(s.requests)}),(0,V.jsxs)("div",{className:"sub",children:[s.requests?`${$(Math.round(s.requests/d))} a day on average`:"none in this period",s.indexing.runs?` \\xB7 ${Fe(s.indexing.runs,"indexing run")}`:""]})]}),(0,V.jsxs)("div",{className:`tile ${f!==null&&f<90?"bad":""}`,children:[(0,V.jsx)("div",{className:"label",children:"Succeeded"}),(0,V.jsx)("div",{className:"value",children:f===null?"\\u2013":`${f}%`}),(0,V.jsxs)("div",{className:"sub",children:[s.failed?(0,V.jsxs)("span",{className:"revoked",children:[$(s.failed)," failed"]}):"none failed",s.cancelled?` \\xB7 ${$(s.cancelled)} cancelled`:""]})]}),(0,V.jsxs)("div",{className:"tile",children:[(0,V.jsx)("div",{className:"label",children:"Developers active"}),(0,V.jsxs)("div",{className:"value",children:[$(u),(0,V.jsxs)("small",{children:["of ",$(l.length)]})]}),(0,V.jsx)("div",{className:"sub",children:(0,V.jsx)("button",{type:"button",className:"link",onClick:()=>o("people"),children:l.length===u?"everyone with a key":`${$(l.length-u)} idle`})})]}),(0,V.jsxs)("div",{className:"tile",children:[(0,V.jsx)("div",{className:"label",children:"Tokens"}),(0,V.jsx)("div",{className:"value",children:s.counted?(0,V.jsxs)(V.Fragment,{children:[wt(s.promptTokens),(0,V.jsxs)("small",{children:["\\u2192 ",wt(s.completionTokens)]})]}):"\\u2013"}),(0,V.jsx)("div",{className:"sub",children:s.counted?`prompt \\u2192 output \\xB7 counted on ${Gi(s.counted,s.requests)}`:"backends reported no counts"})]}),t.currency&&(0,V.jsxs)("div",{className:"tile",children:[(0,V.jsx)("div",{className:"label",children:"Cost"}),(0,V.jsx)("div",{className:"value",children:Od(s.cost??0,t.currency)}),(0,V.jsx)("div",{className:"sub",children:"at the prices set per alias"})]}),(0,V.jsxs)("div",{className:"tile",children:[(0,V.jsx)("div",{className:"label",children:"Avg latency"}),(0,V.jsx)("div",{className:"value",children:s.requests?Lt(s.ms/s.requests):"\\u2013"}),(0,V.jsx)("div",{className:"sub",children:e.backends.length===1?`${e.backends[0].provider} answers in ${Lt(e.backends[0].ms)}`:e.backends.length?`backends answer in ${Lt(Math.min(...e.backends.map(h=>h.ms)))} to ${Lt(Math.max(...e.backends.map(h=>h.ms)))}`:"no backends configured"})]})]}),(0,V.jsxs)("section",{className:"panel",children:[(0,V.jsx)("h2",{children:"Requests per day"}),(0,V.jsx)(e2,{summary:t,series:i})]}),(0,V.jsxs)("div",{className:"grid-2",children:[(0,V.jsxs)("section",{className:"panel",children:[(0,V.jsxs)("div",{className:"section-heading",children:[(0,V.jsx)("h2",{children:"Developers"}),(0,V.jsxs)("span",{className:"links",children:[l.every(h=>h.admin)&&(0,V.jsx)("button",{type:"button",className:"link",onClick:()=>o("people"),children:"invite people"}),(0,V.jsx)("button",{type:"button",className:"link",onClick:()=>o("usage"),children:"full usage"})]})]}),(0,V.jsx)(Pv,{rows:Object.entries(t.byKey).map(([h,v])=>({name:h,totals:v})),whole:s.requests,colorOf:a,emptyText:"No one has made a request in this period."})]}),(0,V.jsxs)("section",{className:"panel",children:[(0,V.jsxs)("div",{className:"section-heading",children:[(0,V.jsx)("h2",{children:"Models"}),(0,V.jsx)("button",{type:"button",className:"link",onClick:()=>o("models"),children:"providers & models"})]}),(0,V.jsx)(Pv,{rows:Object.entries(t.byModel).map(([h,v])=>({name:h,totals:v,note:p.has(h)?(0,V.jsx)("i",{className:`status-dot ${p.get(h)?"ok":"bad"}`,title:p.get(h)?"answering":"down"}):void 0})),whole:s.requests,emptyText:"No model has served a request in this period."})]})]}),(0,V.jsxs)("section",{className:"panel",children:[(0,V.jsxs)("div",{className:"section-heading",children:[(0,V.jsx)("h2",{children:"Backends"}),(0,V.jsx)("span",{className:"muted",children:"Checked live when this page loads"})]}),e.backends.length?(0,V.jsx)("div",{className:"backends",children:e.backends.map(h=>{let v=e.models.filter(b=>b.provider===h.provider);return(0,V.jsxs)("div",{className:`backend ${h.ok?"":"down"}`,children:[(0,V.jsxs)("div",{className:"backend-head",children:[(0,V.jsx)("span",{className:"entity-name",children:h.provider}),(0,V.jsx)("span",{className:`pill-s ${h.ok?"ok":"bad"}`,children:h.ok?`answering \\xB7 ${Lt(h.ms)}`:`down \\xB7 ${h.kind??"unreachable"}`}),h.peers!==void 0&&(0,V.jsxs)("span",{className:"muted",children:[Fe(h.peers,"teammate\'s computer","teammates\' computers")," ","connected"]})]}),(0,V.jsx)("div",{className:"backend-models",children:v.length?v.map(b=>(0,V.jsxs)("span",{className:"tag",title:b.ok?"serving":"not serving",children:[(0,V.jsx)("i",{className:`status-dot ${b.ok?"ok":"bad"}`}),b.id,t.byModel[b.id]?(0,V.jsxs)("span",{className:"muted",children:["\\xA0\\xB7 ",Fe(t.byModel[b.id].requests,"request")]}):null]},b.id)):(0,V.jsx)("span",{className:"muted",children:"no models use this provider"})})]},h.provider)})}):(0,V.jsxs)("div",{className:"empty",children:["No providers configured."," ",(0,V.jsx)("button",{type:"button",className:"link",onClick:()=>o("models"),children:"Add one"}),"."]})]})]})};var ve=Z(tt());var P=Z(Ie()),_d=()=>{let{origin:e,pathname:t}=window.location;return`${e}${t.replace(/\\/admin(\\/.*)?$/,"")}`.replace(/\\/+$/,"")},Dd="twinny-server.invite-address",t2=()=>{try{return localStorage.getItem(Dd)??""}catch{return""}},n2=e=>{try{e&&e!==_d()?localStorage.setItem(Dd,e):localStorage.removeItem(Dd)}catch{}},r2=({apiKey:e,seatsLeft:t,activeNames:n=[],onSeatsFull:r})=>{let[i,a]=(0,ve.useState)([]),[o,s]=(0,ve.useState)(""),[l,u]=(0,ve.useState)(!1),[c,d]=(0,ve.useState)(!1),[p,f]=(0,ve.useState)(null),[h,v]=(0,ve.useState)(!1),[b,g]=(0,ve.useState)(),[y,x]=(0,ve.useState)(null),[N,S]=(0,ve.useState)(null),[k,A]=(0,ve.useState)(()=>Date.now()),[I,z]=(0,ve.useState)(()=>t2()||_d()),R=(0,ve.useCallback)(async()=>{try{let{invites:j}=await ne("/twinny/v1/admin/invites",e);a(j),A(Date.now())}catch{}},[e]);(0,ve.useEffect)(()=>{R()},[R]);let X=!!o.trim()&&n.includes(o.trim()),B=t===0&&!(X&&c),F=async j=>{if(j.preventDefault(),!(h||!o.trim())){v(!0),g(void 0);try{let _=await ne("/twinny/v1/admin/invites",e,{method:"POST",body:{name:o.trim(),admin:l,...X&&c?{replace:!0}:{}}});n2(I.trim()),f(_),s(""),u(!1),d(!1),x(null),S(null),await R()}catch(_){g(_ instanceof Error?_.message:String(_))}finally{v(!1)}}},q=async j=>{v(!0),g(void 0);try{await ne(`/twinny/v1/admin/invites/${j.id}`,e,{method:"DELETE"}),p?.invite.id===j.id&&f(null),await R()}catch(_){g(_ instanceof Error?_.message:String(_))}finally{v(!1)}},O=p?co(I.trim()||_d(),p.code):"",Y=p?["You\'re invited to our Twinny team.","","1. Install Twinny in VS Code: https://marketplace.visualstudio.com/items?itemName=rjmacarthy.Twinny",`2. Open this link (it opens VS Code and connects you): ${O}`,"3. Confirm the team\'s models in the Twinny sidebar.","",`The link works once and expires ${wr(p.invite.expiresAt)}. On Cursor or VSCodium, replace vscode:// with cursor:// or vscodium://.`].join(`\n`):"",oe=async j=>{try{await navigator.clipboard.writeText(j==="link"?O:Y),x(j),S(null),setTimeout(()=>x(null),2e3)}catch{S(j)}};return(0,P.jsxs)(P.Fragment,{children:[b&&(0,P.jsx)("div",{className:"error",children:b}),(0,P.jsxs)("form",{className:"newkey create",onSubmit:j=>void F(j),children:[(0,P.jsx)("input",{value:o,onChange:j=>s(j.target.value),placeholder:"developer name or username","aria-label":"Key name for the invite",disabled:h,autoFocus:!0}),(0,P.jsx)("input",{type:"url",value:I,onChange:j=>z(j.target.value),placeholder:"https://ai.example.com","aria-label":"Address developers reach this gateway at",title:"The address the link carries: what developers\' machines reach this gateway at",disabled:h}),(0,P.jsxs)("label",{className:"signin-admin",children:[(0,P.jsx)("input",{type:"checkbox",checked:l,onChange:j=>u(j.target.checked),disabled:h})," admin"]}),X&&(0,P.jsxs)("label",{className:"signin-admin",title:`${o.trim()} already has an active key. Replacing revokes it when the invite is opened, so a lost key does not keep its seat.`,children:[(0,P.jsx)("input",{type:"checkbox",checked:c,onChange:j=>d(j.target.checked),disabled:h})," replace existing key"]}),(0,P.jsx)("button",{type:"submit",className:"primary",disabled:h||!o.trim()||!I.trim()||X&&!c||B,title:o.trim()?X&&!c?`${o.trim()} already has an active key: tick "replace existing key", or use another name`:B?"Every seat is taken. Revoke a key or add seats.":`Make an invite link for ${o.trim()}`:"Name the key the invite makes",children:"make invite link"}),B&&r&&(0,P.jsx)("button",{type:"button",className:"link",onClick:r,children:"every seat is taken: add seats"})]}),p&&(0,P.jsxs)("div",{className:"created",children:[(0,P.jsxs)("div",{children:["Invite for ",(0,P.jsx)("b",{children:p.invite.name}),p.invite.admin?" (admin)":"",p.invite.replace?", replacing their current key":"",". Send them this link; it opens VS Code and connects them. Works once, expires ",wr(p.invite.expiresAt),"."]}),(0,P.jsx)("code",{className:"secret",children:O}),N&&(0,P.jsxs)("div",{children:[(0,P.jsx)("p",{className:"hint",role:"status",children:"Clipboard access is unavailable. Select the text below and copy it."}),(0,P.jsx)("textarea",{"aria-label":"Invite text to copy",readOnly:!0,autoFocus:!0,rows:N==="message"?8:3,style:{width:"100%",boxSizing:"border-box"},value:N==="message"?Y:O,onFocus:j=>j.currentTarget.select()})]}),(0,P.jsxs)("div",{className:"row",children:[(0,P.jsx)("button",{type:"button",onClick:()=>void oe("link"),children:y==="link"?"copied":"copy link"}),(0,P.jsx)("button",{type:"button",onClick:()=>void oe("message"),children:y==="message"?"copied":"copy a message to send"}),(0,P.jsx)("button",{type:"button",className:"ghost",onClick:()=>f(null),children:"done"})]})]}),i.length>0&&(0,P.jsx)("div",{className:"scroll",children:(0,P.jsxs)("table",{className:"rows",children:[(0,P.jsx)("thead",{children:(0,P.jsxs)("tr",{children:[(0,P.jsx)("th",{children:"Key name"}),(0,P.jsx)("th",{children:"Made by"}),(0,P.jsx)("th",{children:"Sent"}),(0,P.jsx)("th",{children:"Expires"}),(0,P.jsx)("th",{})]})}),(0,P.jsx)("tbody",{children:i.map(j=>(0,P.jsxs)("tr",{className:"static",children:[(0,P.jsxs)("td",{children:[(0,P.jsx)("b",{children:j.name}),j.admin?(0,P.jsx)("span",{className:"pill-s",children:" admin"}):null,j.replace?(0,P.jsx)("span",{className:"pill-s",children:" replace"}):null]}),(0,P.jsx)("td",{className:"muted",children:j.createdBy}),(0,P.jsx)("td",{className:"muted",title:wr(j.createdAt),children:Le(j.createdAt,k)}),(0,P.jsx)("td",{className:"muted",children:po(j.expiresAt,k)}),(0,P.jsx)("td",{className:"actions",children:(0,P.jsx)("button",{type:"button",className:"ghost",disabled:h,onClick:()=>void q(j),children:"withdraw"})})]},j.id))})]})}),(0,P.jsx)("div",{className:"hint",children:"The link carries a one-time code, not a key: the key is made under this name when the link is opened, and an unopened invite holds no seat. Send it over a channel you trust. Withdraw it if it went to the wrong person."})]})},i2=({apiKey:e,onChanged:t,onCount:n,seatsLeft:r,activeNames:i=[]})=>{let[a,o]=(0,ve.useState)([]),[s,l]=(0,ve.useState)({}),[u,c]=(0,ve.useState)({}),[d,p]=(0,ve.useState)({}),[f,h]=(0,ve.useState)(null),[v,b]=(0,ve.useState)(),[g,y]=(0,ve.useState)(),[x,N]=(0,ve.useState)(()=>Date.now()),S=(0,ve.useCallback)(async()=>{try{let{requests:A}=await ne("/twinny/v1/admin/signin",e);o(A),n?.(A.length),N(Date.now())}catch{}},[e,n]);(0,ve.useEffect)(()=>{S();let A=setInterval(()=>void S(),4e3);return()=>clearInterval(A)},[S]);let k=async(A,I)=>{h(A),b(void 0),y(void 0);try{let z=(s[A]??a.find(F=>F.userCode===A)?.name??"").trim(),R=i.includes(z)&&d[A]===!0,X=I==="approve"?{name:z,admin:u[A]===!0,...R?{replace:!0}:{}}:void 0,B=await ne(`/twinny/v1/admin/signin/${A}/${I}`,e,{method:"POST",body:X});y(I!=="approve"?`Denied ${A}.`:B.replaced?`New key made for ${B.name}; their old key is revoked. Their VS Code picks it up within a few seconds.`:`Key made for ${B.name}. Their VS Code picks it up within a few seconds.`),await S(),I==="approve"&&t()}catch(z){b(z instanceof Error?z.message:String(z))}finally{h(null)}};return(0,P.jsxs)(P.Fragment,{children:[g&&(0,P.jsx)("div",{className:"success-bar",children:g}),v&&(0,P.jsx)("div",{className:"error",children:v}),a.length?(0,P.jsx)("div",{className:"scroll",children:(0,P.jsxs)("table",{className:"rows",children:[(0,P.jsx)("thead",{children:(0,P.jsxs)("tr",{children:[(0,P.jsx)("th",{children:"Code"}),(0,P.jsx)("th",{children:"Key name"}),(0,P.jsx)("th",{children:"Machine"}),(0,P.jsx)("th",{children:"Requested"}),(0,P.jsx)("th",{children:"Expires"}),(0,P.jsx)("th",{})]})}),(0,P.jsx)("tbody",{children:a.map(A=>{let I=(s[A.userCode]??A.name??"").trim(),z=Date.parse(A.expiresAt)<=x,R=!!I&&i.includes(I),X=R&&d[A.userCode]===!0;return(0,P.jsxs)("tr",{className:"static",children:[(0,P.jsx)("td",{children:(0,P.jsx)("code",{className:"signin-code",children:A.userCode})}),(0,P.jsxs)("td",{children:[(0,P.jsx)("input",{value:s[A.userCode]??A.name??"",onChange:B=>l({...s,[A.userCode]:B.target.value}),placeholder:"developer name","aria-label":`Key name for ${A.userCode}`,disabled:f===A.userCode}),(0,P.jsxs)("label",{className:"signin-admin",children:[(0,P.jsx)("input",{type:"checkbox",checked:u[A.userCode]===!0,onChange:B=>c({...u,[A.userCode]:B.target.checked}),disabled:f===A.userCode})," admin"]}),R&&(0,P.jsxs)("label",{className:"signin-admin",title:`${I} already has an active key. Replacing revokes it, so a lost key does not keep its seat.`,children:[(0,P.jsx)("input",{type:"checkbox",checked:X,onChange:B=>p({...d,[A.userCode]:B.target.checked}),disabled:f===A.userCode})," ","replace existing key"]})]}),(0,P.jsx)("td",{className:"muted",children:A.machine??"\\u2013"}),(0,P.jsx)("td",{className:"muted",title:wr(A.createdAt),children:Le(A.createdAt,x)}),(0,P.jsx)("td",{className:z?"revoked":"muted",children:po(A.expiresAt,x)}),(0,P.jsxs)("td",{className:"actions",children:[(0,P.jsx)("button",{type:"button",className:"primary",disabled:f===A.userCode||!I||z||R&&!X||r===0&&!X,title:I?R&&!X?`${I} already has an active key: tick "replace existing key", or use another name`:X?`Revoke ${I}\'s current key and make a new one`:r===0?"No seats left":`Make a key named ${I}`:"Give the key a name first",onClick:()=>void k(A.userCode,"approve"),children:"approve"}),(0,P.jsx)("button",{type:"button",className:"ghost",disabled:f===A.userCode,onClick:()=>void k(A.userCode,"deny"),children:"deny"})]})]},A.userCode)})})]})}):(0,P.jsxs)("div",{className:"empty",children:["No one is waiting. A developer asks for a key from ",(0,P.jsx)("b",{children:"Connect to team \\u2192 Request a key"})," in VS Code and reads you the code that appears; it shows up here within a few seconds."]}),(0,P.jsx)("div",{className:"hint",children:"Approve only a code someone has read to you. Approving mints a key under the name you choose; the code itself never becomes a key."})]})},a2=e=>{let t={};for(let n of e?.byDay??[])for(let r of Object.keys(n.byKey))n.byKey[r]>0&&(t[r]=n.day);return{totals:e?.byKey??{},lastDay:t}},o2=({keys:e,sharedToken:t,plan:n,me:r,usage:i,period:a,onCreate:o,onRevoke:s})=>{let l=new Set(n?.unseated??[]),[u,c]=(0,ve.useState)("active"),[d,p]=(0,ve.useState)(""),[f,h]=(0,ve.useState)(!1),[v,b]=(0,ve.useState)(""),[g,y]=(0,ve.useState)(!1),[x,N]=(0,ve.useState)(!1),[S,k]=(0,ve.useState)(!1),[A,I]=(0,ve.useState)(null),[z,R]=(0,ve.useState)(),[X,B]=(0,ve.useState)(),[F,q]=(0,ve.useState)(!1),[O,Y]=(0,ve.useState)(null),{totals:oe,lastDay:j}=(0,ve.useMemo)(()=>a2(i),[i]),_=n?n.used>=n.seats:!1,m=(0,ve.useMemo)(()=>{let ee=e.filter(ue=>!ue.revokedAt);return{all:e.length,active:ee.length,admins:ee.filter(ue=>ue.admin).length,unseated:ee.filter(ue=>l.has(ue.name)).length,revoked:e.length-ee.length}},[e,l]),E=(0,ve.useMemo)(()=>{let ee=d.trim().toLowerCase(),ue=ge=>{if(ee&&!ge.name.toLowerCase().includes(ee)&&!ge.id.includes(ee))return!1;switch(u){case"active":return!ge.revokedAt;case"admins":return!ge.revokedAt&&ge.admin===!0;case"unseated":return!ge.revokedAt&&l.has(ge.name);case"revoked":return!!ge.revokedAt;default:return!0}};return e.filter(ue).sort((ge,pt)=>!ge.revokedAt!=!pt.revokedAt?ge.revokedAt?1:-1:ge.revokedAt&&pt.revokedAt?pt.revokedAt.localeCompare(ge.revokedAt):ge.name.localeCompare(pt.name))},[e,u,d,l]),D=async ee=>{if(ee.preventDefault(),!(!v.trim()||S)){k(!0),R(void 0),B(void 0);try{I(await o(v.trim(),g,g&&x)),b(""),y(!1),N(!1),q(!1),h(!1),u==="revoked"&&c("active")}catch(ue){R(ue instanceof Error?ue.message:String(ue))}finally{k(!1)}}},C=async()=>{if(A)try{await navigator.clipboard.writeText(A.key),q(!0)}catch{}},pe=async ee=>{k(!0),R(void 0),B(void 0);try{await s(ee.id),B(`Revoked ${ee.name}. Their editor is refused from the next request on.${u==="all"||u==="revoked"?"":" It is listed under Revoked."}`)}catch(ue){R(ue instanceof Error?ue.message:String(ue))}finally{k(!1),Y(null)}},Ne=(ee,ue,ge)=>(0,P.jsxs)("button",{type:"button",className:u===ee?"on":"ghost",onClick:()=>c(ee),disabled:ee!=="all"&&ee!=="active"&&ge===0&&u!==ee,children:[ue,(0,P.jsx)("span",{className:"chip-count",children:$(ge)})]},ee);return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)("div",{className:"toolbar",children:[(0,P.jsxs)("span",{className:"chips",role:"group","aria-label":"Show",children:[Ne("active","Active",m.active),Ne("admins","Admins",m.admins),m.unseated>0&&Ne("unseated","No seat",m.unseated),Ne("revoked","Revoked",m.revoked),Ne("all","All",m.all)]}),(0,P.jsx)("input",{className:"search",type:"search",placeholder:"find by name or id",value:d,onChange:ee=>p(ee.target.value),"aria-label":"Find a key"}),!f&&(0,P.jsx)("button",{type:"button",className:"primary",disabled:S||_,title:_?"Every seat is taken. Revoke a key or add seats.":"Make a key by hand and hand it over yourself",onClick:()=>h(!0),children:"new key"})]}),f&&(0,P.jsxs)("form",{className:"newkey create",onSubmit:D,children:[(0,P.jsx)("input",{placeholder:"developer name, e.g. alice",value:v,onChange:ee=>b(ee.target.value),"aria-label":"Key name",disabled:S,autoFocus:!0}),(0,P.jsxs)("label",{children:[(0,P.jsx)("input",{type:"checkbox",checked:g,onChange:ee=>y(ee.target.checked),disabled:S})," admin: may open this page"]}),g&&(0,P.jsxs)("label",{title:"Sees everything on the admin page, changes nothing",children:[(0,P.jsx)("input",{type:"checkbox",checked:x,onChange:ee=>N(ee.target.checked)}),"read-only"]}),(0,P.jsx)("button",{type:"submit",className:"primary",disabled:S||!v.trim()||_,children:S?"\\u2026":"create key"}),(0,P.jsx)("button",{type:"button",className:"ghost",disabled:S,onClick:()=>{h(!1),b(""),y(!1)},children:"cancel"}),(0,P.jsx)("span",{className:"muted",children:"Letters, digits, . _ @ and -; up to 64 characters. The secret is shown once."})]}),A&&(0,P.jsxs)("div",{className:"created",children:[(0,P.jsxs)("div",{children:["Key for ",(0,P.jsx)("b",{children:A.record.name}),A.record.admin?" (admin)":"",". Shown once; only its hash is kept. Send it over a channel you trust."]}),(0,P.jsx)("code",{className:"secret",children:A.key}),(0,P.jsxs)("div",{className:"row",children:[(0,P.jsx)("button",{type:"button",onClick:C,children:F?"copied":"copy"}),(0,P.jsx)("button",{type:"button",className:"ghost",onClick:()=>I(null),children:"done"})]})]}),z&&(0,P.jsx)("div",{className:"error",children:z}),X&&(0,P.jsx)("div",{className:"success-bar",children:X}),E.length?(0,P.jsx)("div",{className:"scroll",children:(0,P.jsxs)("table",{className:"rows",children:[(0,P.jsx)("thead",{children:(0,P.jsxs)("tr",{children:[(0,P.jsx)("th",{children:"Key"}),(0,P.jsx)("th",{children:"Status"}),(0,P.jsx)("th",{children:"Created"}),(0,P.jsx)("th",{children:"Last active"}),(0,P.jsx)("th",{className:"num",children:"Requests"}),(0,P.jsx)("th",{className:"num",children:"Tokens"}),(0,P.jsx)("th",{})]})}),(0,P.jsxs)("tbody",{children:[E.map(ee=>{let ue=oe[ee.name],ge=!ee.revokedAt;return(0,P.jsxs)("tr",{className:`static ${ge?"":"dim"}`,children:[(0,P.jsxs)("td",{children:[(0,P.jsx)("span",{className:"entity-name",children:ee.name}),ee.admin&&(0,P.jsx)("span",{className:"tag admin",children:"admin"}),ee.readOnly&&(0,P.jsx)("span",{className:"tag admin",children:"read-only"}),ee.name===r&&(0,P.jsx)("span",{className:"tag you",children:"you"}),(0,P.jsx)("div",{className:"key-id muted mono",title:"The key\'s id, for twinny-server keys revoke",children:ee.id})]}),(0,P.jsx)("td",{children:ee.revokedAt?(0,P.jsxs)("span",{className:"pill-s bad",title:`Revoked ${wr(ee.revokedAt)}`,children:["revoked ",Le(ee.revokedAt)]}):l.has(ee.name)?(0,P.jsx)("span",{className:"pill-s bad",title:"Refused until seats are added or other keys revoked",children:"no seat"}):(0,P.jsx)("span",{className:"pill-s ok",children:"active"})}),(0,P.jsx)("td",{className:"muted",title:wr(ee.createdAt),children:Le(ee.createdAt)}),(0,P.jsx)("td",{className:"muted",title:j[ee.name]?void 0:`Nothing in the last ${a}`,children:j[ee.name]??"\\u2013"}),(0,P.jsx)("td",{className:"num",children:ue?(0,P.jsxs)("span",{title:`${$(ue.ok)} ok, ${$(ue.failed)} failed, ${$(ue.cancelled)} cancelled`,children:[$(ue.requests),ue.failed>0&&(0,P.jsxs)("span",{className:"revoked",children:[" \\xB7 ",$(ue.failed)," failed"]})]}):(0,P.jsx)("span",{className:"muted",children:"0"})}),(0,P.jsx)("td",{className:"num",children:ue&&ue.counted?(0,P.jsxs)("span",{title:`${$(ue.promptTokens)} prompt, ${$(ue.completionTokens)} output`,children:[wt(ue.promptTokens),(0,P.jsx)("span",{className:"muted",children:" \\u2192 "}),wt(ue.completionTokens)]}):(0,P.jsx)("span",{className:"muted",children:"\\u2013"})}),(0,P.jsx)("td",{className:"actions",children:ge&&ee.name!==r&&(O===ee.id?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("button",{type:"button",className:"danger",disabled:S,onClick:()=>void pe(ee),title:`Revoke ${ee.name}`,children:"confirm"}),(0,P.jsx)("button",{type:"button",className:"ghost",onClick:()=>Y(null),children:"keep"})]}):(0,P.jsx)("button",{type:"button",className:"ghost",disabled:S,onClick:()=>Y(ee.id),children:"revoke"}))})]},ee.id)}),t&&(u==="active"||u==="all")&&!d.trim()&&(0,P.jsxs)("tr",{className:"static",children:[(0,P.jsxs)("td",{children:[(0,P.jsx)("span",{className:"entity-name",children:"shared"}),(0,P.jsx)("div",{className:"key-id muted",children:"the shared token"})]}),(0,P.jsx)("td",{children:(0,P.jsx)("span",{className:"pill-s ok",title:"Retire it by setting auth.tokenEnv to null",children:"active"})}),(0,P.jsx)("td",{className:"muted",children:"\\u2013"}),(0,P.jsx)("td",{className:"muted",children:j.shared??"\\u2013"}),(0,P.jsx)("td",{className:"num",children:oe.shared?$(oe.shared.requests):(0,P.jsx)("span",{className:"muted",children:"0"})}),(0,P.jsx)("td",{className:"num muted",children:"\\u2013"}),(0,P.jsx)("td",{className:"actions"})]})]})]})}):(0,P.jsx)("div",{className:"empty",children:d.trim()?(0,P.jsxs)(P.Fragment,{children:["No key matches \\u201C",d.trim(),"\\u201D",u!=="all"?" in this view":"","."]}):u==="revoked"?"No key has been revoked.":u==="admins"?"No admin keys are active.":u==="unseated"?"Every active key has a seat.":"No keys yet. Approve a sign-in request above, or make a key by hand."})]})},s2=({apiKey:e,usage:t})=>{let[n,r]=(0,ve.useState)(null),[i,a]=(0,ve.useState)(null),[o,s]=(0,ve.useState)(),[l,u]=(0,ve.useState)(()=>Date.now()),c=(0,ve.useCallback)(async()=>{try{r(await ne("/twinny/v1/admin/peers",e)),u(Date.now())}catch(f){s(f instanceof Error?f.message:String(f))}},[e]);(0,ve.useEffect)(()=>{c();let f=setInterval(()=>void c(),5e3);return()=>clearInterval(f)},[c]);let d=async f=>{a(f.id),s(void 0);try{await ne(`/twinny/v1/admin/peers/${f.id}/disconnect`,e,{method:"POST"}),await c()}catch(h){s(h instanceof Error?h.message:String(h))}finally{a(null)}};if(!n)return o?(0,P.jsx)("div",{className:"error",children:o}):(0,P.jsx)("div",{className:"loading",children:"Loading\\u2026"});let p=t?.byPeer??{};return(0,P.jsxs)(P.Fragment,{children:[o&&(0,P.jsx)("div",{className:"error",children:o}),n.configured?n.peers.length?(0,P.jsx)("div",{className:"scroll",children:(0,P.jsxs)("table",{className:"rows",children:[(0,P.jsx)("thead",{children:(0,P.jsxs)("tr",{children:[(0,P.jsx)("th",{children:"Computer"}),(0,P.jsx)("th",{children:"Server"}),(0,P.jsx)("th",{children:"Models"}),(0,P.jsx)("th",{className:"num",children:"Running"}),(0,P.jsx)("th",{className:"num",children:"Served"}),(0,P.jsx)("th",{children:"Since"}),(0,P.jsx)("th",{})]})}),(0,P.jsx)("tbody",{children:n.peers.map(f=>{let h=f.models.filter(g=>n.wanted.includes(g)),v=f.degradedUntil&&Date.parse(f.degradedUntil)>l,b=p[f.label];return(0,P.jsxs)("tr",{className:"static",children:[(0,P.jsxs)("td",{children:[(0,P.jsx)("span",{className:"entity-name",children:f.key}),(0,P.jsxs)("span",{className:"muted",children:["@",f.machine]})]}),(0,P.jsxs)("td",{className:"muted",children:[f.backend,v&&(0,P.jsx)("span",{className:"revoked",children:" \\xB7 not answering"})]}),(0,P.jsx)("td",{title:f.models.join(", "),children:h.length?h.join(", "):(0,P.jsxs)("span",{className:"muted",children:["none the pool wants (",f.models.length," local)"]})}),(0,P.jsxs)("td",{className:"num",children:[$(f.inflight),(0,P.jsxs)("span",{className:"muted",children:[" / ",$(f.slots)]})]}),(0,P.jsxs)("td",{className:"num",title:b?`${$(b.requests)} in the selected period`:void 0,children:[$(f.served),f.failed>0&&(0,P.jsxs)("span",{className:"revoked",children:[" \\xB7 ",$(f.failed)," failed"]})]}),(0,P.jsx)("td",{className:"muted",title:wr(f.connectedAt),children:Le(f.connectedAt,l)}),(0,P.jsx)("td",{className:"actions",children:(0,P.jsx)("button",{type:"button",className:"ghost",disabled:i===f.id,onClick:()=>void d(f),children:"disconnect"})})]},f.id)})})]})}):(0,P.jsxs)("div",{className:"empty",children:["Nobody is sharing right now. The pool wants ",n.wanted.length?n.wanted.map(f=>(0,P.jsx)("code",{children:f},f)).reduce((f,h,v)=>v?[...f,", ",h]:[h],[]):"no models yet",". A developer switches sharing on from the Twinny sidebar."]}):(0,P.jsxs)("div",{className:"empty",children:["No team pool yet. Add a ",(0,P.jsx)("b",{children:"Team members\' computers"})," provider under Providers & models and point aliases at it; developers then see ",(0,P.jsx)("b",{children:"Share this computer with the team"})," in Twinny."]}),(0,P.jsx)("div",{className:"hint",children:"Requests to pooled aliases run on these computers; usage records name the computer that served each one. Disconnecting is temporary; revoke the key to keep someone out."})]})},Ov=({apiKey:e,keys:t,usage:n,period:r,me:i,pending:a,onPending:o,onChanged:s,onCreate:l,onRevoke:u,onNavigate:c})=>{let d=t.keys.filter(v=>!v.revokedAt),p=t.plan,f=p?Math.max(0,p.seats-p.used):void 0,h=d.filter(v=>(n?.byKey[v.name]?.requests??0)>0).length;return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)("div",{className:"page-title",children:[(0,P.jsx)("h2",{children:"People"}),(0,P.jsxs)("p",{children:[p?`${p.used} of ${p.seats} seats used. `:"","Invite developers with a link, approve sign-in codes they read to you, or make keys by hand."]})]}),(0,P.jsxs)("section",{className:"tiles",children:[(0,P.jsxs)("div",{className:`tile ${p&&p.used>=p.seats?"bad":""}`,children:[(0,P.jsx)("div",{className:"label",children:"Active keys"}),(0,P.jsxs)("div",{className:"value",children:[$(p?p.used:d.length),p&&(0,P.jsxs)("small",{children:["of ",$(p.seats)," seats"]})]})]}),(0,P.jsxs)("div",{className:"tile",children:[(0,P.jsxs)("div",{className:"label",children:["Active in ",r]}),(0,P.jsxs)("div",{className:"value",children:[$(h),(0,P.jsxs)("small",{children:["of ",$(d.length)]})]})]}),(0,P.jsxs)("div",{className:"tile",children:[(0,P.jsx)("div",{className:"label",children:"Admins"}),(0,P.jsx)("div",{className:"value",children:$(d.filter(v=>v.admin).length)})]}),(0,P.jsxs)("div",{className:`tile ${a?"attention":""}`,children:[(0,P.jsx)("div",{className:"label",children:"Waiting to sign in"}),(0,P.jsx)("div",{className:"value",children:$(a)})]}),(0,P.jsxs)("div",{className:"tile",children:[(0,P.jsx)("div",{className:"label",children:"Revoked"}),(0,P.jsx)("div",{className:"value",children:$(t.keys.length-d.length)})]})]}),p&&p.unseated.length>0&&(0,P.jsxs)("div",{className:"error-bar",children:[Fe(p.unseated.length,"key")," without a seat, refused until seats are added or keys revoked: ",p.unseated.join(", "),"."," ",(0,P.jsx)("button",{type:"button",className:"link",onClick:()=>c("plan"),children:"Add seats"})]}),p&&p.unseated.length===0&&p.used>=p.seats&&(0,P.jsxs)("div",{className:"error-bar",children:["Every seat is taken: the next key, invite or sign-in is refused until seats are added or a key is revoked."," ",(0,P.jsx)("button",{type:"button",className:"link",onClick:()=>c("plan"),children:"Add seats"})]}),(0,P.jsxs)("section",{className:"panel",children:[(0,P.jsxs)("h2",{children:["Invite",(0,P.jsxs)("span",{className:"count",children:[Fe(d.length,"person","people")," on the team"]})]}),(0,P.jsx)(r2,{apiKey:e,seatsLeft:f,activeNames:d.map(v=>v.name),onSeatsFull:()=>c("plan")})]}),(0,P.jsxs)("section",{className:"panel",children:[(0,P.jsxs)("h2",{children:["Sign-in requests",a>0&&(0,P.jsxs)("span",{className:"count",children:[$(a)," waiting"]})]}),(0,P.jsx)(i2,{apiKey:e,onChanged:s,onCount:o,seatsLeft:f,activeNames:d.map(v=>v.name)})]}),(0,P.jsxs)("section",{className:"panel",children:[(0,P.jsxs)("h2",{children:["Keys",(0,P.jsx)("span",{className:"count",children:Fe(t.keys.length,"key")})]}),(0,P.jsx)(o2,{...t,me:i,usage:n,period:r,onCreate:l,onRevoke:u})]}),(0,P.jsxs)("section",{className:"panel",children:[(0,P.jsx)("h2",{children:"Sharing their computer"}),(0,P.jsx)(s2,{apiKey:e,usage:n})]})]})};var Qi=Z(tt());var de=Z(Ie()),_v="https://docs.twinny.dev/teams/licensing/",l2="https://buy.stripe.com/eVq00igUndD80qW6AR7Zu00",u2={free:"Free plan",licensed:"Licensed",expiring:"Licensed, expiring soon",grace:"Licence expired, in grace period",expired:"Free plan (licence expired)",invalid:"Free plan (licence not usable)"},c2=e=>Math.ceil((Date.parse(e)-Date.now())/864e5),Dv=({plan:e,onInstall:t,onRemove:n,onNavigate:r})=>{let[i,a]=(0,Qi.useState)(""),[o,s]=(0,Qi.useState)(!1),[l,u]=(0,Qi.useState)(),[c,d]=(0,Qi.useState)(),[p,f]=(0,Qi.useState)(!1),h=e.status!=="free"&&e.status!=="licensed",v=e.used>e.seats,b=!!e.licenseId||e.status==="invalid",g=Math.min(100,Math.round(e.used/Math.max(1,e.seats)*100)),y=c2(e.expiresAt??""),x=async(N,S)=>{s(!0),u(void 0),d(void 0);try{await N(),a(""),f(!1),d(S)}catch(k){u(k instanceof Error?k.message:String(k))}finally{s(!1)}};return(0,de.jsxs)(de.Fragment,{children:[(0,de.jsxs)("div",{className:"page-title",children:[(0,de.jsx)("h2",{children:"Plan & licence"}),(0,de.jsx)("p",{children:"Seats are active keys. A licence raises the limit and switches on team features."})]}),c&&(0,de.jsx)("div",{className:"success-bar",children:c}),l&&(0,de.jsx)("div",{className:"error-bar",children:l}),(0,de.jsx)("div",{children:(0,de.jsxs)("section",{className:`panel plan ${h||v?"attention":""}`,children:[(0,de.jsxs)("div",{className:"section-heading",children:[(0,de.jsx)("h2",{children:"Plan"}),(0,de.jsx)("span",{className:`pill-s ${h||v?"bad":"ok"}`,children:u2[e.status]})]}),(0,de.jsxs)("div",{className:"plan-headline",children:[e.org?e.org:"Free plan",e.expiresAt&&(0,de.jsxs)("span",{className:`muted ${y<30?"revoked":""}`,children:[" ","\\xB7 ",y<0?`expired ${Fe(-y,"day")} ago`:y===0?"expires today":`${Fe(y,"day")} left`]})]}),(0,de.jsx)("p",{className:h?"plan-note attention":"plan-note",children:e.message}),(0,de.jsxs)("div",{className:"meter-row",children:[(0,de.jsxs)("span",{className:"meter-label",children:[(0,de.jsx)("b",{children:$(e.used)})," of ",(0,de.jsx)("b",{children:$(e.seats)})," seats used"]}),(0,de.jsx)("span",{className:`meter ${v?"bad":g>=90?"warn":""}`,children:(0,de.jsx)("span",{className:"meter-fill",style:{width:`${g}%`}})}),(0,de.jsx)("button",{type:"button",className:"link",onClick:()=>r("people"),children:"people"})]}),e.unseated.length>0&&(0,de.jsxs)("p",{className:"plan-note attention",children:["No seat, refused until seats are added or keys revoked: ",e.unseated.join(", "),"."]}),(0,de.jsxs)("dl",{className:"facts",children:[e.licenseId&&(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)("dt",{children:"Licence"}),(0,de.jsx)("dd",{className:"mono",children:e.licenseId})]}),e.expiresAt&&(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)("dt",{children:"Valid until"}),(0,de.jsx)("dd",{children:e.expiresAt.slice(0,10)})]}),e.email&&(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)("dt",{children:"Contact"}),(0,de.jsx)("dd",{children:e.email})]}),!b&&(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)("dt",{children:"Includes"}),(0,de.jsxs)("dd",{children:[Fe(e.seats,"seat"),", every model and provider, usage reporting, sign-in approval"]})]})]})]})}),(0,de.jsxs)("section",{className:"panel",children:[(0,de.jsxs)("div",{className:"section-heading",children:[(0,de.jsx)("h2",{children:b?"Replace the licence":"Install a licence"}),(0,de.jsx)("span",{className:"muted",children:"One token, signed by Twinny"})]}),(0,de.jsxs)("form",{className:"newkey",onSubmit:N=>{N.preventDefault(),i.trim()&&x(()=>t(i.trim()),"Licence installed. Seats and features apply at once.")},children:[(0,de.jsx)("input",{placeholder:"paste a licence token (twl1.\\u2026)",value:i,onChange:N=>a(N.target.value),"aria-label":"Licence token",disabled:o,spellCheck:!1}),(0,de.jsx)("button",{type:"submit",className:"primary",disabled:o||!i.trim(),children:o?"\\u2026":b?"replace licence":"install licence"}),b&&(p?(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)("button",{type:"button",className:"danger",disabled:o,onClick:()=>void x(n,"Licence removed. The gateway is on the free plan."),children:"remove licence"}),(0,de.jsx)("button",{type:"button",className:"ghost",onClick:()=>f(!1),children:"keep"})]}):(0,de.jsx)("button",{type:"button",className:"ghost",disabled:o,onClick:()=>f(!0),children:"remove"}))]}),(0,de.jsx)("div",{className:"hint",children:b?(0,de.jsxs)(de.Fragment,{children:["Replacing takes effect immediately; removing drops the gateway to the free plan and keys beyond its seats are refused. See"," ",(0,de.jsx)("a",{href:_v,target:"_blank",rel:"noreferrer",children:"Teams and licensing"}),e.email?(0,de.jsxs)(de.Fragment,{children:[" or contact ",e.email]}):null,"."]}):(0,de.jsxs)(de.Fragment,{children:["Need more seats or the team features?"," ",(0,de.jsx)("a",{href:l2,target:"_blank",rel:"noreferrer",children:"Buy seats"})," ","by card; the token appears as soon as payment clears and is emailed to you. Paste it above. See"," ",(0,de.jsx)("a",{href:_v,target:"_blank",rel:"noreferrer",children:"Teams and licensing"})," ","for the plans."]})})]})]})};var _f=Z(tt());var rt=Z(tt());var M=Z(Ie()),Fv=e=>e<1024?`${$(e)} B`:e<1024*1024?`${(e/1024).toFixed(1)} KiB`:`${(e/1024/1024).toFixed(1)} MiB`,zv=e=>String(e).padStart(2,"0"),$v=({apiKey:e})=>{let t="/twinny/v1/admin/plugins/backups/api",[n,r]=(0,rt.useState)(null),[i,a]=(0,rt.useState)(),[o,s]=(0,rt.useState)(),[l,u]=(0,rt.useState)(null),[c,d]=(0,rt.useState)(null),[p,f]=(0,rt.useState)("path"),[h,v]=(0,rt.useState)(""),[b,g]=(0,rt.useState)({endpoint:"",region:"auto",bucket:"",prefix:"",accessKeyId:"",secretAccessKey:"",forcePathStyle:!1}),[y,x]=(0,rt.useState)("03:00"),[N,S]=(0,rt.useState)("14"),[k,A]=(0,rt.useState)(!0),[I,z]=(0,rt.useState)(!1),[R,X]=(0,rt.useState)(""),[B,F]=(0,rt.useState)(!1),q=(0,rt.useCallback)(m=>{f(m.destination),v(m.path??""),g({endpoint:m.s3?.endpoint??"",region:m.s3?.region??"auto",bucket:m.s3?.bucket??"",prefix:m.s3?.prefix??"",accessKeyId:m.s3?.accessKeyId??"",secretAccessKey:"",forcePathStyle:m.s3?.forcePathStyle??!1}),x(`${zv(m.hour)}:${zv(m.minute)}`),S(String(m.keep)),A(m.schedule),z(m.includeRecordings),X(""),F(!1)},[]),O=(0,rt.useCallback)(async()=>{try{let m=await ne(`${t}/`,e);return r(m),a(void 0),m}catch(m){return a(be(m)),null}},[e]);(0,rt.useEffect)(()=>{O().then(E=>E&&q(E.settings));let m=setInterval(()=>{document.visibilityState==="visible"&&O()},6e4);return()=>clearInterval(m)},[O,q]);let Y=async(m,E,D)=>{u(m),a(void 0),s(void 0);try{await E(),await O(),D&&s(D)}catch(C){a(be(C))}finally{u(null)}},oe=m=>{m.preventDefault();let[E,D]=y.split(":").map(Number);Y("save",async()=>{let C=await ne(`${t}/settings`,e,{method:"PUT",body:{destination:p,path:h,s3:{...b,...b.secretAccessKey?{}:{secretAccessKey:void 0}},hour:E,minute:D,keep:Number(N),schedule:k,includeRecordings:I,...B?{passphrase:""}:R?{passphrase:R}:{}}});q(C.settings)},"Settings saved.")};if(!n)return i?(0,M.jsx)("div",{className:"error-bar",children:i}):(0,M.jsx)(In,{tiles:4,rows:3,title:(0,M.jsxs)("h2",{className:"plugin-name",children:[(0,M.jsx)(dt,{id:"backups",size:22}),"Backups"]})});let{settings:j,lastRun:_}=n;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)("div",{className:"page-title",children:[(0,M.jsxs)("h2",{className:"plugin-name",children:[(0,M.jsx)(dt,{id:"backups",size:22}),"Backups"]}),(0,M.jsxs)("p",{children:["A nightly copy of the configuration, keys, licence, invites, plugins and usage."," ",(0,M.jsx)("button",{type:"button",className:"link",disabled:l!==null||n.running||!n.configured,onClick:()=>void Y("run",()=>ne(`${t}/run`,e,{method:"POST"})),children:n.running||l==="run"?"backing up\\u2026":"back up now"})]})]}),o&&(0,M.jsx)("div",{className:"success-bar",children:o}),i&&(0,M.jsx)("div",{className:"error-bar",children:i}),(0,M.jsxs)("div",{className:"tiles",children:[(0,M.jsxs)("div",{className:`tile ${_&&_.ok===!1?"bad":""}`,children:[(0,M.jsx)("div",{className:"label",children:"last backup"}),(0,M.jsxs)("div",{className:"value",children:[_?_.finishedAt===void 0?"running":_.ok?Le(_.finishedAt):"failed":"none yet",_?.ok&&_.size!==void 0&&(0,M.jsx)("small",{children:Fv(_.size)})]})]}),(0,M.jsxs)("div",{className:"tile",children:[(0,M.jsx)("div",{className:"label",children:"next backup"}),(0,M.jsx)("div",{className:"value",children:n.nextRunAt?po(n.nextRunAt):j.schedule?"\\u2013":"off"})]}),(0,M.jsxs)("div",{className:"tile",children:[(0,M.jsx)("div",{className:"label",children:"archives kept"}),(0,M.jsxs)("div",{className:"value",children:[$(n.archives.length),(0,M.jsxs)("small",{children:["of ",$(j.keep)]})]})]}),(0,M.jsxs)("div",{className:"tile",children:[(0,M.jsx)("div",{className:"label",children:"encryption"}),(0,M.jsx)("div",{className:"value",children:j.passphraseSet?"on":"off"})]})]}),_&&_.ok===!1&&(0,M.jsxs)("div",{className:"error-bar",children:["The backup at ",_.startedAt.replace("T"," ").slice(0,16)," failed: ",_.error]}),(0,M.jsxs)("section",{className:"panel",children:[(0,M.jsxs)("div",{className:"section-heading",children:[(0,M.jsxs)("h2",{children:["Archives",(0,M.jsx)("span",{className:"count",children:$(n.archives.length)})]}),(0,M.jsxs)("span",{className:"links",children:[n.destination&&(0,M.jsx)("span",{className:"muted",children:n.destination}),(0,M.jsx)("button",{type:"button",className:"ghost mini",disabled:l!==null||!n.configured,onClick:()=>void Y("list",()=>ne(`${t}/archives`,e)),children:l==="list"?"\\u2026":"refresh"})]})]}),n.archivesError&&(0,M.jsx)("div",{className:"error",children:n.archivesError}),n.archives.length===0?(0,M.jsx)("div",{className:"empty",children:n.configured?"No archives at the destination yet.":"Set a destination below."}):(0,M.jsx)("div",{className:"scroll",children:(0,M.jsxs)("table",{children:[(0,M.jsx)("thead",{children:(0,M.jsxs)("tr",{children:[(0,M.jsx)("th",{children:"archive"}),(0,M.jsx)("th",{children:"made"}),(0,M.jsx)("th",{children:"size"}),(0,M.jsx)("th",{})]})}),(0,M.jsx)("tbody",{children:[...n.archives].reverse().map(m=>(0,M.jsxs)("tr",{children:[(0,M.jsxs)("td",{className:"mono",children:[m.name,m.encrypted&&(0,M.jsx)("span",{className:"tag reviewed",children:"encrypted"})]}),(0,M.jsx)("td",{className:"muted",title:m.createdAt,children:m.createdAt?Le(m.createdAt):"\\u2013"}),(0,M.jsx)("td",{children:Fv(m.size)}),(0,M.jsx)("td",{className:"actions",children:c===m.name?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)("button",{type:"button",className:"danger mini",disabled:l!==null,onClick:()=>void Y(`delete:${m.name}`,()=>ne(`${t}/archives/${m.name}`,e,{method:"DELETE"}).then(()=>d(null))),children:"delete"})," ",(0,M.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>d(null),children:"keep"})]}):(0,M.jsx)("button",{type:"button",className:"ghost mini",disabled:l!==null,onClick:()=>d(m.name),children:"delete"})})]},m.name))})]})}),(0,M.jsxs)("div",{className:"hint",children:["Restore with the gateway stopped: ",(0,M.jsx)("code",{children:"twinny-server backup restore <archive> --config <file> --yes"}),". An encrypted archive needs the passphrase in ",(0,M.jsx)("code",{children:"TWINNY_BACKUP_PASSPHRASE"})," on another machine."]})]}),(0,M.jsxs)("form",{className:"panel",onSubmit:oe,children:[(0,M.jsxs)("div",{className:"section-heading",children:[(0,M.jsx)("h2",{children:"Destination and schedule"}),(0,M.jsxs)("span",{className:"chips",role:"group","aria-label":"Destination",children:[(0,M.jsx)("button",{type:"button",className:p==="path"?"on":"",onClick:()=>f("path"),children:"directory"}),(0,M.jsx)("button",{type:"button",className:p==="s3"?"on":"",onClick:()=>f("s3"),children:"S3 bucket"})]})]}),p==="path"?(0,M.jsx)("div",{className:"config-fields",children:(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"directory on this server (absolute)"}),(0,M.jsx)("input",{value:h,onChange:m=>v(m.target.value),placeholder:"/var/backups/twinny",spellCheck:!1})]})}):(0,M.jsxs)("div",{className:"config-fields",children:[(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"endpoint"}),(0,M.jsx)("input",{value:b.endpoint,onChange:m=>g({...b,endpoint:m.target.value}),placeholder:"https://s3.eu-west-1.amazonaws.com",spellCheck:!1})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"region"}),(0,M.jsx)("input",{value:b.region,onChange:m=>g({...b,region:m.target.value}),placeholder:"auto",spellCheck:!1})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"bucket"}),(0,M.jsx)("input",{value:b.bucket,onChange:m=>g({...b,bucket:m.target.value}),spellCheck:!1})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"prefix (folder in the bucket)"}),(0,M.jsx)("input",{value:b.prefix,onChange:m=>g({...b,prefix:m.target.value}),placeholder:"twinny/",spellCheck:!1})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"access key id"}),(0,M.jsx)("input",{value:b.accessKeyId,onChange:m=>g({...b,accessKeyId:m.target.value}),spellCheck:!1,autoComplete:"off"})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsxs)("span",{children:["secret access key ",j.s3?.secretAccessKeySet&&(0,M.jsx)("em",{className:"muted",children:"(set; leave blank to keep)"})]}),(0,M.jsx)("input",{type:"password",value:b.secretAccessKey,onChange:m=>g({...b,secretAccessKey:m.target.value}),autoComplete:"new-password"})]})]}),p==="s3"&&(0,M.jsx)("div",{className:"backup-options",children:(0,M.jsxs)("label",{className:"policy-option",children:[(0,M.jsx)("input",{type:"checkbox",checked:b.forcePathStyle,onChange:m=>g({...b,forcePathStyle:m.target.checked})}),(0,M.jsxs)("span",{children:[(0,M.jsx)("b",{children:"path-style addresses"}),(0,M.jsx)("small",{children:"bucket in the path, not the host name; what MinIO and some others want"})]})]})}),(0,M.jsxs)("div",{className:"config-fields",style:{marginTop:16},children:[(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"nightly at (server local time)"}),(0,M.jsx)("input",{type:"time",value:y,onChange:m=>x(m.target.value)})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"archives to keep"}),(0,M.jsx)("input",{inputMode:"numeric",value:N,onChange:m=>S(m.target.value)})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsxs)("span",{children:["passphrase ",j.passphraseSet&&(0,M.jsx)("em",{className:"muted",children:"(set; leave blank to keep)"})]}),(0,M.jsx)("input",{type:"password",value:R,onChange:m=>X(m.target.value),placeholder:j.passphraseSet?"\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022":"at least 12 characters; encrypts every archive",autoComplete:"new-password",disabled:B})]})]}),(0,M.jsxs)("div",{className:"backup-options",children:[(0,M.jsxs)("label",{className:"policy-option",children:[(0,M.jsx)("input",{type:"checkbox",checked:k,onChange:m=>A(m.target.checked)}),(0,M.jsxs)("span",{children:[(0,M.jsx)("b",{children:"run nightly"}),(0,M.jsx)("small",{children:\'off leaves only "back up now" and the CLI\'})]})]}),(0,M.jsxs)("label",{className:"policy-option",children:[(0,M.jsx)("input",{type:"checkbox",checked:I,onChange:m=>z(m.target.checked)}),(0,M.jsxs)("span",{children:[(0,M.jsx)("b",{children:"include recordings"}),(0,M.jsx)("small",{children:"recorded content can be large; keep it encrypted"})]})]}),j.passphraseSet&&(0,M.jsxs)("label",{className:"policy-option",children:[(0,M.jsx)("input",{type:"checkbox",checked:B,onChange:m=>F(m.target.checked)}),(0,M.jsxs)("span",{children:[(0,M.jsx)("b",{children:"remove the passphrase"}),(0,M.jsx)("small",{children:"new archives will not be encrypted; old ones still need it"})]})]})]}),(0,M.jsxs)("div",{className:"row-actions",style:{marginTop:16},children:[(0,M.jsx)("button",{type:"submit",className:"primary",disabled:l!==null,children:l==="save"?"\\u2026":"save"}),(0,M.jsx)("button",{type:"button",className:"ghost",disabled:l!==null||!n.configured,onClick:()=>void Y("check",()=>ne(`${t}/check`,e,{method:"POST"}),"The destination is writable."),children:l==="check"?"\\u2026":"test destination"}),(0,M.jsxs)("span",{className:"muted",children:["Backed up: ",n.paths?.configFile?"the configuration, ":"","everything under ",n.paths?.dataDir??"the data directory"," except recordings unless included. Archives are readable by ",(0,M.jsx)("code",{children:"tar"})," when not encrypted."]})]})]})]})};var Et=Z(tt());var Yt=Z(tt());function Mv(e,t){let n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}var d2=/^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,p2=/^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,m2={};function cl(e,t){return((t||m2).jsx?p2:d2).test(e)}var f2=/[ \\t\\n\\f\\r]/g;function Fd(e){return typeof e=="object"?e.type==="text"?Bv(e.value):!1:Bv(e)}function Bv(e){return e.replace(f2,"")===""}var Xn=class{constructor(t,n,r){this.property=t,this.normal=n,r&&(this.space=r)}};Xn.prototype.property={};Xn.prototype.normal={};Xn.prototype.space=null;function zd(e,t){let n={},r={},i=-1;for(;++i<e.length;)Object.assign(n,e[i].property),Object.assign(r,e[i].normal);return new Xn(n,r,t)}function fo(e){return e.toLowerCase()}var xt=class{constructor(t,n){this.property=t,this.attribute=n}};xt.prototype.space=null;xt.prototype.boolean=!1;xt.prototype.booleanish=!1;xt.prototype.overloadedBoolean=!1;xt.prototype.number=!1;xt.prototype.commaSeparated=!1;xt.prototype.spaceSeparated=!1;xt.prototype.commaOrSpaceSeparated=!1;xt.prototype.mustUseProperty=!1;xt.prototype.defined=!1;var ho={};Hf(ho,{boolean:()=>we,booleanish:()=>Ye,commaOrSpaceSeparated:()=>Bt,commaSeparated:()=>xr,number:()=>G,overloadedBoolean:()=>$d,spaceSeparated:()=>ze});var h2=0,we=Qr(),Ye=Qr(),$d=Qr(),G=Qr(),ze=Qr(),xr=Qr(),Bt=Qr();function Qr(){return 2**++h2}var Md=Object.keys(ho),Yr=class extends xt{constructor(t,n,r,i){let a=-1;if(super(t,n),jv(this,"space",i),typeof r=="number")for(;++a<Md.length;){let o=Md[a];jv(this,Md[a],(r&ho[o])===ho[o])}}};Yr.prototype.defined=!0;function jv(e,t,n){n&&(e[t]=n)}var g2={}.hasOwnProperty;function sn(e){let t={},n={},r;for(r in e.properties)if(g2.call(e.properties,r)){let i=e.properties[r],a=new Yr(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[fo(r)]=r,n[fo(a.attribute)]=r}return new Xn(t,n,e.space)}var Bd=sn({space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}});var jd=sn({space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function dl(e,t){return t in e?e[t]:t}function pl(e,t){return dl(e,t.toLowerCase())}var Ud=sn({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:pl,properties:{xmlns:null,xmlnsXLink:null}});var Hd=sn({transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:Ye,ariaAutoComplete:null,ariaBusy:Ye,ariaChecked:Ye,ariaColCount:G,ariaColIndex:G,ariaColSpan:G,ariaControls:ze,ariaCurrent:null,ariaDescribedBy:ze,ariaDetails:null,ariaDisabled:Ye,ariaDropEffect:ze,ariaErrorMessage:null,ariaExpanded:Ye,ariaFlowTo:ze,ariaGrabbed:Ye,ariaHasPopup:null,ariaHidden:Ye,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ze,ariaLevel:G,ariaLive:null,ariaModal:Ye,ariaMultiLine:Ye,ariaMultiSelectable:Ye,ariaOrientation:null,ariaOwns:ze,ariaPlaceholder:null,ariaPosInSet:G,ariaPressed:Ye,ariaReadOnly:Ye,ariaRelevant:null,ariaRequired:Ye,ariaRoleDescription:ze,ariaRowCount:G,ariaRowIndex:G,ariaRowSpan:G,ariaSelected:Ye,ariaSetSize:G,ariaSort:null,ariaValueMax:G,ariaValueMin:G,ariaValueNow:G,ariaValueText:null,role:null}});var Uv=sn({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:pl,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:xr,acceptCharset:ze,accessKey:ze,action:null,allow:null,allowFullScreen:we,allowPaymentRequest:we,allowUserMedia:we,alt:null,as:null,async:we,autoCapitalize:null,autoComplete:ze,autoFocus:we,autoPlay:we,blocking:ze,capture:null,charSet:null,checked:we,cite:null,className:ze,cols:G,colSpan:null,content:null,contentEditable:Ye,controls:we,controlsList:ze,coords:G|xr,crossOrigin:null,data:null,dateTime:null,decoding:null,default:we,defer:we,dir:null,dirName:null,disabled:we,download:$d,draggable:Ye,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:we,formTarget:null,headers:ze,height:G,hidden:we,high:G,href:null,hrefLang:null,htmlFor:ze,httpEquiv:ze,id:null,imageSizes:null,imageSrcSet:null,inert:we,inputMode:null,integrity:null,is:null,isMap:we,itemId:null,itemProp:ze,itemRef:ze,itemScope:we,itemType:ze,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:we,low:G,manifest:null,max:null,maxLength:G,media:null,method:null,min:null,minLength:G,multiple:we,muted:we,name:null,nonce:null,noModule:we,noValidate:we,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:we,optimum:G,pattern:null,ping:ze,placeholder:null,playsInline:we,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:we,referrerPolicy:null,rel:ze,required:we,reversed:we,rows:G,rowSpan:G,sandbox:ze,scope:null,scoped:we,seamless:we,selected:we,shadowRootClonable:we,shadowRootDelegatesFocus:we,shadowRootMode:null,shape:null,size:G,sizes:null,slot:null,span:G,spellCheck:Ye,src:null,srcDoc:null,srcLang:null,srcSet:null,start:G,step:null,style:null,tabIndex:G,target:null,title:null,translate:null,type:null,typeMustMatch:we,useMap:null,value:Ye,width:G,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ze,axis:null,background:null,bgColor:null,border:G,borderColor:null,bottomMargin:G,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:we,declare:we,event:null,face:null,frame:null,frameBorder:null,hSpace:G,leftMargin:G,link:null,longDesc:null,lowSrc:null,marginHeight:G,marginWidth:G,noResize:we,noHref:we,noShade:we,noWrap:we,object:null,profile:null,prompt:null,rev:null,rightMargin:G,rules:null,scheme:null,scrolling:Ye,standby:null,summary:null,text:null,topMargin:G,valueType:null,version:null,vAlign:null,vLink:null,vSpace:G,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:we,disableRemotePlayback:we,prefix:null,property:null,results:G,security:null,unselectable:null}});var Hv=sn({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:dl,properties:{about:Bt,accentHeight:G,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:G,amplitude:G,arabicForm:null,ascent:G,attributeName:null,attributeType:null,azimuth:G,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:G,by:null,calcMode:null,capHeight:G,className:ze,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:G,diffuseConstant:G,direction:null,display:null,dur:null,divisor:G,dominantBaseline:null,download:we,dx:null,dy:null,edgeMode:null,editable:null,elevation:G,enableBackground:null,end:null,event:null,exponent:G,externalResourcesRequired:null,fill:null,fillOpacity:G,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:xr,g2:xr,glyphName:xr,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:G,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:G,horizOriginX:G,horizOriginY:G,id:null,ideographic:G,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:G,k:G,k1:G,k2:G,k3:G,k4:G,kernelMatrix:Bt,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:G,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:G,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:G,overlineThickness:G,paintOrder:null,panose1:null,path:null,pathLength:G,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:ze,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:G,pointsAtY:G,pointsAtZ:G,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Bt,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Bt,rev:Bt,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Bt,requiredFeatures:Bt,requiredFonts:Bt,requiredFormats:Bt,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:G,specularExponent:G,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:G,strikethroughThickness:G,string:null,stroke:null,strokeDashArray:Bt,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:G,strokeOpacity:G,strokeWidth:null,style:null,surfaceScale:G,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Bt,tabIndex:G,tableValues:null,target:null,targetX:G,targetY:G,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Bt,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:G,underlineThickness:G,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:G,values:null,vAlphabetic:G,vMathematical:G,vectorEffect:null,vHanging:G,vIdeographic:G,version:null,vertAdvY:G,vertOriginX:G,vertOriginY:G,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:G,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}});var y2=/^data[-\\w.:]+$/i,qv=/-[a-z]/g,v2=/[A-Z]/g;function qd(e,t){let n=fo(t),r=t,i=xt;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&y2.test(t)){if(t.charAt(4)==="-"){let a=t.slice(5).replace(qv,k2);r="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{let a=t.slice(4);if(!qv.test(a)){let o=a.replace(v2,b2);o.charAt(0)!=="-"&&(o="-"+o),t="data"+o}}i=Yr}return new i(r,t)}function b2(e){return"-"+e.toLowerCase()}function k2(e){return e.charAt(1).toUpperCase()}var Vd={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};var Vv=zd([jd,Bd,Ud,Hd,Uv],"html"),ml=zd([jd,Bd,Ud,Hd,Hv],"svg");function Wv(e){return e.join(" ").trim()}var Wd=Z(Jv(),1),eb=Wd.default.default||Wd.default;var fl=tb("end"),Yi=tb("start");function tb(e){return t;function t(n){let r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Kd(e){let t=Yi(e),n=fl(e);if(t&&n)return{start:t,end:n}}function Nr(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?nb(e.position):"start"in e||"end"in e?nb(e):"line"in e||"column"in e?Gd(e):""}function Gd(e){return rb(e&&e.line)+":"+rb(e&&e.column)}function nb(e){return Gd(e&&e.start)+"-"+Gd(e&&e.end)}function rb(e){return e&&typeof e=="number"?e:1}var Je=class extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",a={},o=!1;if(n&&("line"in n&&"column"in n?a={place:n}:"start"in n&&"end"in n?a={place:n}:"type"in n?a={ancestors:[n],place:n.position}:a={...n}),typeof t=="string"?i=t:!a.cause&&t&&(o=!0,i=t.message,a.cause=t),!a.ruleId&&!a.source&&typeof r=="string"){let l=r.indexOf(":");l===-1?a.ruleId=r:(a.source=r.slice(0,l),a.ruleId=r.slice(l+1))}if(!a.place&&a.ancestors&&a.ancestors){let l=a.ancestors[a.ancestors.length-1];l&&(a.place=l.position)}let s=a.place&&"start"in a.place?a.place.start:a.place;this.ancestors=a.ancestors||void 0,this.cause=a.cause||void 0,this.column=s?s.column:void 0,this.fatal=void 0,this.file,this.message=i,this.line=s?s.line:void 0,this.name=Nr(a.place)||"1:1",this.place=a.place||void 0,this.reason=this.message,this.ruleId=a.ruleId||void 0,this.source=a.source||void 0,this.stack=o&&a.cause&&typeof a.cause.stack=="string"?a.cause.stack:"",this.actual,this.expected,this.note,this.url}};Je.prototype.file="";Je.prototype.name="";Je.prototype.reason="";Je.prototype.message="";Je.prototype.stack="";Je.prototype.column=void 0;Je.prototype.line=void 0;Je.prototype.ancestors=void 0;Je.prototype.cause=void 0;Je.prototype.fatal=void 0;Je.prototype.place=void 0;Je.prototype.ruleId=void 0;Je.prototype.source=void 0;var Qd={}.hasOwnProperty,_2=new Map,D2=/[A-Z]/g,F2=/-([a-z])/g,z2=new Set(["table","tbody","thead","tfoot","tr"]),$2=new Set(["td","th"]),ib="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Yd(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=W2(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=V2(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?ml:Vv,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=ab(i,e,void 0);return a&&typeof a!="string"?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function ab(e,t,n){if(t.type==="element")return M2(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return B2(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return U2(e,t,n);if(t.type==="mdxjsEsm")return j2(e,t);if(t.type==="root")return H2(e,t,n);if(t.type==="text")return q2(e,t)}function M2(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=ml,e.schema=i),e.ancestors.push(t);let a=sb(e,t.tagName,!1),o=K2(e,t),s=Zd(e,t);return z2.has(t.tagName)&&(s=s.filter(function(l){return typeof l=="string"?!Fd(l):!0})),ob(e,o,a,t),Xd(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function B2(e,t){if(t.data&&t.data.estree&&e.evaluater){let r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}yo(e,t.position)}function j2(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);yo(e,t.position)}function U2(e,t,n){let r=e.schema,i=r;t.name==="svg"&&r.space==="html"&&(i=ml,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:sb(e,t.name,!0),o=G2(e,t),s=Zd(e,t);return ob(e,o,a,t),Xd(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function H2(e,t,n){let r={};return Xd(r,Zd(e,t)),e.create(t,e.Fragment,r,n)}function q2(e,t){return t.value}function ob(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function Xd(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function V2(e,t,n){return r;function r(i,a,o,s){let u=Array.isArray(o.children)?n:t;return s?u(a,o,s):u(a,o)}}function W2(e,t){return n;function n(r,i,a,o){let s=Array.isArray(a.children),l=Yi(r);return t(i,a,o,s,{columnNumber:l?l.column-1:void 0,fileName:e,lineNumber:l?l.line:void 0},void 0)}}function K2(e,t){let n={},r,i;for(i in t.properties)if(i!=="children"&&Qd.call(t.properties,i)){let a=Q2(e,i,t.properties[i]);if(a){let[o,s]=a;e.tableCellAlignToStyle&&o==="align"&&typeof s=="string"&&$2.has(t.tagName)?r=s:n[o]=s}}if(r){let a=n.style||(n.style={});a[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function G2(e,t){let n={};for(let r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){let a=r.data.estree.body[0];a.type;let o=a.expression;o.type;let s=o.properties[0];s.type,Object.assign(n,e.evaluater.evaluateExpression(s.argument))}else yo(e,t.position);else{let i=r.name,a;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){let s=r.value.data.estree.body[0];s.type,a=e.evaluater.evaluateExpression(s.expression)}else yo(e,t.position);else a=r.value===null?!0:r.value;n[i]=a}return n}function Zd(e,t){let n=[],r=-1,i=e.passKeys?new Map:_2;for(;++r<t.children.length;){let a=t.children[r],o;if(e.passKeys){let l=a.type==="element"?a.tagName:a.type==="mdxJsxFlowElement"||a.type==="mdxJsxTextElement"?a.name:void 0;if(l){let u=i.get(l)||0;o=l+"-"+u,i.set(l,u+1)}}let s=ab(e,a,o);s!==void 0&&n.push(s)}return n}function Q2(e,t,n){let r=qd(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?Mv(n):Wv(n)),r.property==="style"){let i=typeof n=="object"?n:Y2(e,String(n));return e.stylePropertyNameCase==="css"&&(i=X2(i)),["style",i]}return[e.elementAttributeNameCase==="react"&&r.space?Vd[r.property]||r.property:r.attribute,n]}}function Y2(e,t){let n={};try{eb(t,r)}catch(i){if(!e.ignoreInvalidStyle){let a=i,o=new Je("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:a,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw o.file=e.filePath||void 0,o.url=ib+"#cannot-parse-style-attribute",o}}return n;function r(i,a){let o=i;o.slice(0,2)!=="--"&&(o.slice(0,4)==="-ms-"&&(o="ms-"+o.slice(4)),o=o.replace(F2,J2)),n[o]=a}}function sb(e,t,n){let r;if(!n)r={type:"Literal",value:t};else if(t.includes(".")){let i=t.split("."),a=-1,o;for(;++a<i.length;){let s=cl(i[a])?{type:"Identifier",name:i[a]}:{type:"Literal",value:i[a]};o=o?{type:"MemberExpression",object:o,property:s,computed:!!(a&&s.type==="Literal"),optional:!1}:s}r=o}else r=cl(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(r.type==="Literal"){let i=r.value;return Qd.call(e.components,i)?e.components[i]:i}if(e.evaluater)return e.evaluater.evaluateExpression(r);yo(e)}function yo(e,t){let n=new Je("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=ib+"#cannot-handle-mdx-estrees-without-createevaluater",n}function X2(e){let t={},n;for(n in e)Qd.call(e,n)&&(t[Z2(n)]=e[n]);return t}function Z2(e){let t=e.replace(D2,eT);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function J2(e,t){return t.toUpperCase()}function eT(e){return"-"+e.toLowerCase()}var vo={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]};var na=Z(Ie(),1);var tT={};function Zr(e,t){let n=t||tT,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return ub(e,r,i)}function ub(e,t,n){if(nT(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return lb(e.children,t,n)}return Array.isArray(e)?lb(e,t,n):""}function lb(e,t,n){let r=[],i=-1;for(;++i<e.length;)r[i]=ub(e[i],t,n);return r.join("")}function nT(e){return!!(e&&typeof e=="object")}var cb=document.createElement("i");function Xi(e){let t="&"+e+";";cb.innerHTML=t;let n=cb.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function it(e,t,n,r){let i=e.length,a=0,o;if(t<0?t=-t>i?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a<r.length;)o=r.slice(a,a+1e4),o.unshift(t,0),e.splice(...o),a+=1e4,t+=1e4}function Ot(e,t){return e.length>0?(it(e,e.length,0,t),e):t}var db={}.hasOwnProperty;function hl(e){let t={},n=-1;for(;++n<e.length;)rT(t,e[n]);return t}function rT(e,t){let n;for(n in t){let i=(db.call(e,n)?e[n]:void 0)||(e[n]={}),a=t[n],o;if(a)for(o in a){db.call(i,o)||(i[o]=[]);let s=a[o];iT(i[o],Array.isArray(s)?s:s?[s]:[])}}}function iT(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);it(e,0,0,r)}function gl(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"\\uFFFD":String.fromCodePoint(n)}function Nt(e){return e.replace(/[\\t\\n\\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var lt=Sr(/[A-Za-z]/),Xe=Sr(/[\\dA-Za-z]/),pb=Sr(/[#-\'*+\\--9=?A-Z^-~]/);function Jr(e){return e!==null&&(e<32||e===127)}var bo=Sr(/\\d/),mb=Sr(/[\\dA-Fa-f]/),fb=Sr(/[!-/:-@[-`{-~]/);function ae(e){return e!==null&&e<-2}function Ce(e){return e!==null&&(e<0||e===32)}function he(e){return e===-2||e===-1||e===32}var ei=Sr(/\\p{P}|\\p{S}/u),Pn=Sr(/\\s/);function Sr(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function ln(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o="";if(a===37&&Xe(e.charCodeAt(n+1))&&Xe(e.charCodeAt(n+2)))i=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let s=e.charCodeAt(n+1);a<56320&&s>56319&&s<57344?(o=String.fromCharCode(a,s),i=1):o="\\uFFFD"}else o=String.fromCharCode(a);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,o=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function fe(e,t,n,r){let i=r?r-1:Number.POSITIVE_INFINITY,a=0;return o;function o(l){return he(l)?(e.enter(n),s(l)):t(l)}function s(l){return he(l)&&a++<i?(e.consume(l),s):(e.exit(n),t(l))}}var hb={tokenize:aT};function aT(e){let t=e.attempt(this.parser.constructs.contentInitial,r,i),n;return t;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),fe(e,t,"linePrefix")}function i(s){return e.enter("paragraph"),a(s)}function a(s){let l=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=l),n=l,o(s)}function o(s){if(s===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(s);return}return ae(s)?(e.consume(s),e.exit("chunkText"),a):(e.consume(s),o)}}var yb={tokenize:oT},gb={tokenize:sT};function oT(e){let t=this,n=[],r=0,i,a,o;return s;function s(x){if(r<n.length){let N=n[r];return t.containerState=N[1],e.attempt(N[0].continuation,l,u)(x)}return u(x)}function l(x){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&y();let N=t.events.length,S=N,k;for(;S--;)if(t.events[S][0]==="exit"&&t.events[S][1].type==="chunkFlow"){k=t.events[S][1].end;break}g(r);let A=N;for(;A<t.events.length;)t.events[A][1].end=Object.assign({},k),A++;return it(t.events,S+1,0,t.events.slice(N)),t.events.length=A,u(x)}return s(x)}function u(x){if(r===n.length){if(!i)return p(x);if(i.currentConstruct&&i.currentConstruct.concrete)return h(x);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(gb,c,d)(x)}function c(x){return i&&y(),g(r),p(x)}function d(x){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,h(x)}function p(x){return t.containerState={},e.attempt(gb,f,h)(x)}function f(x){return r++,n.push([t.currentConstruct,t.containerState]),p(x)}function h(x){if(x===null){i&&y(),g(0),e.consume(x);return}return i=i||t.parser.flow(t.now()),e.enter("chunkFlow",{contentType:"flow",previous:a,_tokenizer:i}),v(x)}function v(x){if(x===null){b(e.exit("chunkFlow"),!0),g(0),e.consume(x);return}return ae(x)?(e.consume(x),b(e.exit("chunkFlow")),r=0,t.interrupt=void 0,s):(e.consume(x),v)}function b(x,N){let S=t.sliceStream(x);if(N&&S.push(null),x.previous=a,a&&(a.next=x),a=x,i.defineSkip(x.start),i.write(S),t.parser.lazy[x.start.line]){let k=i.events.length;for(;k--;)if(i.events[k][1].start.offset<o&&(!i.events[k][1].end||i.events[k][1].end.offset>o))return;let A=t.events.length,I=A,z,R;for(;I--;)if(t.events[I][0]==="exit"&&t.events[I][1].type==="chunkFlow"){if(z){R=t.events[I][1].end;break}z=!0}for(g(r),k=A;k<t.events.length;)t.events[k][1].end=Object.assign({},R),k++;it(t.events,I+1,0,t.events.slice(A)),t.events.length=k}}function g(x){let N=n.length;for(;N-- >x;){let S=n[N];t.containerState=S[1],S[0].exit.call(t,e)}n.length=x}function y(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function sT(e,t,n){return fe(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Zi(e){if(e===null||Ce(e)||Pn(e))return 1;if(ei(e))return 2}function Er(e,t,n){let r=[],i=-1;for(;++i<e.length;){let a=e[i].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}var ko={name:"attention",tokenize:uT,resolveAll:lT};function lT(e,t){let n=-1,r,i,a,o,s,l,u,c;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(r=n;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d=Object.assign({},e[r][1].end),p=Object.assign({},e[n][1].start);vb(d,-l),vb(p,l),o={type:l>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},e[r][1].end)},s={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[n][1].start),end:p},a={type:l>1?"strongText":"emphasisText",start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},i={type:l>1?"strong":"emphasis",start:Object.assign({},o.start),end:Object.assign({},s.end)},e[r][1].end=Object.assign({},o.start),e[n][1].start=Object.assign({},s.end),u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=Ot(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=Ot(u,[["enter",i,t],["enter",o,t],["exit",o,t],["enter",a,t]]),u=Ot(u,Er(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=Ot(u,[["exit",a,t],["enter",s,t],["exit",s,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(c=2,u=Ot(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):c=0,it(e,r-1,n-r+3,u),n=r+u.length-c-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function uT(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=Zi(r),a;return o;function o(l){return a=l,e.enter("attentionSequence"),s(l)}function s(l){if(l===a)return e.consume(l),s;let u=e.exit("attentionSequence"),c=Zi(l),d=!c||c===2&&i||n.includes(l),p=!i||i===2&&c||n.includes(r);return u._open=!!(a===42?d:d&&(i||!p)),u._close=!!(a===42?p:p&&(c||!d)),t(l)}}function vb(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var Jd={name:"autolink",tokenize:cT};function cT(e,t,n){let r=0;return i;function i(f){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(f),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),a}function a(f){return lt(f)?(e.consume(f),o):f===64?n(f):u(f)}function o(f){return f===43||f===45||f===46||Xe(f)?(r=1,s(f)):u(f)}function s(f){return f===58?(e.consume(f),r=0,l):(f===43||f===45||f===46||Xe(f))&&r++<32?(e.consume(f),s):(r=0,u(f))}function l(f){return f===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(f),e.exit("autolinkMarker"),e.exit("autolink"),t):f===null||f===32||f===60||Jr(f)?n(f):(e.consume(f),l)}function u(f){return f===64?(e.consume(f),c):pb(f)?(e.consume(f),u):n(f)}function c(f){return Xe(f)?d(f):n(f)}function d(f){return f===46?(e.consume(f),r=0,c):f===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(f),e.exit("autolinkMarker"),e.exit("autolink"),t):p(f)}function p(f){if((f===45||Xe(f))&&r++<63){let h=f===45?p:d;return e.consume(f),h}return n(f)}}var Ln={tokenize:dT,partial:!0};function dT(e,t,n){return r;function r(a){return he(a)?fe(e,i,"linePrefix")(a):i(a)}function i(a){return a===null||ae(a)?t(a):n(a)}}var yl={name:"blockQuote",tokenize:pT,continuation:{tokenize:mT},exit:fT};function pT(e,t,n){let r=this;return i;function i(o){if(o===62){let s=r.containerState;return s.open||(e.enter("blockQuote",{_container:!0}),s.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(o),e.exit("blockQuoteMarker"),a}return n(o)}function a(o){return he(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(o))}}function mT(e,t,n){let r=this;return i;function i(o){return he(o)?fe(e,a,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):a(o)}function a(o){return e.attempt(yl,t,n)(o)}}function fT(e){e.exit("blockQuote")}var vl={name:"characterEscape",tokenize:hT};function hT(e,t,n){return r;function r(a){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(a),e.exit("escapeMarker"),i}function i(a){return fb(a)?(e.enter("characterEscapeValue"),e.consume(a),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(a)}}var bl={name:"characterReference",tokenize:gT};function gT(e,t,n){let r=this,i=0,a,o;return s;function s(d){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),l}function l(d){return d===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(d),e.exit("characterReferenceMarkerNumeric"),u):(e.enter("characterReferenceValue"),a=31,o=Xe,c(d))}function u(d){return d===88||d===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(d),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),a=6,o=mb,c):(e.enter("characterReferenceValue"),a=7,o=bo,c(d))}function c(d){if(d===59&&i){let p=e.exit("characterReferenceValue");return o===Xe&&!Xi(r.sliceSerialize(p))?n(d):(e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return o(d)&&i++<a?(e.consume(d),c):n(d)}}var bb={tokenize:vT,partial:!0},kl={name:"codeFenced",tokenize:yT,concrete:!0};function yT(e,t,n){let r=this,i={tokenize:S,partial:!0},a=0,o=0,s;return l;function l(k){return u(k)}function u(k){let A=r.events[r.events.length-1];return a=A&&A[1].type==="linePrefix"?A[2].sliceSerialize(A[1],!0).length:0,s=k,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),c(k)}function c(k){return k===s?(o++,e.consume(k),c):o<3?n(k):(e.exit("codeFencedFenceSequence"),he(k)?fe(e,d,"whitespace")(k):d(k))}function d(k){return k===null||ae(k)?(e.exit("codeFencedFence"),r.interrupt?t(k):e.check(bb,v,N)(k)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),p(k))}function p(k){return k===null||ae(k)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),d(k)):he(k)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),fe(e,f,"whitespace")(k)):k===96&&k===s?n(k):(e.consume(k),p)}function f(k){return k===null||ae(k)?d(k):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),h(k))}function h(k){return k===null||ae(k)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),d(k)):k===96&&k===s?n(k):(e.consume(k),h)}function v(k){return e.attempt(i,N,b)(k)}function b(k){return e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),g}function g(k){return a>0&&he(k)?fe(e,y,"linePrefix",a+1)(k):y(k)}function y(k){return k===null||ae(k)?e.check(bb,v,N)(k):(e.enter("codeFlowValue"),x(k))}function x(k){return k===null||ae(k)?(e.exit("codeFlowValue"),y(k)):(e.consume(k),x)}function N(k){return e.exit("codeFenced"),t(k)}function S(k,A,I){let z=0;return R;function R(O){return k.enter("lineEnding"),k.consume(O),k.exit("lineEnding"),X}function X(O){return k.enter("codeFencedFence"),he(O)?fe(k,B,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(O):B(O)}function B(O){return O===s?(k.enter("codeFencedFenceSequence"),F(O)):I(O)}function F(O){return O===s?(z++,k.consume(O),F):z>=o?(k.exit("codeFencedFenceSequence"),he(O)?fe(k,q,"whitespace")(O):q(O)):I(O)}function q(O){return O===null||ae(O)?(k.exit("codeFencedFence"),A(O)):I(O)}}}function vT(e,t,n){let r=this;return i;function i(o){return o===null?n(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a)}function a(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}var wo={name:"codeIndented",tokenize:kT},bT={tokenize:wT,partial:!0};function kT(e,t,n){let r=this;return i;function i(u){return e.enter("codeIndented"),fe(e,a,"linePrefix",5)(u)}function a(u){let c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?o(u):n(u)}function o(u){return u===null?l(u):ae(u)?e.attempt(bT,o,l)(u):(e.enter("codeFlowValue"),s(u))}function s(u){return u===null||ae(u)?(e.exit("codeFlowValue"),o(u)):(e.consume(u),s)}function l(u){return e.exit("codeIndented"),t(u)}}function wT(e,t,n){let r=this;return i;function i(o){return r.parser.lazy[r.now().line]?n(o):ae(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i):fe(e,a,"linePrefix",5)(o)}function a(o){let s=r.events[r.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?t(o):ae(o)?i(o):n(o)}}var ep={name:"codeText",tokenize:ST,resolve:xT,previous:NT};function xT(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r<t;)if(e[r][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!=="lineEnding"&&(i=r):(r===t||e[r][1].type==="lineEnding")&&(e[i][1].type="codeTextData",r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function NT(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function ST(e,t,n){let r=this,i=0,a,o;return s;function s(p){return e.enter("codeText"),e.enter("codeTextSequence"),l(p)}function l(p){return p===96?(e.consume(p),i++,l):(e.exit("codeTextSequence"),u(p))}function u(p){return p===null?n(p):p===32?(e.enter("space"),e.consume(p),e.exit("space"),u):p===96?(o=e.enter("codeTextSequence"),a=0,d(p)):ae(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),u):(e.enter("codeTextData"),c(p))}function c(p){return p===null||p===32||p===96||ae(p)?(e.exit("codeTextData"),u(p)):(e.consume(p),c)}function d(p){return p===96?(e.consume(p),a++,d):a===i?(e.exit("codeTextSequence"),e.exit("codeText"),t(p)):(o.type="codeTextData",c(p))}}var wl=class{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){let r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(t,r):t>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){let i=n||0;this.setCursor(Math.trunc(t));let a=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&xo(this.left,r),a.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),xo(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),xo(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){let n=this.left.splice(t,Number.POSITIVE_INFINITY);xo(this.right,n.reverse())}else{let n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);xo(this.left,n.reverse())}}};function xo(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function xl(e){let t={},n=-1,r,i,a,o,s,l,u,c=new wl(e);for(;++n<c.length;){for(;n in t;)n=t[n];if(r=c.get(n),n&&r[1].type==="chunkFlow"&&c.get(n-1)[1].type==="listItemPrefix"&&(l=r[1]._tokenizer.events,a=0,a<l.length&&l[a][1].type==="lineEndingBlank"&&(a+=2),a<l.length&&l[a][1].type==="content"))for(;++a<l.length&&l[a][1].type!=="content";)l[a][1].type==="chunkText"&&(l[a][1]._isInFirstContentOfListItem=!0,a++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,ET(c,n)),n=t[n],u=!0);else if(r[1]._container){for(a=n,i=void 0;a--&&(o=c.get(a),o[1].type==="lineEnding"||o[1].type==="lineEndingBlank");)o[0]==="enter"&&(i&&(c.get(i)[1].type="lineEndingBlank"),o[1].type="lineEnding",i=a);i&&(r[1].end=Object.assign({},c.get(i)[1].start),s=c.slice(i,n),s.unshift(r),c.splice(i,n-i+1,s))}}return it(e,0,Number.POSITIVE_INFINITY,c.slice(0)),!u}function ET(e,t){let n=e.get(t)[1],r=e.get(t)[2],i=t-1,a=[],o=n._tokenizer||r.parser[n.contentType](n.start),s=o.events,l=[],u={},c,d,p=-1,f=n,h=0,v=0,b=[v];for(;f;){for(;e.get(++i)[1]!==f;);a.push(i),f._tokenizer||(c=r.sliceStream(f),f.next||c.push(null),d&&o.defineSkip(f.start),f._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(c),f._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=f,f=f.next}for(f=n;++p<s.length;)s[p][0]==="exit"&&s[p-1][0]==="enter"&&s[p][1].type===s[p-1][1].type&&s[p][1].start.line!==s[p][1].end.line&&(v=p+1,b.push(v),f._tokenizer=void 0,f.previous=void 0,f=f.next);for(o.events=[],f?(f._tokenizer=void 0,f.previous=void 0):b.pop(),p=b.length;p--;){let g=s.slice(b[p],b[p+1]),y=a.pop();l.push([y,y+g.length-1]),e.splice(y,2,g)}for(l.reverse(),p=-1;++p<l.length;)u[h+l[p][0]]=h+l[p][1],h+=l[p][1]-l[p][0]-1;return u}var tp={tokenize:AT,resolve:TT},CT={tokenize:RT,partial:!0};function TT(e){return xl(e),e}function AT(e,t){let n;return r;function r(s){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),i(s)}function i(s){return s===null?a(s):ae(s)?e.check(CT,o,a)(s):(e.consume(s),i)}function a(s){return e.exit("chunkContent"),e.exit("content"),t(s)}function o(s){return e.consume(s),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,i}}function RT(e,t,n){let r=this;return i;function i(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),fe(e,a,"linePrefix")}function a(o){if(o===null||ae(o))return n(o);let s=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}}function Nl(e,t,n,r,i,a,o,s,l){let u=l||Number.POSITIVE_INFINITY,c=0;return d;function d(g){return g===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(g),e.exit(a),p):g===null||g===32||g===41||Jr(g)?n(g):(e.enter(r),e.enter(o),e.enter(s),e.enter("chunkString",{contentType:"string"}),v(g))}function p(g){return g===62?(e.enter(a),e.consume(g),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter("chunkString",{contentType:"string"}),f(g))}function f(g){return g===62?(e.exit("chunkString"),e.exit(s),p(g)):g===null||g===60||ae(g)?n(g):(e.consume(g),g===92?h:f)}function h(g){return g===60||g===62||g===92?(e.consume(g),f):f(g)}function v(g){return!c&&(g===null||g===41||Ce(g))?(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(r),t(g)):c<u&&g===40?(e.consume(g),c++,v):g===41?(e.consume(g),c--,v):g===null||g===32||g===40||Jr(g)?n(g):(e.consume(g),g===92?b:v)}function b(g){return g===40||g===41||g===92?(e.consume(g),v):v(g)}}function Sl(e,t,n,r,i,a){let o=this,s=0,l;return u;function u(f){return e.enter(r),e.enter(i),e.consume(f),e.exit(i),e.enter(a),c}function c(f){return s>999||f===null||f===91||f===93&&!l||f===94&&!s&&"_hiddenFootnoteSupport"in o.parser.constructs?n(f):f===93?(e.exit(a),e.enter(i),e.consume(f),e.exit(i),e.exit(r),t):ae(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),d(f))}function d(f){return f===null||f===91||f===93||ae(f)||s++>999?(e.exit("chunkString"),c(f)):(e.consume(f),l||(l=!he(f)),f===92?p:d)}function p(f){return f===91||f===92||f===93?(e.consume(f),s++,d):d(f)}}function El(e,t,n,r,i,a){let o;return s;function s(p){return p===34||p===39||p===40?(e.enter(r),e.enter(i),e.consume(p),e.exit(i),o=p===40?41:p,l):n(p)}function l(p){return p===o?(e.enter(i),e.consume(p),e.exit(i),e.exit(r),t):(e.enter(a),u(p))}function u(p){return p===o?(e.exit(a),l(o)):p===null?n(p):ae(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),fe(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(p))}function c(p){return p===o||p===null||ae(p)?(e.exit("chunkString"),u(p)):(e.consume(p),p===92?d:c)}function d(p){return p===o||p===92?(e.consume(p),c):c(p)}}function ti(e,t){let n;return r;function r(i){return ae(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):he(i)?fe(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}var np={name:"definition",tokenize:PT},IT={tokenize:LT,partial:!0};function PT(e,t,n){let r=this,i;return a;function a(f){return e.enter("definition"),o(f)}function o(f){return Sl.call(r,e,s,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(f)}function s(f){return i=Nt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),f===58?(e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),l):n(f)}function l(f){return Ce(f)?ti(e,u)(f):u(f)}function u(f){return Nl(e,c,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(f)}function c(f){return e.attempt(IT,d,d)(f)}function d(f){return he(f)?fe(e,p,"whitespace")(f):p(f)}function p(f){return f===null||ae(f)?(e.exit("definition"),r.parser.defined.push(i),t(f)):n(f)}}function LT(e,t,n){return r;function r(s){return Ce(s)?ti(e,i)(s):n(s)}function i(s){return El(e,a,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(s)}function a(s){return he(s)?fe(e,o,"whitespace")(s):o(s)}function o(s){return s===null||ae(s)?t(s):n(s)}}var rp={name:"hardBreakEscape",tokenize:OT};function OT(e,t,n){return r;function r(a){return e.enter("hardBreakEscape"),e.consume(a),i}function i(a){return ae(a)?(e.exit("hardBreakEscape"),t(a)):n(a)}}var ip={name:"headingAtx",tokenize:DT,resolve:_T};function _T(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},a={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},it(e,r,n-r+1,[["enter",i,t],["enter",a,t],["exit",a,t],["exit",i,t]])),e}function DT(e,t,n){let r=0;return i;function i(c){return e.enter("atxHeading"),a(c)}function a(c){return e.enter("atxHeadingSequence"),o(c)}function o(c){return c===35&&r++<6?(e.consume(c),o):c===null||Ce(c)?(e.exit("atxHeadingSequence"),s(c)):n(c)}function s(c){return c===35?(e.enter("atxHeadingSequence"),l(c)):c===null||ae(c)?(e.exit("atxHeading"),t(c)):he(c)?fe(e,s,"whitespace")(c):(e.enter("atxHeadingText"),u(c))}function l(c){return c===35?(e.consume(c),l):(e.exit("atxHeadingSequence"),s(c))}function u(c){return c===null||c===35||Ce(c)?(e.exit("atxHeadingText"),s(c)):(e.consume(c),u)}}var kb=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ap=["pre","script","style","textarea"];var op={name:"htmlFlow",tokenize:MT,resolveTo:$T,concrete:!0},FT={tokenize:jT,partial:!0},zT={tokenize:BT,partial:!0};function $T(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function MT(e,t,n){let r=this,i,a,o,s,l;return u;function u(C){return c(C)}function c(C){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(C),d}function d(C){return C===33?(e.consume(C),p):C===47?(e.consume(C),a=!0,v):C===63?(e.consume(C),i=3,r.interrupt?t:m):lt(C)?(e.consume(C),o=String.fromCharCode(C),b):n(C)}function p(C){return C===45?(e.consume(C),i=2,f):C===91?(e.consume(C),i=5,s=0,h):lt(C)?(e.consume(C),i=4,r.interrupt?t:m):n(C)}function f(C){return C===45?(e.consume(C),r.interrupt?t:m):n(C)}function h(C){let pe="CDATA[";return C===pe.charCodeAt(s++)?(e.consume(C),s===pe.length?r.interrupt?t:B:h):n(C)}function v(C){return lt(C)?(e.consume(C),o=String.fromCharCode(C),b):n(C)}function b(C){if(C===null||C===47||C===62||Ce(C)){let pe=C===47,Ne=o.toLowerCase();return!pe&&!a&&ap.includes(Ne)?(i=1,r.interrupt?t(C):B(C)):kb.includes(o.toLowerCase())?(i=6,pe?(e.consume(C),g):r.interrupt?t(C):B(C)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(C):a?y(C):x(C))}return C===45||Xe(C)?(e.consume(C),o+=String.fromCharCode(C),b):n(C)}function g(C){return C===62?(e.consume(C),r.interrupt?t:B):n(C)}function y(C){return he(C)?(e.consume(C),y):R(C)}function x(C){return C===47?(e.consume(C),R):C===58||C===95||lt(C)?(e.consume(C),N):he(C)?(e.consume(C),x):R(C)}function N(C){return C===45||C===46||C===58||C===95||Xe(C)?(e.consume(C),N):S(C)}function S(C){return C===61?(e.consume(C),k):he(C)?(e.consume(C),S):x(C)}function k(C){return C===null||C===60||C===61||C===62||C===96?n(C):C===34||C===39?(e.consume(C),l=C,A):he(C)?(e.consume(C),k):I(C)}function A(C){return C===l?(e.consume(C),l=null,z):C===null||ae(C)?n(C):(e.consume(C),A)}function I(C){return C===null||C===34||C===39||C===47||C===60||C===61||C===62||C===96||Ce(C)?S(C):(e.consume(C),I)}function z(C){return C===47||C===62||he(C)?x(C):n(C)}function R(C){return C===62?(e.consume(C),X):n(C)}function X(C){return C===null||ae(C)?B(C):he(C)?(e.consume(C),X):n(C)}function B(C){return C===45&&i===2?(e.consume(C),Y):C===60&&i===1?(e.consume(C),oe):C===62&&i===4?(e.consume(C),E):C===63&&i===3?(e.consume(C),m):C===93&&i===5?(e.consume(C),_):ae(C)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(FT,D,F)(C)):C===null||ae(C)?(e.exit("htmlFlowData"),F(C)):(e.consume(C),B)}function F(C){return e.check(zT,q,D)(C)}function q(C){return e.enter("lineEnding"),e.consume(C),e.exit("lineEnding"),O}function O(C){return C===null||ae(C)?F(C):(e.enter("htmlFlowData"),B(C))}function Y(C){return C===45?(e.consume(C),m):B(C)}function oe(C){return C===47?(e.consume(C),o="",j):B(C)}function j(C){if(C===62){let pe=o.toLowerCase();return ap.includes(pe)?(e.consume(C),E):B(C)}return lt(C)&&o.length<8?(e.consume(C),o+=String.fromCharCode(C),j):B(C)}function _(C){return C===93?(e.consume(C),m):B(C)}function m(C){return C===62?(e.consume(C),E):C===45&&i===2?(e.consume(C),m):B(C)}function E(C){return C===null||ae(C)?(e.exit("htmlFlowData"),D(C)):(e.consume(C),E)}function D(C){return e.exit("htmlFlow"),t(C)}}function BT(e,t,n){let r=this;return i;function i(o){return ae(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a):n(o)}function a(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}function jT(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Ln,t,n)}}var sp={name:"htmlText",tokenize:UT};function UT(e,t,n){let r=this,i,a,o;return s;function s(m){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(m),l}function l(m){return m===33?(e.consume(m),u):m===47?(e.consume(m),S):m===63?(e.consume(m),x):lt(m)?(e.consume(m),I):n(m)}function u(m){return m===45?(e.consume(m),c):m===91?(e.consume(m),a=0,h):lt(m)?(e.consume(m),y):n(m)}function c(m){return m===45?(e.consume(m),f):n(m)}function d(m){return m===null?n(m):m===45?(e.consume(m),p):ae(m)?(o=d,oe(m)):(e.consume(m),d)}function p(m){return m===45?(e.consume(m),f):d(m)}function f(m){return m===62?Y(m):m===45?p(m):d(m)}function h(m){let E="CDATA[";return m===E.charCodeAt(a++)?(e.consume(m),a===E.length?v:h):n(m)}function v(m){return m===null?n(m):m===93?(e.consume(m),b):ae(m)?(o=v,oe(m)):(e.consume(m),v)}function b(m){return m===93?(e.consume(m),g):v(m)}function g(m){return m===62?Y(m):m===93?(e.consume(m),g):v(m)}function y(m){return m===null||m===62?Y(m):ae(m)?(o=y,oe(m)):(e.consume(m),y)}function x(m){return m===null?n(m):m===63?(e.consume(m),N):ae(m)?(o=x,oe(m)):(e.consume(m),x)}function N(m){return m===62?Y(m):x(m)}function S(m){return lt(m)?(e.consume(m),k):n(m)}function k(m){return m===45||Xe(m)?(e.consume(m),k):A(m)}function A(m){return ae(m)?(o=A,oe(m)):he(m)?(e.consume(m),A):Y(m)}function I(m){return m===45||Xe(m)?(e.consume(m),I):m===47||m===62||Ce(m)?z(m):n(m)}function z(m){return m===47?(e.consume(m),Y):m===58||m===95||lt(m)?(e.consume(m),R):ae(m)?(o=z,oe(m)):he(m)?(e.consume(m),z):Y(m)}function R(m){return m===45||m===46||m===58||m===95||Xe(m)?(e.consume(m),R):X(m)}function X(m){return m===61?(e.consume(m),B):ae(m)?(o=X,oe(m)):he(m)?(e.consume(m),X):z(m)}function B(m){return m===null||m===60||m===61||m===62||m===96?n(m):m===34||m===39?(e.consume(m),i=m,F):ae(m)?(o=B,oe(m)):he(m)?(e.consume(m),B):(e.consume(m),q)}function F(m){return m===i?(e.consume(m),i=void 0,O):m===null?n(m):ae(m)?(o=F,oe(m)):(e.consume(m),F)}function q(m){return m===null||m===34||m===39||m===60||m===61||m===96?n(m):m===47||m===62||Ce(m)?z(m):(e.consume(m),q)}function O(m){return m===47||m===62||Ce(m)?z(m):n(m)}function Y(m){return m===62?(e.consume(m),e.exit("htmlTextData"),e.exit("htmlText"),t):n(m)}function oe(m){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),j}function j(m){return he(m)?fe(e,_,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(m):_(m)}function _(m){return e.enter("htmlTextData"),o(m)}}var ni={name:"labelEnd",tokenize:GT,resolveTo:KT,resolveAll:WT},HT={tokenize:QT},qT={tokenize:YT},VT={tokenize:XT};function WT(e){let t=-1;for(;++t<e.length;){let n=e[t][1];(n.type==="labelImage"||n.type==="labelLink"||n.type==="labelEnd")&&(e.splice(t+1,n.type==="labelImage"?4:2),n.type="data",t++)}return e}function KT(e,t){let n=e.length,r=0,i,a,o,s;for(;n--;)if(i=e[n][1],a){if(i.type==="link"||i.type==="labelLink"&&i._inactive)break;e[n][0]==="enter"&&i.type==="labelLink"&&(i._inactive=!0)}else if(o){if(e[n][0]==="enter"&&(i.type==="labelImage"||i.type==="labelLink")&&!i._balanced&&(a=n,i.type!=="labelLink")){r=2;break}}else i.type==="labelEnd"&&(o=n);let l={type:e[a][1].type==="labelLink"?"link":"image",start:Object.assign({},e[a][1].start),end:Object.assign({},e[e.length-1][1].end)},u={type:"label",start:Object.assign({},e[a][1].start),end:Object.assign({},e[o][1].end)},c={type:"labelText",start:Object.assign({},e[a+r+2][1].end),end:Object.assign({},e[o-2][1].start)};return s=[["enter",l,t],["enter",u,t]],s=Ot(s,e.slice(a+1,a+r+3)),s=Ot(s,[["enter",c,t]]),s=Ot(s,Er(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=Ot(s,[["exit",c,t],e[o-2],e[o-1],["exit",u,t]]),s=Ot(s,e.slice(o+1)),s=Ot(s,[["exit",l,t]]),it(e,a,e.length,s),e}function GT(e,t,n){let r=this,i=r.events.length,a,o;for(;i--;)if((r.events[i][1].type==="labelImage"||r.events[i][1].type==="labelLink")&&!r.events[i][1]._balanced){a=r.events[i][1];break}return s;function s(p){return a?a._inactive?d(p):(o=r.parser.defined.includes(Nt(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(p),e.exit("labelMarker"),e.exit("labelEnd"),l):n(p)}function l(p){return p===40?e.attempt(HT,c,o?c:d)(p):p===91?e.attempt(qT,c,o?u:d)(p):o?c(p):d(p)}function u(p){return e.attempt(VT,c,d)(p)}function c(p){return t(p)}function d(p){return a._balanced=!0,n(p)}}function QT(e,t,n){return r;function r(d){return e.enter("resource"),e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),i}function i(d){return Ce(d)?ti(e,a)(d):a(d)}function a(d){return d===41?c(d):Nl(e,o,s,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(d)}function o(d){return Ce(d)?ti(e,l)(d):c(d)}function s(d){return n(d)}function l(d){return d===34||d===39||d===40?El(e,u,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(d):c(d)}function u(d){return Ce(d)?ti(e,c)(d):c(d)}function c(d){return d===41?(e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),e.exit("resource"),t):n(d)}}function YT(e,t,n){let r=this;return i;function i(s){return Sl.call(r,e,a,o,"reference","referenceMarker","referenceString")(s)}function a(s){return r.parser.defined.includes(Nt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(s):n(s)}function o(s){return n(s)}}function XT(e,t,n){return r;function r(a){return e.enter("reference"),e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),i}function i(a){return a===93?(e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),e.exit("reference"),t):n(a)}}var lp={name:"labelStartImage",tokenize:ZT,resolveAll:ni.resolveAll};function ZT(e,t,n){let r=this;return i;function i(s){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(s),e.exit("labelImageMarker"),a}function a(s){return s===91?(e.enter("labelMarker"),e.consume(s),e.exit("labelMarker"),e.exit("labelImage"),o):n(s)}function o(s){return s===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(s):t(s)}}var up={name:"labelStartLink",tokenize:JT,resolveAll:ni.resolveAll};function JT(e,t,n){let r=this;return i;function i(o){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelLink"),a}function a(o){return o===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(o):t(o)}}var No={name:"lineEnding",tokenize:eA};function eA(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),fe(e,t,"linePrefix")}}var ri={name:"thematicBreak",tokenize:tA};function tA(e,t,n){let r=0,i;return a;function a(u){return e.enter("thematicBreak"),o(u)}function o(u){return i=u,s(u)}function s(u){return u===i?(e.enter("thematicBreakSequence"),l(u)):r>=3&&(u===null||ae(u))?(e.exit("thematicBreak"),t(u)):n(u)}function l(u){return u===i?(e.consume(u),r++,l):(e.exit("thematicBreakSequence"),he(u)?fe(e,s,"whitespace")(u):s(u))}}var St={name:"list",tokenize:iA,continuation:{tokenize:aA},exit:sA},nA={tokenize:lA,partial:!0},rA={tokenize:oA,partial:!0};function iA(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(f){let h=r.containerState.type||(f===42||f===43||f===45?"listUnordered":"listOrdered");if(h==="listUnordered"?!r.containerState.marker||f===r.containerState.marker:bo(f)){if(r.containerState.type||(r.containerState.type=h,e.enter(h,{_container:!0})),h==="listUnordered")return e.enter("listItemPrefix"),f===42||f===45?e.check(ri,n,u)(f):u(f);if(!r.interrupt||f===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(f)}return n(f)}function l(f){return bo(f)&&++o<10?(e.consume(f),l):(!r.interrupt||o<2)&&(r.containerState.marker?f===r.containerState.marker:f===41||f===46)?(e.exit("listItemValue"),u(f)):n(f)}function u(f){return e.enter("listItemMarker"),e.consume(f),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||f,e.check(Ln,r.interrupt?n:c,e.attempt(nA,p,d))}function c(f){return r.containerState.initialBlankLine=!0,a++,p(f)}function d(f){return he(f)?(e.enter("listItemPrefixWhitespace"),e.consume(f),e.exit("listItemPrefixWhitespace"),p):n(f)}function p(f){return r.containerState.size=a+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(f)}}function aA(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(Ln,i,a);function i(s){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,fe(e,t,"listItemIndent",r.containerState.size+1)(s)}function a(s){return r.containerState.furtherBlankLines||!he(s)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(s)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(rA,t,o)(s))}function o(s){return r.containerState._closeFlow=!0,r.interrupt=void 0,fe(e,e.attempt(St,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s)}}function oA(e,t,n){let r=this;return fe(e,i,"listItemIndent",r.containerState.size+1);function i(a){let o=r.events[r.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(a):n(a)}}function sA(e){e.exit(this.containerState.type)}function lA(e,t,n){let r=this;return fe(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(a){let o=r.events[r.events.length-1];return!he(a)&&o&&o[1].type==="listItemPrefixWhitespace"?t(a):n(a)}}var Cl={name:"setextUnderline",tokenize:cA,resolveTo:uA};function uA(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!a&&e[n][1].type==="definition"&&(a=n);let o={type:"setextHeading",start:Object.assign({},e[i][1].start),end:Object.assign({},e[e.length-1][1].end)};return e[i][1].type="setextHeadingText",a?(e.splice(i,0,["enter",o,t]),e.splice(a+1,0,["exit",e[r][1],t]),e[r][1].end=Object.assign({},e[a][1].end)):e[r][1]=o,e.push(["exit",o,t]),e}function cA(e,t,n){let r=this,i;return a;function a(u){let c=r.events.length,d;for(;c--;)if(r.events[c][1].type!=="lineEnding"&&r.events[c][1].type!=="linePrefix"&&r.events[c][1].type!=="content"){d=r.events[c][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||d)?(e.enter("setextHeadingLine"),i=u,o(u)):n(u)}function o(u){return e.enter("setextHeadingLineSequence"),s(u)}function s(u){return u===i?(e.consume(u),s):(e.exit("setextHeadingLineSequence"),he(u)?fe(e,l,"lineSuffix")(u):l(u))}function l(u){return u===null||ae(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}var wb={tokenize:dA};function dA(e){let t=this,n=e.attempt(Ln,r,e.attempt(this.parser.constructs.flowInitial,i,fe(e,e.attempt(this.parser.constructs.flow,i,e.attempt(tp,i)),"linePrefix")));return n;function r(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var xb={resolveAll:Cb()},Nb=Eb("string"),Sb=Eb("text");function Eb(e){return{tokenize:t,resolveAll:Cb(e==="text"?pA:void 0)};function t(n){let r=this,i=this.parser.constructs[e],a=n.attempt(i,o,s);return o;function o(c){return u(c)?a(c):s(c)}function s(c){if(c===null){n.consume(c);return}return n.enter("data"),n.consume(c),l}function l(c){return u(c)?(n.exit("data"),a(c)):(n.consume(c),l)}function u(c){if(c===null)return!0;let d=i[c],p=-1;if(d)for(;++p<d.length;){let f=d[p];if(!f.previous||f.previous.call(r,r.previous))return!0}return!1}}}function Cb(e){return t;function t(n,r){let i=-1,a;for(;++i<=n.length;)a===void 0?n[i]&&n[i][1].type==="data"&&(a=i,i++):(!n[i]||n[i][1].type!=="data")&&(i!==a+2&&(n[a][1].end=n[i-1][1].end,n.splice(a+2,i-a-2),i=a+2),a=void 0);return e?e(n,r):n}}function pA(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){let r=e[n-1][1],i=t.sliceStream(r),a=i.length,o=-1,s=0,l;for(;a--;){let u=i[a];if(typeof u=="string"){for(o=u.length;u.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(u===-2)l=!0,s++;else if(u!==-1){a++;break}}if(s){let u={type:n===e.length||l||s<2?"lineSuffix":"hardBreakTrailing",start:{line:r.end.line,column:r.end.column-s,offset:r.end.offset-s,_index:r.start._index+a,_bufferIndex:a?o:r.start._bufferIndex+o},end:Object.assign({},r.end)};r.end=Object.assign({},u.start),r.start.offset===r.end.offset?Object.assign(r,u):(e.splice(n,0,["enter",u,t],["exit",u,t]),n+=2)}n++}return e}function Tb(e,t,n){let r=Object.assign(n?Object.assign({},n):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1}),i={},a=[],o=[],s=[],l=!0,u={consume:N,enter:S,exit:k,attempt:z(A),check:z(I),interrupt:z(I,{interrupt:!0})},c={previous:null,code:null,containerState:{},events:[],parser:e,sliceStream:v,sliceSerialize:h,now:b,defineSkip:g,write:f},d=t.tokenize.call(c,u),p;return t.resolveAll&&a.push(t),c;function f(F){return o=Ot(o,F),y(),o[o.length-1]!==null?[]:(R(t,0),c.events=Er(a,c.events,c),c.events)}function h(F,q){return fA(v(F),q)}function v(F){return mA(o,F)}function b(){let{line:F,column:q,offset:O,_index:Y,_bufferIndex:oe}=r;return{line:F,column:q,offset:O,_index:Y,_bufferIndex:oe}}function g(F){i[F.line]=F.column,B()}function y(){let F;for(;r._index<o.length;){let q=o[r._index];if(typeof q=="string")for(F=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===F&&r._bufferIndex<q.length;)x(q.charCodeAt(r._bufferIndex));else x(q)}}function x(F){l=void 0,p=F,d=d(F)}function N(F){ae(F)?(r.line++,r.column=1,r.offset+=F===-3?2:1,B()):F!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),c.previous=F,l=!0}function S(F,q){let O=q||{};return O.type=F,O.start=b(),c.events.push(["enter",O,c]),s.push(O),O}function k(F){let q=s.pop();return q.end=b(),c.events.push(["exit",q,c]),q}function A(F,q){R(F,q.from)}function I(F,q){q.restore()}function z(F,q){return O;function O(Y,oe,j){let _,m,E,D;return Array.isArray(Y)?pe(Y):"tokenize"in Y?pe([Y]):C(Y);function C(ge){return pt;function pt(et){let Zt=et!==null&&ge[et],zn=et!==null&&ge.null,hi=[...Array.isArray(Zt)?Zt:Zt?[Zt]:[],...Array.isArray(zn)?zn:zn?[zn]:[]];return pe(hi)(et)}}function pe(ge){return _=ge,m=0,ge.length===0?j:Ne(ge[m])}function Ne(ge){return pt;function pt(et){return D=X(),E=ge,ge.partial||(c.currentConstruct=ge),ge.name&&c.parser.constructs.disable.null.includes(ge.name)?ue(et):ge.tokenize.call(q?Object.assign(Object.create(c),q):c,u,ee,ue)(et)}}function ee(ge){return l=!0,F(E,D),oe}function ue(ge){return l=!0,D.restore(),++m<_.length?Ne(_[m]):j}}}function R(F,q){F.resolveAll&&!a.includes(F)&&a.push(F),F.resolve&&it(c.events,q,c.events.length-q,F.resolve(c.events.slice(q),c)),F.resolveTo&&(c.events=F.resolveTo(c.events,c))}function X(){let F=b(),q=c.previous,O=c.currentConstruct,Y=c.events.length,oe=Array.from(s);return{restore:j,from:Y};function j(){r=F,c.previous=q,c.currentConstruct=O,c.events.length=Y,s=oe,B()}}function B(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function mA(e,t){let n=t.start._index,r=t.start._bufferIndex,i=t.end._index,a=t.end._bufferIndex,o;if(n===i)o=[e[n].slice(r,a)];else{if(o=e.slice(n,i),r>-1){let s=o[0];typeof s=="string"?o[0]=s.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function fA(e,t){let n=-1,r=[],i;for(;++n<e.length;){let a=e[n],o;if(typeof a=="string")o=a;else switch(a){case-5:{o="\\r";break}case-4:{o=`\n`;break}case-3:{o=`\\r\n`;break}case-2:{o=t?" ":" ";break}case-1:{if(!t&&i)continue;o=" ";break}default:o=String.fromCharCode(a)}i=a===-2,r.push(o)}return r.join("")}var cp={};Hf(cp,{attentionMarkers:()=>xA,contentInitial:()=>gA,disable:()=>NA,document:()=>hA,flow:()=>vA,flowInitial:()=>yA,insideSpan:()=>wA,string:()=>bA,text:()=>kA});var hA={42:St,43:St,45:St,48:St,49:St,50:St,51:St,52:St,53:St,54:St,55:St,56:St,57:St,62:yl},gA={91:np},yA={[-2]:wo,[-1]:wo,32:wo},vA={35:ip,42:ri,45:[Cl,ri],60:op,61:Cl,95:ri,96:kl,126:kl},bA={38:bl,92:vl},kA={[-5]:No,[-4]:No,[-3]:No,33:lp,38:bl,42:ko,60:[Jd,sp],91:up,92:[rp,vl],93:ni,95:ko,96:ep},wA={null:[ko,xb]},xA={null:[42,95]},NA={null:[]};function dp(e){let n=hl([cp,...(e||{}).extensions||[]]),r={defined:[],lazy:{},constructs:n,content:i(hb),document:i(yb),flow:i(wb),string:i(Nb),text:i(Sb)};return r;function i(a){return o;function o(s){return Tb(r,a,s)}}}function pp(e){for(;!xl(e););return e}var Ab=/[\\0\\t\\n\\r]/g;function mp(){let e=1,t="",n=!0,r;return i;function i(a,o,s){let l=[],u,c,d,p,f;for(a=t+(typeof a=="string"?a.toString():new TextDecoder(o||void 0).decode(a)),d=0,t="",n&&(a.charCodeAt(0)===65279&&d++,n=void 0);d<a.length;){if(Ab.lastIndex=d,u=Ab.exec(a),p=u&&u.index!==void 0?u.index:a.length,f=a.charCodeAt(p),!u){t=a.slice(d);break}if(f===10&&d===p&&r)l.push(-3),r=void 0;else switch(r&&(l.push(-5),r=void 0),d<p&&(l.push(a.slice(d,p)),e+=p-d),f){case 0:{l.push(65533),e++;break}case 9:{for(c=Math.ceil(e/4)*4,l.push(-2);e++<c;)l.push(-1);break}case 10:{l.push(-4),e=1;break}default:r=!0,e=1}d=p+1}return s&&(r&&l.push(-5),t&&l.push(t),l.push(null)),l}}var SA=/\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;function Rb(e){return e.replace(SA,EA)}function EA(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){let i=n.charCodeAt(1),a=i===120||i===88;return gl(n.slice(a?2:1),a?16:10)}return Xi(n)||e}var Pb={}.hasOwnProperty;function fp(e,t,n){return typeof t!="string"&&(n=t,t=void 0),CA(n)(pp(dp(n).document().write(mp()(e,t,!0))))}function CA(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(gi),autolinkProtocol:z,autolinkEmail:z,atxHeading:a(Ee),blockQuote:a(et),characterEscape:z,characterReference:z,codeFenced:a(Zt),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:a(Zt,o),codeText:a(zn,o),codeTextData:z,data:z,codeFlowValue:z,definition:a(hi),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:a(te),hardBreakEscape:a(_e),hardBreakTrailing:a(_e),htmlFlow:a(Ct,o),htmlFlowData:z,htmlText:a(Ct,o),htmlTextData:z,image:a(Tt),label:o,link:a(gi),listItem:a(dS),listItemValue:p,listOrdered:a(Uf,d),listUnordered:a(Uf),paragraph:a(pS),reference:C,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:a(Ee),strong:a(mS),thematicBreak:a(hS)},exit:{atxHeading:l(),atxHeadingSequence:S,autolink:l(),autolinkEmail:pt,autolinkProtocol:ge,blockQuote:l(),characterEscapeValue:R,characterReferenceMarkerHexadecimal:Ne,characterReferenceMarkerNumeric:Ne,characterReferenceValue:ee,characterReference:ue,codeFenced:l(b),codeFencedFence:v,codeFencedFenceInfo:f,codeFencedFenceMeta:h,codeFlowValue:R,codeIndented:l(g),codeText:l(O),codeTextData:R,data:R,definition:l(),definitionDestinationString:N,definitionLabelString:y,definitionTitleString:x,emphasis:l(),hardBreakEscape:l(B),hardBreakTrailing:l(B),htmlFlow:l(F),htmlFlowData:R,htmlText:l(q),htmlTextData:R,image:l(oe),label:_,labelText:j,lineEnding:X,link:l(Y),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:pe,resourceDestinationString:m,resourceTitleString:E,resource:D,setextHeading:l(I),setextHeadingLineSequence:A,setextHeadingText:k,strong:l(),thematicBreak:l()}};Lb(t,(e||{}).mdastExtensions||[]);let n={};return r;function r(U){let re={type:"root",children:[]},xe={stack:[re],tokenStack:[],config:t,enter:s,exit:u,buffer:o,resume:c,data:n},Re=[],$e=-1;for(;++$e<U.length;)if(U[$e][1].type==="listOrdered"||U[$e][1].type==="listUnordered")if(U[$e][0]==="enter")Re.push($e);else{let dn=Re.pop();$e=i(U,dn,$e)}for($e=-1;++$e<U.length;){let dn=t[U[$e][0]];Pb.call(dn,U[$e][1].type)&&dn[U[$e][1].type].call(Object.assign({sliceSerialize:U[$e][2].sliceSerialize},xe),U[$e][1])}if(xe.tokenStack.length>0){let dn=xe.tokenStack[xe.tokenStack.length-1];(dn[1]||Ib).call(xe,void 0,dn[0])}for(re.position={start:Cr(U.length>0?U[0][1].start:{line:1,column:1,offset:0}),end:Cr(U.length>0?U[U.length-2][1].end:{line:1,column:1,offset:0})},$e=-1;++$e<t.transforms.length;)re=t.transforms[$e](re)||re;return re}function i(U,re,xe){let Re=re-1,$e=-1,dn=!1,Lr,$n,ga,ya;for(;++Re<=xe;){let Ht=U[Re];switch(Ht[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{Ht[0]==="enter"?$e++:$e--,ya=void 0;break}case"lineEndingBlank":{Ht[0]==="enter"&&(Lr&&!ya&&!$e&&!ga&&(ga=Re),ya=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:ya=void 0}if(!$e&&Ht[0]==="enter"&&Ht[1].type==="listItemPrefix"||$e===-1&&Ht[0]==="exit"&&(Ht[1].type==="listUnordered"||Ht[1].type==="listOrdered")){if(Lr){let yi=Re;for($n=void 0;yi--;){let Mn=U[yi];if(Mn[1].type==="lineEnding"||Mn[1].type==="lineEndingBlank"){if(Mn[0]==="exit")continue;$n&&(U[$n][1].type="lineEndingBlank",dn=!0),Mn[1].type="lineEnding",$n=yi}else if(!(Mn[1].type==="linePrefix"||Mn[1].type==="blockQuotePrefix"||Mn[1].type==="blockQuotePrefixWhitespace"||Mn[1].type==="blockQuoteMarker"||Mn[1].type==="listItemIndent"))break}ga&&(!$n||ga<$n)&&(Lr._spread=!0),Lr.end=Object.assign({},$n?U[$n][1].start:Ht[1].end),U.splice($n||Re,0,["exit",Lr,Ht[2]]),Re++,xe++}if(Ht[1].type==="listItemPrefix"){let yi={type:"listItem",_spread:!1,start:Object.assign({},Ht[1].start),end:void 0};Lr=yi,U.splice(Re,0,["enter",yi,Ht[2]]),Re++,xe++,ga=void 0,ya=!0}}}return U[re][1]._spread=dn,xe}function a(U,re){return xe;function xe(Re){s.call(this,U(Re),Re),re&&re.call(this,Re)}}function o(){this.stack.push({type:"fragment",children:[]})}function s(U,re,xe){this.stack[this.stack.length-1].children.push(U),this.stack.push(U),this.tokenStack.push([re,xe]),U.position={start:Cr(re.start),end:void 0}}function l(U){return re;function re(xe){U&&U.call(this,xe),u.call(this,xe)}}function u(U,re){let xe=this.stack.pop(),Re=this.tokenStack.pop();if(Re)Re[0].type!==U.type&&(re?re.call(this,U,Re[0]):(Re[1]||Ib).call(this,U,Re[0]));else throw new Error("Cannot close `"+U.type+"` ("+Nr({start:U.start,end:U.end})+"): it\\u2019s not open");xe.position.end=Cr(U.end)}function c(){return Zr(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function p(U){if(this.data.expectingFirstListItemValue){let re=this.stack[this.stack.length-2];re.start=Number.parseInt(this.sliceSerialize(U),10),this.data.expectingFirstListItemValue=void 0}}function f(){let U=this.resume(),re=this.stack[this.stack.length-1];re.lang=U}function h(){let U=this.resume(),re=this.stack[this.stack.length-1];re.meta=U}function v(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function b(){let U=this.resume(),re=this.stack[this.stack.length-1];re.value=U.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g,""),this.data.flowCodeInside=void 0}function g(){let U=this.resume(),re=this.stack[this.stack.length-1];re.value=U.replace(/(\\r?\\n|\\r)$/g,"")}function y(U){let re=this.resume(),xe=this.stack[this.stack.length-1];xe.label=re,xe.identifier=Nt(this.sliceSerialize(U)).toLowerCase()}function x(){let U=this.resume(),re=this.stack[this.stack.length-1];re.title=U}function N(){let U=this.resume(),re=this.stack[this.stack.length-1];re.url=U}function S(U){let re=this.stack[this.stack.length-1];if(!re.depth){let xe=this.sliceSerialize(U).length;re.depth=xe}}function k(){this.data.setextHeadingSlurpLineEnding=!0}function A(U){let re=this.stack[this.stack.length-1];re.depth=this.sliceSerialize(U).codePointAt(0)===61?1:2}function I(){this.data.setextHeadingSlurpLineEnding=void 0}function z(U){let xe=this.stack[this.stack.length-1].children,Re=xe[xe.length-1];(!Re||Re.type!=="text")&&(Re=fS(),Re.position={start:Cr(U.start),end:void 0},xe.push(Re)),this.stack.push(Re)}function R(U){let re=this.stack.pop();re.value+=this.sliceSerialize(U),re.position.end=Cr(U.end)}function X(U){let re=this.stack[this.stack.length-1];if(this.data.atHardBreak){let xe=re.children[re.children.length-1];xe.position.end=Cr(U.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(re.type)&&(z.call(this,U),R.call(this,U))}function B(){this.data.atHardBreak=!0}function F(){let U=this.resume(),re=this.stack[this.stack.length-1];re.value=U}function q(){let U=this.resume(),re=this.stack[this.stack.length-1];re.value=U}function O(){let U=this.resume(),re=this.stack[this.stack.length-1];re.value=U}function Y(){let U=this.stack[this.stack.length-1];if(this.data.inReference){let re=this.data.referenceType||"shortcut";U.type+="Reference",U.referenceType=re,delete U.url,delete U.title}else delete U.identifier,delete U.label;this.data.referenceType=void 0}function oe(){let U=this.stack[this.stack.length-1];if(this.data.inReference){let re=this.data.referenceType||"shortcut";U.type+="Reference",U.referenceType=re,delete U.url,delete U.title}else delete U.identifier,delete U.label;this.data.referenceType=void 0}function j(U){let re=this.sliceSerialize(U),xe=this.stack[this.stack.length-2];xe.label=Rb(re),xe.identifier=Nt(re).toLowerCase()}function _(){let U=this.stack[this.stack.length-1],re=this.resume(),xe=this.stack[this.stack.length-1];if(this.data.inReference=!0,xe.type==="link"){let Re=U.children;xe.children=Re}else xe.alt=re}function m(){let U=this.resume(),re=this.stack[this.stack.length-1];re.url=U}function E(){let U=this.resume(),re=this.stack[this.stack.length-1];re.title=U}function D(){this.data.inReference=void 0}function C(){this.data.referenceType="collapsed"}function pe(U){let re=this.resume(),xe=this.stack[this.stack.length-1];xe.label=re,xe.identifier=Nt(this.sliceSerialize(U)).toLowerCase(),this.data.referenceType="full"}function Ne(U){this.data.characterReferenceType=U.type}function ee(U){let re=this.sliceSerialize(U),xe=this.data.characterReferenceType,Re;xe?(Re=gl(re,xe==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):Re=Xi(re);let $e=this.stack[this.stack.length-1];$e.value+=Re}function ue(U){let re=this.stack.pop();re.position.end=Cr(U.end)}function ge(U){R.call(this,U);let re=this.stack[this.stack.length-1];re.url=this.sliceSerialize(U)}function pt(U){R.call(this,U);let re=this.stack[this.stack.length-1];re.url="mailto:"+this.sliceSerialize(U)}function et(){return{type:"blockquote",children:[]}}function Zt(){return{type:"code",lang:null,meta:null,value:""}}function zn(){return{type:"inlineCode",value:""}}function hi(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function te(){return{type:"emphasis",children:[]}}function Ee(){return{type:"heading",depth:0,children:[]}}function _e(){return{type:"break"}}function Ct(){return{type:"html",value:""}}function Tt(){return{type:"image",title:null,url:"",alt:null}}function gi(){return{type:"link",title:null,url:"",children:[]}}function Uf(U){return{type:"list",ordered:U.type==="listOrdered",start:null,spread:U._spread,children:[]}}function dS(U){return{type:"listItem",spread:U._spread,checked:null,children:[]}}function pS(){return{type:"paragraph",children:[]}}function mS(){return{type:"strong",children:[]}}function fS(){return{type:"text",value:""}}function hS(){return{type:"thematicBreak"}}}function Cr(e){return{line:e.line,column:e.column,offset:e.offset}}function Lb(e,t){let n=-1;for(;++n<t.length;){let r=t[n];Array.isArray(r)?Lb(e,r):TA(e,r)}}function TA(e,t){let n;for(n in t)if(Pb.call(t,n))switch(n){case"canContainEols":{let r=t[n];r&&e[n].push(...r);break}case"transforms":{let r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{let r=t[n];r&&Object.assign(e[n],r);break}}}function Ib(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+Nr({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+Nr({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+Nr({start:t.start,end:t.end})+") is still open")}function Tl(e){let t=this;t.parser=n;function n(r){return fp(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function Ob(e,t){let n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function _b(e,t){let n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`\n`}]}function Db(e,t){let n=t.value?t.value+`\n`:"",r={},i=t.lang?t.lang.split(/\\s+/):[];i.length>0&&(r.className=["language-"+i[0]]);let a={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(a.data={meta:t.meta}),e.patch(t,a),a=e.applyData(t,a),a={type:"element",tagName:"pre",properties:{},children:[a]},e.patch(t,a),a}function Fb(e,t){let n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function zb(e,t){let n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function $b(e,t){let n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),i=ln(r.toLowerCase()),a=e.footnoteOrder.indexOf(r),o,s=e.footnoteCounts.get(r);s===void 0?(s=0,e.footnoteOrder.push(r),o=e.footnoteOrder.length):o=a+1,s+=1,e.footnoteCounts.set(r,s);let l={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+i,id:n+"fnref-"+i+(s>1?"-"+s:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(o)}]};e.patch(t,l);let u={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(t,u),e.applyData(t,u)}function Mb(e,t){let n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Bb(e,t){if(e.options.allowDangerousHtml){let n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function Al(e,t){let n=t.referenceType,r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];let i=e.all(t),a=i[0];a&&a.type==="text"?a.value="["+a.value:i.unshift({type:"text",value:"["});let o=i[i.length-1];return o&&o.type==="text"?o.value+=r:i.push({type:"text",value:r}),i}function jb(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Al(e,t);let i={src:ln(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,a),e.applyData(t,a)}function Ub(e,t){let n={src:ln(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function Hb(e,t){let n={type:"text",value:t.value.replace(/\\r?\\n|\\r/g," ")};e.patch(t,n);let r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function qb(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Al(e,t);let i={href:ln(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function Vb(e,t){let n={href:ln(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function Wb(e,t,n){let r=e.all(t),i=n?AA(n):Kb(t),a={},o=[];if(typeof t.checked=="boolean"){let c=r[0],d;c&&c.type==="element"&&c.tagName==="p"?d=c:(d={type:"element",tagName:"p",properties:{},children:[]},r.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),a.className=["task-list-item"]}let s=-1;for(;++s<r.length;){let c=r[s];(i||s!==0||c.type!=="element"||c.tagName!=="p")&&o.push({type:"text",value:`\n`}),c.type==="element"&&c.tagName==="p"&&!i?o.push(...c.children):o.push(c)}let l=r[r.length-1];l&&(i||l.type!=="element"||l.tagName!=="p")&&o.push({type:"text",value:`\n`});let u={type:"element",tagName:"li",properties:a,children:o};return e.patch(t,u),e.applyData(t,u)}function AA(e){let t=!1;if(e.type==="list"){t=e.spread||!1;let n=e.children,r=-1;for(;!t&&++r<n.length;)t=Kb(n[r])}return t}function Kb(e){let t=e.spread;return t??e.children.length>1}function Gb(e,t){let n={},r=e.all(t),i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i<r.length;){let o=r[i];if(o.type==="element"&&o.tagName==="li"&&o.properties&&Array.isArray(o.properties.className)&&o.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}let a={type:"element",tagName:t.ordered?"ol":"ul",properties:n,children:e.wrap(r,!0)};return e.patch(t,a),e.applyData(t,a)}function Qb(e,t){let n={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Yb(e,t){let n={type:"root",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function Xb(e,t){let n={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Zb(e,t){let n=e.all(t),r=n.shift(),i=[];if(r){let o={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],o),i.push(o)}if(n.length>0){let o={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},s=Yi(t.children[1]),l=fl(t.children[t.children.length-1]);s&&l&&(o.position={start:s,end:l}),i.push(o)}let a={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,a),e.applyData(t,a)}function Jb(e,t,n){let r=n?n.children:void 0,a=(r?r.indexOf(t):1)===0?"th":"td",o=n&&n.type==="table"?n.align:void 0,s=o?o.length:t.children.length,l=-1,u=[];for(;++l<s;){let d=t.children[l],p={},f=o?o[l]:void 0;f&&(p.align=f);let h={type:"element",tagName:a,properties:p,children:[]};d&&(h.children=e.all(d),e.patch(d,h),h=e.applyData(d,h)),u.push(h)}let c={type:"element",tagName:"tr",properties:{},children:e.wrap(u,!0)};return e.patch(t,c),e.applyData(t,c)}function ek(e,t){let n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function nk(e){let t=String(e),n=/\\r?\\n|\\r/g,r=n.exec(t),i=0,a=[];for(;r;)a.push(tk(t.slice(i,r.index),i>0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return a.push(tk(t.slice(i),i>0,!1)),a.join("")}function tk(e,t,n){let r=0,i=e.length;if(t){let a=e.codePointAt(r);for(;a===9||a===32;)r++,a=e.codePointAt(r)}if(n){let a=e.codePointAt(i-1);for(;a===9||a===32;)i--,a=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function rk(e,t){let n={type:"text",value:nk(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function ik(e,t){let n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}var ak={blockquote:Ob,break:_b,code:Db,delete:Fb,emphasis:zb,footnoteReference:$b,heading:Mb,html:Bb,imageReference:jb,image:Ub,inlineCode:Hb,linkReference:qb,link:Vb,listItem:Wb,list:Gb,paragraph:Qb,root:Yb,strong:Xb,table:Zb,tableCell:ek,tableRow:Jb,text:rk,thematicBreak:ik,toml:Rl,yaml:Rl,definition:Rl,footnoteDefinition:Rl};function Rl(){}var ok=typeof self=="object"?self:globalThis,RA=(e,t)=>{let n=(i,a)=>(e.set(a,i),i),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let s=n([],i);for(let l of o)s.push(r(l));return s}case 2:{let s=n({},i);for(let[l,u]of o)s[r(l)]=r(u);return s}case 3:return n(new Date(o),i);case 4:{let{source:s,flags:l}=o;return n(new RegExp(s,l),i)}case 5:{let s=n(new Map,i);for(let[l,u]of o)s.set(r(l),r(u));return s}case 6:{let s=n(new Set,i);for(let l of o)s.add(r(l));return s}case 7:{let{name:s,message:l}=o;return n(new ok[s](l),i)}case 8:return n(BigInt(o),i);case"BigInt":return n(Object(BigInt(o)),i)}return n(new ok[a](o),i)};return r},vp=e=>RA(new Map,e)(0);var Ji="",{toString:IA}={},{keys:PA}=Object,To=e=>{let t=typeof e;if(t!=="object"||!e)return[0,t];let n=IA.call(e).slice(8,-1);switch(n){case"Array":return[1,Ji];case"Object":return[2,Ji];case"Date":return[3,Ji];case"RegExp":return[4,Ji];case"Map":return[5,Ji];case"Set":return[6,Ji]}return n.includes("Array")?[1,n]:n.includes("Error")?[7,n]:[2,n]},_l=([e,t])=>e===0&&(t==="function"||t==="symbol"),LA=(e,t,n,r)=>{let i=(o,s)=>{let l=r.push(o)-1;return n.set(s,l),l},a=o=>{if(n.has(o))return n.get(o);let[s,l]=To(o);switch(s){case 0:{let c=o;switch(l){case"bigint":s=8,c=o.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);c=null;break;case"undefined":return i([-1],o)}return i([s,c],o)}case 1:{if(l)return i([l,[...o]],o);let c=[],d=i([s,c],o);for(let p of o)c.push(a(p));return d}case 2:{if(l)switch(l){case"BigInt":return i([l,o.toString()],o);case"Boolean":case"Number":case"String":return i([l,o.valueOf()],o)}if(t&&"toJSON"in o)return a(o.toJSON());let c=[],d=i([s,c],o);for(let p of PA(o))(e||!_l(To(o[p])))&&c.push([a(p),a(o[p])]);return d}case 3:return i([s,o.toISOString()],o);case 4:{let{source:c,flags:d}=o;return i([s,{source:c,flags:d}],o)}case 5:{let c=[],d=i([s,c],o);for(let[p,f]of o)(e||!(_l(To(p))||_l(To(f))))&&c.push([a(p),a(f)]);return d}case 6:{let c=[],d=i([s,c],o);for(let p of o)(e||!_l(To(p)))&&c.push(a(p));return d}}let{message:u}=o;return i([s,{name:l,message:u}],o)};return a},bp=(e,{json:t,lossy:n}={})=>{let r=[];return LA(!(t||n),!!t,new Map,r)(e),r};var ea=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?vp(bp(e,t)):structuredClone(e):(e,t)=>vp(bp(e,t));function OA(e,t){let n=[{type:"text",value:"\\u21A9"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function _A(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function sk(e){let t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||OA,r=e.options.footnoteBackLabel||_A,i=e.options.footnoteLabel||"Footnotes",a=e.options.footnoteLabelTagName||"h2",o=e.options.footnoteLabelProperties||{className:["sr-only"]},s=[],l=-1;for(;++l<e.footnoteOrder.length;){let u=e.footnoteById.get(e.footnoteOrder[l]);if(!u)continue;let c=e.all(u),d=String(u.identifier).toUpperCase(),p=ln(d.toLowerCase()),f=0,h=[],v=e.footnoteCounts.get(d);for(;v!==void 0&&++f<=v;){h.length>0&&h.push({type:"text",value:" "});let y=typeof n=="string"?n:n(l,f);typeof y=="string"&&(y={type:"text",value:y}),h.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+p+(f>1?"-"+f:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(l,f),className:["data-footnote-backref"]},children:Array.isArray(y)?y:[y]})}let b=c[c.length-1];if(b&&b.type==="element"&&b.tagName==="p"){let y=b.children[b.children.length-1];y&&y.type==="text"?y.value+=" ":b.children.push({type:"text",value:" "}),b.children.push(...h)}else c.push(...h);let g={type:"element",tagName:"li",properties:{id:t+"fn-"+p},children:e.wrap(c,!0)};e.patch(u,g),s.push(g)}if(s.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:a,properties:{...ea(o),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:`\n`},{type:"element",tagName:"ol",properties:{},children:e.wrap(s,!0)},{type:"text",value:`\n`}]}}var Tr=function(e){if(e==null)return $A;if(typeof e=="function")return Dl(e);if(typeof e=="object")return Array.isArray(e)?DA(e):FA(e);if(typeof e=="string")return zA(e);throw new Error("Expected function, string, or object as test")};function DA(e){let t=[],n=-1;for(;++n<e.length;)t[n]=Tr(e[n]);return Dl(r);function r(...i){let a=-1;for(;++a<t.length;)if(t[a].apply(this,i))return!0;return!1}}function FA(e){let t=e;return Dl(n);function n(r){let i=r,a;for(a in e)if(i[a]!==t[a])return!1;return!0}}function zA(e){return Dl(t);function t(n){return n&&n.type===e}}function Dl(e){return t;function t(n,r,i){return!!(MA(n)&&e.call(this,n,typeof r=="number"?r:void 0,i||void 0))}}function $A(){return!0}function MA(e){return e!==null&&typeof e=="object"&&"type"in e}var lk=[],Fl=!0,ii=!1,zl="skip";function Ao(e,t,n,r){let i;typeof t=="function"&&typeof n!="function"?(r=n,n=t):i=t;let a=Tr(i),o=r?-1:1;s(e,void 0,[])();function s(l,u,c){let d=l&&typeof l=="object"?l:{};if(typeof d.type=="string"){let f=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(p,"name",{value:"node ("+(l.type+(f?"<"+f+">":""))+")"})}return p;function p(){let f=lk,h,v,b;if((!t||a(l,u,c[c.length-1]||void 0))&&(f=BA(n(l,c)),f[0]===ii))return f;if("children"in l&&l.children){let g=l;if(g.children&&f[0]!==zl)for(v=(r?g.children.length:-1)+o,b=c.concat(g);v>-1&&v<g.children.length;){let y=g.children[v];if(h=s(y,v,b)(),h[0]===ii)return h;v=typeof h[1]=="number"?h[1]:v+o}}return f}}}function BA(e){return Array.isArray(e)?e:typeof e=="number"?[Fl,e]:e==null?lk:[e]}function ai(e,t,n,r){let i,a,o;typeof t=="function"&&typeof n!="function"?(a=void 0,o=t,i=n):(a=t,o=n,i=r),Ao(e,a,s,i);function s(l,u){let c=u[u.length-1],d=c?c.children.indexOf(l):void 0;return o(l,d,c)}}var kp={}.hasOwnProperty,jA={};function ck(e,t){let n=t||jA,r=new Map,i=new Map,a=new Map,o={...ak,...n.handlers},s={all:u,applyData:HA,definitionById:r,footnoteById:i,footnoteCounts:a,footnoteOrder:[],handlers:o,one:l,options:n,patch:UA,wrap:VA};return ai(e,function(c){if(c.type==="definition"||c.type==="footnoteDefinition"){let d=c.type==="definition"?r:i,p=String(c.identifier).toUpperCase();d.has(p)||d.set(p,c)}}),s;function l(c,d){let p=c.type,f=s.handlers[p];if(kp.call(s.handlers,p)&&f)return f(s,c,d);if(s.options.passThrough&&s.options.passThrough.includes(p)){if("children"in c){let{children:v,...b}=c,g=ea(b);return g.children=s.all(c),g}return ea(c)}return(s.options.unknownHandler||qA)(s,c,d)}function u(c){let d=[];if("children"in c){let p=c.children,f=-1;for(;++f<p.length;){let h=s.one(p[f],c);if(h){if(f&&p[f-1].type==="break"&&(!Array.isArray(h)&&h.type==="text"&&(h.value=uk(h.value)),!Array.isArray(h)&&h.type==="element")){let v=h.children[0];v&&v.type==="text"&&(v.value=uk(v.value))}Array.isArray(h)?d.push(...h):d.push(h)}}}return d}}function UA(e,t){e.position&&(t.position=Kd(e))}function HA(e,t){let n=t;if(e&&e.data){let r=e.data.hName,i=e.data.hChildren,a=e.data.hProperties;if(typeof r=="string")if(n.type==="element")n.tagName=r;else{let o="children"in n?n.children:[n];n={type:"element",tagName:r,properties:{},children:o}}n.type==="element"&&a&&Object.assign(n.properties,ea(a)),"children"in n&&n.children&&i!==null&&i!==void 0&&(n.children=i)}return n}function qA(e,t){let n=t.data||{},r="value"in t&&!(kp.call(n,"hProperties")||kp.call(n,"hChildren"))?{type:"text",value:t.value}:{type:"element",tagName:"div",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function VA(e,t){let n=[],r=-1;for(t&&n.push({type:"text",value:`\n`});++r<e.length;)r&&n.push({type:"text",value:`\n`}),n.push(e[r]);return t&&e.length>0&&n.push({type:"text",value:`\n`}),n}function uk(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function $l(e,t){let n=ck(e,t),r=n.one(e,void 0),i=sk(n),a=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&("children"in a,a.children.push({type:"text",value:`\n`},i)),a}function Ml(e,t){return e&&"run"in e?async function(n,r){let i=$l(n,{file:r,...t});await e.run(i,r)}:function(n,r){return $l(n,{file:r,...t||e})}}function wp(e){if(e)throw e}var Ul=Z(bk(),1);function Ro(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function xp(){let e=[],t={run:n,use:r};return t;function n(...i){let a=-1,o=i.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);s(null,...i);function s(l,...u){let c=e[++a],d=-1;if(l){o(l);return}for(;++d<i.length;)(u[d]===null||u[d]===void 0)&&(u[d]=i[d]);i=u,c?kk(c,s)(...u):o(null,...u)}}function r(i){if(typeof i!="function")throw new TypeError("Expected `middelware` to be a function, not "+i);return e.push(i),t}}function kk(e,t){let n;return r;function r(...o){let s=e.length>o.length,l;s&&o.push(i);try{l=e.apply(this,o)}catch(u){let c=u;if(s&&n)throw c;return i(c)}s||(l&&l.then&&typeof l.then=="function"?l.then(a,i):l instanceof Error?i(l):a(l))}function i(o,...s){n||(n=!0,t(o,...s))}function a(o){i(null,o)}}var kn={basename:WA,dirname:KA,extname:GA,join:QA,sep:"/"};function WA(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError(\'"ext" argument must be a string\');Io(e);let n=0,r=-1,i=e.length,a;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else r<0&&(a=!0,r=i+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let o=-1,s=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else o<0&&(a=!0,o=i+1),s>-1&&(e.codePointAt(i)===t.codePointAt(s--)?s<0&&(r=i):(s=-1,r=o));return n===r?r=o:r<0&&(r=e.length),e.slice(n,r)}function KA(e){if(Io(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function GA(e){Io(e);let t=e.length,n=-1,r=0,i=-1,a=0,o;for(;t--;){let s=e.codePointAt(t);if(s===47){if(o){r=t+1;break}continue}n<0&&(o=!0,n=t+1),s===46?i<0?i=t:a!==1&&(a=1):i>-1&&(a=-1)}return i<0||n<0||a===0||a===1&&i===n-1&&i===r+1?"":e.slice(i,n)}function QA(...e){let t=-1,n;for(;++t<e.length;)Io(e[t]),e[t]&&(n=n===void 0?e[t]:n+"/"+e[t]);return n===void 0?".":YA(n)}function YA(e){Io(e);let t=e.codePointAt(0)===47,n=XA(e,!t);return n.length===0&&!t&&(n="."),n.length>0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function XA(e,t){let n="",r=0,i=-1,a=0,o=-1,s,l;for(;++o<=e.length;){if(o<e.length)s=e.codePointAt(o);else{if(s===47)break;s=47}if(s===47){if(!(i===o-1||a===1))if(i!==o-1&&a===2){if(n.length<2||r!==2||n.codePointAt(n.length-1)!==46||n.codePointAt(n.length-2)!==46){if(n.length>2){if(l=n.lastIndexOf("/"),l!==n.length-1){l<0?(n="",r=0):(n=n.slice(0,l),r=n.length-1-n.lastIndexOf("/")),i=o,a=0;continue}}else if(n.length>0){n="",r=0,i=o,a=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(i+1,o):n=e.slice(i+1,o),r=o-i-1;i=o,a=0}else s===46&&a>-1?a++:a=-1}return n}function Io(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var wk={cwd:ZA};function ZA(){return"/"}function ta(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function xk(e){if(typeof e=="string")e=new URL(e);else if(!ta(e)){let t=new TypeError(\'The "path" argument must be of type string or an instance of URL. Received `\'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){let t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return JA(e)}function JA(e){if(e.hostname!==""){let r=new TypeError(\'File URL host must be "localhost" or empty on darwin\');throw r.code="ERR_INVALID_FILE_URL_HOST",r}let t=e.pathname,n=-1;for(;++n<t.length;)if(t.codePointAt(n)===37&&t.codePointAt(n+1)===50){let r=t.codePointAt(n+2);if(r===70||r===102){let i=new TypeError("File URL path must not include encoded / characters");throw i.code="ERR_INVALID_FILE_URL_PATH",i}}return decodeURIComponent(t)}var Np=["history","path","basename","stem","extname","dirname"],oi=class{constructor(t){let n;t?ta(t)?n={path:t}:typeof t=="string"||eR(t)?n={value:t}:n=t:n={},this.cwd="cwd"in n?"":wk.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<Np.length;){let a=Np[r];a in n&&n[a]!==void 0&&n[a]!==null&&(this[a]=a==="history"?[...n[a]]:n[a])}let i;for(i in n)Np.includes(i)||(this[i]=n[i])}get basename(){return typeof this.path=="string"?kn.basename(this.path):void 0}set basename(t){Ep(t,"basename"),Sp(t,"basename"),this.path=kn.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?kn.dirname(this.path):void 0}set dirname(t){Nk(this.basename,"dirname"),this.path=kn.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?kn.extname(this.path):void 0}set extname(t){if(Sp(t,"extname"),Nk(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=kn.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){ta(t)&&(t=xk(t)),Ep(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?kn.basename(this.path,this.extname):void 0}set stem(t){Ep(t,"stem"),Sp(t,"stem"),this.path=kn.join(this.dirname||"",t+(this.extname||""))}fail(t,n,r){let i=this.message(t,n,r);throw i.fatal=!0,i}info(t,n,r){let i=this.message(t,n,r);return i.fatal=void 0,i}message(t,n,r){let i=new Je(t,n,r);return this.path&&(i.name=this.path+":"+i.name,i.file=this.path),i.fatal=!1,this.messages.push(i),i}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}};function Sp(e,t){if(e&&e.includes(kn.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+kn.sep+"`")}function Ep(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function Nk(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function eR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var Sk=function(e){let r=this.constructor.prototype,i=r[e],a=function(){return i.apply(a,arguments)};return Object.setPrototypeOf(a,r),a};var tR={}.hasOwnProperty,Rp=class e extends Sk{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=xp()}copy(){let t=new e,n=-1;for(;++n<this.attachers.length;){let r=this.attachers[n];t.use(...r)}return t.data((0,Ul.default)(!0,{},this.namespace)),t}data(t,n){return typeof t=="string"?arguments.length===2?(Ap("data",this.frozen),this.namespace[t]=n,this):tR.call(this.namespace,t)&&this.namespace[t]||void 0:t?(Ap("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;let t=this;for(;++this.freezeIndex<this.attachers.length;){let[n,...r]=this.attachers[this.freezeIndex];if(r[0]===!1)continue;r[0]===!0&&(r[0]=void 0);let i=n.call(t,...r);typeof i=="function"&&this.transformers.use(i)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();let n=jl(t),r=this.parser||this.Parser;return Cp("parse",r),r(String(n),n)}process(t,n){let r=this;return this.freeze(),Cp("process",this.parser||this.Parser),Tp("process",this.compiler||this.Compiler),n?i(void 0,n):new Promise(i);function i(a,o){let s=jl(t),l=r.parse(s);r.run(l,s,function(c,d,p){if(c||!d||!p)return u(c);let f=d,h=r.stringify(f,p);rR(h)?p.value=h:p.result=h,u(c,p)});function u(c,d){c||!d?o(c):a?a(d):n(void 0,d)}}}processSync(t){let n=!1,r;return this.freeze(),Cp("processSync",this.parser||this.Parser),Tp("processSync",this.compiler||this.Compiler),this.process(t,i),Ck("processSync","process",n),r;function i(a,o){n=!0,wp(a),r=o}}run(t,n,r){Ek(t),this.freeze();let i=this.transformers;return!r&&typeof n=="function"&&(r=n,n=void 0),r?a(void 0,r):new Promise(a);function a(o,s){let l=jl(n);i.run(t,l,u);function u(c,d,p){let f=d||t;c?s(c):o?o(f):r(void 0,f,p)}}}runSync(t,n){let r=!1,i;return this.run(t,n,a),Ck("runSync","run",r),i;function a(o,s){wp(o),i=s,r=!0}}stringify(t,n){this.freeze();let r=jl(n),i=this.compiler||this.Compiler;return Tp("stringify",i),Ek(t),i(t,r)}use(t,...n){let r=this.attachers,i=this.namespace;if(Ap("use",this.frozen),t!=null)if(typeof t=="function")l(t,n);else if(typeof t=="object")Array.isArray(t)?s(t):o(t);else throw new TypeError("Expected usable value, not `"+t+"`");return this;function a(u){if(typeof u=="function")l(u,[]);else if(typeof u=="object")if(Array.isArray(u)){let[c,...d]=u;l(c,d)}else o(u);else throw new TypeError("Expected usable value, not `"+u+"`")}function o(u){if(!("plugins"in u)&&!("settings"in u))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");s(u.plugins),u.settings&&(i.settings=(0,Ul.default)(!0,i.settings,u.settings))}function s(u){let c=-1;if(u!=null)if(Array.isArray(u))for(;++c<u.length;){let d=u[c];a(d)}else throw new TypeError("Expected a list of plugins, not `"+u+"`")}function l(u,c){let d=-1,p=-1;for(;++d<r.length;)if(r[d][0]===u){p=d;break}if(p===-1)r.push([u,...c]);else if(c.length>0){let[f,...h]=c,v=r[p][1];Ro(v)&&Ro(f)&&(f=(0,Ul.default)(!0,v,f)),r[p]=[u,f,...h]}}}},Ip=new Rp().freeze();function Cp(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Tp(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Ap(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Ek(e){if(!Ro(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function Ck(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function jl(e){return nR(e)?e:new oi(e)}function nR(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function rR(e){return typeof e=="string"||iR(e)}function iR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var aR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Tk=[],Ak={allowDangerousHtml:!0},oR=/^(https?|ircs?|mailto|xmpp)$/i,sR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function Pp(e){let t=e.allowedElements,n=e.allowElement,r=e.children||"",i=e.className,a=e.components,o=e.disallowedElements,s=e.rehypePlugins||Tk,l=e.remarkPlugins||Tk,u=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Ak}:Ak,c=e.skipHtml,d=e.unwrapDisallowed,p=e.urlTransform||Rk,f=Ip().use(Tl).use(l).use(Ml,u).use(s),h=new oi;typeof r=="string"?h.value=r:(""+r,void 0),t&&o&&void 0;for(let y of sR)Object.hasOwn(e,y.from)&&(""+y.from+(y.to?"use `"+y.to+"` instead":"remove it")+aR+y.id,void 0);let v=f.parse(h),b=f.runSync(v,h);return i&&(b={type:"element",tagName:"div",properties:{className:i},children:b.type==="root"?b.children:[b]}),ai(b,g),Yd(b,{Fragment:na.Fragment,components:a,ignoreInvalidStyle:!0,jsx:na.jsx,jsxs:na.jsxs,passKeys:!0,passNode:!0});function g(y,x,N){if(y.type==="raw"&&N&&typeof x=="number")return c?N.children.splice(x,1):N.children[x]={type:"text",value:y.value},x;if(y.type==="element"){let S;for(S in vo)if(Object.hasOwn(vo,S)&&Object.hasOwn(y.properties,S)){let k=y.properties[S],A=vo[S];(A===null||A.includes(y.tagName))&&(y.properties[S]=p(String(k||""),S,y))}}if(y.type==="element"){let S=t?!t.includes(y.tagName):o?o.includes(y.tagName):!1;if(!S&&n&&typeof x=="number"&&(S=!n(y,x,N)),S&&N&&typeof x=="number")return d&&y.children?N.children.splice(x,1,...y.children):N.children.splice(x,1),x}}}function Rk(e){let t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),i=e.indexOf("/");return t<0||i>-1&&t>i||n>-1&&t>n||r>-1&&t>r||oR.test(e.slice(0,t))?e:""}function Hl(){return Hl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Hl.apply(null,arguments)}function si(e){"@babel/helpers - typeof";return si=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},si(e)}function Ik(e,t){if(si(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(si(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Pk(e){var t=Ik(e,"string");return si(t)=="symbol"?t:t+""}function ql(e,t,n){return(t=Pk(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var _k=Z(tt());function Lk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function ra(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Lk(Object(n),!0).forEach(function(r){ql(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lk(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function lR(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],"".concat(e[0],".").concat(e[1]),"".concat(e[1],".").concat(e[0])];if(t===3)return[e[0],e[1],e[2],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0])];if(t>=4)return[e[0],e[1],e[2],e[3],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[2],".").concat(e[3]),"".concat(e[3],".").concat(e[0]),"".concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[0]),"".concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[3],".").concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[2],".").concat(e[1],".").concat(e[0])]}var Lp={};function uR(e){if(e.length===0||e.length===1)return e;var t=e.join(".");return Lp[t]||(Lp[t]=lR(e)),Lp[t]}function cR(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=e.filter(function(a){return a!=="token"}),i=uR(r);return i.reduce(function(a,o){return ra(ra({},a),n[o])},t)}function Ok(e){return e.join(" ")}function dR(e,t){var n=0;return function(r){return n+=1,r.map(function(i,a){return li({node:i,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(a)})})}}function li(e){var t=e.node,n=e.stylesheet,r=e.style,i=r===void 0?{}:r,a=e.useInlineStyles,o=e.key,s=t.properties,l=t.type,u=t.tagName,c=t.value;if(l==="text")return c;if(u){var d=dR(n,a),p;if(!a)p=ra(ra({},s),{},{className:Ok(s.className)});else{var f=Object.keys(n).reduce(function(g,y){return y.split(".").forEach(function(x){g.includes(x)||g.push(x)}),g},[]),h=s.className&&s.className.includes("token")?["token"]:[],v=s.className&&h.concat(s.className.filter(function(g){return!f.includes(g)}));p=ra(ra({},s),{},{className:Ok(v)||void 0,style:cR(s.className,Object.assign({},s.style,i),n)})}var b=d(t.children);return _k.default.createElement(u,Hl({key:o},p),b)}}var zk=Z(Fk()),$k=zk.default;var Bk=Z(Dp()),jk=Bk.default;var qk=Z(Hk()),Vk=qk.default;var Gk=Z(Kk()),Qk=Gk.default;var Zk=Z(Xk()),Jk=Zk.default;var nw=Z(tw()),rw=nw.default;var ow=Z(aw()),sw=ow.default;var cw=Z(uw()),dw=cw.default;var fw=Z(mw()),hw=fw.default;var vw=Z(yw()),bw=vw.default;var xw=Z(ww()),Nw=xw.default;var Ew=Z(Wp()),Cw=Ew.default;var Rw=Z(Aw()),Iw=Rw.default;var Lw=Z(Qp()),Ow=Lw.default;var Fw=Z(Dw()),zw=Fw.default;var Bw=Z(Mw()),jw=Bw.default;var qw=Z(Hw()),Vw=qw.default;var Gw=Z(Kw()),Qw=Gw.default;var Xw=Z(tm()),Zw=Xw.default;var r0=Z(n0()),i0=r0.default;var s0=Z(o0()),l0=s0.default;var d0=Z(c0()),p0=d0.default;var h0=Z(f0()),g0=h0.default;var b0=Z(v0()),k0=b0.default;var N0=Z(x0()),S0=N0.default;var T0=Z(C0()),A0=T0.default;var P0=Z(I0()),L0=P0.default;var F0=Z(D0()),z0=F0.default;var $0=Z(pm()),M0=$0.default;var U0=Z(j0()),H0=U0.default;function q0(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function V0(e,t){if(e==null)return{};var n,r,i=q0(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Po(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function W0(e){if(Array.isArray(e))return Po(e)}function K0(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function G0(e,t){if(e){if(typeof e=="string")return Po(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Po(e,t):void 0}}function Q0(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Vl(e){return W0(e)||K0(e)||G0(e)||Q0()}var Ar=Z(tt());var Y0=function(e,t){var n=e.listLanguages();return n.indexOf(t)!==-1};var gR=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function X0(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Rr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?X0(Object(n),!0).forEach(function(r){ql(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):X0(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var yR=/\\n/g;function vR(e){return e.match(yR)}function bR(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(i,a){var o=a+n;return Ar.default.createElement("span",{key:"line-".concat(a),className:"react-syntax-highlighter-line-number",style:typeof r=="function"?r(o):r},"".concat(o,`\n`))})}function kR(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,i=r===void 0?{float:"left",paddingRight:"10px"}:r,a=e.numberStyle,o=a===void 0?{}:a,s=e.startingLineNumber;return Ar.default.createElement("code",{style:Object.assign({},n,i)},bR({lines:t.replace(/\\n$/,"").split(`\n`),style:o,startingLineNumber:s}))}function wR(e){return"".concat(e.toString().length,".25em")}function Z0(e,t){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(e),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:t},children:[{type:"text",value:e}]}}function J0(e,t,n){var r={display:"inline-block",minWidth:wR(n),paddingRight:"1em",textAlign:"right",userSelect:"none"},i=typeof e=="function"?e(t):e,a=Rr(Rr({},r),i);return a}function Wl(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,i=e.largestLineNumber,a=e.showInlineLineNumbers,o=e.lineProps,s=o===void 0?{}:o,l=e.className,u=l===void 0?[]:l,c=e.showLineNumbers,d=e.wrapLongLines,p=e.wrapLines,f=p===void 0?!1:p,h=f?Rr({},typeof s=="function"?s(n):s):{};if(h.className=h.className?[].concat(Vl(h.className.trim().split(/\\s+/)),Vl(u)):u,n&&a){var v=J0(r,n,i);t.unshift(Z0(n,v))}return d&c&&(h.style=Rr({display:"flex"},h.style)),{type:"element",tagName:"span",properties:h,children:t}}function e1(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],r=0;r<e.length;r++){var i=e[r];if(i.type==="text")n.push(Wl({children:[i],className:Vl(new Set(t))}));else if(i.children){var a=t.concat(i.properties.className);e1(i.children,a).forEach(function(o){return n.push(o)})}}return n}function xR(e,t,n,r,i,a,o,s,l){var u,c=e1(e.value),d=[],p=-1,f=0;function h(S,k){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return Wl({children:S,lineNumber:k,lineNumberStyle:s,largestLineNumber:o,showInlineLineNumbers:i,lineProps:n,className:A,showLineNumbers:r,wrapLongLines:l,wrapLines:t})}function v(S,k){if(r&&k&&i){var A=J0(s,k,o);S.unshift(Z0(k,A))}return S}function b(S,k){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||A.length>0?h(S,k,A):v(S,k)}for(var g=function(){var k=c[f],A=k.children[0].value,I=vR(A);if(I){var z=A.split(`\n`);z.forEach(function(R,X){var B=r&&d.length+a,F={type:"text",value:"".concat(R,`\n`)};if(X===0){var q=c.slice(p+1,f).concat(Wl({children:[F],className:k.properties.className})),O=b(q,B);d.push(O)}else if(X===z.length-1){var Y=c[f+1]&&c[f+1].children&&c[f+1].children[0],oe={type:"text",value:"".concat(R)};if(Y){var j=Wl({children:[oe],className:k.properties.className});c.splice(f+1,0,j)}else{var _=[oe],m=b(_,B,k.properties.className);d.push(m)}}else{var E=[F],D=b(E,B,k.properties.className);d.push(D)}}),p=f}f++};f<c.length;)g();if(p!==c.length-1){var y=c.slice(p+1,c.length);if(y&&y.length){var x=r&&d.length+a,N=b(y,x);d.push(N)}}return t?d:(u=[]).concat.apply(u,d)}function NR(e){var t=e.rows,n=e.stylesheet,r=e.useInlineStyles;return t.map(function(i,a){return li({node:i,stylesheet:n,useInlineStyles:r,key:"code-segment-".concat(a)})})}function t1(e){return e&&typeof e.highlightAuto<"u"}function SR(e){var t=e.astGenerator,n=e.language,r=e.code,i=e.defaultCodeValue;if(t1(t)){var a=Y0(t,n);return n==="text"?{value:i,language:"text"}:a?t.highlight(n,r):t.highlightAuto(r)}try{return n&&n!=="text"?{value:t.highlight(r,n)}:{value:i}}catch{return{value:i}}}function n1(e,t){return function(r){var i,a,o=r.language,s=r.children,l=r.style,u=l===void 0?t:l,c=r.customStyle,d=c===void 0?{}:c,p=r.codeTagProps,f=p===void 0?{className:o?"language-".concat(o):void 0,style:Rr(Rr({},u[\'code[class*="language-"]\']),u[\'code[class*="language-\'.concat(o,\'"]\')])}:p,h=r.useInlineStyles,v=h===void 0?!0:h,b=r.showLineNumbers,g=b===void 0?!1:b,y=r.showInlineLineNumbers,x=y===void 0?!0:y,N=r.startingLineNumber,S=N===void 0?1:N,k=r.lineNumberContainerStyle,A=r.lineNumberStyle,I=A===void 0?{}:A,z=r.wrapLines,R=r.wrapLongLines,X=R===void 0?!1:R,B=r.lineProps,F=B===void 0?{}:B,q=r.renderer,O=r.PreTag,Y=O===void 0?"pre":O,oe=r.CodeTag,j=oe===void 0?"code":oe,_=r.code,m=_===void 0?(Array.isArray(s)?s[0]:s)||"":_,E=r.astGenerator,D=V0(r,gR);E=E||e;var C=g?Ar.default.createElement(kR,{containerStyle:k,codeStyle:f.style||{},numberStyle:I,startingLineNumber:S,codeString:m}):null,pe=u.hljs||u[\'pre[class*="language-"]\']||{backgroundColor:"#fff"},Ne=t1(E)?"hljs":"prismjs",ee=v?Object.assign({},D,{style:Object.assign({},pe,d)}):Object.assign({},D,{className:D.className?"".concat(Ne," ").concat(D.className):Ne,style:Object.assign({},d)});if(X?f.style=Rr({whiteSpace:"pre-wrap"},f.style):f.style=Rr({whiteSpace:"pre"},f.style),!E)return Ar.default.createElement(Y,ee,C,Ar.default.createElement(j,f,m));(z===void 0&&q||X)&&(z=!0),q=q||NR;var ue=[{type:"text",value:m}],ge=SR({astGenerator:E,language:o,code:m,defaultCodeValue:ue});ge.language===null&&(ge.value=ue);var pt=(i=(a=m.match(/\\n/g))===null||a===void 0?void 0:a.length)!==null&&i!==void 0?i:0,et=S+pt,Zt=xR(ge,z,F,g,x,S,et,I,X);return Ar.default.createElement(Y,ee,Ar.default.createElement(j,f,!x&&C,q({rows:Zt,stylesheet:u,useInlineStyles:v})))}}var Jl=Z(Fx()),Dm=n1(Jl.default,{});Dm.registerLanguage=function(e,t){return Jl.default.register(t)};Dm.alias=function(e,t){return Jl.default.alias(e,t)};var la=Dm;var Fo={\'pre[class*="language-"]\':{color:"#d4d4d4",fontSize:"13px",textShadow:"none",fontFamily:\'Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace\',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",background:"#1e1e1e"},\'code[class*="language-"]\':{color:"#d4d4d4",fontSize:"13px",textShadow:"none",fontFamily:\'Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace\',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},\'pre[class*="language-"]::selection\':{textShadow:"none",background:"#264F78"},\'code[class*="language-"]::selection\':{textShadow:"none",background:"#264F78"},\'pre[class*="language-"] *::selection\':{textShadow:"none",background:"#264F78"},\'code[class*="language-"] *::selection\':{textShadow:"none",background:"#264F78"},\':not(pre) > code[class*="language-"]\':{padding:".1em .3em",borderRadius:".3em",color:"#db4c69",background:"#1e1e1e"},".namespace":{Opacity:".7"},"doctype.doctype-tag":{color:"#569CD6"},"doctype.name":{color:"#9cdcfe"},comment:{color:"#6a9955"},prolog:{color:"#6a9955"},punctuation:{color:"#d4d4d4"},".language-html .language-css .token.punctuation":{color:"#d4d4d4"},".language-html .language-javascript .token.punctuation":{color:"#d4d4d4"},property:{color:"#9cdcfe"},tag:{color:"#569cd6"},boolean:{color:"#569cd6"},number:{color:"#b5cea8"},constant:{color:"#9cdcfe"},symbol:{color:"#b5cea8"},inserted:{color:"#b5cea8"},unit:{color:"#b5cea8"},selector:{color:"#d7ba7d"},"attr-name":{color:"#9cdcfe"},string:{color:"#ce9178"},char:{color:"#ce9178"},builtin:{color:"#ce9178"},deleted:{color:"#ce9178"},".language-css .token.string.url":{textDecoration:"underline"},operator:{color:"#d4d4d4"},entity:{color:"#569cd6"},"operator.arrow":{color:"#569CD6"},atrule:{color:"#ce9178"},"atrule.rule":{color:"#c586c0"},"atrule.url":{color:"#9cdcfe"},"atrule.url.function":{color:"#dcdcaa"},"atrule.url.punctuation":{color:"#d4d4d4"},keyword:{color:"#569CD6"},"keyword.module":{color:"#c586c0"},"keyword.control-flow":{color:"#c586c0"},function:{color:"#dcdcaa"},"function.maybe-class-name":{color:"#dcdcaa"},regex:{color:"#d16969"},important:{color:"#569cd6"},italic:{fontStyle:"italic"},"class-name":{color:"#4ec9b0"},"maybe-class-name":{color:"#4ec9b0"},console:{color:"#9cdcfe"},parameter:{color:"#9cdcfe"},interpolation:{color:"#9cdcfe"},"punctuation.interpolation-punctuation":{color:"#569cd6"},variable:{color:"#9cdcfe"},"imports.maybe-class-name":{color:"#9cdcfe"},"exports.maybe-class-name":{color:"#9cdcfe"},escape:{color:"#d7ba7d"},"tag.punctuation":{color:"#808080"},cdata:{color:"#808080"},"attr-value":{color:"#ce9178"},"attr-value.punctuation":{color:"#ce9178"},"attr-value.punctuation.attr-equals":{color:"#d4d4d4"},namespace:{color:"#4ec9b0"},\'pre[class*="language-javascript"]\':{color:"#9cdcfe"},\'code[class*="language-javascript"]\':{color:"#9cdcfe"},\'pre[class*="language-jsx"]\':{color:"#9cdcfe"},\'code[class*="language-jsx"]\':{color:"#9cdcfe"},\'pre[class*="language-typescript"]\':{color:"#9cdcfe"},\'code[class*="language-typescript"]\':{color:"#9cdcfe"},\'pre[class*="language-tsx"]\':{color:"#9cdcfe"},\'code[class*="language-tsx"]\':{color:"#9cdcfe"},\'pre[class*="language-css"]\':{color:"#ce9178"},\'code[class*="language-css"]\':{color:"#ce9178"},\'pre[class*="language-html"]\':{color:"#d4d4d4"},\'code[class*="language-html"]\':{color:"#d4d4d4"},".language-regex .token.anchor":{color:"#dcdcaa"},".language-html .token.punctuation":{color:"#808080"},\'pre[class*="language-"] > code[class*="language-"]\':{position:"relative",zIndex:"1"},".line-highlight.line-highlight":{background:"#f7ebc6",boxShadow:"inset 5px 0 0 #f7d87c",zIndex:"0"}};function Fm(e,t){let n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function zm(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,"\\\\$&").replace(/-/g,"\\\\x2d")}function $m(e,t,n){let i=Tr((n||{}).ignore||[]),a=wP(t),o=-1;for(;++o<a.length;)Ao(e,"text",s);function s(u,c){let d=-1,p;for(;++d<c.length;){let f=c[d],h=p?p.children:void 0;if(i(f,h?h.indexOf(f):void 0,p))return;p=f}if(p)return l(u,c)}function l(u,c){let d=c[c.length-1],p=a[o][0],f=a[o][1],h=0,b=d.children.indexOf(u),g=!1,y=[];p.lastIndex=0;let x=p.exec(u.value);for(;x;){let N=x.index,S={index:x.index,input:x.input,stack:[...c,u]},k=f(...x,S);if(typeof k=="string"&&(k=k.length>0?{type:"text",value:k}:void 0),k===!1?p.lastIndex=N+1:(h!==N&&y.push({type:"text",value:u.value.slice(h,N)}),Array.isArray(k)?y.push(...k):k&&y.push(k),h=N+x[0].length,g=!0),!p.global)break;x=p.exec(u.value)}return g?(h<u.value.length&&y.push({type:"text",value:u.value.slice(h)}),d.children.splice(b,1,...y)):y=[u],b+y.length}}function wP(e){let t=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");let n=!e[0]||Array.isArray(e[0])?e:[e],r=-1;for(;++r<n.length;){let i=n[r];t.push([xP(i[0]),NP(i[1])])}return t}function xP(e){return typeof e=="string"?new RegExp(zm(e),"g"):e}function NP(e){return typeof e=="function"?e:function(){return e}}var Mm="phrasing",Bm=["autolink","link","image","label"];function Um(){return{transforms:[RP],enter:{literalAutolink:SP,literalAutolinkEmail:jm,literalAutolinkHttp:jm,literalAutolinkWww:jm},exit:{literalAutolink:AP,literalAutolinkEmail:TP,literalAutolinkHttp:EP,literalAutolinkWww:CP}}}function Hm(){return{unsafe:[{character:"@",before:"[+\\\\-.\\\\w]",after:"[\\\\-.\\\\w]",inConstruct:Mm,notInConstruct:Bm},{character:".",before:"[Ww]",after:"[\\\\-.\\\\w]",inConstruct:Mm,notInConstruct:Bm},{character:":",before:"[ps]",after:"\\\\/",inConstruct:Mm,notInConstruct:Bm}]}}function SP(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function jm(e){this.config.enter.autolinkProtocol.call(this,e)}function EP(e){this.config.exit.autolinkProtocol.call(this,e)}function CP(e){this.config.exit.data.call(this,e);let t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function TP(e){this.config.exit.autolinkEmail.call(this,e)}function AP(e){this.exit(e)}function RP(e){$m(e,[[/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi,IP],[/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g,PP]],{ignore:["link","linkReference"]})}function IP(e,t,n,r,i){let a="";if(!zx(i)||(/^w/i.test(t)&&(n=t+n,t="",a="http://"),!LP(n)))return!1;let o=OP(n+r);if(!o[0])return!1;let s={type:"link",title:null,url:a+t+o[0],children:[{type:"text",value:t+o[0]}]};return o[1]?[s,{type:"text",value:o[1]}]:s}function PP(e,t,n,r){return!zx(r,!0)||/[-\\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function LP(e){let t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\\d]/.test(t[t.length-2])))}function OP(e){let t=/[!"&\'),.:;<>?\\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")"),i=Fm(e,"("),a=Fm(e,")");for(;r!==-1&&i>a;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),a++;return[e,n]}function zx(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||Pn(n)||ei(n))&&(!t||n!==47)}$x.peek=UP;function qm(){return{enter:{gfmFootnoteDefinition:_P,gfmFootnoteDefinitionLabelString:DP,gfmFootnoteCall:$P,gfmFootnoteCallString:MP},exit:{gfmFootnoteDefinition:zP,gfmFootnoteDefinitionLabelString:FP,gfmFootnoteCall:jP,gfmFootnoteCallString:BP}}}function Vm(){return{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:HP,footnoteReference:$x}}}function _P(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function DP(){this.buffer()}function FP(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.label=t,n.identifier=Nt(this.sliceSerialize(e)).toLowerCase()}function zP(e){this.exit(e)}function $P(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function MP(){this.buffer()}function BP(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.label=t,n.identifier=Nt(this.sliceSerialize(e)).toLowerCase()}function jP(e){this.exit(e)}function $x(e,t,n,r){let i=n.createTracker(r),a=i.move("[^"),o=n.enter("footnoteReference"),s=n.enter("reference");return a+=i.move(n.safe(n.associationId(e),{...i.current(),before:a,after:"]"})),s(),o(),a+=i.move("]"),a}function UP(){return"["}function HP(e,t,n,r){let i=n.createTracker(r),a=i.move("[^"),o=n.enter("footnoteDefinition"),s=n.enter("label");return a+=i.move(n.safe(n.associationId(e),{...i.current(),before:a,after:"]"})),s(),a+=i.move("]:"+(e.children&&e.children.length>0?" ":"")),i.shift(4),a+=i.move(n.indentLines(n.containerFlow(e,i.current()),qP)),o(),a}function qP(e,t,n){return t===0?e:(n?"":" ")+e}var VP=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];Mx.peek=GP;function Wm(){return{canContainEols:["delete"],enter:{strikethrough:WP},exit:{strikethrough:KP}}}function Km(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:VP}],handlers:{delete:Mx}}}function WP(e){this.enter({type:"delete",children:[]},e)}function KP(e){this.exit(e)}function Mx(e,t,n,r){let i=n.createTracker(r),a=n.enter("strikethrough"),o=i.move("~~");return o+=n.containerPhrasing(e,{...i.current(),before:o,after:"~"}),o+=i.move("~~"),a(),o}function GP(){return"~"}function jx(e,t={}){let n=(t.align||[]).concat(),r=t.stringLength||YP,i=[],a=[],o=[],s=[],l=0,u=-1;for(;++u<e.length;){let h=[],v=[],b=-1;for(e[u].length>l&&(l=e[u].length);++b<e[u].length;){let g=QP(e[u][b]);if(t.alignDelimiters!==!1){let y=r(g);v[b]=y,(s[b]===void 0||y>s[b])&&(s[b]=y)}h.push(g)}a[u]=h,o[u]=v}let c=-1;if(typeof n=="object"&&"length"in n)for(;++c<l;)i[c]=Bx(n[c]);else{let h=Bx(n);for(;++c<l;)i[c]=h}c=-1;let d=[],p=[];for(;++c<l;){let h=i[c],v="",b="";h===99?(v=":",b=":"):h===108?v=":":h===114&&(b=":");let g=t.alignDelimiters===!1?1:Math.max(1,s[c]-v.length-b.length),y=v+"-".repeat(g)+b;t.alignDelimiters!==!1&&(g=v.length+g+b.length,g>s[c]&&(s[c]=g),p[c]=g),d[c]=y}a.splice(1,0,d),o.splice(1,0,p),u=-1;let f=[];for(;++u<a.length;){let h=a[u],v=o[u];c=-1;let b=[];for(;++c<l;){let g=h[c]||"",y="",x="";if(t.alignDelimiters!==!1){let N=s[c]-(v[c]||0),S=i[c];S===114?y=" ".repeat(N):S===99?N%2?(y=" ".repeat(N/2+.5),x=" ".repeat(N/2-.5)):(y=" ".repeat(N/2),x=y):x=" ".repeat(N)}t.delimiterStart!==!1&&!c&&b.push("|"),t.padding!==!1&&!(t.alignDelimiters===!1&&g==="")&&(t.delimiterStart!==!1||c)&&b.push(" "),t.alignDelimiters!==!1&&b.push(y),b.push(g),t.alignDelimiters!==!1&&b.push(x),t.padding!==!1&&b.push(" "),(t.delimiterEnd!==!1||c!==l-1)&&b.push("|")}f.push(t.delimiterEnd===!1?b.join("").replace(/ +$/,""):b.join(""))}return f.join(`\n`)}function QP(e){return e==null?"":String(e)}function YP(e){return e.length}function Bx(e){let t=typeof e=="string"?e.codePointAt(0):0;return t===67||t===99?99:t===76||t===108?108:t===82||t===114?114:0}function Ux(e,t,n,r){let i=n.enter("blockquote"),a=n.createTracker(r);a.move("> "),a.shift(2);let o=n.indentLines(n.containerFlow(e,a.current()),XP);return i(),o}function XP(e,t,n){return">"+(n?"":" ")+e}function qx(e,t){return Hx(e,t.inConstruct,!0)&&!Hx(e,t.notInConstruct,!1)}function Hx(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++r<t.length;)if(e.includes(t[r]))return!0;return!1}function Gm(e,t,n,r){let i=-1;for(;++i<n.unsafe.length;)if(n.unsafe[i].character===`\n`&&qx(n.stack,n.unsafe[i]))return/[ \\t]/.test(r.before)?"":" ";return`\\\\\n`}function Vx(e,t){let n=String(e),r=n.indexOf(t),i=r,a=0,o=0;if(typeof t!="string")throw new TypeError("Expected substring");for(;r!==-1;)r===i?++a>o&&(o=a):a=1,i=r+t.length,r=n.indexOf(t,i);return o}function Wx(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \\r\\n]/.test(e.value)&&!/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(e.value))}function Kx(e){let t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function Gx(e,t,n,r){let i=Kx(n),a=e.value||"",o=i==="`"?"GraveAccent":"Tilde";if(Wx(e,n)){let d=n.enter("codeIndented"),p=n.indentLines(a,ZP);return d(),p}let s=n.createTracker(r),l=i.repeat(Math.max(Vx(a,i)+1,3)),u=n.enter("codeFenced"),c=s.move(l);if(e.lang){let d=n.enter(`codeFencedLang${o}`);c+=s.move(n.safe(e.lang,{before:c,after:" ",encode:["`"],...s.current()})),d()}if(e.lang&&e.meta){let d=n.enter(`codeFencedMeta${o}`);c+=s.move(" "),c+=s.move(n.safe(e.meta,{before:c,after:`\n`,encode:["`"],...s.current()})),d()}return c+=s.move(`\n`),a&&(c+=s.move(a+`\n`)),c+=s.move(l),u(),c}function ZP(e,t,n){return(n?"":" ")+e}function ua(e){let t=e.options.quote||\'"\';if(t!==\'"\'&&t!=="\'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\\"`, or `\'`");return t}function Qx(e,t,n,r){let i=ua(n),a=i===\'"\'?"Quote":"Apostrophe",o=n.enter("definition"),s=n.enter("label"),l=n.createTracker(r),u=l.move("[");return u+=l.move(n.safe(n.associationId(e),{before:u,after:"]",...l.current()})),u+=l.move("]: "),s(),!e.url||/[\\0- \\u007F]/.test(e.url)?(s=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(s=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":`\n`,...l.current()}))),s(),e.title&&(s=n.enter(`title${a}`),u+=l.move(" "+i),u+=l.move(n.safe(e.title,{before:u,after:i,...l.current()})),u+=l.move(i),s()),o(),u}function Yx(e){let t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}Qm.peek=JP;function Qm(e,t,n,r){let i=Yx(n),a=n.enter("emphasis"),o=n.createTracker(r),s=o.move(i);return s+=o.move(n.containerPhrasing(e,{before:s,after:i,...o.current()})),s+=o.move(i),a(),s}function JP(e,t,n){return n.options.emphasis||"*"}function Xx(e,t){let n=!1;return ai(e,function(r){if("value"in r&&/\\r?\\n|\\r/.test(r.value)||r.type==="break")return n=!0,ii}),!!((!e.depth||e.depth<3)&&Zr(e)&&(t.options.setext||n))}function Zx(e,t,n,r){let i=Math.max(Math.min(6,e.depth||1),1),a=n.createTracker(r);if(Xx(e,n)){let c=n.enter("headingSetext"),d=n.enter("phrasing"),p=n.containerPhrasing(e,{...a.current(),before:`\n`,after:`\n`});return d(),c(),p+`\n`+(i===1?"=":"-").repeat(p.length-(Math.max(p.lastIndexOf("\\r"),p.lastIndexOf(`\n`))+1))}let o="#".repeat(i),s=n.enter("headingAtx"),l=n.enter("phrasing");a.move(o+" ");let u=n.containerPhrasing(e,{before:"# ",after:`\n`,...a.current()});return/^[\\t ]/.test(u)&&(u="&#x"+u.charCodeAt(0).toString(16).toUpperCase()+";"+u.slice(1)),u=u?o+" "+u:o,n.options.closeAtx&&(u+=" "+o),l(),s(),u}Ym.peek=eL;function Ym(e){return e.value||""}function eL(){return"<"}Xm.peek=tL;function Xm(e,t,n,r){let i=ua(n),a=i===\'"\'?"Quote":"Apostrophe",o=n.enter("image"),s=n.enter("label"),l=n.createTracker(r),u=l.move("![");return u+=l.move(n.safe(e.alt,{before:u,after:"]",...l.current()})),u+=l.move("]("),s(),!e.url&&e.title||/[\\0- \\u007F]/.test(e.url)?(s=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(s=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":")",...l.current()}))),s(),e.title&&(s=n.enter(`title${a}`),u+=l.move(" "+i),u+=l.move(n.safe(e.title,{before:u,after:i,...l.current()})),u+=l.move(i),s()),u+=l.move(")"),o(),u}function tL(){return"!"}Zm.peek=nL;function Zm(e,t,n,r){let i=e.referenceType,a=n.enter("imageReference"),o=n.enter("label"),s=n.createTracker(r),l=s.move("!["),u=n.safe(e.alt,{before:l,after:"]",...s.current()});l+=s.move(u+"]["),o();let c=n.stack;n.stack=[],o=n.enter("reference");let d=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});return o(),n.stack=c,a(),i==="full"||!u||u!==d?l+=s.move(d+"]"):i==="shortcut"?l=l.slice(0,-1):l+=s.move("]"),l}function nL(){return"!"}Jm.peek=rL;function Jm(e,t,n){let r=e.value||"",i="`",a=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \\r\\n]/.test(r)&&(/^[ \\r\\n]/.test(r)&&/[ \\r\\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++a<n.unsafe.length;){let o=n.unsafe[a],s=n.compilePattern(o),l;if(o.atBreak)for(;l=s.exec(r);){let u=l.index;r.charCodeAt(u)===10&&r.charCodeAt(u-1)===13&&u--,r=r.slice(0,u)+" "+r.slice(l.index+1)}}return i+r+i}function rL(){return"`"}function ef(e,t){let n=Zr(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\\0- <>\\u007F]/.test(e.url))}tf.peek=iL;function tf(e,t,n,r){let i=ua(n),a=i===\'"\'?"Quote":"Apostrophe",o=n.createTracker(r),s,l;if(ef(e,n)){let c=n.stack;n.stack=[],s=n.enter("autolink");let d=o.move("<");return d+=o.move(n.containerPhrasing(e,{before:d,after:">",...o.current()})),d+=o.move(">"),s(),n.stack=c,d}s=n.enter("link"),l=n.enter("label");let u=o.move("[");return u+=o.move(n.containerPhrasing(e,{before:u,after:"](",...o.current()})),u+=o.move("]("),l(),!e.url&&e.title||/[\\0- \\u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=o.move("<"),u+=o.move(n.safe(e.url,{before:u,after:">",...o.current()})),u+=o.move(">")):(l=n.enter("destinationRaw"),u+=o.move(n.safe(e.url,{before:u,after:e.title?" ":")",...o.current()}))),l(),e.title&&(l=n.enter(`title${a}`),u+=o.move(" "+i),u+=o.move(n.safe(e.title,{before:u,after:i,...o.current()})),u+=o.move(i),l()),u+=o.move(")"),s(),u}function iL(e,t,n){return ef(e,n)?"<":"["}nf.peek=aL;function nf(e,t,n,r){let i=e.referenceType,a=n.enter("linkReference"),o=n.enter("label"),s=n.createTracker(r),l=s.move("["),u=n.containerPhrasing(e,{before:l,after:"]",...s.current()});l+=s.move(u+"]["),o();let c=n.stack;n.stack=[],o=n.enter("reference");let d=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});return o(),n.stack=c,a(),i==="full"||!u||u!==d?l+=s.move(d+"]"):i==="shortcut"?l=l.slice(0,-1):l+=s.move("]"),l}function aL(){return"["}function ca(e){let t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function Jx(e){let t=ca(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function eN(e){let t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function eu(e){let t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function tN(e,t,n,r){let i=n.enter("list"),a=n.bulletCurrent,o=e.ordered?eN(n):ca(n),s=e.ordered?o==="."?")":".":Jx(n),l=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!e.ordered){let c=e.children?e.children[0]:void 0;if((o==="*"||o==="-")&&c&&(!c.children||!c.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(l=!0),eu(n)===o&&c){let d=-1;for(;++d<e.children.length;){let p=e.children[d];if(p&&p.type==="listItem"&&p.children&&p.children[0]&&p.children[0].type==="thematicBreak"){l=!0;break}}}}l&&(o=s),n.bulletCurrent=o;let u=n.containerFlow(e,r);return n.bulletLastUsed=o,n.bulletCurrent=a,i(),u}function nN(e){let t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function rN(e,t,n,r){let i=nN(n),a=n.bulletCurrent||ca(n);t&&t.type==="list"&&t.ordered&&(a=(typeof t.start=="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+a);let o=a.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(o=Math.ceil(o/4)*4);let s=n.createTracker(r);s.move(a+" ".repeat(o-a.length)),s.shift(o);let l=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,s.current()),c);return l(),u;function c(d,p,f){return p?(f?"":" ".repeat(o))+d:(f?a:a+" ".repeat(o-a.length))+d}}function iN(e,t,n,r){let i=n.enter("paragraph"),a=n.enter("phrasing"),o=n.containerPhrasing(e,r);return a(),i(),o}var rf=Tr(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function aN(e,t,n,r){return(e.children.some(function(o){return rf(o)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function oN(e){let t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}af.peek=oL;function af(e,t,n,r){let i=oN(n),a=n.enter("strong"),o=n.createTracker(r),s=o.move(i+i);return s+=o.move(n.containerPhrasing(e,{before:s,after:i,...o.current()})),s+=o.move(i+i),a(),s}function oL(e,t,n){return n.options.strong||"*"}function sN(e,t,n,r){return n.safe(e.value,r)}function lN(e){let t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function uN(e,t,n){let r=(eu(n)+(n.options.ruleSpaces?" ":"")).repeat(lN(n));return n.options.ruleSpaces?r.slice(0,-1):r}var zo={blockquote:Ux,break:Gm,code:Gx,definition:Qx,emphasis:Qm,hardBreak:Gm,heading:Zx,html:Ym,image:Xm,imageReference:Zm,inlineCode:Jm,link:tf,linkReference:nf,list:tN,listItem:rN,paragraph:iN,root:aN,strong:af,text:sN,thematicBreak:uN};function sf(){return{enter:{table:sL,tableData:cN,tableHeader:cN,tableRow:uL},exit:{codeText:cL,table:lL,tableData:of,tableHeader:of,tableRow:of}}}function sL(e){let t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function lL(e){this.exit(e),this.data.inTable=void 0}function uL(e){this.enter({type:"tableRow",children:[]},e)}function of(e){this.exit(e)}function cN(e){this.enter({type:"tableCell",children:[]},e)}function cL(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\\\([\\\\|])/g,dL));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function dL(e,t){return t==="|"?t:e}function lf(e){let t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,a=n?" ":"|";return{unsafe:[{character:"\\r",inConstruct:"tableCell"},{character:`\n`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:p,table:o,tableCell:l,tableRow:s}};function o(f,h,v,b){return u(c(f,v,b),f.align)}function s(f,h,v,b){let g=d(f,v,b),y=u([g]);return y.slice(0,y.indexOf(`\n`))}function l(f,h,v,b){let g=v.enter("tableCell"),y=v.enter("phrasing"),x=v.containerPhrasing(f,{...b,before:a,after:a});return y(),g(),x}function u(f,h){return jx(f,{align:h,alignDelimiters:r,padding:n,stringLength:i})}function c(f,h,v){let b=f.children,g=-1,y=[],x=h.enter("table");for(;++g<b.length;)y[g]=d(b[g],h,v);return x(),y}function d(f,h,v){let b=f.children,g=-1,y=[],x=h.enter("tableRow");for(;++g<b.length;)y[g]=l(b[g],f,h,v);return x(),y}function p(f,h,v){let b=zo.inlineCode(f,h,v);return v.stack.includes("tableCell")&&(b=b.replace(/\\|/g,"\\\\$&")),b}}function uf(){return{exit:{taskListCheckValueChecked:dN,taskListCheckValueUnchecked:dN,paragraph:pL}}}function cf(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:mL}}}function dN(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function pL(e){let t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){let n=this.stack[this.stack.length-1];n.type;let r=n.children[0];if(r&&r.type==="text"){let i=t.children,a=-1,o;for(;++a<i.length;){let s=i[a];if(s.type==="paragraph"){o=s;break}}o===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function mL(e,t,n,r){let i=e.children[0],a=typeof e.checked=="boolean"&&i&&i.type==="paragraph",o="["+(e.checked?"x":" ")+"] ",s=n.createTracker(r);a&&s.move(o);let l=zo.listItem(e,t,n,{...r,...s.current()});return a&&(l=l.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/,u)),l;function u(c){return c+o}}function df(){return[Um(),qm(),Wm(),sf(),uf()]}function pf(e){return{extensions:[Hm(),Vm(),Km(),lf(e),cf()]}}var fL={tokenize:bL,partial:!0},pN={tokenize:kL,partial:!0},mN={tokenize:wL,partial:!0},fN={tokenize:xL,partial:!0},hL={tokenize:NL,partial:!0},hN={name:"wwwAutolink",tokenize:yL,previous:yN},gN={name:"protocolAutolink",tokenize:vL,previous:vN},Zn={name:"emailAutolink",tokenize:gL,previous:bN},On={};function ff(){return{text:On}}var di=48;for(;di<123;)On[di]=Zn,di++,di===58?di=65:di===91&&(di=97);On[43]=Zn;On[45]=Zn;On[46]=Zn;On[95]=Zn;On[72]=[Zn,gN];On[104]=[Zn,gN];On[87]=[Zn,hN];On[119]=[Zn,hN];function gL(e,t,n){let r=this,i,a;return o;function o(d){return!mf(d)||!bN.call(r,r.previous)||hf(r.events)?n(d):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),s(d))}function s(d){return mf(d)?(e.consume(d),s):d===64?(e.consume(d),l):n(d)}function l(d){return d===46?e.check(hL,c,u)(d):d===45||d===95||Xe(d)?(a=!0,e.consume(d),l):c(d)}function u(d){return e.consume(d),i=!0,l}function c(d){return a&&i&&lt(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(d)):n(d)}}function yL(e,t,n){let r=this;return i;function i(o){return o!==87&&o!==119||!yN.call(r,r.previous)||hf(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(fL,e.attempt(pN,e.attempt(mN,a),n),n)(o))}function a(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function vL(e,t,n){let r=this,i="",a=!1;return o;function o(d){return(d===72||d===104)&&vN.call(r,r.previous)&&!hf(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(d),e.consume(d),s):n(d)}function s(d){if(lt(d)&&i.length<5)return i+=String.fromCodePoint(d),e.consume(d),s;if(d===58){let p=i.toLowerCase();if(p==="http"||p==="https")return e.consume(d),l}return n(d)}function l(d){return d===47?(e.consume(d),a?u:(a=!0,l)):n(d)}function u(d){return d===null||Jr(d)||Ce(d)||Pn(d)||ei(d)?n(d):e.attempt(pN,e.attempt(mN,c),n)(d)}function c(d){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(d)}}function bL(e,t,n){let r=0;return i;function i(o){return(o===87||o===119)&&r<3?(r++,e.consume(o),i):o===46&&r===3?(e.consume(o),a):n(o)}function a(o){return o===null?n(o):t(o)}}function kL(e,t,n){let r,i,a;return o;function o(u){return u===46||u===95?e.check(fN,l,s)(u):u===null||Ce(u)||Pn(u)||u!==45&&ei(u)?l(u):(a=!0,e.consume(u),o)}function s(u){return u===95?r=!0:(i=r,r=void 0),e.consume(u),o}function l(u){return i||r||!a?n(u):t(u)}}function wL(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(fN,t,a)(o):o===null||Ce(o)||Pn(o)?t(o):(e.consume(o),i)}function a(o){return o===41&&r++,e.consume(o),i}}function xL(e,t,n){return r;function r(s){return s===33||s===34||s===39||s===41||s===42||s===44||s===46||s===58||s===59||s===63||s===95||s===126?(e.consume(s),r):s===38?(e.consume(s),a):s===93?(e.consume(s),i):s===60||s===null||Ce(s)||Pn(s)?t(s):n(s)}function i(s){return s===null||s===40||s===91||Ce(s)||Pn(s)?t(s):r(s)}function a(s){return lt(s)?o(s):n(s)}function o(s){return s===59?(e.consume(s),r):lt(s)?(e.consume(s),o):n(s)}}function NL(e,t,n){return r;function r(a){return e.consume(a),i}function i(a){return Xe(a)?n(a):t(a)}}function yN(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Ce(e)}function vN(e){return!lt(e)}function bN(e){return!(e===47||mf(e))}function mf(e){return e===43||e===45||e===46||e===95||Xe(e)}function hf(e){let t=e.length,n=!1;for(;t--;){let r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var SL={tokenize:PL,partial:!0};function gf(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:AL,continuation:{tokenize:RL},exit:IL}},text:{91:{name:"gfmFootnoteCall",tokenize:TL},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:EL,resolveTo:CL}}}}function EL(e,t,n){let r=this,i=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let l=r.events[i][1];if(l.type==="labelImage"){o=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return s;function s(l){if(!o||!o._balanced)return n(l);let u=Nt(r.sliceSerialize({start:o.end,end:r.now()}));return u.codePointAt(0)!==94||!a.includes(u.slice(1))?n(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function CL(e,t){let n=e.length,r;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){r=e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";let i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},a={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};a.end.column++,a.end.offset++,a.end._bufferIndex++;let o={type:"gfmFootnoteCallString",start:Object.assign({},a.end),end:Object.assign({},e[e.length-1][1].start)},s={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},l=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",a,t],["exit",a,t],["enter",o,t],["enter",s,t],["exit",s,t],["exit",o,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...l),e}function TL(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,o;return s;function s(d){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),l}function l(d){return d!==94?n(d):(e.enter("gfmFootnoteCallMarker"),e.consume(d),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(d){if(a>999||d===93&&!o||d===null||d===91||Ce(d))return n(d);if(d===93){e.exit("chunkString");let p=e.exit("gfmFootnoteCallString");return i.includes(Nt(r.sliceSerialize(p)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(d)}return Ce(d)||(o=!0),a++,e.consume(d),d===92?c:u}function c(d){return d===91||d===92||d===93?(e.consume(d),a++,u):u(d)}}function AL(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,o=0,s;return l;function l(h){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(h){return h===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",c):n(h)}function c(h){if(o>999||h===93&&!s||h===null||h===91||Ce(h))return n(h);if(h===93){e.exit("chunkString");let v=e.exit("gfmFootnoteDefinitionLabelString");return a=Nt(r.sliceSerialize(v)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p}return Ce(h)||(s=!0),o++,e.consume(h),h===92?d:c}function d(h){return h===91||h===92||h===93?(e.consume(h),o++,c):c(h)}function p(h){return h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),i.includes(a)||i.push(a),fe(e,f,"gfmFootnoteDefinitionWhitespace")):n(h)}function f(h){return t(h)}}function RL(e,t,n){return e.check(Ln,t,e.attempt(SL,t,n))}function IL(e){e.exit("gfmFootnoteDefinition")}function PL(e,t,n){let r=this;return fe(e,i,"gfmFootnoteDefinitionIndent",5);function i(a){let o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(a):n(a)}}function yf(e){let n=(e||{}).singleTilde,r={name:"strikethrough",tokenize:a,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(o,s){let l=-1;for(;++l<o.length;)if(o[l][0]==="enter"&&o[l][1].type==="strikethroughSequenceTemporary"&&o[l][1]._close){let u=l;for(;u--;)if(o[u][0]==="exit"&&o[u][1].type==="strikethroughSequenceTemporary"&&o[u][1]._open&&o[l][1].end.offset-o[l][1].start.offset===o[u][1].end.offset-o[u][1].start.offset){o[l][1].type="strikethroughSequence",o[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},o[u][1].start),end:Object.assign({},o[l][1].end)},d={type:"strikethroughText",start:Object.assign({},o[u][1].end),end:Object.assign({},o[l][1].start)},p=[["enter",c,s],["enter",o[u][1],s],["exit",o[u][1],s],["enter",d,s]],f=s.parser.constructs.insideSpan.null;f&&it(p,p.length,0,Er(f,o.slice(u+1,l),s)),it(p,p.length,0,[["exit",d,s],["enter",o[l][1],s],["exit",o[l][1],s],["exit",c,s]]),it(o,u-1,l-u+3,p),l=u+p.length-2;break}}for(l=-1;++l<o.length;)o[l][1].type==="strikethroughSequenceTemporary"&&(o[l][1].type="data");return o}function a(o,s,l){let u=this.previous,c=this.events,d=0;return p;function p(h){return u===126&&c[c.length-1][1].type!=="characterEscape"?l(h):(o.enter("strikethroughSequenceTemporary"),f(h))}function f(h){let v=Zi(u);if(h===126)return d>1?l(h):(o.consume(h),d++,f);if(d<2&&!n)return l(h);let b=o.exit("strikethroughSequenceTemporary"),g=Zi(h);return b._open=!g||g===2&&!!v,b._close=!v||v===2&&!!g,s(h)}}}var tu=class{constructor(){this.map=[]}add(t,n,r){LL(this,t,n,r)}consume(t){if(this.map.sort(function(a,o){return a[0]-o[0]}),this.map.length===0)return;let n=this.map.length,r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push([...t]),t.length=0;let i=r.pop();for(;i;)t.push(...i),i=r.pop();this.map.length=0}};function LL(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function kN(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]==="enter")i[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){let a=r.length-1;r[a]=r[a]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function vf(){return{flow:{null:{name:"table",tokenize:OL,resolveAll:_L}}}}function OL(e,t,n){let r=this,i=0,a=0,o;return s;function s(R){let X=r.events.length-1;for(;X>-1;){let q=r.events[X][1].type;if(q==="lineEnding"||q==="linePrefix")X--;else break}let B=X>-1?r.events[X][1].type:null,F=B==="tableHead"||B==="tableRow"?k:l;return F===k&&r.parser.lazy[r.now().line]?n(R):F(R)}function l(R){return e.enter("tableHead"),e.enter("tableRow"),u(R)}function u(R){return R===124||(o=!0,a+=1),c(R)}function c(R){return R===null?n(R):ae(R)?a>1?(a=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(R),e.exit("lineEnding"),f):n(R):he(R)?fe(e,c,"whitespace")(R):(a+=1,o&&(o=!1,i+=1),R===124?(e.enter("tableCellDivider"),e.consume(R),e.exit("tableCellDivider"),o=!0,c):(e.enter("data"),d(R)))}function d(R){return R===null||R===124||Ce(R)?(e.exit("data"),c(R)):(e.consume(R),R===92?p:d)}function p(R){return R===92||R===124?(e.consume(R),d):d(R)}function f(R){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(R):(e.enter("tableDelimiterRow"),o=!1,he(R)?fe(e,h,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(R):h(R))}function h(R){return R===45||R===58?b(R):R===124?(o=!0,e.enter("tableCellDivider"),e.consume(R),e.exit("tableCellDivider"),v):S(R)}function v(R){return he(R)?fe(e,b,"whitespace")(R):b(R)}function b(R){return R===58?(a+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(R),e.exit("tableDelimiterMarker"),g):R===45?(a+=1,g(R)):R===null||ae(R)?N(R):S(R)}function g(R){return R===45?(e.enter("tableDelimiterFiller"),y(R)):S(R)}function y(R){return R===45?(e.consume(R),y):R===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(R),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(R))}function x(R){return he(R)?fe(e,N,"whitespace")(R):N(R)}function N(R){return R===124?h(R):R===null||ae(R)?!o||i!==a?S(R):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(R)):S(R)}function S(R){return n(R)}function k(R){return e.enter("tableRow"),A(R)}function A(R){return R===124?(e.enter("tableCellDivider"),e.consume(R),e.exit("tableCellDivider"),A):R===null||ae(R)?(e.exit("tableRow"),t(R)):he(R)?fe(e,A,"whitespace")(R):(e.enter("data"),I(R))}function I(R){return R===null||R===124||Ce(R)?(e.exit("data"),A(R)):(e.consume(R),R===92?z:I)}function z(R){return R===92||R===124?(e.consume(R),I):I(R)}}function _L(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,l=0,u,c,d,p=new tu;for(;++n<e.length;){let f=e[n],h=f[1];f[0]==="enter"?h.type==="tableHead"?(s=!1,l!==0&&(wN(p,t,l,u,c),c=void 0,l=0),u={type:"table",start:Object.assign({},h.start),end:Object.assign({},h.end)},p.add(n,0,[["enter",u,t]])):h.type==="tableRow"||h.type==="tableDelimiterRow"?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,c={type:"tableBody",start:Object.assign({},h.start),end:Object.assign({},h.end)},p.add(n,0,[["enter",c,t]])),i=h.type==="tableDelimiterRow"?2:c?3:1):i&&(h.type==="data"||h.type==="tableDelimiterMarker"||h.type==="tableDelimiterFiller")?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=nu(p,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):h.type==="tableCellDivider"&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=nu(p,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):h.type==="tableHead"?(s=!0,l=n):h.type==="tableRow"||h.type==="tableDelimiterRow"?(l=n,a[1]!==0?(o[0]=o[1],d=nu(p,t,a,i,n,d)):o[1]!==0&&(d=nu(p,t,o,i,n,d)),i=0):i&&(h.type==="data"||h.type==="tableDelimiterMarker"||h.type==="tableDelimiterFiller")&&(o[3]=n)}for(l!==0&&wN(p,t,l,u,c),p.consume(t.events),n=-1;++n<t.events.length;){let f=t.events[n];f[0]==="enter"&&f[1].type==="table"&&(f[1]._align=kN(t.events,n))}return e}function nu(e,t,n,r,i,a){let o=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",s="tableContent";n[0]!==0&&(a.end=Object.assign({},da(t.events,n[0])),e.add(n[0],0,[["exit",a,t]]));let l=da(t.events,n[1]);if(a={type:o,start:Object.assign({},l),end:Object.assign({},l)},e.add(n[1],0,[["enter",a,t]]),n[2]!==0){let u=da(t.events,n[2]),c=da(t.events,n[3]),d={type:s,start:Object.assign({},u),end:Object.assign({},c)};if(e.add(n[2],0,[["enter",d,t]]),r!==2){let p=t.events[n[2]],f=t.events[n[3]];if(p[1].end=Object.assign({},f[1].end),p[1].type="chunkText",p[1].contentType="text",n[3]>n[2]+1){let h=n[2]+1,v=n[3]-n[2]-1;e.add(h,v,[])}}e.add(n[3]+1,0,[["exit",d,t]])}return i!==void 0&&(a.end=Object.assign({},da(t.events,i)),e.add(i,0,[["exit",a,t]]),a=void 0),a}function wN(e,t,n,r,i){let a=[],o=da(t.events,n);i&&(i.end=Object.assign({},o),a.push(["exit",i,t])),r.end=Object.assign({},o),a.push(["exit",r,t]),e.add(n+1,0,a)}function da(e,t){let n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}var DL={name:"tasklistCheck",tokenize:FL};function bf(){return{text:{91:DL}}}function FL(e,t,n){let r=this;return i;function i(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),a)}function a(l){return Ce(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),o):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),o):n(l)}function o(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),s):n(l)}function s(l){return ae(l)?t(l):he(l)?e.check({tokenize:zL},t,n)(l):n(l)}}function zL(e,t,n){return fe(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function xN(e){return hl([ff(),gf(),yf(e),vf(),bf()])}var $L={};function ru(e){let t=this,n=e||$L,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),a=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(xN(n)),a.push(df()),o.push(pf(n))}var NN=Z(Lm()),SN=NN.default;var TN=Z(CN()),AN=TN.default;var Se=Z(Ie()),LN={bash:$k,c:jk,cpp:Vk,csharp:Qk,css:SN,dart:Jk,diff:rw,docker:sw,go:dw,graphql:hw,ini:bw,java:Nw,javascript:Cw,json:Iw,jsx:Ow,kotlin:zw,lua:jw,makefile:Vw,markdown:Qw,markup:Zw,php:i0,powershell:l0,python:p0,ruby:g0,rust:k0,scss:AN,sql:S0,swift:A0,toml:L0,tsx:z0,typescript:M0,yaml:H0};for(let[e,t]of Object.entries(LN))la.registerLanguage(e,t);la.alias({bash:["sh","shell","zsh","console"],csharp:["cs","c#"],javascript:["js","mjs","cjs"],typescript:["ts","mts","cts"],markup:["html","xml","svg","vue","svelte"],markdown:["md"],python:["py"],ruby:["rb"],rust:["rs"],kotlin:["kt"],yaml:["yml"],docker:["dockerfile"],powershell:["ps1","pwsh"],makefile:["make"],cpp:["c++","cc","hpp"]});var ML=new Set([...Object.keys(LN),"sh","shell","zsh","console","cs","c#","js","mjs","cjs","ts","mts","cts","html","xml","svg","vue","svelte","md","py","rb","rs","kt","yml","dockerfile","ps1","pwsh","make","c++","cc","hpp"]),wf=e=>{let t=(e??"").trim().toLowerCase();return t&&ML.has(t)?t:"text"},xf=e=>{let t=e.slice(0,4e3),n=[[/^\\s*<\\?php/m,"php"],[/^\\s*(import\\s+React|export\\s+(default\\s+)?(function|const|class)|const\\s+\\w+\\s*[:=]\\s*\\(?[^)]*\\)?\\s*=>)/m,"tsx"],[/(^|\\n)\\s*(interface|type)\\s+\\w+\\s*(<[^>]*>)?\\s*[={]|:\\s*(string|number|boolean)\\b/,"typescript"],[/^\\s*(def |class \\w+(\\(.*\\))?:|import \\w+|from \\w+ import|if __name__)/m,"python"],[/^\\s*(package \\w+|func (\\(\\w+ \\*?\\w+\\) )?\\w+\\(|import \\(\\n)/m,"go"],[/^\\s*(fn \\w+|let mut |use \\w+::|impl(<.*>)? \\w+|pub (fn|struct|enum))/m,"rust"],[/^\\s*(public|private|protected)\\s+(static\\s+)?(class|void|int|String)\\b/m,"java"],[/^\\s*#include\\s*[<"]/m,"cpp"],[/^\\s*(using System|namespace \\w+;|public (sealed |static )?class)/m,"csharp"],[/^\\s*(require [\'"]|def \\w+.*\\n[\\s\\S]*?\\bend\\b|puts )/m,"ruby"],[/^\\s*(SELECT|INSERT INTO|CREATE TABLE|UPDATE \\w+ SET)\\b/im,"sql"],[/^\\s*(#!\\/bin\\/(ba)?sh|set -e|echo |export \\w+=)/m,"bash"],[/^\\s*(FROM \\w+[:\\w.-]*\\s*$|RUN |COPY |ENTRYPOINT )/m,"docker"],[/^\\s*[{[]\\s*(\\n\\s*"[^"]+"\\s*:)/,"json"],[/^\\s*<(!doctype|html|div|span|template|section)\\b/im,"markup"],[/^\\s*[.#]?[\\w-]+\\s*\\{[^}]*:[^}]*\\}/m,"css"],[/^\\s*\\w[\\w-]*:\\s*(\\S.*)?$/m,"yaml"],[/^\\s*(function\\s+\\w+|const\\s+\\w+\\s*=|let\\s+\\w+\\s*=|module\\.exports|require\\()/m,"javascript"]];for(let[r,i]of n)if(r.test(t))return i;return"text"},iu=e=>e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(iu).join(""):(0,Yt.isValidElement)(e)?iu(e.props.children):Yt.Children.toArray(e).map(iu).join(""),RN=\'pre[class*="language-"]\',IN=\'code[class*="language-"]\',Nf={...Fo,[RN]:{...Fo[RN],background:"transparent",margin:0,padding:0},[IN]:{...Fo[IN],background:"transparent",fontFamily:"inherit",fontSize:"inherit"}},_n=({text:e,label:t="copy"})=>{let[n,r]=(0,Yt.useState)(!1),i=async()=>{try{await navigator.clipboard.writeText(e),r(!0),window.setTimeout(()=>r(!1),1500)}catch{}};return(0,Se.jsx)("button",{type:"button",className:`mini ${n?"on":"ghost"}`,onClick:()=>void i(),"aria-label":n?"Copied":t,children:n?"copied":t})},pi=({code:e,language:t,title:n,extra:r,bare:i,tone:a="plain",className:o,wrap:s})=>{let l=wf(t),u=e.length===0;return(0,Se.jsxs)("div",{className:`code ${a} ${i?"bare":""} ${o??""}`,children:[!i&&(0,Se.jsxs)("div",{className:"code-bar",children:[(0,Se.jsx)("span",{className:"code-lang",children:n??l}),(0,Se.jsxs)("span",{className:"code-actions",children:[r,!u&&(0,Se.jsx)(_n,{text:e})]})]}),u?(0,Se.jsx)("div",{className:"code-empty",children:"empty"}):(0,Se.jsx)(la,{language:l,style:Nf,PreTag:"pre",wrapLongLines:s,children:e})]})},Sf=e=>e.type==="text"?String(e.value??""):(e.children??[]).map(Sf).join(""),PN=e=>Sf(e).length,ON=(e,t,n)=>{if(e.type==="text"){let r=String(e.value??""),i=n.at,a=i+r.length;n.at=a;let o=Math.max(t.start,i),s=Math.min(t.end,a);if(o>=s)return[e];let l=[];return o>i&&l.push({type:"text",value:r.slice(0,o-i)}),l.push({type:"element",tagName:"span",properties:{className:["ins"]},children:[{type:"text",value:r.slice(o-i,s-i)}]}),s<a&&l.push({type:"text",value:r.slice(s-i)}),l}return[{...e,children:(e.children??[]).flatMap(r=>ON(r,t,n))}]},_N=({code:e,language:t,insert:n,startingLineNumber:r=1})=>{let i=wf(t),a=(0,Yt.useCallback)(({rows:o,stylesheet:s,useInlineStyles:l})=>{let u=0;return o.map((c,d)=>{let p=u,f=p+PN(c);u=f;let h=PN(c),v=p+(String(Sf(c)).endsWith(`\n`)?h-1:h),b=!!n&&n.end>n.start&&(n.end>p&&n.start<v||n.start<=p&&n.end>=f),y=((b&&n?ON(c,n,{at:p})[0]:c).children??[]).map((x,N)=>li({node:x,stylesheet:s,useInlineStyles:l,key:`${d}-${N}`}));return(0,Se.jsxs)("span",{className:b?"row ins-line":"row",children:[(0,Se.jsx)("span",{className:"ln","aria-hidden":"true",children:r+d}),y]},d)})},[n,r]);return e?(0,Se.jsx)(la,{language:i,style:Nf,PreTag:"pre",wrapLines:!0,renderer:a,children:e}):(0,Se.jsx)("div",{className:"code-empty",children:"empty"})},BL=e=>{let t=[],n=0,r=0;for(let i of e.replace(/\\n$/,"").split(`\n`)){let a=/^@@ -(\\d+)(?:,\\d+)? \\+(\\d+)(?:,\\d+)? @@/.exec(i);a?(n=Number(a[1]),r=Number(a[2]),t.push({kind:"hunk",text:i})):i.startsWith("+")?t.push({kind:"add",text:i.slice(1),newNo:r++}):i.startsWith("-")?t.push({kind:"del",text:i.slice(1),oldNo:n++}):i.startsWith("\\\\")?t.push({kind:"meta",text:i}):t.push({kind:"ctx",text:i.startsWith(" ")?i.slice(1):i,oldNo:n++,newNo:r++})}return t},DN=({patch:e,language:t,title:n,extra:r})=>{let i=wf(t),a=(0,Yt.useMemo)(()=>BL(e),[e]),o=(0,Yt.useMemo)(()=>a.map(l=>l.kind==="hunk"||l.kind==="meta"?"":l.text).join(`\n`),[a]),s=(0,Yt.useCallback)(({rows:l,stylesheet:u,useInlineStyles:c})=>l.map((d,p)=>{let f=a[p];if(!f)return null;let h=f.kind==="add"?"+":f.kind==="del"?"\\u2212":" ";if(f.kind==="hunk"||f.kind==="meta")return(0,Se.jsxs)("span",{className:`row ${f.kind}-line`,children:[(0,Se.jsx)("span",{className:"ln","aria-hidden":"true"}),(0,Se.jsx)("span",{className:"ln","aria-hidden":"true"}),(0,Se.jsx)("span",{className:"sign","aria-hidden":"true"}),f.text,`\n`]},p);let v=(d.children??[]).map((b,g)=>li({node:b,stylesheet:u,useInlineStyles:c,key:`${p}-${g}`}));return(0,Se.jsxs)("span",{className:`row ${f.kind}-line`,children:[(0,Se.jsx)("span",{className:"ln","aria-hidden":"true",children:f.oldNo??""}),(0,Se.jsx)("span",{className:"ln","aria-hidden":"true",children:f.newNo??""}),(0,Se.jsx)("span",{className:"sign","aria-hidden":"true",children:h}),v]},p)}),[a]);return(0,Se.jsxs)("div",{className:"code diff-block",children:[(0,Se.jsxs)("div",{className:"code-bar",children:[(0,Se.jsx)("span",{className:"code-lang",children:n??i}),(0,Se.jsxs)("span",{className:"code-actions",children:[r,e&&(0,Se.jsx)(_n,{text:e})]})]}),e?(0,Se.jsx)(la,{language:i,style:Nf,PreTag:"pre",wrapLines:!0,renderer:s,children:o}):(0,Se.jsx)("div",{className:"code-empty",children:"no diff"})]})},jL={code({className:e,children:t}){let n=/language-([\\w#+.-]+)/.exec(e??""),r=iu(t);return!n&&!r.includes(`\n`)?(0,Se.jsx)("code",{className:"md-inline",children:t}):(0,Se.jsx)(pi,{code:r.replace(/\\n$/,""),language:n?.[1]})},pre({children:e}){return(0,Se.jsx)(Se.Fragment,{children:e})},a({href:e,children:t}){return(0,Se.jsx)("a",{href:e,target:"_blank",rel:"noreferrer noopener",children:t})},table({children:e}){return(0,Se.jsx)("div",{className:"md-table",children:(0,Se.jsx)("table",{children:e})})}},mi=({text:e,className:t})=>{let n=(0,Yt.useMemo)(()=>[ru],[]);return(0,Se.jsx)("div",{className:`md ${t??""}`,children:(0,Se.jsx)(Pp,{remarkPlugins:n,components:jL,children:e})})};var H=Z(Ie()),FN=({apiKey:e})=>{let t="/twinny/v1/admin/plugins/context/api",[n,r]=(0,Et.useState)(null),[i,a]=(0,Et.useState)(),[o,s]=(0,Et.useState)(),[l,u]=(0,Et.useState)(null),[c,d]=(0,Et.useState)(null),[p,f]=(0,Et.useState)(""),[h,v]=(0,Et.useState)(""),[b,g]=(0,Et.useState)(""),[y,x]=(0,Et.useState)(""),[N,S]=(0,Et.useState)(""),[k,A]=(0,Et.useState)(null),I=(0,Et.useCallback)(async()=>{try{r(await ne(`${t}/`,e)),a(void 0)}catch(O){a(be(O))}},[e]),z=n?.repos.some(O=>O.syncing)??!1;(0,Et.useEffect)(()=>{I();let O=setInterval(()=>{document.visibilityState==="visible"&&I()},z?2e3:3e4);return()=>clearInterval(O)},[I,z]);let R=async(O,Y,oe)=>{u(O),a(void 0),s(void 0);try{await Y(),await I(),oe&&s(oe)}catch(j){a(be(j))}finally{u(null)}},X=O=>{O.preventDefault(),R("add",async()=>{await ne(`${t}/repos`,e,{method:"POST",body:{url:p.trim(),...h.trim()?{name:h.trim()}:{},...b.trim()?{branch:b.trim()}:{},...y.trim()?{token:y.trim()}:{}}}),f(""),v(""),g(""),x("")},"Cloning and indexing; the table shows the progress.")},B=O=>{O.preventDefault(),R("search",async()=>{let Y=await ne(`${t}/search`,e,{method:"POST",body:{query:N,k:8}});A(Y.hits)})};if(!n)return i?(0,H.jsx)("div",{className:"error-bar",children:i}):(0,H.jsx)(In,{tiles:3,rows:3,title:(0,H.jsxs)("h2",{className:"plugin-name",children:[(0,H.jsx)(dt,{id:"context",size:22}),"Shared context"]})});let F=n.repos.reduce((O,Y)=>O+(Y.index?.chunks??0),0),q=n.repos.reduce((O,Y)=>O+(Y.index?.files??0),0);return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)("div",{className:"page-title",children:[(0,H.jsxs)("h2",{className:"plugin-name",children:[(0,H.jsx)(dt,{id:"context",size:22}),"Shared context"]}),(0,H.jsx)("p",{children:"One index of your repositories, on this gateway, that every connected chat can draw on."})]}),o&&(0,H.jsx)("div",{className:"success-bar",children:o}),i&&(0,H.jsx)("div",{className:"error-bar",children:i}),(0,H.jsxs)("div",{className:"tiles",children:[(0,H.jsxs)("div",{className:"tile",children:[(0,H.jsx)("div",{className:"label",children:"repositories"}),(0,H.jsx)("div",{className:"value",children:$(n.repos.length)})]}),(0,H.jsxs)("div",{className:"tile",children:[(0,H.jsx)("div",{className:"label",children:"files indexed"}),(0,H.jsx)("div",{className:"value",children:$(q)})]}),(0,H.jsxs)("div",{className:"tile",children:[(0,H.jsx)("div",{className:"label",children:"chunks"}),(0,H.jsx)("div",{className:"value",children:$(F)})]}),(0,H.jsxs)("div",{className:`tile ${n.alias?"":"bad"}`,children:[(0,H.jsx)("div",{className:"label",children:"embeddings model"}),(0,H.jsx)("div",{className:"value",children:n.alias??"none served"})]})]}),(0,H.jsxs)("section",{className:"panel",children:[(0,H.jsxs)("div",{className:"section-heading",children:[(0,H.jsxs)("h2",{children:["Repositories",(0,H.jsx)("span",{className:"count",children:$(n.repos.length)})]}),(0,H.jsxs)("span",{className:"muted",children:["re-indexed every ",$(n.intervalMinutes)," min while the models are idle"]})]}),n.repos.length===0?(0,H.jsx)("div",{className:"empty",children:"Nothing indexed yet. Add a repository below."}):(0,H.jsx)("div",{className:"scroll",children:(0,H.jsxs)("table",{children:[(0,H.jsx)("thead",{children:(0,H.jsxs)("tr",{children:[(0,H.jsx)("th",{children:"repository"}),(0,H.jsx)("th",{children:"branch"}),(0,H.jsx)("th",{children:"files"}),(0,H.jsx)("th",{children:"chunks"}),(0,H.jsx)("th",{children:"indexed"}),(0,H.jsx)("th",{})]})}),(0,H.jsx)("tbody",{children:n.repos.map(O=>(0,H.jsxs)("tr",{className:O.error?"repo-error":"",children:[(0,H.jsxs)("td",{children:[(0,H.jsx)("div",{className:"entity-name",children:O.name}),(0,H.jsxs)("div",{className:"key-id muted",children:[O.url.replace(/\\/\\/[^@]+@/,"//"),O.tokenSet&&(0,H.jsx)("span",{className:"tag",children:"token"})]}),O.error&&(0,H.jsx)("div",{className:"repo-problem",children:O.error}),O.syncing&&(0,H.jsxs)("div",{className:"sync-progress","aria-live":"polite",children:[(0,H.jsx)("span",{className:"meter",style:{width:160},children:(0,H.jsx)("span",{className:`meter-fill ${O.progress?.total?"":"indeterminate"}`,style:{width:O.progress?.total?`${Math.round(O.progress.done/O.progress.total*100)}%`:"40%"}})}),(0,H.jsx)("span",{className:"muted",children:O.progress?O.progress.phase==="embedding"?`embedding ${$(O.progress.done)} of ${$(O.progress.total)} chunks`:`${O.progress.phase}\\u2026`:"starting\\u2026"})]})]}),(0,H.jsx)("td",{className:"muted",children:O.branch??"default"}),(0,H.jsx)("td",{children:O.index?$(O.index.files):"\\u2013"}),(0,H.jsx)("td",{children:O.index?$(O.index.chunks):"\\u2013"}),(0,H.jsx)("td",{className:"muted",title:O.index?.commit,children:O.syncing?(0,H.jsx)("span",{className:"pill-s warn",children:"indexing"}):O.index?.updatedAt?Le(O.index.updatedAt):"never"}),(0,H.jsxs)("td",{className:"actions",children:[(0,H.jsx)("button",{type:"button",className:"ghost mini",disabled:l!==null||O.syncing,onClick:()=>void R(`sync:${O.id}`,()=>ne(`${t}/repos/${O.id}/sync`,e,{method:"POST"})),children:l===`sync:${O.id}`?"\\u2026":"sync"})," ",c===O.id?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)("button",{type:"button",className:"danger mini",disabled:l!==null,onClick:()=>void R(`remove:${O.id}`,()=>ne(`${t}/repos/${O.id}`,e,{method:"DELETE"}).then(()=>d(null))),children:"remove"})," ",(0,H.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>d(null),children:"keep"})]}):(0,H.jsx)("button",{type:"button",className:"ghost mini",disabled:l!==null,onClick:()=>d(O.id),children:"remove"})]})]},O.id))})]})}),(0,H.jsxs)("form",{className:"create-form",onSubmit:X,children:[(0,H.jsxs)("div",{className:"config-fields",children:[(0,H.jsxs)("label",{className:"config-field",children:[(0,H.jsx)("span",{children:"clone URL"}),(0,H.jsx)("input",{value:p,onChange:O=>f(O.target.value),placeholder:"https://github.com/acme/widgets.git",spellCheck:!1,disabled:l!==null})]}),(0,H.jsxs)("label",{className:"config-field",children:[(0,H.jsx)("span",{children:"name (optional)"}),(0,H.jsx)("input",{value:h,onChange:O=>v(O.target.value),placeholder:"acme/widgets",spellCheck:!1,disabled:l!==null})]}),(0,H.jsxs)("label",{className:"config-field",children:[(0,H.jsx)("span",{children:"branch (optional; the default branch otherwise)"}),(0,H.jsx)("input",{value:b,onChange:O=>g(O.target.value),placeholder:"main",spellCheck:!1,disabled:l!==null})]}),(0,H.jsxs)("label",{className:"config-field",children:[(0,H.jsx)("span",{children:"token for a private https clone (optional; user:token or a token)"}),(0,H.jsx)("input",{type:"password",value:y,onChange:O=>x(O.target.value),autoComplete:"off",disabled:l!==null})]})]}),(0,H.jsxs)("div",{className:"row-actions",children:[(0,H.jsx)("button",{type:"submit",className:"primary",disabled:l!==null||!p.trim()||!n.alias,children:l==="add"?"\\u2026":"add repository"}),(0,H.jsx)("span",{className:"muted",children:"Cloned shallow onto this server and re-indexed on the interval; only changed files are embedded again. Tokens are kept on the server and never shown."})]})]})]}),(0,H.jsxs)("section",{className:"panel",children:[(0,H.jsx)("div",{className:"section-heading",children:(0,H.jsx)("h2",{children:"Model and schedule"})}),(0,H.jsxs)("div",{className:"newkey",children:[(0,H.jsxs)("label",{children:[(0,H.jsx)("span",{className:"muted",children:"embeddings model"}),(0,H.jsxs)("select",{value:n.alias??"",disabled:l!==null||n.aliases.length===0,onChange:O=>void R("alias",()=>ne(`${t}/settings`,e,{method:"PUT",body:{alias:O.target.value}}),"Saved. Repositories are re-embedded on their next sync."),children:[n.aliases.length===0&&(0,H.jsx)("option",{value:"",children:"no embeddings alias is served"}),n.aliases.map(O=>(0,H.jsx)("option",{value:O,children:O},O))]})]}),(0,H.jsxs)("label",{children:[(0,H.jsx)("span",{className:"muted",children:"re-index every (minutes)"}),(0,H.jsx)("input",{inputMode:"numeric",defaultValue:n.intervalMinutes,disabled:l!==null,onBlur:O=>Number(O.target.value)!==n.intervalMinutes&&void R("interval",()=>ne(`${t}/settings`,e,{method:"PUT",body:{intervalMinutes:Number(O.target.value)}}),"Interval saved."),style:{width:90}})]}),(0,H.jsx)("span",{className:"muted",children:`Developers connected to this team get hits from here in their chats\' "relevant code" alongside their own workspace.`})]})]}),(0,H.jsxs)("section",{className:"panel",children:[(0,H.jsxs)("div",{className:"section-heading",children:[(0,H.jsx)("h2",{children:"Try a search"}),(0,H.jsx)("span",{className:"muted",children:"what a developer\'s chat would pull in"})]}),(0,H.jsxs)("form",{className:"newkey",onSubmit:B,children:[(0,H.jsx)("input",{value:N,onChange:O=>S(O.target.value),placeholder:"where do we validate the licence token?",disabled:l!==null}),(0,H.jsx)("button",{type:"submit",disabled:l!==null||!N.trim()||!n.alias,children:l==="search"?"\\u2026":"search"})]}),k&&k.length===0&&(0,H.jsx)("div",{className:"empty",children:"Nothing matched."}),k&&k.length>0&&(0,H.jsx)("div",{className:"turns",children:k.map((O,Y)=>(0,H.jsx)(pi,{code:O.text,language:O.path.slice(O.path.lastIndexOf(".")+1),title:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)("b",{children:O.repo})," ",O.path,":",O.startLine,"-",O.endLine," ",(0,H.jsxs)("span",{className:"muted",children:["score ",O.score]})]})},`${O.repo}:${O.path}:${O.startLine}-${Y}`))})]})]})};var Ut=Z(tt());var W=Z(Ie()),UL={slack:"Slack",discord:"Discord",teams:"Microsoft Teams"},HL={slack:"In Slack: Apps \\u2192 Incoming Webhooks \\u2192 add to a channel, copy the URL. Mattermost: Integrations \\u2192 Incoming Webhooks.",discord:"In Discord: Server settings \\u2192 Integrations \\u2192 Webhooks \\u2192 New webhook, pick the channel, copy the URL.",teams:`In Teams: the channel\'s \\u22EF \\u2192 Workflows \\u2192 "Post to a channel when a webhook request is received", copy the URL. An older Incoming Webhook connector works too.`},qL=({kinds:e,value:t,onChange:n,disabled:r})=>(0,W.jsx)("div",{className:"event-picker",children:e.map(i=>{let a=t.includes(i.type);return(0,W.jsxs)("label",{className:`policy-option ${a?"on":""}`,title:i.description,children:[(0,W.jsx)("input",{type:"checkbox",checked:a,disabled:r,onChange:o=>n(o.target.checked?[...t,i.type]:t.filter(s=>s!==i.type))}),(0,W.jsxs)("span",{children:[(0,W.jsx)("b",{children:i.label}),(0,W.jsx)("small",{children:i.description})]})]},i.type)})}),zN=({host:e,apiKey:t})=>{let n=`/twinny/v1/admin/plugins/${e}/api`,r=UL[e],[i,a]=(0,Ut.useState)(null),[o,s]=(0,Ut.useState)(),[l,u]=(0,Ut.useState)(),[c,d]=(0,Ut.useState)(null),[p,f]=(0,Ut.useState)(null),[h,v]=(0,Ut.useState)(null),[b,g]=(0,Ut.useState)(""),[y,x]=(0,Ut.useState)(""),[N,S]=(0,Ut.useState)([]),k=(0,Ut.useCallback)(async()=>{try{let F=await ne(`${n}/`,t);return a(F),s(void 0),F}catch(F){return s(be(F)),null}},[t]);(0,Ut.useEffect)(()=>{k().then(q=>{q&&N.length===0&&h===null&&S(q.kinds.map(O=>O.type))});let F=setInterval(()=>{document.visibilityState==="visible"&&k()},3e4);return()=>clearInterval(F)},[k]);let A=async(F,q,O)=>{d(F),s(void 0),u(void 0);try{await q(),await k(),O&&u(O)}catch(Y){s(be(Y))}finally{d(null)}},I=F=>{v(null),g(""),x(""),S(F.map(q=>q.type))},z=F=>{F.preventDefault(),i&&(h?A("save",()=>ne(`${n}/webhooks/${h}`,t,{method:"PUT",body:{name:b,...y.trim()?{url:y}:{},events:N}}).then(()=>I(i.kinds)),"Webhook saved."):A("save",()=>ne(`${n}/webhooks`,t,{method:"POST",body:{name:b,url:y,events:N}}).then(()=>I(i.kinds)),"Webhook added. Send a test to see it in the channel."))};if(!i)return o?(0,W.jsx)("div",{className:"error-bar",children:o}):(0,W.jsx)(In,{tiles:4,rows:3,title:(0,W.jsxs)("h2",{className:"plugin-name",children:[(0,W.jsx)(dt,{id:e,size:22}),r]})});let R=i.deliveries.filter(F=>!F.ok).length,X=F=>i.kinds.find(q=>q.type===F)?.label??F,B=i.backends.filter(F=>!F.ok);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("div",{className:"page-title",children:[(0,W.jsxs)("h2",{className:"plugin-name",children:[(0,W.jsx)(dt,{id:e,size:22}),r]}),(0,W.jsx)("p",{children:"Reviews, new pulls, failing checks, backups and backend outages, posted to the channels you choose."})]}),l&&(0,W.jsx)("div",{className:"success-bar",children:l}),o&&(0,W.jsx)("div",{className:"error-bar",children:o}),(0,W.jsxs)("div",{className:"tiles",children:[(0,W.jsxs)("div",{className:"tile",children:[(0,W.jsx)("div",{className:"label",children:"webhooks"}),(0,W.jsx)("div",{className:"value",children:$(i.webhooks.length)})]}),(0,W.jsxs)("div",{className:"tile",children:[(0,W.jsx)("div",{className:"label",children:"sent recently"}),(0,W.jsx)("div",{className:"value",children:$(i.deliveries.length)})]}),(0,W.jsxs)("div",{className:`tile ${R?"bad":""}`,children:[(0,W.jsx)("div",{className:"label",children:"failed"}),(0,W.jsx)("div",{className:"value",children:$(R)})]}),(0,W.jsxs)("div",{className:`tile ${B.length?"bad":""}`,children:[(0,W.jsx)("div",{className:"label",children:"backends watched"}),(0,W.jsxs)("div",{className:"value",children:[i.health?$(i.backends.length):"\\u2013",B.length>0&&(0,W.jsxs)("small",{children:[B.map(F=>F.provider).join(", ")," down"]})]})]})]}),(0,W.jsxs)("section",{className:"panel",children:[(0,W.jsx)("div",{className:"section-heading",children:(0,W.jsxs)("h2",{children:["Webhooks",(0,W.jsx)("span",{className:"count",children:$(i.webhooks.length)})]})}),i.webhooks.length===0?(0,W.jsx)("div",{className:"empty",children:"No channel yet. Add one below with an incoming webhook URL."}):(0,W.jsx)("div",{className:"scroll",children:(0,W.jsxs)("table",{children:[(0,W.jsx)("thead",{children:(0,W.jsxs)("tr",{children:[(0,W.jsx)("th",{children:"channel"}),(0,W.jsx)("th",{children:"sends"}),(0,W.jsx)("th",{children:"to"}),(0,W.jsx)("th",{})]})}),(0,W.jsx)("tbody",{children:i.webhooks.map(F=>(0,W.jsxs)("tr",{children:[(0,W.jsx)("td",{className:"entity-name",children:F.name}),(0,W.jsx)("td",{children:F.events.length===i.kinds.length?(0,W.jsx)("span",{className:"muted",children:"everything"}):F.events.length===0?(0,W.jsx)("span",{className:"muted",children:"nothing"}):F.events.map(q=>(0,W.jsx)("span",{className:"tag",children:X(q)},q))}),(0,W.jsx)("td",{className:"muted",children:F.host}),(0,W.jsxs)("td",{className:"actions",children:[(0,W.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>void A(`test:${F.id}`,()=>ne(`${n}/webhooks/${F.id}/test`,t,{method:"POST"}),`Sent a test to ${F.name}.`),children:c===`test:${F.id}`?"\\u2026":"test"})," ",(0,W.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>{v(F.id),g(F.name),x(""),S(F.events)},children:"edit"})," ",p===F.id?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("button",{type:"button",className:"danger mini",disabled:c!==null,onClick:()=>void A(`remove:${F.id}`,()=>ne(`${n}/webhooks/${F.id}`,t,{method:"DELETE"}).then(()=>f(null))),children:"remove"})," ",(0,W.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>f(null),children:"keep"})]}):(0,W.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>f(F.id),children:"remove"})]})]},F.id))})]})}),(0,W.jsxs)("form",{className:"create-form",onSubmit:z,children:[(0,W.jsxs)("div",{className:"config-fields",children:[(0,W.jsxs)("label",{className:"config-field",children:[(0,W.jsx)("span",{children:"channel name"}),(0,W.jsx)("input",{value:b,onChange:F=>g(F.target.value),placeholder:e==="discord"?"#deploys":"#eng-reviews",disabled:c!==null})]}),(0,W.jsxs)("label",{className:"config-field",children:[(0,W.jsxs)("span",{children:["incoming webhook URL ",h&&(0,W.jsx)("em",{className:"muted",children:"(leave blank to keep)"})]}),(0,W.jsx)("input",{type:"password",value:y,onChange:F=>x(F.target.value),placeholder:i.urlExample,disabled:c!==null,autoComplete:"off",spellCheck:!1})]})]}),(0,W.jsx)(qL,{kinds:i.kinds,value:N,onChange:S,disabled:c!==null}),(0,W.jsxs)("div",{className:"row-actions",children:[(0,W.jsx)("button",{type:"submit",className:"primary",disabled:c!==null||!b.trim()||!h&&!y.trim(),children:c==="save"?"\\u2026":h?"save webhook":"add webhook"}),h&&(0,W.jsx)("button",{type:"button",className:"ghost",onClick:()=>I(i.kinds),children:"cancel"}),(0,W.jsxs)("span",{className:"muted",children:[HL[e]," The URL is kept on this server and never shown again."]})]})]})]}),(0,W.jsxs)("section",{className:"panel",children:[(0,W.jsx)("div",{className:"section-heading",children:(0,W.jsxs)("h2",{children:["Recent deliveries",(0,W.jsx)("span",{className:"count",children:$(i.deliveries.length)})]})}),i.deliveries.length===0?(0,W.jsx)("div",{className:"empty",children:"Nothing sent yet."}):(0,W.jsx)("div",{className:"scroll",children:(0,W.jsxs)("table",{children:[(0,W.jsx)("thead",{children:(0,W.jsxs)("tr",{children:[(0,W.jsx)("th",{children:"when"}),(0,W.jsx)("th",{children:"channel"}),(0,W.jsx)("th",{children:"event"}),(0,W.jsx)("th",{children:"message"}),(0,W.jsx)("th",{children:"result"})]})}),(0,W.jsx)("tbody",{children:i.deliveries.map((F,q)=>(0,W.jsxs)("tr",{children:[(0,W.jsx)("td",{className:"muted",title:F.at,children:Le(F.at)}),(0,W.jsx)("td",{children:F.webhook}),(0,W.jsx)("td",{children:(0,W.jsx)("span",{className:"tag",children:X(F.event)})}),(0,W.jsx)("td",{children:F.title}),(0,W.jsx)("td",{children:(0,W.jsx)("span",{className:`pill-s ${F.ok?"ok":"bad"}`,title:F.error,children:F.ok?`sent in ${$(F.ms)} ms`:F.error??"failed"})})]},`${F.at}-${q}`))})]})})]})]})};var wn=Z(tt());var K=Z(Ie()),$N=({apiKey:e})=>{let t="/twinny/v1/admin/plugins/oidc/api",[n,r]=(0,wn.useState)(null),[i,a]=(0,wn.useState)(),[o,s]=(0,wn.useState)(),[l,u]=(0,wn.useState)(null),[c,d]=(0,wn.useState)({issuer:"",clientId:"",clientSecret:"",scopes:"",allowedDomains:"",adminEmails:"",publicUrl:"",nameClaim:"email"}),p=(0,wn.useCallback)(N=>{d({issuer:N.issuer,clientId:N.clientId,clientSecret:"",scopes:N.scopes,allowedDomains:N.allowedDomains.join(", "),adminEmails:N.adminEmails.join(", "),publicUrl:N.publicUrl,nameClaim:N.nameClaim})},[]),f=(0,wn.useCallback)(async()=>{try{let N=await ne(`${t}/`,e);return r(N),a(void 0),N}catch(N){return a(be(N)),null}},[e]);(0,wn.useEffect)(()=>{f().then(N=>N&&p(N.settings))},[f,p]);let h=async(N,S,k)=>{u(N),a(void 0),s(void 0);try{await S();let A=await f();A&&N==="save"&&p(A.settings),k&&s(k)}catch(A){a(be(A))}finally{u(null)}},v=N=>{N.preventDefault(),h("save",()=>ne(`${t}/settings`,e,{method:"PUT",body:{...c,...c.clientSecret?{}:{clientSecret:void 0}}}),"Settings saved.")};if(!n)return i?(0,K.jsx)("div",{className:"error-bar",children:i}):(0,K.jsx)(In,{tiles:3,rows:3,title:(0,K.jsxs)("h2",{className:"plugin-name",children:[(0,K.jsx)(dt,{id:"oidc",size:22}),"SSO sign-in"]})});let b=n.settings.publicUrl||window.location.origin,g=`${b}${n.startPath}`,y=`${b}${n.callbackPath}`,x=n.signIns.filter(N=>!N.ok).length;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)("div",{className:"page-title",children:[(0,K.jsxs)("h2",{className:"plugin-name",children:[(0,K.jsx)(dt,{id:"oidc",size:22}),"SSO sign-in"]}),(0,K.jsx)("p",{children:"Developers sign in with your identity provider and VS Code connects with a key of their own."})]}),o&&(0,K.jsx)("div",{className:"success-bar",children:o}),i&&(0,K.jsx)("div",{className:"error-bar",children:i}),(0,K.jsxs)("div",{className:"tiles",children:[(0,K.jsxs)("div",{className:`tile ${n.configured&&n.discovery?"":"bad"}`,children:[(0,K.jsx)("div",{className:"label",children:"provider"}),(0,K.jsx)("div",{className:"value",children:n.configured?n.discovery?"reachable":"unreachable":"not set up"})]}),(0,K.jsxs)("div",{className:"tile",children:[(0,K.jsx)("div",{className:"label",children:"sign-ins (recent)"}),(0,K.jsx)("div",{className:"value",children:$(n.signIns.length)})]}),(0,K.jsxs)("div",{className:`tile ${x?"bad":""}`,children:[(0,K.jsx)("div",{className:"label",children:"refused"}),(0,K.jsx)("div",{className:"value",children:$(x)})]})]}),n.discoveryError&&(0,K.jsx)("div",{className:"error-bar",children:n.discoveryError}),n.configured&&n.discovery&&(0,K.jsxs)("section",{className:"panel",children:[(0,K.jsxs)("div",{className:"section-heading",children:[(0,K.jsx)("h2",{children:"Sign-in link"}),(0,K.jsx)("span",{className:"muted",children:"give this to developers, or put it on your wiki"})]}),(0,K.jsxs)("div",{className:"created",children:[(0,K.jsx)("code",{className:"secret",children:g}),(0,K.jsxs)("div",{className:"row",children:[(0,K.jsx)(_n,{text:g,label:"copy link"}),(0,K.jsx)("a",{className:"button",href:g,target:"_blank",rel:"noreferrer",children:"try it"})]})]}),(0,K.jsxs)("div",{className:"hint",children:["Register ",(0,K.jsx)("code",{children:y})," as the redirect URI at the provider. Each sign-in mints a fresh key for the person\'s email and revokes the previous one, so it also works to recover a lost key."]})]}),(0,K.jsxs)("form",{className:"panel",onSubmit:v,children:[(0,K.jsxs)("div",{className:"section-heading",children:[(0,K.jsx)("h2",{children:"Identity provider"}),(0,K.jsx)("span",{className:`pill-s ${n.discovery?"ok":""}`,children:n.discovery?n.discovery.issuer:"OpenID Connect"})]}),(0,K.jsxs)("div",{className:"config-fields",children:[(0,K.jsxs)("label",{className:"config-field",children:[(0,K.jsx)("span",{children:"issuer URL (has /.well-known/openid-configuration)"}),(0,K.jsx)("input",{value:c.issuer,onChange:N=>d({...c,issuer:N.target.value}),placeholder:"https://login.microsoftonline.com/<tenant>/v2.0",spellCheck:!1})]}),(0,K.jsxs)("label",{className:"config-field",children:[(0,K.jsx)("span",{children:"client id"}),(0,K.jsx)("input",{value:c.clientId,onChange:N=>d({...c,clientId:N.target.value}),spellCheck:!1,autoComplete:"off"})]}),(0,K.jsxs)("label",{className:"config-field",children:[(0,K.jsxs)("span",{children:["client secret ",n.settings.clientSecretSet&&(0,K.jsx)("em",{className:"muted",children:"(set; leave blank to keep)"})]}),(0,K.jsx)("input",{type:"password",value:c.clientSecret,onChange:N=>d({...c,clientSecret:N.target.value}),autoComplete:"new-password"})]}),(0,K.jsxs)("label",{className:"config-field",children:[(0,K.jsx)("span",{children:"scopes"}),(0,K.jsx)("input",{value:c.scopes,onChange:N=>d({...c,scopes:N.target.value}),placeholder:"openid email profile",spellCheck:!1})]}),(0,K.jsxs)("label",{className:"config-field",children:[(0,K.jsx)("span",{children:"allowed email domains (comma-separated; blank: anyone the provider vouches for)"}),(0,K.jsx)("input",{value:c.allowedDomains,onChange:N=>d({...c,allowedDomains:N.target.value}),placeholder:"example.com, example.co.uk",spellCheck:!1})]}),(0,K.jsxs)("label",{className:"config-field",children:[(0,K.jsx)("span",{children:"admin emails (get an admin key)"}),(0,K.jsx)("input",{value:c.adminEmails,onChange:N=>d({...c,adminEmails:N.target.value}),placeholder:"you@example.com",spellCheck:!1})]}),(0,K.jsxs)("label",{className:"config-field",children:[(0,K.jsx)("span",{children:"public URL of this gateway (blank: taken from the request)"}),(0,K.jsx)("input",{value:c.publicUrl,onChange:N=>d({...c,publicUrl:N.target.value}),placeholder:window.location.origin,spellCheck:!1})]}),(0,K.jsxs)("label",{className:"config-field",children:[(0,K.jsx)("span",{children:"claim that names the key"}),(0,K.jsxs)("select",{value:c.nameClaim,onChange:N=>d({...c,nameClaim:N.target.value}),children:[(0,K.jsx)("option",{value:"email",children:"email"}),(0,K.jsx)("option",{value:"preferred_username",children:"preferred_username"}),(0,K.jsx)("option",{value:"upn",children:"upn"})]})]})]}),(0,K.jsxs)("div",{className:"row-actions",style:{marginTop:16},children:[(0,K.jsx)("button",{type:"submit",className:"primary",disabled:l!==null,children:l==="save"?"\\u2026":"save"}),(0,K.jsx)("button",{type:"button",className:"ghost",disabled:l!==null||!n.configured,onClick:()=>void h("check",()=>ne(`${t}/check`,e,{method:"POST"}),"The provider answered: discovery and keys read."),children:l==="check"?"\\u2026":"test provider"}),(0,K.jsx)("span",{className:"muted",children:"Make a confidential web application at the provider with the redirect URI above; grant it the openid, email and profile scopes. Secrets stay on this server."})]})]}),(0,K.jsxs)("section",{className:"panel",children:[(0,K.jsx)("div",{className:"section-heading",children:(0,K.jsxs)("h2",{children:["Recent sign-ins",(0,K.jsx)("span",{className:"count",children:$(n.signIns.length)})]})}),n.signIns.length===0?(0,K.jsx)("div",{className:"empty",children:"Nobody has signed in yet."}):(0,K.jsx)("div",{className:"scroll",children:(0,K.jsxs)("table",{children:[(0,K.jsx)("thead",{children:(0,K.jsxs)("tr",{children:[(0,K.jsx)("th",{children:"when"}),(0,K.jsx)("th",{children:"who"}),(0,K.jsx)("th",{children:"result"}),(0,K.jsx)("th",{children:"from"})]})}),(0,K.jsx)("tbody",{children:n.signIns.map((N,S)=>(0,K.jsxs)("tr",{children:[(0,K.jsx)("td",{className:"muted",title:N.at,children:Le(N.at)}),(0,K.jsxs)("td",{className:"entity-name",children:[N.name,N.admin&&(0,K.jsx)("span",{className:"tag admin",children:"admin"})]}),(0,K.jsx)("td",{children:(0,K.jsx)("span",{className:`pill-s ${N.ok?"ok":"bad"}`,title:N.error,children:N.ok?"key issued":N.error??"refused"})}),(0,K.jsx)("td",{className:"muted",children:N.from??""})]},`${N.at}-${S}`))})]})})]})]})};var se=Z(tt());var au=Z(tt()),Dn=Z(Ie()),Ef=(e,t,n)=>{let[r,i]=(0,au.useState)(()=>{try{let a=localStorage.getItem(e);if(a===null)return t;let o=JSON.parse(a);return n?n(o)?o:t:o}catch{return t}});return(0,au.useEffect)(()=>{try{localStorage.setItem(e,JSON.stringify(r))}catch{}},[e,r]),[r,i]},Cf=[{value:"",label:"any time"},{value:"1d",label:"updated today"},{value:"7d",label:"updated this week"},{value:"30d",label:"updated this month"},{value:"stale",label:"quiet for 30 days"}],Tf=(e,t,n=Date.now())=>{if(!t)return!0;let r=(n-Date.parse(e))/864e5;return Number.isFinite(r)?t==="1d"?r<=1:t==="7d"?r<=7:t==="30d"?r<=30:r>30:t==="stale"},Af=(e,t,n)=>{let r=t==="asc"?1:-1;return[...e].sort((i,a)=>{let o=n(i),s=n(a);return o===void 0&&s===void 0?0:o===void 0?1:s===void 0?-1:typeof o=="string"&&typeof s=="string"?r*o.localeCompare(s,void 0,{sensitivity:"base"}):r*(Number(o)-Number(s))})},Rf=(e,t,n)=>({key:t,dir:e.key===t?e.dir==="asc"?"desc":"asc":n}),Xt=({column:e,sort:t,onSort:n,children:r,title:i,className:a})=>{let o=t.key===e;return(0,Dn.jsx)("th",{className:`sortable ${o?"on":""} ${a??""}`,"aria-sort":o?t.dir==="asc"?"ascending":"descending":"none",title:i,children:(0,Dn.jsxs)("button",{type:"button",onClick:()=>n(e),children:[r,(0,Dn.jsx)("span",{className:"sort-mark","aria-hidden":"true",children:o?t.dir==="asc"?"\\u2191":"\\u2193":"\\u2195"})]})})},Fn=({label:e,value:t,onChange:n,options:r,any:i})=>(0,Dn.jsxs)("label",{className:`filter ${t?"on":""}`,children:[(0,Dn.jsx)("span",{children:e}),(0,Dn.jsxs)("select",{value:t,onChange:a=>n(a.target.value),"aria-label":e,children:[i!==void 0&&(0,Dn.jsx)("option",{value:"",children:i}),r.map(a=>(0,Dn.jsx)("option",{value:a.value,children:a.label},a.value))]})]}),pa=e=>[...new Set(e.filter(t=>!!t))].sort((t,n)=>t.localeCompare(n,void 0,{sensitivity:"base"}));var w=Z(Ie()),Jn={github:"GitHub",gitlab:"GitLab",gitea:"Gitea / Forgejo",bitbucket:"Bitbucket"},VL={github:{noun:"pull request",nouns:"pull requests",hash:"#",repoNoun:"repository",tokenHint:"A fine-grained token with Pull requests, Contents, Checks and Commit statuses read access, or a classic token with repo scope. Leave blank to read through the GitHub App.",fullNameHint:"owner/name"},gitlab:{noun:"merge request",nouns:"merge requests",hash:"!",repoNoun:"project",tokenHint:"A project, group or personal access token with the read_api scope.",fullNameHint:"group/project"},gitea:{noun:"pull request",nouns:"pull requests",hash:"#",repoNoun:"repository",tokenHint:"An access token from Settings \\u2192 Applications with read access to repositories. Set your instance\'s URL below; codeberg.org is the default.",fullNameHint:"owner/name"},bitbucket:{noun:"pull request",nouns:"pull requests",hash:"#",repoNoun:"repository",tokenHint:"An app password as user:app-password (Repositories and Pull requests: read), or an API token.",fullNameHint:"workspace/repo-slug"}},qN={all:"all",mine:"waiting for me",ready:"ready to merge",failing:"failing",conflicts:"conflicts",review:"needs review",approved:"approved",drafts:"drafts",unreviewed:"no model review"},MN={mine:"Not yours, not a draft, and without your approval",ready:"Not a draft, checks green or absent, no conflicts, approved or needing no review",review:"Waiting for a reviewer, or with changes requested",unreviewed:"Never reviewed by a model, or the review is for an earlier commit or failed"},ou=Object.keys(qN),su=[{key:"updated",label:"last updated",natural:"desc"},{key:"created",label:"opened",natural:"desc"},{key:"number",label:"number",natural:"desc"},{key:"title",label:"title",natural:"asc"},{key:"author",label:"author",natural:"asc"},{key:"size",label:"size of change",natural:"desc"},{key:"checks",label:"checks",natural:"asc"},{key:"merge",label:"merge state",natural:"asc"},{key:"review",label:"review state",natural:"asc"},{key:"approvals",label:"approvals",natural:"desc"}],uu=(e,t)=>e.find(n=>n.key===t)?.natural??"asc",WL={failure:0,pending:1,none:2,success:3},KL={conflicting:0,blocked:1,unknown:2,mergeable:3},GL={"changes-requested":0,"review-required":1,none:2,approved:3},BN={quick:"all",repo:"",author:"",label:"",base:"",age:"",drafts:!1,sort:{key:"updated",dir:"desc"}},QL=e=>{if(typeof e!="object"||e===null)return!1;let t=e,n=t.sort;return ou.includes(t.quick)&&["repo","author","label","base","age"].every(r=>typeof t[r]=="string")&&typeof t.drafts=="boolean"&&n!==void 0&&su.some(r=>r.key===n.key)&&(n.dir==="asc"||n.dir==="desc")},YL={success:"checks pass",failure:"checks fail",pending:"checks running",none:"no checks"},Pf={success:"ok",failure:"bad",pending:"warn",none:""},VN={mergeable:"mergeable",conflicting:"conflicts",blocked:"blocked",unknown:"merge state unknown"},WN={mergeable:"ok",conflicting:"bad",blocked:"warn",unknown:""},KN={approved:"approved","changes-requested":"changes requested","review-required":"needs review",none:"no review"},GN={approved:"ok","changes-requested":"bad","review-required":"warn",none:""},QN=(e,t)=>{if(t===void 0||!e.approvals)return;let n=r=>r.toLowerCase()===t.toLowerCase();return n(e.author)?"yours":e.approvals.approved.some(n)?"approved":e.approvals.changes.some(n)?"changes":e.approvals.pending.some(n)?"asked":"not-reviewed"},XL={yours:"yours",approved:"you approved",changes:"you asked for changes",asked:"your review asked","not-reviewed":"not reviewed by you"},ZL={yours:"",approved:"reviewed",changes:"failed",asked:"stale","not-reviewed":"stale"},YN=({pull:e,me:t})=>{let n=QN(e,t);return n?(0,w.jsx)("span",{className:`tag stance ${ZL[n]}`,title:`You are ${t}`,children:XL[n]}):null},XN=(e,t)=>t!==void 0&&!e.draft&&e.author.toLowerCase()!==t.toLowerCase()&&e.approvals!==void 0&&!e.approvals.approved.some(n=>n.toLowerCase()===t.toLowerCase()),If=(e,t,n,r)=>{switch(t){case"all":return!0;case"mine":return XN(e,r);case"ready":return!e.draft&&e.checks!=="failure"&&e.checks!=="pending"&&e.mergeable==="mergeable"&&(e.review==="approved"||e.review==="none")&&!Lf(e);case"failing":return e.checks==="failure";case"conflicts":return e.mergeable==="conflicting";case"review":return e.review==="review-required"||e.review==="changes-requested"||Lf(e)||(e.approvals?.pending.length??0)>0;case"approved":return e.review==="approved";case"drafts":return e.draft;case"unreviewed":return!n||n.stale||n.status==="failed"}},Lf=e=>e.approvals?.required!==void 0&&e.approvals.approved.length<e.approvals.required,JL=(e,t)=>{switch(t){case"updated":return Date.parse(e.updatedAt);case"created":return Date.parse(e.createdAt);case"title":return e.title;case"author":return e.author;case"checks":return WL[e.checks];case"merge":return KL[e.mergeable];case"review":return GL[e.review];case"approvals":return e.approvals?e.approvals.approved.length-(e.approvals.required??0)/1e3:void 0;case"size":return e.additions===void 0&&e.deletions===void 0?void 0:(e.additions??0)+(e.deletions??0);case"number":return e.number}},fa=({tone:e,children:t,title:n})=>(0,w.jsx)("span",{className:`pill-s ${e}`,title:n,children:t}),ma=e=>e.length?e.join(", "):"nobody",ZN=({pull:e,long:t})=>{let n=e.approvals;if(!n||n.approved.length===0&&n.changes.length===0&&n.pending.length===0&&n.required===void 0)return null;let r=Lf(e),i=`approved by ${ma(n.approved)}${n.required!==void 0?` (${n.required} needed)`:""}\nchanges requested by ${ma(n.changes)}\nwaiting for ${ma(n.pending)}`;return(0,w.jsxs)("span",{className:`approvals ${t?"long":""}`,title:i,children:[(0,w.jsxs)("span",{className:n.required!==void 0?r?"warn-text":"ins-text":n.approved.length?"ins-text":"",children:[n.required!==void 0?`${$(n.approved.length)}/${$(n.required)}`:$(n.approved.length)," approved",t&&n.approved.length?` by ${ma(n.approved)}`:""]}),n.changes.length>0&&(0,w.jsx)("span",{className:"bad-text",children:t?`changes requested by ${ma(n.changes)}`:`${$(n.changes.length)} changes`}),n.pending.length>0&&(0,w.jsx)("span",{className:"muted",children:t?`waiting for ${ma(n.pending)}`:`${$(n.pending.length)} asked`})]})},eO=({host:e,words:t,overview:n,base:r,apiKey:i,onChanged:a})=>{let[o,s]=(0,se.useState)(""),[l,u]=(0,se.useState)(""),[c,d]=(0,se.useState)(null),[p,f]=(0,se.useState)(),[h,v]=(0,se.useState)(null),[b,g]=(0,se.useState)(null),y=async(k,A)=>{d(k),f(void 0);try{await A(),await a()}catch(I){f(be(I))}finally{d(null)}},x=k=>{k.preventDefault();let A=o.trim();A&&y("add",async()=>{await ne(`${r}/repos`,i,{method:"POST",body:{fullName:A,...l.trim()?{token:l.trim()}:{}}}),s(""),u("")})},N=k=>y(`add:${k}`,async()=>{await ne(`${r}/repos`,i,{method:"POST",body:{fullName:k}}),g(A=>A&&A.filter(I=>I.fullName!==k))}),S=()=>y("picker",async()=>{let k=await ne(`${r}/app/repositories`,i),A=new Set(n.repos.map(I=>I.fullName.toLowerCase()));g(k.repositories.filter(I=>!A.has(I.fullName.toLowerCase())))});return(0,w.jsxs)("section",{className:"panel",children:[(0,w.jsxs)("div",{className:"section-heading",children:[(0,w.jsxs)("h2",{children:[t.repoNoun==="project"?"Projects":"Repositories",(0,w.jsx)("span",{className:"count",children:$(n.repos.length)})]}),(0,w.jsx)("span",{className:"muted",children:n.host.baseUrl})]}),p&&(0,w.jsx)("div",{className:"error",children:p}),n.repos.length===0?(0,w.jsxs)("div",{className:"empty",children:["Nothing watched yet. Add a ",t.repoNoun," below."]}):(0,w.jsx)("div",{className:"scroll",children:(0,w.jsxs)("table",{children:[(0,w.jsx)("thead",{children:(0,w.jsxs)("tr",{children:[(0,w.jsx)("th",{children:t.repoNoun}),(0,w.jsx)("th",{children:"reads with"}),(0,w.jsx)("th",{children:"open"}),(0,w.jsx)("th",{children:"failing"}),(0,w.jsx)("th",{children:"synced"}),(0,w.jsx)("th",{title:"Review new and updated pulls in the background while the models are idle",children:"auto-review"}),(0,w.jsx)("th",{title:"Post every finished review to the host as a comment",children:"auto-post"}),(0,w.jsx)("th",{title:"Triage new issues in the background; replies and labels still wait for a click",children:"auto-triage"}),(0,w.jsx)("th",{})]})}),(0,w.jsx)("tbody",{children:n.repos.map(k=>{let A=k.pulls.filter(I=>I.checks==="failure").length;return(0,w.jsxs)("tr",{className:k.error?"repo-error":"",children:[(0,w.jsxs)("td",{children:[(0,w.jsx)("a",{href:k.url,target:"_blank",rel:"noreferrer",className:"entity-name",children:k.fullName}),k.error&&(0,w.jsx)("div",{className:"repo-problem",children:k.error})]}),(0,w.jsx)("td",{children:(0,w.jsx)("span",{className:"tag",children:k.auth==="app"?"GitHub App":"token"})}),(0,w.jsx)("td",{children:$(k.pulls.length)}),(0,w.jsx)("td",{className:A?"bad-text":"muted",children:$(A)}),(0,w.jsx)("td",{className:"muted",title:k.syncedAt,children:k.syncing?"syncing\\u2026":k.syncedAt?Le(k.syncedAt):k.error?"never":"pending"}),(0,w.jsx)("td",{className:"auto",children:(0,w.jsx)("input",{type:"checkbox",checked:k.autoReview,disabled:c!==null||!n.review.available,"aria-label":`Auto-review ${k.fullName}`,title:n.review.available?void 0:"Reviews are unavailable on this gateway",onChange:I=>void y(`auto:${k.id}`,()=>ne(`${r}/repos/${k.id}`,i,{method:"PUT",body:{autoReview:I.target.checked}}))})}),(0,w.jsx)("td",{className:"auto",children:(0,w.jsx)("input",{type:"checkbox",checked:k.autoPost,disabled:c!==null,"aria-label":`Auto-post reviews of ${k.fullName}`,onChange:I=>void y(`post:${k.id}`,()=>ne(`${r}/repos/${k.id}`,i,{method:"PUT",body:{autoPost:I.target.checked}}))})}),(0,w.jsx)("td",{className:"auto",children:(0,w.jsx)("input",{type:"checkbox",checked:k.autoTriage,disabled:c!==null||!k.issuesSupported||!n.review.available,"aria-label":`Auto-triage ${k.fullName}`,title:k.issuesSupported?void 0:"This host has no issue tracker the plugin reads",onChange:I=>void y(`triage:${k.id}`,()=>ne(`${r}/repos/${k.id}`,i,{method:"PUT",body:{autoTriage:I.target.checked}}))})}),(0,w.jsxs)("td",{className:"actions",children:[(0,w.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>void y(`sync:${k.id}`,()=>ne(`${r}/repos/${k.id}/sync`,i,{method:"POST"})),children:c===`sync:${k.id}`?"\\u2026":"sync"})," ",h===k.id?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("button",{type:"button",className:"danger mini",disabled:c!==null,onClick:()=>void y(`remove:${k.id}`,()=>ne(`${r}/repos/${k.id}`,i,{method:"DELETE"}).then(()=>v(null))),children:"remove"})," ",(0,w.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>v(null),children:"keep"})]}):(0,w.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>v(k.id),children:"remove"})]})]},k.id)})})]})}),(0,w.jsxs)("form",{className:"newkey create",onSubmit:x,children:[(0,w.jsx)("input",{placeholder:t.fullNameHint,value:o,onChange:k=>s(k.target.value),"aria-label":`${t.repoNoun} name`,disabled:c!==null,spellCheck:!1}),(0,w.jsx)("input",{type:"password",placeholder:n.appAuth?"token (optional)":"access token",value:l,onChange:k=>u(k.target.value),"aria-label":"Access token",disabled:c!==null,autoComplete:"off"}),(0,w.jsx)("button",{type:"submit",className:"primary",disabled:c!==null||!o.trim()||!n.appAuth&&!l.trim(),children:c==="add"?"\\u2026":`watch ${t.repoNoun}`}),e==="github"&&n.appAuth&&(0,w.jsx)("button",{type:"button",className:"ghost",disabled:c!==null,onClick:()=>void S(),children:c==="picker"?"\\u2026":"pick from the App"}),(0,w.jsx)("span",{className:"muted",children:t.tokenHint})]}),b&&(0,w.jsxs)("div",{className:"picker",children:[b.length===0?(0,w.jsx)("div",{className:"empty",children:"The App sees no other repositories. Install it on more at GitHub."}):b.map(k=>(0,w.jsxs)("div",{className:"picker-row",children:[(0,w.jsx)("span",{className:"entity-name",children:k.fullName}),(0,w.jsx)("span",{className:"muted",children:k.account}),(0,w.jsx)("button",{type:"button",className:"mini",disabled:c!==null,onClick:()=>void N(k.fullName),children:c===`add:${k.fullName}`?"\\u2026":"watch"})]},k.fullName)),(0,w.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>g(null),children:"close"})]})]})},tO=({host:e,words:t,overview:n,base:r,apiKey:i,onChanged:a})=>{let[o,s]=(0,se.useState)(""),[l,u]=(0,se.useState)(""),[c,d]=(0,se.useState)(n.host.baseUrl),[p,f]=(0,se.useState)(n.me.name??"");(0,se.useEffect)(()=>f(n.me.name??""),[n.me.name]);let[h,v]=(0,se.useState)(!1),[b,g]=(0,se.useState)(),[y,x]=(0,se.useState)(),[N,S]=(0,se.useState)(!1);(0,se.useEffect)(()=>d(n.host.baseUrl),[n.host.baseUrl]);let k=async(I,z)=>{v(!0),g(void 0),x(void 0);try{await I(),await a(),x(z)}catch(R){g(be(R))}finally{v(!1)}},A=n.host.app??null;return(0,w.jsxs)("section",{className:"panel",children:[(0,w.jsxs)("div",{className:"section-heading",children:[(0,w.jsx)("h2",{children:e==="github"?"GitHub App":"Instance"}),e==="github"&&(0,w.jsx)("span",{className:`pill-s ${A?"ok":""}`,children:A?`installed as ${A.slug??A.appId}`:"not set up"})]}),y&&(0,w.jsx)("div",{className:"success-bar",children:y}),b&&(0,w.jsx)("div",{className:"error",children:b}),e==="github"&&(A?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)("dl",{className:"facts",children:[(0,w.jsx)("dt",{children:"App"}),(0,w.jsxs)("dd",{children:[A.name??A.slug??"GitHub App"," ",(0,w.jsxs)("span",{className:"muted",children:["\\xB7 id ",A.appId]})]}),A.installUrl&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("dt",{children:"Install on more"}),(0,w.jsx)("dd",{children:(0,w.jsx)("a",{href:A.installUrl,target:"_blank",rel:"noreferrer",children:A.installUrl})})]})]}),N?(0,w.jsxs)("div",{className:"row-actions",children:[(0,w.jsx)("span",{className:"muted",children:"Repositories that read through the App stop syncing until it is set up again."}),(0,w.jsx)("button",{type:"button",className:"danger",disabled:h,onClick:()=>void k(()=>ne(`${r}/app`,i,{method:"DELETE"}).then(()=>S(!1)),"GitHub App removed."),children:"remove App"}),(0,w.jsx)("button",{type:"button",className:"ghost",onClick:()=>S(!1),children:"keep"})]}):(0,w.jsx)("button",{type:"button",className:"ghost",disabled:h,onClick:()=>S(!0),children:"remove"})]}):(0,w.jsxs)("form",{className:"app-form",onSubmit:I=>{I.preventDefault(),k(()=>ne(`${r}/app`,i,{method:"PUT",body:{appId:o.trim(),privateKey:l}}).then(()=>(s(""),u(""))),"GitHub App checked and saved. Repositories it is installed on can be watched without a token.")},children:[(0,w.jsx)("input",{placeholder:"App ID",value:o,onChange:I=>s(I.target.value),"aria-label":"App ID",disabled:h,inputMode:"numeric"}),(0,w.jsx)("textarea",{placeholder:"-----BEGIN RSA PRIVATE KEY-----",value:l,onChange:I=>u(I.target.value),"aria-label":"Private key",disabled:h,rows:4,spellCheck:!1}),(0,w.jsxs)("div",{className:"row-actions",children:[(0,w.jsx)("button",{type:"submit",className:"primary",disabled:h||!o.trim()||!l.trim(),children:h?"\\u2026":"set up App"}),(0,w.jsx)("span",{className:"muted",children:"Create the App under your organisation\'s developer settings with read access to Pull requests, Contents, Checks and Commit statuses, install it on the repositories, then paste its App ID and a generated private key. The key stays on this server."})]})]})),(0,w.jsxs)("form",{className:"newkey inline-setting",onSubmit:I=>{I.preventDefault(),k(()=>ne(`${r}/settings`,i,{method:"PUT",body:{baseUrl:c.trim()}}),"Host saved; everything is syncing again.")},children:[(0,w.jsxs)("label",{children:[(0,w.jsx)("span",{className:"muted",children:e==="github"?"GitHub Enterprise URL":`${Jn[e]} URL`}),(0,w.jsx)("input",{value:c,onChange:I=>d(I.target.value),"aria-label":"Host URL",disabled:h,spellCheck:!1})]}),(0,w.jsx)("button",{type:"submit",className:"ghost",disabled:h||c.trim()===n.host.baseUrl,children:"save host"})]}),(0,w.jsxs)("form",{className:"newkey inline-setting",onSubmit:I=>{I.preventDefault(),k(()=>ne(`${r}/settings`,i,{method:"PUT",body:{me:p.trim()}}),p.trim()?`Pulls you have not approved are marked; you are ${p.trim().replace(/^@/,"")}.`:"Username cleared.")},children:[(0,w.jsxs)("label",{children:[(0,w.jsxs)("span",{className:"muted",children:["you on ",Jn[e],n.me.detected&&(0,w.jsxs)("em",{children:[" \\xB7 the token belongs to ",n.me.detected]})]}),(0,w.jsx)("input",{value:p,onChange:I=>f(I.target.value),"aria-label":`Your username on ${Jn[e]}`,placeholder:n.me.detected??"username",disabled:h,spellCheck:!1})]}),(0,w.jsx)("button",{type:"submit",className:"ghost",disabled:h||p.trim().replace(/^@/,"")===(n.me.name??""),children:"save"}),(0,w.jsxs)("span",{className:"muted",children:["Marks the ",t.nouns," waiting for your approval. Left blank, the name the token reports is used."]})]})]})},nO=e=>{let t=e.slice(e.lastIndexOf(".")+1).toLowerCase();return t===e.toLowerCase()?"text":t},rO=({review:e,noun:t,canAsk:n,onAsk:r})=>{let[i,a]=(0,se.useState)(""),[o,s]=(0,se.useState)(!1),[l,u]=(0,se.useState)(),[c,d]=(0,se.useState)(0);(0,se.useEffect)(()=>{if(!o)return;d(0);let h=Date.now(),v=setInterval(()=>d(Math.round((Date.now()-h)/1e3)),1e3);return()=>clearInterval(v)},[o]);let p=async()=>{let h=i.trim();if(!(!h||o||!n)){s(!0),u(void 0);try{await r(h),a("")}catch(v){u(be(v))}finally{s(!1)}}},f=e.thread??[];return(0,w.jsxs)("div",{className:"review-thread",children:[f.length>0&&(0,w.jsx)("div",{className:"turns",children:f.map((h,v)=>(0,w.jsxs)("div",{className:`turn ${h.role}`,children:[(0,w.jsxs)("div",{className:"turn-head",children:[(0,w.jsx)("span",{className:"role",children:h.role==="user"?`asked by ${h.by??"you"}`:`${e.alias}${h.ms?` in ${Math.round(h.ms/1e3)} s`:""}`}),(0,w.jsx)("span",{className:"muted",children:Le(h.at)})]}),(0,w.jsxs)("div",{className:"turn-body",children:[h.role==="user"?(0,w.jsx)("p",{className:"question",children:h.text}):(0,w.jsx)(mi,{text:h.text}),h.cutShort&&(0,w.jsx)("div",{className:"cut-short",children:h.cutShort})]})]},`${h.at}:${v}`))}),(0,w.jsxs)("form",{className:"ask-form",onSubmit:h=>{h.preventDefault(),p()},children:[(0,w.jsx)("textarea",{value:i,onChange:h=>a(h.target.value),onKeyDown:h=>{h.key==="Enter"&&(h.ctrlKey||h.metaKey)&&(h.preventDefault(),p())},rows:2,maxLength:4e3,placeholder:n?`Ask ${e.alias} about this review\\u2026`:"No model is serving reviews","aria-label":"Ask about this review",disabled:o||!n}),(0,w.jsxs)("div",{className:"review-actions",children:[(0,w.jsx)("button",{type:"submit",className:"primary",disabled:o||!n||!i.trim(),children:o?`answering\\u2026 ${c} s`:"ask"}),l?(0,w.jsx)("span",{className:"bad-text",children:l}):(0,w.jsxs)("span",{className:"muted",children:["Ctrl+Enter sends. The model sees the ",t.toLowerCase(),", the review and this thread; nothing here is posted."]})]})]})]})},iO=({detail:e,words:t,review:n,host:r,me:i,onBack:a,onReview:o,onPost:s,onAsk:l})=>{let[u,c]=(0,se.useState)("comment"),[d,p]=(0,se.useState)(!1),[f,h]=(0,se.useState)(),{pull:v}=e,[b,g]=(0,se.useState)(e.reviewing),[y,x]=(0,se.useState)(),[N,S]=(0,se.useState)(0);(0,se.useEffect)(()=>g(e.reviewing),[e.reviewing]),(0,se.useEffect)(()=>{if(!b)return;S(0);let I=Date.now(),z=setInterval(()=>S(Math.round((Date.now()-I)/1e3)),1e3);return()=>clearInterval(z)},[b]);let k=async()=>{g(!0),x(void 0);try{await o()}catch(I){x(be(I))}finally{g(!1)}},A=e.review&&e.review.headSha!==v.headSha;return(0,w.jsxs)("section",{className:"panel record",children:[(0,w.jsxs)("div",{className:"section-heading",children:[(0,w.jsxs)("h2",{className:"record-title",children:[(0,w.jsxs)("button",{type:"button",className:"ghost mini",onClick:a,children:["\\u2190 ",t.nouns]}),(0,w.jsxs)("b",{children:[v.repo,t.hash,v.number]}),(0,w.jsxs)("a",{href:v.url,target:"_blank",rel:"noreferrer",children:["open on ",Jn[r]]})]}),(0,w.jsxs)("span",{className:"links",children:[(0,w.jsx)(fa,{tone:Pf[v.checks],children:YL[v.checks]}),(0,w.jsx)(fa,{tone:WN[v.mergeable],children:VN[v.mergeable]}),(0,w.jsx)(fa,{tone:GN[v.review],children:KN[v.review]})]})]}),(0,w.jsxs)("h3",{className:"pull-title",children:[v.draft&&(0,w.jsx)("span",{className:"tag",children:"draft"})," ",v.title," ",(0,w.jsx)(YN,{pull:v,me:i})]}),(0,w.jsxs)("div",{className:"meta",children:[(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"meta-k",children:"by"}),v.author]}),(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"meta-k",children:"branch"}),(0,w.jsx)("code",{children:v.headRef})," \\u2192 ",(0,w.jsx)("code",{children:v.baseRef})]}),(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"meta-k",children:"updated"}),Le(v.updatedAt)]}),v.approvals&&(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"meta-k",children:"approvals"}),(0,w.jsx)(ZN,{pull:v,long:!0})]}),v.changedFiles!==void 0&&(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"meta-k",children:"changes"}),Fe(v.changedFiles,"file"),", ",(0,w.jsxs)("span",{className:"ins-text",children:["+",$(v.additions??0)]})," ",(0,w.jsxs)("span",{className:"del-text",children:["\\u2212",$(v.deletions??0)]})]}),v.labels.length>0&&(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"meta-k",children:"labels"}),v.labels.map(I=>(0,w.jsx)("span",{className:"tag",children:I},I))]})]}),v.checkRuns.length>0&&(0,w.jsx)("div",{className:"checks",children:v.checkRuns.map((I,z)=>(0,w.jsx)("span",{className:`pill-s ${Pf[I.state]}`,children:I.url?(0,w.jsx)("a",{href:I.url,target:"_blank",rel:"noreferrer",children:I.name}):I.name},`${I.name}-${z}`))}),(0,w.jsx)("h3",{className:"sub",children:"Review"}),b?(0,w.jsxs)("div",{className:"review-running","aria-live":"polite",children:[(0,w.jsx)("span",{className:"meter",children:(0,w.jsx)("span",{className:"meter-fill indeterminate",style:{width:"40%"}})}),(0,w.jsxs)("span",{children:["Reviewing with ",(0,w.jsx)("b",{children:n.alias}),(0,w.jsxs)("span",{className:"muted",children:[" \\xB7 ",N,"s \\xB7 the model is reading the ",t.noun,"; a minute or two is normal"]})]})]}):(0,w.jsxs)("div",{className:"review-actions",children:[(0,w.jsx)("button",{type:"button",className:e.review?"ghost":"primary",disabled:!n.available||!n.alias,onClick:()=>void k(),title:n.available?n.alias?void 0:"No chat model is served":"This gateway offers plugins no models",children:e.review?"review again":"review now"}),n.alias&&(0,w.jsxs)("span",{className:"muted",children:["with ",n.alias]}),y&&(0,w.jsx)("span",{className:"bad-text",children:y})]}),e.review?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)("div",{className:"review-meta",children:[(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"meta-k",children:"by"}),e.review.alias]}),(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"meta-k",children:"when"}),Le(e.review.createdAt),", in ",Math.round(e.review.ms/1e3)," s"]}),(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"meta-k",children:"asked by"}),e.review.requestedBy]}),A&&(0,w.jsxs)("span",{className:"tag stale",children:["for an earlier commit ",e.review.headSha.slice(0,7)]}),e.review.status==="failed"&&(0,w.jsx)("span",{className:"tag failed",children:"failed"}),e.review.cutShort&&(0,w.jsx)("span",{className:"tag cut",children:"cut short"}),e.review.postedAt&&(0,w.jsxs)("span",{className:"tag reviewed",children:["posted as ",e.review.postedAs?.replace("-"," ")," ",Le(e.review.postedAt),e.review.postedUrl&&(0,w.jsxs)(w.Fragment,{children:[" \\xB7 ",(0,w.jsx)("a",{href:e.review.postedUrl,target:"_blank",rel:"noreferrer",children:"view"})]})]})]}),e.review.status==="done"&&(0,w.jsxs)("div",{className:"review-actions",children:[(0,w.jsxs)("select",{value:u,onChange:I=>c(I.target.value),disabled:d,"aria-label":"Post as",children:[(0,w.jsx)("option",{value:"comment",children:"as a comment"}),(0,w.jsx)("option",{value:"request-changes",children:"requesting changes"}),(0,w.jsx)("option",{value:"approve",children:"approving"})]}),(0,w.jsx)("button",{type:"button",className:e.review.postedAt?"ghost":"primary",disabled:d,onClick:()=>{p(!0),h(void 0),s(u).catch(I=>h(be(I))).finally(()=>p(!1))},children:d?"posting\\u2026":e.review.postedAt?`post again to ${Jn[r]}`:`post to ${Jn[r]}`}),f&&(0,w.jsx)("span",{className:"bad-text",children:f})]}),e.review.cutShort&&(0,w.jsx)("div",{className:"cut-short",children:e.review.cutShort}),e.review.status==="failed"?(0,w.jsx)("div",{className:"error",children:e.review.error}):(0,w.jsx)(mi,{text:e.review.text,className:"review-body"}),e.review.status==="done"&&!b&&(0,w.jsx)(rO,{review:e.review,noun:t.noun,canAsk:n.available&&!!n.alias,onAsk:l})]}):!b&&(0,w.jsx)("div",{className:"empty",children:"Not reviewed yet."}),(0,w.jsx)("h3",{className:"sub",children:"Description"}),e.body.trim()?(0,w.jsx)(mi,{text:e.body,className:"pull-body"}):(0,w.jsx)("div",{className:"empty",children:"No description."}),(0,w.jsxs)("h3",{className:"sub",children:["Files ",(0,w.jsx)("span",{className:"count",children:$(e.files.length)})]}),(0,w.jsxs)("div",{className:"turns",children:[e.files.map(I=>(0,w.jsx)(DN,{patch:I.patch??"",language:nO(I.path),title:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("span",{className:`tag file-${I.status}`,children:I.status})," ",I.previousPath?`${I.previousPath} \\u2192 `:"",I.path," ",(0,w.jsxs)("span",{className:"ins-text",children:["+",$(I.additions)]})," ",(0,w.jsxs)("span",{className:"del-text",children:["\\u2212",$(I.deletions)]}),I.truncated&&(0,w.jsx)("span",{className:"muted",children:" \\xB7 cut at 60k characters"})]})},`${I.status}:${I.path}`)),e.moreFiles>0&&(0,w.jsxs)("div",{className:"empty",children:[Fe(e.moreFiles,"more file")," not shown."]})]})]})},aO=({words:e,overview:t,base:n,apiKey:r,onChanged:i})=>{let[a,o]=(0,se.useState)(!1),[s,l]=(0,se.useState)(),{review:u}=t,c=t.repos.filter(p=>p.autoReview).length,d=async p=>{o(!0),l(void 0);try{await ne(`${n}/settings`,r,{method:"PUT",body:{reviewAlias:p}}),await i()}catch(f){l(be(f))}finally{o(!1)}};return(0,w.jsxs)("section",{className:"panel",children:[(0,w.jsxs)("div",{className:"section-heading",children:[(0,w.jsx)("h2",{children:"Reviews"}),(0,w.jsx)("span",{className:`pill-s ${!u.available||!u.alias?"bad":u.busy?"warn":"ok"}`,children:u.available?u.alias?u.busy?"reviewing":"ready":"no chat model":"unavailable"})]}),s&&(0,w.jsx)("div",{className:"error",children:s}),(0,w.jsxs)("div",{className:"newkey",children:[(0,w.jsxs)("label",{children:[(0,w.jsx)("span",{className:"muted",children:"review model"}),(0,w.jsxs)("select",{value:u.alias??"",onChange:p=>void d(p.target.value),disabled:a||u.aliases.length===0,"aria-label":"Review model",children:[u.aliases.length===0&&(0,w.jsx)("option",{value:"",children:"no chat alias is served"}),u.aliases.map(p=>(0,w.jsx)("option",{value:p,children:p},p))]})]}),(0,w.jsxs)("span",{className:"muted",children:[c===0?`No ${e.repoNoun} auto-reviews.`:`${$(c)} ${c===1?e.repoNoun:`${e.repoNoun}s`} auto-review: one ${e.noun} at a time, only while no developer request is running.`," Reviews stay on this server."]})]})]})},jN={high:"bad",medium:"warn",low:""},oO={high:0,medium:1,low:2},JN={all:"all",untriaged:"not triaged",high:"high priority",duplicates:"duplicates",unanswered:"reply pending",failed:"triage failed"},sO={unanswered:"Triaged with a suggested reply that nobody has posted yet"},Of=Object.keys(JN),UN=(e,t)=>{switch(t){case"all":return!0;case"untriaged":return!e;case"high":return e?.priority==="high";case"duplicates":return e?.duplicateOf!==void 0;case"unanswered":return e?.status==="done"&&!e.replied;case"failed":return e?.status==="failed"}},lu=[{key:"updated",label:"last updated",natural:"desc"},{key:"created",label:"opened",natural:"desc"},{key:"number",label:"number",natural:"desc"},{key:"title",label:"title",natural:"asc"},{key:"author",label:"author",natural:"asc"},{key:"comments",label:"comments",natural:"desc"},{key:"priority",label:"priority",natural:"asc"}],HN={view:"all",repo:"",author:"",label:"",age:"",sort:{key:"updated",dir:"desc"}},lO=e=>{if(typeof e!="object"||e===null)return!1;let t=e,n=t.sort;return Of.includes(t.view)&&["repo","author","label","age"].every(r=>typeof t[r]=="string")&&n!==void 0&&lu.some(r=>r.key===n.key)&&(n.dir==="asc"||n.dir==="desc")},uO=({host:e,overview:t,base:n,apiKey:r,review:i,onChanged:a})=>{let[o,s]=(0,se.useState)(null),[l,u]=(0,se.useState)(null),[c,d]=(0,se.useState)(""),[p,f]=(0,se.useState)(null),[h,v]=(0,se.useState)(),[b,g]=Ef(`twinny-server.issues.${e}`,HN,lO),[y,x]=(0,se.useState)(""),N=t.repos.filter(_=>_.issuesSupported),S=(0,se.useMemo)(()=>N.flatMap(_=>_.issues.map(m=>({repo:_,issue:m,triage:_.triage[m.number]}))),[N]),k=(0,se.useMemo)(()=>{let _=y.trim().toLowerCase();return S.filter(({repo:m})=>!b.repo||m.id===b.repo).filter(({issue:m})=>!b.author||m.author===b.author).filter(({issue:m})=>!b.label||m.labels.includes(b.label)).filter(({issue:m})=>Tf(m.updatedAt,b.age)).filter(({issue:m})=>!_||m.title.toLowerCase().includes(_)||m.author.toLowerCase().includes(_)||String(m.number)===_||m.labels.some(E=>E.toLowerCase().includes(_)))},[S,b.repo,b.author,b.label,b.age,y]),A=(0,se.useMemo)(()=>Af(k.filter(({triage:_})=>UN(_,b.view)),b.sort.dir,({issue:_,triage:m})=>{switch(b.sort.key){case"updated":return Date.parse(_.updatedAt);case"created":return Date.parse(_.createdAt);case"number":return _.number;case"title":return _.title;case"author":return _.author;case"comments":return _.comments;case"priority":return m?.priority?oO[m.priority]:void 0}}),[k,b.view,b.sort]),I=(0,se.useMemo)(()=>Object.fromEntries(Of.map(_=>[_,k.filter(({triage:m})=>UN(m,_)).length])),[k]),z=(0,se.useMemo)(()=>pa(S.map(({issue:_})=>_.author)),[S]),R=(0,se.useMemo)(()=>pa(S.flatMap(({issue:_})=>_.labels)),[S]),X=b.view!=="all"||!!(b.repo||b.author||b.label||b.age||y.trim()),B=(_,m)=>g(E=>({...E,[_]:m})),F=_=>g(m=>({...m,sort:Rf(m.sort,_,uu(lu,_))}));(0,se.useEffect)(()=>{if(!o){u(null);return}let _=!1;return u(null),ne(`${n}/repos/${o.repoId}/issues/${o.number}`,r).then(m=>{_||(u(m),d(m.triage?.reply??""))}).catch(m=>!_&&v(be(m))),()=>{_=!0}},[o,n,r]);let q=async(_,m)=>{f(_),v(void 0);try{await m(),await a()}catch(E){v(be(E))}finally{f(null)}},O=(_,m)=>q(`triage:${_}:${m}`,async()=>{let E=await ne(`${n}/repos/${_}/issues/${m}/triage`,r,{method:"POST"});o?.repoId===_&&o.number===m&&(u(D=>D&&{...D,triage:E.triage}),d(E.triage.reply))}),Y=(_,m,E)=>q(`post:${E}`,async()=>{let D=await ne(`${n}/repos/${_}/issues/${m}/triage/post`,r,{method:"POST",body:E==="reply"?{labels:!1,replyText:c}:{reply:!1}});u(C=>C&&{...C,triage:D.triage})});if(N.length===0)return null;let oe=S.filter(_=>!_.triage).length,j=S.filter(_=>_.triage?.priority==="high").length;return(0,w.jsxs)("section",{className:"panel",children:[(0,w.jsxs)("div",{className:"section-heading",children:[(0,w.jsxs)("h2",{children:["Open issues",(0,w.jsx)("span",{className:"count",children:$(A.length)})]}),(0,w.jsxs)("span",{className:"links",children:[j>0&&(0,w.jsxs)("span",{className:"pill-s bad",children:[$(j)," high priority"]}),(0,w.jsx)("span",{className:"muted",children:oe?`${$(oe)} not triaged`:"all triaged"})]})]}),h&&(0,w.jsx)("div",{className:"error",children:h}),S.length>0&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)("div",{className:"toolbar",children:[(0,w.jsx)("span",{className:"chips",role:"group","aria-label":"View",children:Of.map(_=>(0,w.jsxs)("button",{type:"button",className:b.view===_?"on":"",onClick:()=>B("view",_),title:sO[_],children:[JN[_],(0,w.jsx)("span",{className:"chip-count",children:$(I[_])})]},_))}),(0,w.jsx)("input",{type:"search",className:"search",placeholder:"title, author, label or number",value:y,onChange:_=>x(_.target.value),"aria-label":"Search issues"})]}),(0,w.jsxs)("div",{className:"toolbar filters",children:[N.length>1&&(0,w.jsx)(Fn,{label:"repository",value:b.repo,onChange:_=>B("repo",_),any:"every repository",options:N.map(_=>({value:_.id,label:_.fullName}))}),(0,w.jsx)(Fn,{label:"author",value:b.author,onChange:_=>B("author",_),any:"anyone",options:z.map(_=>({value:_,label:_}))}),R.length>0&&(0,w.jsx)(Fn,{label:"label",value:b.label,onChange:_=>B("label",_),any:"any label",options:R.map(_=>({value:_,label:_}))}),(0,w.jsx)(Fn,{label:"activity",value:b.age,onChange:_=>B("age",_),options:Cf}),X&&(0,w.jsx)("button",{type:"button",className:"link",onClick:()=>{g(_=>({...HN,sort:_.sort})),x("")},children:"clear filters"}),(0,w.jsx)("span",{className:"spacer"}),(0,w.jsxs)("label",{className:"filter sort",children:[(0,w.jsx)("span",{children:"order by"}),(0,w.jsx)("select",{value:b.sort.key,onChange:_=>B("sort",{key:_.target.value,dir:uu(lu,_.target.value)}),"aria-label":"Order issues by",children:lu.map(_=>(0,w.jsx)("option",{value:_.key,children:_.label},_.key))}),(0,w.jsx)("button",{type:"button",className:"ghost mini dir",onClick:()=>B("sort",{...b.sort,dir:b.sort.dir==="asc"?"desc":"asc"}),title:b.sort.dir==="asc"?"Ascending; click for descending":"Descending; click for ascending","aria-label":b.sort.dir==="asc"?"Ascending":"Descending",children:b.sort.dir==="asc"?"\\u2191":"\\u2193"})]})]})]}),A.length===0?(0,w.jsx)("div",{className:"empty",children:S.length===0?"No open issues.":"Nothing matches these filters."}):(0,w.jsx)("div",{className:"scroll",children:(0,w.jsxs)("table",{className:"pulls",children:[(0,w.jsx)("thead",{children:(0,w.jsxs)("tr",{children:[(0,w.jsx)(Xt,{column:"title",sort:b.sort,onSort:F,children:"issue"}),(0,w.jsx)(Xt,{column:"author",sort:b.sort,onSort:F,children:"author"}),(0,w.jsx)(Xt,{column:"priority",sort:b.sort,onSort:F,children:"triage"}),(0,w.jsx)(Xt,{column:"comments",sort:b.sort,onSort:F,className:"num",children:"comments"}),(0,w.jsx)(Xt,{column:"updated",sort:b.sort,onSort:F,children:"updated"}),(0,w.jsx)("th",{})]})}),(0,w.jsx)("tbody",{children:A.map(({repo:_,issue:m,triage:E})=>{let D=o?.repoId===_.id&&o.number===m.number,C=`${_.id}:${m.number}`;return(0,w.jsxs)(se.default.Fragment,{children:[(0,w.jsxs)("tr",{className:"pull-row",onClick:()=>s(D?null:{repoId:_.id,number:m.number}),children:[(0,w.jsxs)("td",{children:[(0,w.jsx)("div",{className:"entity-name",children:m.title}),(0,w.jsxs)("div",{className:"key-id muted",children:[N.length>1?`${_.fullName} `:"","#",m.number,m.labels.map(pe=>(0,w.jsx)("span",{className:"tag",children:pe},pe))]})]}),(0,w.jsx)("td",{children:m.author}),(0,w.jsx)("td",{children:E?E.status==="failed"?(0,w.jsx)("span",{className:"pill-s bad",children:"failed"}):(0,w.jsxs)(w.Fragment,{children:[E.priority&&(0,w.jsx)("span",{className:`pill-s ${jN[E.priority]}`,children:E.priority})," ",E.duplicateOf!==void 0&&(0,w.jsxs)("span",{className:"tag stale",children:["dup of #",E.duplicateOf]}),E.labels.map(pe=>(0,w.jsx)("span",{className:`tag ${E.labeled?"reviewed":""}`,children:pe},pe)),E.replied&&(0,w.jsx)("span",{className:"tag reviewed",children:"replied"})]}):(0,w.jsx)("span",{className:"muted",children:"\\u2013"})}),(0,w.jsx)("td",{className:`num ${m.comments?"":"muted"}`,children:$(m.comments)}),(0,w.jsx)("td",{className:"muted",title:`updated ${m.updatedAt}\nopened ${m.createdAt}`,children:Le(m.updatedAt)}),(0,w.jsx)("td",{className:"actions",onClick:pe=>pe.stopPropagation(),children:(0,w.jsx)("button",{type:"button",className:"ghost mini",disabled:p!==null||!i.alias,onClick:()=>void O(_.id,m.number),children:p===`triage:${_.id}:${m.number}`?"\\u2026":E?"triage again":"triage"})})]}),D&&(0,w.jsx)("tr",{className:"issue-detail",children:(0,w.jsx)("td",{colSpan:6,children:l?(0,w.jsxs)("div",{className:"issue-open",children:[(0,w.jsxs)("a",{href:m.url,target:"_blank",rel:"noreferrer",children:["open #",m.number," on the host"]}),l.body.trim()?(0,w.jsx)(mi,{text:l.body,className:"pull-body"}):(0,w.jsx)("div",{className:"empty",children:"No description."}),l.triage?.status==="done"&&(0,w.jsxs)("div",{className:"triage-box",children:[(0,w.jsxs)("div",{className:"review-meta",children:[(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"meta-k",children:"triaged by"}),l.triage.alias," ",Le(l.triage.createdAt)]}),l.triage.priority&&(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"meta-k",children:"priority"}),(0,w.jsx)("span",{className:`pill-s ${jN[l.triage.priority]}`,children:l.triage.priority})]}),l.triage.duplicateOf!==void 0&&(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"meta-k",children:"duplicate of"}),"#",l.triage.duplicateOf]}),l.triage.labels.length>0&&(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"meta-k",children:"labels"}),l.triage.labels.map(pe=>(0,w.jsx)("span",{className:"tag",children:pe},pe)),l.triage.labeledAt?(0,w.jsx)("span",{className:"tag reviewed",children:"applied"}):(0,w.jsx)("button",{type:"button",className:"ghost mini",disabled:p!==null,onClick:()=>void Y(_.id,m.number,"labels"),children:p==="post:labels"?"\\u2026":"apply labels"})]})]}),(0,w.jsxs)("label",{className:"config-field",children:[(0,w.jsxs)("span",{children:["reply to the reporter ",l.triage.repliedAt&&(0,w.jsxs)("em",{className:"muted",children:["(posted ",Le(l.triage.repliedAt),")"]})]}),(0,w.jsx)("textarea",{rows:4,value:c,onChange:pe=>d(pe.target.value),disabled:p!==null})]}),(0,w.jsx)("div",{className:"row-actions",children:(0,w.jsx)("button",{type:"button",className:l.triage.repliedAt?"ghost":"primary",disabled:p!==null||!c.trim(),onClick:()=>void Y(_.id,m.number,"reply"),children:p==="post:reply"?"posting\\u2026":l.triage.repliedAt?"post again":"post reply"})})]}),l.triage?.status==="failed"&&(0,w.jsx)("div",{className:"error",children:l.triage.error})]}):(0,w.jsxs)("div",{className:"skeleton-rows",children:[(0,w.jsx)("span",{className:"skeleton",style:{width:"60%",height:12}}),(0,w.jsx)("span",{className:"skeleton",style:{width:"100%",height:60}})]})})})]},C)})})]})})]})},eS=({host:e,apiKey:t})=>{let n=VL[e],r=`/twinny/v1/admin/plugins/${e}/api`,[i,a]=(0,se.useState)(null),[o,s]=(0,se.useState)(),[l,u]=Ef(`twinny-server.pulls.${e}`,BN,QL),[c,d]=(0,se.useState)(""),[p,f]=(0,se.useState)(null),[h,v]=(0,se.useState)(null),[b,g]=(0,se.useState)(),[y,x]=(0,se.useState)(!1),N=(0,se.useCallback)(async()=>{try{a(await ne(`${r}/`,t)),s(void 0)}catch(m){m instanceof Yn&&m.status===409?s(m.message):s(be(m))}},[r,t]);(0,se.useEffect)(()=>{N();let m=setInterval(()=>{document.visibilityState==="visible"&&N()},6e4);return()=>clearInterval(m)},[N]),(0,se.useEffect)(()=>{if(!p){v(null);return}let m=!1;return v(null),g(void 0),ne(`${r}/repos/${p.repoId}/pulls/${p.number}`,t).then(E=>{m||v(E)}).catch(E=>{m||g(be(E))}),()=>{m=!0}},[p,r,t]);let S=async()=>{x(!0);try{await ne(`${r}/sync`,t,{method:"POST"}),await N()}catch(m){s(be(m))}finally{x(!1)}},k=(0,se.useMemo)(()=>i?.repos.flatMap(m=>m.pulls.map(E=>({repo:m,pull:E,brief:m.reviews[E.number]})))??[],[i]),A=(0,se.useMemo)(()=>{let m=c.trim().toLowerCase();return k.filter(({repo:E})=>!l.repo||E.id===l.repo).filter(({pull:E})=>!l.author||E.author===l.author).filter(({pull:E})=>!l.label||E.labels.includes(l.label)).filter(({pull:E})=>!l.base||E.baseRef===l.base).filter(({pull:E})=>Tf(E.updatedAt,l.age)).filter(({pull:E})=>!m||E.title.toLowerCase().includes(m)||E.author.toLowerCase().includes(m)||String(E.number)===m||E.headRef.toLowerCase().includes(m)||E.labels.some(D=>D.toLowerCase().includes(m)))},[k,l.repo,l.author,l.label,l.base,l.age,c]),I=(0,se.useMemo)(()=>l.drafts?A:A.filter(({pull:m})=>!m.draft),[A,l.drafts]),z=i?.me.name,R=(0,se.useMemo)(()=>Af((l.quick==="drafts"?A:I).filter(({pull:m,brief:E})=>If(m,l.quick,E,z)),l.sort.dir,({pull:m})=>JL(m,l.sort.key)),[I,A,l.quick,l.sort,z]),X=(0,se.useMemo)(()=>Object.fromEntries(ou.map(m=>[m,(m==="drafts"?A:I).filter(({pull:E,brief:D})=>If(E,m,D,z)).length])),[I,A,z]),B=(0,se.useMemo)(()=>Object.fromEntries(ou.map(m=>[m,k.filter(({pull:E,brief:D})=>If(E,m,D,z)).length])),[k,z]),F=(0,se.useMemo)(()=>pa(k.map(({pull:m})=>m.author)),[k]),q=(0,se.useMemo)(()=>pa(k.flatMap(({pull:m})=>m.labels)),[k]),O=(0,se.useMemo)(()=>pa(k.map(({pull:m})=>m.baseRef)),[k]),Y=l.quick!=="all"||l.drafts||!!(l.repo||l.author||l.label||l.base||l.age||c.trim()),oe=l.drafts||l.quick==="drafts"?0:A.filter(({pull:m})=>m.draft).length,j=(m,E)=>u(D=>({...D,[m]:E})),_=m=>u(E=>({...E,sort:Rf(E.sort,m,uu(su,m))}));return i?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)("div",{className:"page-title",children:[(0,w.jsxs)("h2",{className:"plugin-name",children:[(0,w.jsx)(dt,{id:e,size:22}),Jn[e]]}),(0,w.jsxs)("p",{children:["Open ",n.nouns," on the ",n.repoNoun==="project"?"projects":"repositories"," this gateway watches, synced every five minutes."," ",(0,w.jsx)("button",{type:"button",className:"link",onClick:()=>void S(),disabled:y,children:y?"syncing\\u2026":"sync now"})]})]}),o&&(0,w.jsx)("div",{className:"error-bar",children:o}),(0,w.jsxs)("div",{className:"tiles",children:[(0,w.jsxs)("div",{className:"tile",children:[(0,w.jsx)("div",{className:"label",children:n.repoNoun==="project"?"projects":"repositories"}),(0,w.jsx)("div",{className:"value",children:$(i.repos.length)})]}),(0,w.jsxs)("div",{className:"tile",children:[(0,w.jsxs)("div",{className:"label",children:["open ",n.nouns]}),(0,w.jsx)("div",{className:"value",children:$(B.all)})]}),(0,w.jsxs)("div",{className:`tile ${B.failing?"bad":""}`,children:[(0,w.jsx)("div",{className:"label",children:"failing checks"}),(0,w.jsx)("div",{className:"value",children:$(B.failing)})]}),(0,w.jsxs)("div",{className:`tile ${B.conflicts?"bad":""}`,children:[(0,w.jsx)("div",{className:"label",children:"conflicts"}),(0,w.jsx)("div",{className:"value",children:$(B.conflicts)})]}),(0,w.jsxs)("div",{className:"tile",children:[(0,w.jsx)("div",{className:"label",children:"awaiting review"}),(0,w.jsx)("div",{className:"value",children:$(B.review)})]}),(0,w.jsxs)("div",{className:`tile ${B.ready?"attention":""}`,children:[(0,w.jsx)("div",{className:"label",children:"ready to merge"}),(0,w.jsx)("div",{className:"value",children:$(B.ready)})]})]}),p?h?(0,w.jsx)(iO,{detail:h,words:n,host:e,review:i.review,me:z,onBack:()=>f(null),onReview:async()=>{let m=await ne(`${r}/repos/${p.repoId}/pulls/${p.number}/review`,t,{method:"POST"});v(E=>E&&{...E,review:m.review,reviewing:!1}),N()},onPost:async m=>{let E=await ne(`${r}/repos/${p.repoId}/pulls/${p.number}/review/post`,t,{method:"POST",body:{as:m}});v(D=>D&&{...D,review:E.review}),N()},onAsk:async m=>{let E=await ne(`${r}/repos/${p.repoId}/pulls/${p.number}/review/ask`,t,{method:"POST",body:{question:m}});v(D=>D&&{...D,review:E.review})}}):(0,w.jsxs)("section",{className:"panel",children:[(0,w.jsxs)("button",{type:"button",className:"ghost mini",onClick:()=>f(null),children:["\\u2190 ",n.nouns]}),b?(0,w.jsx)("div",{className:"error",children:b}):(0,w.jsxs)("div",{className:"skeleton-rows","aria-busy":"true","aria-label":`Loading the ${n.noun}`,children:[(0,w.jsx)("span",{className:"skeleton",style:{width:"50%",height:18,marginTop:10}}),(0,w.jsx)("span",{className:"skeleton",style:{width:"70%",height:12}}),(0,w.jsx)("span",{className:"skeleton",style:{width:"100%",height:120,marginTop:8}}),(0,w.jsx)("span",{className:"skeleton",style:{width:"100%",height:180}})]})]}):(0,w.jsxs)("section",{className:"panel",children:[(0,w.jsx)("div",{className:"section-heading",children:(0,w.jsxs)("h2",{children:["Open ",n.nouns,(0,w.jsx)("span",{className:"count",children:$(R.length)})]})}),(0,w.jsxs)("div",{className:"toolbar",children:[(0,w.jsx)("span",{className:"chips",role:"group","aria-label":"View",children:ou.filter(m=>m!=="mine"||z!==void 0).map(m=>(0,w.jsxs)("button",{type:"button",className:l.quick===m?"on":"",onClick:()=>j("quick",m),title:m==="mine"?`${MN.mine} (you are ${z})`:MN[m],children:[qN[m],(0,w.jsx)("span",{className:"chip-count",children:$(X[m])})]},m))}),(0,w.jsx)("input",{type:"search",className:"search",placeholder:"title, author, branch, label or number",value:c,onChange:m=>d(m.target.value),"aria-label":"Search"})]}),(0,w.jsxs)("div",{className:"toolbar filters",children:[i.repos.length>1&&(0,w.jsx)(Fn,{label:n.repoNoun,value:l.repo,onChange:m=>j("repo",m),any:`every ${n.repoNoun}`,options:i.repos.map(m=>({value:m.id,label:m.fullName}))}),(0,w.jsx)(Fn,{label:"author",value:l.author,onChange:m=>j("author",m),any:"anyone",options:F.map(m=>({value:m,label:m}))}),q.length>0&&(0,w.jsx)(Fn,{label:"label",value:l.label,onChange:m=>j("label",m),any:"any label",options:q.map(m=>({value:m,label:m}))}),O.length>1&&(0,w.jsx)(Fn,{label:"into",value:l.base,onChange:m=>j("base",m),any:"any branch",options:O.map(m=>({value:m,label:m}))}),(0,w.jsx)(Fn,{label:"activity",value:l.age,onChange:m=>j("age",m),options:Cf}),(0,w.jsx)("button",{type:"button",className:`mini toggle ${l.drafts?"on":"ghost"}`,onClick:()=>j("drafts",!l.drafts),"aria-pressed":l.drafts,title:l.drafts?"Drafts are in the list; click to hide them":"Drafts are hidden; click to show them",children:l.drafts?"drafts shown":`drafts hidden${oe?` \\xB7 ${$(oe)}`:""}`}),Y&&(0,w.jsx)("button",{type:"button",className:"link",onClick:()=>{u(m=>({...BN,sort:m.sort})),d("")},children:"clear filters"}),(0,w.jsx)("span",{className:"spacer"}),(0,w.jsxs)("label",{className:"filter sort",children:[(0,w.jsx)("span",{children:"order by"}),(0,w.jsx)("select",{value:l.sort.key,onChange:m=>j("sort",{key:m.target.value,dir:uu(su,m.target.value)}),"aria-label":"Order by",children:su.map(m=>(0,w.jsx)("option",{value:m.key,children:m.label},m.key))}),(0,w.jsx)("button",{type:"button",className:"ghost mini dir",onClick:()=>j("sort",{...l.sort,dir:l.sort.dir==="asc"?"desc":"asc"}),title:l.sort.dir==="asc"?"Ascending; click for descending":"Descending; click for ascending","aria-label":l.sort.dir==="asc"?"Ascending":"Descending",children:l.sort.dir==="asc"?"\\u2191":"\\u2193"})]})]}),R.length===0?(0,w.jsx)("div",{className:"empty",children:k.length===0?`No open ${n.nouns}.`:oe&&A.length===oe?`Only drafts (${$(oe)}), and drafts are hidden.`:"Nothing matches these filters."}):(0,w.jsx)("div",{className:"scroll",children:(0,w.jsxs)("table",{className:"pulls",children:[(0,w.jsx)("thead",{children:(0,w.jsxs)("tr",{children:[(0,w.jsx)(Xt,{column:"title",sort:l.sort,onSort:_,children:n.noun}),(0,w.jsx)(Xt,{column:"author",sort:l.sort,onSort:_,children:"author"}),(0,w.jsx)(Xt,{column:"size",sort:l.sort,onSort:_,className:"num",title:"Lines added and removed",children:"size"}),(0,w.jsx)(Xt,{column:"checks",sort:l.sort,onSort:_,children:"checks"}),(0,w.jsx)(Xt,{column:"merge",sort:l.sort,onSort:_,children:"merge"}),(0,w.jsx)(Xt,{column:"review",sort:l.sort,onSort:_,children:"review"}),(0,w.jsx)(Xt,{column:"updated",sort:l.sort,onSort:_,children:"updated"}),(0,w.jsx)("th",{})]})}),(0,w.jsx)("tbody",{children:R.map(({repo:m,pull:E})=>(0,w.jsxs)("tr",{className:`pull-row ${XN(E,z)?"needs-me":""}`,onClick:()=>f({repoId:m.id,number:E.number}),tabIndex:0,onKeyDown:D=>D.key==="Enter"&&f({repoId:m.id,number:E.number}),children:[(0,w.jsxs)("td",{children:[(0,w.jsxs)("div",{className:"entity-name",children:[E.draft&&(0,w.jsx)("span",{className:"tag",children:"draft"})," ",E.title]}),(0,w.jsxs)("div",{className:"key-id muted pull-sub",children:[(0,w.jsxs)("span",{className:"pull-ref",children:[i.repos.length>1?`${m.fullName} `:"",n.hash,E.number]}),(0,w.jsxs)("span",{className:"pull-branches",children:[(0,w.jsx)("code",{children:E.headRef})," \\u2192 ",(0,w.jsx)("code",{children:E.baseRef})]})]}),(QN(E,z)!==void 0||E.labels.length>0)&&(0,w.jsxs)("div",{className:"pull-tags",children:[(0,w.jsx)(YN,{pull:E,me:z}),E.labels.map(D=>(0,w.jsx)("span",{className:"tag",children:D},D))]})]}),(0,w.jsx)("td",{children:E.author}),(0,w.jsx)("td",{className:"num size",title:E.changedFiles!==void 0?Fe(E.changedFiles,"file changed","files changed"):void 0,children:E.changedFiles===void 0?(0,w.jsx)("span",{className:"muted",children:"\\u2013"}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)("span",{className:"ins-text",children:["+",$(E.additions??0)]})," ",(0,w.jsxs)("span",{className:"del-text",children:["\\u2212",$(E.deletions??0)]})]})}),(0,w.jsx)("td",{children:(0,w.jsx)(fa,{tone:Pf[E.checks],title:E.checkRuns.map(D=>`${D.name}: ${D.state}`).join(`\n`),children:E.checks==="none"?"none":`${$(E.checkRuns.filter(D=>D.state==="success").length)}/${$(E.checkRuns.length)}`})}),(0,w.jsx)("td",{children:(0,w.jsx)(fa,{tone:WN[E.mergeable],children:VN[E.mergeable]})}),(0,w.jsxs)("td",{children:[(0,w.jsx)(fa,{tone:GN[E.review],children:KN[E.review]}),(0,w.jsx)(ZN,{pull:E})]}),(0,w.jsx)("td",{className:"muted",title:`updated ${E.updatedAt}\nopened ${E.createdAt}`,children:Le(E.updatedAt)}),(0,w.jsx)("td",{className:"actions",onClick:D=>D.stopPropagation(),children:(0,w.jsx)("a",{href:E.url,target:"_blank",rel:"noreferrer",className:"open-link",title:`Open ${n.hash}${E.number} on ${Jn[e]}`,onKeyDown:D=>D.stopPropagation(),children:"open \\u2197"})})]},`${m.id}:${E.number}`))})]})})]}),(0,w.jsx)(uO,{host:e,overview:i,base:r,apiKey:t,review:i.review,onChanged:N}),(0,w.jsx)(eO,{host:e,words:n,overview:i,base:r,apiKey:t,onChanged:N}),(0,w.jsx)(aO,{words:n,overview:i,base:r,apiKey:t,onChanged:N}),(0,w.jsx)(tO,{host:e,words:n,overview:i,base:r,apiKey:t,onChanged:N})]}):o?(0,w.jsx)("div",{className:"error-bar",children:o}):(0,w.jsx)(In,{tiles:5,title:(0,w.jsxs)("h2",{className:"plugin-name",children:[(0,w.jsx)(dt,{id:e,size:22}),Jn[e]]})})};var me=Z(Ie()),cO={github:{viewBox:"0 0 16 16",path:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"},backups:{viewBox:"0 0 16 16",color:"#3987e5",path:"M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 .75.75v2.5a.75.75 0 0 1-.75.75H14v6.25A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25V6h-.25A.75.75 0 0 1 1 5.25v-2.5zm1.5.75v1h11v-1h-11zM3.5 6v6.25c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V6h-9zm2.75 1.5h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5z"},gitea:{viewBox:"0 0 24 24",color:"#609926",path:"M4 5.5A1.5 1.5 0 0 1 5.5 4h10A1.5 1.5 0 0 1 17 5.5V7h2.25A2.75 2.75 0 0 1 22 9.75v1.5A3.75 3.75 0 0 1 18.25 15H17v.5A4.5 4.5 0 0 1 12.5 20h-4A4.5 4.5 0 0 1 4 15.5v-10zM17 9v4h1.25A1.75 1.75 0 0 0 20 11.25v-1.5A.75.75 0 0 0 19.25 9H17zm-9 2.5h5v-2H8v2zm0 4h5v-2H8v2z"},bitbucket:{viewBox:"0 0 24 24",color:"#2684ff",path:"M.778 1.213a.768.768 0 0 0-.768.892l3.263 19.81c.084.5.515.868 1.022.873H19.95a.772.772 0 0 0 .77-.646l3.27-20.03a.768.768 0 0 0-.768-.891zM14.52 15.53H9.522L8.17 8.466h7.561z"},discord:{viewBox:"0 0 24 24",color:"#5865f2",path:"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"},teams:{viewBox:"0 0 24 24",color:"#6264a7",path:"M14.5 3.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0zM19.5 5.5a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM3 8.75A1.75 1.75 0 0 1 4.75 7h9.5A1.75 1.75 0 0 1 16 8.75V15a4 4 0 0 1-8 0v-1H4.75A1.75 1.75 0 0 1 3 12.25v-3.5zm3 1.25v1.5h1.5V17h1.5v-5.5h1.5V10H6zm11 0h3.25c.966 0 1.75.784 1.75 1.75v3.5A3.5 3.5 0 0 1 18.5 19h-.86A5.98 5.98 0 0 0 18 15v-5z"},context:{viewBox:"0 0 16 16",color:"#9085e9",path:"M8 1.25a.75.75 0 0 1 .34.08l6 3a.75.75 0 0 1 0 1.34l-6 3a.75.75 0 0 1-.68 0l-6-3a.75.75 0 0 1 0-1.34l6-3A.75.75 0 0 1 8 1.25zM3.93 5 8 7.04 12.07 5 8 2.96 3.93 5zM1.6 8.16a.75.75 0 0 1 1-.32L8 10.54l5.4-2.7a.75.75 0 0 1 .68 1.34l-5.74 2.87a.75.75 0 0 1-.68 0L1.92 9.18a.75.75 0 0 1-.32-1.02zm0 3a.75.75 0 0 1 1-.32L8 13.54l5.4-2.7a.75.75 0 0 1 .68 1.34l-5.74 2.87a.75.75 0 0 1-.68 0l-5.74-2.87a.75.75 0 0 1-.32-1.02z"},oidc:{viewBox:"0 0 16 16",color:"#c98500",path:"M10.5 0a5.5 5.5 0 0 0-5.3 6.97L.22 11.94A.75.75 0 0 0 0 12.47V15.25c0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75V14h1.25a.75.75 0 0 0 .75-.75V12h1.25a.75.75 0 0 0 .53-.22l1.03-1.03A5.5 5.5 0 1 0 10.5 0zm0 1.5a4 4 0 1 1-1.31 7.78.75.75 0 0 0-.78.18L7.19 10.5H5.75a.75.75 0 0 0-.75.75v1.25H3.75a.75.75 0 0 0-.75.75v1.25H1.5v-1.72l5.09-5.09a.75.75 0 0 0 .18-.78A4 4 0 0 1 10.5 1.5zM12 3.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"},slack:{viewBox:"0 0 24 24",color:"#e01e5a",path:"M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"},gitlab:{viewBox:"0 0 24 24",color:"#fc6d26",path:"m23.6 9.593-.034-.086L20.3.981a.85.85 0 0 0-.336-.405.875.875 0 0 0-1 .054.875.875 0 0 0-.29.44l-2.205 6.748H7.538L5.332 1.07a.857.857 0 0 0-.29-.441.875.875 0 0 0-1-.054.859.859 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.011.009.03.021 4.976 3.727 2.462 1.863 1.5 1.132a1.009 1.009 0 0 0 1.22 0l1.5-1.132 2.461-1.863 5.006-3.749.013-.01a6.068 6.068 0 0 0 2.009-7.003z"}},dt=({id:e,size:t=16})=>{let n=cO[e];return n?(0,me.jsx)("svg",{className:"plugin-icon",width:t,height:t,viewBox:n.viewBox,"aria-hidden":"true",focusable:"false",style:n.color?{color:n.color}:void 0,children:(0,me.jsx)("path",{fill:"currentColor",d:n.path})}):null},tS=({plugins:e,licensed:t,onToggle:n,onOpen:r,onNavigate:i})=>{let[a,o]=(0,_f.useState)(null),[s,l]=(0,_f.useState)(),u=async d=>{o(d.id),l(void 0);try{await n(d.id,!d.enabled)}catch(p){l(be(p))}finally{o(null)}},c=e.filter(d=>d.enabled).length;return(0,me.jsxs)(me.Fragment,{children:[(0,me.jsxs)("div",{className:"page-title",children:[(0,me.jsx)("h2",{children:"Plugins"}),(0,me.jsxs)("p",{children:[c===0?"Nothing switched on.":`${c} of ${e.length} switched on.`," A plugin keeps its own files under the data directory and adds a page here."]})]}),!t&&(0,me.jsxs)("div",{className:"confirm-bar",children:[(0,me.jsxs)("span",{children:["Plugins are a licence feature. ",c>0?"The ones switched on are stopped until a licence is installed.":"Install a licence to switch one on."]}),(0,me.jsx)("button",{type:"button",className:"primary",onClick:()=>i("plan"),children:"Plan & licence"})]}),s&&(0,me.jsx)("div",{className:"error-bar",children:s}),(0,me.jsx)("div",{className:"plugin-grid",children:e.map(d=>(0,me.jsxs)("section",{className:`panel plugin ${d.enabled?"on":""}`,children:[(0,me.jsxs)("div",{className:"section-heading",children:[(0,me.jsxs)("h2",{className:"plugin-name",children:[(0,me.jsx)(dt,{id:d.id,size:22}),d.name]}),(0,me.jsx)("span",{className:`pill-s ${d.enabled?"ok":""}`,children:d.enabled?"on":"off"})]}),(0,me.jsx)("p",{className:"plugin-description",children:d.description}),(0,me.jsxs)("div",{className:"row-actions",children:[(0,me.jsx)("button",{type:"button",className:d.enabled?"ghost":"primary",disabled:a!==null||!t&&!d.enabled,title:!t&&!d.enabled?"Needs a licence with the plugins feature":void 0,onClick:()=>void u(d),children:a===d.id?"\\u2026":d.enabled?"switch off":"switch on"}),d.enabled&&(0,me.jsx)("button",{type:"button",className:"link",onClick:()=>r(d.id),children:"open"})]})]},d.id))})]})},In=({tiles:e=4,rows:t=5,title:n})=>(0,me.jsxs)("div",{className:"skeleton-page","aria-busy":"true","aria-label":"Loading",children:[(0,me.jsxs)("div",{className:"page-title",children:[n??(0,me.jsx)("span",{className:"skeleton",style:{width:120,height:24}}),(0,me.jsx)("span",{className:"skeleton",style:{width:360,height:14}})]}),(0,me.jsx)("div",{className:"tiles",children:Array.from({length:e},(r,i)=>(0,me.jsxs)("div",{className:"tile",children:[(0,me.jsx)("div",{className:"label",children:(0,me.jsx)("span",{className:"skeleton",style:{width:"60%",height:11}})}),(0,me.jsx)("div",{className:"value",children:(0,me.jsx)("span",{className:"skeleton",style:{width:40,height:22}})})]},i))}),(0,me.jsxs)("section",{className:"panel",children:[(0,me.jsxs)("div",{className:"section-heading",children:[(0,me.jsx)("span",{className:"skeleton",style:{width:160,height:12}}),(0,me.jsx)("span",{className:"skeleton",style:{width:220,height:24}})]}),(0,me.jsx)("div",{className:"skeleton-rows",children:Array.from({length:t},(r,i)=>(0,me.jsxs)("div",{className:"skeleton-row",children:[(0,me.jsx)("span",{className:"skeleton",style:{width:`${55-i%3*8}%`,height:13}}),(0,me.jsx)("span",{className:"skeleton",style:{width:70,height:18,borderRadius:999}}),(0,me.jsx)("span",{className:"skeleton",style:{width:84,height:18,borderRadius:999}}),(0,me.jsx)("span",{className:"skeleton",style:{width:60,height:12}})]},i))})]}),(0,me.jsxs)("section",{className:"panel",children:[(0,me.jsx)("div",{className:"section-heading",children:(0,me.jsx)("span",{className:"skeleton",style:{width:120,height:12}})}),(0,me.jsx)("div",{className:"skeleton-rows",children:Array.from({length:2},(r,i)=>(0,me.jsxs)("div",{className:"skeleton-row",children:[(0,me.jsx)("span",{className:"skeleton",style:{width:"30%",height:13}}),(0,me.jsx)("span",{className:"skeleton",style:{width:50,height:18}}),(0,me.jsx)("span",{className:"skeleton",style:{width:60,height:12}})]},i))})]})]}),nS=({id:e,apiKey:t})=>e==="github"||e==="gitlab"||e==="gitea"||e==="bitbucket"?(0,me.jsx)(eS,{host:e,apiKey:t}):e==="backups"?(0,me.jsx)($v,{apiKey:t}):e==="oidc"?(0,me.jsx)($N,{apiKey:t}):e==="context"?(0,me.jsx)(FN,{apiKey:t}):e==="slack"||e==="discord"||e==="teams"?(0,me.jsx)(zN,{host:e,apiKey:t}):(0,me.jsx)("div",{className:"empty",children:"This plugin has no page."});var ke=Z(tt());var L=Z(Ie()),$f=["chat","fim","embeddings"],ha={chat:"Chat",fim:"Autocomplete",embeddings:"Embeddings"},pO=["ok","error","cancelled"],mO=["24h","7d","30d","90d"],fO=e=>{let t=[],n,r;for(let i of e)i.route==="embeddings"&&r?.route==="embeddings"&&r.key===i.key&&r.alias===i.alias&&Date.parse(r.at)-Date.parse(i.at)<=12e4?(n||(n={kind:"run",id:r.id,calls:[r],failed:r.outcome==="error"?1:0,ms:r.ms},t[t.length-1]=n),n.calls.push(i),i.outcome==="error"&&n.failed++,n.ms+=i.ms):(n=void 0,t.push({kind:"record",record:i})),r=i;return t},Mf=({route:e})=>(0,L.jsx)("span",{className:`tag route-${e}`,children:ha[e]}),cu=({record:e})=>e.outcome==="ok"?(0,L.jsx)("span",{className:"pill-s ok",children:e.ended==="client"?"ok \\xB7 stopped":"ok"}):e.outcome==="cancelled"?(0,L.jsx)("span",{className:"pill-s warn",children:"cancelled"}):(0,L.jsx)("span",{className:"pill-s bad",children:"error"}),aS=({usage:e})=>!e||e.promptTokens===void 0&&e.completionTokens===void 0?(0,L.jsx)("span",{className:"muted",children:"\\u2013"}):(0,L.jsxs)("span",{title:`${$(e.promptTokens??0)} prompt tokens, ${$(e.completionTokens??0)} output tokens`,children:[wt(e.promptTokens??0),(0,L.jsx)("span",{className:"muted",children:" \\u2192 "}),wt(e.completionTokens??0)]}),hO=({text:e,term:t})=>{if(!t)return(0,L.jsx)(L.Fragment,{children:e});let n=e.toLowerCase().indexOf(t.toLowerCase());return n<0?(0,L.jsx)(L.Fragment,{children:e}):(0,L.jsxs)(L.Fragment,{children:[e.slice(0,n),(0,L.jsx)("mark",{children:e.slice(n,n+t.length)}),e.slice(n+t.length)]})},Df=({value:e,options:t,onChange:n,label:r})=>(0,L.jsx)("span",{className:"chips",role:"group","aria-label":r,children:t.map(i=>(0,L.jsxs)("button",{type:"button",className:i.value===e?"on":"ghost",onClick:()=>n(i.value),children:[i.label,i.count!==void 0&&(0,L.jsx)("span",{className:"chip-count",children:$(i.count)})]},i.value))}),gO=({apiKey:e,summary:t,licensed:n,onSaved:r})=>{let[i,a]=(0,ke.useState)(!1),[o,s]=(0,ke.useState)(t.settings),[l,u]=(0,ke.useState)(!1),[c,d]=(0,ke.useState)(),[p,f]=(0,ke.useState)();(0,ke.useEffect)(()=>s(t.settings),[t.settings]);let h=JSON.stringify(o)!==JSON.stringify(t.settings),v=$f.filter(g=>t.settings[g]),b=async()=>{u(!0),d(void 0),f(void 0);try{let g=await ne("/twinny/v1/admin/config",e);await ne("/twinny/v1/admin/config",e,{method:"PUT",body:{revision:g.revision,recording:{...g.recording,chat:o.chat,fim:o.fim,embeddings:o.embeddings,retentionDays:o.retentionDays}}}),f(n?"Saved. Recording applies to new requests.":"Saved. Nothing is recorded until the licence includes the recording feature."),a(!1),r()}catch(g){d(be(g))}finally{u(!1)}};return(0,L.jsxs)("section",{className:"panel settings-strip",children:[(0,L.jsxs)("div",{className:"section-heading",children:[(0,L.jsx)("h2",{children:"What is kept"}),(0,L.jsxs)("span",{className:"editor-actions",children:[(0,L.jsx)("span",{className:`pill-s ${n?"ok":"warn"}`,children:n?"licensed":"needs a licence"}),!i&&(0,L.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>a(!0),children:"change"})]})]}),i?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("fieldset",{className:"policy-rule",children:[(0,L.jsx)("legend",{children:"Requests"}),$f.map(g=>(0,L.jsxs)("label",{className:"policy-option",children:[(0,L.jsx)("input",{type:"checkbox",checked:o[g],disabled:l,onChange:y=>s({...o,[g]:y.target.checked})}),(0,L.jsxs)("span",{children:[(0,L.jsx)("b",{children:ha[g]}),(0,L.jsxs)("small",{children:[g==="chat"&&"Every message in the conversation and the reply.",g==="fim"&&"The code around the cursor and the completion.",g==="embeddings"&&"Inputs only, never vectors."]})]})]},g))]}),(0,L.jsxs)("label",{className:"config-field",style:{maxWidth:260,marginTop:12},children:[(0,L.jsx)("span",{children:"Keep records for (days)"}),(0,L.jsx)("input",{type:"number",min:1,max:3650,value:o.retentionDays,disabled:l,onChange:g=>s({...o,retentionDays:Math.max(1,Math.min(3650,Number(g.target.value)||1))})})]}),(0,L.jsxs)("div",{className:"editor-actions",style:{marginTop:12},children:[(0,L.jsx)("button",{className:"primary",disabled:!h||l,onClick:()=>void b(),children:l?"Saving\\u2026":"Save"}),(0,L.jsx)("button",{className:"ghost",disabled:l,onClick:()=>{s(t.settings),a(!1)},children:h?"Discard":"Cancel"})]})]}):(0,L.jsxs)("p",{className:"config-hint",style:{margin:0},children:[v.length?(0,L.jsxs)(L.Fragment,{children:["Recording ",(0,L.jsx)("b",{children:v.map(g=>ha[g]).join(", ")})," for ",(0,L.jsx)("b",{children:Fe(t.settings.retentionDays,"day")})]}):(0,L.jsxs)(L.Fragment,{children:["Recording is ",(0,L.jsx)("b",{children:"off"})," for every feature"]}),!n&&v.length>0&&(0,L.jsx)(L.Fragment,{children:" (saved, but nothing is kept without the licence feature)"}),". Developers see this when they connect and on their Providers tab. Stored in ",(0,L.jsx)("code",{children:t.store.kind})," at ",(0,L.jsx)("code",{children:t.store.location}),"."]}),c&&(0,L.jsx)("div",{className:"error",style:{marginTop:10},children:c}),p&&(0,L.jsx)("div",{className:"success-bar",style:{marginTop:10,marginBottom:0},children:p})]})},yO=e=>typeof e=="string"?e:JSON.stringify(e,null,2),vO=(e,t=110)=>{let n=e.trim().split(`\n`)[0]??"";return n.length>t?`${n.slice(0,t)}\\u2026`:n},Ff=({text:e,raw:t,language:n})=>t||n?(0,L.jsx)(pi,{code:e,language:n??"markdown",bare:!0,wrap:!0}):(0,L.jsx)(mi,{text:e}),bO=({record:e,raw:t})=>{let n=e.request??{},r=e.response??{},i=Array.isArray(n.messages)?n.messages:[],a=typeof r.content=="string"?r.content:"";return(0,L.jsxs)("div",{className:"turns",children:[i.map((o,s)=>{let l=yO(o.content),u=typeof o.content!="string";return o.role==="system"?(0,L.jsxs)("details",{className:"turn system",children:[(0,L.jsxs)("summary",{children:[(0,L.jsx)("span",{className:"role",children:"system"}),(0,L.jsx)("span",{className:"muted summary-text",children:vO(l)}),(0,L.jsxs)("span",{className:"muted summary-len",children:[wt(l.length)," chars"]})]}),(0,L.jsx)("div",{className:"turn-body",children:(0,L.jsx)(Ff,{text:l,raw:t,language:u?"json":void 0})})]},s):(0,L.jsxs)("div",{className:`turn ${o.role??""}`,children:[(0,L.jsxs)("div",{className:"turn-head",children:[(0,L.jsx)("span",{className:"role",children:o.role??"?"}),(0,L.jsx)(_n,{text:l})]}),(0,L.jsx)("div",{className:"turn-body",children:(0,L.jsx)(Ff,{text:l,raw:t,language:u?"json":void 0})})]},s)}),(0,L.jsxs)("div",{className:"turn assistant reply",children:[(0,L.jsxs)("div",{className:"turn-head",children:[(0,L.jsxs)("span",{className:"role",children:["assistant \\xB7 ",(0,L.jsx)(cu,{record:e})]}),a&&(0,L.jsx)(_n,{text:a})]}),(0,L.jsx)("div",{className:"turn-body",children:a?(0,L.jsx)(Ff,{text:a,raw:t}):(0,L.jsx)("div",{className:"muted",children:e.outcome==="ok"?"The reply was empty.":"No reply was produced."})})]})]})},zf=24,rS=(e,t)=>{let n=0;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n},kO=({record:e})=>{let t=e.request??{},n=e.response??{},r=typeof t.prefix=="string"?t.prefix:String(t.prompt??""),i=typeof t.suffix=="string"?t.suffix:"",a=String(n.text??""),o=typeof t.prefix=="string"&&typeof t.prompt=="string"?t.prompt:void 0,[s,l]=(0,ke.useState)(!1),u=`${r}${a}${i}`,c=(0,ke.useMemo)(()=>xf(u),[u]),d={start:r.length,end:r.length+a.length},p=u.split(`\n`);p.length>1&&p[p.length-1]===""&&p.pop();let f=rS(u,a.startsWith(`\n`)?d.start+1:d.start),h=rS(u,Math.max(d.start,d.end-1)),v=s?0:Math.max(0,f-zf),b=s?p.length-1:Math.min(p.length-1,h+zf),g=v===0?0:p.slice(0,v).join(`\n`).length+1,y=p.slice(v,b+1).join(`\n`),x=v,N=p.length-1-b,S=a?h-f+1:0;return(0,L.jsxs)("div",{className:"turns",children:[(0,L.jsxs)("div",{className:"code listing fim",children:[(0,L.jsxs)("div",{className:"code-bar",children:[(0,L.jsxs)("span",{className:"code-lang",children:[c==="text"?"code":c,(0,L.jsx)("span",{className:"muted",children:" \\xB7 "}),a?(0,L.jsxs)(L.Fragment,{children:["completion of ",wt(a.length)," chars on ",S===1?`line ${f+1}`:`lines ${f+1}\\u2013${h+1}`]}):(0,L.jsxs)("span",{className:"muted",children:[e.outcome==="ok"?"empty completion":"no completion"," at line ",f+1]}),(0,L.jsx)("span",{className:"muted",children:" \\xB7 "}),(0,L.jsx)(cu,{record:e}),e.ended==="client"&&(0,L.jsx)("span",{className:"muted",children:" \\xB7 the editor stopped reading here"})]}),(0,L.jsxs)("span",{className:"code-actions",children:[(x>0||N>0||s)&&(0,L.jsx)("button",{type:"button",className:"mini ghost",onClick:()=>l(!s),children:s?`${zf} lines around the completion`:`show all ${$(p.length)} lines`}),a&&(0,L.jsx)(_n,{text:a,label:"copy completion"}),(0,L.jsx)(_n,{text:u,label:"copy file"})]})]}),x>0&&(0,L.jsxs)("div",{className:"fim-fold",children:[Fe(x,"line")," above"]}),(0,L.jsx)(_N,{code:y,language:c,insert:{start:d.start-g,end:d.end-g},startingLineNumber:v+1}),N>0&&(0,L.jsxs)("div",{className:"fim-fold below",children:[Fe(N,"line")," below"]})]}),o&&(0,L.jsxs)("details",{className:"advanced-fields",style:{margin:"4px 0 0"},children:[(0,L.jsxs)("summary",{children:["The prompt as sent to the model, template applied (",wt(o.length)," chars)"]}),(0,L.jsx)("div",{style:{marginTop:8},children:(0,L.jsx)(pi,{code:o,language:"text",title:"templated prompt",wrap:!0})})]})]})},wO=({record:e})=>{let t=e.request??{},n=e.response??{},r=Array.isArray(t.input)?t.input:[t.input],i=Number(n.count??0);return(0,L.jsxs)("div",{className:"turns",children:[r.map((a,o)=>(0,L.jsx)(pi,{code:String(a??""),language:xf(String(a??"")),title:`input ${o+1} of ${r.length}`,wrap:!0},o)),(0,L.jsxs)("div",{className:"muted",children:[Fe(i,"vector")," of ",$(Number(n.dimensions??0))," dimensions returned. Vectors are never kept."]})]})},xO=({record:e,index:t,total:n,onStep:r,onClose:i})=>{let[a,o]=(0,ke.useState)(!1),s=(0,ke.useRef)(null);(0,ke.useEffect)(()=>{s.current?.scrollIntoView({block:"start",behavior:"smooth"})},[e.id]);let l=(0,ke.useMemo)(()=>JSON.stringify(e,null,2),[e]);return(0,L.jsxs)("section",{className:"panel record",ref:s,"aria-label":"Opened record",children:[(0,L.jsxs)("div",{className:"section-heading",children:[(0,L.jsxs)("h2",{className:"record-title",children:[(0,L.jsx)(Mf,{route:e.route}),(0,L.jsx)("b",{children:e.key}),(0,L.jsxs)("span",{className:"muted",title:e.at,children:[Gr(e.at)," UTC \\xB7 ",Le(e.at)]})]}),(0,L.jsxs)("span",{className:"editor-actions",children:[(0,L.jsxs)("span",{className:"muted",children:[t+1," of ",$(n)]}),(0,L.jsx)("button",{type:"button",className:"ghost mini",disabled:t<=0,onClick:()=>r(-1),title:"Newer (\\u2191 / k)",children:"\\u2191 newer"}),(0,L.jsx)("button",{type:"button",className:"ghost mini",disabled:t>=n-1,onClick:()=>r(1),title:"Older (\\u2193 / j)",children:"\\u2193 older"}),e.route==="chat"&&(0,L.jsxs)("span",{className:"chips",role:"group","aria-label":"View as",children:[(0,L.jsx)("button",{type:"button",className:a?"ghost":"on",onClick:()=>o(!1),children:"rendered"}),(0,L.jsx)("button",{type:"button",className:a?"on":"ghost",onClick:()=>o(!0),children:"raw"})]}),(0,L.jsx)(_n,{text:l,label:"copy JSON"}),(0,L.jsx)("button",{type:"button",className:"ghost mini",onClick:i,title:"Close (Esc)",children:"close"})]})]}),(0,L.jsxs)("div",{className:"meta",children:[(0,L.jsxs)("span",{children:[(0,L.jsx)("span",{className:"meta-k",children:"model"}),e.model??e.alias,e.model&&e.model!==e.alias&&(0,L.jsxs)("span",{className:"muted",children:[" as ",e.alias]})]}),e.provider&&(0,L.jsxs)("span",{children:[(0,L.jsx)("span",{className:"meta-k",children:"provider"}),e.provider]}),(0,L.jsxs)("span",{children:[(0,L.jsx)("span",{className:"meta-k",children:"outcome"}),(0,L.jsx)(cu,{record:e})]}),(0,L.jsxs)("span",{children:[(0,L.jsx)("span",{className:"meta-k",children:"took"}),Lt(e.ms)]}),(0,L.jsxs)("span",{children:[(0,L.jsx)("span",{className:"meta-k",children:"tokens"}),(0,L.jsx)(aS,{usage:e.usage})]}),(0,L.jsxs)("span",{children:[(0,L.jsx)("span",{className:"meta-k",children:"id"}),(0,L.jsx)("span",{className:"muted",children:e.id})]})]}),e.route==="chat"?(0,L.jsx)(bO,{record:e,raw:a}):e.route==="fim"?(0,L.jsx)(kO,{record:e}):(0,L.jsx)(wO,{record:e})]})},iS=({record:e,selected:t,now:n,term:r,onOpen:i,nested:a})=>(0,L.jsxs)("tr",{className:`${t?"selected":""} ${a?"nested":""}`,onClick:()=>void i(e.id),tabIndex:0,onKeyDown:o=>o.key==="Enter"&&void i(e.id),children:[(0,L.jsx)("td",{className:"muted",title:`${Gr(e.at)} UTC`,children:Le(e.at,n)}),(0,L.jsx)("td",{children:e.key}),(0,L.jsx)("td",{children:(0,L.jsx)(Mf,{route:e.route})}),(0,L.jsx)("td",{className:"muted",children:e.model??e.alias}),(0,L.jsx)("td",{children:(0,L.jsx)(cu,{record:e})}),(0,L.jsx)("td",{className:"num",children:Lt(e.ms)}),(0,L.jsx)("td",{className:"num",children:(0,L.jsx)(aS,{usage:e.usage})}),(0,L.jsx)("td",{className:"preview",children:(0,L.jsx)(hO,{text:e.preview,term:r})})]}),oS=({apiKey:e,features:t})=>{let[n,r]=(0,ke.useState)(""),[i,a]=(0,ke.useState)(""),[o,s]=(0,ke.useState)(""),[l,u]=(0,ke.useState)("7d"),[c,d]=(0,ke.useState)(""),[p,f]=(0,ke.useState)(""),[h,v]=(0,ke.useState)(null),[b,g]=(0,ke.useState)([]),[y,x]=(0,ke.useState)(null),[N,S]=(0,ke.useState)(),[k,A]=(0,ke.useState)(!1),[I,z]=(0,ke.useState)(!1),[R,X]=(0,ke.useState)(null),[B,F]=(0,ke.useState)(()=>Date.now()),q=t.includes("recording");(0,ke.useEffect)(()=>{let te=window.setTimeout(()=>f(c.trim()),300);return()=>window.clearTimeout(te)},[c]);let O=(0,ke.useCallback)(()=>{let te=new URLSearchParams;return n&&te.set("route",n),i&&te.set("outcome",i),o&&te.set("key",o),te.set("since",l),p&&te.set("q",p),te.set("limit","200"),te},[n,i,o,l,p]),Y=(0,ke.useRef)(0),oe=(0,ke.useCallback)(async()=>{A(!0),S(void 0),Y.current=0;try{v(await ne(`/twinny/v1/admin/recordings?${O().toString()}`,e)),g([]),F(Date.now())}catch(te){S(te instanceof Yn&&te.status===503?"This gateway was started without recording support.":be(te))}finally{A(!1)}},[e,O]);(0,ke.useEffect)(()=>{oe()},[oe]);let j=(0,ke.useMemo)(()=>h?[...h.records,...b]:[],[h,b]),_=(0,ke.useMemo)(()=>fO(j),[j]),[m,E]=(0,ke.useState)(()=>new Set),D=te=>E(Ee=>{let _e=new Set(Ee);return _e.has(te)?_e.delete(te):_e.add(te),_e}),C=y?j.findIndex(te=>te.id===y.id):-1,pe=async()=>{let te=h?.nextBefore;if(!(!te||I)){z(!0);try{let Ee=O();Ee.set("before",te);let _e=await ne(`/twinny/v1/admin/recordings?${Ee.toString()}`,e);g(Ct=>[...Ct,..._e.records]),v(Ct=>Ct&&{...Ct,nextBefore:_e.nextBefore})}catch(Ee){S(be(Ee))}finally{z(!1)}}};(0,ke.useEffect)(()=>{!h?.nextBefore||I||k||_.length>=15||Y.current>=3||(Y.current++,pe())},[_,h,I,k]);let Ne=(0,ke.useCallback)(async te=>{try{x(await ne(`/twinny/v1/admin/recordings/${te}`,e))}catch(Ee){S(be(Ee))}},[e]),ee=(0,ke.useCallback)(te=>{if(C<0)return;let Ee=j[C+te];Ee&&Ne(Ee.id)},[C,j,Ne]);(0,ke.useEffect)(()=>{if(!y)return;let te=Ee=>{let _e=Ee.target;_e&&/^(INPUT|TEXTAREA|SELECT)$/.test(_e.tagName)||(Ee.key==="ArrowDown"||Ee.key==="j"?(Ee.preventDefault(),ee(1)):Ee.key==="ArrowUp"||Ee.key==="k"?(Ee.preventDefault(),ee(-1)):Ee.key==="Escape"&&x(null))};return window.addEventListener("keydown",te),()=>window.removeEventListener("keydown",te)},[y,ee]);let ue=async te=>{X(te);try{let Ee=O();Ee.set("format",te);let _e=await fetch(`/twinny/v1/admin/recordings/export?${Ee.toString()}`,{headers:{Authorization:`Bearer ${e}`}});if(!_e.ok)throw new Error(`The gateway answered ${_e.status}.`);let Ct=await _e.blob(),Tt=URL.createObjectURL(Ct),gi=document.createElement("a");gi.href=Tt,gi.download=`twinny-recordings-${n||"all"}-${te}.jsonl`,gi.click(),setTimeout(()=>URL.revokeObjectURL(Tt),1e4)}catch(Ee){S(be(Ee))}finally{X(null)}},ge=!!(n||i||o||p),pt=()=>{r(""),a(""),s(""),d(""),f("")},et=h?.summary.active??[],Zt=(0,ke.useMemo)(()=>{let te={},Ee={};for(let _e of _){let Ct=_e.kind==="run"?"embeddings":_e.record.route,Tt=_e.kind==="run"?_e.failed?"error":"ok":_e.record.outcome;te[Ct]=(te[Ct]??0)+1,Ee[Tt]=(Ee[Tt]??0)+1}return{byRoute:te,byOutcome:Ee}},[_]),zn=_.filter(te=>te.kind==="run").length,hi=q||j.length>0||ge;return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{className:"page-title",children:[(0,L.jsx)("h2",{children:"Recordings"}),(0,L.jsx)("p",{children:h?et.length?`${Fe(h.summary.store.count,"record")} kept. Recording ${et.map(te=>ha[te]).join(", ")} now.`:`${Fe(h.summary.store.count,"record")} kept. Nothing is being recorded now.`:"The content of requests, for review and for training data."})]}),N&&(0,L.jsx)("div",{className:"error-bar",children:N}),(0,L.jsxs)("section",{className:"panel",children:[(0,L.jsxs)("div",{className:"section-heading",children:[(0,L.jsxs)("h2",{children:["Records",h&&(0,L.jsxs)("span",{className:"count",children:[$(_.length),h.nextBefore?"+":""," shown",zn?` \\xB7 ${Fe(zn,"indexing run")} folded`:""]})]}),(0,L.jsxs)("span",{className:"editor-actions",children:[hi&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("button",{className:"ghost mini",disabled:!!R||!j.length,onClick:()=>void ue("training"),title:"Successful, complete examples as prompt/completion JSON lines",children:R==="training"?"exporting\\u2026":"export training data"}),(0,L.jsx)("button",{className:"ghost mini",disabled:!!R||!j.length,onClick:()=>void ue("raw"),title:"Every matching record as stored",children:R==="raw"?"exporting\\u2026":"export raw"})]}),(0,L.jsx)("button",{className:"ghost mini",disabled:k,onClick:()=>void oe(),children:k?"\\u2026":"refresh"})]})]}),hi&&(0,L.jsxs)("div",{className:"toolbar",children:[(0,L.jsx)(Df,{label:"Feature",value:n,onChange:r,options:[{value:"",label:"All"},...$f.map(te=>({value:te,label:ha[te],count:n===""?Zt.byRoute[te]??0:void 0}))]}),(0,L.jsx)(Df,{label:"Outcome",value:i,onChange:a,options:[{value:"",label:"Any outcome"},...pO.map(te=>({value:te,label:te,count:i===""?Zt.byOutcome[te]??0:void 0}))]}),(0,L.jsxs)("select",{"aria-label":"Developer",value:o,onChange:te=>s(te.target.value),children:[(0,L.jsx)("option",{value:"",children:"Everyone"}),(h?.keys??[]).map(te=>(0,L.jsx)("option",{value:te,children:te},te))]}),(0,L.jsx)(Df,{label:"Period",value:l,onChange:u,options:mO.map(te=>({value:te,label:te}))}),(0,L.jsx)("input",{className:"search",type:"search",placeholder:"search prompts and replies",value:c,onChange:te=>d(te.target.value),"aria-label":"Search"}),ge&&(0,L.jsx)("button",{type:"button",className:"ghost mini",onClick:pt,children:"clear filters"})]}),j.length?(0,L.jsx)("div",{className:"scroll",children:(0,L.jsxs)("table",{className:"rows",children:[(0,L.jsx)("thead",{children:(0,L.jsxs)("tr",{children:[(0,L.jsx)("th",{children:"When"}),(0,L.jsx)("th",{children:"Who"}),(0,L.jsx)("th",{children:"Feature"}),(0,L.jsx)("th",{children:"Model"}),(0,L.jsx)("th",{children:"Outcome"}),(0,L.jsx)("th",{className:"num",children:"Took"}),(0,L.jsx)("th",{className:"num",children:"Tokens"}),(0,L.jsx)("th",{children:"Content"})]})}),(0,L.jsx)("tbody",{children:_.map(te=>{if(te.kind==="record")return(0,L.jsx)(iS,{record:te.record,selected:y?.id===te.record.id,now:B,term:p,onOpen:Ne},te.record.id);let Ee=te.calls[0],_e=m.has(te.id),Ct=!!y&&te.calls.some(Tt=>Tt.id===y.id);return(0,L.jsxs)(ke.default.Fragment,{children:[(0,L.jsxs)("tr",{className:`run ${Ct&&!_e?"selected":""}`,onClick:()=>D(te.id),tabIndex:0,onKeyDown:Tt=>Tt.key==="Enter"&&D(te.id),"aria-expanded":_e,title:_e?"Fold the run":"Show each call",children:[(0,L.jsxs)("td",{className:"muted",title:`${Gr(te.calls[te.calls.length-1].at)} \\u2013 ${Gr(Ee.at)} UTC`,children:[(0,L.jsx)("span",{className:"caret",children:_e?"\\u25BE":"\\u25B8"}),Le(Ee.at,B)]}),(0,L.jsx)("td",{children:Ee.key}),(0,L.jsx)("td",{children:(0,L.jsx)(Mf,{route:"embeddings"})}),(0,L.jsx)("td",{className:"muted",children:Ee.model??Ee.alias}),(0,L.jsx)("td",{children:te.failed?(0,L.jsxs)("span",{className:"pill-s bad",children:[Fe(te.failed,"call")," failed"]}):(0,L.jsx)("span",{className:"pill-s ok",children:"ok"})}),(0,L.jsx)("td",{className:"num",children:Lt(te.ms)}),(0,L.jsx)("td",{className:"num muted",children:"\\u2013"}),(0,L.jsxs)("td",{className:"preview",children:[(0,L.jsx)("b",{children:"Indexing run"})," \\xB7 ",Fe(te.calls.length,"call")]})]}),_e&&te.calls.map(Tt=>(0,L.jsx)(iS,{record:Tt,selected:y?.id===Tt.id,now:B,term:p,onOpen:Ne,nested:!0},Tt.id))]},te.id)})})]})}):(0,L.jsx)("div",{className:"empty",children:h?ge?(0,L.jsxs)(L.Fragment,{children:["Nothing matches these filters in the last ",l,"."," ",(0,L.jsx)("button",{type:"button",className:"link",onClick:pt,children:"Clear them"}),"."]}):et.length?`No records in the last ${l}. Recorded requests appear here as developers use ${et.map(te=>ha[te].toLowerCase()).join(" and ")}.`:q?"Nothing is being recorded. Switch a feature on under \\u201CWhat is kept\\u201D below.":"Recording needs a licence with the recording feature. Settings below are saved but nothing is kept until one is installed under Plan & licence.":k?"Loading\\u2026":""}),h?.nextBefore&&(0,L.jsxs)("div",{className:"editor-actions",style:{marginTop:10},children:[(0,L.jsx)("button",{className:"ghost",disabled:I,onClick:()=>void pe(),children:I?"loading\\u2026":"load older"}),(0,L.jsx)("span",{className:"muted",children:"Click a row to open it. \\u2191 \\u2193 move between records, Esc closes."})]}),!h?.nextBefore&&j.length>0&&(0,L.jsx)("div",{className:"hint",children:"Click a row to open it. \\u2191 \\u2193 move between records, Esc closes."})]}),y&&(0,L.jsx)(xO,{record:y,index:C,total:j.length,onStep:ee,onClose:()=>x(null)}),h&&(0,L.jsx)(gO,{apiKey:e,summary:h.summary,licensed:q,onSaved:()=>void oe()})]})};var J=Z(Ie()),NO=["24h","7d","30d"],Bf="twinny-server.admin-key",sS="twinny-server.admin-view",du=document.documentElement.dataset.demo==="1",fi="demo",cS=["var(--s1)","var(--s2)","var(--s3)","var(--s4)","var(--s5)","var(--s6)"],SO=cS.length,EO=new Set(["overview","usage","people","models"]),jf=e=>e==="overview"||e==="usage"||e==="people"||e==="policy"||e==="recordings"||e==="audit"||e==="models"||e==="plan"||e==="plugins"||typeof e=="string"&&/^plugin:[a-z][a-z0-9-]{1,31}$/.test(e),CO=()=>{let[e,t]=(0,Oe.useState)(null),[n,r]=(0,Oe.useState)(!1),[i,a]=(0,Oe.useState)(),o=async()=>{r(!0);try{let s=await ne("/twinny/v1/demo/invite",fi,{method:"POST"});t(s),a(void 0),window.location.href=co(window.location.origin,s.code)}catch(s){a(be(s))}finally{r(!1)}};return(0,J.jsxs)("div",{className:"demo-bar",children:[(0,J.jsxs)("span",{children:[(0,J.jsx)("b",{children:"Live demo."})," A real twinny-server with real models behind it. You are looking at the admin page read-only: changes are switched off."]}),(0,J.jsx)("span",{className:"spacer"}),e?(0,J.jsxs)("span",{children:["VS Code should be opening as ",(0,J.jsx)("b",{children:e.name}),", a guest for ",$(e.guestMinutes)," minutes. ",(0,J.jsx)("a",{href:co(window.location.origin,e.code),children:"Open again"})]}):(0,J.jsx)("button",{className:"primary",onClick:()=>void o(),disabled:n,title:"Needs the Twinny extension installed in VS Code",children:n?"\\u2026":"Try it in VS Code"}),i&&(0,J.jsx)("span",{className:"demo-error",children:i})]})},TO=({onKey:e,error:t})=>{let[n,r]=(0,Oe.useState)("");return(0,J.jsx)("main",{className:"signin",children:(0,J.jsxs)("section",{className:"card",children:[(0,J.jsxs)("h1",{children:["twinny",(0,J.jsx)("span",{children:"-server"})]}),(0,J.jsx)("p",{children:"Sign in with an admin key."}),(0,J.jsxs)("form",{onSubmit:a=>{a.preventDefault(),n.trim()&&e(n.trim())},children:[(0,J.jsx)("input",{type:"password",autoFocus:!0,placeholder:"tsk_\\u2026",value:n,onChange:a=>r(a.target.value),"aria-label":"Admin key"}),(0,J.jsx)("button",{type:"submit",className:"primary",children:"Open"})]}),t&&(0,J.jsx)("div",{className:"error",children:t}),(0,J.jsxs)("div",{className:"hint",children:["Make one on the server: ",(0,J.jsx)("code",{children:"twinny-server keys create you --admin"}),". The key stays in this tab."]}),du&&(0,J.jsx)("div",{className:"hint",children:(0,J.jsx)("button",{type:"button",className:"ghost",onClick:()=>e(fi),children:"Back to the demo"})})]})})},AO=()=>{let[e,t]=(0,Oe.useState)(()=>{try{return sessionStorage.getItem(Bf)??(du?fi:null)}catch{return du?fi:null}}),[n,r]=(0,Oe.useState)(null),[i,a]=(0,Oe.useState)("7d"),[o,s]=(0,Oe.useState)(null),[l,u]=(0,Oe.useState)(),[c,d]=(0,Oe.useState)(),[p,f]=(0,Oe.useState)(!1),[h,v]=(0,Oe.useState)(()=>{try{let E=location.hash.replace(/^#/,"");if(jf(E))return E;let D=sessionStorage.getItem(sS);return jf(D)?D:"overview"}catch{return"overview"}}),[b,g]=(0,Oe.useState)(0),[y,x]=(0,Oe.useState)(null),N=(0,Oe.useCallback)(E=>{v(E);try{sessionStorage.setItem(sS,E),history.replaceState(null,"",`#${E}`)}catch{}},[]);(0,Oe.useEffect)(()=>{let E=()=>{let D=location.hash.replace(/^#/,"");jf(D)&&v(D)};return window.addEventListener("hashchange",E),()=>window.removeEventListener("hashchange",E)},[]);let S=(0,Oe.useCallback)(()=>{try{sessionStorage.removeItem(Bf)}catch{}t(null),r(null),s(null)},[]);(0,Oe.useEffect)(()=>{if(!e)return;let E=!1;return ne("/twinny/v1/whoami",e).then(D=>{if(!E){if(!D.admin){d(`"${D.key}" is not an admin key. Create one with --admin.`),S();return}d(void 0),r(D);try{e!==fi&&sessionStorage.setItem(Bf,e)}catch{}}}).catch(D=>{E||(d(be(D)),S())}),()=>{E=!0}},[e,S]);let k=(0,Oe.useCallback)(async()=>{if(!(!e||!n)){f(!0);try{let[E,D,C,pe]=await Promise.all([ne("/twinny/v1/status",e),ne(`/twinny/v1/admin/usage?since=${i}`,e),ne("/twinny/v1/admin/keys",e),ne("/twinny/v1/admin/plugins",e).catch(()=>({plugins:[],licensed:!1}))]);s({status:E,usage:D,keys:C,plugins:pe.plugins,pluginsLicensed:pe.licensed}),x(Date.now()),u(void 0)}catch(E){if(E instanceof Yn&&(E.status===401||E.status===403)){d(E.message),S();return}u(be(E))}finally{f(!1)}}},[e,n,i,S]);(0,Oe.useEffect)(()=>{k()},[k]),(0,Oe.useEffect)(()=>{if(!n)return;let E=setInterval(()=>{document.visibilityState==="visible"&&k()},6e4);return()=>clearInterval(E)},[n,k]);let A=(0,Oe.useCallback)(async(E,D,C=!1)=>{if(!e)throw new Error("Not signed in.");let pe=await ne("/twinny/v1/admin/keys",e,{method:"POST",body:{name:E,admin:D,...C?{readOnly:!0}:{}}});return await k(),pe},[e,k]),I=(0,Oe.useCallback)(async E=>{if(!e)throw new Error("Not signed in.");await ne(`/twinny/v1/admin/keys/${E}/revoke`,e,{method:"POST"}),await k()},[e,k]),z=(0,Oe.useCallback)(async E=>{if(!e)throw new Error("Not signed in.");await ne("/twinny/v1/admin/license",e,{method:"PUT",body:{token:E}}),await k()},[e,k]),R=(0,Oe.useCallback)(async(E,D)=>{if(!e)throw new Error("Not signed in.");await ne(`/twinny/v1/admin/plugins/${E}/${D?"enable":"disable"}`,e,{method:"POST"}),await k()},[e,k]),X=(0,Oe.useCallback)(async()=>{if(!e)throw new Error("Not signed in.");await ne("/twinny/v1/admin/license",e,{method:"DELETE"}),await k()},[e,k]),B=(0,Oe.useMemo)(()=>o?Object.entries(o.usage.byKey).sort((D,C)=>C[1].requests-D[1].requests||D[0].localeCompare(C[0])).map(([D])=>D).slice(0,SO).map((D,C)=>({name:D,color:cS[C]})):[],[o]),F=E=>B.find(D=>D.name===E)?.color??ul;if(!e||!n)return(0,J.jsx)(TO,{onKey:t,error:c});let q=o?.status.backends.filter(E=>!E.ok)??[],O=o?.keys.plan,Y=!!O&&O.status!=="free"&&O.status!=="licensed",oe=O?.features??[],j=(E,D)=>(0,J.jsx)("button",{className:h===E?"on":"",onClick:()=>N(E),"aria-current":h===E?"page":void 0,children:D},E),_=o?.plugins.filter(E=>E.enabled)??[],m=h.startsWith("plugin:")?h.slice(7):void 0;return(0,J.jsxs)("div",{className:"app",children:[(0,J.jsxs)("header",{className:"top",children:[(0,J.jsxs)("h1",{children:["twinny",(0,J.jsx)("span",{children:"-server"})]}),o&&(0,J.jsxs)("button",{type:"button",className:`pill ${q.length?"bad":"ok"}`,onClick:()=>N("overview"),title:"Live backend checks; open the overview",children:[(0,J.jsx)("i",{}),q.length?`${q.length} of ${o.status.backends.length} backends down: ${q.map(E=>E.provider).join(", ")}`:`${o.status.backends.length} backend${o.status.backends.length===1?"":"s"} answering`]}),(0,J.jsx)("span",{className:"spacer"}),EO.has(h)&&(0,J.jsx)("span",{className:"chips",role:"group","aria-label":"Period",children:NO.map(E=>(0,J.jsx)("button",{className:E===i?"on":"ghost",onClick:()=>a(E),children:E},E))}),(0,J.jsx)("button",{className:"ghost",onClick:()=>void k(),disabled:p,title:y?`Refreshed ${new Date(y).toLocaleTimeString()}; refreshes itself every minute`:void 0,children:p?"\\u2026":"refresh"}),(0,J.jsx)("span",{className:"who",title:"Signed in with this admin key",children:n.key}),(0,J.jsx)("button",{className:"ghost",onClick:S,children:e===fi?"admin sign in":"sign out"})]}),du&&e===fi&&(0,J.jsx)(CO,{}),(0,J.jsxs)("div",{className:"shell",children:[(0,J.jsxs)("nav",{className:"sidenav","aria-label":"Admin sections",children:[(0,J.jsx)("div",{className:"group",children:"Monitor"}),j("overview",(0,J.jsxs)(J.Fragment,{children:["Overview",q.length>0&&(0,J.jsx)("span",{className:"badge bad",children:$(q.length)})]})),j("usage","Usage"),(0,J.jsx)("div",{className:"group",children:"Team"}),j("people",(0,J.jsxs)(J.Fragment,{children:["People",b>0&&(0,J.jsx)("span",{className:"badge",children:$(b)})]})),j("policy","Policy"),j("recordings","Recordings"),j("audit","Audit log"),(0,J.jsx)("div",{className:"group",children:"Gateway"}),j("models","Providers & models"),j("plan",(0,J.jsxs)(J.Fragment,{children:["Plan & licence",Y&&(0,J.jsx)("span",{className:"badge bad",children:"!"})]})),(0,J.jsx)("div",{className:"group",children:"Plugins"}),j("plugins",(0,J.jsxs)(J.Fragment,{children:["Store",_.length>0&&(0,J.jsx)("span",{className:"badge",children:$(_.length)})]})),_.map(E=>j(`plugin:${E.id}`,(0,J.jsxs)("span",{className:"nav-plugin",children:[(0,J.jsx)(dt,{id:E.id,size:14}),E.name]})))]}),(0,J.jsxs)("div",{className:"main",children:[l&&(0,J.jsx)("div",{className:"error-bar",children:l}),!o&&!l&&(0,J.jsx)("div",{className:"loading",children:"Loading\\u2026"}),(0,J.jsx)("div",{hidden:h!=="recordings",children:h==="recordings"&&(0,J.jsx)(oS,{apiKey:e,features:oe})}),(0,J.jsx)("div",{hidden:h!=="audit",children:h==="audit"&&(0,J.jsx)(Tv,{apiKey:e})}),(0,J.jsx)("div",{hidden:h!=="models"&&h!=="policy",children:(0,J.jsx)(Av,{apiKey:e,onSaved:()=>void k(),features:oe,section:h==="policy"?"policy":"models",status:o?.status,usage:o?.usage,period:i,onNavigate:N})}),o&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)("div",{hidden:h!=="overview",children:(0,J.jsx)(Lv,{status:o.status,usage:o.usage,keys:o.keys,period:i,series:B,colorOf:F,onNavigate:N})}),(0,J.jsx)("div",{hidden:h!=="usage",children:(0,J.jsx)(Iv,{summary:o.usage,status:o.status,period:i,colorOf:F})}),(0,J.jsx)("div",{hidden:h!=="people",children:(0,J.jsx)(Ov,{apiKey:e,keys:o.keys,usage:o.usage,period:i,me:n.key,pending:b,onPending:g,onChanged:()=>void k(),onCreate:A,onRevoke:I,onNavigate:N})}),(0,J.jsx)("div",{hidden:h!=="plan",children:O&&(0,J.jsx)(Dv,{plan:O,onInstall:z,onRemove:X,onNavigate:N})}),(0,J.jsx)("div",{hidden:h!=="plugins",children:(0,J.jsx)(tS,{plugins:o.plugins,licensed:o.pluginsLicensed,onToggle:R,onOpen:E=>N(`plugin:${E}`),onNavigate:N})}),m&&(0,J.jsx)("div",{children:_.some(E=>E.id===m)?(0,J.jsx)(nS,{id:m,apiKey:e},m):(0,J.jsxs)("div",{className:"empty",children:["This plugin is switched off."," ",(0,J.jsx)("button",{type:"button",className:"link",onClick:()=>N("plugins"),children:"plugins"})]})})]})]})]})]})},lS=document.getElementById("root");lS&&(0,uS.createRoot)(lS).render((0,J.jsx)(AO,{}));})();\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\n (**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.min.js:\n (**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.min.js:\n (**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact/cjs/react-jsx-runtime.production.min.js:\n (**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nprismjs/components/prism-core.js:\n (**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n *)\n*/\n' : "";
147398
+ var js = true ? '"use strict";(()=>{var SS=Object.create;var yu=Object.defineProperty;var ES=Object.getOwnPropertyDescriptor;var CS=Object.getOwnPropertyNames;var AS=Object.getPrototypeOf,TS=Object.prototype.hasOwnProperty;var ae=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Qf=(e,t)=>{for(var n in t)yu(e,n,{get:t[n],enumerable:!0})},RS=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of CS(t))!TS.call(e,i)&&i!==n&&yu(e,i,{get:()=>t[i],enumerable:!(r=ES(t,i))||r.enumerable});return e};var X=(e,t,n)=>(n=e!=null?SS(AS(e)):{},RS(t||!e||!e.__esModule?yu(n,"default",{value:e,enumerable:!0}):n,e));var lh=ae(Re=>{"use strict";var xa=Symbol.for("react.element"),IS=Symbol.for("react.portal"),PS=Symbol.for("react.fragment"),LS=Symbol.for("react.strict_mode"),OS=Symbol.for("react.profiler"),_S=Symbol.for("react.provider"),DS=Symbol.for("react.context"),FS=Symbol.for("react.forward_ref"),zS=Symbol.for("react.suspense"),$S=Symbol.for("react.memo"),MS=Symbol.for("react.lazy"),Xf=Symbol.iterator;function BS(e){return e===null||typeof e!="object"?null:(e=Xf&&e[Xf]||e["@@iterator"],typeof e=="function"?e:null)}var eh={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},th=Object.assign,nh={};function xi(e,t,n){this.props=e,this.context=t,this.refs=nh,this.updater=n||eh}xi.prototype.isReactComponent={};xi.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};xi.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function rh(){}rh.prototype=xi.prototype;function bu(e,t,n){this.props=e,this.context=t,this.refs=nh,this.updater=n||eh}var ku=bu.prototype=new rh;ku.constructor=bu;th(ku,xi.prototype);ku.isPureReactComponent=!0;var Zf=Array.isArray,ih=Object.prototype.hasOwnProperty,wu={current:null},ah={key:!0,ref:!0,__self:!0,__source:!0};function oh(e,t,n){var r,i={},a=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(a=""+t.key),t)ih.call(t,r)&&!ah.hasOwnProperty(r)&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(1<s){for(var l=Array(s),u=0;u<s;u++)l[u]=arguments[u+2];i.children=l}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)i[r]===void 0&&(i[r]=s[r]);return{$$typeof:xa,type:e,key:a,ref:o,props:i,_owner:wu.current}}function jS(e,t){return{$$typeof:xa,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function xu(e){return typeof e=="object"&&e!==null&&e.$$typeof===xa}function US(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var Jf=/\\/+/g;function vu(e,t){return typeof e=="object"&&e!==null&&e.key!=null?US(""+e.key):t.toString(36)}function Ho(e,t,n,r,i){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(a){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case xa:case IS:o=!0}}if(o)return o=e,i=i(o),e=r===""?"."+vu(o,0):r,Zf(i)?(n="",e!=null&&(n=e.replace(Jf,"$&/")+"/"),Ho(i,t,n,"",function(u){return u})):i!=null&&(xu(i)&&(i=jS(i,n+(!i.key||o&&o.key===i.key?"":(""+i.key).replace(Jf,"$&/")+"/")+e)),t.push(i)),1;if(o=0,r=r===""?".":r+":",Zf(e))for(var s=0;s<e.length;s++){a=e[s];var l=r+vu(a,s);o+=Ho(a,t,n,l,i)}else if(l=BS(e),typeof l=="function")for(e=l.call(e),s=0;!(a=e.next()).done;)a=a.value,l=r+vu(a,s++),o+=Ho(a,t,n,l,i);else if(a==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return o}function Uo(e,t,n){if(e==null)return e;var r=[],i=0;return Ho(e,r,"","",function(a){return t.call(n,a,i++)}),r}function HS(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var It={current:null},qo={transition:null},qS={ReactCurrentDispatcher:It,ReactCurrentBatchConfig:qo,ReactCurrentOwner:wu};function sh(){throw Error("act(...) is not supported in production builds of React.")}Re.Children={map:Uo,forEach:function(e,t,n){Uo(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Uo(e,function(){t++}),t},toArray:function(e){return Uo(e,function(t){return t})||[]},only:function(e){if(!xu(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Re.Component=xi;Re.Fragment=PS;Re.Profiler=OS;Re.PureComponent=bu;Re.StrictMode=LS;Re.Suspense=zS;Re.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=qS;Re.act=sh;Re.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=th({},e.props),i=e.key,a=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(a=t.ref,o=wu.current),t.key!==void 0&&(i=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in t)ih.call(t,l)&&!ah.hasOwnProperty(l)&&(r[l]=t[l]===void 0&&s!==void 0?s[l]:t[l])}var l=arguments.length-2;if(l===1)r.children=n;else if(1<l){s=Array(l);for(var u=0;u<l;u++)s[u]=arguments[u+2];r.children=s}return{$$typeof:xa,type:e.type,key:i,ref:a,props:r,_owner:o}};Re.createContext=function(e){return e={$$typeof:DS,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:_S,_context:e},e.Consumer=e};Re.createElement=oh;Re.createFactory=function(e){var t=oh.bind(null,e);return t.type=e,t};Re.createRef=function(){return{current:null}};Re.forwardRef=function(e){return{$$typeof:FS,render:e}};Re.isValidElement=xu;Re.lazy=function(e){return{$$typeof:MS,_payload:{_status:-1,_result:e},_init:HS}};Re.memo=function(e,t){return{$$typeof:$S,type:e,compare:t===void 0?null:t}};Re.startTransition=function(e){var t=qo.transition;qo.transition={};try{e()}finally{qo.transition=t}};Re.unstable_act=sh;Re.useCallback=function(e,t){return It.current.useCallback(e,t)};Re.useContext=function(e){return It.current.useContext(e)};Re.useDebugValue=function(){};Re.useDeferredValue=function(e){return It.current.useDeferredValue(e)};Re.useEffect=function(e,t){return It.current.useEffect(e,t)};Re.useId=function(){return It.current.useId()};Re.useImperativeHandle=function(e,t,n){return It.current.useImperativeHandle(e,t,n)};Re.useInsertionEffect=function(e,t){return It.current.useInsertionEffect(e,t)};Re.useLayoutEffect=function(e,t){return It.current.useLayoutEffect(e,t)};Re.useMemo=function(e,t){return It.current.useMemo(e,t)};Re.useReducer=function(e,t,n){return It.current.useReducer(e,t,n)};Re.useRef=function(e){return It.current.useRef(e)};Re.useState=function(e){return It.current.useState(e)};Re.useSyncExternalStore=function(e,t,n){return It.current.useSyncExternalStore(e,t,n)};Re.useTransition=function(){return It.current.useTransition()};Re.version="18.3.1"});var Ye=ae((UO,uh)=>{"use strict";uh.exports=lh()});var bh=ae(Me=>{"use strict";function Cu(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,i=e[r];if(0<Vo(i,t))e[r]=t,e[n]=i,n=r;else break e}}function fn(e){return e.length===0?null:e[0]}function Ko(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length,a=i>>>1;r<a;){var o=2*(r+1)-1,s=e[o],l=o+1,u=e[l];if(0>Vo(s,n))l<i&&0>Vo(u,s)?(e[r]=u,e[l]=n,r=l):(e[r]=s,e[o]=n,r=o);else if(l<i&&0>Vo(u,n))e[r]=u,e[l]=n,r=l;else break e}}return t}function Vo(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(ch=performance,Me.unstable_now=function(){return ch.now()}):(Nu=Date,dh=Nu.now(),Me.unstable_now=function(){return Nu.now()-dh});var ch,Nu,dh,Cn=[],rr=[],VS=1,tn=null,vt=3,Go=!1,zr=!1,Sa=!1,fh=typeof setTimeout=="function"?setTimeout:null,hh=typeof clearTimeout=="function"?clearTimeout:null,ph=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Au(e){for(var t=fn(rr);t!==null;){if(t.callback===null)Ko(rr);else if(t.startTime<=e)Ko(rr),t.sortIndex=t.expirationTime,Cu(Cn,t);else break;t=fn(rr)}}function Tu(e){if(Sa=!1,Au(e),!zr)if(fn(Cn)!==null)zr=!0,Iu(Ru);else{var t=fn(rr);t!==null&&Pu(Tu,t.startTime-e)}}function Ru(e,t){zr=!1,Sa&&(Sa=!1,hh(Ea),Ea=-1),Go=!0;var n=vt;try{for(Au(t),tn=fn(Cn);tn!==null&&(!(tn.expirationTime>t)||e&&!vh());){var r=tn.callback;if(typeof r=="function"){tn.callback=null,vt=tn.priorityLevel;var i=r(tn.expirationTime<=t);t=Me.unstable_now(),typeof i=="function"?tn.callback=i:tn===fn(Cn)&&Ko(Cn),Au(t)}else Ko(Cn);tn=fn(Cn)}if(tn!==null)var a=!0;else{var o=fn(rr);o!==null&&Pu(Tu,o.startTime-t),a=!1}return a}finally{tn=null,vt=n,Go=!1}}var Yo=!1,Wo=null,Ea=-1,gh=5,yh=-1;function vh(){return!(Me.unstable_now()-yh<gh)}function Su(){if(Wo!==null){var e=Me.unstable_now();yh=e;var t=!0;try{t=Wo(!0,e)}finally{t?Na():(Yo=!1,Wo=null)}}else Yo=!1}var Na;typeof ph=="function"?Na=function(){ph(Su)}:typeof MessageChannel<"u"?(Eu=new MessageChannel,mh=Eu.port2,Eu.port1.onmessage=Su,Na=function(){mh.postMessage(null)}):Na=function(){fh(Su,0)};var Eu,mh;function Iu(e){Wo=e,Yo||(Yo=!0,Na())}function Pu(e,t){Ea=fh(function(){e(Me.unstable_now())},t)}Me.unstable_IdlePriority=5;Me.unstable_ImmediatePriority=1;Me.unstable_LowPriority=4;Me.unstable_NormalPriority=3;Me.unstable_Profiling=null;Me.unstable_UserBlockingPriority=2;Me.unstable_cancelCallback=function(e){e.callback=null};Me.unstable_continueExecution=function(){zr||Go||(zr=!0,Iu(Ru))};Me.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):gh=0<e?Math.floor(1e3/e):5};Me.unstable_getCurrentPriorityLevel=function(){return vt};Me.unstable_getFirstCallbackNode=function(){return fn(Cn)};Me.unstable_next=function(e){switch(vt){case 1:case 2:case 3:var t=3;break;default:t=vt}var n=vt;vt=t;try{return e()}finally{vt=n}};Me.unstable_pauseExecution=function(){};Me.unstable_requestPaint=function(){};Me.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=vt;vt=e;try{return t()}finally{vt=n}};Me.unstable_scheduleCallback=function(e,t,n){var r=Me.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?r+n:r):n=r,e){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return i=n+i,e={id:VS++,callback:t,priorityLevel:e,startTime:n,expirationTime:i,sortIndex:-1},n>r?(e.sortIndex=n,Cu(rr,e),fn(Cn)===null&&e===fn(rr)&&(Sa?(hh(Ea),Ea=-1):Sa=!0,Pu(Tu,n-r))):(e.sortIndex=i,Cu(Cn,e),zr||Go||(zr=!0,Iu(Ru))),e};Me.unstable_shouldYield=vh;Me.unstable_wrapCallback=function(e){var t=vt;return function(){var n=vt;vt=t;try{return e.apply(this,arguments)}finally{vt=n}}}});var wh=ae((qO,kh)=>{"use strict";kh.exports=bh()});var Ev=ae(Xt=>{"use strict";var WS=Ye(),Yt=wh();function Q(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Tg=new Set,Ka={};function Qr(e,t){Hi(e,t),Hi(e+"Capture",t)}function Hi(e,t){for(Ka[e]=t,e=0;e<t.length;e++)Tg.add(t[e])}var Yn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ec=Object.prototype.hasOwnProperty,KS=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,xh={},Nh={};function GS(e){return ec.call(Nh,e)?!0:ec.call(xh,e)?!1:KS.test(e)?Nh[e]=!0:(xh[e]=!0,!1)}function YS(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function QS(e,t,n,r){if(t===null||typeof t>"u"||YS(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ot(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var yt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){yt[e]=new Ot(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];yt[t]=new Ot(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){yt[e]=new Ot(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){yt[e]=new Ot(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){yt[e]=new Ot(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){yt[e]=new Ot(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){yt[e]=new Ot(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){yt[e]=new Ot(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){yt[e]=new Ot(e,5,!1,e.toLowerCase(),null,!1,!1)});var Wc=/[\\-:]([a-z])/g;function Kc(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Wc,Kc);yt[t]=new Ot(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Wc,Kc);yt[t]=new Ot(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Wc,Kc);yt[t]=new Ot(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){yt[e]=new Ot(e,1,!1,e.toLowerCase(),null,!1,!1)});yt.xlinkHref=new Ot("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){yt[e]=new Ot(e,1,!1,e.toLowerCase(),null,!0,!0)});function Gc(e,t,n,r){var i=yt.hasOwnProperty(t)?yt[t]:null;(i!==null?i.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(QS(t,n,i,r)&&(n=null),r||i===null?GS(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type===3?!1:"":n:(t=i.attributeName,r=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&n===!0?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var Jn=WS.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Qo=Symbol.for("react.element"),Ei=Symbol.for("react.portal"),Ci=Symbol.for("react.fragment"),Yc=Symbol.for("react.strict_mode"),tc=Symbol.for("react.profiler"),Rg=Symbol.for("react.provider"),Ig=Symbol.for("react.context"),Qc=Symbol.for("react.forward_ref"),nc=Symbol.for("react.suspense"),rc=Symbol.for("react.suspense_list"),Xc=Symbol.for("react.memo"),ar=Symbol.for("react.lazy");Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var Pg=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden");Symbol.for("react.cache");Symbol.for("react.tracing_marker");var Sh=Symbol.iterator;function Ca(e){return e===null||typeof e!="object"?null:(e=Sh&&e[Sh]||e["@@iterator"],typeof e=="function"?e:null)}var Ge=Object.assign,Lu;function _a(e){if(Lu===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\\n( *(at )?)/);Lu=t&&t[1]||""}return`\n`+Lu+e}var Ou=!1;function _u(e,t){if(!e||Ou)return"";Ou=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&typeof u.stack=="string"){for(var i=u.stack.split(`\n`),a=r.stack.split(`\n`),o=i.length-1,s=a.length-1;1<=o&&0<=s&&i[o]!==a[s];)s--;for(;1<=o&&0<=s;o--,s--)if(i[o]!==a[s]){if(o!==1||s!==1)do if(o--,s--,0>s||i[o]!==a[s]){var l=`\n`+i[o].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}while(1<=o&&0<=s);break}}}finally{Ou=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?_a(e):""}function XS(e){switch(e.tag){case 5:return _a(e.type);case 16:return _a("Lazy");case 13:return _a("Suspense");case 19:return _a("SuspenseList");case 0:case 2:case 15:return e=_u(e.type,!1),e;case 11:return e=_u(e.type.render,!1),e;case 1:return e=_u(e.type,!0),e;default:return""}}function ic(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Ci:return"Fragment";case Ei:return"Portal";case tc:return"Profiler";case Yc:return"StrictMode";case nc:return"Suspense";case rc:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Ig:return(e.displayName||"Context")+".Consumer";case Rg:return(e._context.displayName||"Context")+".Provider";case Qc:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Xc:return t=e.displayName||null,t!==null?t:ic(e.type)||"Memo";case ar:t=e._payload,e=e._init;try{return ic(e(t))}catch{}}return null}function ZS(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ic(t);case 8:return t===Yc?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function br(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Lg(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function JS(e){var t=Lg(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,a.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Xo(e){e._valueTracker||(e._valueTracker=JS(e))}function Og(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Lg(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Es(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ac(e,t){var n=t.checked;return Ge({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Eh(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=br(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function _g(e,t){t=t.checked,t!=null&&Gc(e,"checked",t,!1)}function oc(e,t){_g(e,t);var n=br(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?sc(e,t.type,n):t.hasOwnProperty("defaultValue")&&sc(e,t.type,br(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Ch(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function sc(e,t,n){(t!=="number"||Es(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Da=Array.isArray;function zi(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t["$"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty("$"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=""+br(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function lc(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(Q(91));return Ge({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Ah(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(Q(92));if(Da(n)){if(1<n.length)throw Error(Q(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:br(n)}}function Dg(e,t){var n=br(t.value),r=br(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function Th(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function Fg(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function uc(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Fg(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Zo,zg=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Zo=Zo||document.createElement("div"),Zo.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Zo.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ga(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var $a={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},eE=["Webkit","ms","Moz","O"];Object.keys($a).forEach(function(e){eE.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),$a[t]=$a[e]})});function $g(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||$a.hasOwnProperty(e)&&$a[e]?(""+t).trim():t+"px"}function Mg(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=$g(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var tE=Ge({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function cc(e,t){if(t){if(tE[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Q(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Q(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Q(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Q(62))}}function dc(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var pc=null;function Zc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var mc=null,$i=null,Mi=null;function Rh(e){if(e=mo(e)){if(typeof mc!="function")throw Error(Q(280));var t=e.stateNode;t&&(t=Js(t),mc(e.stateNode,e.type,t))}}function Bg(e){$i?Mi?Mi.push(e):Mi=[e]:$i=e}function jg(){if($i){var e=$i,t=Mi;if(Mi=$i=null,Rh(e),t)for(e=0;e<t.length;e++)Rh(t[e])}}function Ug(e,t){return e(t)}function Hg(){}var Du=!1;function qg(e,t,n){if(Du)return e(t,n);Du=!0;try{return Ug(e,t,n)}finally{Du=!1,($i!==null||Mi!==null)&&(Hg(),jg())}}function Ya(e,t){var n=e.stateNode;if(n===null)return null;var r=Js(n);if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(Q(231,t,typeof n));return n}var fc=!1;if(Yn)try{Ni={},Object.defineProperty(Ni,"passive",{get:function(){fc=!0}}),window.addEventListener("test",Ni,Ni),window.removeEventListener("test",Ni,Ni)}catch{fc=!1}var Ni;function nE(e,t,n,r,i,a,o,s,l){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(c){this.onError(c)}}var Ma=!1,Cs=null,As=!1,hc=null,rE={onError:function(e){Ma=!0,Cs=e}};function iE(e,t,n,r,i,a,o,s,l){Ma=!1,Cs=null,nE.apply(rE,arguments)}function aE(e,t,n,r,i,a,o,s,l){if(iE.apply(this,arguments),Ma){if(Ma){var u=Cs;Ma=!1,Cs=null}else throw Error(Q(198));As||(As=!0,hc=u)}}function Xr(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function Vg(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Ih(e){if(Xr(e)!==e)throw Error(Q(188))}function oE(e){var t=e.alternate;if(!t){if(t=Xr(e),t===null)throw Error(Q(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var a=i.alternate;if(a===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===n)return Ih(i),e;if(a===r)return Ih(i),t;a=a.sibling}throw Error(Q(188))}if(n.return!==r.return)n=i,r=a;else{for(var o=!1,s=i.child;s;){if(s===n){o=!0,n=i,r=a;break}if(s===r){o=!0,r=i,n=a;break}s=s.sibling}if(!o){for(s=a.child;s;){if(s===n){o=!0,n=a,r=i;break}if(s===r){o=!0,r=a,n=i;break}s=s.sibling}if(!o)throw Error(Q(189))}}if(n.alternate!==r)throw Error(Q(190))}if(n.tag!==3)throw Error(Q(188));return n.stateNode.current===n?e:t}function Wg(e){return e=oE(e),e!==null?Kg(e):null}function Kg(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Kg(e);if(t!==null)return t;e=e.sibling}return null}var Gg=Yt.unstable_scheduleCallback,Ph=Yt.unstable_cancelCallback,sE=Yt.unstable_shouldYield,lE=Yt.unstable_requestPaint,Je=Yt.unstable_now,uE=Yt.unstable_getCurrentPriorityLevel,Jc=Yt.unstable_ImmediatePriority,Yg=Yt.unstable_UserBlockingPriority,Ts=Yt.unstable_NormalPriority,cE=Yt.unstable_LowPriority,Qg=Yt.unstable_IdlePriority,Ys=null,In=null;function dE(e){if(In&&typeof In.onCommitFiberRoot=="function")try{In.onCommitFiberRoot(Ys,e,void 0,(e.current.flags&128)===128)}catch{}}var bn=Math.clz32?Math.clz32:fE,pE=Math.log,mE=Math.LN2;function fE(e){return e>>>=0,e===0?32:31-(pE(e)/mE|0)|0}var Jo=64,es=4194304;function Fa(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Rs(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~i;s!==0?r=Fa(s):(a&=o,a!==0&&(r=Fa(a)))}else o=n&~i,o!==0?r=Fa(o):a!==0&&(r=Fa(a));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,a=t&-t,i>=a||i===16&&(a&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-bn(t),i=1<<n,r|=e[n],t&=~i;return r}function hE(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function gE(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var o=31-bn(a),s=1<<o,l=i[o];l===-1?(!(s&n)||s&r)&&(i[o]=hE(s,t)):l<=t&&(e.expiredLanes|=s),a&=~s}}function gc(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Xg(){var e=Jo;return Jo<<=1,!(Jo&4194240)&&(Jo=64),e}function Fu(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function co(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-bn(t),e[t]=n}function yE(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-bn(n),a=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~a}}function ed(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-bn(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var De=0;function Zg(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Jg,td,ey,ty,ny,yc=!1,ts=[],dr=null,pr=null,mr=null,Qa=new Map,Xa=new Map,sr=[],vE="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Lh(e,t){switch(e){case"focusin":case"focusout":dr=null;break;case"dragenter":case"dragleave":pr=null;break;case"mouseover":case"mouseout":mr=null;break;case"pointerover":case"pointerout":Qa.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Xa.delete(t.pointerId)}}function Aa(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=mo(t),t!==null&&td(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function bE(e,t,n,r,i){switch(t){case"focusin":return dr=Aa(dr,e,t,n,r,i),!0;case"dragenter":return pr=Aa(pr,e,t,n,r,i),!0;case"mouseover":return mr=Aa(mr,e,t,n,r,i),!0;case"pointerover":var a=i.pointerId;return Qa.set(a,Aa(Qa.get(a)||null,e,t,n,r,i)),!0;case"gotpointercapture":return a=i.pointerId,Xa.set(a,Aa(Xa.get(a)||null,e,t,n,r,i)),!0}return!1}function ry(e){var t=Br(e.target);if(t!==null){var n=Xr(t);if(n!==null){if(t=n.tag,t===13){if(t=Vg(n),t!==null){e.blockedOn=t,ny(e.priority,function(){ey(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function hs(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=vc(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);pc=r,n.target.dispatchEvent(r),pc=null}else return t=mo(n),t!==null&&td(t),e.blockedOn=n,!1;t.shift()}return!0}function Oh(e,t,n){hs(e)&&n.delete(t)}function kE(){yc=!1,dr!==null&&hs(dr)&&(dr=null),pr!==null&&hs(pr)&&(pr=null),mr!==null&&hs(mr)&&(mr=null),Qa.forEach(Oh),Xa.forEach(Oh)}function Ta(e,t){e.blockedOn===t&&(e.blockedOn=null,yc||(yc=!0,Yt.unstable_scheduleCallback(Yt.unstable_NormalPriority,kE)))}function Za(e){function t(i){return Ta(i,e)}if(0<ts.length){Ta(ts[0],e);for(var n=1;n<ts.length;n++){var r=ts[n];r.blockedOn===e&&(r.blockedOn=null)}}for(dr!==null&&Ta(dr,e),pr!==null&&Ta(pr,e),mr!==null&&Ta(mr,e),Qa.forEach(t),Xa.forEach(t),n=0;n<sr.length;n++)r=sr[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<sr.length&&(n=sr[0],n.blockedOn===null);)ry(n),n.blockedOn===null&&sr.shift()}var Bi=Jn.ReactCurrentBatchConfig,Is=!0;function wE(e,t,n,r){var i=De,a=Bi.transition;Bi.transition=null;try{De=1,nd(e,t,n,r)}finally{De=i,Bi.transition=a}}function xE(e,t,n,r){var i=De,a=Bi.transition;Bi.transition=null;try{De=4,nd(e,t,n,r)}finally{De=i,Bi.transition=a}}function nd(e,t,n,r){if(Is){var i=vc(e,t,n,r);if(i===null)Hu(e,t,r,Ps,n),Lh(e,r);else if(bE(i,e,t,n,r))r.stopPropagation();else if(Lh(e,r),t&4&&-1<vE.indexOf(e)){for(;i!==null;){var a=mo(i);if(a!==null&&Jg(a),a=vc(e,t,n,r),a===null&&Hu(e,t,r,Ps,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Hu(e,t,r,null,n)}}var Ps=null;function vc(e,t,n,r){if(Ps=null,e=Zc(r),e=Br(e),e!==null)if(t=Xr(e),t===null)e=null;else if(n=t.tag,n===13){if(e=Vg(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Ps=e,null}function iy(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(uE()){case Jc:return 1;case Yg:return 4;case Ts:case cE:return 16;case Qg:return 536870912;default:return 16}default:return 16}}var ur=null,rd=null,gs=null;function ay(){if(gs)return gs;var e,t=rd,n=t.length,r,i="value"in ur?ur.value:ur.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return gs=i.slice(e,1<r?1-r:void 0)}function ys(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function ns(){return!0}function _h(){return!1}function Qt(e){function t(n,r,i,a,o){this._reactName=n,this._targetInst=i,this.type=r,this.nativeEvent=a,this.target=o,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(n=e[s],this[s]=n?n(a):a[s]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?ns:_h,this.isPropagationStopped=_h,this}return Ge(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=ns)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=ns)},persist:function(){},isPersistent:ns}),t}var Qi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},id=Qt(Qi),po=Ge({},Qi,{view:0,detail:0}),NE=Qt(po),zu,$u,Ra,Qs=Ge({},po,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ad,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Ra&&(Ra&&e.type==="mousemove"?(zu=e.screenX-Ra.screenX,$u=e.screenY-Ra.screenY):$u=zu=0,Ra=e),zu)},movementY:function(e){return"movementY"in e?e.movementY:$u}}),Dh=Qt(Qs),SE=Ge({},Qs,{dataTransfer:0}),EE=Qt(SE),CE=Ge({},po,{relatedTarget:0}),Mu=Qt(CE),AE=Ge({},Qi,{animationName:0,elapsedTime:0,pseudoElement:0}),TE=Qt(AE),RE=Ge({},Qi,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),IE=Qt(RE),PE=Ge({},Qi,{data:0}),Fh=Qt(PE),LE={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},OE={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},_E={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function DE(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=_E[e])?!!t[e]:!1}function ad(){return DE}var FE=Ge({},po,{key:function(e){if(e.key){var t=LE[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=ys(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?OE[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ad,charCode:function(e){return e.type==="keypress"?ys(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?ys(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),zE=Qt(FE),$E=Ge({},Qs,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),zh=Qt($E),ME=Ge({},po,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ad}),BE=Qt(ME),jE=Ge({},Qi,{propertyName:0,elapsedTime:0,pseudoElement:0}),UE=Qt(jE),HE=Ge({},Qs,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),qE=Qt(HE),VE=[9,13,27,32],od=Yn&&"CompositionEvent"in window,Ba=null;Yn&&"documentMode"in document&&(Ba=document.documentMode);var WE=Yn&&"TextEvent"in window&&!Ba,oy=Yn&&(!od||Ba&&8<Ba&&11>=Ba),$h=" ",Mh=!1;function sy(e,t){switch(e){case"keyup":return VE.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ly(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ai=!1;function KE(e,t){switch(e){case"compositionend":return ly(t);case"keypress":return t.which!==32?null:(Mh=!0,$h);case"textInput":return e=t.data,e===$h&&Mh?null:e;default:return null}}function GE(e,t){if(Ai)return e==="compositionend"||!od&&sy(e,t)?(e=ay(),gs=rd=ur=null,Ai=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return oy&&t.locale!=="ko"?null:t.data;default:return null}}var YE={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Bh(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!YE[e.type]:t==="textarea"}function uy(e,t,n,r){Bg(r),t=Ls(t,"onChange"),0<t.length&&(n=new id("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var ja=null,Ja=null;function QE(e){ky(e,0)}function Xs(e){var t=Ii(e);if(Og(t))return e}function XE(e,t){if(e==="change")return t}var cy=!1;Yn&&(Yn?(is="oninput"in document,is||(Bu=document.createElement("div"),Bu.setAttribute("oninput","return;"),is=typeof Bu.oninput=="function"),rs=is):rs=!1,cy=rs&&(!document.documentMode||9<document.documentMode));var rs,is,Bu;function jh(){ja&&(ja.detachEvent("onpropertychange",dy),Ja=ja=null)}function dy(e){if(e.propertyName==="value"&&Xs(Ja)){var t=[];uy(t,Ja,e,Zc(e)),qg(QE,t)}}function ZE(e,t,n){e==="focusin"?(jh(),ja=t,Ja=n,ja.attachEvent("onpropertychange",dy)):e==="focusout"&&jh()}function JE(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Xs(Ja)}function eC(e,t){if(e==="click")return Xs(t)}function tC(e,t){if(e==="input"||e==="change")return Xs(t)}function nC(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var wn=typeof Object.is=="function"?Object.is:nC;function eo(e,t){if(wn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!ec.call(t,i)||!wn(e[i],t[i]))return!1}return!0}function Uh(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Hh(e,t){var n=Uh(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Uh(n)}}function py(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?py(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function my(){for(var e=window,t=Es();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Es(e.document)}return t}function sd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function rC(e){var t=my(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&py(n.ownerDocument.documentElement,n)){if(r!==null&&sd(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=Hh(n,a);var o=Hh(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var iC=Yn&&"documentMode"in document&&11>=document.documentMode,Ti=null,bc=null,Ua=null,kc=!1;function qh(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;kc||Ti==null||Ti!==Es(r)||(r=Ti,"selectionStart"in r&&sd(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ua&&eo(Ua,r)||(Ua=r,r=Ls(bc,"onSelect"),0<r.length&&(t=new id("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=Ti)))}function as(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Ri={animationend:as("Animation","AnimationEnd"),animationiteration:as("Animation","AnimationIteration"),animationstart:as("Animation","AnimationStart"),transitionend:as("Transition","TransitionEnd")},ju={},fy={};Yn&&(fy=document.createElement("div").style,"AnimationEvent"in window||(delete Ri.animationend.animation,delete Ri.animationiteration.animation,delete Ri.animationstart.animation),"TransitionEvent"in window||delete Ri.transitionend.transition);function Zs(e){if(ju[e])return ju[e];if(!Ri[e])return e;var t=Ri[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in fy)return ju[e]=t[n];return e}var hy=Zs("animationend"),gy=Zs("animationiteration"),yy=Zs("animationstart"),vy=Zs("transitionend"),by=new Map,Vh="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function wr(e,t){by.set(e,t),Qr(t,[e])}for(os=0;os<Vh.length;os++)ss=Vh[os],Wh=ss.toLowerCase(),Kh=ss[0].toUpperCase()+ss.slice(1),wr(Wh,"on"+Kh);var ss,Wh,Kh,os;wr(hy,"onAnimationEnd");wr(gy,"onAnimationIteration");wr(yy,"onAnimationStart");wr("dblclick","onDoubleClick");wr("focusin","onFocus");wr("focusout","onBlur");wr(vy,"onTransitionEnd");Hi("onMouseEnter",["mouseout","mouseover"]);Hi("onMouseLeave",["mouseout","mouseover"]);Hi("onPointerEnter",["pointerout","pointerover"]);Hi("onPointerLeave",["pointerout","pointerover"]);Qr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Qr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Qr("onBeforeInput",["compositionend","keypress","textInput","paste"]);Qr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Qr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Qr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var za="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),aC=new Set("cancel close invalid load scroll toggle".split(" ").concat(za));function Gh(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,aE(r,t,void 0,e),e.currentTarget=null}function ky(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],l=s.instance,u=s.currentTarget;if(s=s.listener,l!==a&&i.isPropagationStopped())break e;Gh(i,s,u),a=l}else for(o=0;o<r.length;o++){if(s=r[o],l=s.instance,u=s.currentTarget,s=s.listener,l!==a&&i.isPropagationStopped())break e;Gh(i,s,u),a=l}}}if(As)throw e=hc,As=!1,hc=null,e}function je(e,t){var n=t[Ec];n===void 0&&(n=t[Ec]=new Set);var r=e+"__bubble";n.has(r)||(wy(t,e,2,!1),n.add(r))}function Uu(e,t,n){var r=0;t&&(r|=4),wy(n,e,r,t)}var ls="_reactListening"+Math.random().toString(36).slice(2);function to(e){if(!e[ls]){e[ls]=!0,Tg.forEach(function(n){n!=="selectionchange"&&(aC.has(n)||Uu(n,!1,e),Uu(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[ls]||(t[ls]=!0,Uu("selectionchange",!1,t))}}function wy(e,t,n,r){switch(iy(t)){case 1:var i=wE;break;case 4:i=xE;break;default:i=nd}n=i.bind(null,t,n,e),i=void 0,!fc||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(i=!0),r?i!==void 0?e.addEventListener(t,n,{capture:!0,passive:i}):e.addEventListener(t,n,!0):i!==void 0?e.addEventListener(t,n,{passive:i}):e.addEventListener(t,n,!1)}function Hu(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var s=r.stateNode.containerInfo;if(s===i||s.nodeType===8&&s.parentNode===i)break;if(o===4)for(o=r.return;o!==null;){var l=o.tag;if((l===3||l===4)&&(l=o.stateNode.containerInfo,l===i||l.nodeType===8&&l.parentNode===i))return;o=o.return}for(;s!==null;){if(o=Br(s),o===null)return;if(l=o.tag,l===5||l===6){r=a=o;continue e}s=s.parentNode}}r=r.return}qg(function(){var u=a,c=Zc(n),d=[];e:{var p=by.get(e);if(p!==void 0){var m=id,f=e;switch(e){case"keypress":if(ys(n)===0)break e;case"keydown":case"keyup":m=zE;break;case"focusin":f="focus",m=Mu;break;case"focusout":f="blur",m=Mu;break;case"beforeblur":case"afterblur":m=Mu;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Dh;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=EE;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=BE;break;case hy:case gy:case yy:m=TE;break;case vy:m=UE;break;case"scroll":m=NE;break;case"wheel":m=qE;break;case"copy":case"cut":case"paste":m=IE;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=zh}var b=(t&4)!==0,v=!b&&e==="scroll",h=b?p!==null?p+"Capture":null:p;b=[];for(var y=u,x;y!==null;){x=y;var S=x.stateNode;if(x.tag===5&&S!==null&&(x=S,h!==null&&(S=Ya(y,h),S!=null&&b.push(no(y,S,x)))),v)break;y=y.return}0<b.length&&(p=new m(p,f,null,n,c),d.push({event:p,listeners:b}))}}if(!(t&7)){e:{if(p=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",p&&n!==pc&&(f=n.relatedTarget||n.fromElement)&&(Br(f)||f[Qn]))break e;if((m||p)&&(p=c.window===c?c:(p=c.ownerDocument)?p.defaultView||p.parentWindow:window,m?(f=n.relatedTarget||n.toElement,m=u,f=f?Br(f):null,f!==null&&(v=Xr(f),f!==v||f.tag!==5&&f.tag!==6)&&(f=null)):(m=null,f=u),m!==f)){if(b=Dh,S="onMouseLeave",h="onMouseEnter",y="mouse",(e==="pointerout"||e==="pointerover")&&(b=zh,S="onPointerLeave",h="onPointerEnter",y="pointer"),v=m==null?p:Ii(m),x=f==null?p:Ii(f),p=new b(S,y+"leave",m,n,c),p.target=v,p.relatedTarget=x,S=null,Br(c)===u&&(b=new b(h,y+"enter",f,n,c),b.target=x,b.relatedTarget=v,S=b),v=S,m&&f)t:{for(b=m,h=f,y=0,x=b;x;x=Si(x))y++;for(x=0,S=h;S;S=Si(S))x++;for(;0<y-x;)b=Si(b),y--;for(;0<x-y;)h=Si(h),x--;for(;y--;){if(b===h||h!==null&&b===h.alternate)break t;b=Si(b),h=Si(h)}b=null}else b=null;m!==null&&Yh(d,p,m,b,!1),f!==null&&v!==null&&Yh(d,v,f,b,!0)}}e:{if(p=u?Ii(u):window,m=p.nodeName&&p.nodeName.toLowerCase(),m==="select"||m==="input"&&p.type==="file")var E=XE;else if(Bh(p))if(cy)E=tC;else{E=JE;var w=ZE}else(m=p.nodeName)&&m.toLowerCase()==="input"&&(p.type==="checkbox"||p.type==="radio")&&(E=eC);if(E&&(E=E(e,u))){uy(d,E,n,c);break e}w&&w(e,p,u),e==="focusout"&&(w=p._wrapperState)&&w.controlled&&p.type==="number"&&sc(p,"number",p.value)}switch(w=u?Ii(u):window,e){case"focusin":(Bh(w)||w.contentEditable==="true")&&(Ti=w,bc=u,Ua=null);break;case"focusout":Ua=bc=Ti=null;break;case"mousedown":kc=!0;break;case"contextmenu":case"mouseup":case"dragend":kc=!1,qh(d,n,c);break;case"selectionchange":if(iC)break;case"keydown":case"keyup":qh(d,n,c)}var R;if(od)e:{switch(e){case"compositionstart":var P="onCompositionStart";break e;case"compositionend":P="onCompositionEnd";break e;case"compositionupdate":P="onCompositionUpdate";break e}P=void 0}else Ai?sy(e,n)&&(P="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(P="onCompositionStart");P&&(oy&&n.locale!=="ko"&&(Ai||P!=="onCompositionStart"?P==="onCompositionEnd"&&Ai&&(R=ay()):(ur=c,rd="value"in ur?ur.value:ur.textContent,Ai=!0)),w=Ls(u,P),0<w.length&&(P=new Fh(P,e,null,n,c),d.push({event:P,listeners:w}),R?P.data=R:(R=ly(n),R!==null&&(P.data=R)))),(R=WE?KE(e,n):GE(e,n))&&(u=Ls(u,"onBeforeInput"),0<u.length&&(c=new Fh("onBeforeInput","beforeinput",null,n,c),d.push({event:c,listeners:u}),c.data=R))}ky(d,t)})}function no(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ls(e,t){for(var n=t+"Capture",r=[];e!==null;){var i=e,a=i.stateNode;i.tag===5&&a!==null&&(i=a,a=Ya(e,n),a!=null&&r.unshift(no(e,a,i)),a=Ya(e,t),a!=null&&r.push(no(e,a,i))),e=e.return}return r}function Si(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Yh(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,l=s.alternate,u=s.stateNode;if(l!==null&&l===r)break;s.tag===5&&u!==null&&(s=u,i?(l=Ya(n,a),l!=null&&o.unshift(no(n,l,s))):i||(l=Ya(n,a),l!=null&&o.push(no(n,l,s)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var oC=/\\r\\n?/g,sC=/\\u0000|\\uFFFD/g;function Qh(e){return(typeof e=="string"?e:""+e).replace(oC,`\n`).replace(sC,"")}function us(e,t,n){if(t=Qh(t),Qh(e)!==t&&n)throw Error(Q(425))}function Os(){}var wc=null,xc=null;function Nc(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Sc=typeof setTimeout=="function"?setTimeout:void 0,lC=typeof clearTimeout=="function"?clearTimeout:void 0,Xh=typeof Promise=="function"?Promise:void 0,uC=typeof queueMicrotask=="function"?queueMicrotask:typeof Xh<"u"?function(e){return Xh.resolve(null).then(e).catch(cC)}:Sc;function cC(e){setTimeout(function(){throw e})}function qu(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n==="/$"){if(r===0){e.removeChild(i),Za(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=i}while(n);Za(t)}function fr(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Zh(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var Xi=Math.random().toString(36).slice(2),Rn="__reactFiber$"+Xi,ro="__reactProps$"+Xi,Qn="__reactContainer$"+Xi,Ec="__reactEvents$"+Xi,dC="__reactListeners$"+Xi,pC="__reactHandles$"+Xi;function Br(e){var t=e[Rn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Qn]||n[Rn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Zh(e);e!==null;){if(n=e[Rn])return n;e=Zh(e)}return t}e=n,n=e.parentNode}return null}function mo(e){return e=e[Rn]||e[Qn],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Ii(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(Q(33))}function Js(e){return e[ro]||null}var Cc=[],Pi=-1;function xr(e){return{current:e}}function Ue(e){0>Pi||(e.current=Cc[Pi],Cc[Pi]=null,Pi--)}function Be(e,t){Pi++,Cc[Pi]=e.current,e.current=t}var kr={},xt=xr(kr),Mt=xr(!1),Vr=kr;function qi(e,t){var n=e.type.contextTypes;if(!n)return kr;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Bt(e){return e=e.childContextTypes,e!=null}function _s(){Ue(Mt),Ue(xt)}function Jh(e,t,n){if(xt.current!==kr)throw Error(Q(168));Be(xt,t),Be(Mt,n)}function xy(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(Q(108,ZS(e)||"Unknown",i));return Ge({},n,r)}function Ds(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||kr,Vr=xt.current,Be(xt,e),Be(Mt,Mt.current),!0}function eg(e,t,n){var r=e.stateNode;if(!r)throw Error(Q(169));n?(e=xy(e,t,Vr),r.__reactInternalMemoizedMergedChildContext=e,Ue(Mt),Ue(xt),Be(xt,e)):Ue(Mt),Be(Mt,n)}var Vn=null,el=!1,Vu=!1;function Ny(e){Vn===null?Vn=[e]:Vn.push(e)}function mC(e){el=!0,Ny(e)}function Nr(){if(!Vu&&Vn!==null){Vu=!0;var e=0,t=De;try{var n=Vn;for(De=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}Vn=null,el=!1}catch(i){throw Vn!==null&&(Vn=Vn.slice(e+1)),Gg(Jc,Nr),i}finally{De=t,Vu=!1}}return null}var Li=[],Oi=0,Fs=null,zs=0,nn=[],rn=0,Wr=null,Wn=1,Kn="";function $r(e,t){Li[Oi++]=zs,Li[Oi++]=Fs,Fs=e,zs=t}function Sy(e,t,n){nn[rn++]=Wn,nn[rn++]=Kn,nn[rn++]=Wr,Wr=e;var r=Wn;e=Kn;var i=32-bn(r)-1;r&=~(1<<i),n+=1;var a=32-bn(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Wn=1<<32-bn(t)+i|n<<i|r,Kn=a+e}else Wn=1<<a|n<<i|r,Kn=e}function ld(e){e.return!==null&&($r(e,1),Sy(e,1,0))}function ud(e){for(;e===Fs;)Fs=Li[--Oi],Li[Oi]=null,zs=Li[--Oi],Li[Oi]=null;for(;e===Wr;)Wr=nn[--rn],nn[rn]=null,Kn=nn[--rn],nn[rn]=null,Wn=nn[--rn],nn[rn]=null}var Gt=null,Kt=null,Ve=!1,vn=null;function Ey(e,t){var n=an(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function tg(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Gt=e,Kt=fr(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Gt=e,Kt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=Wr!==null?{id:Wn,overflow:Kn}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=an(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,Gt=e,Kt=null,!0):!1;default:return!1}}function Ac(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Tc(e){if(Ve){var t=Kt;if(t){var n=t;if(!tg(e,t)){if(Ac(e))throw Error(Q(418));t=fr(n.nextSibling);var r=Gt;t&&tg(e,t)?Ey(r,n):(e.flags=e.flags&-4097|2,Ve=!1,Gt=e)}}else{if(Ac(e))throw Error(Q(418));e.flags=e.flags&-4097|2,Ve=!1,Gt=e}}}function ng(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Gt=e}function cs(e){if(e!==Gt)return!1;if(!Ve)return ng(e),Ve=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Nc(e.type,e.memoizedProps)),t&&(t=Kt)){if(Ac(e))throw Cy(),Error(Q(418));for(;t;)Ey(e,t),t=fr(t.nextSibling)}if(ng(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(Q(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){Kt=fr(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}Kt=null}}else Kt=Gt?fr(e.stateNode.nextSibling):null;return!0}function Cy(){for(var e=Kt;e;)e=fr(e.nextSibling)}function Vi(){Kt=Gt=null,Ve=!1}function cd(e){vn===null?vn=[e]:vn.push(e)}var fC=Jn.ReactCurrentBatchConfig;function Ia(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(Q(309));var r=n.stateNode}if(!r)throw Error(Q(147,e));var i=r,a=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===a?t.ref:(t=function(o){var s=i.refs;o===null?delete s[a]:s[a]=o},t._stringRef=a,t)}if(typeof e!="string")throw Error(Q(284));if(!n._owner)throw Error(Q(290,e))}return e}function ds(e,t){throw e=Object.prototype.toString.call(t),Error(Q(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function rg(e){var t=e._init;return t(e._payload)}function Ay(e){function t(h,y){if(e){var x=h.deletions;x===null?(h.deletions=[y],h.flags|=16):x.push(y)}}function n(h,y){if(!e)return null;for(;y!==null;)t(h,y),y=y.sibling;return null}function r(h,y){for(h=new Map;y!==null;)y.key!==null?h.set(y.key,y):h.set(y.index,y),y=y.sibling;return h}function i(h,y){return h=vr(h,y),h.index=0,h.sibling=null,h}function a(h,y,x){return h.index=x,e?(x=h.alternate,x!==null?(x=x.index,x<y?(h.flags|=2,y):x):(h.flags|=2,y)):(h.flags|=1048576,y)}function o(h){return e&&h.alternate===null&&(h.flags|=2),h}function s(h,y,x,S){return y===null||y.tag!==6?(y=Zu(x,h.mode,S),y.return=h,y):(y=i(y,x),y.return=h,y)}function l(h,y,x,S){var E=x.type;return E===Ci?c(h,y,x.props.children,S,x.key):y!==null&&(y.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===ar&&rg(E)===y.type)?(S=i(y,x.props),S.ref=Ia(h,y,x),S.return=h,S):(S=Ss(x.type,x.key,x.props,null,h.mode,S),S.ref=Ia(h,y,x),S.return=h,S)}function u(h,y,x,S){return y===null||y.tag!==4||y.stateNode.containerInfo!==x.containerInfo||y.stateNode.implementation!==x.implementation?(y=Ju(x,h.mode,S),y.return=h,y):(y=i(y,x.children||[]),y.return=h,y)}function c(h,y,x,S,E){return y===null||y.tag!==7?(y=qr(x,h.mode,S,E),y.return=h,y):(y=i(y,x),y.return=h,y)}function d(h,y,x){if(typeof y=="string"&&y!==""||typeof y=="number")return y=Zu(""+y,h.mode,x),y.return=h,y;if(typeof y=="object"&&y!==null){switch(y.$$typeof){case Qo:return x=Ss(y.type,y.key,y.props,null,h.mode,x),x.ref=Ia(h,null,y),x.return=h,x;case Ei:return y=Ju(y,h.mode,x),y.return=h,y;case ar:var S=y._init;return d(h,S(y._payload),x)}if(Da(y)||Ca(y))return y=qr(y,h.mode,x,null),y.return=h,y;ds(h,y)}return null}function p(h,y,x,S){var E=y!==null?y.key:null;if(typeof x=="string"&&x!==""||typeof x=="number")return E!==null?null:s(h,y,""+x,S);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case Qo:return x.key===E?l(h,y,x,S):null;case Ei:return x.key===E?u(h,y,x,S):null;case ar:return E=x._init,p(h,y,E(x._payload),S)}if(Da(x)||Ca(x))return E!==null?null:c(h,y,x,S,null);ds(h,x)}return null}function m(h,y,x,S,E){if(typeof S=="string"&&S!==""||typeof S=="number")return h=h.get(x)||null,s(y,h,""+S,E);if(typeof S=="object"&&S!==null){switch(S.$$typeof){case Qo:return h=h.get(S.key===null?x:S.key)||null,l(y,h,S,E);case Ei:return h=h.get(S.key===null?x:S.key)||null,u(y,h,S,E);case ar:var w=S._init;return m(h,y,x,w(S._payload),E)}if(Da(S)||Ca(S))return h=h.get(x)||null,c(y,h,S,E,null);ds(y,S)}return null}function f(h,y,x,S){for(var E=null,w=null,R=y,P=y=0,F=null;R!==null&&P<x.length;P++){R.index>P?(F=R,R=null):F=R.sibling;var A=p(h,R,x[P],S);if(A===null){R===null&&(R=F);break}e&&R&&A.alternate===null&&t(h,R),y=a(A,y,P),w===null?E=A:w.sibling=A,w=A,R=F}if(P===x.length)return n(h,R),Ve&&$r(h,P),E;if(R===null){for(;P<x.length;P++)R=d(h,x[P],S),R!==null&&(y=a(R,y,P),w===null?E=R:w.sibling=R,w=R);return Ve&&$r(h,P),E}for(R=r(h,R);P<x.length;P++)F=m(R,h,P,x[P],S),F!==null&&(e&&F.alternate!==null&&R.delete(F.key===null?P:F.key),y=a(F,y,P),w===null?E=F:w.sibling=F,w=F);return e&&R.forEach(function(Z){return t(h,Z)}),Ve&&$r(h,P),E}function b(h,y,x,S){var E=Ca(x);if(typeof E!="function")throw Error(Q(150));if(x=E.call(x),x==null)throw Error(Q(151));for(var w=E=null,R=y,P=y=0,F=null,A=x.next();R!==null&&!A.done;P++,A=x.next()){R.index>P?(F=R,R=null):F=R.sibling;var Z=p(h,R,A.value,S);if(Z===null){R===null&&(R=F);break}e&&R&&Z.alternate===null&&t(h,R),y=a(Z,y,P),w===null?E=Z:w.sibling=Z,w=Z,R=F}if(A.done)return n(h,R),Ve&&$r(h,P),E;if(R===null){for(;!A.done;P++,A=x.next())A=d(h,A.value,S),A!==null&&(y=a(A,y,P),w===null?E=A:w.sibling=A,w=A);return Ve&&$r(h,P),E}for(R=r(h,R);!A.done;P++,A=x.next())A=m(R,h,P,A.value,S),A!==null&&(e&&A.alternate!==null&&R.delete(A.key===null?P:A.key),y=a(A,y,P),w===null?E=A:w.sibling=A,w=A);return e&&R.forEach(function(j){return t(h,j)}),Ve&&$r(h,P),E}function v(h,y,x,S){if(typeof x=="object"&&x!==null&&x.type===Ci&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case Qo:e:{for(var E=x.key,w=y;w!==null;){if(w.key===E){if(E=x.type,E===Ci){if(w.tag===7){n(h,w.sibling),y=i(w,x.props.children),y.return=h,h=y;break e}}else if(w.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===ar&&rg(E)===w.type){n(h,w.sibling),y=i(w,x.props),y.ref=Ia(h,w,x),y.return=h,h=y;break e}n(h,w);break}else t(h,w);w=w.sibling}x.type===Ci?(y=qr(x.props.children,h.mode,S,x.key),y.return=h,h=y):(S=Ss(x.type,x.key,x.props,null,h.mode,S),S.ref=Ia(h,y,x),S.return=h,h=S)}return o(h);case Ei:e:{for(w=x.key;y!==null;){if(y.key===w)if(y.tag===4&&y.stateNode.containerInfo===x.containerInfo&&y.stateNode.implementation===x.implementation){n(h,y.sibling),y=i(y,x.children||[]),y.return=h,h=y;break e}else{n(h,y);break}else t(h,y);y=y.sibling}y=Ju(x,h.mode,S),y.return=h,h=y}return o(h);case ar:return w=x._init,v(h,y,w(x._payload),S)}if(Da(x))return f(h,y,x,S);if(Ca(x))return b(h,y,x,S);ds(h,x)}return typeof x=="string"&&x!==""||typeof x=="number"?(x=""+x,y!==null&&y.tag===6?(n(h,y.sibling),y=i(y,x),y.return=h,h=y):(n(h,y),y=Zu(x,h.mode,S),y.return=h,h=y),o(h)):n(h,y)}return v}var Wi=Ay(!0),Ty=Ay(!1),$s=xr(null),Ms=null,_i=null,dd=null;function pd(){dd=_i=Ms=null}function md(e){var t=$s.current;Ue($s),e._currentValue=t}function Rc(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function ji(e,t){Ms=e,dd=_i=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&($t=!0),e.firstContext=null)}function sn(e){var t=e._currentValue;if(dd!==e)if(e={context:e,memoizedValue:t,next:null},_i===null){if(Ms===null)throw Error(Q(308));_i=e,Ms.dependencies={lanes:0,firstContext:e}}else _i=_i.next=e;return t}var jr=null;function fd(e){jr===null?jr=[e]:jr.push(e)}function Ry(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,fd(t)):(n.next=i.next,i.next=n),t.interleaved=n,Xn(e,r)}function Xn(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var or=!1;function hd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Iy(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Gn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function hr(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Pe&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Xn(e,n)}return i=r.interleaved,i===null?(t.next=t,fd(r)):(t.next=i.next,i.next=t),r.interleaved=t,Xn(e,n)}function vs(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ed(e,n)}}function ig(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Bs(e,t,n,r){var i=e.updateQueue;or=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var l=s,u=l.next;l.next=null,o===null?a=u:o.next=u,o=l;var c=e.alternate;c!==null&&(c=c.updateQueue,s=c.lastBaseUpdate,s!==o&&(s===null?c.firstBaseUpdate=u:s.next=u,c.lastBaseUpdate=l))}if(a!==null){var d=i.baseState;o=0,c=u=l=null,s=a;do{var p=s.lane,m=s.eventTime;if((r&p)===p){c!==null&&(c=c.next={eventTime:m,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var f=e,b=s;switch(p=t,m=n,b.tag){case 1:if(f=b.payload,typeof f=="function"){d=f.call(m,d,p);break e}d=f;break e;case 3:f.flags=f.flags&-65537|128;case 0:if(f=b.payload,p=typeof f=="function"?f.call(m,d,p):f,p==null)break e;d=Ge({},d,p);break e;case 2:or=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,p=i.effects,p===null?i.effects=[s]:p.push(s))}else m={eventTime:m,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},c===null?(u=c=m,l=d):c=c.next=m,o|=p;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(!0);if(c===null&&(l=d),i.baseState=l,i.firstBaseUpdate=u,i.lastBaseUpdate=c,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);Gr|=o,e.lanes=o,e.memoizedState=d}}function ag(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(i!==null){if(r.callback=null,r=n,typeof i!="function")throw Error(Q(191,i));i.call(r)}}}var fo={},Pn=xr(fo),io=xr(fo),ao=xr(fo);function Ur(e){if(e===fo)throw Error(Q(174));return e}function gd(e,t){switch(Be(ao,t),Be(io,e),Be(Pn,fo),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:uc(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=uc(t,e)}Ue(Pn),Be(Pn,t)}function Ki(){Ue(Pn),Ue(io),Ue(ao)}function Py(e){Ur(ao.current);var t=Ur(Pn.current),n=uc(t,e.type);t!==n&&(Be(io,e),Be(Pn,n))}function yd(e){io.current===e&&(Ue(Pn),Ue(io))}var We=xr(0);function js(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Wu=[];function vd(){for(var e=0;e<Wu.length;e++)Wu[e]._workInProgressVersionPrimary=null;Wu.length=0}var bs=Jn.ReactCurrentDispatcher,Ku=Jn.ReactCurrentBatchConfig,Kr=0,Ke=null,lt=null,dt=null,Us=!1,Ha=!1,oo=0,hC=0;function bt(){throw Error(Q(321))}function bd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!wn(e[n],t[n]))return!1;return!0}function kd(e,t,n,r,i,a){if(Kr=a,Ke=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,bs.current=e===null||e.memoizedState===null?bC:kC,e=n(r,i),Ha){a=0;do{if(Ha=!1,oo=0,25<=a)throw Error(Q(301));a+=1,dt=lt=null,t.updateQueue=null,bs.current=wC,e=n(r,i)}while(Ha)}if(bs.current=Hs,t=lt!==null&&lt.next!==null,Kr=0,dt=lt=Ke=null,Us=!1,t)throw Error(Q(300));return e}function wd(){var e=oo!==0;return oo=0,e}function Tn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return dt===null?Ke.memoizedState=dt=e:dt=dt.next=e,dt}function ln(){if(lt===null){var e=Ke.alternate;e=e!==null?e.memoizedState:null}else e=lt.next;var t=dt===null?Ke.memoizedState:dt.next;if(t!==null)dt=t,lt=e;else{if(e===null)throw Error(Q(310));lt=e,e={memoizedState:lt.memoizedState,baseState:lt.baseState,baseQueue:lt.baseQueue,queue:lt.queue,next:null},dt===null?Ke.memoizedState=dt=e:dt=dt.next=e}return dt}function so(e,t){return typeof t=="function"?t(e):t}function Gu(e){var t=ln(),n=t.queue;if(n===null)throw Error(Q(311));n.lastRenderedReducer=e;var r=lt,i=r.baseQueue,a=n.pending;if(a!==null){if(i!==null){var o=i.next;i.next=a.next,a.next=o}r.baseQueue=i=a,n.pending=null}if(i!==null){a=i.next,r=r.baseState;var s=o=null,l=null,u=a;do{var c=u.lane;if((Kr&c)===c)l!==null&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var d={lane:c,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};l===null?(s=l=d,o=r):l=l.next=d,Ke.lanes|=c,Gr|=c}u=u.next}while(u!==null&&u!==a);l===null?o=r:l.next=s,wn(r,t.memoizedState)||($t=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=l,n.lastRenderedState=r}if(e=n.interleaved,e!==null){i=e;do a=i.lane,Ke.lanes|=a,Gr|=a,i=i.next;while(i!==e)}else i===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Yu(e){var t=ln(),n=t.queue;if(n===null)throw Error(Q(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,a=t.memoizedState;if(i!==null){n.pending=null;var o=i=i.next;do a=e(a,o.action),o=o.next;while(o!==i);wn(a,t.memoizedState)||($t=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function Ly(){}function Oy(e,t){var n=Ke,r=ln(),i=t(),a=!wn(r.memoizedState,i);if(a&&(r.memoizedState=i,$t=!0),r=r.queue,xd(Fy.bind(null,n,r,e),[e]),r.getSnapshot!==t||a||dt!==null&&dt.memoizedState.tag&1){if(n.flags|=2048,lo(9,Dy.bind(null,n,r,i,t),void 0,null),pt===null)throw Error(Q(349));Kr&30||_y(n,t,i)}return i}function _y(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Ke.updateQueue,t===null?(t={lastEffect:null,stores:null},Ke.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Dy(e,t,n,r){t.value=n,t.getSnapshot=r,zy(t)&&$y(e)}function Fy(e,t,n){return n(function(){zy(t)&&$y(e)})}function zy(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!wn(e,n)}catch{return!0}}function $y(e){var t=Xn(e,1);t!==null&&kn(t,e,1,-1)}function og(e){var t=Tn();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:so,lastRenderedState:e},t.queue=e,e=e.dispatch=vC.bind(null,Ke,e),[t.memoizedState,e]}function lo(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=Ke.updateQueue,t===null?(t={lastEffect:null,stores:null},Ke.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function My(){return ln().memoizedState}function ks(e,t,n,r){var i=Tn();Ke.flags|=e,i.memoizedState=lo(1|t,n,void 0,r===void 0?null:r)}function tl(e,t,n,r){var i=ln();r=r===void 0?null:r;var a=void 0;if(lt!==null){var o=lt.memoizedState;if(a=o.destroy,r!==null&&bd(r,o.deps)){i.memoizedState=lo(t,n,a,r);return}}Ke.flags|=e,i.memoizedState=lo(1|t,n,a,r)}function sg(e,t){return ks(8390656,8,e,t)}function xd(e,t){return tl(2048,8,e,t)}function By(e,t){return tl(4,2,e,t)}function jy(e,t){return tl(4,4,e,t)}function Uy(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Hy(e,t,n){return n=n!=null?n.concat([e]):null,tl(4,4,Uy.bind(null,t,e),n)}function Nd(){}function qy(e,t){var n=ln();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&bd(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Vy(e,t){var n=ln();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&bd(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Wy(e,t,n){return Kr&21?(wn(n,t)||(n=Xg(),Ke.lanes|=n,Gr|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,$t=!0),e.memoizedState=n)}function gC(e,t){var n=De;De=n!==0&&4>n?n:4,e(!0);var r=Ku.transition;Ku.transition={};try{e(!1),t()}finally{De=n,Ku.transition=r}}function Ky(){return ln().memoizedState}function yC(e,t,n){var r=yr(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Gy(e))Yy(t,n);else if(n=Ry(e,t,n,r),n!==null){var i=Lt();kn(n,e,r,i),Qy(n,t,r)}}function vC(e,t,n){var r=yr(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Gy(e))Yy(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,wn(s,o)){var l=t.interleaved;l===null?(i.next=i,fd(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=Ry(e,t,i,r),n!==null&&(i=Lt(),kn(n,e,r,i),Qy(n,t,r))}}function Gy(e){var t=e.alternate;return e===Ke||t!==null&&t===Ke}function Yy(e,t){Ha=Us=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Qy(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ed(e,n)}}var Hs={readContext:sn,useCallback:bt,useContext:bt,useEffect:bt,useImperativeHandle:bt,useInsertionEffect:bt,useLayoutEffect:bt,useMemo:bt,useReducer:bt,useRef:bt,useState:bt,useDebugValue:bt,useDeferredValue:bt,useTransition:bt,useMutableSource:bt,useSyncExternalStore:bt,useId:bt,unstable_isNewReconciler:!1},bC={readContext:sn,useCallback:function(e,t){return Tn().memoizedState=[e,t===void 0?null:t],e},useContext:sn,useEffect:sg,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ks(4194308,4,Uy.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ks(4194308,4,e,t)},useInsertionEffect:function(e,t){return ks(4,2,e,t)},useMemo:function(e,t){var n=Tn();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Tn();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=yC.bind(null,Ke,e),[r.memoizedState,e]},useRef:function(e){var t=Tn();return e={current:e},t.memoizedState=e},useState:og,useDebugValue:Nd,useDeferredValue:function(e){return Tn().memoizedState=e},useTransition:function(){var e=og(!1),t=e[0];return e=gC.bind(null,e[1]),Tn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Ke,i=Tn();if(Ve){if(n===void 0)throw Error(Q(407));n=n()}else{if(n=t(),pt===null)throw Error(Q(349));Kr&30||_y(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,sg(Fy.bind(null,r,a,e),[e]),r.flags|=2048,lo(9,Dy.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=Tn(),t=pt.identifierPrefix;if(Ve){var n=Kn,r=Wn;n=(r&~(1<<32-bn(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=oo++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=hC++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},kC={readContext:sn,useCallback:qy,useContext:sn,useEffect:xd,useImperativeHandle:Hy,useInsertionEffect:By,useLayoutEffect:jy,useMemo:Vy,useReducer:Gu,useRef:My,useState:function(){return Gu(so)},useDebugValue:Nd,useDeferredValue:function(e){var t=ln();return Wy(t,lt.memoizedState,e)},useTransition:function(){var e=Gu(so)[0],t=ln().memoizedState;return[e,t]},useMutableSource:Ly,useSyncExternalStore:Oy,useId:Ky,unstable_isNewReconciler:!1},wC={readContext:sn,useCallback:qy,useContext:sn,useEffect:xd,useImperativeHandle:Hy,useInsertionEffect:By,useLayoutEffect:jy,useMemo:Vy,useReducer:Yu,useRef:My,useState:function(){return Yu(so)},useDebugValue:Nd,useDeferredValue:function(e){var t=ln();return lt===null?t.memoizedState=e:Wy(t,lt.memoizedState,e)},useTransition:function(){var e=Yu(so)[0],t=ln().memoizedState;return[e,t]},useMutableSource:Ly,useSyncExternalStore:Oy,useId:Ky,unstable_isNewReconciler:!1};function gn(e,t){if(e&&e.defaultProps){t=Ge({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function Ic(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Ge({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var nl={isMounted:function(e){return(e=e._reactInternals)?Xr(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Lt(),i=yr(e),a=Gn(r,i);a.payload=t,n!=null&&(a.callback=n),t=hr(e,a,i),t!==null&&(kn(t,e,i,r),vs(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Lt(),i=yr(e),a=Gn(r,i);a.tag=1,a.payload=t,n!=null&&(a.callback=n),t=hr(e,a,i),t!==null&&(kn(t,e,i,r),vs(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Lt(),r=yr(e),i=Gn(n,r);i.tag=2,t!=null&&(i.callback=t),t=hr(e,i,r),t!==null&&(kn(t,e,r,n),vs(t,e,r))}};function lg(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!eo(n,r)||!eo(i,a):!0}function Xy(e,t,n){var r=!1,i=kr,a=t.contextType;return typeof a=="object"&&a!==null?a=sn(a):(i=Bt(t)?Vr:xt.current,r=t.contextTypes,a=(r=r!=null)?qi(e,i):kr),t=new t(n,a),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=nl,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function ug(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&nl.enqueueReplaceState(t,t.state,null)}function Pc(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},hd(e);var a=t.contextType;typeof a=="object"&&a!==null?i.context=sn(a):(a=Bt(t)?Vr:xt.current,i.context=qi(e,a)),i.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a=="function"&&(Ic(e,t,a,n),i.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(t=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),t!==i.state&&nl.enqueueReplaceState(i,i.state,null),Bs(e,n,i,r),i.state=e.memoizedState),typeof i.componentDidMount=="function"&&(e.flags|=4194308)}function Gi(e,t){try{var n="",r=t;do n+=XS(r),r=r.return;while(r);var i=n}catch(a){i=`\nError generating stack: `+a.message+`\n`+a.stack}return{value:e,source:t,stack:i,digest:null}}function Qu(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Lc(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var xC=typeof WeakMap=="function"?WeakMap:Map;function Zy(e,t,n){n=Gn(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Vs||(Vs=!0,Uc=r),Lc(e,t)},n}function Jy(e,t,n){n=Gn(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){Lc(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(n.callback=function(){Lc(e,t),typeof r!="function"&&(gr===null?gr=new Set([this]):gr.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function cg(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new xC;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=FC.bind(null,e,t,n),t.then(e,e))}function dg(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function pg(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Gn(-1,1),t.tag=2,hr(n,t,1))),n.lanes|=1),e)}var NC=Jn.ReactCurrentOwner,$t=!1;function Pt(e,t,n,r){t.child=e===null?Ty(t,null,n,r):Wi(t,e.child,n,r)}function mg(e,t,n,r,i){n=n.render;var a=t.ref;return ji(t,i),r=kd(e,t,n,r,a,i),n=wd(),e!==null&&!$t?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Zn(e,t,i)):(Ve&&n&&ld(t),t.flags|=1,Pt(e,t,r,i),t.child)}function fg(e,t,n,r,i){if(e===null){var a=n.type;return typeof a=="function"&&!Pd(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,ev(e,t,a,r,i)):(e=Ss(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!(e.lanes&i)){var o=a.memoizedProps;if(n=n.compare,n=n!==null?n:eo,n(o,r)&&e.ref===t.ref)return Zn(e,t,i)}return t.flags|=1,e=vr(a,r),e.ref=t.ref,e.return=t,t.child=e}function ev(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(eo(a,r)&&e.ref===t.ref)if($t=!1,t.pendingProps=r=a,(e.lanes&i)!==0)e.flags&131072&&($t=!0);else return t.lanes=e.lanes,Zn(e,t,i)}return Oc(e,t,n,r,i)}function tv(e,t,n){var r=t.pendingProps,i=r.children,a=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Be(Fi,Wt),Wt|=n;else{if(!(n&1073741824))return e=a!==null?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Be(Fi,Wt),Wt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a!==null?a.baseLanes:n,Be(Fi,Wt),Wt|=r}else a!==null?(r=a.baseLanes|n,t.memoizedState=null):r=n,Be(Fi,Wt),Wt|=r;return Pt(e,t,i,n),t.child}function nv(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Oc(e,t,n,r,i){var a=Bt(n)?Vr:xt.current;return a=qi(t,a),ji(t,i),n=kd(e,t,n,r,a,i),r=wd(),e!==null&&!$t?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Zn(e,t,i)):(Ve&&r&&ld(t),t.flags|=1,Pt(e,t,n,i),t.child)}function hg(e,t,n,r,i){if(Bt(n)){var a=!0;Ds(t)}else a=!1;if(ji(t,i),t.stateNode===null)ws(e,t),Xy(t,n,r),Pc(t,n,r,i),r=!0;else if(e===null){var o=t.stateNode,s=t.memoizedProps;o.props=s;var l=o.context,u=n.contextType;typeof u=="object"&&u!==null?u=sn(u):(u=Bt(n)?Vr:xt.current,u=qi(t,u));var c=n.getDerivedStateFromProps,d=typeof c=="function"||typeof o.getSnapshotBeforeUpdate=="function";d||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(s!==r||l!==u)&&ug(t,o,r,u),or=!1;var p=t.memoizedState;o.state=p,Bs(t,r,o,i),l=t.memoizedState,s!==r||p!==l||Mt.current||or?(typeof c=="function"&&(Ic(t,n,c,r),l=t.memoizedState),(s=or||lg(t,n,s,r,p,l,u))?(d||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),o.props=r,o.state=l,o.context=u,r=s):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,Iy(e,t),s=t.memoizedProps,u=t.type===t.elementType?s:gn(t.type,s),o.props=u,d=t.pendingProps,p=o.context,l=n.contextType,typeof l=="object"&&l!==null?l=sn(l):(l=Bt(n)?Vr:xt.current,l=qi(t,l));var m=n.getDerivedStateFromProps;(c=typeof m=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(s!==d||p!==l)&&ug(t,o,r,l),or=!1,p=t.memoizedState,o.state=p,Bs(t,r,o,i);var f=t.memoizedState;s!==d||p!==f||Mt.current||or?(typeof m=="function"&&(Ic(t,n,m,r),f=t.memoizedState),(u=or||lg(t,n,u,r,p,f,l)||!1)?(c||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,f,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,f,l)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=f),o.props=r,o.state=f,o.context=l,r=u):(typeof o.componentDidUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return _c(e,t,n,r,a,i)}function _c(e,t,n,r,i,a){nv(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return i&&eg(t,n,!1),Zn(e,t,a);r=t.stateNode,NC.current=t;var s=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&o?(t.child=Wi(t,e.child,null,a),t.child=Wi(t,null,s,a)):Pt(e,t,s,a),t.memoizedState=r.state,i&&eg(t,n,!0),t.child}function rv(e){var t=e.stateNode;t.pendingContext?Jh(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Jh(e,t.context,!1),gd(e,t.containerInfo)}function gg(e,t,n,r,i){return Vi(),cd(i),t.flags|=256,Pt(e,t,n,r),t.child}var Dc={dehydrated:null,treeContext:null,retryLane:0};function Fc(e){return{baseLanes:e,cachePool:null,transitions:null}}function iv(e,t,n){var r=t.pendingProps,i=We.current,a=!1,o=(t.flags&128)!==0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(i&2)!==0),s?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),Be(We,i&1),e===null)return Tc(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,a?(r=t.mode,a=t.child,o={mode:"hidden",children:o},!(r&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=al(o,r,0,null),e=qr(e,r,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Fc(n),t.memoizedState=Dc,e):Sd(t,o));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return SC(e,t,o,r,s,i,n);if(a){a=r.fallback,o=t.mode,i=e.child,s=i.sibling;var l={mode:"hidden",children:r.children};return!(o&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=vr(i,l),r.subtreeFlags=i.subtreeFlags&14680064),s!==null?a=vr(s,a):(a=qr(a,o,n,null),a.flags|=2),a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,o=e.child.memoizedState,o=o===null?Fc(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~n,t.memoizedState=Dc,r}return a=e.child,e=a.sibling,r=vr(a,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Sd(e,t){return t=al({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function ps(e,t,n,r){return r!==null&&cd(r),Wi(t,e.child,null,n),e=Sd(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function SC(e,t,n,r,i,a,o){if(n)return t.flags&256?(t.flags&=-257,r=Qu(Error(Q(422))),ps(e,t,o,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(a=r.fallback,i=t.mode,r=al({mode:"visible",children:r.children},i,0,null),a=qr(a,i,o,null),a.flags|=2,r.return=t,a.return=t,r.sibling=a,t.child=r,t.mode&1&&Wi(t,e.child,null,o),t.child.memoizedState=Fc(o),t.memoizedState=Dc,a);if(!(t.mode&1))return ps(e,t,o,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var s=r.dgst;return r=s,a=Error(Q(419)),r=Qu(a,r,void 0),ps(e,t,o,r)}if(s=(o&e.childLanes)!==0,$t||s){if(r=pt,r!==null){switch(o&-o){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|o)?0:i,i!==0&&i!==a.retryLane&&(a.retryLane=i,Xn(e,i),kn(r,e,i,-1))}return Id(),r=Qu(Error(Q(421))),ps(e,t,o,r)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=zC.bind(null,e),i._reactRetry=t,null):(e=a.treeContext,Kt=fr(i.nextSibling),Gt=t,Ve=!0,vn=null,e!==null&&(nn[rn++]=Wn,nn[rn++]=Kn,nn[rn++]=Wr,Wn=e.id,Kn=e.overflow,Wr=t),t=Sd(t,r.children),t.flags|=4096,t)}function yg(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Rc(e.return,t,n)}function Xu(e,t,n,r,i){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=i)}function av(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(Pt(e,t,r.children,n),r=We.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&yg(e,n,t);else if(e.tag===19)yg(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Be(We,r),!(t.mode&1))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&js(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Xu(t,!1,i,n,a);break;case"backwards":for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&js(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Xu(t,!0,n,null,a);break;case"together":Xu(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function ws(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Zn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Gr|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(Q(153));if(t.child!==null){for(e=t.child,n=vr(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=vr(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function EC(e,t,n){switch(t.tag){case 3:rv(t),Vi();break;case 5:Py(t);break;case 1:Bt(t.type)&&Ds(t);break;case 4:gd(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Be($s,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(Be(We,We.current&1),t.flags|=128,null):n&t.child.childLanes?iv(e,t,n):(Be(We,We.current&1),e=Zn(e,t,n),e!==null?e.sibling:null);Be(We,We.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return av(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Be(We,We.current),r)break;return null;case 22:case 23:return t.lanes=0,tv(e,t,n)}return Zn(e,t,n)}var ov,zc,sv,lv;ov=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};zc=function(){};sv=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,Ur(Pn.current);var a=null;switch(n){case"input":i=ac(e,i),r=ac(e,r),a=[];break;case"select":i=Ge({},i,{value:void 0}),r=Ge({},r,{value:void 0}),a=[];break;case"textarea":i=lc(e,i),r=lc(e,r),a=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Os)}cc(n,r);var o;n=null;for(u in i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null)if(u==="style"){var s=i[u];for(o in s)s.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Ka.hasOwnProperty(u)?a||(a=[]):(a=a||[]).push(u,null));for(u in r){var l=r[u];if(s=i?.[u],r.hasOwnProperty(u)&&l!==s&&(l!=null||s!=null))if(u==="style")if(s){for(o in s)!s.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in l)l.hasOwnProperty(o)&&s[o]!==l[o]&&(n||(n={}),n[o]=l[o])}else n||(a||(a=[]),a.push(u,n)),n=l;else u==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,s=s?s.__html:void 0,l!=null&&s!==l&&(a=a||[]).push(u,l)):u==="children"?typeof l!="string"&&typeof l!="number"||(a=a||[]).push(u,""+l):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Ka.hasOwnProperty(u)?(l!=null&&u==="onScroll"&&je("scroll",e),a||s===l||(a=[])):(a=a||[]).push(u,l))}n&&(a=a||[]).push("style",n);var u=a;(t.updateQueue=u)&&(t.flags|=4)}};lv=function(e,t,n,r){n!==r&&(t.flags|=4)};function Pa(e,t){if(!Ve)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function kt(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function CC(e,t,n){var r=t.pendingProps;switch(ud(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return kt(t),null;case 1:return Bt(t.type)&&_s(),kt(t),null;case 3:return r=t.stateNode,Ki(),Ue(Mt),Ue(xt),vd(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(cs(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,vn!==null&&(Vc(vn),vn=null))),zc(e,t),kt(t),null;case 5:yd(t);var i=Ur(ao.current);if(n=t.type,e!==null&&t.stateNode!=null)sv(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(Q(166));return kt(t),null}if(e=Ur(Pn.current),cs(t)){r=t.stateNode,n=t.type;var a=t.memoizedProps;switch(r[Rn]=t,r[ro]=a,e=(t.mode&1)!==0,n){case"dialog":je("cancel",r),je("close",r);break;case"iframe":case"object":case"embed":je("load",r);break;case"video":case"audio":for(i=0;i<za.length;i++)je(za[i],r);break;case"source":je("error",r);break;case"img":case"image":case"link":je("error",r),je("load",r);break;case"details":je("toggle",r);break;case"input":Eh(r,a),je("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!a.multiple},je("invalid",r);break;case"textarea":Ah(r,a),je("invalid",r)}cc(n,a),i=null;for(var o in a)if(a.hasOwnProperty(o)){var s=a[o];o==="children"?typeof s=="string"?r.textContent!==s&&(a.suppressHydrationWarning!==!0&&us(r.textContent,s,e),i=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(a.suppressHydrationWarning!==!0&&us(r.textContent,s,e),i=["children",""+s]):Ka.hasOwnProperty(o)&&s!=null&&o==="onScroll"&&je("scroll",r)}switch(n){case"input":Xo(r),Ch(r,a,!0);break;case"textarea":Xo(r),Th(r);break;case"select":case"option":break;default:typeof a.onClick=="function"&&(r.onclick=Os)}r=i,t.updateQueue=r,r!==null&&(t.flags|=4)}else{o=i.nodeType===9?i:i.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Fg(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=o.createElement("div"),e.innerHTML="<script><\\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Rn]=t,e[ro]=r,ov(e,t,!1,!1),t.stateNode=e;e:{switch(o=dc(n,r),n){case"dialog":je("cancel",e),je("close",e),i=r;break;case"iframe":case"object":case"embed":je("load",e),i=r;break;case"video":case"audio":for(i=0;i<za.length;i++)je(za[i],e);i=r;break;case"source":je("error",e),i=r;break;case"img":case"image":case"link":je("error",e),je("load",e),i=r;break;case"details":je("toggle",e),i=r;break;case"input":Eh(e,r),i=ac(e,r),je("invalid",e);break;case"option":i=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},i=Ge({},r,{value:void 0}),je("invalid",e);break;case"textarea":Ah(e,r),i=lc(e,r),je("invalid",e);break;default:i=r}cc(n,i),s=i;for(a in s)if(s.hasOwnProperty(a)){var l=s[a];a==="style"?Mg(e,l):a==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&zg(e,l)):a==="children"?typeof l=="string"?(n!=="textarea"||l!=="")&&Ga(e,l):typeof l=="number"&&Ga(e,""+l):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(Ka.hasOwnProperty(a)?l!=null&&a==="onScroll"&&je("scroll",e):l!=null&&Gc(e,a,l,o))}switch(n){case"input":Xo(e),Ch(e,r,!1);break;case"textarea":Xo(e),Th(e);break;case"option":r.value!=null&&e.setAttribute("value",""+br(r.value));break;case"select":e.multiple=!!r.multiple,a=r.value,a!=null?zi(e,!!r.multiple,a,!1):r.defaultValue!=null&&zi(e,!!r.multiple,r.defaultValue,!0);break;default:typeof i.onClick=="function"&&(e.onclick=Os)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return kt(t),null;case 6:if(e&&t.stateNode!=null)lv(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(Q(166));if(n=Ur(ao.current),Ur(Pn.current),cs(t)){if(r=t.stateNode,n=t.memoizedProps,r[Rn]=t,(a=r.nodeValue!==n)&&(e=Gt,e!==null))switch(e.tag){case 3:us(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&us(r.nodeValue,n,(e.mode&1)!==0)}a&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[Rn]=t,t.stateNode=r}return kt(t),null;case 13:if(Ue(We),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Ve&&Kt!==null&&t.mode&1&&!(t.flags&128))Cy(),Vi(),t.flags|=98560,a=!1;else if(a=cs(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(Q(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(Q(317));a[Rn]=t}else Vi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;kt(t),a=!1}else vn!==null&&(Vc(vn),vn=null),a=!0;if(!a)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||We.current&1?ut===0&&(ut=3):Id())),t.updateQueue!==null&&(t.flags|=4),kt(t),null);case 4:return Ki(),zc(e,t),e===null&&to(t.stateNode.containerInfo),kt(t),null;case 10:return md(t.type._context),kt(t),null;case 17:return Bt(t.type)&&_s(),kt(t),null;case 19:if(Ue(We),a=t.memoizedState,a===null)return kt(t),null;if(r=(t.flags&128)!==0,o=a.rendering,o===null)if(r)Pa(a,!1);else{if(ut!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=js(e),o!==null){for(t.flags|=128,Pa(a,!1),r=o.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)a=n,e=r,a.flags&=14680066,o=a.alternate,o===null?(a.childLanes=0,a.lanes=e,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=o.childLanes,a.lanes=o.lanes,a.child=o.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=o.memoizedProps,a.memoizedState=o.memoizedState,a.updateQueue=o.updateQueue,a.type=o.type,e=o.dependencies,a.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Be(We,We.current&1|2),t.child}e=e.sibling}a.tail!==null&&Je()>Yi&&(t.flags|=128,r=!0,Pa(a,!1),t.lanes=4194304)}else{if(!r)if(e=js(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Pa(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!Ve)return kt(t),null}else 2*Je()-a.renderingStartTime>Yi&&n!==1073741824&&(t.flags|=128,r=!0,Pa(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(n=a.last,n!==null?n.sibling=o:t.child=o,a.last=o)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=Je(),t.sibling=null,n=We.current,Be(We,r?n&1|2:n&1),t):(kt(t),null);case 22:case 23:return Rd(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Wt&1073741824&&(kt(t),t.subtreeFlags&6&&(t.flags|=8192)):kt(t),null;case 24:return null;case 25:return null}throw Error(Q(156,t.tag))}function AC(e,t){switch(ud(t),t.tag){case 1:return Bt(t.type)&&_s(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ki(),Ue(Mt),Ue(xt),vd(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return yd(t),null;case 13:if(Ue(We),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Q(340));Vi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ue(We),null;case 4:return Ki(),null;case 10:return md(t.type._context),null;case 22:case 23:return Rd(),null;case 24:return null;default:return null}}var ms=!1,wt=!1,TC=typeof WeakSet=="function"?WeakSet:Set,de=null;function Di(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Qe(e,t,r)}else n.current=null}function $c(e,t,n){try{n()}catch(r){Qe(e,t,r)}}var vg=!1;function RC(e,t){if(wc=Is,e=my(),sd(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var o=0,s=-1,l=-1,u=0,c=0,d=e,p=null;t:for(;;){for(var m;d!==n||i!==0&&d.nodeType!==3||(s=o+i),d!==a||r!==0&&d.nodeType!==3||(l=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(m=d.firstChild)!==null;)p=d,d=m;for(;;){if(d===e)break t;if(p===n&&++u===i&&(s=o),p===a&&++c===r&&(l=o),(m=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=m}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(xc={focusedElem:e,selectionRange:n},Is=!1,de=t;de!==null;)if(t=de,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,de=e;else for(;de!==null;){t=de;try{var f=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(f!==null){var b=f.memoizedProps,v=f.memoizedState,h=t.stateNode,y=h.getSnapshotBeforeUpdate(t.elementType===t.type?b:gn(t.type,b),v);h.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var x=t.stateNode.containerInfo;x.nodeType===1?x.textContent="":x.nodeType===9&&x.documentElement&&x.removeChild(x.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Q(163))}}catch(S){Qe(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,de=e;break}de=t.return}return f=vg,vg=!1,f}function qa(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&$c(t,n,a)}i=i.next}while(i!==r)}}function rl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Mc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function uv(e){var t=e.alternate;t!==null&&(e.alternate=null,uv(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Rn],delete t[ro],delete t[Ec],delete t[dC],delete t[pC])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function cv(e){return e.tag===5||e.tag===3||e.tag===4}function bg(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||cv(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Bc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Os));else if(r!==4&&(e=e.child,e!==null))for(Bc(e,t,n),e=e.sibling;e!==null;)Bc(e,t,n),e=e.sibling}function jc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(jc(e,t,n),e=e.sibling;e!==null;)jc(e,t,n),e=e.sibling}var ht=null,yn=!1;function ir(e,t,n){for(n=n.child;n!==null;)dv(e,t,n),n=n.sibling}function dv(e,t,n){if(In&&typeof In.onCommitFiberUnmount=="function")try{In.onCommitFiberUnmount(Ys,n)}catch{}switch(n.tag){case 5:wt||Di(n,t);case 6:var r=ht,i=yn;ht=null,ir(e,t,n),ht=r,yn=i,ht!==null&&(yn?(e=ht,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ht.removeChild(n.stateNode));break;case 18:ht!==null&&(yn?(e=ht,n=n.stateNode,e.nodeType===8?qu(e.parentNode,n):e.nodeType===1&&qu(e,n),Za(e)):qu(ht,n.stateNode));break;case 4:r=ht,i=yn,ht=n.stateNode.containerInfo,yn=!0,ir(e,t,n),ht=r,yn=i;break;case 0:case 11:case 14:case 15:if(!wt&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&$c(n,t,o),i=i.next}while(i!==r)}ir(e,t,n);break;case 1:if(!wt&&(Di(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){Qe(n,t,s)}ir(e,t,n);break;case 21:ir(e,t,n);break;case 22:n.mode&1?(wt=(r=wt)||n.memoizedState!==null,ir(e,t,n),wt=r):ir(e,t,n);break;default:ir(e,t,n)}}function kg(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new TC),t.forEach(function(r){var i=$C.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function hn(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r];try{var a=e,o=t,s=o;e:for(;s!==null;){switch(s.tag){case 5:ht=s.stateNode,yn=!1;break e;case 3:ht=s.stateNode.containerInfo,yn=!0;break e;case 4:ht=s.stateNode.containerInfo,yn=!0;break e}s=s.return}if(ht===null)throw Error(Q(160));dv(a,o,i),ht=null,yn=!1;var l=i.alternate;l!==null&&(l.return=null),i.return=null}catch(u){Qe(i,t,u)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)pv(t,e),t=t.sibling}function pv(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(hn(t,e),An(e),r&4){try{qa(3,e,e.return),rl(3,e)}catch(b){Qe(e,e.return,b)}try{qa(5,e,e.return)}catch(b){Qe(e,e.return,b)}}break;case 1:hn(t,e),An(e),r&512&&n!==null&&Di(n,n.return);break;case 5:if(hn(t,e),An(e),r&512&&n!==null&&Di(n,n.return),e.flags&32){var i=e.stateNode;try{Ga(i,"")}catch(b){Qe(e,e.return,b)}}if(r&4&&(i=e.stateNode,i!=null)){var a=e.memoizedProps,o=n!==null?n.memoizedProps:a,s=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{s==="input"&&a.type==="radio"&&a.name!=null&&_g(i,a),dc(s,o);var u=dc(s,a);for(o=0;o<l.length;o+=2){var c=l[o],d=l[o+1];c==="style"?Mg(i,d):c==="dangerouslySetInnerHTML"?zg(i,d):c==="children"?Ga(i,d):Gc(i,c,d,u)}switch(s){case"input":oc(i,a);break;case"textarea":Dg(i,a);break;case"select":var p=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!a.multiple;var m=a.value;m!=null?zi(i,!!a.multiple,m,!1):p!==!!a.multiple&&(a.defaultValue!=null?zi(i,!!a.multiple,a.defaultValue,!0):zi(i,!!a.multiple,a.multiple?[]:"",!1))}i[ro]=a}catch(b){Qe(e,e.return,b)}}break;case 6:if(hn(t,e),An(e),r&4){if(e.stateNode===null)throw Error(Q(162));i=e.stateNode,a=e.memoizedProps;try{i.nodeValue=a}catch(b){Qe(e,e.return,b)}}break;case 3:if(hn(t,e),An(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Za(t.containerInfo)}catch(b){Qe(e,e.return,b)}break;case 4:hn(t,e),An(e);break;case 13:hn(t,e),An(e),i=e.child,i.flags&8192&&(a=i.memoizedState!==null,i.stateNode.isHidden=a,!a||i.alternate!==null&&i.alternate.memoizedState!==null||(Ad=Je())),r&4&&kg(e);break;case 22:if(c=n!==null&&n.memoizedState!==null,e.mode&1?(wt=(u=wt)||c,hn(t,e),wt=u):hn(t,e),An(e),r&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!c&&e.mode&1)for(de=e,c=e.child;c!==null;){for(d=de=c;de!==null;){switch(p=de,m=p.child,p.tag){case 0:case 11:case 14:case 15:qa(4,p,p.return);break;case 1:Di(p,p.return);var f=p.stateNode;if(typeof f.componentWillUnmount=="function"){r=p,n=p.return;try{t=r,f.props=t.memoizedProps,f.state=t.memoizedState,f.componentWillUnmount()}catch(b){Qe(r,n,b)}}break;case 5:Di(p,p.return);break;case 22:if(p.memoizedState!==null){xg(d);continue}}m!==null?(m.return=p,de=m):xg(d)}c=c.sibling}e:for(c=null,d=e;;){if(d.tag===5){if(c===null){c=d;try{i=d.stateNode,u?(a=i.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none"):(s=d.stateNode,l=d.memoizedProps.style,o=l!=null&&l.hasOwnProperty("display")?l.display:null,s.style.display=$g("display",o))}catch(b){Qe(e,e.return,b)}}}else if(d.tag===6){if(c===null)try{d.stateNode.nodeValue=u?"":d.memoizedProps}catch(b){Qe(e,e.return,b)}}else if((d.tag!==22&&d.tag!==23||d.memoizedState===null||d===e)&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===e)break e;for(;d.sibling===null;){if(d.return===null||d.return===e)break e;c===d&&(c=null),d=d.return}c===d&&(c=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:hn(t,e),An(e),r&4&&kg(e);break;case 21:break;default:hn(t,e),An(e)}}function An(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(cv(n)){var r=n;break e}n=n.return}throw Error(Q(160))}switch(r.tag){case 5:var i=r.stateNode;r.flags&32&&(Ga(i,""),r.flags&=-33);var a=bg(e);jc(e,a,i);break;case 3:case 4:var o=r.stateNode.containerInfo,s=bg(e);Bc(e,s,o);break;default:throw Error(Q(161))}}catch(l){Qe(e,e.return,l)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function IC(e,t,n){de=e,mv(e,t,n)}function mv(e,t,n){for(var r=(e.mode&1)!==0;de!==null;){var i=de,a=i.child;if(i.tag===22&&r){var o=i.memoizedState!==null||ms;if(!o){var s=i.alternate,l=s!==null&&s.memoizedState!==null||wt;s=ms;var u=wt;if(ms=o,(wt=l)&&!u)for(de=i;de!==null;)o=de,l=o.child,o.tag===22&&o.memoizedState!==null?Ng(i):l!==null?(l.return=o,de=l):Ng(i);for(;a!==null;)de=a,mv(a,t,n),a=a.sibling;de=i,ms=s,wt=u}wg(e,t,n)}else i.subtreeFlags&8772&&a!==null?(a.return=i,de=a):wg(e,t,n)}}function wg(e){for(;de!==null;){var t=de;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:wt||rl(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!wt)if(n===null)r.componentDidMount();else{var i=t.elementType===t.type?n.memoizedProps:gn(t.type,n.memoizedProps);r.componentDidUpdate(i,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;a!==null&&ag(t,a,r);break;case 3:var o=t.updateQueue;if(o!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}ag(t,o,n)}break;case 5:var s=t.stateNode;if(n===null&&t.flags&4){n=s;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var c=u.memoizedState;if(c!==null){var d=c.dehydrated;d!==null&&Za(d)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(Q(163))}wt||t.flags&512&&Mc(t)}catch(p){Qe(t,t.return,p)}}if(t===e){de=null;break}if(n=t.sibling,n!==null){n.return=t.return,de=n;break}de=t.return}}function xg(e){for(;de!==null;){var t=de;if(t===e){de=null;break}var n=t.sibling;if(n!==null){n.return=t.return,de=n;break}de=t.return}}function Ng(e){for(;de!==null;){var t=de;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rl(4,t)}catch(l){Qe(t,n,l)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var i=t.return;try{r.componentDidMount()}catch(l){Qe(t,i,l)}}var a=t.return;try{Mc(t)}catch(l){Qe(t,a,l)}break;case 5:var o=t.return;try{Mc(t)}catch(l){Qe(t,o,l)}}}catch(l){Qe(t,t.return,l)}if(t===e){de=null;break}var s=t.sibling;if(s!==null){s.return=t.return,de=s;break}de=t.return}}var PC=Math.ceil,qs=Jn.ReactCurrentDispatcher,Ed=Jn.ReactCurrentOwner,on=Jn.ReactCurrentBatchConfig,Pe=0,pt=null,nt=null,gt=0,Wt=0,Fi=xr(0),ut=0,uo=null,Gr=0,il=0,Cd=0,Va=null,zt=null,Ad=0,Yi=1/0,qn=null,Vs=!1,Uc=null,gr=null,fs=!1,cr=null,Ws=0,Wa=0,Hc=null,xs=-1,Ns=0;function Lt(){return Pe&6?Je():xs!==-1?xs:xs=Je()}function yr(e){return e.mode&1?Pe&2&&gt!==0?gt&-gt:fC.transition!==null?(Ns===0&&(Ns=Xg()),Ns):(e=De,e!==0||(e=window.event,e=e===void 0?16:iy(e.type)),e):1}function kn(e,t,n,r){if(50<Wa)throw Wa=0,Hc=null,Error(Q(185));co(e,n,r),(!(Pe&2)||e!==pt)&&(e===pt&&(!(Pe&2)&&(il|=n),ut===4&&lr(e,gt)),jt(e,r),n===1&&Pe===0&&!(t.mode&1)&&(Yi=Je()+500,el&&Nr()))}function jt(e,t){var n=e.callbackNode;gE(e,t);var r=Rs(e,e===pt?gt:0);if(r===0)n!==null&&Ph(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Ph(n),t===1)e.tag===0?mC(Sg.bind(null,e)):Ny(Sg.bind(null,e)),uC(function(){!(Pe&6)&&Nr()}),n=null;else{switch(Zg(r)){case 1:n=Jc;break;case 4:n=Yg;break;case 16:n=Ts;break;case 536870912:n=Qg;break;default:n=Ts}n=wv(n,fv.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function fv(e,t){if(xs=-1,Ns=0,Pe&6)throw Error(Q(327));var n=e.callbackNode;if(Ui()&&e.callbackNode!==n)return null;var r=Rs(e,e===pt?gt:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=Ks(e,r);else{t=r;var i=Pe;Pe|=2;var a=gv();(pt!==e||gt!==t)&&(qn=null,Yi=Je()+500,Hr(e,t));do try{_C();break}catch(s){hv(e,s)}while(!0);pd(),qs.current=a,Pe=i,nt!==null?t=0:(pt=null,gt=0,t=ut)}if(t!==0){if(t===2&&(i=gc(e),i!==0&&(r=i,t=qc(e,i))),t===1)throw n=uo,Hr(e,0),lr(e,r),jt(e,Je()),n;if(t===6)lr(e,r);else{if(i=e.current.alternate,!(r&30)&&!LC(i)&&(t=Ks(e,r),t===2&&(a=gc(e),a!==0&&(r=a,t=qc(e,a))),t===1))throw n=uo,Hr(e,0),lr(e,r),jt(e,Je()),n;switch(e.finishedWork=i,e.finishedLanes=r,t){case 0:case 1:throw Error(Q(345));case 2:Mr(e,zt,qn);break;case 3:if(lr(e,r),(r&130023424)===r&&(t=Ad+500-Je(),10<t)){if(Rs(e,0)!==0)break;if(i=e.suspendedLanes,(i&r)!==r){Lt(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=Sc(Mr.bind(null,e,zt,qn),t);break}Mr(e,zt,qn);break;case 4:if(lr(e,r),(r&4194240)===r)break;for(t=e.eventTimes,i=-1;0<r;){var o=31-bn(r);a=1<<o,o=t[o],o>i&&(i=o),r&=~a}if(r=i,r=Je()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*PC(r/1960))-r,10<r){e.timeoutHandle=Sc(Mr.bind(null,e,zt,qn),r);break}Mr(e,zt,qn);break;case 5:Mr(e,zt,qn);break;default:throw Error(Q(329))}}}return jt(e,Je()),e.callbackNode===n?fv.bind(null,e):null}function qc(e,t){var n=Va;return e.current.memoizedState.isDehydrated&&(Hr(e,t).flags|=256),e=Ks(e,t),e!==2&&(t=zt,zt=n,t!==null&&Vc(t)),e}function Vc(e){zt===null?zt=e:zt.push.apply(zt,e)}function LC(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!wn(a(),i))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function lr(e,t){for(t&=~Cd,t&=~il,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-bn(t),r=1<<n;e[n]=-1,t&=~r}}function Sg(e){if(Pe&6)throw Error(Q(327));Ui();var t=Rs(e,0);if(!(t&1))return jt(e,Je()),null;var n=Ks(e,t);if(e.tag!==0&&n===2){var r=gc(e);r!==0&&(t=r,n=qc(e,r))}if(n===1)throw n=uo,Hr(e,0),lr(e,t),jt(e,Je()),n;if(n===6)throw Error(Q(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Mr(e,zt,qn),jt(e,Je()),null}function Td(e,t){var n=Pe;Pe|=1;try{return e(t)}finally{Pe=n,Pe===0&&(Yi=Je()+500,el&&Nr())}}function Yr(e){cr!==null&&cr.tag===0&&!(Pe&6)&&Ui();var t=Pe;Pe|=1;var n=on.transition,r=De;try{if(on.transition=null,De=1,e)return e()}finally{De=r,on.transition=n,Pe=t,!(Pe&6)&&Nr()}}function Rd(){Wt=Fi.current,Ue(Fi)}function Hr(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,lC(n)),nt!==null)for(n=nt.return;n!==null;){var r=n;switch(ud(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&_s();break;case 3:Ki(),Ue(Mt),Ue(xt),vd();break;case 5:yd(r);break;case 4:Ki();break;case 13:Ue(We);break;case 19:Ue(We);break;case 10:md(r.type._context);break;case 22:case 23:Rd()}n=n.return}if(pt=e,nt=e=vr(e.current,null),gt=Wt=t,ut=0,uo=null,Cd=il=Gr=0,zt=Va=null,jr!==null){for(t=0;t<jr.length;t++)if(n=jr[t],r=n.interleaved,r!==null){n.interleaved=null;var i=r.next,a=n.pending;if(a!==null){var o=a.next;a.next=i,r.next=o}n.pending=r}jr=null}return e}function hv(e,t){do{var n=nt;try{if(pd(),bs.current=Hs,Us){for(var r=Ke.memoizedState;r!==null;){var i=r.queue;i!==null&&(i.pending=null),r=r.next}Us=!1}if(Kr=0,dt=lt=Ke=null,Ha=!1,oo=0,Ed.current=null,n===null||n.return===null){ut=1,uo=t,nt=null;break}e:{var a=e,o=n.return,s=n,l=t;if(t=gt,s.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){var u=l,c=s,d=c.tag;if(!(c.mode&1)&&(d===0||d===11||d===15)){var p=c.alternate;p?(c.updateQueue=p.updateQueue,c.memoizedState=p.memoizedState,c.lanes=p.lanes):(c.updateQueue=null,c.memoizedState=null)}var m=dg(o);if(m!==null){m.flags&=-257,pg(m,o,s,a,t),m.mode&1&&cg(a,u,t),t=m,l=u;var f=t.updateQueue;if(f===null){var b=new Set;b.add(l),t.updateQueue=b}else f.add(l);break e}else{if(!(t&1)){cg(a,u,t),Id();break e}l=Error(Q(426))}}else if(Ve&&s.mode&1){var v=dg(o);if(v!==null){!(v.flags&65536)&&(v.flags|=256),pg(v,o,s,a,t),cd(Gi(l,s));break e}}a=l=Gi(l,s),ut!==4&&(ut=2),Va===null?Va=[a]:Va.push(a),a=o;do{switch(a.tag){case 3:a.flags|=65536,t&=-t,a.lanes|=t;var h=Zy(a,l,t);ig(a,h);break e;case 1:s=l;var y=a.type,x=a.stateNode;if(!(a.flags&128)&&(typeof y.getDerivedStateFromError=="function"||x!==null&&typeof x.componentDidCatch=="function"&&(gr===null||!gr.has(x)))){a.flags|=65536,t&=-t,a.lanes|=t;var S=Jy(a,s,t);ig(a,S);break e}}a=a.return}while(a!==null)}vv(n)}catch(E){t=E,nt===n&&n!==null&&(nt=n=n.return);continue}break}while(!0)}function gv(){var e=qs.current;return qs.current=Hs,e===null?Hs:e}function Id(){(ut===0||ut===3||ut===2)&&(ut=4),pt===null||!(Gr&268435455)&&!(il&268435455)||lr(pt,gt)}function Ks(e,t){var n=Pe;Pe|=2;var r=gv();(pt!==e||gt!==t)&&(qn=null,Hr(e,t));do try{OC();break}catch(i){hv(e,i)}while(!0);if(pd(),Pe=n,qs.current=r,nt!==null)throw Error(Q(261));return pt=null,gt=0,ut}function OC(){for(;nt!==null;)yv(nt)}function _C(){for(;nt!==null&&!sE();)yv(nt)}function yv(e){var t=kv(e.alternate,e,Wt);e.memoizedProps=e.pendingProps,t===null?vv(e):nt=t,Ed.current=null}function vv(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=AC(n,t),n!==null){n.flags&=32767,nt=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{ut=6,nt=null;return}}else if(n=CC(n,t,Wt),n!==null){nt=n;return}if(t=t.sibling,t!==null){nt=t;return}nt=t=e}while(t!==null);ut===0&&(ut=5)}function Mr(e,t,n){var r=De,i=on.transition;try{on.transition=null,De=1,DC(e,t,n,r)}finally{on.transition=i,De=r}return null}function DC(e,t,n,r){do Ui();while(cr!==null);if(Pe&6)throw Error(Q(327));n=e.finishedWork;var i=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(Q(177));e.callbackNode=null,e.callbackPriority=0;var a=n.lanes|n.childLanes;if(yE(e,a),e===pt&&(nt=pt=null,gt=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||fs||(fs=!0,wv(Ts,function(){return Ui(),null})),a=(n.flags&15990)!==0,n.subtreeFlags&15990||a){a=on.transition,on.transition=null;var o=De;De=1;var s=Pe;Pe|=4,Ed.current=null,RC(e,n),pv(n,e),rC(xc),Is=!!wc,xc=wc=null,e.current=n,IC(n,e,i),lE(),Pe=s,De=o,on.transition=a}else e.current=n;if(fs&&(fs=!1,cr=e,Ws=i),a=e.pendingLanes,a===0&&(gr=null),dE(n.stateNode,r),jt(e,Je()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)i=t[n],r(i.value,{componentStack:i.stack,digest:i.digest});if(Vs)throw Vs=!1,e=Uc,Uc=null,e;return Ws&1&&e.tag!==0&&Ui(),a=e.pendingLanes,a&1?e===Hc?Wa++:(Wa=0,Hc=e):Wa=0,Nr(),null}function Ui(){if(cr!==null){var e=Zg(Ws),t=on.transition,n=De;try{if(on.transition=null,De=16>e?16:e,cr===null)var r=!1;else{if(e=cr,cr=null,Ws=0,Pe&6)throw Error(Q(331));var i=Pe;for(Pe|=4,de=e.current;de!==null;){var a=de,o=a.child;if(de.flags&16){var s=a.deletions;if(s!==null){for(var l=0;l<s.length;l++){var u=s[l];for(de=u;de!==null;){var c=de;switch(c.tag){case 0:case 11:case 15:qa(8,c,a)}var d=c.child;if(d!==null)d.return=c,de=d;else for(;de!==null;){c=de;var p=c.sibling,m=c.return;if(uv(c),c===u){de=null;break}if(p!==null){p.return=m,de=p;break}de=m}}}var f=a.alternate;if(f!==null){var b=f.child;if(b!==null){f.child=null;do{var v=b.sibling;b.sibling=null,b=v}while(b!==null)}}de=a}}if(a.subtreeFlags&2064&&o!==null)o.return=a,de=o;else e:for(;de!==null;){if(a=de,a.flags&2048)switch(a.tag){case 0:case 11:case 15:qa(9,a,a.return)}var h=a.sibling;if(h!==null){h.return=a.return,de=h;break e}de=a.return}}var y=e.current;for(de=y;de!==null;){o=de;var x=o.child;if(o.subtreeFlags&2064&&x!==null)x.return=o,de=x;else e:for(o=y;de!==null;){if(s=de,s.flags&2048)try{switch(s.tag){case 0:case 11:case 15:rl(9,s)}}catch(E){Qe(s,s.return,E)}if(s===o){de=null;break e}var S=s.sibling;if(S!==null){S.return=s.return,de=S;break e}de=s.return}}if(Pe=i,Nr(),In&&typeof In.onPostCommitFiberRoot=="function")try{In.onPostCommitFiberRoot(Ys,e)}catch{}r=!0}return r}finally{De=n,on.transition=t}}return!1}function Eg(e,t,n){t=Gi(n,t),t=Zy(e,t,1),e=hr(e,t,1),t=Lt(),e!==null&&(co(e,1,t),jt(e,t))}function Qe(e,t,n){if(e.tag===3)Eg(e,e,n);else for(;t!==null;){if(t.tag===3){Eg(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(gr===null||!gr.has(r))){e=Gi(n,e),e=Jy(t,e,1),t=hr(t,e,1),e=Lt(),t!==null&&(co(t,1,e),jt(t,e));break}}t=t.return}}function FC(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=Lt(),e.pingedLanes|=e.suspendedLanes&n,pt===e&&(gt&n)===n&&(ut===4||ut===3&&(gt&130023424)===gt&&500>Je()-Ad?Hr(e,0):Cd|=n),jt(e,t)}function bv(e,t){t===0&&(e.mode&1?(t=es,es<<=1,!(es&130023424)&&(es=4194304)):t=1);var n=Lt();e=Xn(e,t),e!==null&&(co(e,t,n),jt(e,n))}function zC(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),bv(e,n)}function $C(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Q(314))}r!==null&&r.delete(t),bv(e,n)}var kv;kv=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Mt.current)$t=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return $t=!1,EC(e,t,n);$t=!!(e.flags&131072)}else $t=!1,Ve&&t.flags&1048576&&Sy(t,zs,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;ws(e,t),e=t.pendingProps;var i=qi(t,xt.current);ji(t,n),i=kd(null,t,r,e,i,n);var a=wd();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Bt(r)?(a=!0,Ds(t)):a=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,hd(t),i.updater=nl,t.stateNode=i,i._reactInternals=t,Pc(t,r,e,n),t=_c(null,t,r,!0,a,n)):(t.tag=0,Ve&&a&&ld(t),Pt(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(ws(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=BC(r),e=gn(r,e),i){case 0:t=Oc(null,t,r,e,n);break e;case 1:t=hg(null,t,r,e,n);break e;case 11:t=mg(null,t,r,e,n);break e;case 14:t=fg(null,t,r,gn(r.type,e),n);break e}throw Error(Q(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:gn(r,i),Oc(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:gn(r,i),hg(e,t,r,i,n);case 3:e:{if(rv(t),e===null)throw Error(Q(387));r=t.pendingProps,a=t.memoizedState,i=a.element,Iy(e,t),Bs(t,r,null,n);var o=t.memoizedState;if(r=o.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){i=Gi(Error(Q(423)),t),t=gg(e,t,r,n,i);break e}else if(r!==i){i=Gi(Error(Q(424)),t),t=gg(e,t,r,n,i);break e}else for(Kt=fr(t.stateNode.containerInfo.firstChild),Gt=t,Ve=!0,vn=null,n=Ty(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Vi(),r===i){t=Zn(e,t,n);break e}Pt(e,t,r,n)}t=t.child}return t;case 5:return Py(t),e===null&&Tc(t),r=t.type,i=t.pendingProps,a=e!==null?e.memoizedProps:null,o=i.children,Nc(r,i)?o=null:a!==null&&Nc(r,a)&&(t.flags|=32),nv(e,t),Pt(e,t,o,n),t.child;case 6:return e===null&&Tc(t),null;case 13:return iv(e,t,n);case 4:return gd(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Wi(t,null,r,n):Pt(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:gn(r,i),mg(e,t,r,i,n);case 7:return Pt(e,t,t.pendingProps,n),t.child;case 8:return Pt(e,t,t.pendingProps.children,n),t.child;case 12:return Pt(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,a=t.memoizedProps,o=i.value,Be($s,r._currentValue),r._currentValue=o,a!==null)if(wn(a.value,o)){if(a.children===i.children&&!Mt.current){t=Zn(e,t,n);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var s=a.dependencies;if(s!==null){o=a.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(a.tag===1){l=Gn(-1,n&-n),l.tag=2;var u=a.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),Rc(a.return,n,t),s.lanes|=n;break}l=l.next}}else if(a.tag===10)o=a.type===t.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(Q(341));o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),Rc(o,n,t),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===t){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}Pt(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,ji(t,n),i=sn(i),r=r(i),t.flags|=1,Pt(e,t,r,n),t.child;case 14:return r=t.type,i=gn(r,t.pendingProps),i=gn(r.type,i),fg(e,t,r,i,n);case 15:return ev(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:gn(r,i),ws(e,t),t.tag=1,Bt(r)?(e=!0,Ds(t)):e=!1,ji(t,n),Xy(t,r,i),Pc(t,r,i,n),_c(null,t,r,!0,e,n);case 19:return av(e,t,n);case 22:return tv(e,t,n)}throw Error(Q(156,t.tag))};function wv(e,t){return Gg(e,t)}function MC(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function an(e,t,n,r){return new MC(e,t,n,r)}function Pd(e){return e=e.prototype,!(!e||!e.isReactComponent)}function BC(e){if(typeof e=="function")return Pd(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qc)return 11;if(e===Xc)return 14}return 2}function vr(e,t){var n=e.alternate;return n===null?(n=an(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ss(e,t,n,r,i,a){var o=2;if(r=e,typeof e=="function")Pd(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Ci:return qr(n.children,i,a,t);case Yc:o=8,i|=8;break;case tc:return e=an(12,n,t,i|2),e.elementType=tc,e.lanes=a,e;case nc:return e=an(13,n,t,i),e.elementType=nc,e.lanes=a,e;case rc:return e=an(19,n,t,i),e.elementType=rc,e.lanes=a,e;case Pg:return al(n,i,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Rg:o=10;break e;case Ig:o=9;break e;case Qc:o=11;break e;case Xc:o=14;break e;case ar:o=16,r=null;break e}throw Error(Q(130,e==null?e:typeof e,""))}return t=an(o,n,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function qr(e,t,n,r){return e=an(7,e,r,t),e.lanes=n,e}function al(e,t,n,r){return e=an(22,e,r,t),e.elementType=Pg,e.lanes=n,e.stateNode={isHidden:!1},e}function Zu(e,t,n){return e=an(6,e,null,t),e.lanes=n,e}function Ju(e,t,n){return t=an(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function jC(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Fu(0),this.expirationTimes=Fu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fu(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Ld(e,t,n,r,i,a,o,s,l){return e=new jC(e,t,n,s,l),t===1?(t=1,a===!0&&(t|=8)):t=0,a=an(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},hd(a),e}function UC(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Ei,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function xv(e){if(!e)return kr;e=e._reactInternals;e:{if(Xr(e)!==e||e.tag!==1)throw Error(Q(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Bt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(Q(171))}if(e.tag===1){var n=e.type;if(Bt(n))return xy(e,n,t)}return t}function Nv(e,t,n,r,i,a,o,s,l){return e=Ld(n,r,!0,e,i,a,o,s,l),e.context=xv(null),n=e.current,r=Lt(),i=yr(n),a=Gn(r,i),a.callback=t??null,hr(n,a,i),e.current.lanes=i,co(e,i,r),jt(e,r),e}function ol(e,t,n,r){var i=t.current,a=Lt(),o=yr(i);return n=xv(n),t.context===null?t.context=n:t.pendingContext=n,t=Gn(a,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=hr(i,t,o),e!==null&&(kn(e,i,o,a),vs(e,i,o)),o}function Gs(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Cg(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Od(e,t){Cg(e,t),(e=e.alternate)&&Cg(e,t)}function HC(){return null}var Sv=typeof reportError=="function"?reportError:function(e){console.error(e)};function _d(e){this._internalRoot=e}sl.prototype.render=_d.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(Q(409));ol(e,t,null,null)};sl.prototype.unmount=_d.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Yr(function(){ol(null,e,null,null)}),t[Qn]=null}};function sl(e){this._internalRoot=e}sl.prototype.unstable_scheduleHydration=function(e){if(e){var t=ty();e={blockedOn:null,target:e,priority:t};for(var n=0;n<sr.length&&t!==0&&t<sr[n].priority;n++);sr.splice(n,0,e),n===0&&ry(e)}};function Dd(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function ll(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Ag(){}function qC(e,t,n,r,i){if(i){if(typeof r=="function"){var a=r;r=function(){var u=Gs(o);a.call(u)}}var o=Nv(t,r,e,0,null,!1,!1,"",Ag);return e._reactRootContainer=o,e[Qn]=o.current,to(e.nodeType===8?e.parentNode:e),Yr(),o}for(;i=e.lastChild;)e.removeChild(i);if(typeof r=="function"){var s=r;r=function(){var u=Gs(l);s.call(u)}}var l=Ld(e,0,!1,null,null,!1,!1,"",Ag);return e._reactRootContainer=l,e[Qn]=l.current,to(e.nodeType===8?e.parentNode:e),Yr(function(){ol(t,l,n,r)}),l}function ul(e,t,n,r,i){var a=n._reactRootContainer;if(a){var o=a;if(typeof i=="function"){var s=i;i=function(){var l=Gs(o);s.call(l)}}ol(t,o,e,i)}else o=qC(n,t,e,i,r);return Gs(o)}Jg=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Fa(t.pendingLanes);n!==0&&(ed(t,n|1),jt(t,Je()),!(Pe&6)&&(Yi=Je()+500,Nr()))}break;case 13:Yr(function(){var r=Xn(e,1);if(r!==null){var i=Lt();kn(r,e,1,i)}}),Od(e,1)}};td=function(e){if(e.tag===13){var t=Xn(e,134217728);if(t!==null){var n=Lt();kn(t,e,134217728,n)}Od(e,134217728)}};ey=function(e){if(e.tag===13){var t=yr(e),n=Xn(e,t);if(n!==null){var r=Lt();kn(n,e,t,r)}Od(e,t)}};ty=function(){return De};ny=function(e,t){var n=De;try{return De=e,t()}finally{De=n}};mc=function(e,t,n){switch(t){case"input":if(oc(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+\'][type="radio"]\'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=Js(r);if(!i)throw Error(Q(90));Og(r),oc(r,i)}}}break;case"textarea":Dg(e,n);break;case"select":t=n.value,t!=null&&zi(e,!!n.multiple,t,!1)}};Ug=Td;Hg=Yr;var VC={usingClientEntryPoint:!1,Events:[mo,Ii,Js,Bg,jg,Td]},La={findFiberByHostInstance:Br,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},WC={bundleType:La.bundleType,version:La.version,rendererPackageName:La.rendererPackageName,rendererConfig:La.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Jn.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Wg(e),e===null?null:e.stateNode},findFiberByHostInstance:La.findFiberByHostInstance||HC,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Oa=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Oa.isDisabled&&Oa.supportsFiber))try{Ys=Oa.inject(WC),In=Oa}catch{}var Oa;Xt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=VC;Xt.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Dd(t))throw Error(Q(200));return UC(e,t,null,n)};Xt.createRoot=function(e,t){if(!Dd(e))throw Error(Q(299));var n=!1,r="",i=Sv;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=Ld(e,1,!1,null,null,n,!1,r,i),e[Qn]=t.current,to(e.nodeType===8?e.parentNode:e),new _d(t)};Xt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(Q(188)):(e=Object.keys(e).join(","),Error(Q(268,e)));return e=Wg(t),e=e===null?null:e.stateNode,e};Xt.flushSync=function(e){return Yr(e)};Xt.hydrate=function(e,t,n){if(!ll(t))throw Error(Q(200));return ul(null,e,t,!0,n)};Xt.hydrateRoot=function(e,t,n){if(!Dd(e))throw Error(Q(405));var r=n!=null&&n.hydratedSources||null,i=!1,a="",o=Sv;if(n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(a=n.identifierPrefix),n.onRecoverableError!==void 0&&(o=n.onRecoverableError)),t=Nv(t,null,e,1,n??null,i,!1,a,o),e[Qn]=t.current,to(e),r)for(e=0;e<r.length;e++)n=r[e],i=n._getVersion,i=i(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,i]:t.mutableSourceEagerHydrationData.push(n,i);return new sl(t)};Xt.render=function(e,t,n){if(!ll(t))throw Error(Q(200));return ul(null,e,t,!1,n)};Xt.unmountComponentAtNode=function(e){if(!ll(e))throw Error(Q(40));return e._reactRootContainer?(Yr(function(){ul(null,null,e,!1,function(){e._reactRootContainer=null,e[Qn]=null})}),!0):!1};Xt.unstable_batchedUpdates=Td;Xt.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!ll(n))throw Error(Q(200));if(e==null||e._reactInternals===void 0)throw Error(Q(38));return ul(e,t,n,!1,r)};Xt.version="18.3.1-next-f1338f8080-20240426"});var Tv=ae((WO,Av)=>{"use strict";function Cv(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Cv)}catch(e){console.error(e)}}Cv(),Av.exports=Ev()});var Iv=ae(Fd=>{"use strict";var Rv=Tv();Fd.createRoot=Rv.createRoot,Fd.hydrateRoot=Rv.hydrateRoot;var KO});var Lv=ae(cl=>{"use strict";var YC=Ye(),QC=Symbol.for("react.element"),XC=Symbol.for("react.fragment"),ZC=Object.prototype.hasOwnProperty,JC=YC.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,e2={key:!0,ref:!0,__self:!0,__source:!0};function Pv(e,t,n){var r,i={},a=null,o=null;n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),t.ref!==void 0&&(o=t.ref);for(r in t)ZC.call(t,r)&&!e2.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)i[r]===void 0&&(i[r]=t[r]);return{$$typeof:QC,type:e,key:a,ref:o,props:i,_owner:JC.current}}cl.Fragment=XC;cl.jsx=Pv;cl.jsxs=Pv});var Ce=ae((t_,Ov)=>{"use strict";Ov.exports=Lv()});var Zv=ae((xD,Xv)=>{var Kv=/\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g,h2=/\\n/g,g2=/^\\s*/,y2=/^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/,v2=/^:\\s*/,b2=/^((?:\'(?:\\\\\'|.)*?\'|"(?:\\\\"|.)*?"|\\([^)]*?\\)|[^};])+)/,k2=/^[;\\s]*/,w2=/^\\s+|\\s+$/g,x2=`\n`,Gv="/",Yv="*",ti="",N2="comment",S2="declaration";Xv.exports=function(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,r=1;function i(b){var v=b.match(h2);v&&(n+=v.length);var h=b.lastIndexOf(x2);r=~h?b.length-h:r+b.length}function a(){var b={line:n,column:r};return function(v){return v.position=new o(b),c(),v}}function o(b){this.start=b,this.end={line:n,column:r},this.source=t.source}o.prototype.content=e;var s=[];function l(b){var v=new Error(t.source+":"+n+":"+r+": "+b);if(v.reason=b,v.filename=t.source,v.line=n,v.column=r,v.source=e,t.silent)s.push(v);else throw v}function u(b){var v=b.exec(e);if(v){var h=v[0];return i(h),e=e.slice(h.length),v}}function c(){u(g2)}function d(b){var v;for(b=b||[];v=p();)v!==!1&&b.push(v);return b}function p(){var b=a();if(!(Gv!=e.charAt(0)||Yv!=e.charAt(1))){for(var v=2;ti!=e.charAt(v)&&(Yv!=e.charAt(v)||Gv!=e.charAt(v+1));)++v;if(v+=2,ti===e.charAt(v-1))return l("End of comment missing");var h=e.slice(2,v-2);return r+=2,i(h),e=e.slice(v),r+=2,b({type:N2,comment:h})}}function m(){var b=a(),v=u(y2);if(v){if(p(),!u(v2))return l("property missing \':\'");var h=u(b2),y=b({type:S2,property:Qv(v[0].replace(Kv,ti)),value:h?Qv(h[0].replace(Kv,ti)):ti});return u(k2),y}}function f(){var b=[];d(b);for(var v;v=m();)v!==!1&&(b.push(v),d(b));return b}return c(),f()};function Qv(e){return e?e.replace(w2,ti):ti}});var Jv=ae(ko=>{"use strict";var E2=ko&&ko.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ko,"__esModule",{value:!0});var C2=E2(Zv());function A2(e,t){var n=null;if(!e||typeof e!="string")return n;var r=(0,C2.default)(e),i=typeof t=="function";return r.forEach(function(a){if(a.type==="declaration"){var o=a.property,s=a.value;i?t(o,s,a):s&&(n=n||{},n[o]=s)}}),n}ko.default=A2});var bk=ae((n$,vk)=>{"use strict";var Ul=Object.prototype.hasOwnProperty,yk=Object.prototype.toString,dk=Object.defineProperty,pk=Object.getOwnPropertyDescriptor,mk=function(t){return typeof Array.isArray=="function"?Array.isArray(t):yk.call(t)==="[object Array]"},fk=function(t){if(!t||yk.call(t)!=="[object Object]")return!1;var n=Ul.call(t,"constructor"),r=t.constructor&&t.constructor.prototype&&Ul.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!r)return!1;var i;for(i in t);return typeof i>"u"||Ul.call(t,i)},hk=function(t,n){dk&&n.name==="__proto__"?dk(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},gk=function(t,n){if(n==="__proto__")if(Ul.call(t,n)){if(pk)return pk(t,n).value}else return;return t[n]};vk.exports=function e(){var t,n,r,i,a,o,s=arguments[0],l=1,u=arguments.length,c=!1;for(typeof s=="boolean"&&(c=s,s=arguments[1]||{},l=2),(s==null||typeof s!="object"&&typeof s!="function")&&(s={});l<u;++l)if(t=arguments[l],t!=null)for(n in t)r=gk(s,n),i=gk(t,n),s!==i&&(c&&i&&(fk(i)||(a=mk(i)))?(a?(a=!1,o=r&&mk(r)?r:[]):o=r&&fk(r)?r:{},hk(s,{name:n,newValue:e(c,o,i)})):typeof i<"u"&&hk(s,{name:n,newValue:i}));return s}});var Fk=ae((X$,Dk)=>{"use strict";Dk.exports=Dp;Dp.displayName="bash";Dp.aliases=["shell"];function Dp(e){(function(t){var n="\\\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\\\b",r={pattern:/(^(["\']?)\\w+\\2)[ \\t]+\\S.*/,lookbehind:!0,alias:"punctuation",inside:null},i={bash:r,environment:{pattern:RegExp("\\\\$"+n),alias:"constant"},variable:[{pattern:/\\$?\\(\\([\\s\\S]+?\\)\\)/,greedy:!0,inside:{variable:[{pattern:/(^\\$\\(\\([\\s\\S]+)\\)\\)/,lookbehind:!0},/^\\$\\(\\(/],number:/\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,operator:/--|\\+\\+|\\*\\*=?|<<=?|>>=?|&&|\\|\\||[=!+\\-*/%<>^&|]=?|[?~:]/,punctuation:/\\(\\(?|\\)\\)?|,|;/}},{pattern:/\\$\\((?:\\([^)]+\\)|[^()])+\\)|`[^`]+`/,greedy:!0,inside:{variable:/^\\$\\(|^`|\\)$|`$/}},{pattern:/\\$\\{[^}]+\\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\\/]|##?|%%?|\\^\\^?|,,?/,punctuation:/[\\[\\]]/,environment:{pattern:RegExp("(\\\\{)"+n),lookbehind:!0,alias:"constant"}}},/\\$(?:\\w+|[#?*!@$])/],entity:/\\\\(?:[abceEfnrtv\\\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};t.languages.bash={shebang:{pattern:/^#!\\s*\\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\\bfunction\\s+)[\\w-]+(?=(?:\\s*\\(?:\\s*\\))?\\s*\\{)/,lookbehind:!0,alias:"function"},{pattern:/\\b[\\w-]+(?=\\s*\\(\\s*\\)\\s*\\{)/,alias:"function"}],"for-or-select":{pattern:/(\\b(?:for|select)\\s+)\\w+(?=\\s+in\\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\\s;|&]|[<>]\\()\\w+(?=\\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\\\s;|&]|[<>]\\\\()"+n),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\\s*)(\\w+)\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\2/,lookbehind:!0,greedy:!0,inside:i},{pattern:/((?:^|[^<])<<-?\\s*)(["\'])(\\w+)\\2\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\3/,lookbehind:!0,greedy:!0,inside:{bash:r}},{pattern:/(^|[^\\\\](?:\\\\\\\\)*)"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^"\\\\`$])*"/,lookbehind:!0,greedy:!0,inside:i},{pattern:/(^|[^$\\\\])\'[^\']*\'/,lookbehind:!0,greedy:!0},{pattern:/\\$\'(?:[^\'\\\\]|\\\\[\\s\\S])*\'/,greedy:!0,inside:{entity:i.entity}}],environment:{pattern:RegExp("\\\\$?"+n),alias:"constant"},variable:i.variable,function:{pattern:/(^|[\\s;|&]|[<>]\\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\\s;|&]|[<>]\\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\\s;|&]|[<>]\\()(?:\\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\\s;|&]|[<>]\\()(?:false|true)(?=$|[)\\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\\B&\\d\\b/,alias:"important"},operator:{pattern:/\\d?<>|>\\||\\+=|=[=~]?|!=?|<<[<-]?|[&\\d]?>>|\\d[<>]&?|[<>][&=]?|&[>&]?|\\|[&|]?/,inside:{"file-descriptor":{pattern:/^\\d/,alias:"important"}}},punctuation:/\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];\\\\]/,number:{pattern:/(^|\\s)(?:[1-9]\\d*|0)(?:[.,]\\d+)?\\b/,lookbehind:!0}},r.inside=t.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=i.variable[1].inside,s=0;s<a.length;s++)o[a[s]]=t.languages.bash[a[s]];t.languages.shell=t.languages.bash})(e)}});var zp=ae((J$,Mk)=>{"use strict";Mk.exports=Fp;Fp.displayName="c";Fp.aliases=[];function Fp(e){e.languages.c=e.languages.extend("clike",{comment:{pattern:/\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,greedy:!0},string:{pattern:/"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"/,greedy:!0},"class-name":{pattern:/(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,lookbehind:!0},keyword:/\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,function:/\\b[a-z_]\\w*(?=\\s*\\()/i,number:/(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/}),e.languages.insertBefore("c","string",{char:{pattern:/\'(?:\\\\(?:\\r\\n|[\\s\\S])|[^\'\\\\\\r\\n]){0,32}\'/,greedy:!0}}),e.languages.insertBefore("c","string",{macro:{pattern:/(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\\s*include\\s*)<[^>]+>/,lookbehind:!0},e.languages.c.string],char:e.languages.c.char,comment:e.languages.c.comment,"macro-name":[{pattern:/(^#\\s*define\\s+)\\w+\\b(?!\\()/i,lookbehind:!0},{pattern:/(^#\\s*define\\s+)\\w+\\b(?=\\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\\\(?=[\\r\\n])/,expression:{pattern:/\\S[\\s\\S]*/,inside:e.languages.c}}}}),e.languages.insertBefore("c","function",{constant:/\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/}),delete e.languages.c.boolean}});var Hk=ae((tM,Uk)=>{"use strict";var oR=zp();Uk.exports=$p;$p.displayName="cpp";$p.aliases=[];function $p(e){e.register(oR),function(t){var n=/\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/,r=/\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g,function(){return n.source});t.languages.cpp=t.languages.extend("c",{"class-name":[{pattern:RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g,function(){return n.source})),lookbehind:!0},/\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/,/\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i,/\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/],keyword:n,number:{pattern:/(?:\\b0b[01\']+|\\b0x(?:[\\da-f\']+(?:\\.[\\da-f\']*)?|\\.[\\da-f\']+)(?:p[+-]?[\\d\']+)?|(?:\\b[\\d\']+(?:\\.[\\d\']*)?|\\B\\.[\\d\']+)(?:e[+-]?[\\d\']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,boolean:/\\b(?:false|true)\\b/}),t.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\\b(?:import|module)\\s+)/.source+"(?:"+/"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"|<[^<>\\r\\n]*>/.source+"|"+/<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g,function(){return r})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\\s\\S]+/,operator:/:/,punctuation:/\\./}},"raw-string":{pattern:/R"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1"/,alias:"string",greedy:!0}}),t.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,inside:{function:/^\\w+/,generic:{pattern:/<[\\s\\S]+/,alias:"class-name",inside:t.languages.cpp}}}}),t.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),t.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}"\'\\s]+(?:\\s+[^;{}"\'\\s]+)*(?=\\s*[;{])/,lookbehind:!0,greedy:!0,inside:t.languages.extend("cpp",{})}}),t.languages.insertBefore("inside","double-colon",{"class-name":/\\b[a-z_]\\w*\\b(?!\\s*::)/i},t.languages.cpp["base-clause"])}(e)}});var Kk=ae((rM,Wk)=>{"use strict";Wk.exports=Mp;Mp.displayName="csharp";Mp.aliases=["dotnet","cs"];function Mp(e){(function(t){function n(g,C){return g.replace(/<<(\\d+)>>/g,function(_,N){return"(?:"+C[+N]+")"})}function r(g,C,_){return RegExp(n(g,C),_||"")}function i(g,C){for(var _=0;_<C;_++)g=g.replace(/<<self>>/g,function(){return"(?:"+g+")"});return g.replace(/<<self>>/g,"[^\\\\s\\\\S]")}var a={type:"bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",typeDeclaration:"class enum interface record struct",contextual:"add alias and ascending async await by descending from(?=\\\\s*(?:\\\\w|$)) get global group into init(?=\\\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\\\s*{)",other:"abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield"};function o(g){return"\\\\b(?:"+g.trim().replace(/ /g,"|")+")\\\\b"}var s=o(a.typeDeclaration),l=RegExp(o(a.type+" "+a.typeDeclaration+" "+a.contextual+" "+a.other)),u=o(a.typeDeclaration+" "+a.contextual+" "+a.other),c=o(a.type+" "+a.typeDeclaration+" "+a.other),d=i(/<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>/.source,2),p=i(/\\((?:[^()]|<<self>>)*\\)/.source,2),m=/@?\\b[A-Za-z_]\\w*\\b/.source,f=n(/<<0>>(?:\\s*<<1>>)?/.source,[m,d]),b=n(/(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*/.source,[u,f]),v=/\\[\\s*(?:,\\s*)*\\]/.source,h=n(/<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?/.source,[b,v]),y=n(/[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[d,p,v]),x=n(/\\(<<0>>+(?:,<<0>>+)+\\)/.source,[y]),S=n(/(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?/.source,[x,b,v]),E={keyword:l,punctuation:/[<>()?,.:[\\]]/},w=/\'(?:[^\\r\\n\'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})\'/.source,R=/"(?:\\\\.|[^\\\\"\\r\\n])*"/.source,P=/@"(?:""|\\\\[\\s\\S]|[^\\\\"])*"(?!")/.source;t.languages.csharp=t.languages.extend("clike",{string:[{pattern:r(/(^|[^$\\\\])<<0>>/.source,[P]),lookbehind:!0,greedy:!0},{pattern:r(/(^|[^@$\\\\])<<0>>/.source,[R]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:r(/(\\busing\\s+static\\s+)<<0>>(?=\\s*;)/.source,[b]),lookbehind:!0,inside:E},{pattern:r(/(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)/.source,[m,S]),lookbehind:!0,inside:E},{pattern:r(/(\\busing\\s+)<<0>>(?=\\s*=)/.source,[m]),lookbehind:!0},{pattern:r(/(\\b<<0>>\\s+)<<1>>/.source,[s,f]),lookbehind:!0,inside:E},{pattern:r(/(\\bcatch\\s*\\(\\s*)<<0>>/.source,[b]),lookbehind:!0,inside:E},{pattern:r(/(\\bwhere\\s+)<<0>>/.source,[m]),lookbehind:!0},{pattern:r(/(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>/.source,[h]),lookbehind:!0,inside:E},{pattern:r(/\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))/.source,[S,c,m]),inside:E}],keyword:l,number:/(?:\\b0(?:x[\\da-f_]*[\\da-f]|b[01_]*[01])|(?:\\B\\.\\d+(?:_+\\d+)*|\\b\\d+(?:_+\\d+)*(?:\\.\\d+(?:_+\\d+)*)?)(?:e[-+]?\\d+(?:_+\\d+)*)?)(?:[dflmu]|lu|ul)?\\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\\1|~|\\?\\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\\?\\.?|::|[{}[\\];(),.:]/}),t.languages.insertBefore("csharp","number",{range:{pattern:/\\.\\./,alias:"operator"}}),t.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:r(/([(,]\\s*)<<0>>(?=\\s*:)/.source,[m]),lookbehind:!0,alias:"punctuation"}}),t.languages.insertBefore("csharp","class-name",{namespace:{pattern:r(/(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])/.source,[m]),lookbehind:!0,inside:{punctuation:/\\./}},"type-expression":{pattern:r(/(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))/.source,[p]),lookbehind:!0,alias:"class-name",inside:E},"return-type":{pattern:r(/<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))/.source,[S,b]),inside:E,alias:"class-name"},"constructor-invocation":{pattern:r(/(\\bnew\\s+)<<0>>(?=\\s*[[({])/.source,[S]),lookbehind:!0,inside:E,alias:"class-name"},"generic-method":{pattern:r(/<<0>>\\s*<<1>>(?=\\s*\\()/.source,[m,d]),inside:{function:r(/^<<0>>/.source,[m]),generic:{pattern:RegExp(d),alias:"class-name",inside:E}}},"type-list":{pattern:r(/\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))/.source,[s,f,m,S,l.source,p,/\\bnew\\s*\\(\\s*\\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:r(/(^(?!new\\s*\\()<<0>>\\s*)<<1>>/.source,[f,p]),lookbehind:!0,greedy:!0,inside:t.languages.csharp},keyword:l,"class-name":{pattern:RegExp(S),greedy:!0,inside:E},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\\b/,lookbehind:!0,alias:"keyword"}}}});var F=R+"|"+w,A=n(/\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>/.source,[F]),Z=i(n(/[^"\'/()]|<<0>>|\\(<<self>>*\\)/.source,[A]),2),j=/\\b(?:assembly|event|field|method|module|param|property|return|type)\\b/.source,z=n(/<<0>>(?:\\s*\\(<<1>>*\\))?/.source,[b,Z]);t.languages.insertBefore("csharp","class-name",{attribute:{pattern:r(/((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])/.source,[j,z]),lookbehind:!0,greedy:!0,inside:{target:{pattern:r(/^<<0>>(?=\\s*:)/.source,[j]),alias:"keyword"},"attribute-arguments":{pattern:r(/\\(<<0>>*\\)/.source,[Z]),inside:t.languages.csharp},"class-name":{pattern:RegExp(b),inside:{punctuation:/\\./}},punctuation:/[:,]/}}});var V=/:[^}\\r\\n]+/.source,O=i(n(/[^"\'/()]|<<0>>|\\(<<self>>*\\)/.source,[A]),2),K=n(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source,[O,V]),le=i(n(/[^"\'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)/.source,[F]),2),q=n(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source,[le,V]);function D(g,C){return{interpolation:{pattern:r(/((?:^|[^{])(?:\\{\\{)*)<<0>>/.source,[g]),lookbehind:!0,inside:{"format-string":{pattern:r(/(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)/.source,[C,V]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\\{|\\}$/,expression:{pattern:/[\\s\\S]+/,alias:"language-csharp",inside:t.languages.csharp}}},string:/[\\s\\S]+/}}t.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:r(/(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{"])*"/.source,[K]),lookbehind:!0,greedy:!0,inside:D(K,O)},{pattern:r(/(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"/.source,[q]),lookbehind:!0,greedy:!0,inside:D(q,le)}],char:{pattern:RegExp(w),greedy:!0}}),t.languages.dotnet=t.languages.cs=t.languages.csharp})(e)}});var Xk=ae((aM,Qk)=>{"use strict";Qk.exports=Bp;Bp.displayName="dart";Bp.aliases=[];function Bp(e){(function(t){var n=[/\\b(?:async|sync|yield)\\*/,/\\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\\b/],r=/(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source,i={pattern:RegExp(r+/[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,inside:{punctuation:/\\./}}}};t.languages.dart=t.languages.extend("clike",{"class-name":[i,{pattern:RegExp(r+/[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])/.source),lookbehind:!0,inside:i.inside}],keyword:n,operator:/\\bis!|\\b(?:as|is)\\b|\\+\\+|--|&&|\\|\\||<<=?|>>=?|~(?:\\/=?)?|[+\\-*\\/%&^|=!<>]=?|\\?/}),t.languages.insertBefore("dart","string",{"string-literal":{pattern:/r?(?:("""|\'\'\')[\\s\\S]*?\\1|(["\'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2(?!\\2))/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\w+|\\{(?:[^{}]|\\{[^{}]*\\})*\\})/,lookbehind:!0,inside:{punctuation:/^\\$\\{?|\\}$/,expression:{pattern:/[\\s\\S]+/,inside:t.languages.dart}}},string:/[\\s\\S]+/}},string:void 0}),t.languages.insertBefore("dart","class-name",{metadata:{pattern:/@\\w+/,alias:"function"}}),t.languages.insertBefore("dart","class-name",{generics:{pattern:/<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,inside:{"class-name":i,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})})(e)}});var tw=ae((sM,ew)=>{"use strict";ew.exports=jp;jp.displayName="diff";jp.aliases=[];function jp(e){(function(t){t.languages.diff={coord:[/^(?:\\*{3}|-{3}|\\+{3}).*$/m,/^@@.*@@$/m,/^\\d.*$/m]};var n={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(n).forEach(function(r){var i=n[r],a=[];/^\\w+$/.test(r)||a.push(/\\w+/.exec(r)[0]),r==="diff"&&a.push("bold"),t.languages.diff[r]={pattern:RegExp("^(?:["+i+`].*(?:\\r\n?|\n|(?![\\\\s\\\\S])))+`,"m"),alias:a,inside:{line:{pattern:/(.)(?=[\\s\\S]).*(?:\\r\\n?|\\n)?/,lookbehind:!0},prefix:{pattern:/[\\s\\S]/,alias:/\\w+/.exec(r)[0]}}}}),Object.defineProperty(t.languages.diff,"PREFIXES",{value:n})})(e)}});var aw=ae((uM,iw)=>{"use strict";iw.exports=Up;Up.displayName="docker";Up.aliases=["dockerfile"];function Up(e){(function(t){var n=/\\\\[\\r\\n](?:\\s|\\\\[\\r\\n]|#.*(?!.))*(?![\\s#]|\\\\[\\r\\n])/.source,r=/(?:[ \\t]+(?![ \\t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(/<SP_BS>/g,function(){return n}),i=/"(?:[^"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*"|\'(?:[^\'\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\'/.source,a=/--[\\w-]+=(?:<STR>|(?!["\'])(?:[^\\s\\\\]|\\\\.)+)/.source.replace(/<STR>/g,function(){return i}),o={pattern:RegExp(i),greedy:!0},s={pattern:/(^[ \\t]*)#.*/m,lookbehind:!0,greedy:!0};function l(u,c){return u=u.replace(/<OPT>/g,function(){return a}).replace(/<SP>/g,function(){return r}),RegExp(u,c)}t.languages.docker={instruction:{pattern:/(^[ \\t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\\s)(?:\\\\.|[^\\r\\n\\\\])*(?:\\\\$(?:\\s|#.*$)*(?![\\s#])(?:\\\\.|[^\\r\\n\\\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:l(/(^(?:ONBUILD<SP>)?\\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,"i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\\s)--[\\w-]+/,lookbehind:!0},string:[o,{pattern:/(=)(?!["\'])(?:[^\\s\\\\]|\\\\.)+/,lookbehind:!0}],operator:/\\\\$/m,punctuation:/=/}},keyword:[{pattern:l(/(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\\b/.source,"i"),lookbehind:!0,greedy:!0},{pattern:l(/(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \\t\\\\]+<SP>)AS/.source,"i"),lookbehind:!0,greedy:!0},{pattern:l(/(^ONBUILD<SP>)\\w+/.source,"i"),lookbehind:!0,greedy:!0},{pattern:/^\\w+/,greedy:!0}],comment:s,string:o,variable:/\\$(?:\\w+|\\{[^{}"\'\\\\]*\\})/,operator:/\\\\$/m}},comment:s},t.languages.dockerfile=t.languages.docker})(e)}});var uw=ae((dM,lw)=>{"use strict";lw.exports=Hp;Hp.displayName="go";Hp.aliases=[];function Hp(e){e.languages.go=e.languages.extend("clike",{string:{pattern:/(^|[^\\\\])"(?:\\\\.|[^"\\\\\\r\\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,boolean:/\\b(?:_|false|iota|nil|true)\\b/,number:[/\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i,/\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i,/(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i],operator:/[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,builtin:/\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/}),e.languages.insertBefore("go","string",{char:{pattern:/\'(?:\\\\.|[^\'\\\\\\r\\n]){0,10}\'/,greedy:!0}}),delete e.languages.go["class-name"]}});var mw=ae((mM,pw)=>{"use strict";pw.exports=qp;qp.displayName="graphql";qp.aliases=[];function qp(e){e.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\\\.|[^\\\\"\\r\\n])*")(?=\\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\\1)[\\s\\S]+(?=\\1$)/,lookbehind:!0,inside:e.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\\\.|[^\\\\"\\r\\n])*"/,greedy:!0},number:/(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,boolean:/\\b(?:false|true)\\b/,variable:/\\$[a-z_]\\w*/i,directive:{pattern:/@[a-z_]\\w*/i,alias:"function"},"attr-name":{pattern:/\\b[a-z_]\\w*(?=\\s*(?:\\((?:[^()"]|"(?:\\\\.|[^\\\\"\\r\\n])*")*\\))?:)/i,greedy:!0},"atom-input":{pattern:/\\b[A-Z]\\w*Input\\b/,alias:"class-name"},scalar:/\\b(?:Boolean|Float|ID|Int|String)\\b/,constant:/\\b[A-Z][A-Z_\\d]*\\b/,"class-name":{pattern:/(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*|:\\s*|\\[)[A-Z_]\\w*/,lookbehind:!0},fragment:{pattern:/(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\\bmutation\\s+)[a-zA-Z_]\\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\\bquery\\s+)[a-zA-Z_]\\w*/,lookbehind:!0,alias:"function"},keyword:/\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/,operator:/[!=|&]|\\.{3}/,"property-query":/\\w+(?=\\s*\\()/,object:/\\w+(?=\\s*\\{)/,punctuation:/[!(){}\\[\\]:=,]/,property:/\\w+/},e.hooks.add("after-tokenize",function(n){if(n.language!=="graphql")return;var r=n.tokens.filter(function(v){return typeof v!="string"&&v.type!=="comment"&&v.type!=="scalar"}),i=0;function a(v){return r[i+v]}function o(v,h){h=h||0;for(var y=0;y<v.length;y++){var x=a(y+h);if(!x||x.type!==v[y])return!1}return!0}function s(v,h){for(var y=1,x=i;x<r.length;x++){var S=r[x],E=S.content;if(S.type==="punctuation"&&typeof E=="string"){if(v.test(E))y++;else if(h.test(E)&&(y--,y===0))return x}}return-1}function l(v,h){var y=v.alias;y?Array.isArray(y)||(v.alias=y=[y]):v.alias=y=[],y.push(h)}for(;i<r.length;){var u=r[i++];if(u.type==="keyword"&&u.content==="mutation"){var c=[];if(o(["definition-mutation","punctuation"])&&a(1).content==="("){i+=2;var d=s(/^\\($/,/^\\)$/);if(d===-1)continue;for(;i<d;i++){var p=a(0);p.type==="variable"&&(l(p,"variable-input"),c.push(p.content))}i=d+1}if(o(["punctuation","property-query"])&&a(0).content==="{"&&(i++,l(a(0),"property-mutation"),c.length>0)){var m=s(/^\\{$/,/^\\}$/);if(m===-1)continue;for(var f=i;f<m;f++){var b=r[f];b.type==="variable"&&c.indexOf(b.content)>=0&&l(b,"variable-input")}}}}})}});var yw=ae((hM,gw)=>{"use strict";gw.exports=Vp;Vp.displayName="ini";Vp.aliases=[];function Vp(e){e.languages.ini={comment:{pattern:/(^[ \\f\\t\\v]*)[#;][^\\n\\r]*/m,lookbehind:!0},section:{pattern:/(^[ \\f\\t\\v]*)\\[[^\\n\\r\\]]*\\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\\[[ \\f\\t\\v]*)[^ \\f\\t\\v\\]]+(?:[ \\f\\t\\v]+[^ \\f\\t\\v\\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\\[|\\]/}},key:{pattern:/(^[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v=]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v=]+)*(?=[ \\f\\t\\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|\').+(?=\\1$)/,lookbehind:!0}}},punctuation:/=/}}});var ww=ae((yM,kw)=>{"use strict";kw.exports=Wp;Wp.displayName="java";Wp.aliases=[];function Wp(e){(function(t){var n=/\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/,r=/(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source,i={pattern:RegExp(r+/[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,inside:{punctuation:/\\./}},punctuation:/\\./}};t.languages.java=t.languages.extend("clike",{string:{pattern:/(^|[^\\\\])"(?:\\\\.|[^"\\\\\\r\\n])*"/,lookbehind:!0,greedy:!0},"class-name":[i,{pattern:RegExp(r+/[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])/.source),lookbehind:!0,inside:i.inside}],keyword:n,function:[t.languages.clike.function,{pattern:/(::\\s*)[a-z_]\\w*/,lookbehind:!0}],number:/\\b0b[01][01_]*L?\\b|\\b0x(?:\\.[\\da-f_p+-]+|[\\da-f_]+(?:\\.[\\da-f_p+-]+)?)\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),t.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \\t]*[\\r\\n](?:(?:"|"")?(?:\\\\.|[^"\\\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/\'(?:\\\\.|[^\'\\\\\\r\\n]){1,6}\'/,greedy:!0}}),t.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":i,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}},namespace:{pattern:RegExp(/(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?/.source.replace(/<keyword>/g,function(){return n.source})),lookbehind:!0,inside:{punctuation:/\\./}}})})(e)}});var Gp=ae((bM,Sw)=>{"use strict";Sw.exports=Kp;Kp.displayName="javascript";Kp.aliases=["js"];function Kp(e){e.languages.javascript=e.languages.extend("clike",{"class-name":[e.languages.clike["class-name"],{pattern:/(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\\})\\s*)catch\\b/,lookbehind:!0},{pattern:/(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:[\'"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,lookbehind:!0}],function:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,number:{pattern:RegExp(/(^|[^\\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source+"|"+/\\d+(?:_\\d+)*n/.source+"|"+/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source)+")"+/(?![\\w$])/.source),lookbehind:!0},operator:/--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/}),e.languages.javascript["class-name"][0].pattern=/(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/,e.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\\w\\xA0-\\uFFFF."\'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^\\/|\\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/}),e.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\\$\\{|\\}$/,alias:"punctuation"},rest:e.languages.javascript}},string:/[\\s\\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \\t]*)(["\'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),e.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,lookbehind:!0,alias:"property"}}),e.languages.markup&&(e.languages.markup.tag.addInlined("script","javascript"),e.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),e.languages.js=e.languages.javascript}});var Tw=ae((wM,Aw)=>{"use strict";Aw.exports=Yp;Yp.displayName="json";Yp.aliases=["webmanifest"];function Yp(e){e.languages.json={property:{pattern:/(^|[^\\\\])"(?:\\\\.|[^\\\\"\\r\\n])*"(?=\\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\\\])"(?:\\\\.|[^\\\\"\\r\\n])*"(?!\\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,greedy:!0},number:/-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,punctuation:/[{}[\\],]/,operator:/:/,boolean:/\\b(?:false|true)\\b/,null:{pattern:/\\bnull\\b/,alias:"keyword"}},e.languages.webmanifest=e.languages.json}});var Xp=ae((NM,Pw)=>{"use strict";Pw.exports=Qp;Qp.displayName="jsx";Qp.aliases=[];function Qp(e){(function(t){var n=t.util.clone(t.languages.javascript),r=/(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source,i=/(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source,a=/(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})/.source;function o(u,c){return u=u.replace(/<S>/g,function(){return r}).replace(/<BRACES>/g,function(){return i}).replace(/<SPREAD>/g,function(){return a}),RegExp(u,c)}a=o(a).source,t.languages.jsx=t.languages.extend("markup",n),t.languages.jsx.tag.pattern=o(/<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|\'(?:\\\\[\\s\\S]|[^\\\\\'])*\'|[^\\s{\'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>/.source),t.languages.jsx.tag.inside.tag.pattern=/^<\\/?[^\\s>\\/]*/,t.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\\{)(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|\'(?:\\\\[\\s\\S]|[^\\\\\'])*\'|[^\\s\'">]+)/,t.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/,t.languages.jsx.tag.inside.comment=n.comment,t.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:t.languages.jsx}},t.languages.jsx.tag),t.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\\{)/,alias:"punctuation"},rest:t.languages.jsx}}},t.languages.jsx.tag);var s=function(u){return u?typeof u=="string"?u:typeof u.content=="string"?u.content:u.content.map(s).join(""):""},l=function(u){for(var c=[],d=0;d<u.length;d++){var p=u[d],m=!1;if(typeof p!="string"&&(p.type==="tag"&&p.content[0]&&p.content[0].type==="tag"?p.content[0].content[0].content==="</"?c.length>0&&c[c.length-1].tagName===s(p.content[0].content[1])&&c.pop():p.content[p.content.length-1].content==="/>"||c.push({tagName:s(p.content[0].content[1]),openedBraces:0}):c.length>0&&p.type==="punctuation"&&p.content==="{"?c[c.length-1].openedBraces++:c.length>0&&c[c.length-1].openedBraces>0&&p.type==="punctuation"&&p.content==="}"?c[c.length-1].openedBraces--:m=!0),(m||typeof p=="string")&&c.length>0&&c[c.length-1].openedBraces===0){var f=s(p);d<u.length-1&&(typeof u[d+1]=="string"||u[d+1].type==="plain-text")&&(f+=s(u[d+1]),u.splice(d+1,1)),d>0&&(typeof u[d-1]=="string"||u[d-1].type==="plain-text")&&(f=s(u[d-1])+f,u.splice(d-1,1),d--),u[d]=new t.Token("plain-text",f,null,f)}p.content&&typeof p.content!="string"&&l(p.content)}};t.hooks.add("after-tokenize",function(u){u.language!=="jsx"&&u.language!=="tsx"||l(u.tokens)})})(e)}});var Dw=ae((EM,_w)=>{"use strict";_w.exports=Zp;Zp.displayName="kotlin";Zp.aliases=["kt","kts"];function Zp(e){(function(t){t.languages.kotlin=t.languages.extend("clike",{keyword:{pattern:/(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/,lookbehind:!0},function:[{pattern:/(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/,greedy:!0},{pattern:/(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/,lookbehind:!0,greedy:!0}],number:/\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,operator:/\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/}),delete t.languages.kotlin["class-name"];var n={"interpolation-punctuation":{pattern:/^\\$\\{?|\\}$/,alias:"punctuation"},expression:{pattern:/[\\s\\S]+/,inside:t.languages.kotlin}};t.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,inside:n},string:/[\\s\\S]+/}},{pattern:/"(?:[^"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,lookbehind:!0,inside:n},string:/[\\s\\S]+/}}],char:{pattern:/\'(?:[^\'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))\'/,greedy:!0}}),delete t.languages.kotlin.string,t.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,alias:"builtin"}}),t.languages.insertBefore("kotlin","function",{label:{pattern:/\\b\\w+@|@\\w+\\b/,alias:"symbol"}}),t.languages.kt=t.languages.kotlin,t.languages.kts=t.languages.kotlin})(e)}});var Mw=ae((AM,$w)=>{"use strict";$w.exports=Jp;Jp.displayName="lua";Jp.aliases=[];function Jp(e){e.languages.lua={comment:/^#!.+|--(?:\\[(=*)\\[[\\s\\S]*?\\]\\1\\]|.*)/m,string:{pattern:/(["\'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\z(?:\\r\\n|\\s)|\\\\(?:\\r\\n|[^z]))*\\1|\\[(=*)\\[[\\s\\S]*?\\]\\2\\]/,greedy:!0},number:/\\b0x[a-f\\d]+(?:\\.[a-f\\d]*)?(?:p[+-]?\\d+)?\\b|\\b\\d+(?:\\.\\B|(?:\\.\\d*)?(?:e[+-]?\\d+)?\\b)|\\B\\.\\d+(?:e[+-]?\\d+)?\\b/i,keyword:/\\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\\b/,function:/(?!\\d)\\w+(?=\\s*(?:[({]))/,operator:[/[-+*%^&|#]|\\/\\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\\.\\.(?!\\.)/,lookbehind:!0}],punctuation:/[\\[\\](){},;]|\\.+|:+/}}});var Hw=ae((RM,Uw)=>{"use strict";Uw.exports=em;em.displayName="makefile";em.aliases=[];function em(e){e.languages.makefile={comment:{pattern:/(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,lookbehind:!0},string:{pattern:/(["\'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},"builtin-target":{pattern:/\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\\s]|[ \\t]+(?![\\s:]))+(?=\\s*:(?!=))/m,alias:"symbol",inside:{variable:/\\$+(?:(?!\\$)[^(){}:#=\\s]+|(?=[({]))/}},variable:/\\$+(?:(?!\\$)[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,keyword:/-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/,function:{pattern:/(\\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \\t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}}});var Kw=ae((PM,Ww)=>{"use strict";Ww.exports=tm;tm.displayName="markdown";tm.aliases=["md"];function tm(e){(function(t){var n=/(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;function r(d){return d=d.replace(/<inner>/g,function(){return n}),RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source+"(?:"+d+")")}var i=/(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source,a=/\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g,function(){return i}),o=/\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source;t.languages.markdown=t.languages.extend("markup",{}),t.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\\S+(?:\\s+\\S+)*/,alias:["yaml","language-yaml"],inside:t.languages.yaml}}},blockquote:{pattern:/^>(?:[\\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(i),inside:t.languages.markdown},punctuation:/\\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(i),alias:"important",inside:t.languages.markdown},punctuation:/\\|/}}}},code:[{pattern:/((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\\s\\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:"(?:\\\\.|[^"\\\\])*"|\'(?:\\\\.|[^\'\\\\])*\'|\\((?:\\\\.|[^)\\\\])*\\)))?/,inside:{variable:{pattern:/^(!?\\[)[^\\]]+/,lookbehind:!0},string:/(?:"(?:\\\\.|[^"\\\\])*"|\'(?:\\\\.|[^\'\\\\])*\'|\\((?:\\\\.|[^)\\\\])*\\))$/,punctuation:/^[\\[\\]!:]|[<>]/},alias:"url"},bold:{pattern:r(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\\s\\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\\*\\*|__/}},italic:{pattern:r(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\\s\\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:r(/(~~?)(?:(?!~)<inner>)+\\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\\s\\S]+(?=\\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:r(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\\[)[^\\]]+(?=\\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,lookbehind:!0},url:{pattern:/(^\\]\\()[^\\s)]+/,lookbehind:!0},string:{pattern:/(^[ \\t]+)"(?:\\\\.|[^"\\\\])*"(?=\\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(d){["url","bold","italic","strike","code-snippet"].forEach(function(p){d!==p&&(t.languages.markdown[d].inside.content.inside[p]=t.languages.markdown[p])})}),t.hooks.add("after-tokenize",function(d){if(d.language!=="markdown"&&d.language!=="md")return;function p(m){if(!(!m||typeof m=="string"))for(var f=0,b=m.length;f<b;f++){var v=m[f];if(v.type!=="code"){p(v.content);continue}var h=v.content[1],y=v.content[3];if(h&&y&&h.type==="code-language"&&y.type==="code-block"&&typeof h.content=="string"){var x=h.content.replace(/\\b#/g,"sharp").replace(/\\b\\+\\+/g,"pp");x=(/[a-z][\\w-]*/i.exec(x)||[""])[0].toLowerCase();var S="language-"+x;y.alias?typeof y.alias=="string"?y.alias=[y.alias,S]:y.alias.push(S):y.alias=[S]}}}p(d.tokens)}),t.hooks.add("wrap",function(d){if(d.type==="code-block"){for(var p="",m=0,f=d.classes.length;m<f;m++){var b=d.classes[m],v=/language-(.+)/.exec(b);if(v){p=v[1];break}}var h=t.languages[p];if(h)d.content=t.highlight(c(d.content.value),h,p);else if(p&&p!=="none"&&t.plugins.autoloader){var y="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);d.attributes.id=y,t.plugins.autoloader.loadLanguages(p,function(){var x=document.getElementById(y);x&&(x.innerHTML=t.highlight(x.textContent,t.languages[p],p))})}}});var s=RegExp(t.languages.markup.tag.pattern.source,"gi"),l={amp:"&",lt:"<",gt:">",quot:\'"\'},u=String.fromCodePoint||String.fromCharCode;function c(d){var p=d.replace(s,"");return p=p.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi,function(m,f){if(f=f.toLowerCase(),f[0]==="#"){var b;return f[1]==="x"?b=parseInt(f.slice(2),16):b=Number(f.slice(1)),u(b)}else{var v=l[f];return v||m}}),p}t.languages.md=t.languages.markdown})(e)}});var rm=ae((OM,Qw)=>{"use strict";Qw.exports=nm;nm.displayName="markup";nm.aliases=["html","mathml","svg","xml","ssml","atom","rss"];function nm(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\\s\\S])*?-->/,greedy:!0},prolog:{pattern:/<\\?[\\s\\S]+?\\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"\'[\\]]|"[^"]*"|\'[^\']*\')+(?:\\[(?:[^<"\'\\]]|"[^"]*"|\'[^\']*\'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|\'[^\']*\'/,greedy:!0},punctuation:/^<!|>$|[[\\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\\s<>\'"]+/}},cdata:{pattern:/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,greedy:!0},tag:{pattern:/<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:"[^"]*"|\'[^\']*\'|[^\\s\'">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,greedy:!0,inside:{tag:{pattern:/^<\\/?[^\\s>\\/]+/,inside:{punctuation:/^<\\/?/,namespace:/^[^\\s>\\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\\s*(?:"[^"]*"|\'[^\']*\'|[^\\s\'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|\'/]}},punctuation:/\\/?>/,"attr-name":{pattern:/[^\\s>\\/]+/,inside:{namespace:/^[^\\s>\\/:]+:/}}}},entity:[{pattern:/&[\\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\\da-f]{1,8};/i]},e.languages.markup.tag.inside["attr-value"].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside["internal-subset"].inside=e.languages.markup,e.hooks.add("wrap",function(t){t.type==="entity"&&(t.attributes.title=t.content.value.replace(/&amp;/,"&"))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(n,r){var i={};i["language-"+r]={pattern:/(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,lookbehind:!0,inside:e.languages[r]},i.cdata=/^<!\\[CDATA\\[|\\]\\]>$/i;var a={"included-cdata":{pattern:/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,inside:i}};a["language-"+r]={pattern:/[\\s\\S]+/,inside:e.languages[r]};var o={};o[n]={pattern:RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g,function(){return n}),"i"),lookbehind:!0,greedy:!0,inside:a},e.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(t,n){e.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["\'\\s])/.source+"(?:"+t+")"+/\\s*=\\s*(?:"[^"]*"|\'[^\']*\'|[^\\s\'">=]+(?=[\\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\\s=]+/,"attr-value":{pattern:/=[\\s\\S]+/,inside:{value:{pattern:/(^=\\s*(["\']|(?!["\'])))\\S[\\s\\S]*(?=\\2$)/,lookbehind:!0,alias:[n,"language-"+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|\'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend("markup",{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}});var e0=ae((DM,Jw)=>{"use strict";Jw.exports=im;im.displayName="markupTemplating";im.aliases=[];function im(e){(function(t){function n(r,i){return"___"+r.toUpperCase()+i+"___"}Object.defineProperties(t.languages["markup-templating"]={},{buildPlaceholders:{value:function(r,i,a,o){if(r.language===i){var s=r.tokenStack=[];r.code=r.code.replace(a,function(l){if(typeof o=="function"&&!o(l))return l;for(var u=s.length,c;r.code.indexOf(c=n(i,u))!==-1;)++u;return s[u]=l,c}),r.grammar=t.languages.markup}}},tokenizePlaceholders:{value:function(r,i){if(r.language!==i||!r.tokenStack)return;r.grammar=t.languages[i];var a=0,o=Object.keys(r.tokenStack);function s(l){for(var u=0;u<l.length&&!(a>=o.length);u++){var c=l[u];if(typeof c=="string"||c.content&&typeof c.content=="string"){var d=o[a],p=r.tokenStack[d],m=typeof c=="string"?c:c.content,f=n(i,d),b=m.indexOf(f);if(b>-1){++a;var v=m.substring(0,b),h=new t.Token(i,t.tokenize(p,r.grammar),"language-"+i,p),y=m.substring(b+f.length),x=[];v&&x.push.apply(x,s([v])),x.push(h),y&&x.push.apply(x,s([y])),typeof c=="string"?l.splice.apply(l,[u,1].concat(x)):c.content=x}}else c.content&&s(c.content)}return l}s(r.tokens)}}})})(e)}});var n0=ae((FM,t0)=>{"use strict";var sR=e0();t0.exports=am;am.displayName="php";am.aliases=[];function am(e){e.register(sR),function(t){var n=/\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|#(?!\\[).*/,r=[{pattern:/\\b(?:false|true)\\b/i,alias:"boolean"},{pattern:/(::\\s*)\\b[a-z_]\\w*\\b(?!\\s*\\()/i,greedy:!0,lookbehind:!0},{pattern:/(\\b(?:case|const)\\s+)\\b[a-z_]\\w*(?=\\s*[;=])/i,greedy:!0,lookbehind:!0},/\\b(?:null)\\b/i,/\\b[A-Z_][A-Z0-9_]*\\b(?!\\s*\\()/],i=/\\b0b[01]+(?:_[01]+)*\\b|\\b0o[0-7]+(?:_[0-7]+)*\\b|\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b|(?:\\b\\d+(?:_\\d+)*\\.?(?:\\d+(?:_\\d+)*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,a=/<?=>|\\?\\?=?|\\.{3}|\\??->|[!=]=?=?|::|\\*\\*=?|--|\\+\\+|&&|\\|\\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,o=/[{}\\[\\](),:;]/;t.languages.php={delimiter:{pattern:/\\?>$|^<\\?(?:php(?=\\s)|=)?/i,alias:"important"},comment:n,variable:/\\$+(?:\\w+\\b|(?=\\{))/,package:{pattern:/(namespace\\s+|use\\s+(?:function\\s+)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,lookbehind:!0,inside:{punctuation:/\\\\/}},"class-name-definition":{pattern:/(\\b(?:class|enum|interface|trait)\\s+)\\b[a-z_]\\w*(?!\\\\)\\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\\bfunction\\s+)[a-z_]\\w*(?=\\s*\\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\\(\\s*)\\b(?:array|bool|boolean|float|int|integer|object|string)\\b(?=\\s*\\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\\s*)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string)\\b(?=\\s*\\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\\)\\s*:\\s*(?:\\?\\s*)?)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string|void)\\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\\b(?:array(?!\\s*\\()|bool|float|int|iterable|mixed|object|string|void)\\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\\|\\s*)(?:false|null)\\b|\\b(?:false|null)(?=\\s*\\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\\b(?:parent|self|static)(?=\\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\\byield\\s+)from\\b/i,lookbehind:!0},/\\bclass\\b/i,{pattern:/((?:^|[^\\s>:]|(?:^|[^-])>|(?:^|[^:]):)\\s*)\\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\\s+)\\b[a-z_]\\w*(?=\\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\\b(?:extends|implements|instanceof|new(?!\\s+self|\\s+static))\\s+|\\bcatch\\s*\\()\\b[a-z_]\\w*(?!\\\\)\\b/i,greedy:!0,lookbehind:!0},{pattern:/(\\|\\s*)\\b[a-z_]\\w*(?!\\\\)\\b/i,greedy:!0,lookbehind:!0},{pattern:/\\b[a-z_]\\w*(?!\\\\)\\b(?=\\s*\\|)/i,greedy:!0},{pattern:/(\\|\\s*)(?:\\\\?\\b[a-z_]\\w*)+\\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}},{pattern:/(?:\\\\?\\b[a-z_]\\w*)+\\b(?=\\s*\\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\\\/}},{pattern:/(\\b(?:extends|implements|instanceof|new(?!\\s+self\\b|\\s+static\\b))\\s+|\\bcatch\\s*\\()(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}},{pattern:/\\b[a-z_]\\w*(?=\\s*\\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\\\/}},{pattern:/\\b[a-z_]\\w*(?=\\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\\\/}},{pattern:/([(,?]\\s*)[a-z_]\\w*(?=\\s*\\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\\s*)(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}},{pattern:/(\\)\\s*:\\s*(?:\\?\\s*)?)\\b[a-z_]\\w*(?!\\\\)\\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\\)\\s*:\\s*(?:\\?\\s*)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}}],constant:r,function:{pattern:/(^|[^\\\\\\w])\\\\?[a-z_](?:[\\w\\\\]*\\w)?(?=\\s*\\()/i,lookbehind:!0,inside:{punctuation:/\\\\/}},property:{pattern:/(->\\s*)\\w+/,lookbehind:!0},number:i,operator:a,punctuation:o};var s={pattern:/\\{\\$(?:\\{(?:\\{[^{}]+\\}|[^{}]+)\\}|[^{}])+\\}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[[^\\r\\n\\[\\]]+\\]|->\\w+)?)/,lookbehind:!0,inside:t.languages.php},l=[{pattern:/<<<\'([^\']+)\'[\\r\\n](?:.*[\\r\\n])*?\\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<\'[^\']+\'|[a-z_]\\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<\'?|[\';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\\r\\n](?:.*[\\r\\n])*?\\1;|([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\\w*)|[a-z_]\\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:s}},{pattern:/`(?:\\\\[\\s\\S]|[^\\\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/\'(?:\\\\[\\s\\S]|[^\\\\\'])*\'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\\\[\\s\\S]|[^\\\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:s}}];t.languages.insertBefore("php","variable",{string:l,attribute:{pattern:/#\\[(?:[^"\'\\/#]|\\/(?![*/])|\\/\\/.*$|#(?!\\[).*$|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|"(?:\\\\[\\s\\S]|[^\\\\"])*"|\'(?:\\\\[\\s\\S]|[^\\\\\'])*\')+\\](?=\\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\\[)[\\s\\S]+(?=\\]$)/,lookbehind:!0,inside:{comment:n,string:l,"attribute-class-name":[{pattern:/([^:]|^)\\b[a-z_]\\w*(?!\\\\)\\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\\\?\\b[a-z_]\\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}}],constant:r,number:i,operator:a,punctuation:o}},delimiter:{pattern:/^#\\[|\\]$/,alias:"punctuation"}}}}),t.hooks.add("before-tokenize",function(u){if(/<\\?/.test(u.code)){var c=/<\\?(?:[^"\'/#]|\\/(?![*/])|("|\')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#(?!\\[))(?:[^?\\n\\r]|\\?(?!>))*(?=$|\\?>|[\\r\\n])|#\\[|\\/\\*(?:[^*]|\\*(?!\\/))*(?:\\*\\/|$))*?(?:\\?>|$)/g;t.languages["markup-templating"].buildPlaceholders(u,"php",c)}}),t.hooks.add("after-tokenize",function(u){t.languages["markup-templating"].tokenizePlaceholders(u,"php")})}(e)}});var o0=ae(($M,a0)=>{"use strict";a0.exports=om;om.displayName="powershell";om.aliases=[];function om(e){(function(t){var n=t.languages.powershell={comment:[{pattern:/(^|[^`])<#[\\s\\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\\s\\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/\'(?:[^\']|\'\')*\'/,greedy:!0}],namespace:/\\[[a-z](?:\\[(?:\\[[^\\]]*\\]|[^\\[\\]])*\\]|[^\\[\\]])*\\]/i,boolean:/\\$(?:false|true)\\b/i,variable:/\\$\\w+\\b/,function:[/\\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\\b/i,/\\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\\b/i],keyword:/\\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\\b/i,operator:{pattern:/(^|\\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\\b|-[-=]?|\\+[+=]?|[*\\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\\];(),.]/};n.string[0].inside={function:{pattern:/(^|[^`])\\$\\((?:\\$\\([^\\r\\n()]*\\)|(?!\\$\\()[^\\r\\n)])*\\)/,lookbehind:!0,inside:n},boolean:n.boolean,variable:n.variable}})(e)}});var c0=ae((BM,u0)=>{"use strict";u0.exports=sm;sm.displayName="python";sm.aliases=["py"];function sm(e){e.languages.python={comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|\'\'\')[\\s\\S]*?\\1|("|\')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\\s\\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|\'\'\')[\\s\\S]*?\\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|\')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,greedy:!0},function:{pattern:/((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,lookbehind:!0},"class-name":{pattern:/(\\bclass\\s+)\\w+/i,lookbehind:!0},decorator:{pattern:/(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\\./}},keyword:/\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,builtin:/\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,boolean:/\\b(?:False|None|True)\\b/,number:/\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,operator:/[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\\];(),.:]/},e.languages.python["string-interpolation"].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}});var f0=ae((UM,m0)=>{"use strict";m0.exports=lm;lm.displayName="ruby";lm.aliases=["rb"];function lm(e){(function(t){t.languages.ruby=t.languages.extend("clike",{comment:{pattern:/#.*|^=begin\\s[\\s\\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\\b(?:class|module)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+|\\b[A-Z_]\\w*(?=\\s*\\.\\s*new\\b)/,lookbehind:!0,inside:{punctuation:/[.\\\\]/}},keyword:/\\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\\b/,operator:/\\.{2,3}|&\\.|===|<?=>|[!=]?~|(?:&&|\\|\\||<<|>>|\\*\\*|[+\\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\\].,;]/}),t.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var n={pattern:/((?:^|[^\\\\])(?:\\\\{2})*)#\\{(?:[^{}]|\\{[^{}]*\\})*\\}/,lookbehind:!0,inside:{content:{pattern:/^(#\\{)[\\s\\S]+(?=\\}$)/,lookbehind:!0,inside:t.languages.ruby},delimiter:{pattern:/^#\\{|\\}$/,alias:"punctuation"}}};delete t.languages.ruby.function;var r="(?:"+[/([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,/\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)/.source,/\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}/.source,/\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]/.source,/<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>/.source].join("|")+")",i=/(?:"(?:\\\\.|[^"\\\\\\r\\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)/.source;t.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+r+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:n,regex:/[\\s\\S]+/}},{pattern:/(^|[^/])\\/(?!\\/)(?:\\[[^\\r\\n\\]]+\\]|\\\\.|[^[/\\\\\\r\\n])+\\/[egimnosux]{0,6}(?=\\s*(?:$|[\\r\\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:n,regex:/[\\s\\S]+/}}],variable:/[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+i),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\\r\\n{(,][ \\t]*)/.source+i+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\\bdef\\s+)\\w+(?:\\s*\\.\\s*\\w+)?/,lookbehind:!0,inside:{function:/\\b\\w+$/,keyword:/^self\\b/,"class-name":/^\\w+/,punctuation:/\\./}}}),t.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+r),greedy:!0,inside:{interpolation:n,string:/[\\s\\S]+/}},{pattern:/("|\')(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\#\\r\\n])*\\1/,greedy:!0,inside:{interpolation:n,string:/[\\s\\S]+/}},{pattern:/<<[-~]?([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\\w*|\\b[a-z_]\\w*$/i,inside:{symbol:/\\b\\w+/,punctuation:/^<<[-~]?/}},interpolation:n,string:/[\\s\\S]+/}},{pattern:/<<[-~]?\'([a-z_]\\w*)\'[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?\'[a-z_]\\w*\'|\\b[a-z_]\\w*$/i,inside:{symbol:/\\b\\w+/,punctuation:/^<<[-~]?\'|\'$/}},string:/[\\s\\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+r),greedy:!0,inside:{interpolation:n,command:{pattern:/[\\s\\S]+/,alias:"string"}}},{pattern:/`(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|[^\\\\`#\\r\\n])*`/,greedy:!0,inside:{interpolation:n,command:{pattern:/[\\s\\S]+/,alias:"string"}}}]}),delete t.languages.ruby.string,t.languages.insertBefore("ruby","number",{builtin:/\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\\b/,constant:/\\b[A-Z][A-Z0-9_]*(?:[?!]|\\b)/}),t.languages.rb=t.languages.ruby})(e)}});var v0=ae((qM,y0)=>{"use strict";y0.exports=um;um.displayName="rust";um.aliases=[];function um(e){(function(t){for(var n=/\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source,r=0;r<2;r++)n=n.replace(/<self>/g,function(){return n});n=n.replace(/<self>/g,function(){return/[^\\s\\S]/.source}),t.languages.rust={comment:[{pattern:RegExp(/(^|[^\\\\])/.source+n),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\\\[\\s\\S]|[^\\\\"])*"|b?r(#*)"(?:[^"]|"(?!\\1))*"\\1/,greedy:!0},char:{pattern:/b?\'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t\'])\'/,greedy:!0},attribute:{pattern:/#!?\\[(?:[^\\[\\]"]|"(?:\\\\[\\s\\S]|[^\\\\"])*")*\\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\\||\\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/\'\\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\\$\\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\\$\\w+/,"function-definition":{pattern:/(\\bfn\\s+)\\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,/\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/],function:/\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,macro:{pattern:/\\b\\w+!/,alias:"property"},constant:/\\b[A-Z_][A-Z_\\d]+\\b/,"class-name":/\\b[A-Z]\\w*\\b/,namespace:{pattern:/(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,inside:{punctuation:/::/}},number:/\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,boolean:/\\b(?:false|true)\\b/,punctuation:/->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,operator:/[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/},t.languages.rust["closure-params"].inside.rest=t.languages.rust,t.languages.rust.attribute.inside.string=t.languages.rust.string})(e)}});var x0=ae((WM,w0)=>{"use strict";w0.exports=cm;cm.displayName="sql";cm.aliases=[];function cm(e){e.languages.sql={comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["\'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,greedy:!0},/@[\\w.$]+/],string:{pattern:/(^|[^@\\\\])("|\')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,keyword:/\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,boolean:/\\b(?:FALSE|NULL|TRUE)\\b/i,number:/\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,operator:/[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,punctuation:/[;[\\]()`,.]/}}});var C0=ae((GM,E0)=>{"use strict";E0.exports=dm;dm.displayName="swift";dm.aliases=[];function dm(e){e.languages.swift={comment:{pattern:/(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n"])*"/.source+"|"+/"""(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\\)|\\\\\\($/,alias:"punctuation"},punctuation:/\\\\(?=[\\r\\n])/,string:/[\\s\\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?"/.source+"|"+/"""(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?"""/.source+")\\\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\\)|\\\\#+\\($/,alias:"punctuation"},string:/[\\s\\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+(/(?:elseif|if)\\b/.source+"(?:[ ]*"+/(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source+")+")+"|"+/(?:else|endif)\\b/.source+")"),alias:"property",inside:{"directive-name":/^#\\w+/,boolean:/\\b(?:false|true)\\b/,number:/\\b\\d+(?:\\.\\d+)*\\b/,operator:/!|&&|\\|\\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,alias:"constant"},"other-directive":{pattern:/#\\w+\\b/,alias:"property"},attribute:{pattern:/@\\w+/,alias:"atrule"},"function-definition":{pattern:/(\\bfunc\\s+)\\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,lookbehind:!0,alias:"important"},keyword:/\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,boolean:/\\b(?:false|true)\\b/,nil:{pattern:/\\bnil\\b/,alias:"constant"},"short-argument":/\\$\\d+\\b/,omit:{pattern:/\\b_\\b/,alias:"keyword"},number:/\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,"class-name":/\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,function:/\\b[a-z_]\\w*(?=\\s*\\()/i,constant:/\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,operator:/[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\\]();,.:\\\\]/},e.languages.swift["string-literal"].forEach(function(t){t.inside.interpolation.inside=e.languages.swift})}});var I0=ae((QM,R0)=>{"use strict";R0.exports=pm;pm.displayName="toml";pm.aliases=[];function pm(e){(function(t){var n=/(?:[\\w-]+|\'[^\'\\n\\r]*\'|"(?:\\\\.|[^\\\\"\\r\\n])*")/.source;function r(i){return i.replace(/__/g,function(){return n})}t.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(r(/(^[\\t ]*\\[\\s*(?:\\[\\s*)?)__(?:\\s*\\.\\s*__)*(?=\\s*\\])/.source),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(r(/(^[\\t ]*|[{,]\\s*)__(?:\\s*\\.\\s*__)*(?=\\s*=)/.source),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\\\[\\s\\S]|[^\\\\])*?"""|\'\'\'[\\s\\S]*?\'\'\'|\'[^\'\\n\\r]*\'|"(?:\\\\.|[^\\\\"\\r\\n])*"/,greedy:!0},date:[{pattern:/\\b\\d{4}-\\d{2}-\\d{2}(?:[T\\s]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?\\b/i,alias:"number"},{pattern:/\\b\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?\\b/,alias:"number"}],number:/(?:\\b0(?:x[\\da-zA-Z]+(?:_[\\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\\b|[-+]?\\b\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?\\b|[-+]?\\b(?:inf|nan)\\b/,boolean:/\\b(?:false|true)\\b/,punctuation:/[.,=[\\]{}]/}})(e)}});var fm=ae((ZM,O0)=>{"use strict";O0.exports=mm;mm.displayName="typescript";mm.aliases=["ts"];function mm(e){(function(t){t.languages.typescript=t.languages.extend("javascript",{"class-name":{pattern:/(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/}),t.languages.typescript.keyword.push(/\\b(?:abstract|declare|is|keyof|readonly|require)\\b/,/\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/,/\\btype\\b(?=\\s*(?:[\\{*]|$))/),delete t.languages.typescript.parameter,delete t.languages.typescript["literal-property"];var n=t.languages.extend("typescript",{});delete n["class-name"],t.languages.typescript["class-name"].inside=n,t.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\\w\\xA0-\\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\\s\\S]+/}},"generic-function":{pattern:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/,greedy:!0,inside:{function:/^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/,generic:{pattern:/<[\\s\\S]+/,alias:"class-name",inside:n}}}}),t.languages.ts=t.languages.typescript})(e)}});var D0=ae((JM,_0)=>{"use strict";var lR=Xp(),uR=fm();_0.exports=hm;hm.displayName="tsx";hm.aliases=[];function hm(e){e.register(lR),e.register(uR),function(t){var n=t.util.clone(t.languages.typescript);t.languages.tsx=t.languages.extend("jsx",n),delete t.languages.tsx.parameter,delete t.languages.tsx["literal-property"];var r=t.languages.tsx.tag;r.pattern=RegExp(/(^|[^\\w$]|(?=<\\/))/.source+"(?:"+r.pattern.source+")",r.pattern.flags),r.lookbehind=!0}(e)}});var j0=ae((n6,B0)=>{"use strict";B0.exports=gm;gm.displayName="yaml";gm.aliases=["yml"];function gm(e){(function(t){var n=/[*&][^\\s[\\]{},]+/,r=/!(?:<[\\w\\-%#;/?:@&=+$,.!~*\'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*\'()]+)?/,i="(?:"+r.source+"(?:[ ]+"+n.source+")?|"+n.source+"(?:[ ]+"+r.source+")?)",a=/(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&\'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/.source}),o=/"(?:[^"\\\\\\r\\n]|\\\\.)*"|\'(?:[^\'\\\\\\r\\n]|\\\\.)*\'/.source;function s(l,u){u=(u||"").replace(/m/g,"")+"m";var c=/([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source.replace(/<<prop>>/g,function(){return i}).replace(/<<value>>/g,function(){return l});return RegExp(c,u)}t.languages.yaml={scalar:{pattern:RegExp(/([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(/<<prop>>/g,function(){return i})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source.replace(/<<prop>>/g,function(){return i}).replace(/<<key>>/g,function(){return"(?:"+a+"|"+o+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \\t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:s(/\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:s(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:s(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:s(o),lookbehind:!0,greedy:!0},number:{pattern:s(/[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/.source,"i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\\]{}\\-,|>?]|\\.\\.\\./},t.languages.yml=t.languages.yaml})(e)}});var i1=ae((C6,r1)=>{r1.exports=kR;var bR=Object.prototype.hasOwnProperty;function kR(){for(var e={},t=0;t<arguments.length;t++){var n=arguments[t];for(var r in n)bR.call(n,r)&&(e[r]=n[r])}return e}});var vm=ae((A6,o1)=>{"use strict";o1.exports=a1;var ym=a1.prototype;ym.space=null;ym.normal={};ym.property={};function a1(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}});var u1=ae((T6,l1)=>{"use strict";var s1=i1(),wR=vm();l1.exports=xR;function xR(e){for(var t=e.length,n=[],r=[],i=-1,a,o;++i<t;)a=e[i],n.push(a.property),r.push(a.normal),o=a.space;return new wR(s1.apply(null,n),s1.apply(null,r),o)}});var Yl=ae((R6,c1)=>{"use strict";c1.exports=NR;function NR(e){return e.toLowerCase()}});var bm=ae((I6,p1)=>{"use strict";p1.exports=d1;var dn=d1.prototype;dn.space=null;dn.attribute=null;dn.property=null;dn.boolean=!1;dn.booleanish=!1;dn.overloadedBoolean=!1;dn.number=!1;dn.commaSeparated=!1;dn.spaceSeparated=!1;dn.commaOrSpaceSeparated=!1;dn.mustUseProperty=!1;dn.defined=!1;function d1(e,t){this.property=e,this.attribute=t}});var Ql=ae(Or=>{"use strict";var SR=0;Or.boolean=mi();Or.booleanish=mi();Or.overloadedBoolean=mi();Or.number=mi();Or.spaceSeparated=mi();Or.commaSeparated=mi();Or.commaOrSpaceSeparated=mi();function mi(){return Math.pow(2,++SR)}});var wm=ae((L6,y1)=>{"use strict";var h1=bm(),m1=Ql();y1.exports=km;km.prototype=new h1;km.prototype.defined=!0;var g1=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"],ER=g1.length;function km(e,t,n,r){var i=-1,a;for(f1(this,"space",r),h1.call(this,e,t);++i<ER;)a=g1[i],f1(this,a,(n&m1[a])===m1[a])}function f1(e,t,n){n&&(e[t]=n)}});var sa=ae((O6,b1)=>{"use strict";var v1=Yl(),CR=vm(),AR=wm();b1.exports=TR;function TR(e){var t=e.space,n=e.mustUseProperty||[],r=e.attributes||{},i=e.properties,a=e.transform,o={},s={},l,u;for(l in i)u=new AR(l,a(r,l),i[l],t),n.indexOf(l)!==-1&&(u.mustUseProperty=!0),o[l]=u,s[v1(l)]=l,s[v1(u.attribute)]=l;return new CR(o,s,t)}});var w1=ae((_6,k1)=>{"use strict";var RR=sa();k1.exports=RR({space:"xlink",transform:IR,properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}});function IR(e,t){return"xlink:"+t.slice(5).toLowerCase()}});var N1=ae((D6,x1)=>{"use strict";var PR=sa();x1.exports=PR({space:"xml",transform:LR,properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function LR(e,t){return"xml:"+t.slice(3).toLowerCase()}});var E1=ae((F6,S1)=>{"use strict";S1.exports=OR;function OR(e,t){return t in e?e[t]:t}});var xm=ae((z6,C1)=>{"use strict";var _R=E1();C1.exports=DR;function DR(e,t){return _R(e,t.toLowerCase())}});var T1=ae(($6,A1)=>{"use strict";var FR=sa(),zR=xm();A1.exports=FR({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:zR,properties:{xmlns:null,xmlnsXLink:null}})});var I1=ae((M6,R1)=>{"use strict";var Nm=Ql(),$R=sa(),Ht=Nm.booleanish,pn=Nm.number,fi=Nm.spaceSeparated;R1.exports=$R({transform:MR,properties:{ariaActiveDescendant:null,ariaAtomic:Ht,ariaAutoComplete:null,ariaBusy:Ht,ariaChecked:Ht,ariaColCount:pn,ariaColIndex:pn,ariaColSpan:pn,ariaControls:fi,ariaCurrent:null,ariaDescribedBy:fi,ariaDetails:null,ariaDisabled:Ht,ariaDropEffect:fi,ariaErrorMessage:null,ariaExpanded:Ht,ariaFlowTo:fi,ariaGrabbed:Ht,ariaHasPopup:null,ariaHidden:Ht,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:fi,ariaLevel:pn,ariaLive:null,ariaModal:Ht,ariaMultiLine:Ht,ariaMultiSelectable:Ht,ariaOrientation:null,ariaOwns:fi,ariaPlaceholder:null,ariaPosInSet:pn,ariaPressed:Ht,ariaReadOnly:Ht,ariaRelevant:null,ariaRequired:Ht,ariaRoleDescription:fi,ariaRowCount:pn,ariaRowIndex:pn,ariaRowSpan:pn,ariaSelected:Ht,ariaSetSize:pn,ariaSort:null,ariaValueMax:pn,ariaValueMin:pn,ariaValueNow:pn,ariaValueText:null,role:null}});function MR(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});var L1=ae((B6,P1)=>{"use strict";var la=Ql(),BR=sa(),jR=xm(),Te=la.boolean,UR=la.overloadedBoolean,Fo=la.booleanish,qe=la.number,Ft=la.spaceSeparated,Xl=la.commaSeparated;P1.exports=BR({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:jR,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Xl,acceptCharset:Ft,accessKey:Ft,action:null,allow:null,allowFullScreen:Te,allowPaymentRequest:Te,allowUserMedia:Te,alt:null,as:null,async:Te,autoCapitalize:null,autoComplete:Ft,autoFocus:Te,autoPlay:Te,capture:Te,charSet:null,checked:Te,cite:null,className:Ft,cols:qe,colSpan:null,content:null,contentEditable:Fo,controls:Te,controlsList:Ft,coords:qe|Xl,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Te,defer:Te,dir:null,dirName:null,disabled:Te,download:UR,draggable:Fo,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Te,formTarget:null,headers:Ft,height:qe,hidden:Te,high:qe,href:null,hrefLang:null,htmlFor:Ft,httpEquiv:Ft,id:null,imageSizes:null,imageSrcSet:Xl,inputMode:null,integrity:null,is:null,isMap:Te,itemId:null,itemProp:Ft,itemRef:Ft,itemScope:Te,itemType:Ft,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Te,low:qe,manifest:null,max:null,maxLength:qe,media:null,method:null,min:null,minLength:qe,multiple:Te,muted:Te,name:null,nonce:null,noModule:Te,noValidate:Te,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextMenu:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Te,optimum:qe,pattern:null,ping:Ft,placeholder:null,playsInline:Te,poster:null,preload:null,readOnly:Te,referrerPolicy:null,rel:Ft,required:Te,reversed:Te,rows:qe,rowSpan:qe,sandbox:Ft,scope:null,scoped:Te,seamless:Te,selected:Te,shape:null,size:qe,sizes:null,slot:null,span:qe,spellCheck:Fo,src:null,srcDoc:null,srcLang:null,srcSet:Xl,start:qe,step:null,style:null,tabIndex:qe,target:null,title:null,translate:null,type:null,typeMustMatch:Te,useMap:null,value:Fo,width:qe,wrap:null,align:null,aLink:null,archive:Ft,axis:null,background:null,bgColor:null,border:qe,borderColor:null,bottomMargin:qe,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Te,declare:Te,event:null,face:null,frame:null,frameBorder:null,hSpace:qe,leftMargin:qe,link:null,longDesc:null,lowSrc:null,marginHeight:qe,marginWidth:qe,noResize:Te,noHref:Te,noShade:Te,noWrap:Te,object:null,profile:null,prompt:null,rev:null,rightMargin:qe,rules:null,scheme:null,scrolling:Fo,standby:null,summary:null,text:null,topMargin:qe,valueType:null,version:null,vAlign:null,vLink:null,vSpace:qe,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Te,disableRemotePlayback:Te,prefix:null,property:null,results:qe,security:null,unselectable:null}})});var _1=ae((j6,O1)=>{"use strict";var HR=u1(),qR=w1(),VR=N1(),WR=T1(),KR=I1(),GR=L1();O1.exports=HR([VR,qR,WR,KR,GR])});var z1=ae((U6,F1)=>{"use strict";var YR=Yl(),QR=wm(),XR=bm(),Sm="data";F1.exports=eI;var ZR=/^data[-\\w.:]+$/i,D1=/-[a-z]/g,JR=/[A-Z]/g;function eI(e,t){var n=YR(t),r=t,i=XR;return n in e.normal?e.property[e.normal[n]]:(n.length>4&&n.slice(0,4)===Sm&&ZR.test(t)&&(t.charAt(4)==="-"?r=tI(t):t=nI(t),i=QR),new i(r,t))}function tI(e){var t=e.slice(5).replace(D1,iI);return Sm+t.charAt(0).toUpperCase()+t.slice(1)}function nI(e){var t=e.slice(4);return D1.test(t)?e:(t=t.replace(JR,rI),t.charAt(0)!=="-"&&(t="-"+t),Sm+t)}function rI(e){return"-"+e.toLowerCase()}function iI(e){return e.charAt(1).toUpperCase()}});var B1=ae((H6,M1)=>{"use strict";M1.exports=aI;var $1=/[#.]/g;function aI(e,t){for(var n=e||"",r=t||"div",i={},a=0,o,s,l;a<n.length;)$1.lastIndex=a,l=$1.exec(n),o=n.slice(a,l?l.index:n.length),o&&(s?s==="#"?i.id=o:i.className?i.className.push(o):i.className=[o]:r=o,a+=o.length),l&&(s=l[0],a++);return{type:"element",tagName:r,properties:i,children:[]}}});var U1=ae(Em=>{"use strict";Em.parse=lI;Em.stringify=uI;var j1="",oI=" ",sI=/[ \\t\\n\\r\\f]+/g;function lI(e){var t=String(e||j1).trim();return t===j1?[]:t.split(sI)}function uI(e){return e.join(oI).trim()}});var q1=ae(Am=>{"use strict";Am.parse=cI;Am.stringify=dI;var Cm=",",H1=" ",zo="";function cI(e){for(var t=[],n=String(e||zo),r=n.indexOf(Cm),i=0,a=!1,o;!a;)r===-1&&(r=n.length,a=!0),o=n.slice(i,r).trim(),(o||!a)&&t.push(o),i=r+1,r=n.indexOf(Cm,i);return t}function dI(e,t){var n=t||{},r=n.padLeft===!1?zo:H1,i=n.padRight?H1:zo;return e[e.length-1]===zo&&(e=e.concat(zo)),e.join(i+Cm+r).trim()}});var X1=ae((W6,Q1)=>{"use strict";var pI=z1(),V1=Yl(),mI=B1(),W1=U1().parse,K1=q1().parse;Q1.exports=hI;var fI={}.hasOwnProperty;function hI(e,t,n){var r=n?kI(n):null;return i;function i(o,s){var l=mI(o,t),u=Array.prototype.slice.call(arguments,2),c=l.tagName.toLowerCase(),d;if(l.tagName=r&&fI.call(r,c)?r[c]:c,s&&gI(s,l)&&(u.unshift(s),s=null),s)for(d in s)a(l.properties,d,s[d]);return Y1(l.children,u),l.tagName==="template"&&(l.content={type:"root",children:l.children},l.children=[]),l}function a(o,s,l){var u,c,d;l==null||l!==l||(u=pI(e,s),c=u.property,d=l,typeof d=="string"&&(u.spaceSeparated?d=W1(d):u.commaSeparated?d=K1(d):u.commaOrSpaceSeparated&&(d=W1(K1(d).join(" ")))),c==="style"&&typeof l!="string"&&(d=bI(d)),c==="className"&&o.className&&(d=o.className.concat(d)),o[c]=vI(u,c,d))}}function gI(e,t){return typeof e=="string"||"length"in e||yI(t.tagName,e)}function yI(e,t){var n=t.type;return e==="input"||!n||typeof n!="string"?!1:typeof t.children=="object"&&"length"in t.children?!0:(n=n.toLowerCase(),e==="button"?n!=="menu"&&n!=="submit"&&n!=="reset"&&n!=="button":"value"in t)}function Y1(e,t){var n,r;if(typeof t=="string"||typeof t=="number"){e.push({type:"text",value:String(t)});return}if(typeof t=="object"&&"length"in t){for(n=-1,r=t.length;++n<r;)Y1(e,t[n]);return}if(typeof t!="object"||!("type"in t))throw new Error("Expected node, nodes, or string, got `"+t+"`");e.push(t)}function vI(e,t,n){var r,i,a;if(typeof n!="object"||!("length"in n))return G1(e,t,n);for(i=n.length,r=-1,a=[];++r<i;)a[r]=G1(e,t,n[r]);return a}function G1(e,t,n){var r=n;return e.number||e.positiveNumber?!isNaN(r)&&r!==""&&(r=Number(r)):(e.boolean||e.overloadedBoolean)&&typeof r=="string"&&(r===""||V1(n)===V1(t))&&(r=!0),r}function bI(e){var t=[],n;for(n in e)t.push([n,e[n]].join(": "));return t.join("; ")}function kI(e){for(var t=e.length,n=-1,r={},i;++n<t;)i=e[n],r[i.toLowerCase()]=i;return r}});var ex=ae((K6,J1)=>{"use strict";var wI=_1(),xI=X1(),Z1=xI(wI,"div");Z1.displayName="html";J1.exports=Z1});var nx=ae((G6,tx)=>{"use strict";tx.exports=ex()});var rx=ae((Y6,NI)=>{NI.exports={AElig:"\\xC6",AMP:"&",Aacute:"\\xC1",Acirc:"\\xC2",Agrave:"\\xC0",Aring:"\\xC5",Atilde:"\\xC3",Auml:"\\xC4",COPY:"\\xA9",Ccedil:"\\xC7",ETH:"\\xD0",Eacute:"\\xC9",Ecirc:"\\xCA",Egrave:"\\xC8",Euml:"\\xCB",GT:">",Iacute:"\\xCD",Icirc:"\\xCE",Igrave:"\\xCC",Iuml:"\\xCF",LT:"<",Ntilde:"\\xD1",Oacute:"\\xD3",Ocirc:"\\xD4",Ograve:"\\xD2",Oslash:"\\xD8",Otilde:"\\xD5",Ouml:"\\xD6",QUOT:\'"\',REG:"\\xAE",THORN:"\\xDE",Uacute:"\\xDA",Ucirc:"\\xDB",Ugrave:"\\xD9",Uuml:"\\xDC",Yacute:"\\xDD",aacute:"\\xE1",acirc:"\\xE2",acute:"\\xB4",aelig:"\\xE6",agrave:"\\xE0",amp:"&",aring:"\\xE5",atilde:"\\xE3",auml:"\\xE4",brvbar:"\\xA6",ccedil:"\\xE7",cedil:"\\xB8",cent:"\\xA2",copy:"\\xA9",curren:"\\xA4",deg:"\\xB0",divide:"\\xF7",eacute:"\\xE9",ecirc:"\\xEA",egrave:"\\xE8",eth:"\\xF0",euml:"\\xEB",frac12:"\\xBD",frac14:"\\xBC",frac34:"\\xBE",gt:">",iacute:"\\xED",icirc:"\\xEE",iexcl:"\\xA1",igrave:"\\xEC",iquest:"\\xBF",iuml:"\\xEF",laquo:"\\xAB",lt:"<",macr:"\\xAF",micro:"\\xB5",middot:"\\xB7",nbsp:"\\xA0",not:"\\xAC",ntilde:"\\xF1",oacute:"\\xF3",ocirc:"\\xF4",ograve:"\\xF2",ordf:"\\xAA",ordm:"\\xBA",oslash:"\\xF8",otilde:"\\xF5",ouml:"\\xF6",para:"\\xB6",plusmn:"\\xB1",pound:"\\xA3",quot:\'"\',raquo:"\\xBB",reg:"\\xAE",sect:"\\xA7",shy:"\\xAD",sup1:"\\xB9",sup2:"\\xB2",sup3:"\\xB3",szlig:"\\xDF",thorn:"\\xFE",times:"\\xD7",uacute:"\\xFA",ucirc:"\\xFB",ugrave:"\\xF9",uml:"\\xA8",uuml:"\\xFC",yacute:"\\xFD",yen:"\\xA5",yuml:"\\xFF"}});var ix=ae((Q6,SI)=>{SI.exports={"0":"\\uFFFD","128":"\\u20AC","130":"\\u201A","131":"\\u0192","132":"\\u201E","133":"\\u2026","134":"\\u2020","135":"\\u2021","136":"\\u02C6","137":"\\u2030","138":"\\u0160","139":"\\u2039","140":"\\u0152","142":"\\u017D","145":"\\u2018","146":"\\u2019","147":"\\u201C","148":"\\u201D","149":"\\u2022","150":"\\u2013","151":"\\u2014","152":"\\u02DC","153":"\\u2122","154":"\\u0161","155":"\\u203A","156":"\\u0153","158":"\\u017E","159":"\\u0178"}});var Tm=ae((X6,ax)=>{"use strict";ax.exports=EI;function EI(e){var t=typeof e=="string"?e.charCodeAt(0):e;return t>=48&&t<=57}});var sx=ae((Z6,ox)=>{"use strict";ox.exports=CI;function CI(e){var t=typeof e=="string"?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}});var ux=ae((J6,lx)=>{"use strict";lx.exports=AI;function AI(e){var t=typeof e=="string"?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}});var dx=ae((eB,cx)=>{"use strict";var TI=ux(),RI=Tm();cx.exports=II;function II(e){return TI(e)||RI(e)}});var mx=ae((tB,px)=>{"use strict";var Zl,PI=59;px.exports=LI;function LI(e){var t="&"+e+";",n;return Zl=Zl||document.createElement("i"),Zl.innerHTML=t,n=Zl.textContent,n.charCodeAt(n.length-1)===PI&&e!=="semi"||n===t?!1:n}});var Ax=ae((nB,Cx)=>{"use strict";var fx=rx(),hx=ix(),OI=Tm(),_I=sx(),bx=dx(),DI=mx();Cx.exports=GI;var FI={}.hasOwnProperty,ua=String.fromCharCode,zI=Function.prototype,gx={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},$I=9,yx=10,MI=12,BI=32,vx=38,jI=59,UI=60,HI=61,qI=35,VI=88,WI=120,KI=65533,ca="named",Im="hexadecimal",Pm="decimal",Lm={};Lm[Im]=16;Lm[Pm]=10;var Jl={};Jl[ca]=bx;Jl[Pm]=OI;Jl[Im]=_I;var kx=1,wx=2,xx=3,Nx=4,Sx=5,Rm=6,Ex=7,_r={};_r[kx]="Named character references must be terminated by a semicolon";_r[wx]="Numeric character references must be terminated by a semicolon";_r[xx]="Named character references cannot be empty";_r[Nx]="Numeric character references cannot be empty";_r[Sx]="Named character references must be known";_r[Rm]="Numeric character references cannot be disallowed";_r[Ex]="Numeric character references cannot be outside the permissible Unicode range";function GI(e,t){var n={},r,i;t||(t={});for(i in gx)r=t[i],n[i]=r??gx[i];return(n.position.indent||n.position.start)&&(n.indent=n.position.indent||[],n.position=n.position.start),YI(e,n)}function YI(e,t){var n=t.additional,r=t.nonTerminated,i=t.text,a=t.reference,o=t.warning,s=t.textContext,l=t.referenceContext,u=t.warningContext,c=t.position,d=t.indent||[],p=e.length,m=0,f=-1,b=c.column||1,v=c.line||1,h="",y=[],x,S,E,w,R,P,F,A,Z,j,z,V,O,K,le,q,D,g,C;for(typeof n=="string"&&(n=n.charCodeAt(0)),q=_(),A=o?N:zI,m--,p++;++m<p;)if(R===yx&&(b=d[f]||1),R=e.charCodeAt(m),R===vx){if(F=e.charCodeAt(m+1),F===$I||F===yx||F===MI||F===BI||F===vx||F===UI||F!==F||n&&F===n){h+=ua(R),b++;continue}for(O=m+1,V=O,C=O,F===qI?(C=++V,F=e.charCodeAt(C),F===VI||F===WI?(K=Im,C=++V):K=Pm):K=ca,x="",z="",w="",le=Jl[K],C--;++C<p&&(F=e.charCodeAt(C),!!le(F));)w+=ua(F),K===ca&&FI.call(fx,w)&&(x=w,z=fx[w]);E=e.charCodeAt(C)===jI,E&&(C++,S=K===ca?DI(w):!1,S&&(x=w,z=S)),g=1+C-O,!E&&!r||(w?K===ca?(E&&!z?A(Sx,1):(x!==w&&(C=V+x.length,g=1+C-V,E=!1),E||(Z=x?kx:xx,t.attribute?(F=e.charCodeAt(C),F===HI?(A(Z,g),z=null):bx(F)?z=null:A(Z,g)):A(Z,g))),P=z):(E||A(wx,g),P=parseInt(w,Lm[K]),QI(P)?(A(Ex,g),P=ua(KI)):P in hx?(A(Rm,g),P=hx[P]):(j="",XI(P)&&A(Rm,g),P>65535&&(P-=65536,j+=ua(P>>>10|55296),P=56320|P&1023),P=j+ua(P))):K!==ca&&A(Nx,g)),P?(J(),q=_(),m=C-1,b+=C-O+1,y.push(P),D=_(),D.offset++,a&&a.call(l,P,{start:q,end:D},e.slice(O-1,C)),q=D):(w=e.slice(O-1,C),h+=w,b+=w.length,m=C-1)}else R===10&&(v++,f++,b=0),R===R?(h+=ua(R),b++):J();return y.join("");function _(){return{line:v,column:b,offset:m+(c.offset||0)}}function N(ve,ee){var ce=_();ce.column+=ee,ce.offset+=ee,o.call(u,_r[ve],ce,ve)}function J(){h&&(y.push(h),i&&i.call(s,h,{start:q,end:_()}),h="")}}function QI(e){return e>=55296&&e<=57343||e>1114111}function XI(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}});var Rx=ae((rB,eu)=>{var ZI=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};var Tx=function(e){var t=/(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i,n=0,r={},i={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function b(v){return v instanceof a?new a(v.type,b(v.content),v.alias):Array.isArray(v)?v.map(b):v.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\\u00a0/g," ")},type:function(b){return Object.prototype.toString.call(b).slice(8,-1)},objId:function(b){return b.__id||Object.defineProperty(b,"__id",{value:++n}),b.__id},clone:function b(v,h){h=h||{};var y,x;switch(i.util.type(v)){case"Object":if(x=i.util.objId(v),h[x])return h[x];y={},h[x]=y;for(var S in v)v.hasOwnProperty(S)&&(y[S]=b(v[S],h));return y;case"Array":return x=i.util.objId(v),h[x]?h[x]:(y=[],h[x]=y,v.forEach(function(E,w){y[w]=b(E,h)}),y);default:return v}},getLanguage:function(b){for(;b;){var v=t.exec(b.className);if(v)return v[1].toLowerCase();b=b.parentElement}return"none"},setLanguage:function(b,v){b.className=b.className.replace(RegExp(t,"gi"),""),b.classList.add("language-"+v)},currentScript:function(){if(typeof document>"u")return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(y){var b=(/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(y.stack)||[])[1];if(b){var v=document.getElementsByTagName("script");for(var h in v)if(v[h].src==b)return v[h]}return null}},isActive:function(b,v,h){for(var y="no-"+v;b;){var x=b.classList;if(x.contains(v))return!0;if(x.contains(y))return!1;b=b.parentElement}return!!h}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(b,v){var h=i.util.clone(i.languages[b]);for(var y in v)h[y]=v[y];return h},insertBefore:function(b,v,h,y){y=y||i.languages;var x=y[b],S={};for(var E in x)if(x.hasOwnProperty(E)){if(E==v)for(var w in h)h.hasOwnProperty(w)&&(S[w]=h[w]);h.hasOwnProperty(E)||(S[E]=x[E])}var R=y[b];return y[b]=S,i.languages.DFS(i.languages,function(P,F){F===R&&P!=b&&(this[P]=S)}),S},DFS:function b(v,h,y,x){x=x||{};var S=i.util.objId;for(var E in v)if(v.hasOwnProperty(E)){h.call(v,E,v[E],y||E);var w=v[E],R=i.util.type(w);R==="Object"&&!x[S(w)]?(x[S(w)]=!0,b(w,h,null,x)):R==="Array"&&!x[S(w)]&&(x[S(w)]=!0,b(w,h,E,x))}}},plugins:{},highlightAll:function(b,v){i.highlightAllUnder(document,b,v)},highlightAllUnder:function(b,v,h){var y={callback:h,container:b,selector:\'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code\'};i.hooks.run("before-highlightall",y),y.elements=Array.prototype.slice.apply(y.container.querySelectorAll(y.selector)),i.hooks.run("before-all-elements-highlight",y);for(var x=0,S;S=y.elements[x++];)i.highlightElement(S,v===!0,y.callback)},highlightElement:function(b,v,h){var y=i.util.getLanguage(b),x=i.languages[y];i.util.setLanguage(b,y);var S=b.parentElement;S&&S.nodeName.toLowerCase()==="pre"&&i.util.setLanguage(S,y);var E=b.textContent,w={element:b,language:y,grammar:x,code:E};function R(F){w.highlightedCode=F,i.hooks.run("before-insert",w),w.element.innerHTML=w.highlightedCode,i.hooks.run("after-highlight",w),i.hooks.run("complete",w),h&&h.call(w.element)}if(i.hooks.run("before-sanity-check",w),S=w.element.parentElement,S&&S.nodeName.toLowerCase()==="pre"&&!S.hasAttribute("tabindex")&&S.setAttribute("tabindex","0"),!w.code){i.hooks.run("complete",w),h&&h.call(w.element);return}if(i.hooks.run("before-highlight",w),!w.grammar){R(i.util.encode(w.code));return}if(v&&e.Worker){var P=new Worker(i.filename);P.onmessage=function(F){R(F.data)},P.postMessage(JSON.stringify({language:w.language,code:w.code,immediateClose:!0}))}else R(i.highlight(w.code,w.grammar,w.language))},highlight:function(b,v,h){var y={code:b,grammar:v,language:h};if(i.hooks.run("before-tokenize",y),!y.grammar)throw new Error(\'The language "\'+y.language+\'" has no grammar.\');return y.tokens=i.tokenize(y.code,y.grammar),i.hooks.run("after-tokenize",y),a.stringify(i.util.encode(y.tokens),y.language)},tokenize:function(b,v){var h=v.rest;if(h){for(var y in h)v[y]=h[y];delete v.rest}var x=new l;return u(x,x.head,b),s(b,x,v,x.head,0),d(x)},hooks:{all:{},add:function(b,v){var h=i.hooks.all;h[b]=h[b]||[],h[b].push(v)},run:function(b,v){var h=i.hooks.all[b];if(!(!h||!h.length))for(var y=0,x;x=h[y++];)x(v)}},Token:a};e.Prism=i;function a(b,v,h,y){this.type=b,this.content=v,this.alias=h,this.length=(y||"").length|0}a.stringify=function b(v,h){if(typeof v=="string")return v;if(Array.isArray(v)){var y="";return v.forEach(function(R){y+=b(R,h)}),y}var x={type:v.type,content:b(v.content,h),tag:"span",classes:["token",v.type],attributes:{},language:h},S=v.alias;S&&(Array.isArray(S)?Array.prototype.push.apply(x.classes,S):x.classes.push(S)),i.hooks.run("wrap",x);var E="";for(var w in x.attributes)E+=" "+w+\'="\'+(x.attributes[w]||"").replace(/"/g,"&quot;")+\'"\';return"<"+x.tag+\' class="\'+x.classes.join(" ")+\'"\'+E+">"+x.content+"</"+x.tag+">"};function o(b,v,h,y){b.lastIndex=v;var x=b.exec(h);if(x&&y&&x[1]){var S=x[1].length;x.index+=S,x[0]=x[0].slice(S)}return x}function s(b,v,h,y,x,S){for(var E in h)if(!(!h.hasOwnProperty(E)||!h[E])){var w=h[E];w=Array.isArray(w)?w:[w];for(var R=0;R<w.length;++R){if(S&&S.cause==E+","+R)return;var P=w[R],F=P.inside,A=!!P.lookbehind,Z=!!P.greedy,j=P.alias;if(Z&&!P.pattern.global){var z=P.pattern.toString().match(/[imsuy]*$/)[0];P.pattern=RegExp(P.pattern.source,z+"g")}for(var V=P.pattern||P,O=y.next,K=x;O!==v.tail&&!(S&&K>=S.reach);K+=O.value.length,O=O.next){var le=O.value;if(v.length>b.length)return;if(!(le instanceof a)){var q=1,D;if(Z){if(D=o(V,K,b,A),!D||D.index>=b.length)break;var N=D.index,g=D.index+D[0].length,C=K;for(C+=O.value.length;N>=C;)O=O.next,C+=O.value.length;if(C-=O.value.length,K=C,O.value instanceof a)continue;for(var _=O;_!==v.tail&&(C<g||typeof _.value=="string");_=_.next)q++,C+=_.value.length;q--,le=b.slice(K,C),D.index-=K}else if(D=o(V,0,le,A),!D)continue;var N=D.index,J=D[0],ve=le.slice(0,N),ee=le.slice(N+J.length),ce=K+le.length;S&&ce>S.reach&&(S.reach=ce);var ge=O.prev;ve&&(ge=u(v,ge,ve),K+=ve.length),c(v,ge,q);var ft=new a(E,F?i.tokenize(J,F):J,j,J);if(O=u(v,ge,ft),ee&&u(v,O,ee),q>1){var tt={cause:E+","+R,reach:ce};s(b,v,h,O.prev,K,tt),S&&tt.reach>S.reach&&(S.reach=tt.reach)}}}}}}function l(){var b={value:null,prev:null,next:null},v={value:null,prev:b,next:null};b.next=v,this.head=b,this.tail=v,this.length=0}function u(b,v,h){var y=v.next,x={value:h,prev:v,next:y};return v.next=x,y.prev=x,b.length++,x}function c(b,v,h){for(var y=v.next,x=0;x<h&&y!==b.tail;x++)y=y.next;v.next=y,y.prev=v,b.length-=x}function d(b){for(var v=[],h=b.head.next;h!==b.tail;)v.push(h.value),h=h.next;return v}if(!e.document)return e.addEventListener&&(i.disableWorkerMessageHandler||e.addEventListener("message",function(b){var v=JSON.parse(b.data),h=v.language,y=v.code,x=v.immediateClose;e.postMessage(i.highlight(y,i.languages[h],h)),x&&e.close()},!1)),i;var p=i.util.currentScript();p&&(i.filename=p.src,p.hasAttribute("data-manual")&&(i.manual=!0));function m(){i.manual||i.highlightAll()}if(!i.manual){var f=document.readyState;f==="loading"||f==="interactive"&&p&&p.defer?document.addEventListener("DOMContentLoaded",m):window.requestAnimationFrame?window.requestAnimationFrame(m):window.setTimeout(m,16)}return i}(ZI);typeof eu<"u"&&eu.exports&&(eu.exports=Tx);typeof global<"u"&&(global.Prism=Tx)});var _m=ae((iB,Ix)=>{"use strict";Ix.exports=Om;Om.displayName="css";Om.aliases=[];function Om(e){(function(t){var n=/(?:"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"|\'(?:\\\\(?:\\r\\n|[\\s\\S])|[^\'\\\\\\r\\n])*\')/;t.languages.css={comment:/\\/\\*[\\s\\S]*?\\*\\//,atrule:{pattern:/@[\\w-](?:[^;{\\s]|\\s+(?![\\s{]))*(?:;|(?=\\s*\\{))/,inside:{rule:/^@[\\w-]+/,"selector-function-argument":{pattern:/(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\\\burl\\\\((?:"+n.source+"|"+/(?:[^\\\\\\r\\n()"\']|\\\\[\\s\\S])*/.source+")\\\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\\(|\\)$/,string:{pattern:RegExp("^"+n.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\\\s])[^{}\\\\s](?:[^{};"\'\\\\s]|\\\\s+(?![\\\\s{])|`+n.source+")*(?=\\\\s*\\\\{)"),lookbehind:!0},string:{pattern:n,greedy:!0},property:{pattern:/(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,lookbehind:!0},important:/!important\\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,lookbehind:!0},punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var r=t.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))})(e)}});var Lx=ae((aB,Px)=>{"use strict";Px.exports=Dm;Dm.displayName="clike";Dm.aliases=[];function Dm(e){e.languages.clike={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["\'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},"class-name":{pattern:/(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\\\]/}},keyword:/\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,boolean:/\\b(?:false|true)\\b/,function:/\\b\\w+(?=\\()/,number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,punctuation:/[{}[\\];(),.:]/}}});var Fx=ae((oB,Dx)=>{"use strict";var $o=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{},JI=fP();$o.Prism={manual:!0,disableWorkerMessageHandler:!0};var eP=nx(),tP=Ax(),Ox=Rx(),nP=rm(),rP=_m(),iP=Lx(),aP=Gp();JI();var Fm={}.hasOwnProperty;function _x(){}_x.prototype=Ox;var ot=new _x;Dx.exports=ot;ot.highlight=sP;ot.register=Mo;ot.alias=oP;ot.registered=lP;ot.listLanguages=uP;Mo(nP);Mo(rP);Mo(iP);Mo(aP);ot.util.encode=pP;ot.Token.stringify=cP;function Mo(e){if(typeof e!="function"||!e.displayName)throw new Error("Expected `function` for `grammar`, got `"+e+"`");ot.languages[e.displayName]===void 0&&e(ot)}function oP(e,t){var n=ot.languages,r=e,i,a,o,s;t&&(r={},r[e]=t);for(i in r)for(a=r[i],a=typeof a=="string"?[a]:a,o=a.length,s=-1;++s<o;)n[a[s]]=n[i]}function sP(e,t){var n=Ox.highlight,r;if(typeof e!="string")throw new Error("Expected `string` for `value`, got `"+e+"`");if(ot.util.type(t)==="Object")r=t,t=null;else{if(typeof t!="string")throw new Error("Expected `string` for `name`, got `"+t+"`");if(Fm.call(ot.languages,t))r=ot.languages[t];else throw new Error("Unknown language: `"+t+"` is not registered")}return n.call(this,e,r,t)}function lP(e){if(typeof e!="string")throw new Error("Expected `string` for `language`, got `"+e+"`");return Fm.call(ot.languages,e)}function uP(){var e=ot.languages,t=[],n;for(n in e)Fm.call(e,n)&&typeof e[n]=="object"&&t.push(n);return t}function cP(e,t,n){var r;return typeof e=="string"?{type:"text",value:e}:ot.util.type(e)==="Array"?dP(e,t):(r={type:e.type,content:ot.Token.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n},e.alias&&(r.classes=r.classes.concat(e.alias)),ot.hooks.run("wrap",r),eP(r.tag+"."+r.classes.join("."),mP(r.attributes),r.content))}function dP(e,t){for(var n=[],r=e.length,i=-1,a;++i<r;)a=e[i],a!==""&&a!==null&&a!==void 0&&n.push(a);for(i=-1,r=n.length;++i<r;)a=n[i],n[i]=ot.Token.stringify(a,t,n);return n}function pP(e){return e}function mP(e){var t;for(t in e)e[t]=tP(e[t]);return e}function fP(){var e="Prism"in $o,t=e?$o.Prism:void 0;return n;function n(){e?$o.Prism=t:delete $o.Prism,e=void 0,t=void 0}}});var CN=ae((Nj,EN)=>{"use strict";EN.exports=xf;xf.displayName="scss";xf.aliases=[];function xf(e){e.languages.scss=e.languages.extend("css",{comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,lookbehind:!0},atrule:{pattern:/@[\\w-](?:\\([^()]+\\)|[^()\\s]|\\s+(?!\\s))*?(?=\\s+[{;])/,inside:{rule:/@[\\w-]+/}},url:/(?:[-a-z]+-)?url(?=\\()/i,selector:{pattern:/(?=\\S)[^@;{}()]?(?:[^@;{}()\\s]|\\s+(?!\\s)|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\\w]+/,variable:/\\$[-\\w]+|#\\{\\$[-\\w]+\\}/}},property:{pattern:/(?:[-\\w]|\\$[-\\w]|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,inside:{variable:/\\$[-\\w]+|#\\{\\$[-\\w]+\\}/}}}),e.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore("scss","important",{variable:/\\$[-\\w]+|#\\{\\$[-\\w]+\\}/}),e.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\\b(?:as|hide|show|with)\\b/i,alias:"keyword"},placeholder:{pattern:/%[-\\w]+/,alias:"selector"},statement:{pattern:/\\B!(?:default|optional)\\b/i,alias:"keyword"},boolean:/\\b(?:false|true)\\b/,null:{pattern:/\\bnull\\b/,alias:"keyword"},operator:{pattern:/(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|not|or)(?=\\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}});var Le=X(Ye()),yS=X(Iv());var ye=e=>e instanceof Error?e.message:String(e);var KC={models:"/models",whoami:"/whoami",status:"/status",team:"/team",fim:"/fim",chat:"/chat",embeddings:"/embeddings"},QO=Object.keys(KC);var GC="rjmacarthy.twinny",ho=(e,t,n="vscode")=>{let r=new URLSearchParams({url:e.replace(/\\/+$/,""),code:t});return`${n}://${GC}/join?${r.toString()}`};var xn=class extends Error{constructor(n,r){super(n);this.status=r}},ne=async(e,t,n={})=>{let r=await fetch(e,{method:n.method??"GET",headers:{Authorization:`Bearer ${t}`,...n.body!==void 0?{"Content-Type":"application/json"}:{}},...n.body!==void 0?{body:JSON.stringify(n.body)}:{}}),i=await r.text(),a;try{a=JSON.parse(i)}catch{a=void 0}if(!r.ok){let o=a?.error?.message||`The gateway answered ${r.status}.`;throw new xn(o,r.status)}return a};var Ln=X(Ye());var $=e=>e.toLocaleString("en-US"),Zi=(e,t)=>t?`${Math.round(e/t*100)}%`:"\\u2013",Sr=e=>e.replace("T"," ").slice(0,16),Zr=e=>e.replace("T"," ").slice(0,19),Oe=(e,t=Date.now())=>{let n=Math.round((t-Date.parse(e))/1e3);if(!Number.isFinite(n))return"\\u2013";if(n<0)return"just now";if(n<60)return`${n}s ago`;let r=Math.round(n/60);if(r<60)return`${r} min ago`;let i=Math.round(r/60);if(i<24)return`${i} h ago`;let a=Math.round(i/24);return a<14?`${a} d ago`:e.slice(0,10)},go=(e,t=Date.now())=>{let n=Math.round((Date.parse(e)-t)/1e3);return Number.isFinite(n)?n<=0?"expired":n<60?`in ${n}s`:n<3600?`in ${Math.round(n/60)} min`:n<172800?`in ${Math.round(n/3600)} h`:`in ${Math.round(n/86400)} days`:"\\u2013"},_t=e=>e<1e3?`${$(Math.round(e))} ms`:`${(e/1e3).toFixed(e<1e4?1:0)} s`,Nt=e=>e<1e4?$(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`,Fe=(e,t,n=`${t}s`)=>`${$(e)} ${e===1?t:n}`;var be=X(Ce()),t2=["","key.","invite.","signin.","config.","license.","plugin."],n2={"":"everything","key.":"keys","invite.":"invites","signin.":"sign-ins","config.":"configuration","license.":"licence","plugin.":"plugins"},_v=({apiKey:e})=>{let[t,n]=(0,Ln.useState)(null),[r,i]=(0,Ln.useState)(),[a,o]=(0,Ln.useState)(""),[s,l]=(0,Ln.useState)(""),[u,c]=(0,Ln.useState)("30d"),d=(0,Ln.useCallback)(async()=>{try{let f=new URLSearchParams({since:u,limit:"500"});a&&f.set("action",a),s.trim()&&f.set("actor",s.trim()),n(await ne(`/twinny/v1/admin/audit?${f.toString()}`,e)),i(void 0)}catch(f){i(ye(f))}},[e,a,s,u]);(0,Ln.useEffect)(()=>{d()},[d]);let p=async()=>{let b=await(await fetch("/twinny/v1/admin/audit/export",{headers:{Authorization:`Bearer ${e}`}})).blob(),v=URL.createObjectURL(b),h=document.createElement("a");h.href=v,h.download="twinny-audit.jsonl",h.click(),URL.revokeObjectURL(v)},m=f=>Object.entries(f.details??{}).map(([b,v])=>`${b}=${String(v)}`).join(" ");return(0,be.jsxs)(be.Fragment,{children:[(0,be.jsxs)("div",{className:"page-title",children:[(0,be.jsx)("h2",{children:"Audit log"}),(0,be.jsx)("p",{children:"Who changed what on this gateway. Each line carries the hash of the one before it, so a gap or an edit shows."})]}),r&&(0,be.jsx)("div",{className:"error-bar",children:r}),t&&(0,be.jsxs)("div",{className:"tiles",children:[(0,be.jsxs)("div",{className:"tile",children:[(0,be.jsx)("div",{className:"label",children:"entries shown"}),(0,be.jsx)("div",{className:"value",children:$(t.entries.length)})]}),(0,be.jsxs)("div",{className:"tile",children:[(0,be.jsx)("div",{className:"label",children:"entries kept"}),(0,be.jsx)("div",{className:"value",children:$(t.verification.entries)})]}),(0,be.jsxs)("div",{className:`tile ${t.verification.ok?"":"bad"}`,children:[(0,be.jsx)("div",{className:"label",children:"chain"}),(0,be.jsx)("div",{className:"value",children:t.verification.ok?"intact":"broken"})]})]}),t&&!t.verification.ok&&t.verification.brokenAt&&(0,be.jsxs)("div",{className:"error-bar",children:["The chain breaks in ",t.verification.brokenAt.file," at line ",$(t.verification.brokenAt.line),": ",t.verification.brokenAt.reason,". Everything before it is intact."]}),(0,be.jsxs)("section",{className:"panel",children:[(0,be.jsxs)("div",{className:"toolbar",children:[(0,be.jsx)("span",{className:"chips",role:"group","aria-label":"Period",children:["24h","7d","30d","365d"].map(f=>(0,be.jsx)("button",{type:"button",className:u===f?"on":"",onClick:()=>c(f),children:f},f))}),(0,be.jsx)("select",{value:a,onChange:f=>o(f.target.value),"aria-label":"Action",children:t2.map(f=>(0,be.jsx)("option",{value:f,children:n2[f]},f))}),(0,be.jsx)("input",{type:"search",className:"search",placeholder:"actor (key name)",value:s,onChange:f=>l(f.target.value),"aria-label":"Actor"}),(0,be.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>void p(),children:"export"})]}),t?t.entries.length===0?(0,be.jsx)("div",{className:"empty",children:"Nothing in this period."}):(0,be.jsx)("div",{className:"scroll",children:(0,be.jsxs)("table",{children:[(0,be.jsx)("thead",{children:(0,be.jsxs)("tr",{children:[(0,be.jsx)("th",{children:"when"}),(0,be.jsx)("th",{children:"actor"}),(0,be.jsx)("th",{children:"action"}),(0,be.jsx)("th",{children:"target"}),(0,be.jsx)("th",{children:"details"}),(0,be.jsx)("th",{children:"from"})]})}),(0,be.jsx)("tbody",{children:t.entries.map((f,b)=>(0,be.jsxs)("tr",{children:[(0,be.jsx)("td",{className:"muted",title:Zr(f.ts),children:Oe(f.ts)}),(0,be.jsx)("td",{className:"entity-name",children:f.actor}),(0,be.jsx)("td",{children:(0,be.jsx)("span",{className:"tag",children:f.action})}),(0,be.jsx)("td",{children:f.target??""}),(0,be.jsx)("td",{className:"muted",children:m(f)}),(0,be.jsx)("td",{className:"muted",children:f.from??""})]},`${f.ts}-${b}`))})]})}):(0,be.jsx)("div",{className:"loading",children:"Loading\\u2026"})]})]})};var He=X(Ye());var T=X(Ce()),zd="/twinny/v1/admin/config",dl=["chat","fim","embeddings"],yo={chat:"Chat",fim:"Autocomplete (FIM)",embeddings:"Embeddings"},On=({label:e,value:t,onChange:n,placeholder:r,required:i,type:a="text",min:o,step:s,hint:l,max:u,pattern:c})=>(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:e}),(0,T.jsx)("input",{value:t,onChange:d=>n(d.target.value),placeholder:r,required:i,type:a,step:s,min:o,max:u,pattern:c,autoComplete:"off"}),l&&(0,T.jsx)("small",{className:"muted",children:l})]}),r2=({originalName:e,initial:t,kinds:n,onApply:r,onCancel:i})=>{let[a,o]=(0,He.useState)(e),[s,l]=(0,He.useState)(t),[u,c]=(0,He.useState)(""),d=(f,b)=>l(v=>({...v,[f]:b})),p=s.provider==="team";return(0,T.jsxs)("form",{className:"config-editor",onSubmit:f=>{f.preventDefault();let b={provider:s.provider};if(p){try{r(a.trim(),b)}catch(h){c(ye(h))}return}s.apiHostname?.trim()&&(b.apiHostname=s.apiHostname.trim()),s.apiProtocol&&(b.apiProtocol=s.apiProtocol),s.apiPort!==void 0&&(b.apiPort=s.apiPort),s.apiKeyEnv?.trim()&&(b.apiKeyEnv=s.apiKeyEnv.trim());let v=Object.fromEntries(Object.entries(s.paths??{}).filter(([,h])=>h?.trim()).map(([h,y])=>[h,y.trim()]));Object.keys(v).length&&(b.paths=v);try{r(a.trim(),b)}catch(h){c(ye(h))}},children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h3",{children:e?`Edit ${e}`:"Add provider"}),(0,T.jsx)("span",{className:"muted",children:p?"Teammates\' computers":"Connection settings"})]}),(0,T.jsxs)("div",{className:"config-fields",children:[(0,T.jsx)(On,{label:"Provider name",value:a,onChange:o,required:!0,pattern:"[A-Za-z0-9][A-Za-z0-9._\\\\-]{0,63}",placeholder:p?"team":"team-inference"}),(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"Adapter"}),(0,T.jsx)("select",{"aria-label":"Adapter",value:s.provider,onChange:f=>{let b=n.find(v=>v.id===f.target.value).defaults;l({...b,...s.apiKeyEnv?{apiKeyEnv:s.apiKeyEnv}:{}})},children:n.map(f=>(0,T.jsx)("option",{value:f.id,children:f.label},f.id))})]}),!p&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(On,{label:"Hostname",value:s.apiHostname??"",onChange:f=>d("apiHostname",f),placeholder:"Adapter default"}),(0,T.jsx)(On,{label:"Port",value:s.apiPort??"",onChange:f=>d("apiPort",f?Number(f):void 0),type:"number",min:1,max:65535,placeholder:"Adapter default"}),(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"Protocol"}),(0,T.jsxs)("select",{value:s.apiProtocol??"http",onChange:f=>d("apiProtocol",f.target.value),children:[(0,T.jsx)("option",{value:"http",children:"HTTP"}),(0,T.jsx)("option",{value:"https",children:"HTTPS"})]})]}),(0,T.jsx)(On,{label:"API key environment variable",value:s.apiKeyEnv??"",onChange:f=>d("apiKeyEnv",f),placeholder:"Optional, e.g. MODEL_API_KEY",pattern:"[A-Za-z_][A-Za-z0-9_]*"})]})]}),p&&(0,T.jsx)("p",{className:"config-hint",children:"Aliases on this provider are served by whichever connected teammate has the model. Developers switch sharing on from the Twinny sidebar (Share this computer with the team); nothing to configure here. Only one such provider is allowed."}),!p&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)("p",{className:"config-hint",children:"For authenticated backends, name an environment variable available to the gateway process. The key itself stays on the server."}),(0,T.jsxs)("details",{className:"advanced-fields",children:[(0,T.jsx)("summary",{children:"Custom API paths"}),(0,T.jsx)("p",{className:"config-hint",children:"Leave blank to use adapter defaults. Chat uses a base path for OpenAI-compatible adapters, such as /v1."}),(0,T.jsx)("div",{className:"config-fields",children:dl.map(f=>(0,T.jsx)(On,{label:`${yo[f]} path`,value:s.paths?.[f]??"",onChange:b=>d("paths",{...s.paths,[f]:b}),placeholder:"Adapter default"},f))})]})]}),u&&(0,T.jsx)("div",{className:"error",role:"alert",children:u}),(0,T.jsxs)("div",{className:"editor-actions",children:[(0,T.jsx)("button",{type:"submit",className:"primary",children:"Apply to draft"}),(0,T.jsx)("button",{type:"button",className:"ghost",onClick:i,children:"Cancel"})]})]})},i2=({initial:e,providers:t,apiKey:n,onApply:r,onCancel:i})=>{let[a,o]=(0,He.useState)(e),[s,l]=(0,He.useState)(""),[u,c]=(0,He.useState)([]),[d,p]=(0,He.useState)(!0),[m,f]=(0,He.useState)(""),[b,v]=(0,He.useState)(!1),[h,y]=(0,He.useState)(0),x=t[a.provider];(0,He.useEffect)(()=>{let w=!1;return p(!0),f(""),c([]),ne("/twinny/v1/admin/provider-models",n,{method:"POST",body:{provider:x}}).then(R=>{w||c(R.models)}).catch(R=>{w||f(ye(R))}).finally(()=>{w||p(!1)}),()=>{w=!0}},[n,x,h]);let S=b||!d&&(m!==""||u.length===0);return(0,T.jsxs)("form",{className:"config-editor",onSubmit:w=>{if(w.preventDefault(),!a.model.trim()){l("Select or enter a backend model.");return}if(!a.capabilities.length){l("Choose at least one capability.");return}try{r({...a,alias:a.alias.trim(),model:a.model.trim()})}catch(R){l(ye(R))}},children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h3",{children:e.alias?`Edit ${e.alias}`:"Add model"}),(0,T.jsx)("span",{className:"muted",children:"Available to developers"})]}),(0,T.jsxs)("div",{className:"config-fields",children:[(0,T.jsx)(On,{label:"Public alias",value:a.alias,onChange:w=>o({...a,alias:w}),required:!0,placeholder:"team-chat"}),(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"Provider"}),(0,T.jsx)("select",{"aria-label":"Provider",value:a.provider,onChange:w=>{o({...a,provider:w.target.value,model:""}),v(!1)},required:!0,children:Object.keys(t).map(w=>(0,T.jsx)("option",{value:w,children:w},w))})]}),(0,T.jsxs)("div",{className:"model-select-field",children:[S?(0,T.jsx)(On,{label:"Backend model name",value:a.model,onChange:w=>o({...a,model:w}),required:!0,placeholder:"Exact model name on the backend"}):(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"Backend model"}),(0,T.jsxs)("select",{"aria-label":"Backend model",value:a.model,onChange:w=>o({...a,model:w.target.value}),required:!0,disabled:d,children:[(0,T.jsx)("option",{value:"",children:d?"Fetching models\\u2026":"Select a model"}),a.model&&!u.some(w=>w.id===a.model)&&(0,T.jsxs)("option",{value:a.model,children:[a.model," (current, not listed)"]}),u.map(w=>(0,T.jsx)("option",{value:w.id,children:w.name||w.id},w.id))]})]}),(0,T.jsxs)("div",{className:"model-list-actions",children:[(0,T.jsx)("button",{type:"button",className:"ghost",disabled:d,onClick:()=>y(w=>w+1),children:d?"Fetching\\u2026":"Refresh models"}),!d&&u.length>0&&(0,T.jsx)("button",{type:"button",className:"ghost",onClick:()=>v(!b),children:b?"Choose from list":"Enter a model name"})]}),!d&&(m||!u.length)&&(0,T.jsxs)("p",{className:"config-hint",role:"status",children:[m?`Could not fetch models: ${m}`:"This provider returned no models."," Enter a name manually or refresh the list."]})]}),(0,T.jsx)(On,{label:"Context window (tokens)",value:a.contextWindow??"",onChange:w=>o({...a,contextWindow:w?Number(w):void 0}),type:"number",min:1,placeholder:"Optional"}),(0,T.jsx)(On,{label:"Price per million input tokens (for the Usage page)",value:a.price?.input??"",onChange:w=>o({...a,price:w||a.price?.output!==void 0?{input:w?Number(w):0,output:a.price?.output??0}:void 0}),type:"number",min:0,step:"any",placeholder:"Optional, e.g. 0.15",hint:"Per million tokens, in the currency set above. Examples: gpt-4o-mini 0.15 in / 0.60 out; claude-3-5-haiku 0.80 / 4.00; mistral-small 0.20 / 0.60; a local model 0 / 0 or your GPU\'s hourly cost spread over tokens."}),(0,T.jsx)(On,{label:"Price per million output tokens",value:a.price?.output??"",onChange:w=>o({...a,price:w||a.price?.input!==void 0?{input:a.price?.input??0,output:w?Number(w):0}:void 0}),type:"number",min:0,step:"any",placeholder:"Optional, e.g. 0.60"})]}),(0,T.jsxs)("fieldset",{className:"capability-picker",children:[(0,T.jsx)("legend",{children:"Capabilities"}),dl.map(w=>(0,T.jsxs)("label",{children:[(0,T.jsx)("input",{type:"checkbox",checked:a.capabilities.includes(w),onChange:R=>o({...a,capabilities:R.target.checked?[...a.capabilities,w]:a.capabilities.filter(P=>P!==w)})}),yo[w]]},w))]}),(0,T.jsx)("p",{className:"config-hint",children:"Select only the jobs this model supports. Developers select the public alias in Twinny."}),s&&(0,T.jsx)("div",{className:"error",role:"alert",children:s}),(0,T.jsxs)("div",{className:"editor-actions",children:[(0,T.jsx)("button",{type:"submit",className:"primary",children:"Apply to draft"}),(0,T.jsx)("button",{type:"button",className:"ghost",onClick:i,children:"Cancel"})]})]})},Dv=({apiKey:e,onSaved:t,features:n=[],section:r="models",status:i,usage:a,period:o,onNavigate:s})=>{let[l,u]=(0,He.useState)(null),[c,d]=(0,He.useState)(null),[p,m]=(0,He.useState)(null),[f,b]=(0,He.useState)(null),[v,h]=(0,He.useState)(!1),[y,x]=(0,He.useState)(""),[S,E]=(0,He.useState)(""),w=!!l&&!!c&&JSON.stringify(c)!==JSON.stringify({providers:l.providers,models:l.models,teamDefaults:l.teamDefaults??{},policy:l.policy??{}}),R=g=>{u(g),d({providers:g.providers,models:g.models,teamDefaults:g.teamDefaults??{},policy:g.policy??{}}),m(null),b(null),x("")};(0,He.useEffect)(()=>{let g=!1;return ne(zd,e).then(C=>{g||R(C)}).catch(C=>{g||x(ye(C))}),()=>{g=!0}},[e]),(0,He.useEffect)(()=>{if(!w&&!p)return;let g=C=>{C.preventDefault(),C.returnValue=""};return window.addEventListener("beforeunload",g),()=>window.removeEventListener("beforeunload",g)},[w,p]);let P=async()=>{h(!0);try{R(await ne(zd,e)),E("")}catch(g){x(ye(g))}finally{h(!1)}},F=async()=>{if(!(!l||!c||v)){h(!0),x(""),E("");try{R(await ne(zd,e,{method:"PUT",body:{revision:l.revision,...c}})),E("Saved. New requests now use this configuration."),t()}catch(g){x(ye(g))}finally{h(!1)}}},A=g=>{m(g),b(null),E(""),x("")},Z=()=>{if(!(!c||!f||f==="reload")){if(f.type==="provider"){let g={...c.providers};delete g[f.name],d({...c,providers:g})}else d({...c,models:c.models.filter((g,C)=>C!==f.index),teamDefaults:Object.fromEntries(Object.entries(c.teamDefaults??{}).filter(([,g])=>g!==c.models[f.index].alias))});b(null),E("")}};if(!c||!l)return(0,T.jsx)("section",{className:"panel",children:y?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)("div",{className:"error",role:"alert",children:y}),(0,T.jsx)("button",{onClick:()=>void P(),disabled:v,children:"Retry"})]}):(0,T.jsx)("div",{className:"loading",children:"Loading configuration\\u2026"})});let j=v||p!==null,z=g=>i?.backends.find(C=>C.provider===g),V=new Map((i?.models??[]).map(g=>[g.id,g.ok])),O=g=>a?.byModel[g]?.requests??0,K=g=>l.models.find(C=>C.alias===g),le=g=>dl.filter(C=>c.teamDefaults?.[C]===g),q=n.includes("policy"),D=p?.type==="provider"?c.providers[p.name]:void 0;return(0,T.jsxs)("div",{className:"configuration",children:[(0,T.jsxs)("div",{className:"config-toolbar",children:[(0,T.jsxs)("div",{children:[(0,T.jsx)("h2",{children:r==="policy"?"Team policy":"Providers & models"}),(0,T.jsx)("p",{children:r==="policy"?"What connected extensions enforce. Saved with the rest of the configuration.":"Connect backends. Choose the models your team can use."})]}),(0,T.jsxs)("div",{className:"editor-actions",children:[(0,T.jsx)("span",{className:w?"draft-state":"muted",children:w?"Unsaved changes":"Up to date"}),(0,T.jsx)("button",{className:"ghost",disabled:v,onClick:()=>w||p?b("reload"):void P(),children:"Reload"}),(0,T.jsx)("button",{className:"primary",disabled:!w||j,onClick:()=>void F(),children:v?"Saving\\u2026":"Save changes"})]})]}),y&&(0,T.jsx)("div",{className:"error-bar",role:"alert",children:y}),S&&(0,T.jsx)("div",{className:"success-bar",role:"status",children:S}),f==="reload"&&(0,T.jsxs)("div",{className:"confirm-bar",role:"alert",children:[(0,T.jsx)("span",{children:"Discard your draft and reload the saved configuration?"}),(0,T.jsx)("button",{className:"danger",disabled:v,onClick:()=>void P(),children:"Discard and reload"}),(0,T.jsx)("button",{className:"ghost",disabled:v,onClick:()=>b(null),children:"Cancel"})]}),(0,T.jsxs)("section",{className:"panel",hidden:r!=="models",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h2",{children:"Team defaults"}),(0,T.jsx)("span",{className:"muted",children:"What a developer gets the moment they connect"})]}),(0,T.jsx)("div",{className:"slots",children:dl.map(g=>{let C=c.teamDefaults?.[g]??"",_=c.models.find(ee=>ee.alias===C),N=_?z(_.provider):void 0,J=_?V.get(_.alias):void 0,ve=c.models.filter(ee=>ee.capabilities.includes(g));return(0,T.jsxs)("div",{className:`slot ${C?"":"unset"}`,children:[(0,T.jsx)("div",{className:"slot-label",children:yo[g]}),(0,T.jsxs)("select",{"aria-label":`${yo[g]} default`,disabled:j||!ve.length,value:C,onChange:ee=>{let ce={...c.teamDefaults};ee.target.value?ce[g]=ee.target.value:delete ce[g],d({...c,teamDefaults:ce}),E("")},children:[(0,T.jsx)("option",{value:"",children:ve.length?"Not set: developers pick their own":"No model offers this"}),ve.map(ee=>(0,T.jsx)("option",{value:ee.alias,children:ee.alias},ee.alias))]}),(0,T.jsx)("div",{className:"slot-detail muted",children:_?(0,T.jsxs)(T.Fragment,{children:[K(_.alias)&&J!==void 0&&(0,T.jsx)("i",{className:`status-dot ${J?"ok":"bad"}`,title:J?"answering":"down"}),_.model," on ",_.provider,N&&!N.ok?(0,T.jsx)("span",{className:"revoked",children:" \\xB7 down"}):N?` \\xB7 ${_t(N.ms)}`:"",a&&O(_.alias)>0?` \\xB7 ${Fe(O(_.alias),"request")}${o?` in ${o}`:""}`:""]}):ve.length?"Developers keep whatever they had configured for this.":"Add a model with this capability first."})]},g)})}),(0,T.jsx)("p",{className:"config-hint",children:"Share the gateway URL and a personal access key. Developers open Twinny \\u2192 Providers \\u2192 Connect to team. Existing connections keep their aliases until they reconnect."})]}),(0,T.jsxs)("div",{hidden:r!=="policy",children:[(0,T.jsxs)("section",{className:"panel",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h2",{children:"Rules"}),(0,T.jsx)("span",{className:`pill-s ${q?"ok":"warn"}`,children:q?"enforced":"not sent: needs a licence"})]}),(0,T.jsx)("p",{className:"config-hint",children:"What connected extensions enforce on the developer\'s machine. Shown for consent before connecting, re-read at every VS Code start, and released when the developer leaves the team."}),!q&&(0,T.jsxs)("div",{className:"confirm-bar",style:{marginBottom:14},children:[(0,T.jsx)("span",{children:"Rules are saved but not sent until the gateway\'s licence includes team policy."}),s&&(0,T.jsx)("button",{type:"button",className:"ghost",onClick:()=>s("plan"),children:"Plan & licence"})]}),(0,T.jsxs)("fieldset",{className:"policy-rule",children:[(0,T.jsx)("legend",{children:"Other providers"}),[[!1,"Allow","Developers may add and use their own providers alongside the team gateway."],[!0,"Team gateway only","Developers cannot add or activate any other provider while connected."]].map(([g,C,_])=>(0,T.jsxs)("label",{className:"policy-option",children:[(0,T.jsx)("input",{type:"radio",name:"policy-team-only",checked:c.policy?.teamOnly===!0===g,disabled:j,onChange:()=>{let N={...c.policy};g?N.teamOnly=!0:delete N.teamOnly,d({...c,policy:N}),E("")}}),(0,T.jsxs)("span",{children:[(0,T.jsx)("b",{children:C}),(0,T.jsx)("small",{children:_})]})]},String(g)))]}),(0,T.jsxs)("fieldset",{className:"policy-rule",children:[(0,T.jsx)("legend",{children:"Default models"}),(0,T.jsxs)("label",{className:"policy-option",children:[(0,T.jsx)("input",{type:"checkbox",checked:c.policy?.lockDefaults===!0,disabled:j,onChange:g=>{let C={...c.policy};g.target.checked?C.lockDefaults=!0:delete C.lockDefaults,d({...c,policy:C}),E("")}}),(0,T.jsxs)("span",{children:[(0,T.jsx)("b",{children:"Keep the team defaults active"}),(0,T.jsx)("small",{children:"Chat, autocomplete and embeddings stay on the team\'s models; developers cannot switch them to another provider while connected."})]})]})]})]}),(0,T.jsxs)("section",{className:"panel",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h2",{children:"Secret shield"}),(0,T.jsx)("span",{className:"muted",children:"Applied by the gateway to every request, whatever client sent it"})]}),(0,T.jsxs)("fieldset",{className:"policy-rule",children:[(0,T.jsx)("legend",{children:"Shield prompts sent to"}),[["offMachine","Backends off this machine","Keys, tokens and passwords in prompts become placeholders before a request reaches a hosted API, another host or a teammate\'s computer, and are put back in the reply."],["always","Every backend","Local backends get placeholders too."],["off","Off","Prompts are forwarded as they arrive."]].map(([g,C,_])=>(0,T.jsxs)("label",{className:"policy-option",children:[(0,T.jsx)("input",{type:"radio",name:"secret-shield",checked:(c.policy?.secretShield??"offMachine")===g,disabled:j,onChange:()=>{let N={...c.policy};g==="offMachine"?delete N.secretShield:N.secretShield=g,d({...c,policy:N}),E("")}}),(0,T.jsxs)("span",{children:[(0,T.jsx)("b",{children:C}),(0,T.jsx)("small",{children:_})]})]},g))]})]}),(0,T.jsxs)("section",{className:"panel",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h2",{children:"Team system prompt"}),(0,T.jsx)("span",{className:"muted",children:"Sent to connected extensions and put before every chat\'s system prompt"})]}),(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"team system prompt"}),(0,T.jsx)("textarea",{rows:4,value:c.policy?.systemPrompt??"",disabled:j,placeholder:"e.g. We write TypeScript with strict mode. Prefer small functions. Never suggest adding dependencies without saying why.",onChange:g=>{let C={...c.policy};g.target.value.trim()?C.systemPrompt=g.target.value:delete C.systemPrompt,d({...c,policy:C}),E("")}})]})]}),(0,T.jsxs)("section",{className:"panel",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h2",{children:"Routing rules"}),(0,T.jsx)("span",{className:"muted",children:"By the workspace name the extension sends; the first matching rule decides"})]}),(c.policy?.routing??[]).map((g,C)=>(0,T.jsxs)("div",{className:"policy-entry",children:[(0,T.jsxs)("div",{className:"config-fields",children:[(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"workspace (glob, e.g. payments-*)"}),(0,T.jsx)("input",{value:g.workspace,disabled:j,onChange:_=>{let N=[...c.policy?.routing??[]];N[C]={...g,workspace:_.target.value},d({...c,policy:{...c.policy,routing:N}}),E("")}})]}),(0,T.jsxs)("label",{className:"config-field",children:[(0,T.jsx)("span",{children:"only these aliases (comma-separated; blank: any)"}),(0,T.jsx)("input",{value:(g.aliases??[]).join(", "),disabled:j,onChange:_=>{let N=[...c.policy?.routing??[]],J=_.target.value.split(",").map(ve=>ve.trim()).filter(Boolean);N[C]={...g,...J.length?{aliases:J}:{}},J.length||delete N[C].aliases,d({...c,policy:{...c.policy,routing:N}}),E("")}})]})]}),(0,T.jsxs)("div",{className:"backup-options",children:[(0,T.jsxs)("label",{className:"policy-option",children:[(0,T.jsx)("input",{type:"checkbox",checked:g.localOnly===!0,disabled:j,onChange:_=>{let N=[...c.policy?.routing??[]];N[C]={...g},_.target.checked?N[C].localOnly=!0:delete N[C].localOnly,d({...c,policy:{...c.policy,routing:N}}),E("")}}),(0,T.jsxs)("span",{children:[(0,T.jsx)("b",{children:"local backends only"}),(0,T.jsx)("small",{children:"never a hosted provider"})]})]}),(0,T.jsx)("button",{type:"button",className:"ghost mini",disabled:j,onClick:()=>{let _=(c.policy?.routing??[]).filter((J,ve)=>ve!==C),N={...c.policy};_.length?N.routing=_:delete N.routing,d({...c,policy:N}),E("")},children:"remove rule"})]})]},C)),(0,T.jsx)("button",{type:"button",disabled:j,onClick:()=>{let g=[...c.policy?.routing??[],{workspace:"",localOnly:!0}];d({...c,policy:{...c.policy,routing:g}}),E("")},children:"+ Add rule"})]})]}),(0,T.jsxs)("section",{className:"panel",hidden:r!=="models",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsx)("h2",{children:"Prices"}),(0,T.jsx)("span",{className:"muted",children:"what the Usage page multiplies token counts by; set per alias in its form"})]}),(0,T.jsxs)("div",{className:"newkey",children:[(0,T.jsxs)("label",{children:[(0,T.jsx)("span",{className:"muted",children:"currency"}),(0,T.jsx)("input",{value:c.pricing?.currency??"",placeholder:"USD",maxLength:3,disabled:j,style:{width:80},onChange:g=>{let C=g.target.value.toUpperCase(),_={...c};C?_.pricing={currency:C}:delete _.pricing,d(_),E("")}})]}),(0,T.jsx)("span",{className:"muted",children:c.models.filter(g=>g.price).length?`${c.models.filter(g=>g.price).length} of ${c.models.length} aliases have a price.`:"No alias has a price yet; open a model and set one per million tokens."})]})]}),(0,T.jsxs)("section",{className:"panel",hidden:r!=="models",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsxs)("h2",{children:["Providers"," ",(0,T.jsx)("span",{className:"count",children:Object.keys(c.providers).length})]}),(0,T.jsx)("button",{disabled:j,onClick:()=>A({type:"provider",name:""}),children:"+ Add provider"})]}),(0,T.jsx)("div",{className:"scroll",children:(0,T.jsxs)("table",{children:[(0,T.jsx)("thead",{children:(0,T.jsxs)("tr",{children:[(0,T.jsx)("th",{children:"Name"}),(0,T.jsx)("th",{children:"Adapter"}),(0,T.jsx)("th",{children:"Endpoint"}),(0,T.jsx)("th",{children:"Status"}),(0,T.jsx)("th",{className:"num",children:"Models"}),(0,T.jsx)("th",{children:(0,T.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,T.jsx)("tbody",{children:Object.entries(c.providers).map(([g,C])=>{let _=c.models.filter(ce=>ce.provider===g),N=l.kinds.find(ce=>ce.id===C.provider)?.defaults,J=C.apiHostname??N?.apiHostname,ve=C.apiPort??N?.apiPort,ee=f!=="reload"&&f?.type==="provider"&&f.name===g;return(0,T.jsxs)(He.default.Fragment,{children:[(0,T.jsxs)("tr",{className:ee?"confirming":void 0,children:[(0,T.jsx)("td",{className:"entity-name",children:g}),(0,T.jsx)("td",{children:l.kinds.find(ce=>ce.id===C.provider)?.label??C.provider}),(0,T.jsx)("td",{className:"muted",children:J?`${C.apiProtocol??N?.apiProtocol??"http"}://${J}${ve?`:${ve}`:""}`:"Managed by adapter"}),(0,T.jsx)("td",{children:(()=>{let ce=z(g);return l.providers[g]?ce?(0,T.jsx)("span",{className:`pill-s ${ce.ok?"ok":"bad"}`,children:ce.ok?`answering \\xB7 ${_t(ce.ms)}`:`down \\xB7 ${ce.kind??"unreachable"}`}):(0,T.jsx)("span",{className:"muted",children:"\\u2013"}):(0,T.jsx)("span",{className:"pill-s warn",children:"unsaved"})})()}),(0,T.jsx)("td",{className:"num",children:_.length}),(0,T.jsxs)("td",{className:"actions",children:[(0,T.jsx)("button",{className:"ghost",disabled:j,onClick:()=>A({type:"provider",name:g}),"aria-label":`Edit provider ${g}`,children:"Edit"}),(0,T.jsx)("button",{className:"ghost",disabled:j||_.length>0||Object.keys(c.providers).length===1,title:_.length?"Remove or reassign this provider\'s models first.":"Keep at least one provider.",onClick:()=>b(ee?null:{type:"provider",name:g}),"aria-label":`Remove provider ${g}`,children:"Remove"})]})]}),ee&&(0,T.jsx)("tr",{className:"confirm-row",children:(0,T.jsx)("td",{colSpan:6,children:(0,T.jsxs)("div",{className:"confirm-bar",role:"alert",children:[(0,T.jsxs)("span",{children:["Remove provider \\u201C",g,"\\u201D from the draft?"]}),(0,T.jsx)("button",{className:"danger",disabled:v,onClick:Z,autoFocus:!0,children:"Remove from draft"}),(0,T.jsx)("button",{className:"ghost",disabled:v,onClick:()=>b(null),children:"Cancel"})]})})})]},g)})})]})}),p?.type==="provider"&&(0,T.jsx)(r2,{originalName:p.name,kinds:l.kinds,initial:D??l.kinds.find(g=>g.id==="openai-compatible").defaults,onCancel:()=>m(null),onApply:(g,C)=>{if(!g)throw new Error("Enter a provider name.");if(g!==p.name&&Object.prototype.hasOwnProperty.call(c.providers,g))throw new Error("That provider name is already in use.");let _=Object.fromEntries(Object.entries(c.providers).map(([N,J])=>N===p.name?[g,C]:[N,J]));p.name||Object.defineProperty(_,g,{value:C,enumerable:!0,writable:!0,configurable:!0}),d({...c,providers:_,models:c.models.map(N=>N.provider===p.name?{...N,provider:g}:N)}),m(null)}},p.name)]}),(0,T.jsxs)("section",{className:"panel",hidden:r!=="models",children:[(0,T.jsxs)("div",{className:"section-heading",children:[(0,T.jsxs)("h2",{children:["Models ",(0,T.jsx)("span",{className:"count",children:c.models.length})]}),(0,T.jsx)("button",{disabled:j||!Object.keys(c.providers).length,onClick:()=>A({type:"model",index:-1}),children:"+ Add model"})]}),(0,T.jsx)("div",{className:"scroll",children:(0,T.jsxs)("table",{children:[(0,T.jsx)("thead",{children:(0,T.jsxs)("tr",{children:[(0,T.jsx)("th",{children:"Public alias"}),(0,T.jsx)("th",{children:"Backend model"}),(0,T.jsx)("th",{children:"Provider"}),(0,T.jsx)("th",{children:"Capabilities"}),a&&(0,T.jsxs)("th",{className:"num",children:["Requests",o?` \\xB7 ${o}`:""]}),(0,T.jsx)("th",{children:(0,T.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,T.jsx)("tbody",{children:c.models.map((g,C)=>{let _=f!=="reload"&&f?.type==="model"&&f.index===C;return(0,T.jsxs)(He.default.Fragment,{children:[(0,T.jsxs)("tr",{className:_?"confirming":void 0,children:[(0,T.jsxs)("td",{children:[K(g.alias)&&V.has(g.alias)?(0,T.jsx)("i",{className:`status-dot ${V.get(g.alias)?"ok":"bad"}`,title:V.get(g.alias)?"answering":"down"}):(0,T.jsx)("i",{className:"status-dot",title:"not saved yet"}),(0,T.jsx)("span",{className:"entity-name",children:g.alias})]}),(0,T.jsxs)("td",{children:[g.model,g.contextWindow?(0,T.jsxs)("div",{className:"muted",style:{fontSize:11},children:[$(g.contextWindow)," token context"]}):null]}),(0,T.jsx)("td",{className:"muted",children:g.provider}),(0,T.jsx)("td",{children:g.capabilities.map(N=>{let J=le(g.alias).includes(N);return(0,T.jsx)("span",{className:J?"capability-tag default":"capability-tag",title:J?`Team default for ${yo[N].toLowerCase()}`:void 0,children:N},N)})}),a&&(0,T.jsx)("td",{className:"num",children:O(g.alias)?$(O(g.alias)):(0,T.jsx)("span",{className:"muted",children:"0"})}),(0,T.jsxs)("td",{className:"actions",children:[(0,T.jsx)("button",{className:"ghost",disabled:j,onClick:()=>A({type:"model",index:C}),"aria-label":`Edit model ${g.alias}`,children:"Edit"}),(0,T.jsx)("button",{className:"ghost",disabled:j||c.models.length===1,title:c.models.length===1?"Keep at least one model.":void 0,onClick:()=>b(_?null:{type:"model",index:C}),"aria-label":`Remove model ${g.alias}`,children:"Remove"})]})]}),_&&(0,T.jsx)("tr",{className:"confirm-row",children:(0,T.jsx)("td",{colSpan:a?6:5,children:(0,T.jsxs)("div",{className:"confirm-bar",role:"alert",children:[(0,T.jsxs)("span",{children:["Remove model \\u201C",g.alias,"\\u201D from the draft? Developers will lose this alias when you save."]}),(0,T.jsx)("button",{className:"danger",disabled:v,onClick:Z,autoFocus:!0,children:"Remove from draft"}),(0,T.jsx)("button",{className:"ghost",disabled:v,onClick:()=>b(null),children:"Cancel"})]})})})]},g.alias)})})]})}),p?.type==="model"&&(0,T.jsx)(i2,{initial:c.models[p.index]??{alias:"",provider:Object.keys(c.providers)[0],model:"",capabilities:["chat"]},providers:c.providers,apiKey:e,onCancel:()=>m(null),onApply:g=>{if(c.models.some((C,_)=>_!==p.index&&C.alias.toLowerCase()===g.alias.toLowerCase()))throw new Error("That public alias is already in use.");d({...c,teamDefaults:Object.fromEntries(Object.entries(c.teamDefaults??{}).map(([C,_])=>[C,_===c.models[p.index]?.alias?g.alias:_])),models:p.index<0?[...c.models,g]:c.models.map((C,_)=>_===p.index?g:C)}),m(null)}},p.index)]}),(0,T.jsx)("p",{className:"config-hint",hidden:r!=="models",children:"A highlighted capability is the team default for it. Changes take effect when you save; requests already running finish with their original configuration. Keep at least one provider and model."}),(0,T.jsx)("p",{className:"config-hint",hidden:r!=="policy",children:"Changes take effect when you save. Connected developers see new rules the next time VS Code starts."})]})};var nr=X(Ye());var zf=X(Ye());var rt=X(Ye());var M=X(Ce()),Fv=e=>e<1024?`${$(e)} B`:e<1024*1024?`${(e/1024).toFixed(1)} KiB`:`${(e/1024/1024).toFixed(1)} MiB`,zv=e=>String(e).padStart(2,"0"),$v=({apiKey:e})=>{let t="/twinny/v1/admin/plugins/backups/api",[n,r]=(0,rt.useState)(null),[i,a]=(0,rt.useState)(),[o,s]=(0,rt.useState)(),[l,u]=(0,rt.useState)(null),[c,d]=(0,rt.useState)(null),[p,m]=(0,rt.useState)("path"),[f,b]=(0,rt.useState)(""),[v,h]=(0,rt.useState)({endpoint:"",region:"auto",bucket:"",prefix:"",accessKeyId:"",secretAccessKey:"",forcePathStyle:!1}),[y,x]=(0,rt.useState)("03:00"),[S,E]=(0,rt.useState)("14"),[w,R]=(0,rt.useState)(!0),[P,F]=(0,rt.useState)(!1),[A,Z]=(0,rt.useState)(""),[j,z]=(0,rt.useState)(!1),V=(0,rt.useCallback)(g=>{m(g.destination),b(g.path??""),h({endpoint:g.s3?.endpoint??"",region:g.s3?.region??"auto",bucket:g.s3?.bucket??"",prefix:g.s3?.prefix??"",accessKeyId:g.s3?.accessKeyId??"",secretAccessKey:"",forcePathStyle:g.s3?.forcePathStyle??!1}),x(`${zv(g.hour)}:${zv(g.minute)}`),E(String(g.keep)),R(g.schedule),F(g.includeRecordings),Z(""),z(!1)},[]),O=(0,rt.useCallback)(async()=>{try{let g=await ne(`${t}/`,e);return r(g),a(void 0),g}catch(g){return a(ye(g)),null}},[e]);(0,rt.useEffect)(()=>{O().then(C=>C&&V(C.settings));let g=setInterval(()=>{document.visibilityState==="visible"&&O()},6e4);return()=>clearInterval(g)},[O,V]);let K=async(g,C,_)=>{u(g),a(void 0),s(void 0);try{await C(),await O(),_&&s(_)}catch(N){a(ye(N))}finally{u(null)}},le=g=>{g.preventDefault();let[C,_]=y.split(":").map(Number);K("save",async()=>{let N=await ne(`${t}/settings`,e,{method:"PUT",body:{destination:p,path:f,s3:{...v,...v.secretAccessKey?{}:{secretAccessKey:void 0}},hour:C,minute:_,keep:Number(S),schedule:w,includeRecordings:P,...j?{passphrase:""}:A?{passphrase:A}:{}}});V(N.settings)},"Settings saved.")};if(!n)return i?(0,M.jsx)("div",{className:"error-bar",children:i}):(0,M.jsx)(_n,{tiles:4,rows:3,title:(0,M.jsxs)("h2",{className:"plugin-name",children:[(0,M.jsx)(it,{id:"backups",size:22}),"Backups"]})});let{settings:q,lastRun:D}=n;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)("div",{className:"page-title",children:[(0,M.jsxs)("h2",{className:"plugin-name",children:[(0,M.jsx)(it,{id:"backups",size:22}),"Backups"]}),(0,M.jsxs)("p",{children:["A nightly copy of the configuration, keys, licence, invites, plugins and usage."," ",(0,M.jsx)("button",{type:"button",className:"link",disabled:l!==null||n.running||!n.configured,onClick:()=>void K("run",()=>ne(`${t}/run`,e,{method:"POST"})),children:n.running||l==="run"?"backing up\\u2026":"back up now"})]})]}),o&&(0,M.jsx)("div",{className:"success-bar",children:o}),i&&(0,M.jsx)("div",{className:"error-bar",children:i}),(0,M.jsxs)("div",{className:"tiles",children:[(0,M.jsxs)("div",{className:`tile ${D&&D.ok===!1?"bad":""}`,children:[(0,M.jsx)("div",{className:"label",children:"last backup"}),(0,M.jsxs)("div",{className:"value",children:[D?D.finishedAt===void 0?"running":D.ok?Oe(D.finishedAt):"failed":"none yet",D?.ok&&D.size!==void 0&&(0,M.jsx)("small",{children:Fv(D.size)})]})]}),(0,M.jsxs)("div",{className:"tile",children:[(0,M.jsx)("div",{className:"label",children:"next backup"}),(0,M.jsx)("div",{className:"value",children:n.nextRunAt?go(n.nextRunAt):q.schedule?"\\u2013":"off"})]}),(0,M.jsxs)("div",{className:"tile",children:[(0,M.jsx)("div",{className:"label",children:"archives kept"}),(0,M.jsxs)("div",{className:"value",children:[$(n.archives.length),(0,M.jsxs)("small",{children:["of ",$(q.keep)]})]})]}),(0,M.jsxs)("div",{className:"tile",children:[(0,M.jsx)("div",{className:"label",children:"encryption"}),(0,M.jsx)("div",{className:"value",children:q.passphraseSet?"on":"off"})]})]}),D&&D.ok===!1&&(0,M.jsxs)("div",{className:"error-bar",children:["The backup at ",D.startedAt.replace("T"," ").slice(0,16)," failed: ",D.error]}),(0,M.jsxs)("section",{className:"panel",children:[(0,M.jsxs)("div",{className:"section-heading",children:[(0,M.jsxs)("h2",{children:["Archives",(0,M.jsx)("span",{className:"count",children:$(n.archives.length)})]}),(0,M.jsxs)("span",{className:"links",children:[n.destination&&(0,M.jsx)("span",{className:"muted",children:n.destination}),(0,M.jsx)("button",{type:"button",className:"ghost mini",disabled:l!==null||!n.configured,onClick:()=>void K("list",()=>ne(`${t}/archives`,e)),children:l==="list"?"\\u2026":"refresh"})]})]}),n.archivesError&&(0,M.jsx)("div",{className:"error",children:n.archivesError}),n.archives.length===0?(0,M.jsx)("div",{className:"empty",children:n.configured?"No archives at the destination yet.":"Set a destination below."}):(0,M.jsx)("div",{className:"scroll",children:(0,M.jsxs)("table",{children:[(0,M.jsx)("thead",{children:(0,M.jsxs)("tr",{children:[(0,M.jsx)("th",{children:"archive"}),(0,M.jsx)("th",{children:"made"}),(0,M.jsx)("th",{children:"size"}),(0,M.jsx)("th",{})]})}),(0,M.jsx)("tbody",{children:[...n.archives].reverse().map(g=>(0,M.jsxs)("tr",{children:[(0,M.jsxs)("td",{className:"mono",children:[g.name,g.encrypted&&(0,M.jsx)("span",{className:"tag reviewed",children:"encrypted"})]}),(0,M.jsx)("td",{className:"muted",title:g.createdAt,children:g.createdAt?Oe(g.createdAt):"\\u2013"}),(0,M.jsx)("td",{children:Fv(g.size)}),(0,M.jsx)("td",{className:"actions",children:c===g.name?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)("button",{type:"button",className:"danger mini",disabled:l!==null,onClick:()=>void K(`delete:${g.name}`,()=>ne(`${t}/archives/${g.name}`,e,{method:"DELETE"}).then(()=>d(null))),children:"delete"})," ",(0,M.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>d(null),children:"keep"})]}):(0,M.jsx)("button",{type:"button",className:"ghost mini",disabled:l!==null,onClick:()=>d(g.name),children:"delete"})})]},g.name))})]})}),(0,M.jsxs)("div",{className:"hint",children:["Restore with the gateway stopped: ",(0,M.jsx)("code",{children:"twinny-server backup restore <archive> --config <file> --yes"}),". An encrypted archive needs the passphrase in ",(0,M.jsx)("code",{children:"TWINNY_BACKUP_PASSPHRASE"})," on another machine."]})]}),(0,M.jsxs)("form",{className:"panel",onSubmit:le,children:[(0,M.jsxs)("div",{className:"section-heading",children:[(0,M.jsx)("h2",{children:"Destination and schedule"}),(0,M.jsxs)("span",{className:"chips",role:"group","aria-label":"Destination",children:[(0,M.jsx)("button",{type:"button",className:p==="path"?"on":"",onClick:()=>m("path"),children:"directory"}),(0,M.jsx)("button",{type:"button",className:p==="s3"?"on":"",onClick:()=>m("s3"),children:"S3 bucket"})]})]}),p==="path"?(0,M.jsx)("div",{className:"config-fields",children:(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"directory on this server (absolute)"}),(0,M.jsx)("input",{value:f,onChange:g=>b(g.target.value),placeholder:"/var/backups/twinny",spellCheck:!1})]})}):(0,M.jsxs)("div",{className:"config-fields",children:[(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"endpoint"}),(0,M.jsx)("input",{value:v.endpoint,onChange:g=>h({...v,endpoint:g.target.value}),placeholder:"https://s3.eu-west-1.amazonaws.com",spellCheck:!1})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"region"}),(0,M.jsx)("input",{value:v.region,onChange:g=>h({...v,region:g.target.value}),placeholder:"auto",spellCheck:!1})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"bucket"}),(0,M.jsx)("input",{value:v.bucket,onChange:g=>h({...v,bucket:g.target.value}),spellCheck:!1})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"prefix (folder in the bucket)"}),(0,M.jsx)("input",{value:v.prefix,onChange:g=>h({...v,prefix:g.target.value}),placeholder:"twinny/",spellCheck:!1})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"access key id"}),(0,M.jsx)("input",{value:v.accessKeyId,onChange:g=>h({...v,accessKeyId:g.target.value}),spellCheck:!1,autoComplete:"off"})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsxs)("span",{children:["secret access key ",q.s3?.secretAccessKeySet&&(0,M.jsx)("em",{className:"muted",children:"(set; leave blank to keep)"})]}),(0,M.jsx)("input",{type:"password",value:v.secretAccessKey,onChange:g=>h({...v,secretAccessKey:g.target.value}),autoComplete:"new-password"})]})]}),p==="s3"&&(0,M.jsx)("div",{className:"backup-options",children:(0,M.jsxs)("label",{className:"policy-option",children:[(0,M.jsx)("input",{type:"checkbox",checked:v.forcePathStyle,onChange:g=>h({...v,forcePathStyle:g.target.checked})}),(0,M.jsxs)("span",{children:[(0,M.jsx)("b",{children:"path-style addresses"}),(0,M.jsx)("small",{children:"bucket in the path, not the host name; what MinIO and some others want"})]})]})}),(0,M.jsxs)("div",{className:"config-fields",style:{marginTop:16},children:[(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"nightly at (server local time)"}),(0,M.jsx)("input",{type:"time",value:y,onChange:g=>x(g.target.value)})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsx)("span",{children:"archives to keep"}),(0,M.jsx)("input",{inputMode:"numeric",value:S,onChange:g=>E(g.target.value)})]}),(0,M.jsxs)("label",{className:"config-field",children:[(0,M.jsxs)("span",{children:["passphrase ",q.passphraseSet&&(0,M.jsx)("em",{className:"muted",children:"(set; leave blank to keep)"})]}),(0,M.jsx)("input",{type:"password",value:A,onChange:g=>Z(g.target.value),placeholder:q.passphraseSet?"\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022":"at least 12 characters; encrypts every archive",autoComplete:"new-password",disabled:j})]})]}),(0,M.jsxs)("div",{className:"backup-options",children:[(0,M.jsxs)("label",{className:"policy-option",children:[(0,M.jsx)("input",{type:"checkbox",checked:w,onChange:g=>R(g.target.checked)}),(0,M.jsxs)("span",{children:[(0,M.jsx)("b",{children:"run nightly"}),(0,M.jsx)("small",{children:\'off leaves only "back up now" and the CLI\'})]})]}),(0,M.jsxs)("label",{className:"policy-option",children:[(0,M.jsx)("input",{type:"checkbox",checked:P,onChange:g=>F(g.target.checked)}),(0,M.jsxs)("span",{children:[(0,M.jsx)("b",{children:"include recordings"}),(0,M.jsx)("small",{children:"recorded content can be large; keep it encrypted"})]})]}),q.passphraseSet&&(0,M.jsxs)("label",{className:"policy-option",children:[(0,M.jsx)("input",{type:"checkbox",checked:j,onChange:g=>z(g.target.checked)}),(0,M.jsxs)("span",{children:[(0,M.jsx)("b",{children:"remove the passphrase"}),(0,M.jsx)("small",{children:"new archives will not be encrypted; old ones still need it"})]})]})]}),(0,M.jsxs)("div",{className:"row-actions",style:{marginTop:16},children:[(0,M.jsx)("button",{type:"submit",className:"primary",disabled:l!==null,children:l==="save"?"\\u2026":"save"}),(0,M.jsx)("button",{type:"button",className:"ghost",disabled:l!==null||!n.configured,onClick:()=>void K("check",()=>ne(`${t}/check`,e,{method:"POST"}),"The destination is writable."),children:l==="check"?"\\u2026":"test destination"}),(0,M.jsxs)("span",{className:"muted",children:["Backed up: ",n.paths?.configFile?"the configuration, ":"","everything under ",n.paths?.dataDir??"the data directory"," except recordings unless included. Archives are readable by ",(0,M.jsx)("code",{children:"tar"})," when not encrypted."]})]})]})]})};var At=X(Ye());var Zt=X(Ye());function Mv(e,t){let n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}var a2=/^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,o2=/^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,s2={};function pl(e,t){return((t||s2).jsx?o2:a2).test(e)}var l2=/[ \\t\\n\\f\\r]/g;function $d(e){return typeof e=="object"?e.type==="text"?Bv(e.value):!1:Bv(e)}function Bv(e){return e.replace(l2,"")===""}var er=class{constructor(t,n,r){this.property=t,this.normal=n,r&&(this.space=r)}};er.prototype.property={};er.prototype.normal={};er.prototype.space=null;function Md(e,t){let n={},r={},i=-1;for(;++i<e.length;)Object.assign(n,e[i].property),Object.assign(r,e[i].normal);return new er(n,r,t)}function vo(e){return e.toLowerCase()}var St=class{constructor(t,n){this.property=t,this.attribute=n}};St.prototype.space=null;St.prototype.boolean=!1;St.prototype.booleanish=!1;St.prototype.overloadedBoolean=!1;St.prototype.number=!1;St.prototype.commaSeparated=!1;St.prototype.spaceSeparated=!1;St.prototype.commaOrSpaceSeparated=!1;St.prototype.mustUseProperty=!1;St.prototype.defined=!1;var bo={};Qf(bo,{boolean:()=>xe,booleanish:()=>Xe,commaOrSpaceSeparated:()=>Ut,commaSeparated:()=>Er,number:()=>Y,overloadedBoolean:()=>Bd,spaceSeparated:()=>ze});var u2=0,xe=Jr(),Xe=Jr(),Bd=Jr(),Y=Jr(),ze=Jr(),Er=Jr(),Ut=Jr();function Jr(){return 2**++u2}var jd=Object.keys(bo),ei=class extends St{constructor(t,n,r,i){let a=-1;if(super(t,n),jv(this,"space",i),typeof r=="number")for(;++a<jd.length;){let o=jd[a];jv(this,jd[a],(r&bo[o])===bo[o])}}};ei.prototype.defined=!0;function jv(e,t,n){n&&(e[t]=n)}var c2={}.hasOwnProperty;function un(e){let t={},n={},r;for(r in e.properties)if(c2.call(e.properties,r)){let i=e.properties[r],a=new ei(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[vo(r)]=r,n[vo(a.attribute)]=r}return new er(t,n,e.space)}var Ud=un({space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}});var Hd=un({space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function ml(e,t){return t in e?e[t]:t}function fl(e,t){return ml(e,t.toLowerCase())}var qd=un({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:fl,properties:{xmlns:null,xmlnsXLink:null}});var Vd=un({transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:Xe,ariaAutoComplete:null,ariaBusy:Xe,ariaChecked:Xe,ariaColCount:Y,ariaColIndex:Y,ariaColSpan:Y,ariaControls:ze,ariaCurrent:null,ariaDescribedBy:ze,ariaDetails:null,ariaDisabled:Xe,ariaDropEffect:ze,ariaErrorMessage:null,ariaExpanded:Xe,ariaFlowTo:ze,ariaGrabbed:Xe,ariaHasPopup:null,ariaHidden:Xe,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ze,ariaLevel:Y,ariaLive:null,ariaModal:Xe,ariaMultiLine:Xe,ariaMultiSelectable:Xe,ariaOrientation:null,ariaOwns:ze,ariaPlaceholder:null,ariaPosInSet:Y,ariaPressed:Xe,ariaReadOnly:Xe,ariaRelevant:null,ariaRequired:Xe,ariaRoleDescription:ze,ariaRowCount:Y,ariaRowIndex:Y,ariaRowSpan:Y,ariaSelected:Xe,ariaSetSize:Y,ariaSort:null,ariaValueMax:Y,ariaValueMin:Y,ariaValueNow:Y,ariaValueText:null,role:null}});var Uv=un({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:fl,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Er,acceptCharset:ze,accessKey:ze,action:null,allow:null,allowFullScreen:xe,allowPaymentRequest:xe,allowUserMedia:xe,alt:null,as:null,async:xe,autoCapitalize:null,autoComplete:ze,autoFocus:xe,autoPlay:xe,blocking:ze,capture:null,charSet:null,checked:xe,cite:null,className:ze,cols:Y,colSpan:null,content:null,contentEditable:Xe,controls:xe,controlsList:ze,coords:Y|Er,crossOrigin:null,data:null,dateTime:null,decoding:null,default:xe,defer:xe,dir:null,dirName:null,disabled:xe,download:Bd,draggable:Xe,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:xe,formTarget:null,headers:ze,height:Y,hidden:xe,high:Y,href:null,hrefLang:null,htmlFor:ze,httpEquiv:ze,id:null,imageSizes:null,imageSrcSet:null,inert:xe,inputMode:null,integrity:null,is:null,isMap:xe,itemId:null,itemProp:ze,itemRef:ze,itemScope:xe,itemType:ze,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:xe,low:Y,manifest:null,max:null,maxLength:Y,media:null,method:null,min:null,minLength:Y,multiple:xe,muted:xe,name:null,nonce:null,noModule:xe,noValidate:xe,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:xe,optimum:Y,pattern:null,ping:ze,placeholder:null,playsInline:xe,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:xe,referrerPolicy:null,rel:ze,required:xe,reversed:xe,rows:Y,rowSpan:Y,sandbox:ze,scope:null,scoped:xe,seamless:xe,selected:xe,shadowRootClonable:xe,shadowRootDelegatesFocus:xe,shadowRootMode:null,shape:null,size:Y,sizes:null,slot:null,span:Y,spellCheck:Xe,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Y,step:null,style:null,tabIndex:Y,target:null,title:null,translate:null,type:null,typeMustMatch:xe,useMap:null,value:Xe,width:Y,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ze,axis:null,background:null,bgColor:null,border:Y,borderColor:null,bottomMargin:Y,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:xe,declare:xe,event:null,face:null,frame:null,frameBorder:null,hSpace:Y,leftMargin:Y,link:null,longDesc:null,lowSrc:null,marginHeight:Y,marginWidth:Y,noResize:xe,noHref:xe,noShade:xe,noWrap:xe,object:null,profile:null,prompt:null,rev:null,rightMargin:Y,rules:null,scheme:null,scrolling:Xe,standby:null,summary:null,text:null,topMargin:Y,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Y,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:xe,disableRemotePlayback:xe,prefix:null,property:null,results:Y,security:null,unselectable:null}});var Hv=un({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:ml,properties:{about:Ut,accentHeight:Y,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Y,amplitude:Y,arabicForm:null,ascent:Y,attributeName:null,attributeType:null,azimuth:Y,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Y,by:null,calcMode:null,capHeight:Y,className:ze,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Y,diffuseConstant:Y,direction:null,display:null,dur:null,divisor:Y,dominantBaseline:null,download:xe,dx:null,dy:null,edgeMode:null,editable:null,elevation:Y,enableBackground:null,end:null,event:null,exponent:Y,externalResourcesRequired:null,fill:null,fillOpacity:Y,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Er,g2:Er,glyphName:Er,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Y,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Y,horizOriginX:Y,horizOriginY:Y,id:null,ideographic:Y,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Y,k:Y,k1:Y,k2:Y,k3:Y,k4:Y,kernelMatrix:Ut,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Y,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Y,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Y,overlineThickness:Y,paintOrder:null,panose1:null,path:null,pathLength:Y,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:ze,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Y,pointsAtY:Y,pointsAtZ:Y,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Ut,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Ut,rev:Ut,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Ut,requiredFeatures:Ut,requiredFonts:Ut,requiredFormats:Ut,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Y,specularExponent:Y,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Y,strikethroughThickness:Y,string:null,stroke:null,strokeDashArray:Ut,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Y,strokeOpacity:Y,strokeWidth:null,style:null,surfaceScale:Y,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Ut,tabIndex:Y,tableValues:null,target:null,targetX:Y,targetY:Y,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Ut,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Y,underlineThickness:Y,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Y,values:null,vAlphabetic:Y,vMathematical:Y,vectorEffect:null,vHanging:Y,vIdeographic:Y,version:null,vertAdvY:Y,vertOriginX:Y,vertOriginY:Y,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Y,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}});var d2=/^data[-\\w.:]+$/i,qv=/-[a-z]/g,p2=/[A-Z]/g;function Wd(e,t){let n=vo(t),r=t,i=St;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&d2.test(t)){if(t.charAt(4)==="-"){let a=t.slice(5).replace(qv,f2);r="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{let a=t.slice(4);if(!qv.test(a)){let o=a.replace(p2,m2);o.charAt(0)!=="-"&&(o="-"+o),t="data"+o}}i=ei}return new i(r,t)}function m2(e){return"-"+e.toLowerCase()}function f2(e){return e.charAt(1).toUpperCase()}var Kd={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};var Vv=Md([Hd,Ud,qd,Vd,Uv],"html"),hl=Md([Hd,Ud,qd,Vd,Hv],"svg");function Wv(e){return e.join(" ").trim()}var Gd=X(Jv(),1),eb=Gd.default.default||Gd.default;var gl=tb("end"),Ji=tb("start");function tb(e){return t;function t(n){let r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Yd(e){let t=Ji(e),n=gl(e);if(t&&n)return{start:t,end:n}}function Cr(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?nb(e.position):"start"in e||"end"in e?nb(e):"line"in e||"column"in e?Qd(e):""}function Qd(e){return rb(e&&e.line)+":"+rb(e&&e.column)}function nb(e){return Qd(e&&e.start)+"-"+Qd(e&&e.end)}function rb(e){return e&&typeof e=="number"?e:1}var et=class extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",a={},o=!1;if(n&&("line"in n&&"column"in n?a={place:n}:"start"in n&&"end"in n?a={place:n}:"type"in n?a={ancestors:[n],place:n.position}:a={...n}),typeof t=="string"?i=t:!a.cause&&t&&(o=!0,i=t.message,a.cause=t),!a.ruleId&&!a.source&&typeof r=="string"){let l=r.indexOf(":");l===-1?a.ruleId=r:(a.source=r.slice(0,l),a.ruleId=r.slice(l+1))}if(!a.place&&a.ancestors&&a.ancestors){let l=a.ancestors[a.ancestors.length-1];l&&(a.place=l.position)}let s=a.place&&"start"in a.place?a.place.start:a.place;this.ancestors=a.ancestors||void 0,this.cause=a.cause||void 0,this.column=s?s.column:void 0,this.fatal=void 0,this.file,this.message=i,this.line=s?s.line:void 0,this.name=Cr(a.place)||"1:1",this.place=a.place||void 0,this.reason=this.message,this.ruleId=a.ruleId||void 0,this.source=a.source||void 0,this.stack=o&&a.cause&&typeof a.cause.stack=="string"?a.cause.stack:"",this.actual,this.expected,this.note,this.url}};et.prototype.file="";et.prototype.name="";et.prototype.reason="";et.prototype.message="";et.prototype.stack="";et.prototype.column=void 0;et.prototype.line=void 0;et.prototype.ancestors=void 0;et.prototype.cause=void 0;et.prototype.fatal=void 0;et.prototype.place=void 0;et.prototype.ruleId=void 0;et.prototype.source=void 0;var Xd={}.hasOwnProperty,T2=new Map,R2=/[A-Z]/g,I2=/-([a-z])/g,P2=new Set(["table","tbody","thead","tfoot","tr"]),L2=new Set(["td","th"]),ib="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Zd(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=B2(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=M2(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?hl:Vv,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=ab(i,e,void 0);return a&&typeof a!="string"?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function ab(e,t,n){if(t.type==="element")return O2(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return _2(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return F2(e,t,n);if(t.type==="mdxjsEsm")return D2(e,t);if(t.type==="root")return z2(e,t,n);if(t.type==="text")return $2(e,t)}function O2(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=hl,e.schema=i),e.ancestors.push(t);let a=sb(e,t.tagName,!1),o=j2(e,t),s=ep(e,t);return P2.has(t.tagName)&&(s=s.filter(function(l){return typeof l=="string"?!$d(l):!0})),ob(e,o,a,t),Jd(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function _2(e,t){if(t.data&&t.data.estree&&e.evaluater){let r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}wo(e,t.position)}function D2(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);wo(e,t.position)}function F2(e,t,n){let r=e.schema,i=r;t.name==="svg"&&r.space==="html"&&(i=hl,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:sb(e,t.name,!0),o=U2(e,t),s=ep(e,t);return ob(e,o,a,t),Jd(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function z2(e,t,n){let r={};return Jd(r,ep(e,t)),e.create(t,e.Fragment,r,n)}function $2(e,t){return t.value}function ob(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function Jd(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function M2(e,t,n){return r;function r(i,a,o,s){let u=Array.isArray(o.children)?n:t;return s?u(a,o,s):u(a,o)}}function B2(e,t){return n;function n(r,i,a,o){let s=Array.isArray(a.children),l=Ji(r);return t(i,a,o,s,{columnNumber:l?l.column-1:void 0,fileName:e,lineNumber:l?l.line:void 0},void 0)}}function j2(e,t){let n={},r,i;for(i in t.properties)if(i!=="children"&&Xd.call(t.properties,i)){let a=H2(e,i,t.properties[i]);if(a){let[o,s]=a;e.tableCellAlignToStyle&&o==="align"&&typeof s=="string"&&L2.has(t.tagName)?r=s:n[o]=s}}if(r){let a=n.style||(n.style={});a[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function U2(e,t){let n={};for(let r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){let a=r.data.estree.body[0];a.type;let o=a.expression;o.type;let s=o.properties[0];s.type,Object.assign(n,e.evaluater.evaluateExpression(s.argument))}else wo(e,t.position);else{let i=r.name,a;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){let s=r.value.data.estree.body[0];s.type,a=e.evaluater.evaluateExpression(s.expression)}else wo(e,t.position);else a=r.value===null?!0:r.value;n[i]=a}return n}function ep(e,t){let n=[],r=-1,i=e.passKeys?new Map:T2;for(;++r<t.children.length;){let a=t.children[r],o;if(e.passKeys){let l=a.type==="element"?a.tagName:a.type==="mdxJsxFlowElement"||a.type==="mdxJsxTextElement"?a.name:void 0;if(l){let u=i.get(l)||0;o=l+"-"+u,i.set(l,u+1)}}let s=ab(e,a,o);s!==void 0&&n.push(s)}return n}function H2(e,t,n){let r=Wd(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?Mv(n):Wv(n)),r.property==="style"){let i=typeof n=="object"?n:q2(e,String(n));return e.stylePropertyNameCase==="css"&&(i=V2(i)),["style",i]}return[e.elementAttributeNameCase==="react"&&r.space?Kd[r.property]||r.property:r.attribute,n]}}function q2(e,t){let n={};try{eb(t,r)}catch(i){if(!e.ignoreInvalidStyle){let a=i,o=new et("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:a,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw o.file=e.filePath||void 0,o.url=ib+"#cannot-parse-style-attribute",o}}return n;function r(i,a){let o=i;o.slice(0,2)!=="--"&&(o.slice(0,4)==="-ms-"&&(o="ms-"+o.slice(4)),o=o.replace(I2,K2)),n[o]=a}}function sb(e,t,n){let r;if(!n)r={type:"Literal",value:t};else if(t.includes(".")){let i=t.split("."),a=-1,o;for(;++a<i.length;){let s=pl(i[a])?{type:"Identifier",name:i[a]}:{type:"Literal",value:i[a]};o=o?{type:"MemberExpression",object:o,property:s,computed:!!(a&&s.type==="Literal"),optional:!1}:s}r=o}else r=pl(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(r.type==="Literal"){let i=r.value;return Xd.call(e.components,i)?e.components[i]:i}if(e.evaluater)return e.evaluater.evaluateExpression(r);wo(e)}function wo(e,t){let n=new et("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=ib+"#cannot-handle-mdx-estrees-without-createevaluater",n}function V2(e){let t={},n;for(n in e)Xd.call(e,n)&&(t[W2(n)]=e[n]);return t}function W2(e){let t=e.replace(R2,G2);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function K2(e,t){return t.toUpperCase()}function G2(e){return"-"+e.toLowerCase()}var xo={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]};var aa=X(Ce(),1);var Y2={};function ni(e,t){let n=t||Y2,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return ub(e,r,i)}function ub(e,t,n){if(Q2(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return lb(e.children,t,n)}return Array.isArray(e)?lb(e,t,n):""}function lb(e,t,n){let r=[],i=-1;for(;++i<e.length;)r[i]=ub(e[i],t,n);return r.join("")}function Q2(e){return!!(e&&typeof e=="object")}var cb=document.createElement("i");function ea(e){let t="&"+e+";";cb.innerHTML=t;let n=cb.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function at(e,t,n,r){let i=e.length,a=0,o;if(t<0?t=-t>i?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a<r.length;)o=r.slice(a,a+1e4),o.unshift(t,0),e.splice(...o),a+=1e4,t+=1e4}function Dt(e,t){return e.length>0?(at(e,e.length,0,t),e):t}var db={}.hasOwnProperty;function yl(e){let t={},n=-1;for(;++n<e.length;)X2(t,e[n]);return t}function X2(e,t){let n;for(n in t){let i=(db.call(e,n)?e[n]:void 0)||(e[n]={}),a=t[n],o;if(a)for(o in a){db.call(i,o)||(i[o]=[]);let s=a[o];Z2(i[o],Array.isArray(s)?s:s?[s]:[])}}}function Z2(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);at(e,0,0,r)}function vl(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"\\uFFFD":String.fromCodePoint(n)}function Et(e){return e.replace(/[\\t\\n\\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var ct=Ar(/[A-Za-z]/),Ze=Ar(/[\\dA-Za-z]/),pb=Ar(/[#-\'*+\\--9=?A-Z^-~]/);function ri(e){return e!==null&&(e<32||e===127)}var No=Ar(/\\d/),mb=Ar(/[\\dA-Fa-f]/),fb=Ar(/[!-/:-@[-`{-~]/);function se(e){return e!==null&&e<-2}function Ae(e){return e!==null&&(e<0||e===32)}function he(e){return e===-2||e===-1||e===32}var ii=Ar(/\\p{P}|\\p{S}/u),Dn=Ar(/\\s/);function Ar(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function cn(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o="";if(a===37&&Ze(e.charCodeAt(n+1))&&Ze(e.charCodeAt(n+2)))i=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let s=e.charCodeAt(n+1);a<56320&&s>56319&&s<57344?(o=String.fromCharCode(a,s),i=1):o="\\uFFFD"}else o=String.fromCharCode(a);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,o=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function fe(e,t,n,r){let i=r?r-1:Number.POSITIVE_INFINITY,a=0;return o;function o(l){return he(l)?(e.enter(n),s(l)):t(l)}function s(l){return he(l)&&a++<i?(e.consume(l),s):(e.exit(n),t(l))}}var hb={tokenize:J2};function J2(e){let t=e.attempt(this.parser.constructs.contentInitial,r,i),n;return t;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),fe(e,t,"linePrefix")}function i(s){return e.enter("paragraph"),a(s)}function a(s){let l=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=l),n=l,o(s)}function o(s){if(s===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(s);return}return se(s)?(e.consume(s),e.exit("chunkText"),a):(e.consume(s),o)}}var yb={tokenize:eA},gb={tokenize:tA};function eA(e){let t=this,n=[],r=0,i,a,o;return s;function s(x){if(r<n.length){let S=n[r];return t.containerState=S[1],e.attempt(S[0].continuation,l,u)(x)}return u(x)}function l(x){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&y();let S=t.events.length,E=S,w;for(;E--;)if(t.events[E][0]==="exit"&&t.events[E][1].type==="chunkFlow"){w=t.events[E][1].end;break}h(r);let R=S;for(;R<t.events.length;)t.events[R][1].end=Object.assign({},w),R++;return at(t.events,E+1,0,t.events.slice(S)),t.events.length=R,u(x)}return s(x)}function u(x){if(r===n.length){if(!i)return p(x);if(i.currentConstruct&&i.currentConstruct.concrete)return f(x);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(gb,c,d)(x)}function c(x){return i&&y(),h(r),p(x)}function d(x){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,f(x)}function p(x){return t.containerState={},e.attempt(gb,m,f)(x)}function m(x){return r++,n.push([t.currentConstruct,t.containerState]),p(x)}function f(x){if(x===null){i&&y(),h(0),e.consume(x);return}return i=i||t.parser.flow(t.now()),e.enter("chunkFlow",{contentType:"flow",previous:a,_tokenizer:i}),b(x)}function b(x){if(x===null){v(e.exit("chunkFlow"),!0),h(0),e.consume(x);return}return se(x)?(e.consume(x),v(e.exit("chunkFlow")),r=0,t.interrupt=void 0,s):(e.consume(x),b)}function v(x,S){let E=t.sliceStream(x);if(S&&E.push(null),x.previous=a,a&&(a.next=x),a=x,i.defineSkip(x.start),i.write(E),t.parser.lazy[x.start.line]){let w=i.events.length;for(;w--;)if(i.events[w][1].start.offset<o&&(!i.events[w][1].end||i.events[w][1].end.offset>o))return;let R=t.events.length,P=R,F,A;for(;P--;)if(t.events[P][0]==="exit"&&t.events[P][1].type==="chunkFlow"){if(F){A=t.events[P][1].end;break}F=!0}for(h(r),w=R;w<t.events.length;)t.events[w][1].end=Object.assign({},A),w++;at(t.events,P+1,0,t.events.slice(R)),t.events.length=w}}function h(x){let S=n.length;for(;S-- >x;){let E=n[S];t.containerState=E[1],E[0].exit.call(t,e)}n.length=x}function y(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function tA(e,t,n){return fe(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function ta(e){if(e===null||Ae(e)||Dn(e))return 1;if(ii(e))return 2}function Tr(e,t,n){let r=[],i=-1;for(;++i<e.length;){let a=e[i].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}var So={name:"attention",tokenize:rA,resolveAll:nA};function nA(e,t){let n=-1,r,i,a,o,s,l,u,c;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(r=n;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d=Object.assign({},e[r][1].end),p=Object.assign({},e[n][1].start);vb(d,-l),vb(p,l),o={type:l>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},e[r][1].end)},s={type:l>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[n][1].start),end:p},a={type:l>1?"strongText":"emphasisText",start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},i={type:l>1?"strong":"emphasis",start:Object.assign({},o.start),end:Object.assign({},s.end)},e[r][1].end=Object.assign({},o.start),e[n][1].start=Object.assign({},s.end),u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=Dt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=Dt(u,[["enter",i,t],["enter",o,t],["exit",o,t],["enter",a,t]]),u=Dt(u,Tr(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=Dt(u,[["exit",a,t],["enter",s,t],["exit",s,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(c=2,u=Dt(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):c=0,at(e,r-1,n-r+3,u),n=r+u.length-c-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function rA(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=ta(r),a;return o;function o(l){return a=l,e.enter("attentionSequence"),s(l)}function s(l){if(l===a)return e.consume(l),s;let u=e.exit("attentionSequence"),c=ta(l),d=!c||c===2&&i||n.includes(l),p=!i||i===2&&c||n.includes(r);return u._open=!!(a===42?d:d&&(i||!p)),u._close=!!(a===42?p:p&&(c||!d)),t(l)}}function vb(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var tp={name:"autolink",tokenize:iA};function iA(e,t,n){let r=0;return i;function i(m){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(m),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),a}function a(m){return ct(m)?(e.consume(m),o):m===64?n(m):u(m)}function o(m){return m===43||m===45||m===46||Ze(m)?(r=1,s(m)):u(m)}function s(m){return m===58?(e.consume(m),r=0,l):(m===43||m===45||m===46||Ze(m))&&r++<32?(e.consume(m),s):(r=0,u(m))}function l(m){return m===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(m),e.exit("autolinkMarker"),e.exit("autolink"),t):m===null||m===32||m===60||ri(m)?n(m):(e.consume(m),l)}function u(m){return m===64?(e.consume(m),c):pb(m)?(e.consume(m),u):n(m)}function c(m){return Ze(m)?d(m):n(m)}function d(m){return m===46?(e.consume(m),r=0,c):m===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(m),e.exit("autolinkMarker"),e.exit("autolink"),t):p(m)}function p(m){if((m===45||Ze(m))&&r++<63){let f=m===45?p:d;return e.consume(m),f}return n(m)}}var Fn={tokenize:aA,partial:!0};function aA(e,t,n){return r;function r(a){return he(a)?fe(e,i,"linePrefix")(a):i(a)}function i(a){return a===null||se(a)?t(a):n(a)}}var bl={name:"blockQuote",tokenize:oA,continuation:{tokenize:sA},exit:lA};function oA(e,t,n){let r=this;return i;function i(o){if(o===62){let s=r.containerState;return s.open||(e.enter("blockQuote",{_container:!0}),s.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(o),e.exit("blockQuoteMarker"),a}return n(o)}function a(o){return he(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(o))}}function sA(e,t,n){let r=this;return i;function i(o){return he(o)?fe(e,a,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):a(o)}function a(o){return e.attempt(bl,t,n)(o)}}function lA(e){e.exit("blockQuote")}var kl={name:"characterEscape",tokenize:uA};function uA(e,t,n){return r;function r(a){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(a),e.exit("escapeMarker"),i}function i(a){return fb(a)?(e.enter("characterEscapeValue"),e.consume(a),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(a)}}var wl={name:"characterReference",tokenize:cA};function cA(e,t,n){let r=this,i=0,a,o;return s;function s(d){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),l}function l(d){return d===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(d),e.exit("characterReferenceMarkerNumeric"),u):(e.enter("characterReferenceValue"),a=31,o=Ze,c(d))}function u(d){return d===88||d===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(d),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),a=6,o=mb,c):(e.enter("characterReferenceValue"),a=7,o=No,c(d))}function c(d){if(d===59&&i){let p=e.exit("characterReferenceValue");return o===Ze&&!ea(r.sliceSerialize(p))?n(d):(e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return o(d)&&i++<a?(e.consume(d),c):n(d)}}var bb={tokenize:pA,partial:!0},xl={name:"codeFenced",tokenize:dA,concrete:!0};function dA(e,t,n){let r=this,i={tokenize:E,partial:!0},a=0,o=0,s;return l;function l(w){return u(w)}function u(w){let R=r.events[r.events.length-1];return a=R&&R[1].type==="linePrefix"?R[2].sliceSerialize(R[1],!0).length:0,s=w,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),c(w)}function c(w){return w===s?(o++,e.consume(w),c):o<3?n(w):(e.exit("codeFencedFenceSequence"),he(w)?fe(e,d,"whitespace")(w):d(w))}function d(w){return w===null||se(w)?(e.exit("codeFencedFence"),r.interrupt?t(w):e.check(bb,b,S)(w)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),p(w))}function p(w){return w===null||se(w)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),d(w)):he(w)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),fe(e,m,"whitespace")(w)):w===96&&w===s?n(w):(e.consume(w),p)}function m(w){return w===null||se(w)?d(w):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),f(w))}function f(w){return w===null||se(w)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),d(w)):w===96&&w===s?n(w):(e.consume(w),f)}function b(w){return e.attempt(i,S,v)(w)}function v(w){return e.enter("lineEnding"),e.consume(w),e.exit("lineEnding"),h}function h(w){return a>0&&he(w)?fe(e,y,"linePrefix",a+1)(w):y(w)}function y(w){return w===null||se(w)?e.check(bb,b,S)(w):(e.enter("codeFlowValue"),x(w))}function x(w){return w===null||se(w)?(e.exit("codeFlowValue"),y(w)):(e.consume(w),x)}function S(w){return e.exit("codeFenced"),t(w)}function E(w,R,P){let F=0;return A;function A(O){return w.enter("lineEnding"),w.consume(O),w.exit("lineEnding"),Z}function Z(O){return w.enter("codeFencedFence"),he(O)?fe(w,j,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(O):j(O)}function j(O){return O===s?(w.enter("codeFencedFenceSequence"),z(O)):P(O)}function z(O){return O===s?(F++,w.consume(O),z):F>=o?(w.exit("codeFencedFenceSequence"),he(O)?fe(w,V,"whitespace")(O):V(O)):P(O)}function V(O){return O===null||se(O)?(w.exit("codeFencedFence"),R(O)):P(O)}}}function pA(e,t,n){let r=this;return i;function i(o){return o===null?n(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a)}function a(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}var Eo={name:"codeIndented",tokenize:fA},mA={tokenize:hA,partial:!0};function fA(e,t,n){let r=this;return i;function i(u){return e.enter("codeIndented"),fe(e,a,"linePrefix",5)(u)}function a(u){let c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?o(u):n(u)}function o(u){return u===null?l(u):se(u)?e.attempt(mA,o,l)(u):(e.enter("codeFlowValue"),s(u))}function s(u){return u===null||se(u)?(e.exit("codeFlowValue"),o(u)):(e.consume(u),s)}function l(u){return e.exit("codeIndented"),t(u)}}function hA(e,t,n){let r=this;return i;function i(o){return r.parser.lazy[r.now().line]?n(o):se(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i):fe(e,a,"linePrefix",5)(o)}function a(o){let s=r.events[r.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?t(o):se(o)?i(o):n(o)}}var np={name:"codeText",tokenize:vA,resolve:gA,previous:yA};function gA(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r<t;)if(e[r][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!=="lineEnding"&&(i=r):(r===t||e[r][1].type==="lineEnding")&&(e[i][1].type="codeTextData",r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function yA(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function vA(e,t,n){let r=this,i=0,a,o;return s;function s(p){return e.enter("codeText"),e.enter("codeTextSequence"),l(p)}function l(p){return p===96?(e.consume(p),i++,l):(e.exit("codeTextSequence"),u(p))}function u(p){return p===null?n(p):p===32?(e.enter("space"),e.consume(p),e.exit("space"),u):p===96?(o=e.enter("codeTextSequence"),a=0,d(p)):se(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),u):(e.enter("codeTextData"),c(p))}function c(p){return p===null||p===32||p===96||se(p)?(e.exit("codeTextData"),u(p)):(e.consume(p),c)}function d(p){return p===96?(e.consume(p),a++,d):a===i?(e.exit("codeTextSequence"),e.exit("codeText"),t(p)):(o.type="codeTextData",c(p))}}var Nl=class{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){let r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(t,r):t>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){let i=n||0;this.setCursor(Math.trunc(t));let a=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Co(this.left,r),a.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Co(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Co(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){let n=this.left.splice(t,Number.POSITIVE_INFINITY);Co(this.right,n.reverse())}else{let n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);Co(this.left,n.reverse())}}};function Co(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function Sl(e){let t={},n=-1,r,i,a,o,s,l,u,c=new Nl(e);for(;++n<c.length;){for(;n in t;)n=t[n];if(r=c.get(n),n&&r[1].type==="chunkFlow"&&c.get(n-1)[1].type==="listItemPrefix"&&(l=r[1]._tokenizer.events,a=0,a<l.length&&l[a][1].type==="lineEndingBlank"&&(a+=2),a<l.length&&l[a][1].type==="content"))for(;++a<l.length&&l[a][1].type!=="content";)l[a][1].type==="chunkText"&&(l[a][1]._isInFirstContentOfListItem=!0,a++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,bA(c,n)),n=t[n],u=!0);else if(r[1]._container){for(a=n,i=void 0;a--&&(o=c.get(a),o[1].type==="lineEnding"||o[1].type==="lineEndingBlank");)o[0]==="enter"&&(i&&(c.get(i)[1].type="lineEndingBlank"),o[1].type="lineEnding",i=a);i&&(r[1].end=Object.assign({},c.get(i)[1].start),s=c.slice(i,n),s.unshift(r),c.splice(i,n-i+1,s))}}return at(e,0,Number.POSITIVE_INFINITY,c.slice(0)),!u}function bA(e,t){let n=e.get(t)[1],r=e.get(t)[2],i=t-1,a=[],o=n._tokenizer||r.parser[n.contentType](n.start),s=o.events,l=[],u={},c,d,p=-1,m=n,f=0,b=0,v=[b];for(;m;){for(;e.get(++i)[1]!==m;);a.push(i),m._tokenizer||(c=r.sliceStream(m),m.next||c.push(null),d&&o.defineSkip(m.start),m._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(c),m._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=m,m=m.next}for(m=n;++p<s.length;)s[p][0]==="exit"&&s[p-1][0]==="enter"&&s[p][1].type===s[p-1][1].type&&s[p][1].start.line!==s[p][1].end.line&&(b=p+1,v.push(b),m._tokenizer=void 0,m.previous=void 0,m=m.next);for(o.events=[],m?(m._tokenizer=void 0,m.previous=void 0):v.pop(),p=v.length;p--;){let h=s.slice(v[p],v[p+1]),y=a.pop();l.push([y,y+h.length-1]),e.splice(y,2,h)}for(l.reverse(),p=-1;++p<l.length;)u[f+l[p][0]]=f+l[p][1],f+=l[p][1]-l[p][0]-1;return u}var rp={tokenize:xA,resolve:wA},kA={tokenize:NA,partial:!0};function wA(e){return Sl(e),e}function xA(e,t){let n;return r;function r(s){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),i(s)}function i(s){return s===null?a(s):se(s)?e.check(kA,o,a)(s):(e.consume(s),i)}function a(s){return e.exit("chunkContent"),e.exit("content"),t(s)}function o(s){return e.consume(s),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,i}}function NA(e,t,n){let r=this;return i;function i(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),fe(e,a,"linePrefix")}function a(o){if(o===null||se(o))return n(o);let s=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}}function El(e,t,n,r,i,a,o,s,l){let u=l||Number.POSITIVE_INFINITY,c=0;return d;function d(h){return h===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(h),e.exit(a),p):h===null||h===32||h===41||ri(h)?n(h):(e.enter(r),e.enter(o),e.enter(s),e.enter("chunkString",{contentType:"string"}),b(h))}function p(h){return h===62?(e.enter(a),e.consume(h),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter("chunkString",{contentType:"string"}),m(h))}function m(h){return h===62?(e.exit("chunkString"),e.exit(s),p(h)):h===null||h===60||se(h)?n(h):(e.consume(h),h===92?f:m)}function f(h){return h===60||h===62||h===92?(e.consume(h),m):m(h)}function b(h){return!c&&(h===null||h===41||Ae(h))?(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(r),t(h)):c<u&&h===40?(e.consume(h),c++,b):h===41?(e.consume(h),c--,b):h===null||h===32||h===40||ri(h)?n(h):(e.consume(h),h===92?v:b)}function v(h){return h===40||h===41||h===92?(e.consume(h),b):b(h)}}function Cl(e,t,n,r,i,a){let o=this,s=0,l;return u;function u(m){return e.enter(r),e.enter(i),e.consume(m),e.exit(i),e.enter(a),c}function c(m){return s>999||m===null||m===91||m===93&&!l||m===94&&!s&&"_hiddenFootnoteSupport"in o.parser.constructs?n(m):m===93?(e.exit(a),e.enter(i),e.consume(m),e.exit(i),e.exit(r),t):se(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),d(m))}function d(m){return m===null||m===91||m===93||se(m)||s++>999?(e.exit("chunkString"),c(m)):(e.consume(m),l||(l=!he(m)),m===92?p:d)}function p(m){return m===91||m===92||m===93?(e.consume(m),s++,d):d(m)}}function Al(e,t,n,r,i,a){let o;return s;function s(p){return p===34||p===39||p===40?(e.enter(r),e.enter(i),e.consume(p),e.exit(i),o=p===40?41:p,l):n(p)}function l(p){return p===o?(e.enter(i),e.consume(p),e.exit(i),e.exit(r),t):(e.enter(a),u(p))}function u(p){return p===o?(e.exit(a),l(o)):p===null?n(p):se(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),fe(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(p))}function c(p){return p===o||p===null||se(p)?(e.exit("chunkString"),u(p)):(e.consume(p),p===92?d:c)}function d(p){return p===o||p===92?(e.consume(p),c):c(p)}}function ai(e,t){let n;return r;function r(i){return se(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):he(i)?fe(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}var ip={name:"definition",tokenize:EA},SA={tokenize:CA,partial:!0};function EA(e,t,n){let r=this,i;return a;function a(m){return e.enter("definition"),o(m)}function o(m){return Cl.call(r,e,s,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(m)}function s(m){return i=Et(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),l):n(m)}function l(m){return Ae(m)?ai(e,u)(m):u(m)}function u(m){return El(e,c,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(m)}function c(m){return e.attempt(SA,d,d)(m)}function d(m){return he(m)?fe(e,p,"whitespace")(m):p(m)}function p(m){return m===null||se(m)?(e.exit("definition"),r.parser.defined.push(i),t(m)):n(m)}}function CA(e,t,n){return r;function r(s){return Ae(s)?ai(e,i)(s):n(s)}function i(s){return Al(e,a,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(s)}function a(s){return he(s)?fe(e,o,"whitespace")(s):o(s)}function o(s){return s===null||se(s)?t(s):n(s)}}var ap={name:"hardBreakEscape",tokenize:AA};function AA(e,t,n){return r;function r(a){return e.enter("hardBreakEscape"),e.consume(a),i}function i(a){return se(a)?(e.exit("hardBreakEscape"),t(a)):n(a)}}var op={name:"headingAtx",tokenize:RA,resolve:TA};function TA(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},a={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},at(e,r,n-r+1,[["enter",i,t],["enter",a,t],["exit",a,t],["exit",i,t]])),e}function RA(e,t,n){let r=0;return i;function i(c){return e.enter("atxHeading"),a(c)}function a(c){return e.enter("atxHeadingSequence"),o(c)}function o(c){return c===35&&r++<6?(e.consume(c),o):c===null||Ae(c)?(e.exit("atxHeadingSequence"),s(c)):n(c)}function s(c){return c===35?(e.enter("atxHeadingSequence"),l(c)):c===null||se(c)?(e.exit("atxHeading"),t(c)):he(c)?fe(e,s,"whitespace")(c):(e.enter("atxHeadingText"),u(c))}function l(c){return c===35?(e.consume(c),l):(e.exit("atxHeadingSequence"),s(c))}function u(c){return c===null||c===35||Ae(c)?(e.exit("atxHeadingText"),s(c)):(e.consume(c),u)}}var kb=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],sp=["pre","script","style","textarea"];var lp={name:"htmlFlow",tokenize:OA,resolveTo:LA,concrete:!0},IA={tokenize:DA,partial:!0},PA={tokenize:_A,partial:!0};function LA(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function OA(e,t,n){let r=this,i,a,o,s,l;return u;function u(N){return c(N)}function c(N){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(N),d}function d(N){return N===33?(e.consume(N),p):N===47?(e.consume(N),a=!0,b):N===63?(e.consume(N),i=3,r.interrupt?t:g):ct(N)?(e.consume(N),o=String.fromCharCode(N),v):n(N)}function p(N){return N===45?(e.consume(N),i=2,m):N===91?(e.consume(N),i=5,s=0,f):ct(N)?(e.consume(N),i=4,r.interrupt?t:g):n(N)}function m(N){return N===45?(e.consume(N),r.interrupt?t:g):n(N)}function f(N){let J="CDATA[";return N===J.charCodeAt(s++)?(e.consume(N),s===J.length?r.interrupt?t:j:f):n(N)}function b(N){return ct(N)?(e.consume(N),o=String.fromCharCode(N),v):n(N)}function v(N){if(N===null||N===47||N===62||Ae(N)){let J=N===47,ve=o.toLowerCase();return!J&&!a&&sp.includes(ve)?(i=1,r.interrupt?t(N):j(N)):kb.includes(o.toLowerCase())?(i=6,J?(e.consume(N),h):r.interrupt?t(N):j(N)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(N):a?y(N):x(N))}return N===45||Ze(N)?(e.consume(N),o+=String.fromCharCode(N),v):n(N)}function h(N){return N===62?(e.consume(N),r.interrupt?t:j):n(N)}function y(N){return he(N)?(e.consume(N),y):A(N)}function x(N){return N===47?(e.consume(N),A):N===58||N===95||ct(N)?(e.consume(N),S):he(N)?(e.consume(N),x):A(N)}function S(N){return N===45||N===46||N===58||N===95||Ze(N)?(e.consume(N),S):E(N)}function E(N){return N===61?(e.consume(N),w):he(N)?(e.consume(N),E):x(N)}function w(N){return N===null||N===60||N===61||N===62||N===96?n(N):N===34||N===39?(e.consume(N),l=N,R):he(N)?(e.consume(N),w):P(N)}function R(N){return N===l?(e.consume(N),l=null,F):N===null||se(N)?n(N):(e.consume(N),R)}function P(N){return N===null||N===34||N===39||N===47||N===60||N===61||N===62||N===96||Ae(N)?E(N):(e.consume(N),P)}function F(N){return N===47||N===62||he(N)?x(N):n(N)}function A(N){return N===62?(e.consume(N),Z):n(N)}function Z(N){return N===null||se(N)?j(N):he(N)?(e.consume(N),Z):n(N)}function j(N){return N===45&&i===2?(e.consume(N),K):N===60&&i===1?(e.consume(N),le):N===62&&i===4?(e.consume(N),C):N===63&&i===3?(e.consume(N),g):N===93&&i===5?(e.consume(N),D):se(N)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(IA,_,z)(N)):N===null||se(N)?(e.exit("htmlFlowData"),z(N)):(e.consume(N),j)}function z(N){return e.check(PA,V,_)(N)}function V(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),O}function O(N){return N===null||se(N)?z(N):(e.enter("htmlFlowData"),j(N))}function K(N){return N===45?(e.consume(N),g):j(N)}function le(N){return N===47?(e.consume(N),o="",q):j(N)}function q(N){if(N===62){let J=o.toLowerCase();return sp.includes(J)?(e.consume(N),C):j(N)}return ct(N)&&o.length<8?(e.consume(N),o+=String.fromCharCode(N),q):j(N)}function D(N){return N===93?(e.consume(N),g):j(N)}function g(N){return N===62?(e.consume(N),C):N===45&&i===2?(e.consume(N),g):j(N)}function C(N){return N===null||se(N)?(e.exit("htmlFlowData"),_(N)):(e.consume(N),C)}function _(N){return e.exit("htmlFlow"),t(N)}}function _A(e,t,n){let r=this;return i;function i(o){return se(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a):n(o)}function a(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}function DA(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Fn,t,n)}}var up={name:"htmlText",tokenize:FA};function FA(e,t,n){let r=this,i,a,o;return s;function s(g){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(g),l}function l(g){return g===33?(e.consume(g),u):g===47?(e.consume(g),E):g===63?(e.consume(g),x):ct(g)?(e.consume(g),P):n(g)}function u(g){return g===45?(e.consume(g),c):g===91?(e.consume(g),a=0,f):ct(g)?(e.consume(g),y):n(g)}function c(g){return g===45?(e.consume(g),m):n(g)}function d(g){return g===null?n(g):g===45?(e.consume(g),p):se(g)?(o=d,le(g)):(e.consume(g),d)}function p(g){return g===45?(e.consume(g),m):d(g)}function m(g){return g===62?K(g):g===45?p(g):d(g)}function f(g){let C="CDATA[";return g===C.charCodeAt(a++)?(e.consume(g),a===C.length?b:f):n(g)}function b(g){return g===null?n(g):g===93?(e.consume(g),v):se(g)?(o=b,le(g)):(e.consume(g),b)}function v(g){return g===93?(e.consume(g),h):b(g)}function h(g){return g===62?K(g):g===93?(e.consume(g),h):b(g)}function y(g){return g===null||g===62?K(g):se(g)?(o=y,le(g)):(e.consume(g),y)}function x(g){return g===null?n(g):g===63?(e.consume(g),S):se(g)?(o=x,le(g)):(e.consume(g),x)}function S(g){return g===62?K(g):x(g)}function E(g){return ct(g)?(e.consume(g),w):n(g)}function w(g){return g===45||Ze(g)?(e.consume(g),w):R(g)}function R(g){return se(g)?(o=R,le(g)):he(g)?(e.consume(g),R):K(g)}function P(g){return g===45||Ze(g)?(e.consume(g),P):g===47||g===62||Ae(g)?F(g):n(g)}function F(g){return g===47?(e.consume(g),K):g===58||g===95||ct(g)?(e.consume(g),A):se(g)?(o=F,le(g)):he(g)?(e.consume(g),F):K(g)}function A(g){return g===45||g===46||g===58||g===95||Ze(g)?(e.consume(g),A):Z(g)}function Z(g){return g===61?(e.consume(g),j):se(g)?(o=Z,le(g)):he(g)?(e.consume(g),Z):F(g)}function j(g){return g===null||g===60||g===61||g===62||g===96?n(g):g===34||g===39?(e.consume(g),i=g,z):se(g)?(o=j,le(g)):he(g)?(e.consume(g),j):(e.consume(g),V)}function z(g){return g===i?(e.consume(g),i=void 0,O):g===null?n(g):se(g)?(o=z,le(g)):(e.consume(g),z)}function V(g){return g===null||g===34||g===39||g===60||g===61||g===96?n(g):g===47||g===62||Ae(g)?F(g):(e.consume(g),V)}function O(g){return g===47||g===62||Ae(g)?F(g):n(g)}function K(g){return g===62?(e.consume(g),e.exit("htmlTextData"),e.exit("htmlText"),t):n(g)}function le(g){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),q}function q(g){return he(g)?fe(e,D,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(g):D(g)}function D(g){return e.enter("htmlTextData"),o(g)}}var oi={name:"labelEnd",tokenize:UA,resolveTo:jA,resolveAll:BA},zA={tokenize:HA},$A={tokenize:qA},MA={tokenize:VA};function BA(e){let t=-1;for(;++t<e.length;){let n=e[t][1];(n.type==="labelImage"||n.type==="labelLink"||n.type==="labelEnd")&&(e.splice(t+1,n.type==="labelImage"?4:2),n.type="data",t++)}return e}function jA(e,t){let n=e.length,r=0,i,a,o,s;for(;n--;)if(i=e[n][1],a){if(i.type==="link"||i.type==="labelLink"&&i._inactive)break;e[n][0]==="enter"&&i.type==="labelLink"&&(i._inactive=!0)}else if(o){if(e[n][0]==="enter"&&(i.type==="labelImage"||i.type==="labelLink")&&!i._balanced&&(a=n,i.type!=="labelLink")){r=2;break}}else i.type==="labelEnd"&&(o=n);let l={type:e[a][1].type==="labelLink"?"link":"image",start:Object.assign({},e[a][1].start),end:Object.assign({},e[e.length-1][1].end)},u={type:"label",start:Object.assign({},e[a][1].start),end:Object.assign({},e[o][1].end)},c={type:"labelText",start:Object.assign({},e[a+r+2][1].end),end:Object.assign({},e[o-2][1].start)};return s=[["enter",l,t],["enter",u,t]],s=Dt(s,e.slice(a+1,a+r+3)),s=Dt(s,[["enter",c,t]]),s=Dt(s,Tr(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=Dt(s,[["exit",c,t],e[o-2],e[o-1],["exit",u,t]]),s=Dt(s,e.slice(o+1)),s=Dt(s,[["exit",l,t]]),at(e,a,e.length,s),e}function UA(e,t,n){let r=this,i=r.events.length,a,o;for(;i--;)if((r.events[i][1].type==="labelImage"||r.events[i][1].type==="labelLink")&&!r.events[i][1]._balanced){a=r.events[i][1];break}return s;function s(p){return a?a._inactive?d(p):(o=r.parser.defined.includes(Et(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(p),e.exit("labelMarker"),e.exit("labelEnd"),l):n(p)}function l(p){return p===40?e.attempt(zA,c,o?c:d)(p):p===91?e.attempt($A,c,o?u:d)(p):o?c(p):d(p)}function u(p){return e.attempt(MA,c,d)(p)}function c(p){return t(p)}function d(p){return a._balanced=!0,n(p)}}function HA(e,t,n){return r;function r(d){return e.enter("resource"),e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),i}function i(d){return Ae(d)?ai(e,a)(d):a(d)}function a(d){return d===41?c(d):El(e,o,s,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(d)}function o(d){return Ae(d)?ai(e,l)(d):c(d)}function s(d){return n(d)}function l(d){return d===34||d===39||d===40?Al(e,u,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(d):c(d)}function u(d){return Ae(d)?ai(e,c)(d):c(d)}function c(d){return d===41?(e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),e.exit("resource"),t):n(d)}}function qA(e,t,n){let r=this;return i;function i(s){return Cl.call(r,e,a,o,"reference","referenceMarker","referenceString")(s)}function a(s){return r.parser.defined.includes(Et(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(s):n(s)}function o(s){return n(s)}}function VA(e,t,n){return r;function r(a){return e.enter("reference"),e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),i}function i(a){return a===93?(e.enter("referenceMarker"),e.consume(a),e.exit("referenceMarker"),e.exit("reference"),t):n(a)}}var cp={name:"labelStartImage",tokenize:WA,resolveAll:oi.resolveAll};function WA(e,t,n){let r=this;return i;function i(s){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(s),e.exit("labelImageMarker"),a}function a(s){return s===91?(e.enter("labelMarker"),e.consume(s),e.exit("labelMarker"),e.exit("labelImage"),o):n(s)}function o(s){return s===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(s):t(s)}}var dp={name:"labelStartLink",tokenize:KA,resolveAll:oi.resolveAll};function KA(e,t,n){let r=this;return i;function i(o){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelLink"),a}function a(o){return o===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(o):t(o)}}var Ao={name:"lineEnding",tokenize:GA};function GA(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),fe(e,t,"linePrefix")}}var si={name:"thematicBreak",tokenize:YA};function YA(e,t,n){let r=0,i;return a;function a(u){return e.enter("thematicBreak"),o(u)}function o(u){return i=u,s(u)}function s(u){return u===i?(e.enter("thematicBreakSequence"),l(u)):r>=3&&(u===null||se(u))?(e.exit("thematicBreak"),t(u)):n(u)}function l(u){return u===i?(e.consume(u),r++,l):(e.exit("thematicBreakSequence"),he(u)?fe(e,s,"whitespace")(u):s(u))}}var Ct={name:"list",tokenize:ZA,continuation:{tokenize:JA},exit:tT},QA={tokenize:nT,partial:!0},XA={tokenize:eT,partial:!0};function ZA(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(m){let f=r.containerState.type||(m===42||m===43||m===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!r.containerState.marker||m===r.containerState.marker:No(m)){if(r.containerState.type||(r.containerState.type=f,e.enter(f,{_container:!0})),f==="listUnordered")return e.enter("listItemPrefix"),m===42||m===45?e.check(si,n,u)(m):u(m);if(!r.interrupt||m===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(m)}return n(m)}function l(m){return No(m)&&++o<10?(e.consume(m),l):(!r.interrupt||o<2)&&(r.containerState.marker?m===r.containerState.marker:m===41||m===46)?(e.exit("listItemValue"),u(m)):n(m)}function u(m){return e.enter("listItemMarker"),e.consume(m),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||m,e.check(Fn,r.interrupt?n:c,e.attempt(QA,p,d))}function c(m){return r.containerState.initialBlankLine=!0,a++,p(m)}function d(m){return he(m)?(e.enter("listItemPrefixWhitespace"),e.consume(m),e.exit("listItemPrefixWhitespace"),p):n(m)}function p(m){return r.containerState.size=a+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(m)}}function JA(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(Fn,i,a);function i(s){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,fe(e,t,"listItemIndent",r.containerState.size+1)(s)}function a(s){return r.containerState.furtherBlankLines||!he(s)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(s)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(XA,t,o)(s))}function o(s){return r.containerState._closeFlow=!0,r.interrupt=void 0,fe(e,e.attempt(Ct,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s)}}function eT(e,t,n){let r=this;return fe(e,i,"listItemIndent",r.containerState.size+1);function i(a){let o=r.events[r.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(a):n(a)}}function tT(e){e.exit(this.containerState.type)}function nT(e,t,n){let r=this;return fe(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(a){let o=r.events[r.events.length-1];return!he(a)&&o&&o[1].type==="listItemPrefixWhitespace"?t(a):n(a)}}var Tl={name:"setextUnderline",tokenize:iT,resolveTo:rT};function rT(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!a&&e[n][1].type==="definition"&&(a=n);let o={type:"setextHeading",start:Object.assign({},e[i][1].start),end:Object.assign({},e[e.length-1][1].end)};return e[i][1].type="setextHeadingText",a?(e.splice(i,0,["enter",o,t]),e.splice(a+1,0,["exit",e[r][1],t]),e[r][1].end=Object.assign({},e[a][1].end)):e[r][1]=o,e.push(["exit",o,t]),e}function iT(e,t,n){let r=this,i;return a;function a(u){let c=r.events.length,d;for(;c--;)if(r.events[c][1].type!=="lineEnding"&&r.events[c][1].type!=="linePrefix"&&r.events[c][1].type!=="content"){d=r.events[c][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||d)?(e.enter("setextHeadingLine"),i=u,o(u)):n(u)}function o(u){return e.enter("setextHeadingLineSequence"),s(u)}function s(u){return u===i?(e.consume(u),s):(e.exit("setextHeadingLineSequence"),he(u)?fe(e,l,"lineSuffix")(u):l(u))}function l(u){return u===null||se(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}var wb={tokenize:aT};function aT(e){let t=this,n=e.attempt(Fn,r,e.attempt(this.parser.constructs.flowInitial,i,fe(e,e.attempt(this.parser.constructs.flow,i,e.attempt(rp,i)),"linePrefix")));return n;function r(a){if(a===null){e.consume(a);return}return e.enter("lineEndingBlank"),e.consume(a),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var xb={resolveAll:Cb()},Nb=Eb("string"),Sb=Eb("text");function Eb(e){return{tokenize:t,resolveAll:Cb(e==="text"?oT:void 0)};function t(n){let r=this,i=this.parser.constructs[e],a=n.attempt(i,o,s);return o;function o(c){return u(c)?a(c):s(c)}function s(c){if(c===null){n.consume(c);return}return n.enter("data"),n.consume(c),l}function l(c){return u(c)?(n.exit("data"),a(c)):(n.consume(c),l)}function u(c){if(c===null)return!0;let d=i[c],p=-1;if(d)for(;++p<d.length;){let m=d[p];if(!m.previous||m.previous.call(r,r.previous))return!0}return!1}}}function Cb(e){return t;function t(n,r){let i=-1,a;for(;++i<=n.length;)a===void 0?n[i]&&n[i][1].type==="data"&&(a=i,i++):(!n[i]||n[i][1].type!=="data")&&(i!==a+2&&(n[a][1].end=n[i-1][1].end,n.splice(a+2,i-a-2),i=a+2),a=void 0);return e?e(n,r):n}}function oT(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){let r=e[n-1][1],i=t.sliceStream(r),a=i.length,o=-1,s=0,l;for(;a--;){let u=i[a];if(typeof u=="string"){for(o=u.length;u.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(u===-2)l=!0,s++;else if(u!==-1){a++;break}}if(s){let u={type:n===e.length||l||s<2?"lineSuffix":"hardBreakTrailing",start:{line:r.end.line,column:r.end.column-s,offset:r.end.offset-s,_index:r.start._index+a,_bufferIndex:a?o:r.start._bufferIndex+o},end:Object.assign({},r.end)};r.end=Object.assign({},u.start),r.start.offset===r.end.offset?Object.assign(r,u):(e.splice(n,0,["enter",u,t],["exit",u,t]),n+=2)}n++}return e}function Ab(e,t,n){let r=Object.assign(n?Object.assign({},n):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1}),i={},a=[],o=[],s=[],l=!0,u={consume:S,enter:E,exit:w,attempt:F(R),check:F(P),interrupt:F(P,{interrupt:!0})},c={previous:null,code:null,containerState:{},events:[],parser:e,sliceStream:b,sliceSerialize:f,now:v,defineSkip:h,write:m},d=t.tokenize.call(c,u),p;return t.resolveAll&&a.push(t),c;function m(z){return o=Dt(o,z),y(),o[o.length-1]!==null?[]:(A(t,0),c.events=Tr(a,c.events,c),c.events)}function f(z,V){return lT(b(z),V)}function b(z){return sT(o,z)}function v(){let{line:z,column:V,offset:O,_index:K,_bufferIndex:le}=r;return{line:z,column:V,offset:O,_index:K,_bufferIndex:le}}function h(z){i[z.line]=z.column,j()}function y(){let z;for(;r._index<o.length;){let V=o[r._index];if(typeof V=="string")for(z=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===z&&r._bufferIndex<V.length;)x(V.charCodeAt(r._bufferIndex));else x(V)}}function x(z){l=void 0,p=z,d=d(z)}function S(z){se(z)?(r.line++,r.column=1,r.offset+=z===-3?2:1,j()):z!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),c.previous=z,l=!0}function E(z,V){let O=V||{};return O.type=z,O.start=v(),c.events.push(["enter",O,c]),s.push(O),O}function w(z){let V=s.pop();return V.end=v(),c.events.push(["exit",V,c]),V}function R(z,V){A(z,V.from)}function P(z,V){V.restore()}function F(z,V){return O;function O(K,le,q){let D,g,C,_;return Array.isArray(K)?J(K):"tokenize"in K?J([K]):N(K);function N(ge){return ft;function ft(tt){let en=tt!==null&&ge[tt],jn=tt!==null&&ge.null,bi=[...Array.isArray(en)?en:en?[en]:[],...Array.isArray(jn)?jn:jn?[jn]:[]];return J(bi)(tt)}}function J(ge){return D=ge,g=0,ge.length===0?q:ve(ge[g])}function ve(ge){return ft;function ft(tt){return _=Z(),C=ge,ge.partial||(c.currentConstruct=ge),ge.name&&c.parser.constructs.disable.null.includes(ge.name)?ce(tt):ge.tokenize.call(V?Object.assign(Object.create(c),V):c,u,ee,ce)(tt)}}function ee(ge){return l=!0,z(C,_),le}function ce(ge){return l=!0,_.restore(),++g<D.length?ve(D[g]):q}}}function A(z,V){z.resolveAll&&!a.includes(z)&&a.push(z),z.resolve&&at(c.events,V,c.events.length-V,z.resolve(c.events.slice(V),c)),z.resolveTo&&(c.events=z.resolveTo(c.events,c))}function Z(){let z=v(),V=c.previous,O=c.currentConstruct,K=c.events.length,le=Array.from(s);return{restore:q,from:K};function q(){r=z,c.previous=V,c.currentConstruct=O,c.events.length=K,s=le,j()}}function j(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function sT(e,t){let n=t.start._index,r=t.start._bufferIndex,i=t.end._index,a=t.end._bufferIndex,o;if(n===i)o=[e[n].slice(r,a)];else{if(o=e.slice(n,i),r>-1){let s=o[0];typeof s=="string"?o[0]=s.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function lT(e,t){let n=-1,r=[],i;for(;++n<e.length;){let a=e[n],o;if(typeof a=="string")o=a;else switch(a){case-5:{o="\\r";break}case-4:{o=`\n`;break}case-3:{o=`\\r\n`;break}case-2:{o=t?" ":" ";break}case-1:{if(!t&&i)continue;o=" ";break}default:o=String.fromCharCode(a)}i=a===-2,r.push(o)}return r.join("")}var pp={};Qf(pp,{attentionMarkers:()=>gT,contentInitial:()=>cT,disable:()=>yT,document:()=>uT,flow:()=>pT,flowInitial:()=>dT,insideSpan:()=>hT,string:()=>mT,text:()=>fT});var uT={42:Ct,43:Ct,45:Ct,48:Ct,49:Ct,50:Ct,51:Ct,52:Ct,53:Ct,54:Ct,55:Ct,56:Ct,57:Ct,62:bl},cT={91:ip},dT={[-2]:Eo,[-1]:Eo,32:Eo},pT={35:op,42:si,45:[Tl,si],60:lp,61:Tl,95:si,96:xl,126:xl},mT={38:wl,92:kl},fT={[-5]:Ao,[-4]:Ao,[-3]:Ao,33:cp,38:wl,42:So,60:[tp,up],91:dp,92:[ap,kl],93:oi,95:So,96:np},hT={null:[So,xb]},gT={null:[42,95]},yT={null:[]};function mp(e){let n=yl([pp,...(e||{}).extensions||[]]),r={defined:[],lazy:{},constructs:n,content:i(hb),document:i(yb),flow:i(wb),string:i(Nb),text:i(Sb)};return r;function i(a){return o;function o(s){return Ab(r,a,s)}}}function fp(e){for(;!Sl(e););return e}var Tb=/[\\0\\t\\n\\r]/g;function hp(){let e=1,t="",n=!0,r;return i;function i(a,o,s){let l=[],u,c,d,p,m;for(a=t+(typeof a=="string"?a.toString():new TextDecoder(o||void 0).decode(a)),d=0,t="",n&&(a.charCodeAt(0)===65279&&d++,n=void 0);d<a.length;){if(Tb.lastIndex=d,u=Tb.exec(a),p=u&&u.index!==void 0?u.index:a.length,m=a.charCodeAt(p),!u){t=a.slice(d);break}if(m===10&&d===p&&r)l.push(-3),r=void 0;else switch(r&&(l.push(-5),r=void 0),d<p&&(l.push(a.slice(d,p)),e+=p-d),m){case 0:{l.push(65533),e++;break}case 9:{for(c=Math.ceil(e/4)*4,l.push(-2);e++<c;)l.push(-1);break}case 10:{l.push(-4),e=1;break}default:r=!0,e=1}d=p+1}return s&&(r&&l.push(-5),t&&l.push(t),l.push(null)),l}}var vT=/\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;function Rb(e){return e.replace(vT,bT)}function bT(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){let i=n.charCodeAt(1),a=i===120||i===88;return vl(n.slice(a?2:1),a?16:10)}return ea(n)||e}var Pb={}.hasOwnProperty;function gp(e,t,n){return typeof t!="string"&&(n=t,t=void 0),kT(n)(fp(mp(n).document().write(hp()(e,t,!0))))}function kT(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(ki),autolinkProtocol:F,autolinkEmail:F,atxHeading:a(Ee),blockQuote:a(tt),characterEscape:F,characterReference:F,codeFenced:a(en),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:a(en,o),codeText:a(jn,o),codeTextData:F,data:F,codeFlowValue:F,definition:a(bi),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:a(re),hardBreakEscape:a(_e),hardBreakTrailing:a(_e),htmlFlow:a(Tt,o),htmlFlowData:F,htmlText:a(Tt,o),htmlTextData:F,image:a(Rt),label:o,link:a(ki),listItem:a(bS),listItemValue:p,listOrdered:a(Yf,d),listUnordered:a(Yf),paragraph:a(kS),reference:N,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:a(Ee),strong:a(wS),thematicBreak:a(NS)},exit:{atxHeading:l(),atxHeadingSequence:E,autolink:l(),autolinkEmail:ft,autolinkProtocol:ge,blockQuote:l(),characterEscapeValue:A,characterReferenceMarkerHexadecimal:ve,characterReferenceMarkerNumeric:ve,characterReferenceValue:ee,characterReference:ce,codeFenced:l(v),codeFencedFence:b,codeFencedFenceInfo:m,codeFencedFenceMeta:f,codeFlowValue:A,codeIndented:l(h),codeText:l(O),codeTextData:A,data:A,definition:l(),definitionDestinationString:S,definitionLabelString:y,definitionTitleString:x,emphasis:l(),hardBreakEscape:l(j),hardBreakTrailing:l(j),htmlFlow:l(z),htmlFlowData:A,htmlText:l(V),htmlTextData:A,image:l(le),label:D,labelText:q,lineEnding:Z,link:l(K),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:J,resourceDestinationString:g,resourceTitleString:C,resource:_,setextHeading:l(P),setextHeadingLineSequence:R,setextHeadingText:w,strong:l(),thematicBreak:l()}};Lb(t,(e||{}).mdastExtensions||[]);let n={};return r;function r(B){let ie={type:"root",children:[]},Ne={stack:[ie],tokenStack:[],config:t,enter:s,exit:u,buffer:o,resume:c,data:n},Ie=[],$e=-1;for(;++$e<B.length;)if(B[$e][1].type==="listOrdered"||B[$e][1].type==="listUnordered")if(B[$e][0]==="enter")Ie.push($e);else{let mn=Ie.pop();$e=i(B,mn,$e)}for($e=-1;++$e<B.length;){let mn=t[B[$e][0]];Pb.call(mn,B[$e][1].type)&&mn[B[$e][1].type].call(Object.assign({sliceSerialize:B[$e][2].sliceSerialize},Ne),B[$e][1])}if(Ne.tokenStack.length>0){let mn=Ne.tokenStack[Ne.tokenStack.length-1];(mn[1]||Ib).call(Ne,void 0,mn[0])}for(ie.position={start:Rr(B.length>0?B[0][1].start:{line:1,column:1,offset:0}),end:Rr(B.length>0?B[B.length-2][1].end:{line:1,column:1,offset:0})},$e=-1;++$e<t.transforms.length;)ie=t.transforms[$e](ie)||ie;return ie}function i(B,ie,Ne){let Ie=ie-1,$e=-1,mn=!1,Fr,Un,ka,wa;for(;++Ie<=Ne;){let Vt=B[Ie];switch(Vt[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{Vt[0]==="enter"?$e++:$e--,wa=void 0;break}case"lineEndingBlank":{Vt[0]==="enter"&&(Fr&&!wa&&!$e&&!ka&&(ka=Ie),wa=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:wa=void 0}if(!$e&&Vt[0]==="enter"&&Vt[1].type==="listItemPrefix"||$e===-1&&Vt[0]==="exit"&&(Vt[1].type==="listUnordered"||Vt[1].type==="listOrdered")){if(Fr){let wi=Ie;for(Un=void 0;wi--;){let Hn=B[wi];if(Hn[1].type==="lineEnding"||Hn[1].type==="lineEndingBlank"){if(Hn[0]==="exit")continue;Un&&(B[Un][1].type="lineEndingBlank",mn=!0),Hn[1].type="lineEnding",Un=wi}else if(!(Hn[1].type==="linePrefix"||Hn[1].type==="blockQuotePrefix"||Hn[1].type==="blockQuotePrefixWhitespace"||Hn[1].type==="blockQuoteMarker"||Hn[1].type==="listItemIndent"))break}ka&&(!Un||ka<Un)&&(Fr._spread=!0),Fr.end=Object.assign({},Un?B[Un][1].start:Vt[1].end),B.splice(Un||Ie,0,["exit",Fr,Vt[2]]),Ie++,Ne++}if(Vt[1].type==="listItemPrefix"){let wi={type:"listItem",_spread:!1,start:Object.assign({},Vt[1].start),end:void 0};Fr=wi,B.splice(Ie,0,["enter",wi,Vt[2]]),Ie++,Ne++,ka=void 0,wa=!0}}}return B[ie][1]._spread=mn,Ne}function a(B,ie){return Ne;function Ne(Ie){s.call(this,B(Ie),Ie),ie&&ie.call(this,Ie)}}function o(){this.stack.push({type:"fragment",children:[]})}function s(B,ie,Ne){this.stack[this.stack.length-1].children.push(B),this.stack.push(B),this.tokenStack.push([ie,Ne]),B.position={start:Rr(ie.start),end:void 0}}function l(B){return ie;function ie(Ne){B&&B.call(this,Ne),u.call(this,Ne)}}function u(B,ie){let Ne=this.stack.pop(),Ie=this.tokenStack.pop();if(Ie)Ie[0].type!==B.type&&(ie?ie.call(this,B,Ie[0]):(Ie[1]||Ib).call(this,B,Ie[0]));else throw new Error("Cannot close `"+B.type+"` ("+Cr({start:B.start,end:B.end})+"): it\\u2019s not open");Ne.position.end=Rr(B.end)}function c(){return ni(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function p(B){if(this.data.expectingFirstListItemValue){let ie=this.stack[this.stack.length-2];ie.start=Number.parseInt(this.sliceSerialize(B),10),this.data.expectingFirstListItemValue=void 0}}function m(){let B=this.resume(),ie=this.stack[this.stack.length-1];ie.lang=B}function f(){let B=this.resume(),ie=this.stack[this.stack.length-1];ie.meta=B}function b(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function v(){let B=this.resume(),ie=this.stack[this.stack.length-1];ie.value=B.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g,""),this.data.flowCodeInside=void 0}function h(){let B=this.resume(),ie=this.stack[this.stack.length-1];ie.value=B.replace(/(\\r?\\n|\\r)$/g,"")}function y(B){let ie=this.resume(),Ne=this.stack[this.stack.length-1];Ne.label=ie,Ne.identifier=Et(this.sliceSerialize(B)).toLowerCase()}function x(){let B=this.resume(),ie=this.stack[this.stack.length-1];ie.title=B}function S(){let B=this.resume(),ie=this.stack[this.stack.length-1];ie.url=B}function E(B){let ie=this.stack[this.stack.length-1];if(!ie.depth){let Ne=this.sliceSerialize(B).length;ie.depth=Ne}}function w(){this.data.setextHeadingSlurpLineEnding=!0}function R(B){let ie=this.stack[this.stack.length-1];ie.depth=this.sliceSerialize(B).codePointAt(0)===61?1:2}function P(){this.data.setextHeadingSlurpLineEnding=void 0}function F(B){let Ne=this.stack[this.stack.length-1].children,Ie=Ne[Ne.length-1];(!Ie||Ie.type!=="text")&&(Ie=xS(),Ie.position={start:Rr(B.start),end:void 0},Ne.push(Ie)),this.stack.push(Ie)}function A(B){let ie=this.stack.pop();ie.value+=this.sliceSerialize(B),ie.position.end=Rr(B.end)}function Z(B){let ie=this.stack[this.stack.length-1];if(this.data.atHardBreak){let Ne=ie.children[ie.children.length-1];Ne.position.end=Rr(B.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(ie.type)&&(F.call(this,B),A.call(this,B))}function j(){this.data.atHardBreak=!0}function z(){let B=this.resume(),ie=this.stack[this.stack.length-1];ie.value=B}function V(){let B=this.resume(),ie=this.stack[this.stack.length-1];ie.value=B}function O(){let B=this.resume(),ie=this.stack[this.stack.length-1];ie.value=B}function K(){let B=this.stack[this.stack.length-1];if(this.data.inReference){let ie=this.data.referenceType||"shortcut";B.type+="Reference",B.referenceType=ie,delete B.url,delete B.title}else delete B.identifier,delete B.label;this.data.referenceType=void 0}function le(){let B=this.stack[this.stack.length-1];if(this.data.inReference){let ie=this.data.referenceType||"shortcut";B.type+="Reference",B.referenceType=ie,delete B.url,delete B.title}else delete B.identifier,delete B.label;this.data.referenceType=void 0}function q(B){let ie=this.sliceSerialize(B),Ne=this.stack[this.stack.length-2];Ne.label=Rb(ie),Ne.identifier=Et(ie).toLowerCase()}function D(){let B=this.stack[this.stack.length-1],ie=this.resume(),Ne=this.stack[this.stack.length-1];if(this.data.inReference=!0,Ne.type==="link"){let Ie=B.children;Ne.children=Ie}else Ne.alt=ie}function g(){let B=this.resume(),ie=this.stack[this.stack.length-1];ie.url=B}function C(){let B=this.resume(),ie=this.stack[this.stack.length-1];ie.title=B}function _(){this.data.inReference=void 0}function N(){this.data.referenceType="collapsed"}function J(B){let ie=this.resume(),Ne=this.stack[this.stack.length-1];Ne.label=ie,Ne.identifier=Et(this.sliceSerialize(B)).toLowerCase(),this.data.referenceType="full"}function ve(B){this.data.characterReferenceType=B.type}function ee(B){let ie=this.sliceSerialize(B),Ne=this.data.characterReferenceType,Ie;Ne?(Ie=vl(ie,Ne==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):Ie=ea(ie);let $e=this.stack[this.stack.length-1];$e.value+=Ie}function ce(B){let ie=this.stack.pop();ie.position.end=Rr(B.end)}function ge(B){A.call(this,B);let ie=this.stack[this.stack.length-1];ie.url=this.sliceSerialize(B)}function ft(B){A.call(this,B);let ie=this.stack[this.stack.length-1];ie.url="mailto:"+this.sliceSerialize(B)}function tt(){return{type:"blockquote",children:[]}}function en(){return{type:"code",lang:null,meta:null,value:""}}function jn(){return{type:"inlineCode",value:""}}function bi(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function re(){return{type:"emphasis",children:[]}}function Ee(){return{type:"heading",depth:0,children:[]}}function _e(){return{type:"break"}}function Tt(){return{type:"html",value:""}}function Rt(){return{type:"image",title:null,url:"",alt:null}}function ki(){return{type:"link",title:null,url:"",children:[]}}function Yf(B){return{type:"list",ordered:B.type==="listOrdered",start:null,spread:B._spread,children:[]}}function bS(B){return{type:"listItem",spread:B._spread,checked:null,children:[]}}function kS(){return{type:"paragraph",children:[]}}function wS(){return{type:"strong",children:[]}}function xS(){return{type:"text",value:""}}function NS(){return{type:"thematicBreak"}}}function Rr(e){return{line:e.line,column:e.column,offset:e.offset}}function Lb(e,t){let n=-1;for(;++n<t.length;){let r=t[n];Array.isArray(r)?Lb(e,r):wT(e,r)}}function wT(e,t){let n;for(n in t)if(Pb.call(t,n))switch(n){case"canContainEols":{let r=t[n];r&&e[n].push(...r);break}case"transforms":{let r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{let r=t[n];r&&Object.assign(e[n],r);break}}}function Ib(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+Cr({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+Cr({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+Cr({start:t.start,end:t.end})+") is still open")}function Rl(e){let t=this;t.parser=n;function n(r){return gp(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function Ob(e,t){let n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function _b(e,t){let n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`\n`}]}function Db(e,t){let n=t.value?t.value+`\n`:"",r={},i=t.lang?t.lang.split(/\\s+/):[];i.length>0&&(r.className=["language-"+i[0]]);let a={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(a.data={meta:t.meta}),e.patch(t,a),a=e.applyData(t,a),a={type:"element",tagName:"pre",properties:{},children:[a]},e.patch(t,a),a}function Fb(e,t){let n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function zb(e,t){let n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function $b(e,t){let n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),i=cn(r.toLowerCase()),a=e.footnoteOrder.indexOf(r),o,s=e.footnoteCounts.get(r);s===void 0?(s=0,e.footnoteOrder.push(r),o=e.footnoteOrder.length):o=a+1,s+=1,e.footnoteCounts.set(r,s);let l={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+i,id:n+"fnref-"+i+(s>1?"-"+s:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(o)}]};e.patch(t,l);let u={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(t,u),e.applyData(t,u)}function Mb(e,t){let n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Bb(e,t){if(e.options.allowDangerousHtml){let n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function Il(e,t){let n=t.referenceType,r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];let i=e.all(t),a=i[0];a&&a.type==="text"?a.value="["+a.value:i.unshift({type:"text",value:"["});let o=i[i.length-1];return o&&o.type==="text"?o.value+=r:i.push({type:"text",value:r}),i}function jb(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Il(e,t);let i={src:cn(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,a),e.applyData(t,a)}function Ub(e,t){let n={src:cn(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function Hb(e,t){let n={type:"text",value:t.value.replace(/\\r?\\n|\\r/g," ")};e.patch(t,n);let r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function qb(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Il(e,t);let i={href:cn(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function Vb(e,t){let n={href:cn(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function Wb(e,t,n){let r=e.all(t),i=n?xT(n):Kb(t),a={},o=[];if(typeof t.checked=="boolean"){let c=r[0],d;c&&c.type==="element"&&c.tagName==="p"?d=c:(d={type:"element",tagName:"p",properties:{},children:[]},r.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),a.className=["task-list-item"]}let s=-1;for(;++s<r.length;){let c=r[s];(i||s!==0||c.type!=="element"||c.tagName!=="p")&&o.push({type:"text",value:`\n`}),c.type==="element"&&c.tagName==="p"&&!i?o.push(...c.children):o.push(c)}let l=r[r.length-1];l&&(i||l.type!=="element"||l.tagName!=="p")&&o.push({type:"text",value:`\n`});let u={type:"element",tagName:"li",properties:a,children:o};return e.patch(t,u),e.applyData(t,u)}function xT(e){let t=!1;if(e.type==="list"){t=e.spread||!1;let n=e.children,r=-1;for(;!t&&++r<n.length;)t=Kb(n[r])}return t}function Kb(e){let t=e.spread;return t??e.children.length>1}function Gb(e,t){let n={},r=e.all(t),i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i<r.length;){let o=r[i];if(o.type==="element"&&o.tagName==="li"&&o.properties&&Array.isArray(o.properties.className)&&o.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}let a={type:"element",tagName:t.ordered?"ol":"ul",properties:n,children:e.wrap(r,!0)};return e.patch(t,a),e.applyData(t,a)}function Yb(e,t){let n={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Qb(e,t){let n={type:"root",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function Xb(e,t){let n={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Zb(e,t){let n=e.all(t),r=n.shift(),i=[];if(r){let o={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],o),i.push(o)}if(n.length>0){let o={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},s=Ji(t.children[1]),l=gl(t.children[t.children.length-1]);s&&l&&(o.position={start:s,end:l}),i.push(o)}let a={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,a),e.applyData(t,a)}function Jb(e,t,n){let r=n?n.children:void 0,a=(r?r.indexOf(t):1)===0?"th":"td",o=n&&n.type==="table"?n.align:void 0,s=o?o.length:t.children.length,l=-1,u=[];for(;++l<s;){let d=t.children[l],p={},m=o?o[l]:void 0;m&&(p.align=m);let f={type:"element",tagName:a,properties:p,children:[]};d&&(f.children=e.all(d),e.patch(d,f),f=e.applyData(d,f)),u.push(f)}let c={type:"element",tagName:"tr",properties:{},children:e.wrap(u,!0)};return e.patch(t,c),e.applyData(t,c)}function ek(e,t){let n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function nk(e){let t=String(e),n=/\\r?\\n|\\r/g,r=n.exec(t),i=0,a=[];for(;r;)a.push(tk(t.slice(i,r.index),i>0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return a.push(tk(t.slice(i),i>0,!1)),a.join("")}function tk(e,t,n){let r=0,i=e.length;if(t){let a=e.codePointAt(r);for(;a===9||a===32;)r++,a=e.codePointAt(r)}if(n){let a=e.codePointAt(i-1);for(;a===9||a===32;)i--,a=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function rk(e,t){let n={type:"text",value:nk(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function ik(e,t){let n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}var ak={blockquote:Ob,break:_b,code:Db,delete:Fb,emphasis:zb,footnoteReference:$b,heading:Mb,html:Bb,imageReference:jb,image:Ub,inlineCode:Hb,linkReference:qb,link:Vb,listItem:Wb,list:Gb,paragraph:Yb,root:Qb,strong:Xb,table:Zb,tableCell:ek,tableRow:Jb,text:rk,thematicBreak:ik,toml:Pl,yaml:Pl,definition:Pl,footnoteDefinition:Pl};function Pl(){}var ok=typeof self=="object"?self:globalThis,NT=(e,t)=>{let n=(i,a)=>(e.set(a,i),i),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let s=n([],i);for(let l of o)s.push(r(l));return s}case 2:{let s=n({},i);for(let[l,u]of o)s[r(l)]=r(u);return s}case 3:return n(new Date(o),i);case 4:{let{source:s,flags:l}=o;return n(new RegExp(s,l),i)}case 5:{let s=n(new Map,i);for(let[l,u]of o)s.set(r(l),r(u));return s}case 6:{let s=n(new Set,i);for(let l of o)s.add(r(l));return s}case 7:{let{name:s,message:l}=o;return n(new ok[s](l),i)}case 8:return n(BigInt(o),i);case"BigInt":return n(Object(BigInt(o)),i)}return n(new ok[a](o),i)};return r},kp=e=>NT(new Map,e)(0);var na="",{toString:ST}={},{keys:ET}=Object,Po=e=>{let t=typeof e;if(t!=="object"||!e)return[0,t];let n=ST.call(e).slice(8,-1);switch(n){case"Array":return[1,na];case"Object":return[2,na];case"Date":return[3,na];case"RegExp":return[4,na];case"Map":return[5,na];case"Set":return[6,na]}return n.includes("Array")?[1,n]:n.includes("Error")?[7,n]:[2,n]},Fl=([e,t])=>e===0&&(t==="function"||t==="symbol"),CT=(e,t,n,r)=>{let i=(o,s)=>{let l=r.push(o)-1;return n.set(s,l),l},a=o=>{if(n.has(o))return n.get(o);let[s,l]=Po(o);switch(s){case 0:{let c=o;switch(l){case"bigint":s=8,c=o.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);c=null;break;case"undefined":return i([-1],o)}return i([s,c],o)}case 1:{if(l)return i([l,[...o]],o);let c=[],d=i([s,c],o);for(let p of o)c.push(a(p));return d}case 2:{if(l)switch(l){case"BigInt":return i([l,o.toString()],o);case"Boolean":case"Number":case"String":return i([l,o.valueOf()],o)}if(t&&"toJSON"in o)return a(o.toJSON());let c=[],d=i([s,c],o);for(let p of ET(o))(e||!Fl(Po(o[p])))&&c.push([a(p),a(o[p])]);return d}case 3:return i([s,o.toISOString()],o);case 4:{let{source:c,flags:d}=o;return i([s,{source:c,flags:d}],o)}case 5:{let c=[],d=i([s,c],o);for(let[p,m]of o)(e||!(Fl(Po(p))||Fl(Po(m))))&&c.push([a(p),a(m)]);return d}case 6:{let c=[],d=i([s,c],o);for(let p of o)(e||!Fl(Po(p)))&&c.push(a(p));return d}}let{message:u}=o;return i([s,{name:l,message:u}],o)};return a},wp=(e,{json:t,lossy:n}={})=>{let r=[];return CT(!(t||n),!!t,new Map,r)(e),r};var ra=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?kp(wp(e,t)):structuredClone(e):(e,t)=>kp(wp(e,t));function AT(e,t){let n=[{type:"text",value:"\\u21A9"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function TT(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function sk(e){let t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||AT,r=e.options.footnoteBackLabel||TT,i=e.options.footnoteLabel||"Footnotes",a=e.options.footnoteLabelTagName||"h2",o=e.options.footnoteLabelProperties||{className:["sr-only"]},s=[],l=-1;for(;++l<e.footnoteOrder.length;){let u=e.footnoteById.get(e.footnoteOrder[l]);if(!u)continue;let c=e.all(u),d=String(u.identifier).toUpperCase(),p=cn(d.toLowerCase()),m=0,f=[],b=e.footnoteCounts.get(d);for(;b!==void 0&&++m<=b;){f.length>0&&f.push({type:"text",value:" "});let y=typeof n=="string"?n:n(l,m);typeof y=="string"&&(y={type:"text",value:y}),f.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+p+(m>1?"-"+m:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(l,m),className:["data-footnote-backref"]},children:Array.isArray(y)?y:[y]})}let v=c[c.length-1];if(v&&v.type==="element"&&v.tagName==="p"){let y=v.children[v.children.length-1];y&&y.type==="text"?y.value+=" ":v.children.push({type:"text",value:" "}),v.children.push(...f)}else c.push(...f);let h={type:"element",tagName:"li",properties:{id:t+"fn-"+p},children:e.wrap(c,!0)};e.patch(u,h),s.push(h)}if(s.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:a,properties:{...ra(o),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:`\n`},{type:"element",tagName:"ol",properties:{},children:e.wrap(s,!0)},{type:"text",value:`\n`}]}}var Ir=function(e){if(e==null)return LT;if(typeof e=="function")return zl(e);if(typeof e=="object")return Array.isArray(e)?RT(e):IT(e);if(typeof e=="string")return PT(e);throw new Error("Expected function, string, or object as test")};function RT(e){let t=[],n=-1;for(;++n<e.length;)t[n]=Ir(e[n]);return zl(r);function r(...i){let a=-1;for(;++a<t.length;)if(t[a].apply(this,i))return!0;return!1}}function IT(e){let t=e;return zl(n);function n(r){let i=r,a;for(a in e)if(i[a]!==t[a])return!1;return!0}}function PT(e){return zl(t);function t(n){return n&&n.type===e}}function zl(e){return t;function t(n,r,i){return!!(OT(n)&&e.call(this,n,typeof r=="number"?r:void 0,i||void 0))}}function LT(){return!0}function OT(e){return e!==null&&typeof e=="object"&&"type"in e}var lk=[],$l=!0,li=!1,Ml="skip";function Lo(e,t,n,r){let i;typeof t=="function"&&typeof n!="function"?(r=n,n=t):i=t;let a=Ir(i),o=r?-1:1;s(e,void 0,[])();function s(l,u,c){let d=l&&typeof l=="object"?l:{};if(typeof d.type=="string"){let m=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(p,"name",{value:"node ("+(l.type+(m?"<"+m+">":""))+")"})}return p;function p(){let m=lk,f,b,v;if((!t||a(l,u,c[c.length-1]||void 0))&&(m=_T(n(l,c)),m[0]===li))return m;if("children"in l&&l.children){let h=l;if(h.children&&m[0]!==Ml)for(b=(r?h.children.length:-1)+o,v=c.concat(h);b>-1&&b<h.children.length;){let y=h.children[b];if(f=s(y,b,v)(),f[0]===li)return f;b=typeof f[1]=="number"?f[1]:b+o}}return m}}}function _T(e){return Array.isArray(e)?e:typeof e=="number"?[$l,e]:e==null?lk:[e]}function ui(e,t,n,r){let i,a,o;typeof t=="function"&&typeof n!="function"?(a=void 0,o=t,i=n):(a=t,o=n,i=r),Lo(e,a,s,i);function s(l,u){let c=u[u.length-1],d=c?c.children.indexOf(l):void 0;return o(l,d,c)}}var xp={}.hasOwnProperty,DT={};function ck(e,t){let n=t||DT,r=new Map,i=new Map,a=new Map,o={...ak,...n.handlers},s={all:u,applyData:zT,definitionById:r,footnoteById:i,footnoteCounts:a,footnoteOrder:[],handlers:o,one:l,options:n,patch:FT,wrap:MT};return ui(e,function(c){if(c.type==="definition"||c.type==="footnoteDefinition"){let d=c.type==="definition"?r:i,p=String(c.identifier).toUpperCase();d.has(p)||d.set(p,c)}}),s;function l(c,d){let p=c.type,m=s.handlers[p];if(xp.call(s.handlers,p)&&m)return m(s,c,d);if(s.options.passThrough&&s.options.passThrough.includes(p)){if("children"in c){let{children:b,...v}=c,h=ra(v);return h.children=s.all(c),h}return ra(c)}return(s.options.unknownHandler||$T)(s,c,d)}function u(c){let d=[];if("children"in c){let p=c.children,m=-1;for(;++m<p.length;){let f=s.one(p[m],c);if(f){if(m&&p[m-1].type==="break"&&(!Array.isArray(f)&&f.type==="text"&&(f.value=uk(f.value)),!Array.isArray(f)&&f.type==="element")){let b=f.children[0];b&&b.type==="text"&&(b.value=uk(b.value))}Array.isArray(f)?d.push(...f):d.push(f)}}}return d}}function FT(e,t){e.position&&(t.position=Yd(e))}function zT(e,t){let n=t;if(e&&e.data){let r=e.data.hName,i=e.data.hChildren,a=e.data.hProperties;if(typeof r=="string")if(n.type==="element")n.tagName=r;else{let o="children"in n?n.children:[n];n={type:"element",tagName:r,properties:{},children:o}}n.type==="element"&&a&&Object.assign(n.properties,ra(a)),"children"in n&&n.children&&i!==null&&i!==void 0&&(n.children=i)}return n}function $T(e,t){let n=t.data||{},r="value"in t&&!(xp.call(n,"hProperties")||xp.call(n,"hChildren"))?{type:"text",value:t.value}:{type:"element",tagName:"div",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function MT(e,t){let n=[],r=-1;for(t&&n.push({type:"text",value:`\n`});++r<e.length;)r&&n.push({type:"text",value:`\n`}),n.push(e[r]);return t&&e.length>0&&n.push({type:"text",value:`\n`}),n}function uk(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function Bl(e,t){let n=ck(e,t),r=n.one(e,void 0),i=sk(n),a=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&("children"in a,a.children.push({type:"text",value:`\n`},i)),a}function jl(e,t){return e&&"run"in e?async function(n,r){let i=Bl(n,{file:r,...t});await e.run(i,r)}:function(n,r){return Bl(n,{file:r,...t||e})}}function Np(e){if(e)throw e}var ql=X(bk(),1);function Oo(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Sp(){let e=[],t={run:n,use:r};return t;function n(...i){let a=-1,o=i.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);s(null,...i);function s(l,...u){let c=e[++a],d=-1;if(l){o(l);return}for(;++d<i.length;)(u[d]===null||u[d]===void 0)&&(u[d]=i[d]);i=u,c?kk(c,s)(...u):o(null,...u)}}function r(i){if(typeof i!="function")throw new TypeError("Expected `middelware` to be a function, not "+i);return e.push(i),t}}function kk(e,t){let n;return r;function r(...o){let s=e.length>o.length,l;s&&o.push(i);try{l=e.apply(this,o)}catch(u){let c=u;if(s&&n)throw c;return i(c)}s||(l&&l.then&&typeof l.then=="function"?l.then(a,i):l instanceof Error?i(l):a(l))}function i(o,...s){n||(n=!0,t(o,...s))}function a(o){i(null,o)}}var Nn={basename:BT,dirname:jT,extname:UT,join:HT,sep:"/"};function BT(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError(\'"ext" argument must be a string\');_o(e);let n=0,r=-1,i=e.length,a;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else r<0&&(a=!0,r=i+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let o=-1,s=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else o<0&&(a=!0,o=i+1),s>-1&&(e.codePointAt(i)===t.codePointAt(s--)?s<0&&(r=i):(s=-1,r=o));return n===r?r=o:r<0&&(r=e.length),e.slice(n,r)}function jT(e){if(_o(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function UT(e){_o(e);let t=e.length,n=-1,r=0,i=-1,a=0,o;for(;t--;){let s=e.codePointAt(t);if(s===47){if(o){r=t+1;break}continue}n<0&&(o=!0,n=t+1),s===46?i<0?i=t:a!==1&&(a=1):i>-1&&(a=-1)}return i<0||n<0||a===0||a===1&&i===n-1&&i===r+1?"":e.slice(i,n)}function HT(...e){let t=-1,n;for(;++t<e.length;)_o(e[t]),e[t]&&(n=n===void 0?e[t]:n+"/"+e[t]);return n===void 0?".":qT(n)}function qT(e){_o(e);let t=e.codePointAt(0)===47,n=VT(e,!t);return n.length===0&&!t&&(n="."),n.length>0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function VT(e,t){let n="",r=0,i=-1,a=0,o=-1,s,l;for(;++o<=e.length;){if(o<e.length)s=e.codePointAt(o);else{if(s===47)break;s=47}if(s===47){if(!(i===o-1||a===1))if(i!==o-1&&a===2){if(n.length<2||r!==2||n.codePointAt(n.length-1)!==46||n.codePointAt(n.length-2)!==46){if(n.length>2){if(l=n.lastIndexOf("/"),l!==n.length-1){l<0?(n="",r=0):(n=n.slice(0,l),r=n.length-1-n.lastIndexOf("/")),i=o,a=0;continue}}else if(n.length>0){n="",r=0,i=o,a=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(i+1,o):n=e.slice(i+1,o),r=o-i-1;i=o,a=0}else s===46&&a>-1?a++:a=-1}return n}function _o(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var wk={cwd:WT};function WT(){return"/"}function ia(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function xk(e){if(typeof e=="string")e=new URL(e);else if(!ia(e)){let t=new TypeError(\'The "path" argument must be of type string or an instance of URL. Received `\'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){let t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return KT(e)}function KT(e){if(e.hostname!==""){let r=new TypeError(\'File URL host must be "localhost" or empty on darwin\');throw r.code="ERR_INVALID_FILE_URL_HOST",r}let t=e.pathname,n=-1;for(;++n<t.length;)if(t.codePointAt(n)===37&&t.codePointAt(n+1)===50){let r=t.codePointAt(n+2);if(r===70||r===102){let i=new TypeError("File URL path must not include encoded / characters");throw i.code="ERR_INVALID_FILE_URL_PATH",i}}return decodeURIComponent(t)}var Ep=["history","path","basename","stem","extname","dirname"],ci=class{constructor(t){let n;t?ia(t)?n={path:t}:typeof t=="string"||GT(t)?n={value:t}:n=t:n={},this.cwd="cwd"in n?"":wk.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<Ep.length;){let a=Ep[r];a in n&&n[a]!==void 0&&n[a]!==null&&(this[a]=a==="history"?[...n[a]]:n[a])}let i;for(i in n)Ep.includes(i)||(this[i]=n[i])}get basename(){return typeof this.path=="string"?Nn.basename(this.path):void 0}set basename(t){Ap(t,"basename"),Cp(t,"basename"),this.path=Nn.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?Nn.dirname(this.path):void 0}set dirname(t){Nk(this.basename,"dirname"),this.path=Nn.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?Nn.extname(this.path):void 0}set extname(t){if(Cp(t,"extname"),Nk(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=Nn.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){ia(t)&&(t=xk(t)),Ap(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?Nn.basename(this.path,this.extname):void 0}set stem(t){Ap(t,"stem"),Cp(t,"stem"),this.path=Nn.join(this.dirname||"",t+(this.extname||""))}fail(t,n,r){let i=this.message(t,n,r);throw i.fatal=!0,i}info(t,n,r){let i=this.message(t,n,r);return i.fatal=void 0,i}message(t,n,r){let i=new et(t,n,r);return this.path&&(i.name=this.path+":"+i.name,i.file=this.path),i.fatal=!1,this.messages.push(i),i}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}};function Cp(e,t){if(e&&e.includes(Nn.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+Nn.sep+"`")}function Ap(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function Nk(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function GT(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var Sk=function(e){let r=this.constructor.prototype,i=r[e],a=function(){return i.apply(a,arguments)};return Object.setPrototypeOf(a,r),a};var YT={}.hasOwnProperty,Pp=class e extends Sk{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Sp()}copy(){let t=new e,n=-1;for(;++n<this.attachers.length;){let r=this.attachers[n];t.use(...r)}return t.data((0,ql.default)(!0,{},this.namespace)),t}data(t,n){return typeof t=="string"?arguments.length===2?(Ip("data",this.frozen),this.namespace[t]=n,this):YT.call(this.namespace,t)&&this.namespace[t]||void 0:t?(Ip("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;let t=this;for(;++this.freezeIndex<this.attachers.length;){let[n,...r]=this.attachers[this.freezeIndex];if(r[0]===!1)continue;r[0]===!0&&(r[0]=void 0);let i=n.call(t,...r);typeof i=="function"&&this.transformers.use(i)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();let n=Hl(t),r=this.parser||this.Parser;return Tp("parse",r),r(String(n),n)}process(t,n){let r=this;return this.freeze(),Tp("process",this.parser||this.Parser),Rp("process",this.compiler||this.Compiler),n?i(void 0,n):new Promise(i);function i(a,o){let s=Hl(t),l=r.parse(s);r.run(l,s,function(c,d,p){if(c||!d||!p)return u(c);let m=d,f=r.stringify(m,p);XT(f)?p.value=f:p.result=f,u(c,p)});function u(c,d){c||!d?o(c):a?a(d):n(void 0,d)}}}processSync(t){let n=!1,r;return this.freeze(),Tp("processSync",this.parser||this.Parser),Rp("processSync",this.compiler||this.Compiler),this.process(t,i),Ck("processSync","process",n),r;function i(a,o){n=!0,Np(a),r=o}}run(t,n,r){Ek(t),this.freeze();let i=this.transformers;return!r&&typeof n=="function"&&(r=n,n=void 0),r?a(void 0,r):new Promise(a);function a(o,s){let l=Hl(n);i.run(t,l,u);function u(c,d,p){let m=d||t;c?s(c):o?o(m):r(void 0,m,p)}}}runSync(t,n){let r=!1,i;return this.run(t,n,a),Ck("runSync","run",r),i;function a(o,s){Np(o),i=s,r=!0}}stringify(t,n){this.freeze();let r=Hl(n),i=this.compiler||this.Compiler;return Rp("stringify",i),Ek(t),i(t,r)}use(t,...n){let r=this.attachers,i=this.namespace;if(Ip("use",this.frozen),t!=null)if(typeof t=="function")l(t,n);else if(typeof t=="object")Array.isArray(t)?s(t):o(t);else throw new TypeError("Expected usable value, not `"+t+"`");return this;function a(u){if(typeof u=="function")l(u,[]);else if(typeof u=="object")if(Array.isArray(u)){let[c,...d]=u;l(c,d)}else o(u);else throw new TypeError("Expected usable value, not `"+u+"`")}function o(u){if(!("plugins"in u)&&!("settings"in u))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");s(u.plugins),u.settings&&(i.settings=(0,ql.default)(!0,i.settings,u.settings))}function s(u){let c=-1;if(u!=null)if(Array.isArray(u))for(;++c<u.length;){let d=u[c];a(d)}else throw new TypeError("Expected a list of plugins, not `"+u+"`")}function l(u,c){let d=-1,p=-1;for(;++d<r.length;)if(r[d][0]===u){p=d;break}if(p===-1)r.push([u,...c]);else if(c.length>0){let[m,...f]=c,b=r[p][1];Oo(b)&&Oo(m)&&(m=(0,ql.default)(!0,b,m)),r[p]=[u,m,...f]}}}},Lp=new Pp().freeze();function Tp(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Rp(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Ip(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Ek(e){if(!Oo(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function Ck(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function Hl(e){return QT(e)?e:new ci(e)}function QT(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function XT(e){return typeof e=="string"||ZT(e)}function ZT(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var JT="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Ak=[],Tk={allowDangerousHtml:!0},eR=/^(https?|ircs?|mailto|xmpp)$/i,tR=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function Op(e){let t=e.allowedElements,n=e.allowElement,r=e.children||"",i=e.className,a=e.components,o=e.disallowedElements,s=e.rehypePlugins||Ak,l=e.remarkPlugins||Ak,u=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Tk}:Tk,c=e.skipHtml,d=e.unwrapDisallowed,p=e.urlTransform||Rk,m=Lp().use(Rl).use(l).use(jl,u).use(s),f=new ci;typeof r=="string"?f.value=r:(""+r,void 0),t&&o&&void 0;for(let y of tR)Object.hasOwn(e,y.from)&&(""+y.from+(y.to?"use `"+y.to+"` instead":"remove it")+JT+y.id,void 0);let b=m.parse(f),v=m.runSync(b,f);return i&&(v={type:"element",tagName:"div",properties:{className:i},children:v.type==="root"?v.children:[v]}),ui(v,h),Zd(v,{Fragment:aa.Fragment,components:a,ignoreInvalidStyle:!0,jsx:aa.jsx,jsxs:aa.jsxs,passKeys:!0,passNode:!0});function h(y,x,S){if(y.type==="raw"&&S&&typeof x=="number")return c?S.children.splice(x,1):S.children[x]={type:"text",value:y.value},x;if(y.type==="element"){let E;for(E in xo)if(Object.hasOwn(xo,E)&&Object.hasOwn(y.properties,E)){let w=y.properties[E],R=xo[E];(R===null||R.includes(y.tagName))&&(y.properties[E]=p(String(w||""),E,y))}}if(y.type==="element"){let E=t?!t.includes(y.tagName):o?o.includes(y.tagName):!1;if(!E&&n&&typeof x=="number"&&(E=!n(y,x,S)),E&&S&&typeof x=="number")return d&&y.children?S.children.splice(x,1,...y.children):S.children.splice(x,1),x}}}function Rk(e){let t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),i=e.indexOf("/");return t<0||i>-1&&t>i||n>-1&&t>n||r>-1&&t>r||eR.test(e.slice(0,t))?e:""}function Vl(){return Vl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Vl.apply(null,arguments)}function di(e){"@babel/helpers - typeof";return di=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},di(e)}function Ik(e,t){if(di(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(di(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Pk(e){var t=Ik(e,"string");return di(t)=="symbol"?t:t+""}function Wl(e,t,n){return(t=Pk(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var _k=X(Ye());function Lk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function oa(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Lk(Object(n),!0).forEach(function(r){Wl(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lk(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function nR(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],"".concat(e[0],".").concat(e[1]),"".concat(e[1],".").concat(e[0])];if(t===3)return[e[0],e[1],e[2],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0])];if(t>=4)return[e[0],e[1],e[2],e[3],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[2],".").concat(e[3]),"".concat(e[3],".").concat(e[0]),"".concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[0]),"".concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[3],".").concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[2],".").concat(e[1],".").concat(e[0])]}var _p={};function rR(e){if(e.length===0||e.length===1)return e;var t=e.join(".");return _p[t]||(_p[t]=nR(e)),_p[t]}function iR(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=e.filter(function(a){return a!=="token"}),i=rR(r);return i.reduce(function(a,o){return oa(oa({},a),n[o])},t)}function Ok(e){return e.join(" ")}function aR(e,t){var n=0;return function(r){return n+=1,r.map(function(i,a){return pi({node:i,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(a)})})}}function pi(e){var t=e.node,n=e.stylesheet,r=e.style,i=r===void 0?{}:r,a=e.useInlineStyles,o=e.key,s=t.properties,l=t.type,u=t.tagName,c=t.value;if(l==="text")return c;if(u){var d=aR(n,a),p;if(!a)p=oa(oa({},s),{},{className:Ok(s.className)});else{var m=Object.keys(n).reduce(function(h,y){return y.split(".").forEach(function(x){h.includes(x)||h.push(x)}),h},[]),f=s.className&&s.className.includes("token")?["token"]:[],b=s.className&&f.concat(s.className.filter(function(h){return!m.includes(h)}));p=oa(oa({},s),{},{className:Ok(b)||void 0,style:iR(s.className,Object.assign({},s.style,i),n)})}var v=d(t.children);return _k.default.createElement(u,Vl({key:o},p),v)}}var zk=X(Fk()),$k=zk.default;var Bk=X(zp()),jk=Bk.default;var qk=X(Hk()),Vk=qk.default;var Gk=X(Kk()),Yk=Gk.default;var Zk=X(Xk()),Jk=Zk.default;var nw=X(tw()),rw=nw.default;var ow=X(aw()),sw=ow.default;var cw=X(uw()),dw=cw.default;var fw=X(mw()),hw=fw.default;var vw=X(yw()),bw=vw.default;var xw=X(ww()),Nw=xw.default;var Ew=X(Gp()),Cw=Ew.default;var Rw=X(Tw()),Iw=Rw.default;var Lw=X(Xp()),Ow=Lw.default;var Fw=X(Dw()),zw=Fw.default;var Bw=X(Mw()),jw=Bw.default;var qw=X(Hw()),Vw=qw.default;var Gw=X(Kw()),Yw=Gw.default;var Xw=X(rm()),Zw=Xw.default;var r0=X(n0()),i0=r0.default;var s0=X(o0()),l0=s0.default;var d0=X(c0()),p0=d0.default;var h0=X(f0()),g0=h0.default;var b0=X(v0()),k0=b0.default;var N0=X(x0()),S0=N0.default;var A0=X(C0()),T0=A0.default;var P0=X(I0()),L0=P0.default;var F0=X(D0()),z0=F0.default;var $0=X(fm()),M0=$0.default;var U0=X(j0()),H0=U0.default;function q0(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function V0(e,t){if(e==null)return{};var n,r,i=q0(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Do(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function W0(e){if(Array.isArray(e))return Do(e)}function K0(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function G0(e,t){if(e){if(typeof e=="string")return Do(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Do(e,t):void 0}}function Y0(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Kl(e){return W0(e)||K0(e)||G0(e)||Y0()}var Pr=X(Ye());var Q0=function(e,t){var n=e.listLanguages();return n.indexOf(t)!==-1};var cR=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function X0(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Lr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?X0(Object(n),!0).forEach(function(r){Wl(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):X0(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var dR=/\\n/g;function pR(e){return e.match(dR)}function mR(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(i,a){var o=a+n;return Pr.default.createElement("span",{key:"line-".concat(a),className:"react-syntax-highlighter-line-number",style:typeof r=="function"?r(o):r},"".concat(o,`\n`))})}function fR(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,i=r===void 0?{float:"left",paddingRight:"10px"}:r,a=e.numberStyle,o=a===void 0?{}:a,s=e.startingLineNumber;return Pr.default.createElement("code",{style:Object.assign({},n,i)},mR({lines:t.replace(/\\n$/,"").split(`\n`),style:o,startingLineNumber:s}))}function hR(e){return"".concat(e.toString().length,".25em")}function Z0(e,t){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(e),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:t},children:[{type:"text",value:e}]}}function J0(e,t,n){var r={display:"inline-block",minWidth:hR(n),paddingRight:"1em",textAlign:"right",userSelect:"none"},i=typeof e=="function"?e(t):e,a=Lr(Lr({},r),i);return a}function Gl(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,i=e.largestLineNumber,a=e.showInlineLineNumbers,o=e.lineProps,s=o===void 0?{}:o,l=e.className,u=l===void 0?[]:l,c=e.showLineNumbers,d=e.wrapLongLines,p=e.wrapLines,m=p===void 0?!1:p,f=m?Lr({},typeof s=="function"?s(n):s):{};if(f.className=f.className?[].concat(Kl(f.className.trim().split(/\\s+/)),Kl(u)):u,n&&a){var b=J0(r,n,i);t.unshift(Z0(n,b))}return d&c&&(f.style=Lr({display:"flex"},f.style)),{type:"element",tagName:"span",properties:f,children:t}}function e1(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],r=0;r<e.length;r++){var i=e[r];if(i.type==="text")n.push(Gl({children:[i],className:Kl(new Set(t))}));else if(i.children){var a=t.concat(i.properties.className);e1(i.children,a).forEach(function(o){return n.push(o)})}}return n}function gR(e,t,n,r,i,a,o,s,l){var u,c=e1(e.value),d=[],p=-1,m=0;function f(E,w){var R=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return Gl({children:E,lineNumber:w,lineNumberStyle:s,largestLineNumber:o,showInlineLineNumbers:i,lineProps:n,className:R,showLineNumbers:r,wrapLongLines:l,wrapLines:t})}function b(E,w){if(r&&w&&i){var R=J0(s,w,o);E.unshift(Z0(w,R))}return E}function v(E,w){var R=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||R.length>0?f(E,w,R):b(E,w)}for(var h=function(){var w=c[m],R=w.children[0].value,P=pR(R);if(P){var F=R.split(`\n`);F.forEach(function(A,Z){var j=r&&d.length+a,z={type:"text",value:"".concat(A,`\n`)};if(Z===0){var V=c.slice(p+1,m).concat(Gl({children:[z],className:w.properties.className})),O=v(V,j);d.push(O)}else if(Z===F.length-1){var K=c[m+1]&&c[m+1].children&&c[m+1].children[0],le={type:"text",value:"".concat(A)};if(K){var q=Gl({children:[le],className:w.properties.className});c.splice(m+1,0,q)}else{var D=[le],g=v(D,j,w.properties.className);d.push(g)}}else{var C=[z],_=v(C,j,w.properties.className);d.push(_)}}),p=m}m++};m<c.length;)h();if(p!==c.length-1){var y=c.slice(p+1,c.length);if(y&&y.length){var x=r&&d.length+a,S=v(y,x);d.push(S)}}return t?d:(u=[]).concat.apply(u,d)}function yR(e){var t=e.rows,n=e.stylesheet,r=e.useInlineStyles;return t.map(function(i,a){return pi({node:i,stylesheet:n,useInlineStyles:r,key:"code-segment-".concat(a)})})}function t1(e){return e&&typeof e.highlightAuto<"u"}function vR(e){var t=e.astGenerator,n=e.language,r=e.code,i=e.defaultCodeValue;if(t1(t)){var a=Q0(t,n);return n==="text"?{value:i,language:"text"}:a?t.highlight(n,r):t.highlightAuto(r)}try{return n&&n!=="text"?{value:t.highlight(r,n)}:{value:i}}catch{return{value:i}}}function n1(e,t){return function(r){var i,a,o=r.language,s=r.children,l=r.style,u=l===void 0?t:l,c=r.customStyle,d=c===void 0?{}:c,p=r.codeTagProps,m=p===void 0?{className:o?"language-".concat(o):void 0,style:Lr(Lr({},u[\'code[class*="language-"]\']),u[\'code[class*="language-\'.concat(o,\'"]\')])}:p,f=r.useInlineStyles,b=f===void 0?!0:f,v=r.showLineNumbers,h=v===void 0?!1:v,y=r.showInlineLineNumbers,x=y===void 0?!0:y,S=r.startingLineNumber,E=S===void 0?1:S,w=r.lineNumberContainerStyle,R=r.lineNumberStyle,P=R===void 0?{}:R,F=r.wrapLines,A=r.wrapLongLines,Z=A===void 0?!1:A,j=r.lineProps,z=j===void 0?{}:j,V=r.renderer,O=r.PreTag,K=O===void 0?"pre":O,le=r.CodeTag,q=le===void 0?"code":le,D=r.code,g=D===void 0?(Array.isArray(s)?s[0]:s)||"":D,C=r.astGenerator,_=V0(r,cR);C=C||e;var N=h?Pr.default.createElement(fR,{containerStyle:w,codeStyle:m.style||{},numberStyle:P,startingLineNumber:E,codeString:g}):null,J=u.hljs||u[\'pre[class*="language-"]\']||{backgroundColor:"#fff"},ve=t1(C)?"hljs":"prismjs",ee=b?Object.assign({},_,{style:Object.assign({},J,d)}):Object.assign({},_,{className:_.className?"".concat(ve," ").concat(_.className):ve,style:Object.assign({},d)});if(Z?m.style=Lr({whiteSpace:"pre-wrap"},m.style):m.style=Lr({whiteSpace:"pre"},m.style),!C)return Pr.default.createElement(K,ee,N,Pr.default.createElement(q,m,g));(F===void 0&&V||Z)&&(F=!0),V=V||yR;var ce=[{type:"text",value:g}],ge=vR({astGenerator:C,language:o,code:g,defaultCodeValue:ce});ge.language===null&&(ge.value=ce);var ft=(i=(a=g.match(/\\n/g))===null||a===void 0?void 0:a.length)!==null&&i!==void 0?i:0,tt=E+ft,en=gR(ge,F,z,h,x,E,tt,P,Z);return Pr.default.createElement(K,ee,Pr.default.createElement(q,m,!x&&N,V({rows:en,stylesheet:u,useInlineStyles:b})))}}var tu=X(Fx()),zm=n1(tu.default,{});zm.registerLanguage=function(e,t){return tu.default.register(t)};zm.alias=function(e,t){return tu.default.alias(e,t)};var da=zm;var Bo={\'pre[class*="language-"]\':{color:"#d4d4d4",fontSize:"13px",textShadow:"none",fontFamily:\'Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace\',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto",background:"#1e1e1e"},\'code[class*="language-"]\':{color:"#d4d4d4",fontSize:"13px",textShadow:"none",fontFamily:\'Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace\',direction:"ltr",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},\'pre[class*="language-"]::selection\':{textShadow:"none",background:"#264F78"},\'code[class*="language-"]::selection\':{textShadow:"none",background:"#264F78"},\'pre[class*="language-"] *::selection\':{textShadow:"none",background:"#264F78"},\'code[class*="language-"] *::selection\':{textShadow:"none",background:"#264F78"},\':not(pre) > code[class*="language-"]\':{padding:".1em .3em",borderRadius:".3em",color:"#db4c69",background:"#1e1e1e"},".namespace":{Opacity:".7"},"doctype.doctype-tag":{color:"#569CD6"},"doctype.name":{color:"#9cdcfe"},comment:{color:"#6a9955"},prolog:{color:"#6a9955"},punctuation:{color:"#d4d4d4"},".language-html .language-css .token.punctuation":{color:"#d4d4d4"},".language-html .language-javascript .token.punctuation":{color:"#d4d4d4"},property:{color:"#9cdcfe"},tag:{color:"#569cd6"},boolean:{color:"#569cd6"},number:{color:"#b5cea8"},constant:{color:"#9cdcfe"},symbol:{color:"#b5cea8"},inserted:{color:"#b5cea8"},unit:{color:"#b5cea8"},selector:{color:"#d7ba7d"},"attr-name":{color:"#9cdcfe"},string:{color:"#ce9178"},char:{color:"#ce9178"},builtin:{color:"#ce9178"},deleted:{color:"#ce9178"},".language-css .token.string.url":{textDecoration:"underline"},operator:{color:"#d4d4d4"},entity:{color:"#569cd6"},"operator.arrow":{color:"#569CD6"},atrule:{color:"#ce9178"},"atrule.rule":{color:"#c586c0"},"atrule.url":{color:"#9cdcfe"},"atrule.url.function":{color:"#dcdcaa"},"atrule.url.punctuation":{color:"#d4d4d4"},keyword:{color:"#569CD6"},"keyword.module":{color:"#c586c0"},"keyword.control-flow":{color:"#c586c0"},function:{color:"#dcdcaa"},"function.maybe-class-name":{color:"#dcdcaa"},regex:{color:"#d16969"},important:{color:"#569cd6"},italic:{fontStyle:"italic"},"class-name":{color:"#4ec9b0"},"maybe-class-name":{color:"#4ec9b0"},console:{color:"#9cdcfe"},parameter:{color:"#9cdcfe"},interpolation:{color:"#9cdcfe"},"punctuation.interpolation-punctuation":{color:"#569cd6"},variable:{color:"#9cdcfe"},"imports.maybe-class-name":{color:"#9cdcfe"},"exports.maybe-class-name":{color:"#9cdcfe"},escape:{color:"#d7ba7d"},"tag.punctuation":{color:"#808080"},cdata:{color:"#808080"},"attr-value":{color:"#ce9178"},"attr-value.punctuation":{color:"#ce9178"},"attr-value.punctuation.attr-equals":{color:"#d4d4d4"},namespace:{color:"#4ec9b0"},\'pre[class*="language-javascript"]\':{color:"#9cdcfe"},\'code[class*="language-javascript"]\':{color:"#9cdcfe"},\'pre[class*="language-jsx"]\':{color:"#9cdcfe"},\'code[class*="language-jsx"]\':{color:"#9cdcfe"},\'pre[class*="language-typescript"]\':{color:"#9cdcfe"},\'code[class*="language-typescript"]\':{color:"#9cdcfe"},\'pre[class*="language-tsx"]\':{color:"#9cdcfe"},\'code[class*="language-tsx"]\':{color:"#9cdcfe"},\'pre[class*="language-css"]\':{color:"#ce9178"},\'code[class*="language-css"]\':{color:"#ce9178"},\'pre[class*="language-html"]\':{color:"#d4d4d4"},\'code[class*="language-html"]\':{color:"#d4d4d4"},".language-regex .token.anchor":{color:"#dcdcaa"},".language-html .token.punctuation":{color:"#808080"},\'pre[class*="language-"] > code[class*="language-"]\':{position:"relative",zIndex:"1"},".line-highlight.line-highlight":{background:"#f7ebc6",boxShadow:"inset 5px 0 0 #f7d87c",zIndex:"0"}};function $m(e,t){let n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function Mm(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,"\\\\$&").replace(/-/g,"\\\\x2d")}function Bm(e,t,n){let i=Ir((n||{}).ignore||[]),a=hP(t),o=-1;for(;++o<a.length;)Lo(e,"text",s);function s(u,c){let d=-1,p;for(;++d<c.length;){let m=c[d],f=p?p.children:void 0;if(i(m,f?f.indexOf(m):void 0,p))return;p=m}if(p)return l(u,c)}function l(u,c){let d=c[c.length-1],p=a[o][0],m=a[o][1],f=0,v=d.children.indexOf(u),h=!1,y=[];p.lastIndex=0;let x=p.exec(u.value);for(;x;){let S=x.index,E={index:x.index,input:x.input,stack:[...c,u]},w=m(...x,E);if(typeof w=="string"&&(w=w.length>0?{type:"text",value:w}:void 0),w===!1?p.lastIndex=S+1:(f!==S&&y.push({type:"text",value:u.value.slice(f,S)}),Array.isArray(w)?y.push(...w):w&&y.push(w),f=S+x[0].length,h=!0),!p.global)break;x=p.exec(u.value)}return h?(f<u.value.length&&y.push({type:"text",value:u.value.slice(f)}),d.children.splice(v,1,...y)):y=[u],v+y.length}}function hP(e){let t=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");let n=!e[0]||Array.isArray(e[0])?e:[e],r=-1;for(;++r<n.length;){let i=n[r];t.push([gP(i[0]),yP(i[1])])}return t}function gP(e){return typeof e=="string"?new RegExp(Mm(e),"g"):e}function yP(e){return typeof e=="function"?e:function(){return e}}var jm="phrasing",Um=["autolink","link","image","label"];function qm(){return{transforms:[NP],enter:{literalAutolink:vP,literalAutolinkEmail:Hm,literalAutolinkHttp:Hm,literalAutolinkWww:Hm},exit:{literalAutolink:xP,literalAutolinkEmail:wP,literalAutolinkHttp:bP,literalAutolinkWww:kP}}}function Vm(){return{unsafe:[{character:"@",before:"[+\\\\-.\\\\w]",after:"[\\\\-.\\\\w]",inConstruct:jm,notInConstruct:Um},{character:".",before:"[Ww]",after:"[\\\\-.\\\\w]",inConstruct:jm,notInConstruct:Um},{character:":",before:"[ps]",after:"\\\\/",inConstruct:jm,notInConstruct:Um}]}}function vP(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function Hm(e){this.config.enter.autolinkProtocol.call(this,e)}function bP(e){this.config.exit.autolinkProtocol.call(this,e)}function kP(e){this.config.exit.data.call(this,e);let t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function wP(e){this.config.exit.autolinkEmail.call(this,e)}function xP(e){this.exit(e)}function NP(e){Bm(e,[[/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi,SP],[/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g,EP]],{ignore:["link","linkReference"]})}function SP(e,t,n,r,i){let a="";if(!zx(i)||(/^w/i.test(t)&&(n=t+n,t="",a="http://"),!CP(n)))return!1;let o=AP(n+r);if(!o[0])return!1;let s={type:"link",title:null,url:a+t+o[0],children:[{type:"text",value:t+o[0]}]};return o[1]?[s,{type:"text",value:o[1]}]:s}function EP(e,t,n,r){return!zx(r,!0)||/[-\\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function CP(e){let t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\\d]/.test(t[t.length-2])))}function AP(e){let t=/[!"&\'),.:;<>?\\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")"),i=$m(e,"("),a=$m(e,")");for(;r!==-1&&i>a;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),a++;return[e,n]}function zx(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||Dn(n)||ii(n))&&(!t||n!==47)}$x.peek=FP;function Wm(){return{enter:{gfmFootnoteDefinition:TP,gfmFootnoteDefinitionLabelString:RP,gfmFootnoteCall:LP,gfmFootnoteCallString:OP},exit:{gfmFootnoteDefinition:PP,gfmFootnoteDefinitionLabelString:IP,gfmFootnoteCall:DP,gfmFootnoteCallString:_P}}}function Km(){return{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:zP,footnoteReference:$x}}}function TP(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function RP(){this.buffer()}function IP(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.label=t,n.identifier=Et(this.sliceSerialize(e)).toLowerCase()}function PP(e){this.exit(e)}function LP(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function OP(){this.buffer()}function _P(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.label=t,n.identifier=Et(this.sliceSerialize(e)).toLowerCase()}function DP(e){this.exit(e)}function $x(e,t,n,r){let i=n.createTracker(r),a=i.move("[^"),o=n.enter("footnoteReference"),s=n.enter("reference");return a+=i.move(n.safe(n.associationId(e),{...i.current(),before:a,after:"]"})),s(),o(),a+=i.move("]"),a}function FP(){return"["}function zP(e,t,n,r){let i=n.createTracker(r),a=i.move("[^"),o=n.enter("footnoteDefinition"),s=n.enter("label");return a+=i.move(n.safe(n.associationId(e),{...i.current(),before:a,after:"]"})),s(),a+=i.move("]:"+(e.children&&e.children.length>0?" ":"")),i.shift(4),a+=i.move(n.indentLines(n.containerFlow(e,i.current()),$P)),o(),a}function $P(e,t,n){return t===0?e:(n?"":" ")+e}var MP=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];Mx.peek=UP;function Gm(){return{canContainEols:["delete"],enter:{strikethrough:BP},exit:{strikethrough:jP}}}function Ym(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:MP}],handlers:{delete:Mx}}}function BP(e){this.enter({type:"delete",children:[]},e)}function jP(e){this.exit(e)}function Mx(e,t,n,r){let i=n.createTracker(r),a=n.enter("strikethrough"),o=i.move("~~");return o+=n.containerPhrasing(e,{...i.current(),before:o,after:"~"}),o+=i.move("~~"),a(),o}function UP(){return"~"}function jx(e,t={}){let n=(t.align||[]).concat(),r=t.stringLength||qP,i=[],a=[],o=[],s=[],l=0,u=-1;for(;++u<e.length;){let f=[],b=[],v=-1;for(e[u].length>l&&(l=e[u].length);++v<e[u].length;){let h=HP(e[u][v]);if(t.alignDelimiters!==!1){let y=r(h);b[v]=y,(s[v]===void 0||y>s[v])&&(s[v]=y)}f.push(h)}a[u]=f,o[u]=b}let c=-1;if(typeof n=="object"&&"length"in n)for(;++c<l;)i[c]=Bx(n[c]);else{let f=Bx(n);for(;++c<l;)i[c]=f}c=-1;let d=[],p=[];for(;++c<l;){let f=i[c],b="",v="";f===99?(b=":",v=":"):f===108?b=":":f===114&&(v=":");let h=t.alignDelimiters===!1?1:Math.max(1,s[c]-b.length-v.length),y=b+"-".repeat(h)+v;t.alignDelimiters!==!1&&(h=b.length+h+v.length,h>s[c]&&(s[c]=h),p[c]=h),d[c]=y}a.splice(1,0,d),o.splice(1,0,p),u=-1;let m=[];for(;++u<a.length;){let f=a[u],b=o[u];c=-1;let v=[];for(;++c<l;){let h=f[c]||"",y="",x="";if(t.alignDelimiters!==!1){let S=s[c]-(b[c]||0),E=i[c];E===114?y=" ".repeat(S):E===99?S%2?(y=" ".repeat(S/2+.5),x=" ".repeat(S/2-.5)):(y=" ".repeat(S/2),x=y):x=" ".repeat(S)}t.delimiterStart!==!1&&!c&&v.push("|"),t.padding!==!1&&!(t.alignDelimiters===!1&&h==="")&&(t.delimiterStart!==!1||c)&&v.push(" "),t.alignDelimiters!==!1&&v.push(y),v.push(h),t.alignDelimiters!==!1&&v.push(x),t.padding!==!1&&v.push(" "),(t.delimiterEnd!==!1||c!==l-1)&&v.push("|")}m.push(t.delimiterEnd===!1?v.join("").replace(/ +$/,""):v.join(""))}return m.join(`\n`)}function HP(e){return e==null?"":String(e)}function qP(e){return e.length}function Bx(e){let t=typeof e=="string"?e.codePointAt(0):0;return t===67||t===99?99:t===76||t===108?108:t===82||t===114?114:0}function Ux(e,t,n,r){let i=n.enter("blockquote"),a=n.createTracker(r);a.move("> "),a.shift(2);let o=n.indentLines(n.containerFlow(e,a.current()),VP);return i(),o}function VP(e,t,n){return">"+(n?"":" ")+e}function qx(e,t){return Hx(e,t.inConstruct,!0)&&!Hx(e,t.notInConstruct,!1)}function Hx(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++r<t.length;)if(e.includes(t[r]))return!0;return!1}function Qm(e,t,n,r){let i=-1;for(;++i<n.unsafe.length;)if(n.unsafe[i].character===`\n`&&qx(n.stack,n.unsafe[i]))return/[ \\t]/.test(r.before)?"":" ";return`\\\\\n`}function Vx(e,t){let n=String(e),r=n.indexOf(t),i=r,a=0,o=0;if(typeof t!="string")throw new TypeError("Expected substring");for(;r!==-1;)r===i?++a>o&&(o=a):a=1,i=r+t.length,r=n.indexOf(t,i);return o}function Wx(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \\r\\n]/.test(e.value)&&!/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(e.value))}function Kx(e){let t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function Gx(e,t,n,r){let i=Kx(n),a=e.value||"",o=i==="`"?"GraveAccent":"Tilde";if(Wx(e,n)){let d=n.enter("codeIndented"),p=n.indentLines(a,WP);return d(),p}let s=n.createTracker(r),l=i.repeat(Math.max(Vx(a,i)+1,3)),u=n.enter("codeFenced"),c=s.move(l);if(e.lang){let d=n.enter(`codeFencedLang${o}`);c+=s.move(n.safe(e.lang,{before:c,after:" ",encode:["`"],...s.current()})),d()}if(e.lang&&e.meta){let d=n.enter(`codeFencedMeta${o}`);c+=s.move(" "),c+=s.move(n.safe(e.meta,{before:c,after:`\n`,encode:["`"],...s.current()})),d()}return c+=s.move(`\n`),a&&(c+=s.move(a+`\n`)),c+=s.move(l),u(),c}function WP(e,t,n){return(n?"":" ")+e}function pa(e){let t=e.options.quote||\'"\';if(t!==\'"\'&&t!=="\'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\\"`, or `\'`");return t}function Yx(e,t,n,r){let i=pa(n),a=i===\'"\'?"Quote":"Apostrophe",o=n.enter("definition"),s=n.enter("label"),l=n.createTracker(r),u=l.move("[");return u+=l.move(n.safe(n.associationId(e),{before:u,after:"]",...l.current()})),u+=l.move("]: "),s(),!e.url||/[\\0- \\u007F]/.test(e.url)?(s=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(s=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":`\n`,...l.current()}))),s(),e.title&&(s=n.enter(`title${a}`),u+=l.move(" "+i),u+=l.move(n.safe(e.title,{before:u,after:i,...l.current()})),u+=l.move(i),s()),o(),u}function Qx(e){let t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}Xm.peek=KP;function Xm(e,t,n,r){let i=Qx(n),a=n.enter("emphasis"),o=n.createTracker(r),s=o.move(i);return s+=o.move(n.containerPhrasing(e,{before:s,after:i,...o.current()})),s+=o.move(i),a(),s}function KP(e,t,n){return n.options.emphasis||"*"}function Xx(e,t){let n=!1;return ui(e,function(r){if("value"in r&&/\\r?\\n|\\r/.test(r.value)||r.type==="break")return n=!0,li}),!!((!e.depth||e.depth<3)&&ni(e)&&(t.options.setext||n))}function Zx(e,t,n,r){let i=Math.max(Math.min(6,e.depth||1),1),a=n.createTracker(r);if(Xx(e,n)){let c=n.enter("headingSetext"),d=n.enter("phrasing"),p=n.containerPhrasing(e,{...a.current(),before:`\n`,after:`\n`});return d(),c(),p+`\n`+(i===1?"=":"-").repeat(p.length-(Math.max(p.lastIndexOf("\\r"),p.lastIndexOf(`\n`))+1))}let o="#".repeat(i),s=n.enter("headingAtx"),l=n.enter("phrasing");a.move(o+" ");let u=n.containerPhrasing(e,{before:"# ",after:`\n`,...a.current()});return/^[\\t ]/.test(u)&&(u="&#x"+u.charCodeAt(0).toString(16).toUpperCase()+";"+u.slice(1)),u=u?o+" "+u:o,n.options.closeAtx&&(u+=" "+o),l(),s(),u}Zm.peek=GP;function Zm(e){return e.value||""}function GP(){return"<"}Jm.peek=YP;function Jm(e,t,n,r){let i=pa(n),a=i===\'"\'?"Quote":"Apostrophe",o=n.enter("image"),s=n.enter("label"),l=n.createTracker(r),u=l.move("![");return u+=l.move(n.safe(e.alt,{before:u,after:"]",...l.current()})),u+=l.move("]("),s(),!e.url&&e.title||/[\\0- \\u007F]/.test(e.url)?(s=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(s=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":")",...l.current()}))),s(),e.title&&(s=n.enter(`title${a}`),u+=l.move(" "+i),u+=l.move(n.safe(e.title,{before:u,after:i,...l.current()})),u+=l.move(i),s()),u+=l.move(")"),o(),u}function YP(){return"!"}ef.peek=QP;function ef(e,t,n,r){let i=e.referenceType,a=n.enter("imageReference"),o=n.enter("label"),s=n.createTracker(r),l=s.move("!["),u=n.safe(e.alt,{before:l,after:"]",...s.current()});l+=s.move(u+"]["),o();let c=n.stack;n.stack=[],o=n.enter("reference");let d=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});return o(),n.stack=c,a(),i==="full"||!u||u!==d?l+=s.move(d+"]"):i==="shortcut"?l=l.slice(0,-1):l+=s.move("]"),l}function QP(){return"!"}tf.peek=XP;function tf(e,t,n){let r=e.value||"",i="`",a=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \\r\\n]/.test(r)&&(/^[ \\r\\n]/.test(r)&&/[ \\r\\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++a<n.unsafe.length;){let o=n.unsafe[a],s=n.compilePattern(o),l;if(o.atBreak)for(;l=s.exec(r);){let u=l.index;r.charCodeAt(u)===10&&r.charCodeAt(u-1)===13&&u--,r=r.slice(0,u)+" "+r.slice(l.index+1)}}return i+r+i}function XP(){return"`"}function nf(e,t){let n=ni(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\\0- <>\\u007F]/.test(e.url))}rf.peek=ZP;function rf(e,t,n,r){let i=pa(n),a=i===\'"\'?"Quote":"Apostrophe",o=n.createTracker(r),s,l;if(nf(e,n)){let c=n.stack;n.stack=[],s=n.enter("autolink");let d=o.move("<");return d+=o.move(n.containerPhrasing(e,{before:d,after:">",...o.current()})),d+=o.move(">"),s(),n.stack=c,d}s=n.enter("link"),l=n.enter("label");let u=o.move("[");return u+=o.move(n.containerPhrasing(e,{before:u,after:"](",...o.current()})),u+=o.move("]("),l(),!e.url&&e.title||/[\\0- \\u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=o.move("<"),u+=o.move(n.safe(e.url,{before:u,after:">",...o.current()})),u+=o.move(">")):(l=n.enter("destinationRaw"),u+=o.move(n.safe(e.url,{before:u,after:e.title?" ":")",...o.current()}))),l(),e.title&&(l=n.enter(`title${a}`),u+=o.move(" "+i),u+=o.move(n.safe(e.title,{before:u,after:i,...o.current()})),u+=o.move(i),l()),u+=o.move(")"),s(),u}function ZP(e,t,n){return nf(e,n)?"<":"["}af.peek=JP;function af(e,t,n,r){let i=e.referenceType,a=n.enter("linkReference"),o=n.enter("label"),s=n.createTracker(r),l=s.move("["),u=n.containerPhrasing(e,{before:l,after:"]",...s.current()});l+=s.move(u+"]["),o();let c=n.stack;n.stack=[],o=n.enter("reference");let d=n.safe(n.associationId(e),{before:l,after:"]",...s.current()});return o(),n.stack=c,a(),i==="full"||!u||u!==d?l+=s.move(d+"]"):i==="shortcut"?l=l.slice(0,-1):l+=s.move("]"),l}function JP(){return"["}function ma(e){let t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function Jx(e){let t=ma(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function eN(e){let t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function nu(e){let t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function tN(e,t,n,r){let i=n.enter("list"),a=n.bulletCurrent,o=e.ordered?eN(n):ma(n),s=e.ordered?o==="."?")":".":Jx(n),l=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!e.ordered){let c=e.children?e.children[0]:void 0;if((o==="*"||o==="-")&&c&&(!c.children||!c.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(l=!0),nu(n)===o&&c){let d=-1;for(;++d<e.children.length;){let p=e.children[d];if(p&&p.type==="listItem"&&p.children&&p.children[0]&&p.children[0].type==="thematicBreak"){l=!0;break}}}}l&&(o=s),n.bulletCurrent=o;let u=n.containerFlow(e,r);return n.bulletLastUsed=o,n.bulletCurrent=a,i(),u}function nN(e){let t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function rN(e,t,n,r){let i=nN(n),a=n.bulletCurrent||ma(n);t&&t.type==="list"&&t.ordered&&(a=(typeof t.start=="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+a);let o=a.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(o=Math.ceil(o/4)*4);let s=n.createTracker(r);s.move(a+" ".repeat(o-a.length)),s.shift(o);let l=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,s.current()),c);return l(),u;function c(d,p,m){return p?(m?"":" ".repeat(o))+d:(m?a:a+" ".repeat(o-a.length))+d}}function iN(e,t,n,r){let i=n.enter("paragraph"),a=n.enter("phrasing"),o=n.containerPhrasing(e,r);return a(),i(),o}var of=Ir(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function aN(e,t,n,r){return(e.children.some(function(o){return of(o)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function oN(e){let t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}sf.peek=eL;function sf(e,t,n,r){let i=oN(n),a=n.enter("strong"),o=n.createTracker(r),s=o.move(i+i);return s+=o.move(n.containerPhrasing(e,{before:s,after:i,...o.current()})),s+=o.move(i+i),a(),s}function eL(e,t,n){return n.options.strong||"*"}function sN(e,t,n,r){return n.safe(e.value,r)}function lN(e){let t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function uN(e,t,n){let r=(nu(n)+(n.options.ruleSpaces?" ":"")).repeat(lN(n));return n.options.ruleSpaces?r.slice(0,-1):r}var jo={blockquote:Ux,break:Qm,code:Gx,definition:Yx,emphasis:Xm,hardBreak:Qm,heading:Zx,html:Zm,image:Jm,imageReference:ef,inlineCode:tf,link:rf,linkReference:af,list:tN,listItem:rN,paragraph:iN,root:aN,strong:sf,text:sN,thematicBreak:uN};function uf(){return{enter:{table:tL,tableData:cN,tableHeader:cN,tableRow:rL},exit:{codeText:iL,table:nL,tableData:lf,tableHeader:lf,tableRow:lf}}}function tL(e){let t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function nL(e){this.exit(e),this.data.inTable=void 0}function rL(e){this.enter({type:"tableRow",children:[]},e)}function lf(e){this.exit(e)}function cN(e){this.enter({type:"tableCell",children:[]},e)}function iL(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\\\([\\\\|])/g,aL));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function aL(e,t){return t==="|"?t:e}function cf(e){let t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,a=n?" ":"|";return{unsafe:[{character:"\\r",inConstruct:"tableCell"},{character:`\n`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:p,table:o,tableCell:l,tableRow:s}};function o(m,f,b,v){return u(c(m,b,v),m.align)}function s(m,f,b,v){let h=d(m,b,v),y=u([h]);return y.slice(0,y.indexOf(`\n`))}function l(m,f,b,v){let h=b.enter("tableCell"),y=b.enter("phrasing"),x=b.containerPhrasing(m,{...v,before:a,after:a});return y(),h(),x}function u(m,f){return jx(m,{align:f,alignDelimiters:r,padding:n,stringLength:i})}function c(m,f,b){let v=m.children,h=-1,y=[],x=f.enter("table");for(;++h<v.length;)y[h]=d(v[h],f,b);return x(),y}function d(m,f,b){let v=m.children,h=-1,y=[],x=f.enter("tableRow");for(;++h<v.length;)y[h]=l(v[h],m,f,b);return x(),y}function p(m,f,b){let v=jo.inlineCode(m,f,b);return b.stack.includes("tableCell")&&(v=v.replace(/\\|/g,"\\\\$&")),v}}function df(){return{exit:{taskListCheckValueChecked:dN,taskListCheckValueUnchecked:dN,paragraph:oL}}}function pf(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:sL}}}function dN(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function oL(e){let t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){let n=this.stack[this.stack.length-1];n.type;let r=n.children[0];if(r&&r.type==="text"){let i=t.children,a=-1,o;for(;++a<i.length;){let s=i[a];if(s.type==="paragraph"){o=s;break}}o===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function sL(e,t,n,r){let i=e.children[0],a=typeof e.checked=="boolean"&&i&&i.type==="paragraph",o="["+(e.checked?"x":" ")+"] ",s=n.createTracker(r);a&&s.move(o);let l=jo.listItem(e,t,n,{...r,...s.current()});return a&&(l=l.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/,u)),l;function u(c){return c+o}}function mf(){return[qm(),Wm(),Gm(),uf(),df()]}function ff(e){return{extensions:[Vm(),Km(),Ym(),cf(e),pf()]}}var lL={tokenize:mL,partial:!0},pN={tokenize:fL,partial:!0},mN={tokenize:hL,partial:!0},fN={tokenize:gL,partial:!0},uL={tokenize:yL,partial:!0},hN={name:"wwwAutolink",tokenize:dL,previous:yN},gN={name:"protocolAutolink",tokenize:pL,previous:vN},tr={name:"emailAutolink",tokenize:cL,previous:bN},zn={};function gf(){return{text:zn}}var hi=48;for(;hi<123;)zn[hi]=tr,hi++,hi===58?hi=65:hi===91&&(hi=97);zn[43]=tr;zn[45]=tr;zn[46]=tr;zn[95]=tr;zn[72]=[tr,gN];zn[104]=[tr,gN];zn[87]=[tr,hN];zn[119]=[tr,hN];function cL(e,t,n){let r=this,i,a;return o;function o(d){return!hf(d)||!bN.call(r,r.previous)||yf(r.events)?n(d):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),s(d))}function s(d){return hf(d)?(e.consume(d),s):d===64?(e.consume(d),l):n(d)}function l(d){return d===46?e.check(uL,c,u)(d):d===45||d===95||Ze(d)?(a=!0,e.consume(d),l):c(d)}function u(d){return e.consume(d),i=!0,l}function c(d){return a&&i&&ct(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(d)):n(d)}}function dL(e,t,n){let r=this;return i;function i(o){return o!==87&&o!==119||!yN.call(r,r.previous)||yf(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(lL,e.attempt(pN,e.attempt(mN,a),n),n)(o))}function a(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function pL(e,t,n){let r=this,i="",a=!1;return o;function o(d){return(d===72||d===104)&&vN.call(r,r.previous)&&!yf(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(d),e.consume(d),s):n(d)}function s(d){if(ct(d)&&i.length<5)return i+=String.fromCodePoint(d),e.consume(d),s;if(d===58){let p=i.toLowerCase();if(p==="http"||p==="https")return e.consume(d),l}return n(d)}function l(d){return d===47?(e.consume(d),a?u:(a=!0,l)):n(d)}function u(d){return d===null||ri(d)||Ae(d)||Dn(d)||ii(d)?n(d):e.attempt(pN,e.attempt(mN,c),n)(d)}function c(d){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(d)}}function mL(e,t,n){let r=0;return i;function i(o){return(o===87||o===119)&&r<3?(r++,e.consume(o),i):o===46&&r===3?(e.consume(o),a):n(o)}function a(o){return o===null?n(o):t(o)}}function fL(e,t,n){let r,i,a;return o;function o(u){return u===46||u===95?e.check(fN,l,s)(u):u===null||Ae(u)||Dn(u)||u!==45&&ii(u)?l(u):(a=!0,e.consume(u),o)}function s(u){return u===95?r=!0:(i=r,r=void 0),e.consume(u),o}function l(u){return i||r||!a?n(u):t(u)}}function hL(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(fN,t,a)(o):o===null||Ae(o)||Dn(o)?t(o):(e.consume(o),i)}function a(o){return o===41&&r++,e.consume(o),i}}function gL(e,t,n){return r;function r(s){return s===33||s===34||s===39||s===41||s===42||s===44||s===46||s===58||s===59||s===63||s===95||s===126?(e.consume(s),r):s===38?(e.consume(s),a):s===93?(e.consume(s),i):s===60||s===null||Ae(s)||Dn(s)?t(s):n(s)}function i(s){return s===null||s===40||s===91||Ae(s)||Dn(s)?t(s):r(s)}function a(s){return ct(s)?o(s):n(s)}function o(s){return s===59?(e.consume(s),r):ct(s)?(e.consume(s),o):n(s)}}function yL(e,t,n){return r;function r(a){return e.consume(a),i}function i(a){return Ze(a)?n(a):t(a)}}function yN(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Ae(e)}function vN(e){return!ct(e)}function bN(e){return!(e===47||hf(e))}function hf(e){return e===43||e===45||e===46||e===95||Ze(e)}function yf(e){let t=e.length,n=!1;for(;t--;){let r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var vL={tokenize:EL,partial:!0};function vf(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:xL,continuation:{tokenize:NL},exit:SL}},text:{91:{name:"gfmFootnoteCall",tokenize:wL},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:bL,resolveTo:kL}}}}function bL(e,t,n){let r=this,i=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let l=r.events[i][1];if(l.type==="labelImage"){o=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return s;function s(l){if(!o||!o._balanced)return n(l);let u=Et(r.sliceSerialize({start:o.end,end:r.now()}));return u.codePointAt(0)!==94||!a.includes(u.slice(1))?n(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function kL(e,t){let n=e.length,r;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){r=e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";let i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},a={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};a.end.column++,a.end.offset++,a.end._bufferIndex++;let o={type:"gfmFootnoteCallString",start:Object.assign({},a.end),end:Object.assign({},e[e.length-1][1].start)},s={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},l=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",a,t],["exit",a,t],["enter",o,t],["enter",s,t],["exit",s,t],["exit",o,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...l),e}function wL(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,o;return s;function s(d){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),l}function l(d){return d!==94?n(d):(e.enter("gfmFootnoteCallMarker"),e.consume(d),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(d){if(a>999||d===93&&!o||d===null||d===91||Ae(d))return n(d);if(d===93){e.exit("chunkString");let p=e.exit("gfmFootnoteCallString");return i.includes(Et(r.sliceSerialize(p)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(d)}return Ae(d)||(o=!0),a++,e.consume(d),d===92?c:u}function c(d){return d===91||d===92||d===93?(e.consume(d),a++,u):u(d)}}function xL(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,o=0,s;return l;function l(f){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(f){return f===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",c):n(f)}function c(f){if(o>999||f===93&&!s||f===null||f===91||Ae(f))return n(f);if(f===93){e.exit("chunkString");let b=e.exit("gfmFootnoteDefinitionLabelString");return a=Et(r.sliceSerialize(b)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p}return Ae(f)||(s=!0),o++,e.consume(f),f===92?d:c}function d(f){return f===91||f===92||f===93?(e.consume(f),o++,c):c(f)}function p(f){return f===58?(e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),i.includes(a)||i.push(a),fe(e,m,"gfmFootnoteDefinitionWhitespace")):n(f)}function m(f){return t(f)}}function NL(e,t,n){return e.check(Fn,t,e.attempt(vL,t,n))}function SL(e){e.exit("gfmFootnoteDefinition")}function EL(e,t,n){let r=this;return fe(e,i,"gfmFootnoteDefinitionIndent",5);function i(a){let o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(a):n(a)}}function bf(e){let n=(e||{}).singleTilde,r={name:"strikethrough",tokenize:a,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(o,s){let l=-1;for(;++l<o.length;)if(o[l][0]==="enter"&&o[l][1].type==="strikethroughSequenceTemporary"&&o[l][1]._close){let u=l;for(;u--;)if(o[u][0]==="exit"&&o[u][1].type==="strikethroughSequenceTemporary"&&o[u][1]._open&&o[l][1].end.offset-o[l][1].start.offset===o[u][1].end.offset-o[u][1].start.offset){o[l][1].type="strikethroughSequence",o[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},o[u][1].start),end:Object.assign({},o[l][1].end)},d={type:"strikethroughText",start:Object.assign({},o[u][1].end),end:Object.assign({},o[l][1].start)},p=[["enter",c,s],["enter",o[u][1],s],["exit",o[u][1],s],["enter",d,s]],m=s.parser.constructs.insideSpan.null;m&&at(p,p.length,0,Tr(m,o.slice(u+1,l),s)),at(p,p.length,0,[["exit",d,s],["enter",o[l][1],s],["exit",o[l][1],s],["exit",c,s]]),at(o,u-1,l-u+3,p),l=u+p.length-2;break}}for(l=-1;++l<o.length;)o[l][1].type==="strikethroughSequenceTemporary"&&(o[l][1].type="data");return o}function a(o,s,l){let u=this.previous,c=this.events,d=0;return p;function p(f){return u===126&&c[c.length-1][1].type!=="characterEscape"?l(f):(o.enter("strikethroughSequenceTemporary"),m(f))}function m(f){let b=ta(u);if(f===126)return d>1?l(f):(o.consume(f),d++,m);if(d<2&&!n)return l(f);let v=o.exit("strikethroughSequenceTemporary"),h=ta(f);return v._open=!h||h===2&&!!b,v._close=!b||b===2&&!!h,s(f)}}}var ru=class{constructor(){this.map=[]}add(t,n,r){CL(this,t,n,r)}consume(t){if(this.map.sort(function(a,o){return a[0]-o[0]}),this.map.length===0)return;let n=this.map.length,r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push([...t]),t.length=0;let i=r.pop();for(;i;)t.push(...i),i=r.pop();this.map.length=0}};function CL(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function kN(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]==="enter")i[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){let a=r.length-1;r[a]=r[a]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function kf(){return{flow:{null:{name:"table",tokenize:AL,resolveAll:TL}}}}function AL(e,t,n){let r=this,i=0,a=0,o;return s;function s(A){let Z=r.events.length-1;for(;Z>-1;){let V=r.events[Z][1].type;if(V==="lineEnding"||V==="linePrefix")Z--;else break}let j=Z>-1?r.events[Z][1].type:null,z=j==="tableHead"||j==="tableRow"?w:l;return z===w&&r.parser.lazy[r.now().line]?n(A):z(A)}function l(A){return e.enter("tableHead"),e.enter("tableRow"),u(A)}function u(A){return A===124||(o=!0,a+=1),c(A)}function c(A){return A===null?n(A):se(A)?a>1?(a=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),m):n(A):he(A)?fe(e,c,"whitespace")(A):(a+=1,o&&(o=!1,i+=1),A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),o=!0,c):(e.enter("data"),d(A)))}function d(A){return A===null||A===124||Ae(A)?(e.exit("data"),c(A)):(e.consume(A),A===92?p:d)}function p(A){return A===92||A===124?(e.consume(A),d):d(A)}function m(A){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(A):(e.enter("tableDelimiterRow"),o=!1,he(A)?fe(e,f,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):f(A))}function f(A){return A===45||A===58?v(A):A===124?(o=!0,e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),b):E(A)}function b(A){return he(A)?fe(e,v,"whitespace")(A):v(A)}function v(A){return A===58?(a+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),h):A===45?(a+=1,h(A)):A===null||se(A)?S(A):E(A)}function h(A){return A===45?(e.enter("tableDelimiterFiller"),y(A)):E(A)}function y(A){return A===45?(e.consume(A),y):A===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(A))}function x(A){return he(A)?fe(e,S,"whitespace")(A):S(A)}function S(A){return A===124?f(A):A===null||se(A)?!o||i!==a?E(A):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(A)):E(A)}function E(A){return n(A)}function w(A){return e.enter("tableRow"),R(A)}function R(A){return A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),R):A===null||se(A)?(e.exit("tableRow"),t(A)):he(A)?fe(e,R,"whitespace")(A):(e.enter("data"),P(A))}function P(A){return A===null||A===124||Ae(A)?(e.exit("data"),R(A)):(e.consume(A),A===92?F:P)}function F(A){return A===92||A===124?(e.consume(A),P):P(A)}}function TL(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,l=0,u,c,d,p=new ru;for(;++n<e.length;){let m=e[n],f=m[1];m[0]==="enter"?f.type==="tableHead"?(s=!1,l!==0&&(wN(p,t,l,u,c),c=void 0,l=0),u={type:"table",start:Object.assign({},f.start),end:Object.assign({},f.end)},p.add(n,0,[["enter",u,t]])):f.type==="tableRow"||f.type==="tableDelimiterRow"?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,c={type:"tableBody",start:Object.assign({},f.start),end:Object.assign({},f.end)},p.add(n,0,[["enter",c,t]])),i=f.type==="tableDelimiterRow"?2:c?3:1):i&&(f.type==="data"||f.type==="tableDelimiterMarker"||f.type==="tableDelimiterFiller")?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=iu(p,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):f.type==="tableCellDivider"&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=iu(p,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):f.type==="tableHead"?(s=!0,l=n):f.type==="tableRow"||f.type==="tableDelimiterRow"?(l=n,a[1]!==0?(o[0]=o[1],d=iu(p,t,a,i,n,d)):o[1]!==0&&(d=iu(p,t,o,i,n,d)),i=0):i&&(f.type==="data"||f.type==="tableDelimiterMarker"||f.type==="tableDelimiterFiller")&&(o[3]=n)}for(l!==0&&wN(p,t,l,u,c),p.consume(t.events),n=-1;++n<t.events.length;){let m=t.events[n];m[0]==="enter"&&m[1].type==="table"&&(m[1]._align=kN(t.events,n))}return e}function iu(e,t,n,r,i,a){let o=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",s="tableContent";n[0]!==0&&(a.end=Object.assign({},fa(t.events,n[0])),e.add(n[0],0,[["exit",a,t]]));let l=fa(t.events,n[1]);if(a={type:o,start:Object.assign({},l),end:Object.assign({},l)},e.add(n[1],0,[["enter",a,t]]),n[2]!==0){let u=fa(t.events,n[2]),c=fa(t.events,n[3]),d={type:s,start:Object.assign({},u),end:Object.assign({},c)};if(e.add(n[2],0,[["enter",d,t]]),r!==2){let p=t.events[n[2]],m=t.events[n[3]];if(p[1].end=Object.assign({},m[1].end),p[1].type="chunkText",p[1].contentType="text",n[3]>n[2]+1){let f=n[2]+1,b=n[3]-n[2]-1;e.add(f,b,[])}}e.add(n[3]+1,0,[["exit",d,t]])}return i!==void 0&&(a.end=Object.assign({},fa(t.events,i)),e.add(i,0,[["exit",a,t]]),a=void 0),a}function wN(e,t,n,r,i){let a=[],o=fa(t.events,n);i&&(i.end=Object.assign({},o),a.push(["exit",i,t])),r.end=Object.assign({},o),a.push(["exit",r,t]),e.add(n+1,0,a)}function fa(e,t){let n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}var RL={name:"tasklistCheck",tokenize:IL};function wf(){return{text:{91:RL}}}function IL(e,t,n){let r=this;return i;function i(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),a)}function a(l){return Ae(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),o):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),o):n(l)}function o(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),s):n(l)}function s(l){return se(l)?t(l):he(l)?e.check({tokenize:PL},t,n)(l):n(l)}}function PL(e,t,n){return fe(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function xN(e){return yl([gf(),vf(),bf(e),kf(),wf()])}var LL={};function au(e){let t=this,n=e||LL,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),a=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(xN(n)),a.push(mf()),o.push(ff(n))}var NN=X(_m()),SN=NN.default;var AN=X(CN()),TN=AN.default;var Se=X(Ce()),LN={bash:$k,c:jk,cpp:Vk,csharp:Yk,css:SN,dart:Jk,diff:rw,docker:sw,go:dw,graphql:hw,ini:bw,java:Nw,javascript:Cw,json:Iw,jsx:Ow,kotlin:zw,lua:jw,makefile:Vw,markdown:Yw,markup:Zw,php:i0,powershell:l0,python:p0,ruby:g0,rust:k0,scss:TN,sql:S0,swift:T0,toml:L0,tsx:z0,typescript:M0,yaml:H0};for(let[e,t]of Object.entries(LN))da.registerLanguage(e,t);da.alias({bash:["sh","shell","zsh","console"],csharp:["cs","c#"],javascript:["js","mjs","cjs"],typescript:["ts","mts","cts"],markup:["html","xml","svg","vue","svelte"],markdown:["md"],python:["py"],ruby:["rb"],rust:["rs"],kotlin:["kt"],yaml:["yml"],docker:["dockerfile"],powershell:["ps1","pwsh"],makefile:["make"],cpp:["c++","cc","hpp"]});var OL=new Set([...Object.keys(LN),"sh","shell","zsh","console","cs","c#","js","mjs","cjs","ts","mts","cts","html","xml","svg","vue","svelte","md","py","rb","rs","kt","yml","dockerfile","ps1","pwsh","make","c++","cc","hpp"]),Nf=e=>{let t=(e??"").trim().toLowerCase();return t&&OL.has(t)?t:"text"},Sf=e=>{let t=e.slice(0,4e3),n=[[/^\\s*<\\?php/m,"php"],[/^\\s*(import\\s+React|export\\s+(default\\s+)?(function|const|class)|const\\s+\\w+\\s*[:=]\\s*\\(?[^)]*\\)?\\s*=>)/m,"tsx"],[/(^|\\n)\\s*(interface|type)\\s+\\w+\\s*(<[^>]*>)?\\s*[={]|:\\s*(string|number|boolean)\\b/,"typescript"],[/^\\s*(def |class \\w+(\\(.*\\))?:|import \\w+|from \\w+ import|if __name__)/m,"python"],[/^\\s*(package \\w+|func (\\(\\w+ \\*?\\w+\\) )?\\w+\\(|import \\(\\n)/m,"go"],[/^\\s*(fn \\w+|let mut |use \\w+::|impl(<.*>)? \\w+|pub (fn|struct|enum))/m,"rust"],[/^\\s*(public|private|protected)\\s+(static\\s+)?(class|void|int|String)\\b/m,"java"],[/^\\s*#include\\s*[<"]/m,"cpp"],[/^\\s*(using System|namespace \\w+;|public (sealed |static )?class)/m,"csharp"],[/^\\s*(require [\'"]|def \\w+.*\\n[\\s\\S]*?\\bend\\b|puts )/m,"ruby"],[/^\\s*(SELECT|INSERT INTO|CREATE TABLE|UPDATE \\w+ SET)\\b/im,"sql"],[/^\\s*(#!\\/bin\\/(ba)?sh|set -e|echo |export \\w+=)/m,"bash"],[/^\\s*(FROM \\w+[:\\w.-]*\\s*$|RUN |COPY |ENTRYPOINT )/m,"docker"],[/^\\s*[{[]\\s*(\\n\\s*"[^"]+"\\s*:)/,"json"],[/^\\s*<(!doctype|html|div|span|template|section)\\b/im,"markup"],[/^\\s*[.#]?[\\w-]+\\s*\\{[^}]*:[^}]*\\}/m,"css"],[/^\\s*\\w[\\w-]*:\\s*(\\S.*)?$/m,"yaml"],[/^\\s*(function\\s+\\w+|const\\s+\\w+\\s*=|let\\s+\\w+\\s*=|module\\.exports|require\\()/m,"javascript"]];for(let[r,i]of n)if(r.test(t))return i;return"text"},ou=e=>e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(ou).join(""):(0,Zt.isValidElement)(e)?ou(e.props.children):Zt.Children.toArray(e).map(ou).join(""),RN=\'pre[class*="language-"]\',IN=\'code[class*="language-"]\',Ef={...Bo,[RN]:{...Bo[RN],background:"transparent",margin:0,padding:0},[IN]:{...Bo[IN],background:"transparent",fontFamily:"inherit",fontSize:"inherit"}},$n=({text:e,label:t="copy"})=>{let[n,r]=(0,Zt.useState)(!1),i=async()=>{try{await navigator.clipboard.writeText(e),r(!0),window.setTimeout(()=>r(!1),1500)}catch{}};return(0,Se.jsx)("button",{type:"button",className:`mini ${n?"on":"ghost"}`,onClick:()=>void i(),"aria-label":n?"Copied":t,children:n?"copied":t})},gi=({code:e,language:t,title:n,extra:r,bare:i,tone:a="plain",className:o,wrap:s})=>{let l=Nf(t),u=e.length===0;return(0,Se.jsxs)("div",{className:`code ${a} ${i?"bare":""} ${o??""}`,children:[!i&&(0,Se.jsxs)("div",{className:"code-bar",children:[(0,Se.jsx)("span",{className:"code-lang",children:n??l}),(0,Se.jsxs)("span",{className:"code-actions",children:[r,!u&&(0,Se.jsx)($n,{text:e})]})]}),u?(0,Se.jsx)("div",{className:"code-empty",children:"empty"}):(0,Se.jsx)(da,{language:l,style:Ef,PreTag:"pre",wrapLongLines:s,children:e})]})},Cf=e=>e.type==="text"?String(e.value??""):(e.children??[]).map(Cf).join(""),PN=e=>Cf(e).length,ON=(e,t,n)=>{if(e.type==="text"){let r=String(e.value??""),i=n.at,a=i+r.length;n.at=a;let o=Math.max(t.start,i),s=Math.min(t.end,a);if(o>=s)return[e];let l=[];return o>i&&l.push({type:"text",value:r.slice(0,o-i)}),l.push({type:"element",tagName:"span",properties:{className:["ins"]},children:[{type:"text",value:r.slice(o-i,s-i)}]}),s<a&&l.push({type:"text",value:r.slice(s-i)}),l}return[{...e,children:(e.children??[]).flatMap(r=>ON(r,t,n))}]},_N=({code:e,language:t,insert:n,startingLineNumber:r=1})=>{let i=Nf(t),a=(0,Zt.useCallback)(({rows:o,stylesheet:s,useInlineStyles:l})=>{let u=0;return o.map((c,d)=>{let p=u,m=p+PN(c);u=m;let f=PN(c),b=p+(String(Cf(c)).endsWith(`\n`)?f-1:f),v=!!n&&n.end>n.start&&(n.end>p&&n.start<b||n.start<=p&&n.end>=m),y=((v&&n?ON(c,n,{at:p})[0]:c).children??[]).map((x,S)=>pi({node:x,stylesheet:s,useInlineStyles:l,key:`${d}-${S}`}));return(0,Se.jsxs)("span",{className:v?"row ins-line":"row",children:[(0,Se.jsx)("span",{className:"ln","aria-hidden":"true",children:r+d}),y]},d)})},[n,r]);return e?(0,Se.jsx)(da,{language:i,style:Ef,PreTag:"pre",wrapLines:!0,renderer:a,children:e}):(0,Se.jsx)("div",{className:"code-empty",children:"empty"})},_L=e=>{let t=[],n=0,r=0;for(let i of e.replace(/\\n$/,"").split(`\n`)){let a=/^@@ -(\\d+)(?:,\\d+)? \\+(\\d+)(?:,\\d+)? @@/.exec(i);a?(n=Number(a[1]),r=Number(a[2]),t.push({kind:"hunk",text:i})):i.startsWith("+")?t.push({kind:"add",text:i.slice(1),newNo:r++}):i.startsWith("-")?t.push({kind:"del",text:i.slice(1),oldNo:n++}):i.startsWith("\\\\")?t.push({kind:"meta",text:i}):t.push({kind:"ctx",text:i.startsWith(" ")?i.slice(1):i,oldNo:n++,newNo:r++})}return t},DN=({patch:e,language:t,title:n,extra:r})=>{let i=Nf(t),a=(0,Zt.useMemo)(()=>_L(e),[e]),o=(0,Zt.useMemo)(()=>a.map(l=>l.kind==="hunk"||l.kind==="meta"?"":l.text).join(`\n`),[a]),s=(0,Zt.useCallback)(({rows:l,stylesheet:u,useInlineStyles:c})=>l.map((d,p)=>{let m=a[p];if(!m)return null;let f=m.kind==="add"?"+":m.kind==="del"?"\\u2212":" ";if(m.kind==="hunk"||m.kind==="meta")return(0,Se.jsxs)("span",{className:`row ${m.kind}-line`,children:[(0,Se.jsx)("span",{className:"ln","aria-hidden":"true"}),(0,Se.jsx)("span",{className:"ln","aria-hidden":"true"}),(0,Se.jsx)("span",{className:"sign","aria-hidden":"true"}),m.text,`\n`]},p);let b=(d.children??[]).map((v,h)=>pi({node:v,stylesheet:u,useInlineStyles:c,key:`${p}-${h}`}));return(0,Se.jsxs)("span",{className:`row ${m.kind}-line`,children:[(0,Se.jsx)("span",{className:"ln","aria-hidden":"true",children:m.oldNo??""}),(0,Se.jsx)("span",{className:"ln","aria-hidden":"true",children:m.newNo??""}),(0,Se.jsx)("span",{className:"sign","aria-hidden":"true",children:f}),b]},p)}),[a]);return(0,Se.jsxs)("div",{className:"code diff-block",children:[(0,Se.jsxs)("div",{className:"code-bar",children:[(0,Se.jsx)("span",{className:"code-lang",children:n??i}),(0,Se.jsxs)("span",{className:"code-actions",children:[r,e&&(0,Se.jsx)($n,{text:e})]})]}),e?(0,Se.jsx)(da,{language:i,style:Ef,PreTag:"pre",wrapLines:!0,renderer:s,children:o}):(0,Se.jsx)("div",{className:"code-empty",children:"no diff"})]})},DL={code({className:e,children:t}){let n=/language-([\\w#+.-]+)/.exec(e??""),r=ou(t);return!n&&!r.includes(`\n`)?(0,Se.jsx)("code",{className:"md-inline",children:t}):(0,Se.jsx)(gi,{code:r.replace(/\\n$/,""),language:n?.[1]})},pre({children:e}){return(0,Se.jsx)(Se.Fragment,{children:e})},a({href:e,children:t}){return(0,Se.jsx)("a",{href:e,target:"_blank",rel:"noreferrer noopener",children:t})},table({children:e}){return(0,Se.jsx)("div",{className:"md-table",children:(0,Se.jsx)("table",{children:e})})}},yi=({text:e,className:t})=>{let n=(0,Zt.useMemo)(()=>[au],[]);return(0,Se.jsx)("div",{className:`md ${t??""}`,children:(0,Se.jsx)(Op,{remarkPlugins:n,components:DL,children:e})})};var U=X(Ce()),FN=({apiKey:e})=>{let t="/twinny/v1/admin/plugins/context/api",[n,r]=(0,At.useState)(null),[i,a]=(0,At.useState)(),[o,s]=(0,At.useState)(),[l,u]=(0,At.useState)(null),[c,d]=(0,At.useState)(null),[p,m]=(0,At.useState)(""),[f,b]=(0,At.useState)(""),[v,h]=(0,At.useState)(""),[y,x]=(0,At.useState)(""),[S,E]=(0,At.useState)(""),[w,R]=(0,At.useState)(null),P=(0,At.useCallback)(async()=>{try{r(await ne(`${t}/`,e)),a(void 0)}catch(O){a(ye(O))}},[e]),F=n?.repos.some(O=>O.syncing)??!1;(0,At.useEffect)(()=>{P();let O=setInterval(()=>{document.visibilityState==="visible"&&P()},F?2e3:3e4);return()=>clearInterval(O)},[P,F]);let A=async(O,K,le)=>{u(O),a(void 0),s(void 0);try{await K(),await P(),le&&s(le)}catch(q){a(ye(q))}finally{u(null)}},Z=O=>{O.preventDefault(),A("add",async()=>{await ne(`${t}/repos`,e,{method:"POST",body:{url:p.trim(),...f.trim()?{name:f.trim()}:{},...v.trim()?{branch:v.trim()}:{},...y.trim()?{token:y.trim()}:{}}}),m(""),b(""),h(""),x("")},"Cloning and indexing; the table shows the progress.")},j=O=>{O.preventDefault(),A("search",async()=>{let K=await ne(`${t}/search`,e,{method:"POST",body:{query:S,k:8}});R(K.hits)})};if(!n)return i?(0,U.jsx)("div",{className:"error-bar",children:i}):(0,U.jsx)(_n,{tiles:3,rows:3,title:(0,U.jsxs)("h2",{className:"plugin-name",children:[(0,U.jsx)(it,{id:"context",size:22}),"Shared context"]})});let z=n.repos.reduce((O,K)=>O+(K.index?.chunks??0),0),V=n.repos.reduce((O,K)=>O+(K.index?.files??0),0);return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)("div",{className:"page-title",children:[(0,U.jsxs)("h2",{className:"plugin-name",children:[(0,U.jsx)(it,{id:"context",size:22}),"Shared context"]}),(0,U.jsx)("p",{children:"One index of your repositories, on this gateway, that every connected chat can draw on."})]}),o&&(0,U.jsx)("div",{className:"success-bar",children:o}),i&&(0,U.jsx)("div",{className:"error-bar",children:i}),(0,U.jsxs)("div",{className:"tiles",children:[(0,U.jsxs)("div",{className:"tile",children:[(0,U.jsx)("div",{className:"label",children:"repositories"}),(0,U.jsx)("div",{className:"value",children:$(n.repos.length)})]}),(0,U.jsxs)("div",{className:"tile",children:[(0,U.jsx)("div",{className:"label",children:"files indexed"}),(0,U.jsx)("div",{className:"value",children:$(V)})]}),(0,U.jsxs)("div",{className:"tile",children:[(0,U.jsx)("div",{className:"label",children:"chunks"}),(0,U.jsx)("div",{className:"value",children:$(z)})]}),(0,U.jsxs)("div",{className:`tile ${n.alias?"":"bad"}`,children:[(0,U.jsx)("div",{className:"label",children:"embeddings model"}),(0,U.jsx)("div",{className:"value",children:n.alias??"none served"})]})]}),(0,U.jsxs)("section",{className:"panel",children:[(0,U.jsxs)("div",{className:"section-heading",children:[(0,U.jsxs)("h2",{children:["Repositories",(0,U.jsx)("span",{className:"count",children:$(n.repos.length)})]}),(0,U.jsxs)("span",{className:"muted",children:["re-indexed every ",$(n.intervalMinutes)," min while the models are idle"]})]}),n.repos.length===0?(0,U.jsx)("div",{className:"empty",children:"Nothing indexed yet. Add a repository below."}):(0,U.jsx)("div",{className:"scroll",children:(0,U.jsxs)("table",{children:[(0,U.jsx)("thead",{children:(0,U.jsxs)("tr",{children:[(0,U.jsx)("th",{children:"repository"}),(0,U.jsx)("th",{children:"branch"}),(0,U.jsx)("th",{children:"files"}),(0,U.jsx)("th",{children:"chunks"}),(0,U.jsx)("th",{children:"indexed"}),(0,U.jsx)("th",{})]})}),(0,U.jsx)("tbody",{children:n.repos.map(O=>(0,U.jsxs)("tr",{className:O.error?"repo-error":"",children:[(0,U.jsxs)("td",{children:[(0,U.jsx)("div",{className:"entity-name",children:O.name}),(0,U.jsxs)("div",{className:"key-id muted",children:[O.url.replace(/\\/\\/[^@]+@/,"//"),O.tokenSet&&(0,U.jsx)("span",{className:"tag",children:"token"})]}),O.error&&(0,U.jsx)("div",{className:"repo-problem",children:O.error}),O.syncing&&(0,U.jsxs)("div",{className:"sync-progress","aria-live":"polite",children:[(0,U.jsx)("span",{className:"meter",style:{width:160},children:(0,U.jsx)("span",{className:`meter-fill ${O.progress?.total?"":"indeterminate"}`,style:{width:O.progress?.total?`${Math.round(O.progress.done/O.progress.total*100)}%`:"40%"}})}),(0,U.jsx)("span",{className:"muted",children:O.progress?O.progress.phase==="embedding"?`embedding ${$(O.progress.done)} of ${$(O.progress.total)} chunks`:`${O.progress.phase}\\u2026`:"starting\\u2026"})]})]}),(0,U.jsx)("td",{className:"muted",children:O.branch??"default"}),(0,U.jsx)("td",{children:O.index?$(O.index.files):"\\u2013"}),(0,U.jsx)("td",{children:O.index?$(O.index.chunks):"\\u2013"}),(0,U.jsx)("td",{className:"muted",title:O.index?.commit,children:O.syncing?(0,U.jsx)("span",{className:"pill-s warn",children:"indexing"}):O.index?.updatedAt?Oe(O.index.updatedAt):"never"}),(0,U.jsxs)("td",{className:"actions",children:[(0,U.jsx)("button",{type:"button",className:"ghost mini",disabled:l!==null||O.syncing,onClick:()=>void A(`sync:${O.id}`,()=>ne(`${t}/repos/${O.id}/sync`,e,{method:"POST"})),children:l===`sync:${O.id}`?"\\u2026":"sync"})," ",c===O.id?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)("button",{type:"button",className:"danger mini",disabled:l!==null,onClick:()=>void A(`remove:${O.id}`,()=>ne(`${t}/repos/${O.id}`,e,{method:"DELETE"}).then(()=>d(null))),children:"remove"})," ",(0,U.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>d(null),children:"keep"})]}):(0,U.jsx)("button",{type:"button",className:"ghost mini",disabled:l!==null,onClick:()=>d(O.id),children:"remove"})]})]},O.id))})]})}),(0,U.jsxs)("form",{className:"create-form",onSubmit:Z,children:[(0,U.jsxs)("div",{className:"config-fields",children:[(0,U.jsxs)("label",{className:"config-field",children:[(0,U.jsx)("span",{children:"clone URL"}),(0,U.jsx)("input",{value:p,onChange:O=>m(O.target.value),placeholder:"https://github.com/acme/widgets.git",spellCheck:!1,disabled:l!==null})]}),(0,U.jsxs)("label",{className:"config-field",children:[(0,U.jsx)("span",{children:"name (optional)"}),(0,U.jsx)("input",{value:f,onChange:O=>b(O.target.value),placeholder:"acme/widgets",spellCheck:!1,disabled:l!==null})]}),(0,U.jsxs)("label",{className:"config-field",children:[(0,U.jsx)("span",{children:"branch (optional; the default branch otherwise)"}),(0,U.jsx)("input",{value:v,onChange:O=>h(O.target.value),placeholder:"main",spellCheck:!1,disabled:l!==null})]}),(0,U.jsxs)("label",{className:"config-field",children:[(0,U.jsx)("span",{children:"token for a private https clone (optional; user:token or a token)"}),(0,U.jsx)("input",{type:"password",value:y,onChange:O=>x(O.target.value),autoComplete:"off",disabled:l!==null})]})]}),(0,U.jsxs)("div",{className:"row-actions",children:[(0,U.jsx)("button",{type:"submit",className:"primary",disabled:l!==null||!p.trim()||!n.alias,children:l==="add"?"\\u2026":"add repository"}),(0,U.jsx)("span",{className:"muted",children:"Cloned shallow onto this server and re-indexed on the interval; only changed files are embedded again. Tokens are kept on the server and never shown."})]})]})]}),(0,U.jsxs)("section",{className:"panel",children:[(0,U.jsx)("div",{className:"section-heading",children:(0,U.jsx)("h2",{children:"Model and schedule"})}),(0,U.jsxs)("div",{className:"newkey",children:[(0,U.jsxs)("label",{children:[(0,U.jsx)("span",{className:"muted",children:"embeddings model"}),(0,U.jsxs)("select",{value:n.alias??"",disabled:l!==null||n.aliases.length===0,onChange:O=>void A("alias",()=>ne(`${t}/settings`,e,{method:"PUT",body:{alias:O.target.value}}),"Saved. Repositories are re-embedded on their next sync."),children:[n.aliases.length===0&&(0,U.jsx)("option",{value:"",children:"no embeddings alias is served"}),n.aliases.map(O=>(0,U.jsx)("option",{value:O,children:O},O))]})]}),(0,U.jsxs)("label",{children:[(0,U.jsx)("span",{className:"muted",children:"re-index every (minutes)"}),(0,U.jsx)("input",{inputMode:"numeric",defaultValue:n.intervalMinutes,disabled:l!==null,onBlur:O=>Number(O.target.value)!==n.intervalMinutes&&void A("interval",()=>ne(`${t}/settings`,e,{method:"PUT",body:{intervalMinutes:Number(O.target.value)}}),"Interval saved."),style:{width:90}})]}),(0,U.jsx)("span",{className:"muted",children:`Developers connected to this team get hits from here in their chats\' "relevant code" alongside their own workspace.`})]})]}),(0,U.jsxs)("section",{className:"panel",children:[(0,U.jsxs)("div",{className:"section-heading",children:[(0,U.jsx)("h2",{children:"Try a search"}),(0,U.jsx)("span",{className:"muted",children:"what a developer\'s chat would pull in"})]}),(0,U.jsxs)("form",{className:"newkey",onSubmit:j,children:[(0,U.jsx)("input",{value:S,onChange:O=>E(O.target.value),placeholder:"where do we validate the licence token?",disabled:l!==null}),(0,U.jsx)("button",{type:"submit",disabled:l!==null||!S.trim()||!n.alias,children:l==="search"?"\\u2026":"search"})]}),w&&w.length===0&&(0,U.jsx)("div",{className:"empty",children:"Nothing matched."}),w&&w.length>0&&(0,U.jsx)("div",{className:"turns",children:w.map((O,K)=>(0,U.jsx)(gi,{code:O.text,language:O.path.slice(O.path.lastIndexOf(".")+1),title:(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)("b",{children:O.repo})," ",O.path,":",O.startLine,"-",O.endLine," ",(0,U.jsxs)("span",{className:"muted",children:["score ",O.score]})]})},`${O.repo}:${O.path}:${O.startLine}-${K}`))})]})]})};var qt=X(Ye());var W=X(Ce()),FL={slack:"Slack",discord:"Discord",teams:"Microsoft Teams"},zL={slack:"In Slack: Apps \\u2192 Incoming Webhooks \\u2192 add to a channel, copy the URL. Mattermost: Integrations \\u2192 Incoming Webhooks.",discord:"In Discord: Server settings \\u2192 Integrations \\u2192 Webhooks \\u2192 New webhook, pick the channel, copy the URL.",teams:`In Teams: the channel\'s \\u22EF \\u2192 Workflows \\u2192 "Post to a channel when a webhook request is received", copy the URL. An older Incoming Webhook connector works too.`},$L=({kinds:e,value:t,onChange:n,disabled:r})=>(0,W.jsx)("div",{className:"event-picker",children:e.map(i=>{let a=t.includes(i.type);return(0,W.jsxs)("label",{className:`policy-option ${a?"on":""}`,title:i.description,children:[(0,W.jsx)("input",{type:"checkbox",checked:a,disabled:r,onChange:o=>n(o.target.checked?[...t,i.type]:t.filter(s=>s!==i.type))}),(0,W.jsxs)("span",{children:[(0,W.jsx)("b",{children:i.label}),(0,W.jsx)("small",{children:i.description})]})]},i.type)})}),zN=({host:e,apiKey:t})=>{let n=`/twinny/v1/admin/plugins/${e}/api`,r=FL[e],[i,a]=(0,qt.useState)(null),[o,s]=(0,qt.useState)(),[l,u]=(0,qt.useState)(),[c,d]=(0,qt.useState)(null),[p,m]=(0,qt.useState)(null),[f,b]=(0,qt.useState)(null),[v,h]=(0,qt.useState)(""),[y,x]=(0,qt.useState)(""),[S,E]=(0,qt.useState)([]),w=(0,qt.useCallback)(async()=>{try{let z=await ne(`${n}/`,t);return a(z),s(void 0),z}catch(z){return s(ye(z)),null}},[t]);(0,qt.useEffect)(()=>{w().then(V=>{V&&S.length===0&&f===null&&E(V.kinds.map(O=>O.type))});let z=setInterval(()=>{document.visibilityState==="visible"&&w()},3e4);return()=>clearInterval(z)},[w]);let R=async(z,V,O)=>{d(z),s(void 0),u(void 0);try{await V(),await w(),O&&u(O)}catch(K){s(ye(K))}finally{d(null)}},P=z=>{b(null),h(""),x(""),E(z.map(V=>V.type))},F=z=>{z.preventDefault(),i&&(f?R("save",()=>ne(`${n}/webhooks/${f}`,t,{method:"PUT",body:{name:v,...y.trim()?{url:y}:{},events:S}}).then(()=>P(i.kinds)),"Webhook saved."):R("save",()=>ne(`${n}/webhooks`,t,{method:"POST",body:{name:v,url:y,events:S}}).then(()=>P(i.kinds)),"Webhook added. Send a test to see it in the channel."))};if(!i)return o?(0,W.jsx)("div",{className:"error-bar",children:o}):(0,W.jsx)(_n,{tiles:4,rows:3,title:(0,W.jsxs)("h2",{className:"plugin-name",children:[(0,W.jsx)(it,{id:e,size:22}),r]})});let A=i.deliveries.filter(z=>!z.ok).length,Z=z=>i.kinds.find(V=>V.type===z)?.label??z,j=i.backends.filter(z=>!z.ok);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)("div",{className:"page-title",children:[(0,W.jsxs)("h2",{className:"plugin-name",children:[(0,W.jsx)(it,{id:e,size:22}),r]}),(0,W.jsx)("p",{children:"Reviews, new pulls, failing checks, backups and backend outages, posted to the channels you choose."})]}),l&&(0,W.jsx)("div",{className:"success-bar",children:l}),o&&(0,W.jsx)("div",{className:"error-bar",children:o}),(0,W.jsxs)("div",{className:"tiles",children:[(0,W.jsxs)("div",{className:"tile",children:[(0,W.jsx)("div",{className:"label",children:"webhooks"}),(0,W.jsx)("div",{className:"value",children:$(i.webhooks.length)})]}),(0,W.jsxs)("div",{className:"tile",children:[(0,W.jsx)("div",{className:"label",children:"sent recently"}),(0,W.jsx)("div",{className:"value",children:$(i.deliveries.length)})]}),(0,W.jsxs)("div",{className:`tile ${A?"bad":""}`,children:[(0,W.jsx)("div",{className:"label",children:"failed"}),(0,W.jsx)("div",{className:"value",children:$(A)})]}),(0,W.jsxs)("div",{className:`tile ${j.length?"bad":""}`,children:[(0,W.jsx)("div",{className:"label",children:"backends watched"}),(0,W.jsxs)("div",{className:"value",children:[i.health?$(i.backends.length):"\\u2013",j.length>0&&(0,W.jsxs)("small",{children:[j.map(z=>z.provider).join(", ")," down"]})]})]})]}),(0,W.jsxs)("section",{className:"panel",children:[(0,W.jsx)("div",{className:"section-heading",children:(0,W.jsxs)("h2",{children:["Webhooks",(0,W.jsx)("span",{className:"count",children:$(i.webhooks.length)})]})}),i.webhooks.length===0?(0,W.jsx)("div",{className:"empty",children:"No channel yet. Add one below with an incoming webhook URL."}):(0,W.jsx)("div",{className:"scroll",children:(0,W.jsxs)("table",{children:[(0,W.jsx)("thead",{children:(0,W.jsxs)("tr",{children:[(0,W.jsx)("th",{children:"channel"}),(0,W.jsx)("th",{children:"sends"}),(0,W.jsx)("th",{children:"to"}),(0,W.jsx)("th",{})]})}),(0,W.jsx)("tbody",{children:i.webhooks.map(z=>(0,W.jsxs)("tr",{children:[(0,W.jsx)("td",{className:"entity-name",children:z.name}),(0,W.jsx)("td",{children:z.events.length===i.kinds.length?(0,W.jsx)("span",{className:"muted",children:"everything"}):z.events.length===0?(0,W.jsx)("span",{className:"muted",children:"nothing"}):z.events.map(V=>(0,W.jsx)("span",{className:"tag",children:Z(V)},V))}),(0,W.jsx)("td",{className:"muted",children:z.host}),(0,W.jsxs)("td",{className:"actions",children:[(0,W.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>void R(`test:${z.id}`,()=>ne(`${n}/webhooks/${z.id}/test`,t,{method:"POST"}),`Sent a test to ${z.name}.`),children:c===`test:${z.id}`?"\\u2026":"test"})," ",(0,W.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>{b(z.id),h(z.name),x(""),E(z.events)},children:"edit"})," ",p===z.id?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("button",{type:"button",className:"danger mini",disabled:c!==null,onClick:()=>void R(`remove:${z.id}`,()=>ne(`${n}/webhooks/${z.id}`,t,{method:"DELETE"}).then(()=>m(null))),children:"remove"})," ",(0,W.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>m(null),children:"keep"})]}):(0,W.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>m(z.id),children:"remove"})]})]},z.id))})]})}),(0,W.jsxs)("form",{className:"create-form",onSubmit:F,children:[(0,W.jsxs)("div",{className:"config-fields",children:[(0,W.jsxs)("label",{className:"config-field",children:[(0,W.jsx)("span",{children:"channel name"}),(0,W.jsx)("input",{value:v,onChange:z=>h(z.target.value),placeholder:e==="discord"?"#deploys":"#eng-reviews",disabled:c!==null})]}),(0,W.jsxs)("label",{className:"config-field",children:[(0,W.jsxs)("span",{children:["incoming webhook URL ",f&&(0,W.jsx)("em",{className:"muted",children:"(leave blank to keep)"})]}),(0,W.jsx)("input",{type:"password",value:y,onChange:z=>x(z.target.value),placeholder:i.urlExample,disabled:c!==null,autoComplete:"off",spellCheck:!1})]})]}),(0,W.jsx)($L,{kinds:i.kinds,value:S,onChange:E,disabled:c!==null}),(0,W.jsxs)("div",{className:"row-actions",children:[(0,W.jsx)("button",{type:"submit",className:"primary",disabled:c!==null||!v.trim()||!f&&!y.trim(),children:c==="save"?"\\u2026":f?"save webhook":"add webhook"}),f&&(0,W.jsx)("button",{type:"button",className:"ghost",onClick:()=>P(i.kinds),children:"cancel"}),(0,W.jsxs)("span",{className:"muted",children:[zL[e]," The URL is kept on this server and never shown again."]})]})]})]}),(0,W.jsxs)("section",{className:"panel",children:[(0,W.jsx)("div",{className:"section-heading",children:(0,W.jsxs)("h2",{children:["Recent deliveries",(0,W.jsx)("span",{className:"count",children:$(i.deliveries.length)})]})}),i.deliveries.length===0?(0,W.jsx)("div",{className:"empty",children:"Nothing sent yet."}):(0,W.jsx)("div",{className:"scroll",children:(0,W.jsxs)("table",{children:[(0,W.jsx)("thead",{children:(0,W.jsxs)("tr",{children:[(0,W.jsx)("th",{children:"when"}),(0,W.jsx)("th",{children:"channel"}),(0,W.jsx)("th",{children:"event"}),(0,W.jsx)("th",{children:"message"}),(0,W.jsx)("th",{children:"result"})]})}),(0,W.jsx)("tbody",{children:i.deliveries.map((z,V)=>(0,W.jsxs)("tr",{children:[(0,W.jsx)("td",{className:"muted",title:z.at,children:Oe(z.at)}),(0,W.jsx)("td",{children:z.webhook}),(0,W.jsx)("td",{children:(0,W.jsx)("span",{className:"tag",children:Z(z.event)})}),(0,W.jsx)("td",{children:z.title}),(0,W.jsx)("td",{children:(0,W.jsx)("span",{className:`pill-s ${z.ok?"ok":"bad"}`,title:z.error,children:z.ok?`sent in ${$(z.ms)} ms`:z.error??"failed"})})]},`${z.at}-${V}`))})]})})]})]})};var Sn=X(Ye());var G=X(Ce()),$N=({apiKey:e})=>{let t="/twinny/v1/admin/plugins/oidc/api",[n,r]=(0,Sn.useState)(null),[i,a]=(0,Sn.useState)(),[o,s]=(0,Sn.useState)(),[l,u]=(0,Sn.useState)(null),[c,d]=(0,Sn.useState)({issuer:"",clientId:"",clientSecret:"",scopes:"",allowedDomains:"",adminEmails:"",publicUrl:"",nameClaim:"email"}),p=(0,Sn.useCallback)(S=>{d({issuer:S.issuer,clientId:S.clientId,clientSecret:"",scopes:S.scopes,allowedDomains:S.allowedDomains.join(", "),adminEmails:S.adminEmails.join(", "),publicUrl:S.publicUrl,nameClaim:S.nameClaim})},[]),m=(0,Sn.useCallback)(async()=>{try{let S=await ne(`${t}/`,e);return r(S),a(void 0),S}catch(S){return a(ye(S)),null}},[e]);(0,Sn.useEffect)(()=>{m().then(S=>S&&p(S.settings))},[m,p]);let f=async(S,E,w)=>{u(S),a(void 0),s(void 0);try{await E();let R=await m();R&&S==="save"&&p(R.settings),w&&s(w)}catch(R){a(ye(R))}finally{u(null)}},b=S=>{S.preventDefault(),f("save",()=>ne(`${t}/settings`,e,{method:"PUT",body:{...c,...c.clientSecret?{}:{clientSecret:void 0}}}),"Settings saved.")};if(!n)return i?(0,G.jsx)("div",{className:"error-bar",children:i}):(0,G.jsx)(_n,{tiles:3,rows:3,title:(0,G.jsxs)("h2",{className:"plugin-name",children:[(0,G.jsx)(it,{id:"oidc",size:22}),"SSO sign-in"]})});let v=n.settings.publicUrl||window.location.origin,h=`${v}${n.startPath}`,y=`${v}${n.callbackPath}`,x=n.signIns.filter(S=>!S.ok).length;return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)("div",{className:"page-title",children:[(0,G.jsxs)("h2",{className:"plugin-name",children:[(0,G.jsx)(it,{id:"oidc",size:22}),"SSO sign-in"]}),(0,G.jsx)("p",{children:"Developers sign in with your identity provider and VS Code connects with a key of their own."})]}),o&&(0,G.jsx)("div",{className:"success-bar",children:o}),i&&(0,G.jsx)("div",{className:"error-bar",children:i}),(0,G.jsxs)("div",{className:"tiles",children:[(0,G.jsxs)("div",{className:`tile ${n.configured&&n.discovery?"":"bad"}`,children:[(0,G.jsx)("div",{className:"label",children:"provider"}),(0,G.jsx)("div",{className:"value",children:n.configured?n.discovery?"reachable":"unreachable":"not set up"})]}),(0,G.jsxs)("div",{className:"tile",children:[(0,G.jsx)("div",{className:"label",children:"sign-ins (recent)"}),(0,G.jsx)("div",{className:"value",children:$(n.signIns.length)})]}),(0,G.jsxs)("div",{className:`tile ${x?"bad":""}`,children:[(0,G.jsx)("div",{className:"label",children:"refused"}),(0,G.jsx)("div",{className:"value",children:$(x)})]})]}),n.discoveryError&&(0,G.jsx)("div",{className:"error-bar",children:n.discoveryError}),n.configured&&n.discovery&&(0,G.jsxs)("section",{className:"panel",children:[(0,G.jsxs)("div",{className:"section-heading",children:[(0,G.jsx)("h2",{children:"Sign-in link"}),(0,G.jsx)("span",{className:"muted",children:"give this to developers, or put it on your wiki"})]}),(0,G.jsxs)("div",{className:"created",children:[(0,G.jsx)("code",{className:"secret",children:h}),(0,G.jsxs)("div",{className:"row",children:[(0,G.jsx)($n,{text:h,label:"copy link"}),(0,G.jsx)("a",{className:"button",href:h,target:"_blank",rel:"noreferrer",children:"try it"})]})]}),(0,G.jsxs)("div",{className:"hint",children:["Register ",(0,G.jsx)("code",{children:y})," as the redirect URI at the provider. Each sign-in mints a fresh key for the person\'s email and revokes the previous one, so it also works to recover a lost key."]})]}),(0,G.jsxs)("form",{className:"panel",onSubmit:b,children:[(0,G.jsxs)("div",{className:"section-heading",children:[(0,G.jsx)("h2",{children:"Identity provider"}),(0,G.jsx)("span",{className:`pill-s ${n.discovery?"ok":""}`,children:n.discovery?n.discovery.issuer:"OpenID Connect"})]}),(0,G.jsxs)("div",{className:"config-fields",children:[(0,G.jsxs)("label",{className:"config-field",children:[(0,G.jsx)("span",{children:"issuer URL (has /.well-known/openid-configuration)"}),(0,G.jsx)("input",{value:c.issuer,onChange:S=>d({...c,issuer:S.target.value}),placeholder:"https://login.microsoftonline.com/<tenant>/v2.0",spellCheck:!1})]}),(0,G.jsxs)("label",{className:"config-field",children:[(0,G.jsx)("span",{children:"client id"}),(0,G.jsx)("input",{value:c.clientId,onChange:S=>d({...c,clientId:S.target.value}),spellCheck:!1,autoComplete:"off"})]}),(0,G.jsxs)("label",{className:"config-field",children:[(0,G.jsxs)("span",{children:["client secret ",n.settings.clientSecretSet&&(0,G.jsx)("em",{className:"muted",children:"(set; leave blank to keep)"})]}),(0,G.jsx)("input",{type:"password",value:c.clientSecret,onChange:S=>d({...c,clientSecret:S.target.value}),autoComplete:"new-password"})]}),(0,G.jsxs)("label",{className:"config-field",children:[(0,G.jsx)("span",{children:"scopes"}),(0,G.jsx)("input",{value:c.scopes,onChange:S=>d({...c,scopes:S.target.value}),placeholder:"openid email profile",spellCheck:!1})]}),(0,G.jsxs)("label",{className:"config-field",children:[(0,G.jsx)("span",{children:"allowed email domains (comma-separated; blank: anyone the provider vouches for)"}),(0,G.jsx)("input",{value:c.allowedDomains,onChange:S=>d({...c,allowedDomains:S.target.value}),placeholder:"example.com, example.co.uk",spellCheck:!1})]}),(0,G.jsxs)("label",{className:"config-field",children:[(0,G.jsx)("span",{children:"admin emails (get an admin key)"}),(0,G.jsx)("input",{value:c.adminEmails,onChange:S=>d({...c,adminEmails:S.target.value}),placeholder:"you@example.com",spellCheck:!1})]}),(0,G.jsxs)("label",{className:"config-field",children:[(0,G.jsx)("span",{children:"public URL of this gateway (blank: taken from the request)"}),(0,G.jsx)("input",{value:c.publicUrl,onChange:S=>d({...c,publicUrl:S.target.value}),placeholder:window.location.origin,spellCheck:!1})]}),(0,G.jsxs)("label",{className:"config-field",children:[(0,G.jsx)("span",{children:"claim that names the key"}),(0,G.jsxs)("select",{value:c.nameClaim,onChange:S=>d({...c,nameClaim:S.target.value}),children:[(0,G.jsx)("option",{value:"email",children:"email"}),(0,G.jsx)("option",{value:"preferred_username",children:"preferred_username"}),(0,G.jsx)("option",{value:"upn",children:"upn"})]})]})]}),(0,G.jsxs)("div",{className:"row-actions",style:{marginTop:16},children:[(0,G.jsx)("button",{type:"submit",className:"primary",disabled:l!==null,children:l==="save"?"\\u2026":"save"}),(0,G.jsx)("button",{type:"button",className:"ghost",disabled:l!==null||!n.configured,onClick:()=>void f("check",()=>ne(`${t}/check`,e,{method:"POST"}),"The provider answered: discovery and keys read."),children:l==="check"?"\\u2026":"test provider"}),(0,G.jsx)("span",{className:"muted",children:"Make a confidential web application at the provider with the redirect URI above; grant it the openid, email and profile scopes. Secrets stay on this server."})]})]}),(0,G.jsxs)("section",{className:"panel",children:[(0,G.jsx)("div",{className:"section-heading",children:(0,G.jsxs)("h2",{children:["Recent sign-ins",(0,G.jsx)("span",{className:"count",children:$(n.signIns.length)})]})}),n.signIns.length===0?(0,G.jsx)("div",{className:"empty",children:"Nobody has signed in yet."}):(0,G.jsx)("div",{className:"scroll",children:(0,G.jsxs)("table",{children:[(0,G.jsx)("thead",{children:(0,G.jsxs)("tr",{children:[(0,G.jsx)("th",{children:"when"}),(0,G.jsx)("th",{children:"who"}),(0,G.jsx)("th",{children:"result"}),(0,G.jsx)("th",{children:"from"})]})}),(0,G.jsx)("tbody",{children:n.signIns.map((S,E)=>(0,G.jsxs)("tr",{children:[(0,G.jsx)("td",{className:"muted",title:S.at,children:Oe(S.at)}),(0,G.jsxs)("td",{className:"entity-name",children:[S.name,S.admin&&(0,G.jsx)("span",{className:"tag admin",children:"admin"})]}),(0,G.jsx)("td",{children:(0,G.jsx)("span",{className:`pill-s ${S.ok?"ok":"bad"}`,title:S.error,children:S.ok?"key issued":S.error??"refused"})}),(0,G.jsx)("td",{className:"muted",children:S.from??""})]},`${S.at}-${E}`))})]})})]})]})};var Dr=X(Ye());var mt=X(Ce()),Af=e=>e.everyone?"everyone":e.people.length?"people":"nobody",ML=e=>e.everyone?"every developer with a key":e.people.length?e.people.join(", "):"admins only",MN=({access:e,people:t,onSave:n})=>{let[r,i]=(0,Dr.useState)(!1),[a,o]=(0,Dr.useState)(Af(e)),[s,l]=(0,Dr.useState)(e.people),[u,c]=(0,Dr.useState)(!1),[d,p]=(0,Dr.useState)(),m=`${e.everyone}:${e.people.join(",")}`;(0,Dr.useEffect)(()=>{o(Af(e)),l(e.people)},[m]);let f=[...new Set([...t,...e.people])].sort((h,y)=>h.localeCompare(y)),b=h=>l(y=>y.includes(h)?y.filter(x=>x!==h):[...y,h]),v=async()=>{c(!0),p(void 0);try{await n({everyone:a==="everyone",people:a==="people"?s:[]}),i(!1)}catch(h){p(ye(h))}finally{c(!1)}};return r?(0,mt.jsxs)("div",{className:"access-editor",children:[(0,mt.jsx)("span",{className:"chips",role:"group","aria-label":"Shared with",children:["nobody","everyone","people"].map(h=>(0,mt.jsx)("button",{type:"button",className:a===h?"on":"","aria-pressed":a===h,onClick:()=>o(h),children:h==="nobody"?"admins only":h==="everyone"?"every developer":"these people"},h))}),a==="people"&&(f.length?(0,mt.jsx)("div",{className:"access-people",children:f.map(h=>(0,mt.jsxs)("label",{className:t.includes(h)?"":"muted",title:t.includes(h)?void 0:"No active key has this name",children:[(0,mt.jsx)("input",{type:"checkbox",checked:s.includes(h),onChange:()=>b(h),disabled:u})," ",h]},h))}):(0,mt.jsx)("div",{className:"empty",children:"No developer keys yet. Invite someone under People."})),d&&(0,mt.jsx)("div",{className:"error",children:d}),(0,mt.jsxs)("div",{className:"row-actions",children:[(0,mt.jsx)("span",{className:"muted",children:"Developers sign in to this page with their own key and see the plugin\'s page, without its settings."}),(0,mt.jsx)("button",{type:"button",className:"primary",disabled:u||a==="people"&&s.length===0,onClick:()=>void v(),children:u?"\\u2026":"save"}),(0,mt.jsx)("button",{type:"button",className:"ghost",disabled:u,onClick:()=>{o(Af(e)),l(e.people),p(void 0),i(!1)},children:"cancel"})]})]}):(0,mt.jsxs)("div",{className:"row-actions access-line",children:[(0,mt.jsxs)("span",{className:"muted",children:["Shared with: ",(0,mt.jsx)("b",{children:ML(e)})]}),(0,mt.jsx)("button",{type:"button",className:"link",onClick:()=>i(!0),children:"share"})]})};var oe=X(Ye());var su=X(Ye()),Mn=X(Ce()),Tf=(e,t,n)=>{let[r,i]=(0,su.useState)(()=>{try{let a=localStorage.getItem(e);if(a===null)return t;let o=JSON.parse(a);return n?n(o)?o:t:o}catch{return t}});return(0,su.useEffect)(()=>{try{localStorage.setItem(e,JSON.stringify(r))}catch{}},[e,r]),[r,i]},Rf=[{value:"",label:"any time"},{value:"1d",label:"updated today"},{value:"7d",label:"updated this week"},{value:"30d",label:"updated this month"},{value:"stale",label:"quiet for 30 days"}],If=(e,t,n=Date.now())=>{if(!t)return!0;let r=(n-Date.parse(e))/864e5;return Number.isFinite(r)?t==="1d"?r<=1:t==="7d"?r<=7:t==="30d"?r<=30:r>30:t==="stale"},Pf=(e,t,n)=>{let r=t==="asc"?1:-1;return[...e].sort((i,a)=>{let o=n(i),s=n(a);return o===void 0&&s===void 0?0:o===void 0?1:s===void 0?-1:typeof o=="string"&&typeof s=="string"?r*o.localeCompare(s,void 0,{sensitivity:"base"}):r*(Number(o)-Number(s))})},Lf=(e,t,n)=>({key:t,dir:e.key===t?e.dir==="asc"?"desc":"asc":n}),Jt=({column:e,sort:t,onSort:n,children:r,title:i,className:a})=>{let o=t.key===e;return(0,Mn.jsx)("th",{className:`sortable ${o?"on":""} ${a??""}`,"aria-sort":o?t.dir==="asc"?"ascending":"descending":"none",title:i,children:(0,Mn.jsxs)("button",{type:"button",onClick:()=>n(e),children:[r,(0,Mn.jsx)("span",{className:"sort-mark","aria-hidden":"true",children:o?t.dir==="asc"?"\\u2191":"\\u2193":"\\u2195"})]})})},Bn=({label:e,value:t,onChange:n,options:r,any:i})=>(0,Mn.jsxs)("label",{className:`filter ${t?"on":""}`,children:[(0,Mn.jsx)("span",{children:e}),(0,Mn.jsxs)("select",{value:t,onChange:a=>n(a.target.value),"aria-label":e,children:[i!==void 0&&(0,Mn.jsx)("option",{value:"",children:i}),r.map(a=>(0,Mn.jsx)("option",{value:a.value,children:a.label},a.value))]})]}),ha=e=>[...new Set(e.filter(t=>!!t))].sort((t,n)=>t.localeCompare(n,void 0,{sensitivity:"base"}));var k=X(Ce()),En={github:"GitHub",gitlab:"GitLab",gitea:"Gitea / Forgejo",bitbucket:"Bitbucket"},BL={github:{noun:"pull request",nouns:"pull requests",hash:"#",repoNoun:"repository",tokenHint:"A fine-grained token with Pull requests, Contents, Checks and Commit statuses read access, or a classic token with repo scope. Leave blank to read through the GitHub App.",fullNameHint:"owner/name"},gitlab:{noun:"merge request",nouns:"merge requests",hash:"!",repoNoun:"project",tokenHint:"A project, group or personal access token with the read_api scope.",fullNameHint:"group/project"},gitea:{noun:"pull request",nouns:"pull requests",hash:"#",repoNoun:"repository",tokenHint:"An access token from Settings \\u2192 Applications with read access to repositories. Set your instance\'s URL below; codeberg.org is the default.",fullNameHint:"owner/name"},bitbucket:{noun:"pull request",nouns:"pull requests",hash:"#",repoNoun:"repository",tokenHint:"An app password as user:app-password (Repositories and Pull requests: read), or an API token.",fullNameHint:"workspace/repo-slug"}},VN={all:"all",mine:"waiting for me",ready:"ready to merge",failing:"failing",conflicts:"conflicts",review:"needs review",approved:"approved",drafts:"drafts",unreviewed:"no model review"},BN={mine:"Not yours, not a draft, and without your approval",ready:"Not a draft, checks green or absent, no conflicts, approved or needing no review",review:"Waiting for a reviewer, or with changes requested",unreviewed:"Never reviewed by a model, or the review is for an earlier commit or failed"},lu=Object.keys(VN),uu=[{key:"updated",label:"last updated",natural:"desc"},{key:"created",label:"opened",natural:"desc"},{key:"number",label:"number",natural:"desc"},{key:"title",label:"title",natural:"asc"},{key:"author",label:"author",natural:"asc"},{key:"size",label:"size of change",natural:"desc"},{key:"checks",label:"checks",natural:"asc"},{key:"merge",label:"merge state",natural:"asc"},{key:"review",label:"review state",natural:"asc"},{key:"approvals",label:"approvals",natural:"desc"}],du=(e,t)=>e.find(n=>n.key===t)?.natural??"asc",jL={failure:0,pending:1,none:2,success:3},UL={conflicting:0,blocked:1,unknown:2,mergeable:3},HL={"changes-requested":0,"review-required":1,none:2,approved:3},jN={quick:"all",repo:"",author:"",label:"",base:"",age:"",drafts:!1,sort:{key:"updated",dir:"desc"}},qL=e=>{if(typeof e!="object"||e===null)return!1;let t=e,n=t.sort;return lu.includes(t.quick)&&["repo","author","label","base","age"].every(r=>typeof t[r]=="string")&&typeof t.drafts=="boolean"&&n!==void 0&&uu.some(r=>r.key===n.key)&&(n.dir==="asc"||n.dir==="desc")},VL={success:"checks pass",failure:"checks fail",pending:"checks running",none:"no checks"},_f={success:"ok",failure:"bad",pending:"warn",none:""},WN={mergeable:"mergeable",conflicting:"conflicts",blocked:"blocked",unknown:"merge state unknown"},KN={mergeable:"ok",conflicting:"bad",blocked:"warn",unknown:""},GN={approved:"approved","changes-requested":"changes requested","review-required":"needs review",none:"no review"},YN={approved:"ok","changes-requested":"bad","review-required":"warn",none:""},QN=(e,t)=>{if(t===void 0||!e.approvals)return;let n=r=>r.toLowerCase()===t.toLowerCase();return n(e.author)?"yours":e.approvals.approved.some(n)?"approved":e.approvals.changes.some(n)?"changes":e.approvals.pending.some(n)?"asked":"not-reviewed"},WL={yours:"yours",approved:"you approved",changes:"you asked for changes",asked:"your review asked","not-reviewed":"not reviewed by you"},KL={yours:"",approved:"reviewed",changes:"failed",asked:"stale","not-reviewed":"stale"},XN=({pull:e,me:t})=>{let n=QN(e,t);return n?(0,k.jsx)("span",{className:`tag stance ${KL[n]}`,title:`You are ${t}`,children:WL[n]}):null},ZN=(e,t)=>t!==void 0&&!e.draft&&e.author.toLowerCase()!==t.toLowerCase()&&e.approvals!==void 0&&!e.approvals.approved.some(n=>n.toLowerCase()===t.toLowerCase()),Of=(e,t,n,r)=>{switch(t){case"all":return!0;case"mine":return ZN(e,r);case"ready":return!e.draft&&e.checks!=="failure"&&e.checks!=="pending"&&e.mergeable==="mergeable"&&(e.review==="approved"||e.review==="none")&&!Df(e);case"failing":return e.checks==="failure";case"conflicts":return e.mergeable==="conflicting";case"review":return e.review==="review-required"||e.review==="changes-requested"||Df(e)||(e.approvals?.pending.length??0)>0;case"approved":return e.review==="approved";case"drafts":return e.draft;case"unreviewed":return!n||n.stale||n.status==="failed"}},Df=e=>e.approvals?.required!==void 0&&e.approvals.approved.length<e.approvals.required,GL=(e,t)=>{switch(t){case"updated":return Date.parse(e.updatedAt);case"created":return Date.parse(e.createdAt);case"title":return e.title;case"author":return e.author;case"checks":return jL[e.checks];case"merge":return UL[e.mergeable];case"review":return HL[e.review];case"approvals":return e.approvals?e.approvals.approved.length-(e.approvals.required??0)/1e3:void 0;case"size":return e.additions===void 0&&e.deletions===void 0?void 0:(e.additions??0)+(e.deletions??0);case"number":return e.number}},ya=({tone:e,children:t,title:n})=>(0,k.jsx)("span",{className:`pill-s ${e}`,title:n,children:t}),ga=e=>e.length?e.join(", "):"nobody",JN=({pull:e,long:t})=>{let n=e.approvals;if(!n||n.approved.length===0&&n.changes.length===0&&n.pending.length===0&&n.required===void 0)return null;let r=Df(e),i=`approved by ${ga(n.approved)}${n.required!==void 0?` (${n.required} needed)`:""}\nchanges requested by ${ga(n.changes)}\nwaiting for ${ga(n.pending)}`;return(0,k.jsxs)("span",{className:`approvals ${t?"long":""}`,title:i,children:[(0,k.jsxs)("span",{className:n.required!==void 0?r?"warn-text":"ins-text":n.approved.length?"ins-text":"",children:[n.required!==void 0?`${$(n.approved.length)}/${$(n.required)}`:$(n.approved.length)," approved",t&&n.approved.length?` by ${ga(n.approved)}`:""]}),n.changes.length>0&&(0,k.jsx)("span",{className:"bad-text",children:t?`changes requested by ${ga(n.changes)}`:`${$(n.changes.length)} changes`}),n.pending.length>0&&(0,k.jsx)("span",{className:"muted",children:t?`waiting for ${ga(n.pending)}`:`${$(n.pending.length)} asked`})]})},YL=({host:e,words:t,overview:n,base:r,apiKey:i,onChanged:a})=>{let[o,s]=(0,oe.useState)(""),[l,u]=(0,oe.useState)(""),[c,d]=(0,oe.useState)(null),[p,m]=(0,oe.useState)(),[f,b]=(0,oe.useState)(null),[v,h]=(0,oe.useState)(null),y=async(w,R)=>{d(w),m(void 0);try{await R(),await a()}catch(P){m(ye(P))}finally{d(null)}},x=w=>{w.preventDefault();let R=o.trim();R&&y("add",async()=>{await ne(`${r}/repos`,i,{method:"POST",body:{fullName:R,...l.trim()?{token:l.trim()}:{}}}),s(""),u("")})},S=w=>y(`add:${w}`,async()=>{await ne(`${r}/repos`,i,{method:"POST",body:{fullName:w}}),h(R=>R&&R.filter(P=>P.fullName!==w))}),E=()=>y("picker",async()=>{let w=await ne(`${r}/app/repositories`,i),R=new Set(n.repos.map(P=>P.fullName.toLowerCase()));h(w.repositories.filter(P=>!R.has(P.fullName.toLowerCase())))});return(0,k.jsxs)("section",{className:"panel",children:[(0,k.jsxs)("div",{className:"section-heading",children:[(0,k.jsxs)("h2",{children:[t.repoNoun==="project"?"Projects":"Repositories",(0,k.jsx)("span",{className:"count",children:$(n.repos.length)})]}),(0,k.jsx)("span",{className:"muted",children:n.host.baseUrl})]}),p&&(0,k.jsx)("div",{className:"error",children:p}),n.repos.length===0?(0,k.jsxs)("div",{className:"empty",children:["Nothing watched yet. Add a ",t.repoNoun," below."]}):(0,k.jsx)("div",{className:"scroll",children:(0,k.jsxs)("table",{children:[(0,k.jsx)("thead",{children:(0,k.jsxs)("tr",{children:[(0,k.jsx)("th",{children:t.repoNoun}),(0,k.jsx)("th",{children:"reads with"}),(0,k.jsx)("th",{children:"open"}),(0,k.jsx)("th",{children:"failing"}),(0,k.jsx)("th",{children:"synced"}),(0,k.jsx)("th",{title:"Review new and updated pulls in the background while the models are idle",children:"auto-review"}),(0,k.jsx)("th",{title:"Post every finished review to the host as a comment",children:"auto-post"}),(0,k.jsx)("th",{title:"Triage new issues in the background; replies and labels still wait for a click",children:"auto-triage"}),(0,k.jsx)("th",{})]})}),(0,k.jsx)("tbody",{children:n.repos.map(w=>{let R=w.pulls.filter(P=>P.checks==="failure").length;return(0,k.jsxs)("tr",{className:w.error?"repo-error":"",children:[(0,k.jsxs)("td",{children:[(0,k.jsx)("a",{href:w.url,target:"_blank",rel:"noreferrer",className:"entity-name",children:w.fullName}),w.error&&(0,k.jsx)("div",{className:"repo-problem",children:w.error})]}),(0,k.jsx)("td",{children:(0,k.jsx)("span",{className:"tag",children:w.auth==="app"?"GitHub App":"token"})}),(0,k.jsx)("td",{children:$(w.pulls.length)}),(0,k.jsx)("td",{className:R?"bad-text":"muted",children:$(R)}),(0,k.jsx)("td",{className:"muted",title:w.syncedAt,children:w.syncing?"syncing\\u2026":w.syncedAt?Oe(w.syncedAt):w.error?"never":"pending"}),(0,k.jsx)("td",{className:"auto",children:(0,k.jsx)("input",{type:"checkbox",checked:w.autoReview,disabled:c!==null||!n.review.available,"aria-label":`Auto-review ${w.fullName}`,title:n.review.available?void 0:"Reviews are unavailable on this gateway",onChange:P=>void y(`auto:${w.id}`,()=>ne(`${r}/repos/${w.id}`,i,{method:"PUT",body:{autoReview:P.target.checked}}))})}),(0,k.jsx)("td",{className:"auto",children:(0,k.jsx)("input",{type:"checkbox",checked:w.autoPost,disabled:c!==null,"aria-label":`Auto-post reviews of ${w.fullName}`,onChange:P=>void y(`post:${w.id}`,()=>ne(`${r}/repos/${w.id}`,i,{method:"PUT",body:{autoPost:P.target.checked}}))})}),(0,k.jsx)("td",{className:"auto",children:(0,k.jsx)("input",{type:"checkbox",checked:w.autoTriage,disabled:c!==null||!w.issuesSupported||!n.review.available,"aria-label":`Auto-triage ${w.fullName}`,title:w.issuesSupported?void 0:"This host has no issue tracker the plugin reads",onChange:P=>void y(`triage:${w.id}`,()=>ne(`${r}/repos/${w.id}`,i,{method:"PUT",body:{autoTriage:P.target.checked}}))})}),(0,k.jsxs)("td",{className:"actions",children:[(0,k.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>void y(`sync:${w.id}`,()=>ne(`${r}/repos/${w.id}/sync`,i,{method:"POST"})),children:c===`sync:${w.id}`?"\\u2026":"sync"})," ",f===w.id?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)("button",{type:"button",className:"danger mini",disabled:c!==null,onClick:()=>void y(`remove:${w.id}`,()=>ne(`${r}/repos/${w.id}`,i,{method:"DELETE"}).then(()=>b(null))),children:"remove"})," ",(0,k.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>b(null),children:"keep"})]}):(0,k.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>b(w.id),children:"remove"})]})]},w.id)})})]})}),(0,k.jsxs)("form",{className:"newkey create",onSubmit:x,children:[(0,k.jsx)("input",{placeholder:t.fullNameHint,value:o,onChange:w=>s(w.target.value),"aria-label":`${t.repoNoun} name`,disabled:c!==null,spellCheck:!1}),(0,k.jsx)("input",{type:"password",placeholder:n.appAuth?"token (optional)":"access token",value:l,onChange:w=>u(w.target.value),"aria-label":"Access token",disabled:c!==null,autoComplete:"off"}),(0,k.jsx)("button",{type:"submit",className:"primary",disabled:c!==null||!o.trim()||!n.appAuth&&!l.trim(),children:c==="add"?"\\u2026":`watch ${t.repoNoun}`}),e==="github"&&n.appAuth&&(0,k.jsx)("button",{type:"button",className:"ghost",disabled:c!==null,onClick:()=>void E(),children:c==="picker"?"\\u2026":"pick from the App"}),(0,k.jsx)("span",{className:"muted",children:t.tokenHint})]}),v&&(0,k.jsxs)("div",{className:"picker",children:[v.length===0?(0,k.jsx)("div",{className:"empty",children:"The App sees no other repositories. Install it on more at GitHub."}):v.map(w=>(0,k.jsxs)("div",{className:"picker-row",children:[(0,k.jsx)("span",{className:"entity-name",children:w.fullName}),(0,k.jsx)("span",{className:"muted",children:w.account}),(0,k.jsx)("button",{type:"button",className:"mini",disabled:c!==null,onClick:()=>void S(w.fullName),children:c===`add:${w.fullName}`?"\\u2026":"watch"})]},w.fullName)),(0,k.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>h(null),children:"close"})]})]})},QL=({host:e,words:t,overview:n,base:r,apiKey:i,onChanged:a})=>{let[o,s]=(0,oe.useState)(""),[l,u]=(0,oe.useState)(""),[c,d]=(0,oe.useState)(n.host.baseUrl),[p,m]=(0,oe.useState)(n.me.name??"");(0,oe.useEffect)(()=>m(n.me.name??""),[n.me.name]);let[f,b]=(0,oe.useState)(!1),[v,h]=(0,oe.useState)(),[y,x]=(0,oe.useState)(),[S,E]=(0,oe.useState)(!1);(0,oe.useEffect)(()=>d(n.host.baseUrl),[n.host.baseUrl]);let w=async(P,F)=>{b(!0),h(void 0),x(void 0);try{await P(),await a(),x(F)}catch(A){h(ye(A))}finally{b(!1)}},R=n.host.app??null;return(0,k.jsxs)("section",{className:"panel",children:[(0,k.jsxs)("div",{className:"section-heading",children:[(0,k.jsx)("h2",{children:e==="github"?"GitHub App":"Instance"}),e==="github"&&(0,k.jsx)("span",{className:`pill-s ${R?"ok":""}`,children:R?`installed as ${R.slug??R.appId}`:"not set up"})]}),y&&(0,k.jsx)("div",{className:"success-bar",children:y}),v&&(0,k.jsx)("div",{className:"error",children:v}),e==="github"&&(R?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)("dl",{className:"facts",children:[(0,k.jsx)("dt",{children:"App"}),(0,k.jsxs)("dd",{children:[R.name??R.slug??"GitHub App"," ",(0,k.jsxs)("span",{className:"muted",children:["\\xB7 id ",R.appId]})]}),R.installUrl&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)("dt",{children:"Install on more"}),(0,k.jsx)("dd",{children:(0,k.jsx)("a",{href:R.installUrl,target:"_blank",rel:"noreferrer",children:R.installUrl})})]})]}),S?(0,k.jsxs)("div",{className:"row-actions",children:[(0,k.jsx)("span",{className:"muted",children:"Repositories that read through the App stop syncing until it is set up again."}),(0,k.jsx)("button",{type:"button",className:"danger",disabled:f,onClick:()=>void w(()=>ne(`${r}/app`,i,{method:"DELETE"}).then(()=>E(!1)),"GitHub App removed."),children:"remove App"}),(0,k.jsx)("button",{type:"button",className:"ghost",onClick:()=>E(!1),children:"keep"})]}):(0,k.jsx)("button",{type:"button",className:"ghost",disabled:f,onClick:()=>E(!0),children:"remove"})]}):(0,k.jsxs)("form",{className:"app-form",onSubmit:P=>{P.preventDefault(),w(()=>ne(`${r}/app`,i,{method:"PUT",body:{appId:o.trim(),privateKey:l}}).then(()=>(s(""),u(""))),"GitHub App checked and saved. Repositories it is installed on can be watched without a token.")},children:[(0,k.jsx)("input",{placeholder:"App ID",value:o,onChange:P=>s(P.target.value),"aria-label":"App ID",disabled:f,inputMode:"numeric"}),(0,k.jsx)("textarea",{placeholder:"-----BEGIN RSA PRIVATE KEY-----",value:l,onChange:P=>u(P.target.value),"aria-label":"Private key",disabled:f,rows:4,spellCheck:!1}),(0,k.jsxs)("div",{className:"row-actions",children:[(0,k.jsx)("button",{type:"submit",className:"primary",disabled:f||!o.trim()||!l.trim(),children:f?"\\u2026":"set up App"}),(0,k.jsx)("span",{className:"muted",children:"Create the App under your organisation\'s developer settings with read access to Pull requests, Contents, Checks and Commit statuses, install it on the repositories, then paste its App ID and a generated private key. The key stays on this server."})]})]})),(0,k.jsxs)("form",{className:"newkey inline-setting",onSubmit:P=>{P.preventDefault(),w(()=>ne(`${r}/settings`,i,{method:"PUT",body:{baseUrl:c.trim()}}),"Host saved; everything is syncing again.")},children:[(0,k.jsxs)("label",{children:[(0,k.jsx)("span",{className:"muted",children:e==="github"?"GitHub Enterprise URL":`${En[e]} URL`}),(0,k.jsx)("input",{value:c,onChange:P=>d(P.target.value),"aria-label":"Host URL",disabled:f,spellCheck:!1})]}),(0,k.jsx)("button",{type:"submit",className:"ghost",disabled:f||c.trim()===n.host.baseUrl,children:"save host"})]}),(0,k.jsxs)("form",{className:"newkey inline-setting",onSubmit:P=>{P.preventDefault(),w(()=>ne(`${r}/settings`,i,{method:"PUT",body:{me:p.trim()}}),p.trim()?`Pulls you have not approved are marked; you are ${p.trim().replace(/^@/,"")}.`:"Username cleared.")},children:[(0,k.jsxs)("label",{children:[(0,k.jsxs)("span",{className:"muted",children:["you on ",En[e],n.me.detected&&(0,k.jsxs)("em",{children:[" \\xB7 the token belongs to ",n.me.detected]})]}),(0,k.jsx)("input",{value:p,onChange:P=>m(P.target.value),"aria-label":`Your username on ${En[e]}`,placeholder:n.me.detected??"username",disabled:f,spellCheck:!1})]}),(0,k.jsx)("button",{type:"submit",className:"ghost",disabled:f||p.trim().replace(/^@/,"")===(n.me.name??""),children:"save"}),(0,k.jsxs)("span",{className:"muted",children:["Marks the ",t.nouns," waiting for your approval. Left blank, the name the token reports is used."]})]})]})},XL=({host:e,words:t,overview:n,base:r,apiKey:i,onChanged:a})=>{let[o,s]=(0,oe.useState)(n.me.name??"");(0,oe.useEffect)(()=>s(n.me.name??""),[n.me.name]);let[l,u]=(0,oe.useState)(!1),[c,d]=(0,oe.useState)(),[p,m]=(0,oe.useState)(),f=o.trim().replace(/^@/,""),b=async()=>{u(!0),d(void 0),m(void 0);try{await ne(`${r}/me`,i,{method:"PUT",body:{me:f}}),await a(),m(f?`The ${t.nouns} waiting for your approval are marked; you are ${f}.`:"Username cleared.")}catch(v){d(ye(v))}finally{u(!1)}};return(0,k.jsxs)("section",{className:"panel",children:[(0,k.jsx)("div",{className:"section-heading",children:(0,k.jsxs)("h2",{children:["You on ",En[e]]})}),p&&(0,k.jsx)("div",{className:"success-bar",children:p}),c&&(0,k.jsx)("div",{className:"error",children:c}),(0,k.jsxs)("form",{className:"newkey inline-setting",onSubmit:v=>{v.preventDefault(),b()},children:[(0,k.jsxs)("label",{children:[(0,k.jsx)("span",{className:"muted",children:"username"}),(0,k.jsx)("input",{value:o,onChange:v=>s(v.target.value),"aria-label":`Your username on ${En[e]}`,placeholder:"username",disabled:l,spellCheck:!1})]}),(0,k.jsx)("button",{type:"submit",className:"ghost",disabled:l||f===(n.me.name??""),children:"save"}),(0,k.jsxs)("span",{className:"muted",children:["Marks the ",t.nouns," waiting for your approval, on your page only. Repositories and settings are the admin\'s."]})]})]})},ZL=e=>{let t=e.slice(e.lastIndexOf(".")+1).toLowerCase();return t===e.toLowerCase()?"text":t},JL=({review:e,noun:t,canAsk:n,onAsk:r})=>{let[i,a]=(0,oe.useState)(""),[o,s]=(0,oe.useState)(!1),[l,u]=(0,oe.useState)(),[c,d]=(0,oe.useState)(0);(0,oe.useEffect)(()=>{if(!o)return;d(0);let f=Date.now(),b=setInterval(()=>d(Math.round((Date.now()-f)/1e3)),1e3);return()=>clearInterval(b)},[o]);let p=async()=>{let f=i.trim();if(!(!f||o||!n)){s(!0),u(void 0);try{await r(f),a("")}catch(b){u(ye(b))}finally{s(!1)}}},m=e.thread??[];return(0,k.jsxs)("div",{className:"review-thread",children:[m.length>0&&(0,k.jsx)("div",{className:"turns",children:m.map((f,b)=>(0,k.jsxs)("div",{className:`turn ${f.role}`,children:[(0,k.jsxs)("div",{className:"turn-head",children:[(0,k.jsx)("span",{className:"role",children:f.role==="user"?`asked by ${f.by??"you"}`:`${e.alias}${f.ms?` in ${Math.round(f.ms/1e3)} s`:""}`}),(0,k.jsx)("span",{className:"muted",children:Oe(f.at)})]}),(0,k.jsxs)("div",{className:"turn-body",children:[f.role==="user"?(0,k.jsx)("p",{className:"question",children:f.text}):(0,k.jsx)(yi,{text:f.text}),f.cutShort&&(0,k.jsx)("div",{className:"cut-short",children:f.cutShort})]})]},`${f.at}:${b}`))}),(0,k.jsxs)("form",{className:"ask-form",onSubmit:f=>{f.preventDefault(),p()},children:[(0,k.jsx)("textarea",{value:i,onChange:f=>a(f.target.value),onKeyDown:f=>{f.key==="Enter"&&(f.ctrlKey||f.metaKey)&&(f.preventDefault(),p())},rows:2,maxLength:4e3,placeholder:n?`Ask ${e.alias} about this review\\u2026`:"No model is serving reviews","aria-label":"Ask about this review",disabled:o||!n}),(0,k.jsxs)("div",{className:"review-actions",children:[(0,k.jsx)("button",{type:"submit",className:"primary",disabled:o||!n||!i.trim(),children:o?`answering\\u2026 ${c} s`:"ask"}),l?(0,k.jsx)("span",{className:"bad-text",children:l}):(0,k.jsxs)("span",{className:"muted",children:["Ctrl+Enter sends. The model sees the ",t.toLowerCase(),", the review and this thread; nothing here is posted."]})]})]})]})},eO=({detail:e,words:t,review:n,host:r,me:i,onBack:a,onReview:o,onPost:s,onAsk:l,member:u=!1})=>{let[c,d]=(0,oe.useState)("comment"),[p,m]=(0,oe.useState)(!1),[f,b]=(0,oe.useState)(),{pull:v}=e,[h,y]=(0,oe.useState)(e.reviewing),[x,S]=(0,oe.useState)(),[E,w]=(0,oe.useState)(0);(0,oe.useEffect)(()=>y(e.reviewing),[e.reviewing]),(0,oe.useEffect)(()=>{if(!h)return;w(0);let F=Date.now(),A=setInterval(()=>w(Math.round((Date.now()-F)/1e3)),1e3);return()=>clearInterval(A)},[h]);let R=async()=>{y(!0),S(void 0);try{await o()}catch(F){S(ye(F))}finally{y(!1)}},P=e.review&&e.review.headSha!==v.headSha;return(0,k.jsxs)("section",{className:"panel record",children:[(0,k.jsxs)("div",{className:"section-heading",children:[(0,k.jsxs)("h2",{className:"record-title",children:[(0,k.jsxs)("button",{type:"button",className:"ghost mini",onClick:a,children:["\\u2190 ",t.nouns]}),(0,k.jsxs)("b",{children:[v.repo,t.hash,v.number]}),(0,k.jsxs)("a",{href:v.url,target:"_blank",rel:"noreferrer",children:["open on ",En[r]]})]}),(0,k.jsxs)("span",{className:"links",children:[(0,k.jsx)(ya,{tone:_f[v.checks],children:VL[v.checks]}),(0,k.jsx)(ya,{tone:KN[v.mergeable],children:WN[v.mergeable]}),(0,k.jsx)(ya,{tone:YN[v.review],children:GN[v.review]})]})]}),(0,k.jsxs)("h3",{className:"pull-title",children:[v.draft&&(0,k.jsx)("span",{className:"tag",children:"draft"})," ",v.title," ",(0,k.jsx)(XN,{pull:v,me:i})]}),(0,k.jsxs)("div",{className:"meta",children:[(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"by"}),v.author]}),(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"branch"}),(0,k.jsx)("code",{children:v.headRef})," \\u2192 ",(0,k.jsx)("code",{children:v.baseRef})]}),(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"updated"}),Oe(v.updatedAt)]}),v.approvals&&(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"approvals"}),(0,k.jsx)(JN,{pull:v,long:!0})]}),v.changedFiles!==void 0&&(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"changes"}),Fe(v.changedFiles,"file"),", ",(0,k.jsxs)("span",{className:"ins-text",children:["+",$(v.additions??0)]})," ",(0,k.jsxs)("span",{className:"del-text",children:["\\u2212",$(v.deletions??0)]})]}),v.labels.length>0&&(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"labels"}),v.labels.map(F=>(0,k.jsx)("span",{className:"tag",children:F},F))]})]}),v.checkRuns.length>0&&(0,k.jsx)("div",{className:"checks",children:v.checkRuns.map((F,A)=>(0,k.jsx)("span",{className:`pill-s ${_f[F.state]}`,children:F.url?(0,k.jsx)("a",{href:F.url,target:"_blank",rel:"noreferrer",children:F.name}):F.name},`${F.name}-${A}`))}),(0,k.jsx)("h3",{className:"sub",children:"Review"}),h?(0,k.jsxs)("div",{className:"review-running","aria-live":"polite",children:[(0,k.jsx)("span",{className:"meter",children:(0,k.jsx)("span",{className:"meter-fill indeterminate",style:{width:"40%"}})}),(0,k.jsxs)("span",{children:["Reviewing with ",(0,k.jsx)("b",{children:n.alias}),(0,k.jsxs)("span",{className:"muted",children:[" \\xB7 ",E,"s \\xB7 the model is reading the ",t.noun,"; a minute or two is normal"]})]})]}):(0,k.jsxs)("div",{className:"review-actions",children:[(0,k.jsx)("button",{type:"button",className:e.review?"ghost":"primary",disabled:!n.available||!n.alias,onClick:()=>void R(),title:n.available?n.alias?void 0:"No chat model is served":"This gateway offers plugins no models",children:e.review?"review again":"review now"}),n.alias&&(0,k.jsxs)("span",{className:"muted",children:["with ",n.alias]}),x&&(0,k.jsx)("span",{className:"bad-text",children:x})]}),e.review?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)("div",{className:"review-meta",children:[(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"by"}),e.review.alias]}),(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"when"}),Oe(e.review.createdAt),", in ",Math.round(e.review.ms/1e3)," s"]}),(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"asked by"}),e.review.requestedBy]}),P&&(0,k.jsxs)("span",{className:"tag stale",children:["for an earlier commit ",e.review.headSha.slice(0,7)]}),e.review.status==="failed"&&(0,k.jsx)("span",{className:"tag failed",children:"failed"}),e.review.cutShort&&(0,k.jsx)("span",{className:"tag cut",children:"cut short"}),e.review.postedAt&&(0,k.jsxs)("span",{className:"tag reviewed",children:["posted as ",e.review.postedAs?.replace("-"," ")," ",Oe(e.review.postedAt),e.review.postedUrl&&(0,k.jsxs)(k.Fragment,{children:[" \\xB7 ",(0,k.jsx)("a",{href:e.review.postedUrl,target:"_blank",rel:"noreferrer",children:"view"})]})]})]}),e.review.status==="done"&&!(u&&e.review.postedAt)&&(0,k.jsxs)("div",{className:"review-actions",children:[u?(0,k.jsx)("span",{className:"muted",children:"as a comment"}):(0,k.jsxs)("select",{value:c,onChange:F=>d(F.target.value),disabled:p,"aria-label":"Post as",children:[(0,k.jsx)("option",{value:"comment",children:"as a comment"}),(0,k.jsx)("option",{value:"request-changes",children:"requesting changes"}),(0,k.jsx)("option",{value:"approve",children:"approving"})]}),(0,k.jsx)("button",{type:"button",className:e.review.postedAt?"ghost":"primary",disabled:p,onClick:()=>{m(!0),b(void 0),s(c).catch(F=>b(ye(F))).finally(()=>m(!1))},children:p?"posting\\u2026":e.review.postedAt?`post again to ${En[r]}`:`post to ${En[r]}`}),f&&(0,k.jsx)("span",{className:"bad-text",children:f})]}),e.review.cutShort&&(0,k.jsx)("div",{className:"cut-short",children:e.review.cutShort}),e.review.status==="failed"?(0,k.jsx)("div",{className:"error",children:e.review.error}):(0,k.jsx)(yi,{text:e.review.text,className:"review-body"}),e.review.status==="done"&&!h&&(0,k.jsx)(JL,{review:e.review,noun:t.noun,canAsk:n.available&&!!n.alias,onAsk:l})]}):!h&&(0,k.jsx)("div",{className:"empty",children:"Not reviewed yet."}),(0,k.jsx)("h3",{className:"sub",children:"Description"}),e.body.trim()?(0,k.jsx)(yi,{text:e.body,className:"pull-body"}):(0,k.jsx)("div",{className:"empty",children:"No description."}),(0,k.jsxs)("h3",{className:"sub",children:["Files ",(0,k.jsx)("span",{className:"count",children:$(e.files.length)})]}),(0,k.jsxs)("div",{className:"turns",children:[e.files.map(F=>(0,k.jsx)(DN,{patch:F.patch??"",language:ZL(F.path),title:(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)("span",{className:`tag file-${F.status}`,children:F.status})," ",F.previousPath?`${F.previousPath} \\u2192 `:"",F.path," ",(0,k.jsxs)("span",{className:"ins-text",children:["+",$(F.additions)]})," ",(0,k.jsxs)("span",{className:"del-text",children:["\\u2212",$(F.deletions)]}),F.truncated&&(0,k.jsx)("span",{className:"muted",children:" \\xB7 cut at 60k characters"})]})},`${F.status}:${F.path}`)),e.moreFiles>0&&(0,k.jsxs)("div",{className:"empty",children:[Fe(e.moreFiles,"more file")," not shown."]})]})]})},tO=({words:e,overview:t,base:n,apiKey:r,onChanged:i})=>{let[a,o]=(0,oe.useState)(!1),[s,l]=(0,oe.useState)(),{review:u}=t,c=t.repos.filter(p=>p.autoReview).length,d=async p=>{o(!0),l(void 0);try{await ne(`${n}/settings`,r,{method:"PUT",body:{reviewAlias:p}}),await i()}catch(m){l(ye(m))}finally{o(!1)}};return(0,k.jsxs)("section",{className:"panel",children:[(0,k.jsxs)("div",{className:"section-heading",children:[(0,k.jsx)("h2",{children:"Reviews"}),(0,k.jsx)("span",{className:`pill-s ${!u.available||!u.alias?"bad":u.busy?"warn":"ok"}`,children:u.available?u.alias?u.busy?"reviewing":"ready":"no chat model":"unavailable"})]}),s&&(0,k.jsx)("div",{className:"error",children:s}),(0,k.jsxs)("div",{className:"newkey",children:[(0,k.jsxs)("label",{children:[(0,k.jsx)("span",{className:"muted",children:"review model"}),(0,k.jsxs)("select",{value:u.alias??"",onChange:p=>void d(p.target.value),disabled:a||u.aliases.length===0,"aria-label":"Review model",children:[u.aliases.length===0&&(0,k.jsx)("option",{value:"",children:"no chat alias is served"}),u.aliases.map(p=>(0,k.jsx)("option",{value:p,children:p},p))]})]}),(0,k.jsxs)("span",{className:"muted",children:[c===0?`No ${e.repoNoun} auto-reviews.`:`${$(c)} ${c===1?e.repoNoun:`${e.repoNoun}s`} auto-review: one ${e.noun} at a time, only while no developer request is running.`," Reviews stay on this server."]})]})]})},UN={high:"bad",medium:"warn",low:""},nO={high:0,medium:1,low:2},eS={all:"all",untriaged:"not triaged",high:"high priority",duplicates:"duplicates",unanswered:"reply pending",failed:"triage failed"},rO={unanswered:"Triaged with a suggested reply that nobody has posted yet"},Ff=Object.keys(eS),HN=(e,t)=>{switch(t){case"all":return!0;case"untriaged":return!e;case"high":return e?.priority==="high";case"duplicates":return e?.duplicateOf!==void 0;case"unanswered":return e?.status==="done"&&!e.replied;case"failed":return e?.status==="failed"}},cu=[{key:"updated",label:"last updated",natural:"desc"},{key:"created",label:"opened",natural:"desc"},{key:"number",label:"number",natural:"desc"},{key:"title",label:"title",natural:"asc"},{key:"author",label:"author",natural:"asc"},{key:"comments",label:"comments",natural:"desc"},{key:"priority",label:"priority",natural:"asc"}],qN={view:"all",repo:"",author:"",label:"",age:"",sort:{key:"updated",dir:"desc"}},iO=e=>{if(typeof e!="object"||e===null)return!1;let t=e,n=t.sort;return Ff.includes(t.view)&&["repo","author","label","age"].every(r=>typeof t[r]=="string")&&n!==void 0&&cu.some(r=>r.key===n.key)&&(n.dir==="asc"||n.dir==="desc")},aO=({host:e,overview:t,base:n,apiKey:r,review:i,onChanged:a})=>{let[o,s]=(0,oe.useState)(null),[l,u]=(0,oe.useState)(null),[c,d]=(0,oe.useState)(""),[p,m]=(0,oe.useState)(null),[f,b]=(0,oe.useState)(),[v,h]=Tf(`twinny-server.issues.${e}`,qN,iO),[y,x]=(0,oe.useState)(""),S=t.repos.filter(D=>D.issuesSupported),E=(0,oe.useMemo)(()=>S.flatMap(D=>D.issues.map(g=>({repo:D,issue:g,triage:D.triage[g.number]}))),[S]),w=(0,oe.useMemo)(()=>{let D=y.trim().toLowerCase();return E.filter(({repo:g})=>!v.repo||g.id===v.repo).filter(({issue:g})=>!v.author||g.author===v.author).filter(({issue:g})=>!v.label||g.labels.includes(v.label)).filter(({issue:g})=>If(g.updatedAt,v.age)).filter(({issue:g})=>!D||g.title.toLowerCase().includes(D)||g.author.toLowerCase().includes(D)||String(g.number)===D||g.labels.some(C=>C.toLowerCase().includes(D)))},[E,v.repo,v.author,v.label,v.age,y]),R=(0,oe.useMemo)(()=>Pf(w.filter(({triage:D})=>HN(D,v.view)),v.sort.dir,({issue:D,triage:g})=>{switch(v.sort.key){case"updated":return Date.parse(D.updatedAt);case"created":return Date.parse(D.createdAt);case"number":return D.number;case"title":return D.title;case"author":return D.author;case"comments":return D.comments;case"priority":return g?.priority?nO[g.priority]:void 0}}),[w,v.view,v.sort]),P=(0,oe.useMemo)(()=>Object.fromEntries(Ff.map(D=>[D,w.filter(({triage:g})=>HN(g,D)).length])),[w]),F=(0,oe.useMemo)(()=>ha(E.map(({issue:D})=>D.author)),[E]),A=(0,oe.useMemo)(()=>ha(E.flatMap(({issue:D})=>D.labels)),[E]),Z=v.view!=="all"||!!(v.repo||v.author||v.label||v.age||y.trim()),j=(D,g)=>h(C=>({...C,[D]:g})),z=D=>h(g=>({...g,sort:Lf(g.sort,D,du(cu,D))}));(0,oe.useEffect)(()=>{if(!o){u(null);return}let D=!1;return u(null),ne(`${n}/repos/${o.repoId}/issues/${o.number}`,r).then(g=>{D||(u(g),d(g.triage?.reply??""))}).catch(g=>!D&&b(ye(g))),()=>{D=!0}},[o,n,r]);let V=async(D,g)=>{m(D),b(void 0);try{await g(),await a()}catch(C){b(ye(C))}finally{m(null)}},O=(D,g)=>V(`triage:${D}:${g}`,async()=>{let C=await ne(`${n}/repos/${D}/issues/${g}/triage`,r,{method:"POST"});o?.repoId===D&&o.number===g&&(u(_=>_&&{..._,triage:C.triage}),d(C.triage.reply))}),K=(D,g,C)=>V(`post:${C}`,async()=>{let _=await ne(`${n}/repos/${D}/issues/${g}/triage/post`,r,{method:"POST",body:C==="reply"?{labels:!1,replyText:c}:{reply:!1}});u(N=>N&&{...N,triage:_.triage})});if(S.length===0)return null;let le=E.filter(D=>!D.triage).length,q=E.filter(D=>D.triage?.priority==="high").length;return(0,k.jsxs)("section",{className:"panel",children:[(0,k.jsxs)("div",{className:"section-heading",children:[(0,k.jsxs)("h2",{children:["Open issues",(0,k.jsx)("span",{className:"count",children:$(R.length)})]}),(0,k.jsxs)("span",{className:"links",children:[q>0&&(0,k.jsxs)("span",{className:"pill-s bad",children:[$(q)," high priority"]}),(0,k.jsx)("span",{className:"muted",children:le?`${$(le)} not triaged`:"all triaged"})]})]}),f&&(0,k.jsx)("div",{className:"error",children:f}),E.length>0&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)("div",{className:"toolbar",children:[(0,k.jsx)("span",{className:"chips",role:"group","aria-label":"View",children:Ff.map(D=>(0,k.jsxs)("button",{type:"button",className:v.view===D?"on":"",onClick:()=>j("view",D),title:rO[D],children:[eS[D],(0,k.jsx)("span",{className:"chip-count",children:$(P[D])})]},D))}),(0,k.jsx)("input",{type:"search",className:"search",placeholder:"title, author, label or number",value:y,onChange:D=>x(D.target.value),"aria-label":"Search issues"})]}),(0,k.jsxs)("div",{className:"toolbar filters",children:[S.length>1&&(0,k.jsx)(Bn,{label:"repository",value:v.repo,onChange:D=>j("repo",D),any:"every repository",options:S.map(D=>({value:D.id,label:D.fullName}))}),(0,k.jsx)(Bn,{label:"author",value:v.author,onChange:D=>j("author",D),any:"anyone",options:F.map(D=>({value:D,label:D}))}),A.length>0&&(0,k.jsx)(Bn,{label:"label",value:v.label,onChange:D=>j("label",D),any:"any label",options:A.map(D=>({value:D,label:D}))}),(0,k.jsx)(Bn,{label:"activity",value:v.age,onChange:D=>j("age",D),options:Rf}),Z&&(0,k.jsx)("button",{type:"button",className:"link",onClick:()=>{h(D=>({...qN,sort:D.sort})),x("")},children:"clear filters"}),(0,k.jsx)("span",{className:"spacer"}),(0,k.jsxs)("label",{className:"filter sort",children:[(0,k.jsx)("span",{children:"order by"}),(0,k.jsx)("select",{value:v.sort.key,onChange:D=>j("sort",{key:D.target.value,dir:du(cu,D.target.value)}),"aria-label":"Order issues by",children:cu.map(D=>(0,k.jsx)("option",{value:D.key,children:D.label},D.key))}),(0,k.jsx)("button",{type:"button",className:"ghost mini dir",onClick:()=>j("sort",{...v.sort,dir:v.sort.dir==="asc"?"desc":"asc"}),title:v.sort.dir==="asc"?"Ascending; click for descending":"Descending; click for ascending","aria-label":v.sort.dir==="asc"?"Ascending":"Descending",children:v.sort.dir==="asc"?"\\u2191":"\\u2193"})]})]})]}),R.length===0?(0,k.jsx)("div",{className:"empty",children:E.length===0?"No open issues.":"Nothing matches these filters."}):(0,k.jsx)("div",{className:"scroll",children:(0,k.jsxs)("table",{className:"pulls",children:[(0,k.jsx)("thead",{children:(0,k.jsxs)("tr",{children:[(0,k.jsx)(Jt,{column:"title",sort:v.sort,onSort:z,children:"issue"}),(0,k.jsx)(Jt,{column:"author",sort:v.sort,onSort:z,children:"author"}),(0,k.jsx)(Jt,{column:"priority",sort:v.sort,onSort:z,children:"triage"}),(0,k.jsx)(Jt,{column:"comments",sort:v.sort,onSort:z,className:"num",children:"comments"}),(0,k.jsx)(Jt,{column:"updated",sort:v.sort,onSort:z,children:"updated"}),(0,k.jsx)("th",{})]})}),(0,k.jsx)("tbody",{children:R.map(({repo:D,issue:g,triage:C})=>{let _=o?.repoId===D.id&&o.number===g.number,N=`${D.id}:${g.number}`;return(0,k.jsxs)(oe.default.Fragment,{children:[(0,k.jsxs)("tr",{className:"pull-row",onClick:()=>s(_?null:{repoId:D.id,number:g.number}),children:[(0,k.jsxs)("td",{children:[(0,k.jsx)("div",{className:"entity-name",children:g.title}),(0,k.jsxs)("div",{className:"key-id muted",children:[S.length>1?`${D.fullName} `:"","#",g.number,g.labels.map(J=>(0,k.jsx)("span",{className:"tag",children:J},J))]})]}),(0,k.jsx)("td",{children:g.author}),(0,k.jsx)("td",{children:C?C.status==="failed"?(0,k.jsx)("span",{className:"pill-s bad",children:"failed"}):(0,k.jsxs)(k.Fragment,{children:[C.priority&&(0,k.jsx)("span",{className:`pill-s ${UN[C.priority]}`,children:C.priority})," ",C.duplicateOf!==void 0&&(0,k.jsxs)("span",{className:"tag stale",children:["dup of #",C.duplicateOf]}),C.labels.map(J=>(0,k.jsx)("span",{className:`tag ${C.labeled?"reviewed":""}`,children:J},J)),C.replied&&(0,k.jsx)("span",{className:"tag reviewed",children:"replied"})]}):(0,k.jsx)("span",{className:"muted",children:"\\u2013"})}),(0,k.jsx)("td",{className:`num ${g.comments?"":"muted"}`,children:$(g.comments)}),(0,k.jsx)("td",{className:"muted",title:`updated ${g.updatedAt}\nopened ${g.createdAt}`,children:Oe(g.updatedAt)}),(0,k.jsx)("td",{className:"actions",onClick:J=>J.stopPropagation(),children:(0,k.jsx)("button",{type:"button",className:"ghost mini",disabled:p!==null||!i.alias,onClick:()=>void O(D.id,g.number),children:p===`triage:${D.id}:${g.number}`?"\\u2026":C?"triage again":"triage"})})]}),_&&(0,k.jsx)("tr",{className:"issue-detail",children:(0,k.jsx)("td",{colSpan:6,children:l?(0,k.jsxs)("div",{className:"issue-open",children:[(0,k.jsxs)("a",{href:g.url,target:"_blank",rel:"noreferrer",children:["open #",g.number," on the host"]}),l.body.trim()?(0,k.jsx)(yi,{text:l.body,className:"pull-body"}):(0,k.jsx)("div",{className:"empty",children:"No description."}),l.triage?.status==="done"&&(0,k.jsxs)("div",{className:"triage-box",children:[(0,k.jsxs)("div",{className:"review-meta",children:[(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"triaged by"}),l.triage.alias," ",Oe(l.triage.createdAt)]}),l.triage.priority&&(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"priority"}),(0,k.jsx)("span",{className:`pill-s ${UN[l.triage.priority]}`,children:l.triage.priority})]}),l.triage.duplicateOf!==void 0&&(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"duplicate of"}),"#",l.triage.duplicateOf]}),l.triage.labels.length>0&&(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"labels"}),l.triage.labels.map(J=>(0,k.jsx)("span",{className:"tag",children:J},J)),l.triage.labeledAt?(0,k.jsx)("span",{className:"tag reviewed",children:"applied"}):(0,k.jsx)("button",{type:"button",className:"ghost mini",disabled:p!==null,onClick:()=>void K(D.id,g.number,"labels"),children:p==="post:labels"?"\\u2026":"apply labels"})]})]}),(0,k.jsxs)("label",{className:"config-field",children:[(0,k.jsxs)("span",{children:["reply to the reporter ",l.triage.repliedAt&&(0,k.jsxs)("em",{className:"muted",children:["(posted ",Oe(l.triage.repliedAt),")"]})]}),(0,k.jsx)("textarea",{rows:4,value:c,onChange:J=>d(J.target.value),disabled:p!==null})]}),(0,k.jsx)("div",{className:"row-actions",children:(0,k.jsx)("button",{type:"button",className:l.triage.repliedAt?"ghost":"primary",disabled:p!==null||!c.trim(),onClick:()=>void K(D.id,g.number,"reply"),children:p==="post:reply"?"posting\\u2026":l.triage.repliedAt?"post again":"post reply"})})]}),l.triage?.status==="failed"&&(0,k.jsx)("div",{className:"error",children:l.triage.error})]}):(0,k.jsxs)("div",{className:"skeleton-rows",children:[(0,k.jsx)("span",{className:"skeleton",style:{width:"60%",height:12}}),(0,k.jsx)("span",{className:"skeleton",style:{width:"100%",height:60}})]})})})]},N)})})]})})]})},tS=({host:e,apiKey:t,member:n=!1})=>{let r=BL[e],i=`/twinny/v1/admin/plugins/${e}/api`,[a,o]=(0,oe.useState)(null),[s,l]=(0,oe.useState)(),[u,c]=Tf(`twinny-server.pulls.${e}`,jN,qL),[d,p]=(0,oe.useState)(""),[m,f]=(0,oe.useState)(null),[b,v]=(0,oe.useState)(null),[h,y]=(0,oe.useState)(),[x,S]=(0,oe.useState)(!1),E=(0,oe.useCallback)(async()=>{try{o(await ne(`${i}/`,t)),l(void 0)}catch(C){C instanceof xn&&C.status===409?l(C.message):l(ye(C))}},[i,t]);(0,oe.useEffect)(()=>{E();let C=setInterval(()=>{document.visibilityState==="visible"&&E()},6e4);return()=>clearInterval(C)},[E]),(0,oe.useEffect)(()=>{if(!m){v(null);return}let C=!1;return v(null),y(void 0),ne(`${i}/repos/${m.repoId}/pulls/${m.number}`,t).then(_=>{C||v(_)}).catch(_=>{C||y(ye(_))}),()=>{C=!0}},[m,i,t]);let w=async()=>{S(!0);try{await ne(`${i}/sync`,t,{method:"POST"}),await E()}catch(C){l(ye(C))}finally{S(!1)}},R=(0,oe.useMemo)(()=>a?.repos.flatMap(C=>C.pulls.map(_=>({repo:C,pull:_,brief:C.reviews[_.number]})))??[],[a]),P=(0,oe.useMemo)(()=>{let C=d.trim().toLowerCase();return R.filter(({repo:_})=>!u.repo||_.id===u.repo).filter(({pull:_})=>!u.author||_.author===u.author).filter(({pull:_})=>!u.label||_.labels.includes(u.label)).filter(({pull:_})=>!u.base||_.baseRef===u.base).filter(({pull:_})=>If(_.updatedAt,u.age)).filter(({pull:_})=>!C||_.title.toLowerCase().includes(C)||_.author.toLowerCase().includes(C)||String(_.number)===C||_.headRef.toLowerCase().includes(C)||_.labels.some(N=>N.toLowerCase().includes(C)))},[R,u.repo,u.author,u.label,u.base,u.age,d]),F=(0,oe.useMemo)(()=>u.drafts?P:P.filter(({pull:C})=>!C.draft),[P,u.drafts]),A=a?.me.name,Z=(0,oe.useMemo)(()=>Pf((u.quick==="drafts"?P:F).filter(({pull:C,brief:_})=>Of(C,u.quick,_,A)),u.sort.dir,({pull:C})=>GL(C,u.sort.key)),[F,P,u.quick,u.sort,A]),j=(0,oe.useMemo)(()=>Object.fromEntries(lu.map(C=>[C,(C==="drafts"?P:F).filter(({pull:_,brief:N})=>Of(_,C,N,A)).length])),[F,P,A]),z=(0,oe.useMemo)(()=>Object.fromEntries(lu.map(C=>[C,R.filter(({pull:_,brief:N})=>Of(_,C,N,A)).length])),[R,A]),V=(0,oe.useMemo)(()=>ha(R.map(({pull:C})=>C.author)),[R]),O=(0,oe.useMemo)(()=>ha(R.flatMap(({pull:C})=>C.labels)),[R]),K=(0,oe.useMemo)(()=>ha(R.map(({pull:C})=>C.baseRef)),[R]),le=u.quick!=="all"||u.drafts||!!(u.repo||u.author||u.label||u.base||u.age||d.trim()),q=u.drafts||u.quick==="drafts"?0:P.filter(({pull:C})=>C.draft).length,D=(C,_)=>c(N=>({...N,[C]:_})),g=C=>c(_=>({..._,sort:Lf(_.sort,C,du(uu,C))}));return a?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)("div",{className:"page-title",children:[(0,k.jsxs)("h2",{className:"plugin-name",children:[(0,k.jsx)(it,{id:e,size:22}),En[e]]}),(0,k.jsxs)("p",{children:["Open ",r.nouns," on the ",r.repoNoun==="project"?"projects":"repositories"," this gateway watches, synced every five minutes."," ",(0,k.jsx)("button",{type:"button",className:"link",onClick:()=>void w(),disabled:x,children:x?"syncing\\u2026":"sync now"})]})]}),s&&(0,k.jsx)("div",{className:"error-bar",children:s}),(0,k.jsxs)("div",{className:"tiles",children:[(0,k.jsxs)("div",{className:"tile",children:[(0,k.jsx)("div",{className:"label",children:r.repoNoun==="project"?"projects":"repositories"}),(0,k.jsx)("div",{className:"value",children:$(a.repos.length)})]}),(0,k.jsxs)("div",{className:"tile",children:[(0,k.jsxs)("div",{className:"label",children:["open ",r.nouns]}),(0,k.jsx)("div",{className:"value",children:$(z.all)})]}),(0,k.jsxs)("div",{className:`tile ${z.failing?"bad":""}`,children:[(0,k.jsx)("div",{className:"label",children:"failing checks"}),(0,k.jsx)("div",{className:"value",children:$(z.failing)})]}),(0,k.jsxs)("div",{className:`tile ${z.conflicts?"bad":""}`,children:[(0,k.jsx)("div",{className:"label",children:"conflicts"}),(0,k.jsx)("div",{className:"value",children:$(z.conflicts)})]}),(0,k.jsxs)("div",{className:"tile",children:[(0,k.jsx)("div",{className:"label",children:"awaiting review"}),(0,k.jsx)("div",{className:"value",children:$(z.review)})]}),(0,k.jsxs)("div",{className:`tile ${z.ready?"attention":""}`,children:[(0,k.jsx)("div",{className:"label",children:"ready to merge"}),(0,k.jsx)("div",{className:"value",children:$(z.ready)})]})]}),m?b?(0,k.jsx)(eO,{detail:b,words:r,host:e,member:n,review:a.review,me:A,onBack:()=>f(null),onReview:async()=>{let C=await ne(`${i}/repos/${m.repoId}/pulls/${m.number}/review`,t,{method:"POST"});v(_=>_&&{..._,review:C.review,reviewing:!1}),E()},onPost:async C=>{let _=await ne(`${i}/repos/${m.repoId}/pulls/${m.number}/review/post`,t,{method:"POST",body:{as:C}});v(N=>N&&{...N,review:_.review}),E()},onAsk:async C=>{let _=await ne(`${i}/repos/${m.repoId}/pulls/${m.number}/review/ask`,t,{method:"POST",body:{question:C}});v(N=>N&&{...N,review:_.review})}}):(0,k.jsxs)("section",{className:"panel",children:[(0,k.jsxs)("button",{type:"button",className:"ghost mini",onClick:()=>f(null),children:["\\u2190 ",r.nouns]}),h?(0,k.jsx)("div",{className:"error",children:h}):(0,k.jsxs)("div",{className:"skeleton-rows","aria-busy":"true","aria-label":`Loading the ${r.noun}`,children:[(0,k.jsx)("span",{className:"skeleton",style:{width:"50%",height:18,marginTop:10}}),(0,k.jsx)("span",{className:"skeleton",style:{width:"70%",height:12}}),(0,k.jsx)("span",{className:"skeleton",style:{width:"100%",height:120,marginTop:8}}),(0,k.jsx)("span",{className:"skeleton",style:{width:"100%",height:180}})]})]}):(0,k.jsxs)("section",{className:"panel",children:[(0,k.jsx)("div",{className:"section-heading",children:(0,k.jsxs)("h2",{children:["Open ",r.nouns,(0,k.jsx)("span",{className:"count",children:$(Z.length)})]})}),(0,k.jsxs)("div",{className:"toolbar",children:[(0,k.jsx)("span",{className:"chips",role:"group","aria-label":"View",children:lu.filter(C=>C!=="mine"||A!==void 0).map(C=>(0,k.jsxs)("button",{type:"button",className:u.quick===C?"on":"",onClick:()=>D("quick",C),title:C==="mine"?`${BN.mine} (you are ${A})`:BN[C],children:[VN[C],(0,k.jsx)("span",{className:"chip-count",children:$(j[C])})]},C))}),(0,k.jsx)("input",{type:"search",className:"search",placeholder:"title, author, branch, label or number",value:d,onChange:C=>p(C.target.value),"aria-label":"Search"})]}),(0,k.jsxs)("div",{className:"toolbar filters",children:[a.repos.length>1&&(0,k.jsx)(Bn,{label:r.repoNoun,value:u.repo,onChange:C=>D("repo",C),any:`every ${r.repoNoun}`,options:a.repos.map(C=>({value:C.id,label:C.fullName}))}),(0,k.jsx)(Bn,{label:"author",value:u.author,onChange:C=>D("author",C),any:"anyone",options:V.map(C=>({value:C,label:C}))}),O.length>0&&(0,k.jsx)(Bn,{label:"label",value:u.label,onChange:C=>D("label",C),any:"any label",options:O.map(C=>({value:C,label:C}))}),K.length>1&&(0,k.jsx)(Bn,{label:"into",value:u.base,onChange:C=>D("base",C),any:"any branch",options:K.map(C=>({value:C,label:C}))}),(0,k.jsx)(Bn,{label:"activity",value:u.age,onChange:C=>D("age",C),options:Rf}),(0,k.jsx)("button",{type:"button",className:`mini toggle ${u.drafts?"on":"ghost"}`,onClick:()=>D("drafts",!u.drafts),"aria-pressed":u.drafts,title:u.drafts?"Drafts are in the list; click to hide them":"Drafts are hidden; click to show them",children:u.drafts?"drafts shown":`drafts hidden${q?` \\xB7 ${$(q)}`:""}`}),le&&(0,k.jsx)("button",{type:"button",className:"link",onClick:()=>{c(C=>({...jN,sort:C.sort})),p("")},children:"clear filters"}),(0,k.jsx)("span",{className:"spacer"}),(0,k.jsxs)("label",{className:"filter sort",children:[(0,k.jsx)("span",{children:"order by"}),(0,k.jsx)("select",{value:u.sort.key,onChange:C=>D("sort",{key:C.target.value,dir:du(uu,C.target.value)}),"aria-label":"Order by",children:uu.map(C=>(0,k.jsx)("option",{value:C.key,children:C.label},C.key))}),(0,k.jsx)("button",{type:"button",className:"ghost mini dir",onClick:()=>D("sort",{...u.sort,dir:u.sort.dir==="asc"?"desc":"asc"}),title:u.sort.dir==="asc"?"Ascending; click for descending":"Descending; click for ascending","aria-label":u.sort.dir==="asc"?"Ascending":"Descending",children:u.sort.dir==="asc"?"\\u2191":"\\u2193"})]})]}),Z.length===0?(0,k.jsx)("div",{className:"empty",children:R.length===0?`No open ${r.nouns}.`:q&&P.length===q?`Only drafts (${$(q)}), and drafts are hidden.`:"Nothing matches these filters."}):(0,k.jsx)("div",{className:"scroll",children:(0,k.jsxs)("table",{className:"pulls",children:[(0,k.jsx)("thead",{children:(0,k.jsxs)("tr",{children:[(0,k.jsx)(Jt,{column:"title",sort:u.sort,onSort:g,children:r.noun}),(0,k.jsx)(Jt,{column:"author",sort:u.sort,onSort:g,children:"author"}),(0,k.jsx)(Jt,{column:"size",sort:u.sort,onSort:g,className:"num",title:"Lines added and removed",children:"size"}),(0,k.jsx)(Jt,{column:"checks",sort:u.sort,onSort:g,children:"checks"}),(0,k.jsx)(Jt,{column:"merge",sort:u.sort,onSort:g,children:"merge"}),(0,k.jsx)(Jt,{column:"review",sort:u.sort,onSort:g,children:"review"}),(0,k.jsx)(Jt,{column:"updated",sort:u.sort,onSort:g,children:"updated"}),(0,k.jsx)("th",{})]})}),(0,k.jsx)("tbody",{children:Z.map(({repo:C,pull:_})=>(0,k.jsxs)("tr",{className:`pull-row ${ZN(_,A)?"needs-me":""}`,onClick:()=>f({repoId:C.id,number:_.number}),tabIndex:0,onKeyDown:N=>N.key==="Enter"&&f({repoId:C.id,number:_.number}),children:[(0,k.jsxs)("td",{children:[(0,k.jsxs)("div",{className:"entity-name",children:[_.draft&&(0,k.jsx)("span",{className:"tag",children:"draft"})," ",_.title]}),(0,k.jsxs)("div",{className:"key-id muted pull-sub",children:[(0,k.jsxs)("span",{className:"pull-ref",children:[a.repos.length>1?`${C.fullName} `:"",r.hash,_.number]}),(0,k.jsxs)("span",{className:"pull-branches",children:[(0,k.jsx)("code",{children:_.headRef})," \\u2192 ",(0,k.jsx)("code",{children:_.baseRef})]})]}),(QN(_,A)!==void 0||_.labels.length>0)&&(0,k.jsxs)("div",{className:"pull-tags",children:[(0,k.jsx)(XN,{pull:_,me:A}),_.labels.map(N=>(0,k.jsx)("span",{className:"tag",children:N},N))]})]}),(0,k.jsx)("td",{children:_.author}),(0,k.jsx)("td",{className:"num size",title:_.changedFiles!==void 0?Fe(_.changedFiles,"file changed","files changed"):void 0,children:_.changedFiles===void 0?(0,k.jsx)("span",{className:"muted",children:"\\u2013"}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)("span",{className:"ins-text",children:["+",$(_.additions??0)]})," ",(0,k.jsxs)("span",{className:"del-text",children:["\\u2212",$(_.deletions??0)]})]})}),(0,k.jsx)("td",{children:(0,k.jsx)(ya,{tone:_f[_.checks],title:_.checkRuns.map(N=>`${N.name}: ${N.state}`).join(`\n`),children:_.checks==="none"?"none":`${$(_.checkRuns.filter(N=>N.state==="success").length)}/${$(_.checkRuns.length)}`})}),(0,k.jsx)("td",{children:(0,k.jsx)(ya,{tone:KN[_.mergeable],children:WN[_.mergeable]})}),(0,k.jsxs)("td",{children:[(0,k.jsx)(ya,{tone:YN[_.review],children:GN[_.review]}),(0,k.jsx)(JN,{pull:_})]}),(0,k.jsx)("td",{className:"muted",title:`updated ${_.updatedAt}\nopened ${_.createdAt}`,children:Oe(_.updatedAt)}),(0,k.jsx)("td",{className:"actions",onClick:N=>N.stopPropagation(),children:(0,k.jsx)("a",{href:_.url,target:"_blank",rel:"noreferrer",className:"open-link",title:`Open ${r.hash}${_.number} on ${En[e]}`,onKeyDown:N=>N.stopPropagation(),children:"open \\u2197"})})]},`${C.id}:${_.number}`))})]})})]}),(0,k.jsx)(aO,{host:e,overview:a,base:i,apiKey:t,review:a.review,onChanged:E}),n?(0,k.jsx)(XL,{host:e,words:r,overview:a,base:i,apiKey:t,onChanged:E}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(YL,{host:e,words:r,overview:a,base:i,apiKey:t,onChanged:E}),(0,k.jsx)(tO,{words:r,overview:a,base:i,apiKey:t,onChanged:E}),(0,k.jsx)(QL,{host:e,words:r,overview:a,base:i,apiKey:t,onChanged:E})]})]}):s?(0,k.jsx)("div",{className:"error-bar",children:s}):(0,k.jsx)(_n,{tiles:5,title:(0,k.jsxs)("h2",{className:"plugin-name",children:[(0,k.jsx)(it,{id:e,size:22}),En[e]]})})};var me=X(Ce()),oO={github:{viewBox:"0 0 16 16",path:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"},backups:{viewBox:"0 0 16 16",color:"#3987e5",path:"M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 .75.75v2.5a.75.75 0 0 1-.75.75H14v6.25A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25V6h-.25A.75.75 0 0 1 1 5.25v-2.5zm1.5.75v1h11v-1h-11zM3.5 6v6.25c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V6h-9zm2.75 1.5h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5z"},gitea:{viewBox:"0 0 24 24",color:"#609926",path:"M4 5.5A1.5 1.5 0 0 1 5.5 4h10A1.5 1.5 0 0 1 17 5.5V7h2.25A2.75 2.75 0 0 1 22 9.75v1.5A3.75 3.75 0 0 1 18.25 15H17v.5A4.5 4.5 0 0 1 12.5 20h-4A4.5 4.5 0 0 1 4 15.5v-10zM17 9v4h1.25A1.75 1.75 0 0 0 20 11.25v-1.5A.75.75 0 0 0 19.25 9H17zm-9 2.5h5v-2H8v2zm0 4h5v-2H8v2z"},bitbucket:{viewBox:"0 0 24 24",color:"#2684ff",path:"M.778 1.213a.768.768 0 0 0-.768.892l3.263 19.81c.084.5.515.868 1.022.873H19.95a.772.772 0 0 0 .77-.646l3.27-20.03a.768.768 0 0 0-.768-.891zM14.52 15.53H9.522L8.17 8.466h7.561z"},discord:{viewBox:"0 0 24 24",color:"#5865f2",path:"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"},teams:{viewBox:"0 0 24 24",color:"#6264a7",path:"M14.5 3.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0zM19.5 5.5a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM3 8.75A1.75 1.75 0 0 1 4.75 7h9.5A1.75 1.75 0 0 1 16 8.75V15a4 4 0 0 1-8 0v-1H4.75A1.75 1.75 0 0 1 3 12.25v-3.5zm3 1.25v1.5h1.5V17h1.5v-5.5h1.5V10H6zm11 0h3.25c.966 0 1.75.784 1.75 1.75v3.5A3.5 3.5 0 0 1 18.5 19h-.86A5.98 5.98 0 0 0 18 15v-5z"},context:{viewBox:"0 0 16 16",color:"#9085e9",path:"M8 1.25a.75.75 0 0 1 .34.08l6 3a.75.75 0 0 1 0 1.34l-6 3a.75.75 0 0 1-.68 0l-6-3a.75.75 0 0 1 0-1.34l6-3A.75.75 0 0 1 8 1.25zM3.93 5 8 7.04 12.07 5 8 2.96 3.93 5zM1.6 8.16a.75.75 0 0 1 1-.32L8 10.54l5.4-2.7a.75.75 0 0 1 .68 1.34l-5.74 2.87a.75.75 0 0 1-.68 0L1.92 9.18a.75.75 0 0 1-.32-1.02zm0 3a.75.75 0 0 1 1-.32L8 13.54l5.4-2.7a.75.75 0 0 1 .68 1.34l-5.74 2.87a.75.75 0 0 1-.68 0l-5.74-2.87a.75.75 0 0 1-.32-1.02z"},oidc:{viewBox:"0 0 16 16",color:"#c98500",path:"M10.5 0a5.5 5.5 0 0 0-5.3 6.97L.22 11.94A.75.75 0 0 0 0 12.47V15.25c0 .414.336.75.75.75h2.5a.75.75 0 0 0 .75-.75V14h1.25a.75.75 0 0 0 .75-.75V12h1.25a.75.75 0 0 0 .53-.22l1.03-1.03A5.5 5.5 0 1 0 10.5 0zm0 1.5a4 4 0 1 1-1.31 7.78.75.75 0 0 0-.78.18L7.19 10.5H5.75a.75.75 0 0 0-.75.75v1.25H3.75a.75.75 0 0 0-.75.75v1.25H1.5v-1.72l5.09-5.09a.75.75 0 0 0 .18-.78A4 4 0 0 1 10.5 1.5zM12 3.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"},slack:{viewBox:"0 0 24 24",color:"#e01e5a",path:"M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"},gitlab:{viewBox:"0 0 24 24",color:"#fc6d26",path:"m23.6 9.593-.034-.086L20.3.981a.85.85 0 0 0-.336-.405.875.875 0 0 0-1 .054.875.875 0 0 0-.29.44l-2.205 6.748H7.538L5.332 1.07a.857.857 0 0 0-.29-.441.875.875 0 0 0-1-.054.859.859 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.011.009.03.021 4.976 3.727 2.462 1.863 1.5 1.132a1.009 1.009 0 0 0 1.22 0l1.5-1.132 2.461-1.863 5.006-3.749.013-.01a6.068 6.068 0 0 0 2.009-7.003z"}},it=({id:e,size:t=16})=>{let n=oO[e];return n?(0,me.jsx)("svg",{className:"plugin-icon",width:t,height:t,viewBox:n.viewBox,"aria-hidden":"true",focusable:"false",style:n.color?{color:n.color}:void 0,children:(0,me.jsx)("path",{fill:"currentColor",d:n.path})}):null},nS=({plugins:e,licensed:t,onToggle:n,people:r,onShare:i,onOpen:a,onNavigate:o})=>{let[s,l]=(0,zf.useState)(null),[u,c]=(0,zf.useState)(),d=async m=>{l(m.id),c(void 0);try{await n(m.id,!m.enabled)}catch(f){c(ye(f))}finally{l(null)}},p=e.filter(m=>m.enabled).length;return(0,me.jsxs)(me.Fragment,{children:[(0,me.jsxs)("div",{className:"page-title",children:[(0,me.jsx)("h2",{children:"Plugins"}),(0,me.jsxs)("p",{children:[p===0?"Nothing switched on.":`${p} of ${e.length} switched on.`," A plugin keeps its own files under the data directory and adds a page here."]})]}),!t&&(0,me.jsxs)("div",{className:"confirm-bar",children:[(0,me.jsxs)("span",{children:["Plugins are a licence feature. ",p>0?"The ones switched on are stopped until a licence is installed.":"Install a licence to switch one on."]}),(0,me.jsx)("button",{type:"button",className:"primary",onClick:()=>o("plan"),children:"Plan & licence"})]}),u&&(0,me.jsx)("div",{className:"error-bar",children:u}),(0,me.jsx)("div",{className:"plugin-grid",children:e.map(m=>(0,me.jsxs)("section",{className:`panel plugin ${m.enabled?"on":""}`,children:[(0,me.jsxs)("div",{className:"section-heading",children:[(0,me.jsxs)("h2",{className:"plugin-name",children:[(0,me.jsx)(it,{id:m.id,size:22}),m.name]}),(0,me.jsx)("span",{className:`pill-s ${m.enabled?"ok":""}`,children:m.enabled?"on":"off"})]}),(0,me.jsx)("p",{className:"plugin-description",children:m.description}),(0,me.jsxs)("div",{className:"row-actions",children:[(0,me.jsx)("button",{type:"button",className:m.enabled?"ghost":"primary",disabled:s!==null||!t&&!m.enabled,title:!t&&!m.enabled?"Needs a licence with the plugins feature":void 0,onClick:()=>void d(m),children:s===m.id?"\\u2026":m.enabled?"switch off":"switch on"}),m.enabled&&(0,me.jsx)("button",{type:"button",className:"link",onClick:()=>a(m.id),children:"open"})]}),m.shareable&&m.access&&(0,me.jsx)(MN,{access:m.access,people:r,onSave:f=>i(m.id,f)})]},m.id))})]})},_n=({tiles:e=4,rows:t=5,title:n})=>(0,me.jsxs)("div",{className:"skeleton-page","aria-busy":"true","aria-label":"Loading",children:[(0,me.jsxs)("div",{className:"page-title",children:[n??(0,me.jsx)("span",{className:"skeleton",style:{width:120,height:24}}),(0,me.jsx)("span",{className:"skeleton",style:{width:360,height:14}})]}),(0,me.jsx)("div",{className:"tiles",children:Array.from({length:e},(r,i)=>(0,me.jsxs)("div",{className:"tile",children:[(0,me.jsx)("div",{className:"label",children:(0,me.jsx)("span",{className:"skeleton",style:{width:"60%",height:11}})}),(0,me.jsx)("div",{className:"value",children:(0,me.jsx)("span",{className:"skeleton",style:{width:40,height:22}})})]},i))}),(0,me.jsxs)("section",{className:"panel",children:[(0,me.jsxs)("div",{className:"section-heading",children:[(0,me.jsx)("span",{className:"skeleton",style:{width:160,height:12}}),(0,me.jsx)("span",{className:"skeleton",style:{width:220,height:24}})]}),(0,me.jsx)("div",{className:"skeleton-rows",children:Array.from({length:t},(r,i)=>(0,me.jsxs)("div",{className:"skeleton-row",children:[(0,me.jsx)("span",{className:"skeleton",style:{width:`${55-i%3*8}%`,height:13}}),(0,me.jsx)("span",{className:"skeleton",style:{width:70,height:18,borderRadius:999}}),(0,me.jsx)("span",{className:"skeleton",style:{width:84,height:18,borderRadius:999}}),(0,me.jsx)("span",{className:"skeleton",style:{width:60,height:12}})]},i))})]}),(0,me.jsxs)("section",{className:"panel",children:[(0,me.jsx)("div",{className:"section-heading",children:(0,me.jsx)("span",{className:"skeleton",style:{width:120,height:12}})}),(0,me.jsx)("div",{className:"skeleton-rows",children:Array.from({length:2},(r,i)=>(0,me.jsxs)("div",{className:"skeleton-row",children:[(0,me.jsx)("span",{className:"skeleton",style:{width:"30%",height:13}}),(0,me.jsx)("span",{className:"skeleton",style:{width:50,height:18}}),(0,me.jsx)("span",{className:"skeleton",style:{width:60,height:12}})]},i))})]})]}),pu=({id:e,apiKey:t,member:n=!1})=>e==="github"||e==="gitlab"||e==="gitea"||e==="bitbucket"?(0,me.jsx)(tS,{host:e,apiKey:t,member:n}):n?(0,me.jsx)("div",{className:"empty",children:"This plugin has no page for developers."}):e==="backups"?(0,me.jsx)($v,{apiKey:t}):e==="oidc"?(0,me.jsx)($N,{apiKey:t}):e==="context"?(0,me.jsx)(FN,{apiKey:t}):e==="slack"||e==="discord"||e==="teams"?(0,me.jsx)(zN,{host:e,apiKey:t}):(0,me.jsx)("div",{className:"empty",children:"This plugin has no page."});var st=X(Ce()),$f="plugin:",sO=()=>{let e=location.hash.replace(/^#/,"");return e.startsWith($f)?e.slice($f.length):void 0},rS=({apiKey:e,who:t,onSignOut:n})=>{let[r,i]=(0,nr.useState)(null),[a,o]=(0,nr.useState)(),[s,l]=(0,nr.useState)(sO),u=(0,nr.useCallback)(p=>{l(p);try{history.replaceState(null,"",`#${$f}${p}`)}catch{}},[]),c=(0,nr.useCallback)(async()=>{try{let p=await ne("/twinny/v1/admin/plugins",e);i(p.plugins),o(void 0)}catch(p){if(p instanceof xn&&p.status===401){n(p.message);return}o(ye(p))}},[e,n]);(0,nr.useEffect)(()=>{c();let p=setInterval(()=>{document.visibilityState==="visible"&&c()},6e4);return()=>clearInterval(p)},[c]);let d=r?.find(p=>p.id===s)??r?.[0];return(0,st.jsxs)("div",{className:"app",children:[(0,st.jsxs)("header",{className:"top",children:[(0,st.jsxs)("h1",{children:["twinny",(0,st.jsx)("span",{children:"-server"})]}),(0,st.jsx)("span",{className:"spacer"}),(0,st.jsx)("span",{className:"who",title:"Signed in with this developer key",children:t.key}),(0,st.jsx)("button",{className:"ghost",onClick:()=>n(),children:"sign out"})]}),(0,st.jsxs)("div",{className:"shell",children:[(0,st.jsxs)("nav",{className:"sidenav","aria-label":"Plugins shared with you",children:[(0,st.jsx)("div",{className:"group",children:"Plugins"}),r?.map(p=>(0,st.jsx)("button",{className:d?.id===p.id?"on":"",onClick:()=>u(p.id),"aria-current":d?.id===p.id?"page":void 0,children:(0,st.jsxs)("span",{className:"nav-plugin",children:[(0,st.jsx)(it,{id:p.id,size:14}),p.name]})},p.id))]}),(0,st.jsxs)("div",{className:"main",children:[a&&(0,st.jsx)("div",{className:"error-bar",children:a}),!r&&!a&&(0,st.jsx)("div",{className:"loading",children:"Loading\\u2026"}),r&&!d&&(0,st.jsxs)("div",{className:"empty",children:["Nothing is shared with ",t.key," yet. An admin can share a plugin with you on the Plugins page; the rest of this page is for admins."]}),d&&(0,st.jsx)(pu,{id:d.id,apiKey:e,member:!0},d.id)]})]})]})};var mu=X(Ye());var ue=X(Ce()),lO=e=>e.requests&&e.ok/e.requests<.9?"revoked":"",iS=({t:e,whole:t,max:n,currency:r})=>(0,ue.jsxs)(ue.Fragment,{children:[(0,ue.jsx)("td",{className:"num",children:(0,ue.jsxs)("span",{className:"share",children:[(0,ue.jsx)("span",{className:"share-fill",style:{width:`${e.requests/Math.max(1,n)*100}%`}}),(0,ue.jsx)("span",{className:"share-text",children:$(e.requests)})]})}),(0,ue.jsx)("td",{className:"num muted",children:Zi(e.requests,t)}),(0,ue.jsx)("td",{className:`num ${lO(e)}`,children:Zi(e.ok,e.requests)}),(0,ue.jsx)("td",{className:`num ${e.failed?"revoked":"muted"}`,children:$(e.failed)}),(0,ue.jsx)("td",{className:"num muted",children:$(e.cancelled)}),(0,ue.jsx)("td",{className:"num",children:e.counted?Nt(e.promptTokens):(0,ue.jsx)("span",{className:"muted",children:"\\u2013"})}),(0,ue.jsx)("td",{className:"num",children:e.counted?Nt(e.completionTokens):(0,ue.jsx)("span",{className:"muted",children:"\\u2013"})}),r&&(0,ue.jsx)("td",{className:"num",children:e.cost!==void 0?Mf(e.cost,r):(0,ue.jsx)("span",{className:"muted",children:"\\u2013"})}),(0,ue.jsx)("td",{className:"num",children:e.requests?_t(e.ms/e.requests):"\\u2013"}),(0,ue.jsx)("td",{className:"num",children:e.indexing.runs?(0,ue.jsxs)("span",{title:`${$(e.indexing.calls)} embedding calls${e.indexing.texts?`, ${$(e.indexing.texts)} texts`:""}`,children:[$(e.indexing.runs),e.indexing.texts?(0,ue.jsxs)("span",{className:"muted",children:[" \\xB7 ",Nt(e.indexing.texts)," texts"]}):null]}):(0,ue.jsx)("span",{className:"muted",children:"\\u2013"})})]}),Mf=(e,t)=>`${e<.01&&e>0?"<0.01":e.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})} ${t}`,uO=e=>(0,ue.jsxs)(ue.Fragment,{children:[(0,ue.jsx)("th",{className:"num",children:"Requests"}),(0,ue.jsx)("th",{className:"num",children:"Share"}),(0,ue.jsx)("th",{className:"num",children:"OK"}),(0,ue.jsx)("th",{className:"num",children:"Failed"}),(0,ue.jsx)("th",{className:"num",children:"Cancelled"}),(0,ue.jsx)("th",{className:"num",children:"Prompt tok"}),(0,ue.jsx)("th",{className:"num",children:"Output tok"}),e&&(0,ue.jsx)("th",{className:"num",children:"Cost"}),(0,ue.jsx)("th",{className:"num",children:"Avg"}),(0,ue.jsx)("th",{className:"num",title:"Embedding calls grouped: a developer\'s calls to one model with no two-minute gap are one run, counted as one request",children:"Index runs"})]}),aS=({summary:e,status:t,period:n,colorOf:r})=>{let i=Object.keys(e.byPeer??{}),[a,o]=(0,mu.useState)("key"),s=e.total.requests,l=new Map(t.models.map(p=>[p.id,p.ok])),u=(0,mu.useMemo)(()=>{let p;return a==="key"?p=Object.entries(e.byKey).map(([m,f])=>({id:m,key:m,totals:f})):a==="model"?p=Object.entries(e.byModel).map(([m,f])=>({id:m,model:m,totals:f})):a==="peer"?p=Object.entries(e.byPeer??{}).map(([m,f])=>({id:m,peer:m,totals:f})):p=Object.entries(e.byKeyAndModel).flatMap(([m,f])=>Object.entries(f).map(([b,v])=>({id:`${m}\\0${b}`,key:m,model:b,totals:v}))),p.sort((m,f)=>f.totals.requests-m.totals.requests||m.id.localeCompare(f.id))},[e,a]),c=Math.max(1,...u.map(p=>p.totals.requests)),d=(p,m,f)=>(0,ue.jsxs)("button",{type:"button",className:a===p?"on":"ghost",onClick:()=>o(p),children:[m,(0,ue.jsx)("span",{className:"chip-count",children:$(f)})]},p);return(0,ue.jsxs)(ue.Fragment,{children:[(0,ue.jsxs)("div",{className:"page-title",children:[(0,ue.jsx)("h2",{children:"Usage"}),(0,ue.jsxs)("p",{children:["Who used which model over the last ",n,". Token counts are what the backends reported. Indexing a workspace is hundreds of embedding calls; those are grouped into runs, and a run counts as one request."]})]}),(0,ue.jsxs)("section",{className:"panel",children:[(0,ue.jsxs)("div",{className:"section-heading",children:[(0,ue.jsx)("h2",{children:a==="key"?"By developer":a==="model"?"By model":a==="peer"?"By teammate\'s computer":"By developer and model"}),(0,ue.jsxs)("span",{className:"chips",role:"group","aria-label":"Group by",children:[d("key","Developers",Object.keys(e.byKey).length),d("model","Models",Object.keys(e.byModel).length),d("key-model","Developer \\xD7 model",u.length&&a==="key-model"?u.length:Object.values(e.byKeyAndModel).reduce((p,m)=>p+Object.keys(m).length,0)),i.length>0&&d("peer","Teammates\' computers",i.length)]})]}),s?(0,ue.jsx)("div",{className:"scroll",children:(0,ue.jsxs)("table",{className:"usage",children:[(0,ue.jsx)("thead",{children:(0,ue.jsxs)("tr",{children:[(a==="key"||a==="key-model")&&(0,ue.jsx)("th",{children:"Developer"}),(a==="model"||a==="key-model")&&(0,ue.jsx)("th",{children:"Model"}),a==="peer"&&(0,ue.jsx)("th",{children:"Computer"}),uO(e.currency)]})}),(0,ue.jsx)("tbody",{children:u.map(p=>(0,ue.jsxs)("tr",{children:[p.key!==void 0&&(0,ue.jsxs)("td",{children:[(0,ue.jsx)("span",{className:"dot",style:{background:r(p.key)}}),p.key]}),p.model!==void 0&&(0,ue.jsxs)("td",{children:[l.has(p.model)&&(0,ue.jsx)("i",{className:`status-dot ${l.get(p.model)?"ok":"bad"}`,title:l.get(p.model)?"answering":"down"}),p.model]}),p.peer!==void 0&&(0,ue.jsx)("td",{children:p.peer}),(0,ue.jsx)(iS,{t:p.totals,whole:s,max:c,currency:e.currency})]},p.id))}),(0,ue.jsx)("tfoot",{children:(0,ue.jsxs)("tr",{children:[(0,ue.jsx)("td",{colSpan:a==="key-model"?2:1,children:"Everyone"}),(0,ue.jsx)(iS,{t:e.total,whole:s,max:e.total.requests,currency:e.currency})]})})]})}):(0,ue.jsxs)("div",{className:"empty",children:["No requests in the last ",n,". Usage appears as developers use chat, autocomplete and embeddings through the gateway."]})]})]})};var H=X(Ce()),fu="var(--other)",cO=(e,t)=>{let n=[],r=new Date(t.slice(0,10)+"T00:00:00Z").getTime();for(let i=new Date(e.slice(0,10)+"T00:00:00Z").getTime();i<=r;i+=864e5)n.push(new Date(i).toISOString().slice(0,10));return n},dO=({summary:e,series:t})=>{let n=cO(String(e.since),String(e.until)),r=new Map(e.byDay.map(E=>[E.day,E])),i=new Set(t.map(E=>E.name)),a=n.map(E=>{let w=r.get(E),R=t.map(F=>w?.byKey[F.name]??0),P=w?Object.entries(w.byKey).filter(([F])=>!i.has(F)).reduce((F,[,A])=>F+A,0):0;return{day:E,counts:R,other:P,total:w?.requests??0}}),o=Math.max(1,...a.map(E=>E.total)),s=900,l=180,u=36,c=22,d=14,p=s-u-8,m=l-d-c,f=p/a.length,b=Math.max(4,Math.min(28,f*.6)),v=E=>d+m-E/o*m,h=[0,Math.round(o/2),o],y=Math.ceil(a.length/10),x=a.length<=14,S=a.some(E=>E.other>0);return e.total.requests?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)("svg",{className:"chart",viewBox:`0 0 ${s} ${l}`,role:"img","aria-label":"Requests per day by key",children:[h.map(E=>(0,H.jsxs)("g",{children:[(0,H.jsx)("line",{className:"grid",x1:u,x2:s-8,y1:v(E),y2:v(E)}),(0,H.jsx)("text",{x:u-6,y:v(E)+3,textAnchor:"end",children:$(E)})]},E)),a.map((E,w)=>{let R=u+w*f+(f-b)/2,P=0,F=[...E.counts.map((A,Z)=>({n:A,color:t[Z].color,name:t[Z].name})),{n:E.other,color:fu,name:"other"}];return(0,H.jsxs)("g",{children:[F.map(A=>{if(!A.n)return null;let Z=v(P+A.n),j=v(P)-Z;return P+=A.n,(0,H.jsx)("rect",{className:"seg",x:R,y:Z,width:b,height:j,rx:P===E.total?3:0,fill:A.color,children:(0,H.jsx)("title",{children:`${E.day} \\xB7 ${A.name}: ${$(A.n)} of ${$(E.total)}`})},A.name)}),x&&E.total>0&&(0,H.jsx)("text",{className:"label",x:R+b/2,y:v(E.total)-4,textAnchor:"middle",children:$(E.total)}),w%y===0&&(0,H.jsx)("text",{x:R+b/2,y:l-6,textAnchor:"middle",children:E.day.slice(5)})]},E.day)})]}),(0,H.jsxs)("div",{className:"legend",children:[t.map(E=>(0,H.jsxs)("span",{children:[(0,H.jsx)("i",{style:{background:E.color}}),E.name]},E.name)),S&&(0,H.jsxs)("span",{children:[(0,H.jsx)("i",{style:{background:fu}}),"other"]})]})]}):(0,H.jsx)("div",{className:"empty",children:"No requests in this period."})},oS=({rows:e,whole:t,colorOf:n,limit:r=8,emptyText:i,right:a})=>{let o=[...e].sort((c,d)=>d.totals.requests-c.totals.requests||c.name.localeCompare(d.name)),s=o.slice(0,r),l=o.slice(r),u=Math.max(1,...s.map(c=>c.totals.requests));return s.length?(0,H.jsxs)("div",{className:"bars",children:[s.map(c=>(0,H.jsxs)("div",{className:"bar-row",title:`${$(c.totals.requests)} of ${$(t)} requests`,children:[(0,H.jsxs)("span",{className:"bar-name",children:[n&&(0,H.jsx)("i",{className:"dot",style:{background:n(c.name)}}),c.name,c.note]}),(0,H.jsx)("span",{className:"bar-track",children:(0,H.jsx)("span",{className:"bar-fill",style:{width:`${c.totals.requests/u*100}%`,background:n?n(c.name):"var(--accent)"}})}),(0,H.jsxs)("span",{className:"bar-value",children:[a?a(c.totals):$(c.totals.requests),(0,H.jsxs)("span",{className:"muted",children:[" \\xB7 ",Zi(c.totals.requests,t)]})]})]},c.name)),l.length>0&&(0,H.jsxs)("div",{className:"bar-row muted",children:[(0,H.jsx)("span",{className:"bar-name",children:Fe(l.length,"more")}),(0,H.jsx)("span",{className:"bar-track"}),(0,H.jsx)("span",{className:"bar-value",children:$(l.reduce((c,d)=>c+d.totals.requests,0))})]})]}):(0,H.jsx)("div",{className:"empty",children:i})},sS=({status:e,usage:t,keys:n,period:r,series:i,colorOf:a,onNavigate:o})=>{let s=t.total,l=n.keys.filter(f=>!f.revokedAt),u=Object.entries(t.byKey).filter(([,f])=>f.requests>0).length,c=e.backends.filter(f=>!f.ok),d=Math.max(1,t.byDay.length),p=new Map(e.models.map(f=>[f.id,f.ok])),m=s.requests?Math.round(s.ok/s.requests*100):null;return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)("div",{className:"page-title",children:[(0,H.jsx)("h2",{children:"Overview"}),(0,H.jsxs)("p",{children:["The last ",r,", and whether the backends answer right now."]})]}),c.length>0&&(0,H.jsxs)("div",{className:"error-bar",children:[c.length===1?"A backend is down":`${c.length} backends are down`,":"," ",c.map(f=>`${f.provider} (${f.kind??"unreachable"})`).join(", "),". Requests routed to",c.length===1?" it ":" them ","fail until it answers."," ",(0,H.jsx)("button",{type:"button",className:"link",onClick:()=>o("models"),children:"Check the provider"}),"."]}),(0,H.jsxs)("section",{className:"tiles",children:[(0,H.jsxs)("div",{className:"tile",children:[(0,H.jsx)("div",{className:"label",children:"Requests"}),(0,H.jsx)("div",{className:"value",children:$(s.requests)}),(0,H.jsxs)("div",{className:"sub",children:[s.requests?`${$(Math.round(s.requests/d))} a day on average`:"none in this period",s.indexing.runs?` \\xB7 ${Fe(s.indexing.runs,"indexing run")}`:""]})]}),(0,H.jsxs)("div",{className:`tile ${m!==null&&m<90?"bad":""}`,children:[(0,H.jsx)("div",{className:"label",children:"Succeeded"}),(0,H.jsx)("div",{className:"value",children:m===null?"\\u2013":`${m}%`}),(0,H.jsxs)("div",{className:"sub",children:[s.failed?(0,H.jsxs)("span",{className:"revoked",children:[$(s.failed)," failed"]}):"none failed",s.cancelled?` \\xB7 ${$(s.cancelled)} cancelled`:""]})]}),(0,H.jsxs)("div",{className:"tile",children:[(0,H.jsx)("div",{className:"label",children:"Developers active"}),(0,H.jsxs)("div",{className:"value",children:[$(u),(0,H.jsxs)("small",{children:["of ",$(l.length)]})]}),(0,H.jsx)("div",{className:"sub",children:(0,H.jsx)("button",{type:"button",className:"link",onClick:()=>o("people"),children:l.length===u?"everyone with a key":`${$(l.length-u)} idle`})})]}),(0,H.jsxs)("div",{className:"tile",children:[(0,H.jsx)("div",{className:"label",children:"Tokens"}),(0,H.jsx)("div",{className:"value",children:s.counted?(0,H.jsxs)(H.Fragment,{children:[Nt(s.promptTokens),(0,H.jsxs)("small",{children:["\\u2192 ",Nt(s.completionTokens)]})]}):"\\u2013"}),(0,H.jsx)("div",{className:"sub",children:s.counted?`prompt \\u2192 output \\xB7 counted on ${Zi(s.counted,s.requests)}`:"backends reported no counts"})]}),t.currency&&(0,H.jsxs)("div",{className:"tile",children:[(0,H.jsx)("div",{className:"label",children:"Cost"}),(0,H.jsx)("div",{className:"value",children:Mf(s.cost??0,t.currency)}),(0,H.jsx)("div",{className:"sub",children:"at the prices set per alias"})]}),(0,H.jsxs)("div",{className:"tile",children:[(0,H.jsx)("div",{className:"label",children:"Avg latency"}),(0,H.jsx)("div",{className:"value",children:s.requests?_t(s.ms/s.requests):"\\u2013"}),(0,H.jsx)("div",{className:"sub",children:e.backends.length===1?`${e.backends[0].provider} answers in ${_t(e.backends[0].ms)}`:e.backends.length?`backends answer in ${_t(Math.min(...e.backends.map(f=>f.ms)))} to ${_t(Math.max(...e.backends.map(f=>f.ms)))}`:"no backends configured"})]})]}),(0,H.jsxs)("section",{className:"panel",children:[(0,H.jsx)("h2",{children:"Requests per day"}),(0,H.jsx)(dO,{summary:t,series:i})]}),(0,H.jsxs)("div",{className:"grid-2",children:[(0,H.jsxs)("section",{className:"panel",children:[(0,H.jsxs)("div",{className:"section-heading",children:[(0,H.jsx)("h2",{children:"Developers"}),(0,H.jsxs)("span",{className:"links",children:[l.every(f=>f.admin)&&(0,H.jsx)("button",{type:"button",className:"link",onClick:()=>o("people"),children:"invite people"}),(0,H.jsx)("button",{type:"button",className:"link",onClick:()=>o("usage"),children:"full usage"})]})]}),(0,H.jsx)(oS,{rows:Object.entries(t.byKey).map(([f,b])=>({name:f,totals:b})),whole:s.requests,colorOf:a,emptyText:"No one has made a request in this period."})]}),(0,H.jsxs)("section",{className:"panel",children:[(0,H.jsxs)("div",{className:"section-heading",children:[(0,H.jsx)("h2",{children:"Models"}),(0,H.jsx)("button",{type:"button",className:"link",onClick:()=>o("models"),children:"providers & models"})]}),(0,H.jsx)(oS,{rows:Object.entries(t.byModel).map(([f,b])=>({name:f,totals:b,note:p.has(f)?(0,H.jsx)("i",{className:`status-dot ${p.get(f)?"ok":"bad"}`,title:p.get(f)?"answering":"down"}):void 0})),whole:s.requests,emptyText:"No model has served a request in this period."})]})]}),(0,H.jsxs)("section",{className:"panel",children:[(0,H.jsxs)("div",{className:"section-heading",children:[(0,H.jsx)("h2",{children:"Backends"}),(0,H.jsx)("span",{className:"muted",children:"Checked live when this page loads"})]}),e.backends.length?(0,H.jsx)("div",{className:"backends",children:e.backends.map(f=>{let b=e.models.filter(v=>v.provider===f.provider);return(0,H.jsxs)("div",{className:`backend ${f.ok?"":"down"}`,children:[(0,H.jsxs)("div",{className:"backend-head",children:[(0,H.jsx)("span",{className:"entity-name",children:f.provider}),(0,H.jsx)("span",{className:`pill-s ${f.ok?"ok":"bad"}`,children:f.ok?`answering \\xB7 ${_t(f.ms)}`:`down \\xB7 ${f.kind??"unreachable"}`}),f.peers!==void 0&&(0,H.jsxs)("span",{className:"muted",children:[Fe(f.peers,"teammate\'s computer","teammates\' computers")," ","connected"]})]}),(0,H.jsx)("div",{className:"backend-models",children:b.length?b.map(v=>(0,H.jsxs)("span",{className:"tag",title:v.ok?"serving":"not serving",children:[(0,H.jsx)("i",{className:`status-dot ${v.ok?"ok":"bad"}`}),v.id,t.byModel[v.id]?(0,H.jsxs)("span",{className:"muted",children:["\\xA0\\xB7 ",Fe(t.byModel[v.id].requests,"request")]}):null]},v.id)):(0,H.jsx)("span",{className:"muted",children:"no models use this provider"})})]},f.provider)})}):(0,H.jsxs)("div",{className:"empty",children:["No providers configured."," ",(0,H.jsx)("button",{type:"button",className:"link",onClick:()=>o("models"),children:"Add one"}),"."]})]})]})};var ke=X(Ye());var I=X(Ce()),Bf=()=>{let{origin:e,pathname:t}=window.location;return`${e}${t.replace(/\\/admin(\\/.*)?$/,"")}`.replace(/\\/+$/,"")},jf="twinny-server.invite-address",pO=()=>{try{return localStorage.getItem(jf)??""}catch{return""}},mO=e=>{try{e&&e!==Bf()?localStorage.setItem(jf,e):localStorage.removeItem(jf)}catch{}},fO=({apiKey:e,seatsLeft:t,activeNames:n=[],onSeatsFull:r})=>{let[i,a]=(0,ke.useState)([]),[o,s]=(0,ke.useState)(""),[l,u]=(0,ke.useState)(!1),[c,d]=(0,ke.useState)(!1),[p,m]=(0,ke.useState)(null),[f,b]=(0,ke.useState)(!1),[v,h]=(0,ke.useState)(),[y,x]=(0,ke.useState)(null),[S,E]=(0,ke.useState)(null),[w,R]=(0,ke.useState)(()=>Date.now()),[P,F]=(0,ke.useState)(()=>pO()||Bf()),A=(0,ke.useCallback)(async()=>{try{let{invites:q}=await ne("/twinny/v1/admin/invites",e);a(q),R(Date.now())}catch{}},[e]);(0,ke.useEffect)(()=>{A()},[A]);let Z=!!o.trim()&&n.includes(o.trim()),j=t===0&&!(Z&&c),z=async q=>{if(q.preventDefault(),!(f||!o.trim())){b(!0),h(void 0);try{let D=await ne("/twinny/v1/admin/invites",e,{method:"POST",body:{name:o.trim(),admin:l,...Z&&c?{replace:!0}:{}}});mO(P.trim()),m(D),s(""),u(!1),d(!1),x(null),E(null),await A()}catch(D){h(D instanceof Error?D.message:String(D))}finally{b(!1)}}},V=async q=>{b(!0),h(void 0);try{await ne(`/twinny/v1/admin/invites/${q.id}`,e,{method:"DELETE"}),p?.invite.id===q.id&&m(null),await A()}catch(D){h(D instanceof Error?D.message:String(D))}finally{b(!1)}},O=p?ho(P.trim()||Bf(),p.code):"",K=p?["You\'re invited to our Twinny team.","","1. Install Twinny in VS Code: https://marketplace.visualstudio.com/items?itemName=rjmacarthy.Twinny",`2. Open this link (it opens VS Code and connects you): ${O}`,"3. Confirm the team\'s models in the Twinny sidebar.","",`The link works once and expires ${Sr(p.invite.expiresAt)}. On Cursor or VSCodium, replace vscode:// with cursor:// or vscodium://.`].join(`\n`):"",le=async q=>{try{await navigator.clipboard.writeText(q==="link"?O:K),x(q),E(null),setTimeout(()=>x(null),2e3)}catch{E(q)}};return(0,I.jsxs)(I.Fragment,{children:[v&&(0,I.jsx)("div",{className:"error",children:v}),(0,I.jsxs)("form",{className:"newkey create",onSubmit:q=>void z(q),children:[(0,I.jsx)("input",{value:o,onChange:q=>s(q.target.value),placeholder:"developer name or username","aria-label":"Key name for the invite",disabled:f,autoFocus:!0}),(0,I.jsx)("input",{type:"url",value:P,onChange:q=>F(q.target.value),placeholder:"https://ai.example.com","aria-label":"Address developers reach this gateway at",title:"The address the link carries: what developers\' machines reach this gateway at",disabled:f}),(0,I.jsxs)("label",{className:"signin-admin",children:[(0,I.jsx)("input",{type:"checkbox",checked:l,onChange:q=>u(q.target.checked),disabled:f})," admin"]}),Z&&(0,I.jsxs)("label",{className:"signin-admin",title:`${o.trim()} already has an active key. Replacing revokes it when the invite is opened, so a lost key does not keep its seat.`,children:[(0,I.jsx)("input",{type:"checkbox",checked:c,onChange:q=>d(q.target.checked),disabled:f})," replace existing key"]}),(0,I.jsx)("button",{type:"submit",className:"primary",disabled:f||!o.trim()||!P.trim()||Z&&!c||j,title:o.trim()?Z&&!c?`${o.trim()} already has an active key: tick "replace existing key", or use another name`:j?"Every seat is taken. Revoke a key or add seats.":`Make an invite link for ${o.trim()}`:"Name the key the invite makes",children:"make invite link"}),j&&r&&(0,I.jsx)("button",{type:"button",className:"link",onClick:r,children:"every seat is taken: add seats"})]}),p&&(0,I.jsxs)("div",{className:"created",children:[(0,I.jsxs)("div",{children:["Invite for ",(0,I.jsx)("b",{children:p.invite.name}),p.invite.admin?" (admin)":"",p.invite.replace?", replacing their current key":"",". Send them this link; it opens VS Code and connects them. Works once, expires ",Sr(p.invite.expiresAt),"."]}),(0,I.jsx)("code",{className:"secret",children:O}),S&&(0,I.jsxs)("div",{children:[(0,I.jsx)("p",{className:"hint",role:"status",children:"Clipboard access is unavailable. Select the text below and copy it."}),(0,I.jsx)("textarea",{"aria-label":"Invite text to copy",readOnly:!0,autoFocus:!0,rows:S==="message"?8:3,style:{width:"100%",boxSizing:"border-box"},value:S==="message"?K:O,onFocus:q=>q.currentTarget.select()})]}),(0,I.jsxs)("div",{className:"row",children:[(0,I.jsx)("button",{type:"button",onClick:()=>void le("link"),children:y==="link"?"copied":"copy link"}),(0,I.jsx)("button",{type:"button",onClick:()=>void le("message"),children:y==="message"?"copied":"copy a message to send"}),(0,I.jsx)("button",{type:"button",className:"ghost",onClick:()=>m(null),children:"done"})]})]}),i.length>0&&(0,I.jsx)("div",{className:"scroll",children:(0,I.jsxs)("table",{className:"rows",children:[(0,I.jsx)("thead",{children:(0,I.jsxs)("tr",{children:[(0,I.jsx)("th",{children:"Key name"}),(0,I.jsx)("th",{children:"Made by"}),(0,I.jsx)("th",{children:"Sent"}),(0,I.jsx)("th",{children:"Expires"}),(0,I.jsx)("th",{})]})}),(0,I.jsx)("tbody",{children:i.map(q=>(0,I.jsxs)("tr",{className:"static",children:[(0,I.jsxs)("td",{children:[(0,I.jsx)("b",{children:q.name}),q.admin?(0,I.jsx)("span",{className:"pill-s",children:" admin"}):null,q.replace?(0,I.jsx)("span",{className:"pill-s",children:" replace"}):null]}),(0,I.jsx)("td",{className:"muted",children:q.createdBy}),(0,I.jsx)("td",{className:"muted",title:Sr(q.createdAt),children:Oe(q.createdAt,w)}),(0,I.jsx)("td",{className:"muted",children:go(q.expiresAt,w)}),(0,I.jsx)("td",{className:"actions",children:(0,I.jsx)("button",{type:"button",className:"ghost",disabled:f,onClick:()=>void V(q),children:"withdraw"})})]},q.id))})]})}),(0,I.jsx)("div",{className:"hint",children:"The link carries a one-time code, not a key: the key is made under this name when the link is opened, and an unopened invite holds no seat. Send it over a channel you trust. Withdraw it if it went to the wrong person."})]})},hO=({apiKey:e,onChanged:t,onCount:n,seatsLeft:r,activeNames:i=[]})=>{let[a,o]=(0,ke.useState)([]),[s,l]=(0,ke.useState)({}),[u,c]=(0,ke.useState)({}),[d,p]=(0,ke.useState)({}),[m,f]=(0,ke.useState)(null),[b,v]=(0,ke.useState)(),[h,y]=(0,ke.useState)(),[x,S]=(0,ke.useState)(()=>Date.now()),E=(0,ke.useCallback)(async()=>{try{let{requests:R}=await ne("/twinny/v1/admin/signin",e);o(R),n?.(R.length),S(Date.now())}catch{}},[e,n]);(0,ke.useEffect)(()=>{E();let R=setInterval(()=>void E(),4e3);return()=>clearInterval(R)},[E]);let w=async(R,P)=>{f(R),v(void 0),y(void 0);try{let F=(s[R]??a.find(z=>z.userCode===R)?.name??"").trim(),A=i.includes(F)&&d[R]===!0,Z=P==="approve"?{name:F,admin:u[R]===!0,...A?{replace:!0}:{}}:void 0,j=await ne(`/twinny/v1/admin/signin/${R}/${P}`,e,{method:"POST",body:Z});y(P!=="approve"?`Denied ${R}.`:j.replaced?`New key made for ${j.name}; their old key is revoked. Their VS Code picks it up within a few seconds.`:`Key made for ${j.name}. Their VS Code picks it up within a few seconds.`),await E(),P==="approve"&&t()}catch(F){v(F instanceof Error?F.message:String(F))}finally{f(null)}};return(0,I.jsxs)(I.Fragment,{children:[h&&(0,I.jsx)("div",{className:"success-bar",children:h}),b&&(0,I.jsx)("div",{className:"error",children:b}),a.length?(0,I.jsx)("div",{className:"scroll",children:(0,I.jsxs)("table",{className:"rows",children:[(0,I.jsx)("thead",{children:(0,I.jsxs)("tr",{children:[(0,I.jsx)("th",{children:"Code"}),(0,I.jsx)("th",{children:"Key name"}),(0,I.jsx)("th",{children:"Machine"}),(0,I.jsx)("th",{children:"Requested"}),(0,I.jsx)("th",{children:"Expires"}),(0,I.jsx)("th",{})]})}),(0,I.jsx)("tbody",{children:a.map(R=>{let P=(s[R.userCode]??R.name??"").trim(),F=Date.parse(R.expiresAt)<=x,A=!!P&&i.includes(P),Z=A&&d[R.userCode]===!0;return(0,I.jsxs)("tr",{className:"static",children:[(0,I.jsx)("td",{children:(0,I.jsx)("code",{className:"signin-code",children:R.userCode})}),(0,I.jsxs)("td",{children:[(0,I.jsx)("input",{value:s[R.userCode]??R.name??"",onChange:j=>l({...s,[R.userCode]:j.target.value}),placeholder:"developer name","aria-label":`Key name for ${R.userCode}`,disabled:m===R.userCode}),(0,I.jsxs)("label",{className:"signin-admin",children:[(0,I.jsx)("input",{type:"checkbox",checked:u[R.userCode]===!0,onChange:j=>c({...u,[R.userCode]:j.target.checked}),disabled:m===R.userCode})," admin"]}),A&&(0,I.jsxs)("label",{className:"signin-admin",title:`${P} already has an active key. Replacing revokes it, so a lost key does not keep its seat.`,children:[(0,I.jsx)("input",{type:"checkbox",checked:Z,onChange:j=>p({...d,[R.userCode]:j.target.checked}),disabled:m===R.userCode})," ","replace existing key"]})]}),(0,I.jsx)("td",{className:"muted",children:R.machine??"\\u2013"}),(0,I.jsx)("td",{className:"muted",title:Sr(R.createdAt),children:Oe(R.createdAt,x)}),(0,I.jsx)("td",{className:F?"revoked":"muted",children:go(R.expiresAt,x)}),(0,I.jsxs)("td",{className:"actions",children:[(0,I.jsx)("button",{type:"button",className:"primary",disabled:m===R.userCode||!P||F||A&&!Z||r===0&&!Z,title:P?A&&!Z?`${P} already has an active key: tick "replace existing key", or use another name`:Z?`Revoke ${P}\'s current key and make a new one`:r===0?"No seats left":`Make a key named ${P}`:"Give the key a name first",onClick:()=>void w(R.userCode,"approve"),children:"approve"}),(0,I.jsx)("button",{type:"button",className:"ghost",disabled:m===R.userCode,onClick:()=>void w(R.userCode,"deny"),children:"deny"})]})]},R.userCode)})})]})}):(0,I.jsxs)("div",{className:"empty",children:["No one is waiting. A developer asks for a key from ",(0,I.jsx)("b",{children:"Connect to team \\u2192 Request a key"})," in VS Code and reads you the code that appears; it shows up here within a few seconds."]}),(0,I.jsx)("div",{className:"hint",children:"Approve only a code someone has read to you. Approving mints a key under the name you choose; the code itself never becomes a key."})]})},gO=e=>{let t={};for(let n of e?.byDay??[])for(let r of Object.keys(n.byKey))n.byKey[r]>0&&(t[r]=n.day);return{totals:e?.byKey??{},lastDay:t}},yO=({keys:e,sharedToken:t,plan:n,me:r,usage:i,period:a,onCreate:o,onRevoke:s})=>{let l=new Set(n?.unseated??[]),[u,c]=(0,ke.useState)("active"),[d,p]=(0,ke.useState)(""),[m,f]=(0,ke.useState)(!1),[b,v]=(0,ke.useState)(""),[h,y]=(0,ke.useState)(!1),[x,S]=(0,ke.useState)(!1),[E,w]=(0,ke.useState)(!1),[R,P]=(0,ke.useState)(null),[F,A]=(0,ke.useState)(),[Z,j]=(0,ke.useState)(),[z,V]=(0,ke.useState)(!1),[O,K]=(0,ke.useState)(null),{totals:le,lastDay:q}=(0,ke.useMemo)(()=>gO(i),[i]),D=n?n.used>=n.seats:!1,g=(0,ke.useMemo)(()=>{let ee=e.filter(ce=>!ce.revokedAt);return{all:e.length,active:ee.length,admins:ee.filter(ce=>ce.admin).length,unseated:ee.filter(ce=>l.has(ce.name)).length,revoked:e.length-ee.length}},[e,l]),C=(0,ke.useMemo)(()=>{let ee=d.trim().toLowerCase(),ce=ge=>{if(ee&&!ge.name.toLowerCase().includes(ee)&&!ge.id.includes(ee))return!1;switch(u){case"active":return!ge.revokedAt;case"admins":return!ge.revokedAt&&ge.admin===!0;case"unseated":return!ge.revokedAt&&l.has(ge.name);case"revoked":return!!ge.revokedAt;default:return!0}};return e.filter(ce).sort((ge,ft)=>!ge.revokedAt!=!ft.revokedAt?ge.revokedAt?1:-1:ge.revokedAt&&ft.revokedAt?ft.revokedAt.localeCompare(ge.revokedAt):ge.name.localeCompare(ft.name))},[e,u,d,l]),_=async ee=>{if(ee.preventDefault(),!(!b.trim()||E)){w(!0),A(void 0),j(void 0);try{P(await o(b.trim(),h,h&&x)),v(""),y(!1),S(!1),V(!1),f(!1),u==="revoked"&&c("active")}catch(ce){A(ce instanceof Error?ce.message:String(ce))}finally{w(!1)}}},N=async()=>{if(R)try{await navigator.clipboard.writeText(R.key),V(!0)}catch{}},J=async ee=>{w(!0),A(void 0),j(void 0);try{await s(ee.id),j(`Revoked ${ee.name}. Their editor is refused from the next request on.${u==="all"||u==="revoked"?"":" It is listed under Revoked."}`)}catch(ce){A(ce instanceof Error?ce.message:String(ce))}finally{w(!1),K(null)}},ve=(ee,ce,ge)=>(0,I.jsxs)("button",{type:"button",className:u===ee?"on":"ghost",onClick:()=>c(ee),disabled:ee!=="all"&&ee!=="active"&&ge===0&&u!==ee,children:[ce,(0,I.jsx)("span",{className:"chip-count",children:$(ge)})]},ee);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("div",{className:"toolbar",children:[(0,I.jsxs)("span",{className:"chips",role:"group","aria-label":"Show",children:[ve("active","Active",g.active),ve("admins","Admins",g.admins),g.unseated>0&&ve("unseated","No seat",g.unseated),ve("revoked","Revoked",g.revoked),ve("all","All",g.all)]}),(0,I.jsx)("input",{className:"search",type:"search",placeholder:"find by name or id",value:d,onChange:ee=>p(ee.target.value),"aria-label":"Find a key"}),!m&&(0,I.jsx)("button",{type:"button",className:"primary",disabled:E||D,title:D?"Every seat is taken. Revoke a key or add seats.":"Make a key by hand and hand it over yourself",onClick:()=>f(!0),children:"new key"})]}),m&&(0,I.jsxs)("form",{className:"newkey create",onSubmit:_,children:[(0,I.jsx)("input",{placeholder:"developer name, e.g. alice",value:b,onChange:ee=>v(ee.target.value),"aria-label":"Key name",disabled:E,autoFocus:!0}),(0,I.jsxs)("label",{children:[(0,I.jsx)("input",{type:"checkbox",checked:h,onChange:ee=>y(ee.target.checked),disabled:E})," admin: may open this page"]}),h&&(0,I.jsxs)("label",{title:"Sees everything on the admin page, changes nothing",children:[(0,I.jsx)("input",{type:"checkbox",checked:x,onChange:ee=>S(ee.target.checked)}),"read-only"]}),(0,I.jsx)("button",{type:"submit",className:"primary",disabled:E||!b.trim()||D,children:E?"\\u2026":"create key"}),(0,I.jsx)("button",{type:"button",className:"ghost",disabled:E,onClick:()=>{f(!1),v(""),y(!1)},children:"cancel"}),(0,I.jsx)("span",{className:"muted",children:"Letters, digits, . _ @ and -; up to 64 characters. The secret is shown once."})]}),R&&(0,I.jsxs)("div",{className:"created",children:[(0,I.jsxs)("div",{children:["Key for ",(0,I.jsx)("b",{children:R.record.name}),R.record.admin?" (admin)":"",". Shown once; only its hash is kept. Send it over a channel you trust."]}),(0,I.jsx)("code",{className:"secret",children:R.key}),(0,I.jsxs)("div",{className:"row",children:[(0,I.jsx)("button",{type:"button",onClick:N,children:z?"copied":"copy"}),(0,I.jsx)("button",{type:"button",className:"ghost",onClick:()=>P(null),children:"done"})]})]}),F&&(0,I.jsx)("div",{className:"error",children:F}),Z&&(0,I.jsx)("div",{className:"success-bar",children:Z}),C.length?(0,I.jsx)("div",{className:"scroll",children:(0,I.jsxs)("table",{className:"rows",children:[(0,I.jsx)("thead",{children:(0,I.jsxs)("tr",{children:[(0,I.jsx)("th",{children:"Key"}),(0,I.jsx)("th",{children:"Status"}),(0,I.jsx)("th",{children:"Created"}),(0,I.jsx)("th",{children:"Last active"}),(0,I.jsx)("th",{className:"num",children:"Requests"}),(0,I.jsx)("th",{className:"num",children:"Tokens"}),(0,I.jsx)("th",{})]})}),(0,I.jsxs)("tbody",{children:[C.map(ee=>{let ce=le[ee.name],ge=!ee.revokedAt;return(0,I.jsxs)("tr",{className:`static ${ge?"":"dim"}`,children:[(0,I.jsxs)("td",{children:[(0,I.jsx)("span",{className:"entity-name",children:ee.name}),ee.admin&&(0,I.jsx)("span",{className:"tag admin",children:"admin"}),ee.readOnly&&(0,I.jsx)("span",{className:"tag admin",children:"read-only"}),ee.name===r&&(0,I.jsx)("span",{className:"tag you",children:"you"}),(0,I.jsx)("div",{className:"key-id muted mono",title:"The key\'s id, for twinny-server keys revoke",children:ee.id})]}),(0,I.jsx)("td",{children:ee.revokedAt?(0,I.jsxs)("span",{className:"pill-s bad",title:`Revoked ${Sr(ee.revokedAt)}`,children:["revoked ",Oe(ee.revokedAt)]}):l.has(ee.name)?(0,I.jsx)("span",{className:"pill-s bad",title:"Refused until seats are added or other keys revoked",children:"no seat"}):(0,I.jsx)("span",{className:"pill-s ok",children:"active"})}),(0,I.jsx)("td",{className:"muted",title:Sr(ee.createdAt),children:Oe(ee.createdAt)}),(0,I.jsx)("td",{className:"muted",title:q[ee.name]?void 0:`Nothing in the last ${a}`,children:q[ee.name]??"\\u2013"}),(0,I.jsx)("td",{className:"num",children:ce?(0,I.jsxs)("span",{title:`${$(ce.ok)} ok, ${$(ce.failed)} failed, ${$(ce.cancelled)} cancelled`,children:[$(ce.requests),ce.failed>0&&(0,I.jsxs)("span",{className:"revoked",children:[" \\xB7 ",$(ce.failed)," failed"]})]}):(0,I.jsx)("span",{className:"muted",children:"0"})}),(0,I.jsx)("td",{className:"num",children:ce&&ce.counted?(0,I.jsxs)("span",{title:`${$(ce.promptTokens)} prompt, ${$(ce.completionTokens)} output`,children:[Nt(ce.promptTokens),(0,I.jsx)("span",{className:"muted",children:" \\u2192 "}),Nt(ce.completionTokens)]}):(0,I.jsx)("span",{className:"muted",children:"\\u2013"})}),(0,I.jsx)("td",{className:"actions",children:ge&&ee.name!==r&&(O===ee.id?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("button",{type:"button",className:"danger",disabled:E,onClick:()=>void J(ee),title:`Revoke ${ee.name}`,children:"confirm"}),(0,I.jsx)("button",{type:"button",className:"ghost",onClick:()=>K(null),children:"keep"})]}):(0,I.jsx)("button",{type:"button",className:"ghost",disabled:E,onClick:()=>K(ee.id),children:"revoke"}))})]},ee.id)}),t&&(u==="active"||u==="all")&&!d.trim()&&(0,I.jsxs)("tr",{className:"static",children:[(0,I.jsxs)("td",{children:[(0,I.jsx)("span",{className:"entity-name",children:"shared"}),(0,I.jsx)("div",{className:"key-id muted",children:"the shared token"})]}),(0,I.jsx)("td",{children:(0,I.jsx)("span",{className:"pill-s ok",title:"Retire it by setting auth.tokenEnv to null",children:"active"})}),(0,I.jsx)("td",{className:"muted",children:"\\u2013"}),(0,I.jsx)("td",{className:"muted",children:q.shared??"\\u2013"}),(0,I.jsx)("td",{className:"num",children:le.shared?$(le.shared.requests):(0,I.jsx)("span",{className:"muted",children:"0"})}),(0,I.jsx)("td",{className:"num muted",children:"\\u2013"}),(0,I.jsx)("td",{className:"actions"})]})]})]})}):(0,I.jsx)("div",{className:"empty",children:d.trim()?(0,I.jsxs)(I.Fragment,{children:["No key matches \\u201C",d.trim(),"\\u201D",u!=="all"?" in this view":"","."]}):u==="revoked"?"No key has been revoked.":u==="admins"?"No admin keys are active.":u==="unseated"?"Every active key has a seat.":"No keys yet. Approve a sign-in request above, or make a key by hand."})]})},vO=({apiKey:e,usage:t})=>{let[n,r]=(0,ke.useState)(null),[i,a]=(0,ke.useState)(null),[o,s]=(0,ke.useState)(),[l,u]=(0,ke.useState)(()=>Date.now()),c=(0,ke.useCallback)(async()=>{try{r(await ne("/twinny/v1/admin/peers",e)),u(Date.now())}catch(m){s(m instanceof Error?m.message:String(m))}},[e]);(0,ke.useEffect)(()=>{c();let m=setInterval(()=>void c(),5e3);return()=>clearInterval(m)},[c]);let d=async m=>{a(m.id),s(void 0);try{await ne(`/twinny/v1/admin/peers/${m.id}/disconnect`,e,{method:"POST"}),await c()}catch(f){s(f instanceof Error?f.message:String(f))}finally{a(null)}};if(!n)return o?(0,I.jsx)("div",{className:"error",children:o}):(0,I.jsx)("div",{className:"loading",children:"Loading\\u2026"});let p=t?.byPeer??{};return(0,I.jsxs)(I.Fragment,{children:[o&&(0,I.jsx)("div",{className:"error",children:o}),n.configured?n.peers.length?(0,I.jsx)("div",{className:"scroll",children:(0,I.jsxs)("table",{className:"rows",children:[(0,I.jsx)("thead",{children:(0,I.jsxs)("tr",{children:[(0,I.jsx)("th",{children:"Computer"}),(0,I.jsx)("th",{children:"Server"}),(0,I.jsx)("th",{children:"Models"}),(0,I.jsx)("th",{className:"num",children:"Running"}),(0,I.jsx)("th",{className:"num",children:"Served"}),(0,I.jsx)("th",{children:"Since"}),(0,I.jsx)("th",{})]})}),(0,I.jsx)("tbody",{children:n.peers.map(m=>{let f=m.models.filter(h=>n.wanted.includes(h)),b=m.degradedUntil&&Date.parse(m.degradedUntil)>l,v=p[m.label];return(0,I.jsxs)("tr",{className:"static",children:[(0,I.jsxs)("td",{children:[(0,I.jsx)("span",{className:"entity-name",children:m.key}),(0,I.jsxs)("span",{className:"muted",children:["@",m.machine]})]}),(0,I.jsxs)("td",{className:"muted",children:[m.backend,b&&(0,I.jsx)("span",{className:"revoked",children:" \\xB7 not answering"})]}),(0,I.jsx)("td",{title:m.models.join(", "),children:f.length?f.join(", "):(0,I.jsxs)("span",{className:"muted",children:["none the pool wants (",m.models.length," local)"]})}),(0,I.jsxs)("td",{className:"num",children:[$(m.inflight),(0,I.jsxs)("span",{className:"muted",children:[" / ",$(m.slots)]})]}),(0,I.jsxs)("td",{className:"num",title:v?`${$(v.requests)} in the selected period`:void 0,children:[$(m.served),m.failed>0&&(0,I.jsxs)("span",{className:"revoked",children:[" \\xB7 ",$(m.failed)," failed"]})]}),(0,I.jsx)("td",{className:"muted",title:Sr(m.connectedAt),children:Oe(m.connectedAt,l)}),(0,I.jsx)("td",{className:"actions",children:(0,I.jsx)("button",{type:"button",className:"ghost",disabled:i===m.id,onClick:()=>void d(m),children:"disconnect"})})]},m.id)})})]})}):(0,I.jsxs)("div",{className:"empty",children:["Nobody is sharing right now. The pool wants ",n.wanted.length?n.wanted.map(m=>(0,I.jsx)("code",{children:m},m)).reduce((m,f,b)=>b?[...m,", ",f]:[f],[]):"no models yet",". A developer switches sharing on from the Twinny sidebar."]}):(0,I.jsxs)("div",{className:"empty",children:["No team pool yet. Add a ",(0,I.jsx)("b",{children:"Team members\' computers"})," provider under Providers & models and point aliases at it; developers then see ",(0,I.jsx)("b",{children:"Share this computer with the team"})," in Twinny."]}),(0,I.jsx)("div",{className:"hint",children:"Requests to pooled aliases run on these computers; usage records name the computer that served each one. Disconnecting is temporary; revoke the key to keep someone out."})]})},lS=({apiKey:e,keys:t,usage:n,period:r,me:i,pending:a,onPending:o,onChanged:s,onCreate:l,onRevoke:u,onNavigate:c})=>{let d=t.keys.filter(b=>!b.revokedAt),p=t.plan,m=p?Math.max(0,p.seats-p.used):void 0,f=d.filter(b=>(n?.byKey[b.name]?.requests??0)>0).length;return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("div",{className:"page-title",children:[(0,I.jsx)("h2",{children:"People"}),(0,I.jsxs)("p",{children:[p?`${p.used} of ${p.seats} seats used. `:"","Invite developers with a link, approve sign-in codes they read to you, or make keys by hand."]})]}),(0,I.jsxs)("section",{className:"tiles",children:[(0,I.jsxs)("div",{className:`tile ${p&&p.used>=p.seats?"bad":""}`,children:[(0,I.jsx)("div",{className:"label",children:"Active keys"}),(0,I.jsxs)("div",{className:"value",children:[$(p?p.used:d.length),p&&(0,I.jsxs)("small",{children:["of ",$(p.seats)," seats"]})]})]}),(0,I.jsxs)("div",{className:"tile",children:[(0,I.jsxs)("div",{className:"label",children:["Active in ",r]}),(0,I.jsxs)("div",{className:"value",children:[$(f),(0,I.jsxs)("small",{children:["of ",$(d.length)]})]})]}),(0,I.jsxs)("div",{className:"tile",children:[(0,I.jsx)("div",{className:"label",children:"Admins"}),(0,I.jsx)("div",{className:"value",children:$(d.filter(b=>b.admin).length)})]}),(0,I.jsxs)("div",{className:`tile ${a?"attention":""}`,children:[(0,I.jsx)("div",{className:"label",children:"Waiting to sign in"}),(0,I.jsx)("div",{className:"value",children:$(a)})]}),(0,I.jsxs)("div",{className:"tile",children:[(0,I.jsx)("div",{className:"label",children:"Revoked"}),(0,I.jsx)("div",{className:"value",children:$(t.keys.length-d.length)})]})]}),p&&p.unseated.length>0&&(0,I.jsxs)("div",{className:"error-bar",children:[Fe(p.unseated.length,"key")," without a seat, refused until seats are added or keys revoked: ",p.unseated.join(", "),"."," ",(0,I.jsx)("button",{type:"button",className:"link",onClick:()=>c("plan"),children:"Add seats"})]}),p&&p.unseated.length===0&&p.used>=p.seats&&(0,I.jsxs)("div",{className:"error-bar",children:["Every seat is taken: the next key, invite or sign-in is refused until seats are added or a key is revoked."," ",(0,I.jsx)("button",{type:"button",className:"link",onClick:()=>c("plan"),children:"Add seats"})]}),(0,I.jsxs)("section",{className:"panel",children:[(0,I.jsxs)("h2",{children:["Invite",(0,I.jsxs)("span",{className:"count",children:[Fe(d.length,"person","people")," on the team"]})]}),(0,I.jsx)(fO,{apiKey:e,seatsLeft:m,activeNames:d.map(b=>b.name),onSeatsFull:()=>c("plan")})]}),(0,I.jsxs)("section",{className:"panel",children:[(0,I.jsxs)("h2",{children:["Sign-in requests",a>0&&(0,I.jsxs)("span",{className:"count",children:[$(a)," waiting"]})]}),(0,I.jsx)(hO,{apiKey:e,onChanged:s,onCount:o,seatsLeft:m,activeNames:d.map(b=>b.name)})]}),(0,I.jsxs)("section",{className:"panel",children:[(0,I.jsxs)("h2",{children:["Keys",(0,I.jsx)("span",{className:"count",children:Fe(t.keys.length,"key")})]}),(0,I.jsx)(yO,{...t,me:i,usage:n,period:r,onCreate:l,onRevoke:u})]}),(0,I.jsxs)("section",{className:"panel",children:[(0,I.jsx)("h2",{children:"Sharing their computer"}),(0,I.jsx)(vO,{apiKey:e,usage:n})]})]})};var va=X(Ye());var pe=X(Ce()),uS="https://docs.twinny.dev/teams/licensing/",bO="https://buy.stripe.com/eVq00igUndD80qW6AR7Zu00",kO={free:"Free plan",licensed:"Licensed",expiring:"Licensed, expiring soon",grace:"Licence expired, in grace period",expired:"Free plan (licence expired)",invalid:"Free plan (licence not usable)"},wO=e=>Math.ceil((Date.parse(e)-Date.now())/864e5),cS=({plan:e,onInstall:t,onRemove:n,onNavigate:r})=>{let[i,a]=(0,va.useState)(""),[o,s]=(0,va.useState)(!1),[l,u]=(0,va.useState)(),[c,d]=(0,va.useState)(),[p,m]=(0,va.useState)(!1),f=e.status!=="free"&&e.status!=="licensed",b=e.used>e.seats,v=!!e.licenseId||e.status==="invalid",h=Math.min(100,Math.round(e.used/Math.max(1,e.seats)*100)),y=wO(e.expiresAt??""),x=async(S,E)=>{s(!0),u(void 0),d(void 0);try{await S(),a(""),m(!1),d(E)}catch(w){u(w instanceof Error?w.message:String(w))}finally{s(!1)}};return(0,pe.jsxs)(pe.Fragment,{children:[(0,pe.jsxs)("div",{className:"page-title",children:[(0,pe.jsx)("h2",{children:"Plan & licence"}),(0,pe.jsx)("p",{children:"Seats are active keys. A licence raises the limit and switches on team features."})]}),c&&(0,pe.jsx)("div",{className:"success-bar",children:c}),l&&(0,pe.jsx)("div",{className:"error-bar",children:l}),(0,pe.jsx)("div",{children:(0,pe.jsxs)("section",{className:`panel plan ${f||b?"attention":""}`,children:[(0,pe.jsxs)("div",{className:"section-heading",children:[(0,pe.jsx)("h2",{children:"Plan"}),(0,pe.jsx)("span",{className:`pill-s ${f||b?"bad":"ok"}`,children:kO[e.status]})]}),(0,pe.jsxs)("div",{className:"plan-headline",children:[e.org?e.org:"Free plan",e.expiresAt&&(0,pe.jsxs)("span",{className:`muted ${y<30?"revoked":""}`,children:[" ","\\xB7 ",y<0?`expired ${Fe(-y,"day")} ago`:y===0?"expires today":`${Fe(y,"day")} left`]})]}),(0,pe.jsx)("p",{className:f?"plan-note attention":"plan-note",children:e.message}),(0,pe.jsxs)("div",{className:"meter-row",children:[(0,pe.jsxs)("span",{className:"meter-label",children:[(0,pe.jsx)("b",{children:$(e.used)})," of ",(0,pe.jsx)("b",{children:$(e.seats)})," seats used"]}),(0,pe.jsx)("span",{className:`meter ${b?"bad":h>=90?"warn":""}`,children:(0,pe.jsx)("span",{className:"meter-fill",style:{width:`${h}%`}})}),(0,pe.jsx)("button",{type:"button",className:"link",onClick:()=>r("people"),children:"people"})]}),e.unseated.length>0&&(0,pe.jsxs)("p",{className:"plan-note attention",children:["No seat, refused until seats are added or keys revoked: ",e.unseated.join(", "),"."]}),(0,pe.jsxs)("dl",{className:"facts",children:[e.licenseId&&(0,pe.jsxs)(pe.Fragment,{children:[(0,pe.jsx)("dt",{children:"Licence"}),(0,pe.jsx)("dd",{className:"mono",children:e.licenseId})]}),e.expiresAt&&(0,pe.jsxs)(pe.Fragment,{children:[(0,pe.jsx)("dt",{children:"Valid until"}),(0,pe.jsx)("dd",{children:e.expiresAt.slice(0,10)})]}),e.email&&(0,pe.jsxs)(pe.Fragment,{children:[(0,pe.jsx)("dt",{children:"Contact"}),(0,pe.jsx)("dd",{children:e.email})]}),!v&&(0,pe.jsxs)(pe.Fragment,{children:[(0,pe.jsx)("dt",{children:"Includes"}),(0,pe.jsxs)("dd",{children:[Fe(e.seats,"seat"),", every model and provider, usage reporting, sign-in approval"]})]})]})]})}),(0,pe.jsxs)("section",{className:"panel",children:[(0,pe.jsxs)("div",{className:"section-heading",children:[(0,pe.jsx)("h2",{children:v?"Replace the licence":"Install a licence"}),(0,pe.jsx)("span",{className:"muted",children:"One token, signed by Twinny"})]}),(0,pe.jsxs)("form",{className:"newkey",onSubmit:S=>{S.preventDefault(),i.trim()&&x(()=>t(i.trim()),"Licence installed. Seats and features apply at once.")},children:[(0,pe.jsx)("input",{placeholder:"paste a licence token (twl1.\\u2026)",value:i,onChange:S=>a(S.target.value),"aria-label":"Licence token",disabled:o,spellCheck:!1}),(0,pe.jsx)("button",{type:"submit",className:"primary",disabled:o||!i.trim(),children:o?"\\u2026":v?"replace licence":"install licence"}),v&&(p?(0,pe.jsxs)(pe.Fragment,{children:[(0,pe.jsx)("button",{type:"button",className:"danger",disabled:o,onClick:()=>void x(n,"Licence removed. The gateway is on the free plan."),children:"remove licence"}),(0,pe.jsx)("button",{type:"button",className:"ghost",onClick:()=>m(!1),children:"keep"})]}):(0,pe.jsx)("button",{type:"button",className:"ghost",disabled:o,onClick:()=>m(!0),children:"remove"}))]}),(0,pe.jsx)("div",{className:"hint",children:v?(0,pe.jsxs)(pe.Fragment,{children:["Replacing takes effect immediately; removing drops the gateway to the free plan and keys beyond its seats are refused. See"," ",(0,pe.jsx)("a",{href:uS,target:"_blank",rel:"noreferrer",children:"Teams and licensing"}),e.email?(0,pe.jsxs)(pe.Fragment,{children:[" or contact ",e.email]}):null,"."]}):(0,pe.jsxs)(pe.Fragment,{children:["Need more seats or the team features?"," ",(0,pe.jsx)("a",{href:bO,target:"_blank",rel:"noreferrer",children:"Buy seats"})," ","by card; the token appears as soon as payment clears and is emailed to you. Paste it above. See"," ",(0,pe.jsx)("a",{href:uS,target:"_blank",rel:"noreferrer",children:"Teams and licensing"})," ","for the plans."]})})]})]})};var we=X(Ye());var L=X(Ce()),Vf=["chat","fim","embeddings"],ba={chat:"Chat",fim:"Autocomplete",embeddings:"Embeddings"},NO=["ok","error","cancelled"],SO=["24h","7d","30d","90d"],EO=e=>{let t=[],n,r;for(let i of e)i.route==="embeddings"&&r?.route==="embeddings"&&r.key===i.key&&r.alias===i.alias&&Date.parse(r.at)-Date.parse(i.at)<=12e4?(n||(n={kind:"run",id:r.id,calls:[r],failed:r.outcome==="error"?1:0,ms:r.ms},t[t.length-1]=n),n.calls.push(i),i.outcome==="error"&&n.failed++,n.ms+=i.ms):(n=void 0,t.push({kind:"record",record:i})),r=i;return t},Wf=({route:e})=>(0,L.jsx)("span",{className:`tag route-${e}`,children:ba[e]}),hu=({record:e})=>e.outcome==="ok"?(0,L.jsx)("span",{className:"pill-s ok",children:e.ended==="client"?"ok \\xB7 stopped":"ok"}):e.outcome==="cancelled"?(0,L.jsx)("span",{className:"pill-s warn",children:"cancelled"}):(0,L.jsx)("span",{className:"pill-s bad",children:"error"}),mS=({usage:e})=>!e||e.promptTokens===void 0&&e.completionTokens===void 0?(0,L.jsx)("span",{className:"muted",children:"\\u2013"}):(0,L.jsxs)("span",{title:`${$(e.promptTokens??0)} prompt tokens, ${$(e.completionTokens??0)} output tokens`,children:[Nt(e.promptTokens??0),(0,L.jsx)("span",{className:"muted",children:" \\u2192 "}),Nt(e.completionTokens??0)]}),CO=({text:e,term:t})=>{if(!t)return(0,L.jsx)(L.Fragment,{children:e});let n=e.toLowerCase().indexOf(t.toLowerCase());return n<0?(0,L.jsx)(L.Fragment,{children:e}):(0,L.jsxs)(L.Fragment,{children:[e.slice(0,n),(0,L.jsx)("mark",{children:e.slice(n,n+t.length)}),e.slice(n+t.length)]})},Uf=({value:e,options:t,onChange:n,label:r})=>(0,L.jsx)("span",{className:"chips",role:"group","aria-label":r,children:t.map(i=>(0,L.jsxs)("button",{type:"button",className:i.value===e?"on":"ghost",onClick:()=>n(i.value),children:[i.label,i.count!==void 0&&(0,L.jsx)("span",{className:"chip-count",children:$(i.count)})]},i.value))}),AO=({apiKey:e,summary:t,licensed:n,onSaved:r})=>{let[i,a]=(0,we.useState)(!1),[o,s]=(0,we.useState)(t.settings),[l,u]=(0,we.useState)(!1),[c,d]=(0,we.useState)(),[p,m]=(0,we.useState)();(0,we.useEffect)(()=>s(t.settings),[t.settings]);let f=JSON.stringify(o)!==JSON.stringify(t.settings),b=Vf.filter(h=>t.settings[h]),v=async()=>{u(!0),d(void 0),m(void 0);try{let h=await ne("/twinny/v1/admin/config",e);await ne("/twinny/v1/admin/config",e,{method:"PUT",body:{revision:h.revision,recording:{...h.recording,chat:o.chat,fim:o.fim,embeddings:o.embeddings,retentionDays:o.retentionDays}}}),m(n?"Saved. Recording applies to new requests.":"Saved. Nothing is recorded until the licence includes the recording feature."),a(!1),r()}catch(h){d(ye(h))}finally{u(!1)}};return(0,L.jsxs)("section",{className:"panel settings-strip",children:[(0,L.jsxs)("div",{className:"section-heading",children:[(0,L.jsx)("h2",{children:"What is kept"}),(0,L.jsxs)("span",{className:"editor-actions",children:[(0,L.jsx)("span",{className:`pill-s ${n?"ok":"warn"}`,children:n?"licensed":"needs a licence"}),!i&&(0,L.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>a(!0),children:"change"})]})]}),i?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("fieldset",{className:"policy-rule",children:[(0,L.jsx)("legend",{children:"Requests"}),Vf.map(h=>(0,L.jsxs)("label",{className:"policy-option",children:[(0,L.jsx)("input",{type:"checkbox",checked:o[h],disabled:l,onChange:y=>s({...o,[h]:y.target.checked})}),(0,L.jsxs)("span",{children:[(0,L.jsx)("b",{children:ba[h]}),(0,L.jsxs)("small",{children:[h==="chat"&&"Every message in the conversation and the reply.",h==="fim"&&"The code around the cursor and the completion.",h==="embeddings"&&"Inputs only, never vectors."]})]})]},h))]}),(0,L.jsxs)("label",{className:"config-field",style:{maxWidth:260,marginTop:12},children:[(0,L.jsx)("span",{children:"Keep records for (days)"}),(0,L.jsx)("input",{type:"number",min:1,max:3650,value:o.retentionDays,disabled:l,onChange:h=>s({...o,retentionDays:Math.max(1,Math.min(3650,Number(h.target.value)||1))})})]}),(0,L.jsxs)("div",{className:"editor-actions",style:{marginTop:12},children:[(0,L.jsx)("button",{className:"primary",disabled:!f||l,onClick:()=>void v(),children:l?"Saving\\u2026":"Save"}),(0,L.jsx)("button",{className:"ghost",disabled:l,onClick:()=>{s(t.settings),a(!1)},children:f?"Discard":"Cancel"})]})]}):(0,L.jsxs)("p",{className:"config-hint",style:{margin:0},children:[b.length?(0,L.jsxs)(L.Fragment,{children:["Recording ",(0,L.jsx)("b",{children:b.map(h=>ba[h]).join(", ")})," for ",(0,L.jsx)("b",{children:Fe(t.settings.retentionDays,"day")})]}):(0,L.jsxs)(L.Fragment,{children:["Recording is ",(0,L.jsx)("b",{children:"off"})," for every feature"]}),!n&&b.length>0&&(0,L.jsx)(L.Fragment,{children:" (saved, but nothing is kept without the licence feature)"}),". Developers see this when they connect and on their Providers tab. Stored in ",(0,L.jsx)("code",{children:t.store.kind})," at ",(0,L.jsx)("code",{children:t.store.location}),"."]}),c&&(0,L.jsx)("div",{className:"error",style:{marginTop:10},children:c}),p&&(0,L.jsx)("div",{className:"success-bar",style:{marginTop:10,marginBottom:0},children:p})]})},TO=e=>typeof e=="string"?e:JSON.stringify(e,null,2),RO=(e,t=110)=>{let n=e.trim().split(`\n`)[0]??"";return n.length>t?`${n.slice(0,t)}\\u2026`:n},Hf=({text:e,raw:t,language:n})=>t||n?(0,L.jsx)(gi,{code:e,language:n??"markdown",bare:!0,wrap:!0}):(0,L.jsx)(yi,{text:e}),IO=({record:e,raw:t})=>{let n=e.request??{},r=e.response??{},i=Array.isArray(n.messages)?n.messages:[],a=typeof r.content=="string"?r.content:"";return(0,L.jsxs)("div",{className:"turns",children:[i.map((o,s)=>{let l=TO(o.content),u=typeof o.content!="string";return o.role==="system"?(0,L.jsxs)("details",{className:"turn system",children:[(0,L.jsxs)("summary",{children:[(0,L.jsx)("span",{className:"role",children:"system"}),(0,L.jsx)("span",{className:"muted summary-text",children:RO(l)}),(0,L.jsxs)("span",{className:"muted summary-len",children:[Nt(l.length)," chars"]})]}),(0,L.jsx)("div",{className:"turn-body",children:(0,L.jsx)(Hf,{text:l,raw:t,language:u?"json":void 0})})]},s):(0,L.jsxs)("div",{className:`turn ${o.role??""}`,children:[(0,L.jsxs)("div",{className:"turn-head",children:[(0,L.jsx)("span",{className:"role",children:o.role??"?"}),(0,L.jsx)($n,{text:l})]}),(0,L.jsx)("div",{className:"turn-body",children:(0,L.jsx)(Hf,{text:l,raw:t,language:u?"json":void 0})})]},s)}),(0,L.jsxs)("div",{className:"turn assistant reply",children:[(0,L.jsxs)("div",{className:"turn-head",children:[(0,L.jsxs)("span",{className:"role",children:["assistant \\xB7 ",(0,L.jsx)(hu,{record:e})]}),a&&(0,L.jsx)($n,{text:a})]}),(0,L.jsx)("div",{className:"turn-body",children:a?(0,L.jsx)(Hf,{text:a,raw:t}):(0,L.jsx)("div",{className:"muted",children:e.outcome==="ok"?"The reply was empty.":"No reply was produced."})})]})]})},qf=24,dS=(e,t)=>{let n=0;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n},PO=({record:e})=>{let t=e.request??{},n=e.response??{},r=typeof t.prefix=="string"?t.prefix:String(t.prompt??""),i=typeof t.suffix=="string"?t.suffix:"",a=String(n.text??""),o=typeof t.prefix=="string"&&typeof t.prompt=="string"?t.prompt:void 0,[s,l]=(0,we.useState)(!1),u=`${r}${a}${i}`,c=(0,we.useMemo)(()=>Sf(u),[u]),d={start:r.length,end:r.length+a.length},p=u.split(`\n`);p.length>1&&p[p.length-1]===""&&p.pop();let m=dS(u,a.startsWith(`\n`)?d.start+1:d.start),f=dS(u,Math.max(d.start,d.end-1)),b=s?0:Math.max(0,m-qf),v=s?p.length-1:Math.min(p.length-1,f+qf),h=b===0?0:p.slice(0,b).join(`\n`).length+1,y=p.slice(b,v+1).join(`\n`),x=b,S=p.length-1-v,E=a?f-m+1:0;return(0,L.jsxs)("div",{className:"turns",children:[(0,L.jsxs)("div",{className:"code listing fim",children:[(0,L.jsxs)("div",{className:"code-bar",children:[(0,L.jsxs)("span",{className:"code-lang",children:[c==="text"?"code":c,(0,L.jsx)("span",{className:"muted",children:" \\xB7 "}),a?(0,L.jsxs)(L.Fragment,{children:["completion of ",Nt(a.length)," chars on ",E===1?`line ${m+1}`:`lines ${m+1}\\u2013${f+1}`]}):(0,L.jsxs)("span",{className:"muted",children:[e.outcome==="ok"?"empty completion":"no completion"," at line ",m+1]}),(0,L.jsx)("span",{className:"muted",children:" \\xB7 "}),(0,L.jsx)(hu,{record:e}),e.ended==="client"&&(0,L.jsx)("span",{className:"muted",children:" \\xB7 the editor stopped reading here"})]}),(0,L.jsxs)("span",{className:"code-actions",children:[(x>0||S>0||s)&&(0,L.jsx)("button",{type:"button",className:"mini ghost",onClick:()=>l(!s),children:s?`${qf} lines around the completion`:`show all ${$(p.length)} lines`}),a&&(0,L.jsx)($n,{text:a,label:"copy completion"}),(0,L.jsx)($n,{text:u,label:"copy file"})]})]}),x>0&&(0,L.jsxs)("div",{className:"fim-fold",children:[Fe(x,"line")," above"]}),(0,L.jsx)(_N,{code:y,language:c,insert:{start:d.start-h,end:d.end-h},startingLineNumber:b+1}),S>0&&(0,L.jsxs)("div",{className:"fim-fold below",children:[Fe(S,"line")," below"]})]}),o&&(0,L.jsxs)("details",{className:"advanced-fields",style:{margin:"4px 0 0"},children:[(0,L.jsxs)("summary",{children:["The prompt as sent to the model, template applied (",Nt(o.length)," chars)"]}),(0,L.jsx)("div",{style:{marginTop:8},children:(0,L.jsx)(gi,{code:o,language:"text",title:"templated prompt",wrap:!0})})]})]})},LO=({record:e})=>{let t=e.request??{},n=e.response??{},r=Array.isArray(t.input)?t.input:[t.input],i=Number(n.count??0);return(0,L.jsxs)("div",{className:"turns",children:[r.map((a,o)=>(0,L.jsx)(gi,{code:String(a??""),language:Sf(String(a??"")),title:`input ${o+1} of ${r.length}`,wrap:!0},o)),(0,L.jsxs)("div",{className:"muted",children:[Fe(i,"vector")," of ",$(Number(n.dimensions??0))," dimensions returned. Vectors are never kept."]})]})},OO=({record:e,index:t,total:n,onStep:r,onClose:i})=>{let[a,o]=(0,we.useState)(!1),s=(0,we.useRef)(null);(0,we.useEffect)(()=>{s.current?.scrollIntoView({block:"start",behavior:"smooth"})},[e.id]);let l=(0,we.useMemo)(()=>JSON.stringify(e,null,2),[e]);return(0,L.jsxs)("section",{className:"panel record",ref:s,"aria-label":"Opened record",children:[(0,L.jsxs)("div",{className:"section-heading",children:[(0,L.jsxs)("h2",{className:"record-title",children:[(0,L.jsx)(Wf,{route:e.route}),(0,L.jsx)("b",{children:e.key}),(0,L.jsxs)("span",{className:"muted",title:e.at,children:[Zr(e.at)," UTC \\xB7 ",Oe(e.at)]})]}),(0,L.jsxs)("span",{className:"editor-actions",children:[(0,L.jsxs)("span",{className:"muted",children:[t+1," of ",$(n)]}),(0,L.jsx)("button",{type:"button",className:"ghost mini",disabled:t<=0,onClick:()=>r(-1),title:"Newer (\\u2191 / k)",children:"\\u2191 newer"}),(0,L.jsx)("button",{type:"button",className:"ghost mini",disabled:t>=n-1,onClick:()=>r(1),title:"Older (\\u2193 / j)",children:"\\u2193 older"}),e.route==="chat"&&(0,L.jsxs)("span",{className:"chips",role:"group","aria-label":"View as",children:[(0,L.jsx)("button",{type:"button",className:a?"ghost":"on",onClick:()=>o(!1),children:"rendered"}),(0,L.jsx)("button",{type:"button",className:a?"on":"ghost",onClick:()=>o(!0),children:"raw"})]}),(0,L.jsx)($n,{text:l,label:"copy JSON"}),(0,L.jsx)("button",{type:"button",className:"ghost mini",onClick:i,title:"Close (Esc)",children:"close"})]})]}),(0,L.jsxs)("div",{className:"meta",children:[(0,L.jsxs)("span",{children:[(0,L.jsx)("span",{className:"meta-k",children:"model"}),e.model??e.alias,e.model&&e.model!==e.alias&&(0,L.jsxs)("span",{className:"muted",children:[" as ",e.alias]})]}),e.provider&&(0,L.jsxs)("span",{children:[(0,L.jsx)("span",{className:"meta-k",children:"provider"}),e.provider]}),(0,L.jsxs)("span",{children:[(0,L.jsx)("span",{className:"meta-k",children:"outcome"}),(0,L.jsx)(hu,{record:e})]}),(0,L.jsxs)("span",{children:[(0,L.jsx)("span",{className:"meta-k",children:"took"}),_t(e.ms)]}),(0,L.jsxs)("span",{children:[(0,L.jsx)("span",{className:"meta-k",children:"tokens"}),(0,L.jsx)(mS,{usage:e.usage})]}),(0,L.jsxs)("span",{children:[(0,L.jsx)("span",{className:"meta-k",children:"id"}),(0,L.jsx)("span",{className:"muted",children:e.id})]})]}),e.route==="chat"?(0,L.jsx)(IO,{record:e,raw:a}):e.route==="fim"?(0,L.jsx)(PO,{record:e}):(0,L.jsx)(LO,{record:e})]})},pS=({record:e,selected:t,now:n,term:r,onOpen:i,nested:a})=>(0,L.jsxs)("tr",{className:`${t?"selected":""} ${a?"nested":""}`,onClick:()=>void i(e.id),tabIndex:0,onKeyDown:o=>o.key==="Enter"&&void i(e.id),children:[(0,L.jsx)("td",{className:"muted",title:`${Zr(e.at)} UTC`,children:Oe(e.at,n)}),(0,L.jsx)("td",{children:e.key}),(0,L.jsx)("td",{children:(0,L.jsx)(Wf,{route:e.route})}),(0,L.jsx)("td",{className:"muted",children:e.model??e.alias}),(0,L.jsx)("td",{children:(0,L.jsx)(hu,{record:e})}),(0,L.jsx)("td",{className:"num",children:_t(e.ms)}),(0,L.jsx)("td",{className:"num",children:(0,L.jsx)(mS,{usage:e.usage})}),(0,L.jsx)("td",{className:"preview",children:(0,L.jsx)(CO,{text:e.preview,term:r})})]}),fS=({apiKey:e,features:t})=>{let[n,r]=(0,we.useState)(""),[i,a]=(0,we.useState)(""),[o,s]=(0,we.useState)(""),[l,u]=(0,we.useState)("7d"),[c,d]=(0,we.useState)(""),[p,m]=(0,we.useState)(""),[f,b]=(0,we.useState)(null),[v,h]=(0,we.useState)([]),[y,x]=(0,we.useState)(null),[S,E]=(0,we.useState)(),[w,R]=(0,we.useState)(!1),[P,F]=(0,we.useState)(!1),[A,Z]=(0,we.useState)(null),[j,z]=(0,we.useState)(()=>Date.now()),V=t.includes("recording");(0,we.useEffect)(()=>{let re=window.setTimeout(()=>m(c.trim()),300);return()=>window.clearTimeout(re)},[c]);let O=(0,we.useCallback)(()=>{let re=new URLSearchParams;return n&&re.set("route",n),i&&re.set("outcome",i),o&&re.set("key",o),re.set("since",l),p&&re.set("q",p),re.set("limit","200"),re},[n,i,o,l,p]),K=(0,we.useRef)(0),le=(0,we.useCallback)(async()=>{R(!0),E(void 0),K.current=0;try{b(await ne(`/twinny/v1/admin/recordings?${O().toString()}`,e)),h([]),z(Date.now())}catch(re){E(re instanceof xn&&re.status===503?"This gateway was started without recording support.":ye(re))}finally{R(!1)}},[e,O]);(0,we.useEffect)(()=>{le()},[le]);let q=(0,we.useMemo)(()=>f?[...f.records,...v]:[],[f,v]),D=(0,we.useMemo)(()=>EO(q),[q]),[g,C]=(0,we.useState)(()=>new Set),_=re=>C(Ee=>{let _e=new Set(Ee);return _e.has(re)?_e.delete(re):_e.add(re),_e}),N=y?q.findIndex(re=>re.id===y.id):-1,J=async()=>{let re=f?.nextBefore;if(!(!re||P)){F(!0);try{let Ee=O();Ee.set("before",re);let _e=await ne(`/twinny/v1/admin/recordings?${Ee.toString()}`,e);h(Tt=>[...Tt,..._e.records]),b(Tt=>Tt&&{...Tt,nextBefore:_e.nextBefore})}catch(Ee){E(ye(Ee))}finally{F(!1)}}};(0,we.useEffect)(()=>{!f?.nextBefore||P||w||D.length>=15||K.current>=3||(K.current++,J())},[D,f,P,w]);let ve=(0,we.useCallback)(async re=>{try{x(await ne(`/twinny/v1/admin/recordings/${re}`,e))}catch(Ee){E(ye(Ee))}},[e]),ee=(0,we.useCallback)(re=>{if(N<0)return;let Ee=q[N+re];Ee&&ve(Ee.id)},[N,q,ve]);(0,we.useEffect)(()=>{if(!y)return;let re=Ee=>{let _e=Ee.target;_e&&/^(INPUT|TEXTAREA|SELECT)$/.test(_e.tagName)||(Ee.key==="ArrowDown"||Ee.key==="j"?(Ee.preventDefault(),ee(1)):Ee.key==="ArrowUp"||Ee.key==="k"?(Ee.preventDefault(),ee(-1)):Ee.key==="Escape"&&x(null))};return window.addEventListener("keydown",re),()=>window.removeEventListener("keydown",re)},[y,ee]);let ce=async re=>{Z(re);try{let Ee=O();Ee.set("format",re);let _e=await fetch(`/twinny/v1/admin/recordings/export?${Ee.toString()}`,{headers:{Authorization:`Bearer ${e}`}});if(!_e.ok)throw new Error(`The gateway answered ${_e.status}.`);let Tt=await _e.blob(),Rt=URL.createObjectURL(Tt),ki=document.createElement("a");ki.href=Rt,ki.download=`twinny-recordings-${n||"all"}-${re}.jsonl`,ki.click(),setTimeout(()=>URL.revokeObjectURL(Rt),1e4)}catch(Ee){E(ye(Ee))}finally{Z(null)}},ge=!!(n||i||o||p),ft=()=>{r(""),a(""),s(""),d(""),m("")},tt=f?.summary.active??[],en=(0,we.useMemo)(()=>{let re={},Ee={};for(let _e of D){let Tt=_e.kind==="run"?"embeddings":_e.record.route,Rt=_e.kind==="run"?_e.failed?"error":"ok":_e.record.outcome;re[Tt]=(re[Tt]??0)+1,Ee[Rt]=(Ee[Rt]??0)+1}return{byRoute:re,byOutcome:Ee}},[D]),jn=D.filter(re=>re.kind==="run").length,bi=V||q.length>0||ge;return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("div",{className:"page-title",children:[(0,L.jsx)("h2",{children:"Recordings"}),(0,L.jsx)("p",{children:f?tt.length?`${Fe(f.summary.store.count,"record")} kept. Recording ${tt.map(re=>ba[re]).join(", ")} now.`:`${Fe(f.summary.store.count,"record")} kept. Nothing is being recorded now.`:"The content of requests, for review and for training data."})]}),S&&(0,L.jsx)("div",{className:"error-bar",children:S}),(0,L.jsxs)("section",{className:"panel",children:[(0,L.jsxs)("div",{className:"section-heading",children:[(0,L.jsxs)("h2",{children:["Records",f&&(0,L.jsxs)("span",{className:"count",children:[$(D.length),f.nextBefore?"+":""," shown",jn?` \\xB7 ${Fe(jn,"indexing run")} folded`:""]})]}),(0,L.jsxs)("span",{className:"editor-actions",children:[bi&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)("button",{className:"ghost mini",disabled:!!A||!q.length,onClick:()=>void ce("training"),title:"Successful, complete examples as prompt/completion JSON lines",children:A==="training"?"exporting\\u2026":"export training data"}),(0,L.jsx)("button",{className:"ghost mini",disabled:!!A||!q.length,onClick:()=>void ce("raw"),title:"Every matching record as stored",children:A==="raw"?"exporting\\u2026":"export raw"})]}),(0,L.jsx)("button",{className:"ghost mini",disabled:w,onClick:()=>void le(),children:w?"\\u2026":"refresh"})]})]}),bi&&(0,L.jsxs)("div",{className:"toolbar",children:[(0,L.jsx)(Uf,{label:"Feature",value:n,onChange:r,options:[{value:"",label:"All"},...Vf.map(re=>({value:re,label:ba[re],count:n===""?en.byRoute[re]??0:void 0}))]}),(0,L.jsx)(Uf,{label:"Outcome",value:i,onChange:a,options:[{value:"",label:"Any outcome"},...NO.map(re=>({value:re,label:re,count:i===""?en.byOutcome[re]??0:void 0}))]}),(0,L.jsxs)("select",{"aria-label":"Developer",value:o,onChange:re=>s(re.target.value),children:[(0,L.jsx)("option",{value:"",children:"Everyone"}),(f?.keys??[]).map(re=>(0,L.jsx)("option",{value:re,children:re},re))]}),(0,L.jsx)(Uf,{label:"Period",value:l,onChange:u,options:SO.map(re=>({value:re,label:re}))}),(0,L.jsx)("input",{className:"search",type:"search",placeholder:"search prompts and replies",value:c,onChange:re=>d(re.target.value),"aria-label":"Search"}),ge&&(0,L.jsx)("button",{type:"button",className:"ghost mini",onClick:ft,children:"clear filters"})]}),q.length?(0,L.jsx)("div",{className:"scroll",children:(0,L.jsxs)("table",{className:"rows",children:[(0,L.jsx)("thead",{children:(0,L.jsxs)("tr",{children:[(0,L.jsx)("th",{children:"When"}),(0,L.jsx)("th",{children:"Who"}),(0,L.jsx)("th",{children:"Feature"}),(0,L.jsx)("th",{children:"Model"}),(0,L.jsx)("th",{children:"Outcome"}),(0,L.jsx)("th",{className:"num",children:"Took"}),(0,L.jsx)("th",{className:"num",children:"Tokens"}),(0,L.jsx)("th",{children:"Content"})]})}),(0,L.jsx)("tbody",{children:D.map(re=>{if(re.kind==="record")return(0,L.jsx)(pS,{record:re.record,selected:y?.id===re.record.id,now:j,term:p,onOpen:ve},re.record.id);let Ee=re.calls[0],_e=g.has(re.id),Tt=!!y&&re.calls.some(Rt=>Rt.id===y.id);return(0,L.jsxs)(we.default.Fragment,{children:[(0,L.jsxs)("tr",{className:`run ${Tt&&!_e?"selected":""}`,onClick:()=>_(re.id),tabIndex:0,onKeyDown:Rt=>Rt.key==="Enter"&&_(re.id),"aria-expanded":_e,title:_e?"Fold the run":"Show each call",children:[(0,L.jsxs)("td",{className:"muted",title:`${Zr(re.calls[re.calls.length-1].at)} \\u2013 ${Zr(Ee.at)} UTC`,children:[(0,L.jsx)("span",{className:"caret",children:_e?"\\u25BE":"\\u25B8"}),Oe(Ee.at,j)]}),(0,L.jsx)("td",{children:Ee.key}),(0,L.jsx)("td",{children:(0,L.jsx)(Wf,{route:"embeddings"})}),(0,L.jsx)("td",{className:"muted",children:Ee.model??Ee.alias}),(0,L.jsx)("td",{children:re.failed?(0,L.jsxs)("span",{className:"pill-s bad",children:[Fe(re.failed,"call")," failed"]}):(0,L.jsx)("span",{className:"pill-s ok",children:"ok"})}),(0,L.jsx)("td",{className:"num",children:_t(re.ms)}),(0,L.jsx)("td",{className:"num muted",children:"\\u2013"}),(0,L.jsxs)("td",{className:"preview",children:[(0,L.jsx)("b",{children:"Indexing run"})," \\xB7 ",Fe(re.calls.length,"call")]})]}),_e&&re.calls.map(Rt=>(0,L.jsx)(pS,{record:Rt,selected:y?.id===Rt.id,now:j,term:p,onOpen:ve,nested:!0},Rt.id))]},re.id)})})]})}):(0,L.jsx)("div",{className:"empty",children:f?ge?(0,L.jsxs)(L.Fragment,{children:["Nothing matches these filters in the last ",l,"."," ",(0,L.jsx)("button",{type:"button",className:"link",onClick:ft,children:"Clear them"}),"."]}):tt.length?`No records in the last ${l}. Recorded requests appear here as developers use ${tt.map(re=>ba[re].toLowerCase()).join(" and ")}.`:V?"Nothing is being recorded. Switch a feature on under \\u201CWhat is kept\\u201D below.":"Recording needs a licence with the recording feature. Settings below are saved but nothing is kept until one is installed under Plan & licence.":w?"Loading\\u2026":""}),f?.nextBefore&&(0,L.jsxs)("div",{className:"editor-actions",style:{marginTop:10},children:[(0,L.jsx)("button",{className:"ghost",disabled:P,onClick:()=>void J(),children:P?"loading\\u2026":"load older"}),(0,L.jsx)("span",{className:"muted",children:"Click a row to open it. \\u2191 \\u2193 move between records, Esc closes."})]}),!f?.nextBefore&&q.length>0&&(0,L.jsx)("div",{className:"hint",children:"Click a row to open it. \\u2191 \\u2193 move between records, Esc closes."})]}),y&&(0,L.jsx)(OO,{record:y,index:N,total:q.length,onStep:ee,onClose:()=>x(null)}),f&&(0,L.jsx)(AO,{apiKey:e,summary:f.summary,licensed:V,onSaved:()=>void le()})]})};var te=X(Ce()),_O=["24h","7d","30d"],Kf="twinny-server.admin-key",hS="twinny-server.admin-view",gu=document.documentElement.dataset.demo==="1",vi="demo",vS=["var(--s1)","var(--s2)","var(--s3)","var(--s4)","var(--s5)","var(--s6)"],DO=vS.length,FO=new Set(["overview","usage","people","models"]),Gf=e=>e==="overview"||e==="usage"||e==="people"||e==="policy"||e==="recordings"||e==="audit"||e==="models"||e==="plan"||e==="plugins"||typeof e=="string"&&/^plugin:[a-z][a-z0-9-]{1,31}$/.test(e),zO=()=>{let[e,t]=(0,Le.useState)(null),[n,r]=(0,Le.useState)(!1),[i,a]=(0,Le.useState)(),o=async()=>{r(!0);try{let s=await ne("/twinny/v1/demo/invite",vi,{method:"POST"});t(s),a(void 0),window.location.href=ho(window.location.origin,s.code)}catch(s){a(ye(s))}finally{r(!1)}};return(0,te.jsxs)("div",{className:"demo-bar",children:[(0,te.jsxs)("span",{children:[(0,te.jsx)("b",{children:"Live demo."})," A real twinny-server with real models behind it. You are looking at the admin page read-only: changes are switched off."]}),(0,te.jsx)("span",{className:"spacer"}),e?(0,te.jsxs)("span",{children:["VS Code should be opening as ",(0,te.jsx)("b",{children:e.name}),", a guest for ",$(e.guestMinutes)," minutes. ",(0,te.jsx)("a",{href:ho(window.location.origin,e.code),children:"Open again"})]}):(0,te.jsx)("button",{className:"primary",onClick:()=>void o(),disabled:n,title:"Needs the Twinny extension installed in VS Code",children:n?"\\u2026":"Try it in VS Code"}),i&&(0,te.jsx)("span",{className:"demo-error",children:i})]})},$O=({onKey:e,error:t})=>{let[n,r]=(0,Le.useState)("");return(0,te.jsx)("main",{className:"signin",children:(0,te.jsxs)("section",{className:"card",children:[(0,te.jsxs)("h1",{children:["twinny",(0,te.jsx)("span",{children:"-server"})]}),(0,te.jsx)("p",{children:"Sign in with your gateway key."}),(0,te.jsxs)("form",{onSubmit:a=>{a.preventDefault(),n.trim()&&e(n.trim())},children:[(0,te.jsx)("input",{type:"password",autoFocus:!0,placeholder:"tsk_\\u2026",value:n,onChange:a=>r(a.target.value),"aria-label":"Gateway key"}),(0,te.jsx)("button",{type:"submit",className:"primary",children:"Open"})]}),t&&(0,te.jsx)("div",{className:"error",children:t}),(0,te.jsxs)("div",{className:"hint",children:["An admin key opens everything; make one on the server with ",(0,te.jsx)("code",{children:"twinny-server keys create you --admin"}),". A developer\'s key opens the plugins an admin shared with them. The key stays in this tab."]}),gu&&(0,te.jsx)("div",{className:"hint",children:(0,te.jsx)("button",{type:"button",className:"ghost",onClick:()=>e(vi),children:"Back to the demo"})})]})})},MO=()=>{let[e,t]=(0,Le.useState)(()=>{try{return sessionStorage.getItem(Kf)??(gu?vi:null)}catch{return gu?vi:null}}),[n,r]=(0,Le.useState)(null),[i,a]=(0,Le.useState)("7d"),[o,s]=(0,Le.useState)(null),[l,u]=(0,Le.useState)(),[c,d]=(0,Le.useState)(),[p,m]=(0,Le.useState)(!1),[f,b]=(0,Le.useState)(()=>{try{let N=location.hash.replace(/^#/,"");if(Gf(N))return N;let J=sessionStorage.getItem(hS);return Gf(J)?J:"overview"}catch{return"overview"}}),[v,h]=(0,Le.useState)(0),[y,x]=(0,Le.useState)(null),S=(0,Le.useCallback)(N=>{b(N);try{sessionStorage.setItem(hS,N),history.replaceState(null,"",`#${N}`)}catch{}},[]);(0,Le.useEffect)(()=>{let N=()=>{let J=location.hash.replace(/^#/,"");Gf(J)&&b(J)};return window.addEventListener("hashchange",N),()=>window.removeEventListener("hashchange",N)},[]);let E=(0,Le.useCallback)(()=>{try{sessionStorage.removeItem(Kf)}catch{}t(null),r(null),s(null)},[]);(0,Le.useEffect)(()=>{if(!e)return;let N=!1;return ne("/twinny/v1/whoami",e).then(J=>{if(!N){if(J.shared){d("The shared token does not open this page. Sign in with a key of your own."),E();return}d(void 0),r(J);try{e!==vi&&sessionStorage.setItem(Kf,e)}catch{}}}).catch(J=>{N||(d(ye(J)),E())}),()=>{N=!0}},[e,E]);let w=(0,Le.useCallback)(async()=>{if(!(!e||!n?.admin)){m(!0);try{let[N,J,ve,ee]=await Promise.all([ne("/twinny/v1/status",e),ne(`/twinny/v1/admin/usage?since=${i}`,e),ne("/twinny/v1/admin/keys",e),ne("/twinny/v1/admin/plugins",e).catch(()=>({plugins:[],licensed:!1}))]);s({status:N,usage:J,keys:ve,plugins:ee.plugins,pluginsLicensed:ee.licensed}),x(Date.now()),u(void 0)}catch(N){if(N instanceof xn&&(N.status===401||N.status===403)){d(N.message),E();return}u(ye(N))}finally{m(!1)}}},[e,n,i,E]);(0,Le.useEffect)(()=>{w()},[w]),(0,Le.useEffect)(()=>{if(!n)return;let N=setInterval(()=>{document.visibilityState==="visible"&&w()},6e4);return()=>clearInterval(N)},[n,w]);let R=(0,Le.useCallback)(async(N,J,ve=!1)=>{if(!e)throw new Error("Not signed in.");let ee=await ne("/twinny/v1/admin/keys",e,{method:"POST",body:{name:N,admin:J,...ve?{readOnly:!0}:{}}});return await w(),ee},[e,w]),P=(0,Le.useCallback)(async N=>{if(!e)throw new Error("Not signed in.");await ne(`/twinny/v1/admin/keys/${N}/revoke`,e,{method:"POST"}),await w()},[e,w]),F=(0,Le.useCallback)(async N=>{if(!e)throw new Error("Not signed in.");await ne("/twinny/v1/admin/license",e,{method:"PUT",body:{token:N}}),await w()},[e,w]),A=(0,Le.useCallback)(async(N,J)=>{if(!e)throw new Error("Not signed in.");await ne(`/twinny/v1/admin/plugins/${N}/${J?"enable":"disable"}`,e,{method:"POST"}),await w()},[e,w]),Z=(0,Le.useCallback)(async(N,J)=>{if(!e)throw new Error("Not signed in.");await ne(`/twinny/v1/admin/plugins/${N}/access`,e,{method:"PUT",body:J}),await w()},[e,w]),j=(0,Le.useCallback)(N=>{d(N),E()},[E]),z=(0,Le.useCallback)(async()=>{if(!e)throw new Error("Not signed in.");await ne("/twinny/v1/admin/license",e,{method:"DELETE"}),await w()},[e,w]),V=(0,Le.useMemo)(()=>o?Object.entries(o.usage.byKey).sort((J,ve)=>ve[1].requests-J[1].requests||J[0].localeCompare(ve[0])).map(([J])=>J).slice(0,DO).map((J,ve)=>({name:J,color:vS[ve]})):[],[o]),O=N=>V.find(J=>J.name===N)?.color??fu;if(!e||!n)return(0,te.jsx)($O,{onKey:t,error:c});if(!n.admin)return(0,te.jsx)(rS,{apiKey:e,who:n,onSignOut:j});let K=o?.status.backends.filter(N=>!N.ok)??[],le=o?.keys.plan,q=!!le&&le.status!=="free"&&le.status!=="licensed",D=le?.features??[],g=(N,J)=>(0,te.jsx)("button",{className:f===N?"on":"",onClick:()=>S(N),"aria-current":f===N?"page":void 0,children:J},N),C=o?.plugins.filter(N=>N.enabled)??[],_=f.startsWith("plugin:")?f.slice(7):void 0;return(0,te.jsxs)("div",{className:"app",children:[(0,te.jsxs)("header",{className:"top",children:[(0,te.jsxs)("h1",{children:["twinny",(0,te.jsx)("span",{children:"-server"})]}),o&&(0,te.jsxs)("button",{type:"button",className:`pill ${K.length?"bad":"ok"}`,onClick:()=>S("overview"),title:"Live backend checks; open the overview",children:[(0,te.jsx)("i",{}),K.length?`${K.length} of ${o.status.backends.length} backends down: ${K.map(N=>N.provider).join(", ")}`:`${o.status.backends.length} backend${o.status.backends.length===1?"":"s"} answering`]}),(0,te.jsx)("span",{className:"spacer"}),FO.has(f)&&(0,te.jsx)("span",{className:"chips",role:"group","aria-label":"Period",children:_O.map(N=>(0,te.jsx)("button",{className:N===i?"on":"ghost",onClick:()=>a(N),children:N},N))}),(0,te.jsx)("button",{className:"ghost",onClick:()=>void w(),disabled:p,title:y?`Refreshed ${new Date(y).toLocaleTimeString()}; refreshes itself every minute`:void 0,children:p?"\\u2026":"refresh"}),(0,te.jsx)("span",{className:"who",title:"Signed in with this admin key",children:n.key}),(0,te.jsx)("button",{className:"ghost",onClick:E,children:e===vi?"admin sign in":"sign out"})]}),gu&&e===vi&&(0,te.jsx)(zO,{}),(0,te.jsxs)("div",{className:"shell",children:[(0,te.jsxs)("nav",{className:"sidenav","aria-label":"Admin sections",children:[(0,te.jsx)("div",{className:"group",children:"Monitor"}),g("overview",(0,te.jsxs)(te.Fragment,{children:["Overview",K.length>0&&(0,te.jsx)("span",{className:"badge bad",children:$(K.length)})]})),g("usage","Usage"),(0,te.jsx)("div",{className:"group",children:"Team"}),g("people",(0,te.jsxs)(te.Fragment,{children:["People",v>0&&(0,te.jsx)("span",{className:"badge",children:$(v)})]})),g("policy","Policy"),g("recordings","Recordings"),g("audit","Audit log"),(0,te.jsx)("div",{className:"group",children:"Gateway"}),g("models","Providers & models"),g("plan",(0,te.jsxs)(te.Fragment,{children:["Plan & licence",q&&(0,te.jsx)("span",{className:"badge bad",children:"!"})]})),(0,te.jsx)("div",{className:"group",children:"Plugins"}),g("plugins",(0,te.jsxs)(te.Fragment,{children:["Store",C.length>0&&(0,te.jsx)("span",{className:"badge",children:$(C.length)})]})),C.map(N=>g(`plugin:${N.id}`,(0,te.jsxs)("span",{className:"nav-plugin",children:[(0,te.jsx)(it,{id:N.id,size:14}),N.name]})))]}),(0,te.jsxs)("div",{className:"main",children:[l&&(0,te.jsx)("div",{className:"error-bar",children:l}),!o&&!l&&(0,te.jsx)("div",{className:"loading",children:"Loading\\u2026"}),(0,te.jsx)("div",{hidden:f!=="recordings",children:f==="recordings"&&(0,te.jsx)(fS,{apiKey:e,features:D})}),(0,te.jsx)("div",{hidden:f!=="audit",children:f==="audit"&&(0,te.jsx)(_v,{apiKey:e})}),(0,te.jsx)("div",{hidden:f!=="models"&&f!=="policy",children:(0,te.jsx)(Dv,{apiKey:e,onSaved:()=>void w(),features:D,section:f==="policy"?"policy":"models",status:o?.status,usage:o?.usage,period:i,onNavigate:S})}),o&&(0,te.jsxs)(te.Fragment,{children:[(0,te.jsx)("div",{hidden:f!=="overview",children:(0,te.jsx)(sS,{status:o.status,usage:o.usage,keys:o.keys,period:i,series:V,colorOf:O,onNavigate:S})}),(0,te.jsx)("div",{hidden:f!=="usage",children:(0,te.jsx)(aS,{summary:o.usage,status:o.status,period:i,colorOf:O})}),(0,te.jsx)("div",{hidden:f!=="people",children:(0,te.jsx)(lS,{apiKey:e,keys:o.keys,usage:o.usage,period:i,me:n.key,pending:v,onPending:h,onChanged:()=>void w(),onCreate:R,onRevoke:P,onNavigate:S})}),(0,te.jsx)("div",{hidden:f!=="plan",children:le&&(0,te.jsx)(cS,{plan:le,onInstall:F,onRemove:z,onNavigate:S})}),(0,te.jsx)("div",{hidden:f!=="plugins",children:(0,te.jsx)(nS,{plugins:o.plugins,licensed:o.pluginsLicensed,onToggle:A,people:o.keys.keys.filter(N=>!N.revokedAt&&!N.admin).map(N=>N.name),onShare:Z,onOpen:N=>S(`plugin:${N}`),onNavigate:S})}),_&&(0,te.jsx)("div",{children:C.some(N=>N.id===_)?(0,te.jsx)(pu,{id:_,apiKey:e},_):(0,te.jsxs)("div",{className:"empty",children:["This plugin is switched off."," ",(0,te.jsx)("button",{type:"button",className:"link",onClick:()=>S("plugins"),children:"plugins"})]})})]})]})]})]})},gS=document.getElementById("root");gS&&(0,yS.createRoot)(gS).render((0,te.jsx)(MO,{}));})();\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\n (**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.min.js:\n (**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.min.js:\n (**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact/cjs/react-jsx-runtime.production.min.js:\n (**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nprismjs/components/prism-core.js:\n (**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n *)\n*/\n' : "";
147171
147399
  var css = true ? `:root {
147172
147400
  color-scheme: dark;
147173
147401
  --bg: #0d1012;
@@ -147565,6 +147793,11 @@ table.usage td .dot { display: inline-block; width: 8px; height: 8px; border-rad
147565
147793
  .plugin-description { color: var(--ink-2); margin: 0 0 12px; min-height: 3em; }
147566
147794
  .row-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
147567
147795
  .row-actions .muted { flex: 1 1 260px; font-size: 12px; }
147796
+ .access-line, .access-editor { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
147797
+ .access-editor { display: flex; flex-direction: column; gap: 10px; }
147798
+ .access-people { display: flex; flex-wrap: wrap; gap: 6px 14px; }
147799
+ .access-people label { display: inline-flex; gap: 6px; align-items: center; }
147800
+ .access-people input[type="checkbox"] { accent-color: var(--accent); }
147568
147801
  .bad-text { color: var(--bad); }
147569
147802
  .ins-text { color: var(--accent); }
147570
147803
  .del-text { color: var(--bad); }
@@ -147743,6 +147976,52 @@ ${js ? `<script>${js.replace(/<\/script/gi, "<\\/script")}</script>` : ""}
147743
147976
  </html>
147744
147977
  `;
147745
147978
 
147979
+ // src/gateway/page-links.ts
147980
+ var import_node_crypto27 = require("node:crypto");
147981
+ var PAGE_LINK_TTL_MS = 6e4;
147982
+ var MAX_PAGE_LINKS = 200;
147983
+ var MAX_PAGE_LINKS_PER_NAME = 5;
147984
+ var CODE_BYTES = 32;
147985
+ var CODE_PATTERN2 = /^[0-9a-f]{64}$/;
147986
+ var PageLinks = class {
147987
+ constructor(_now = Date.now) {
147988
+ this._now = _now;
147989
+ this._records = /* @__PURE__ */ new Map();
147990
+ }
147991
+ get size() {
147992
+ this.prune();
147993
+ return this._records.size;
147994
+ }
147995
+ /** A fresh code for this key. The oldest outstanding code gives way when there are too many. */
147996
+ mint(key3, name) {
147997
+ this.prune();
147998
+ const mine = [...this._records.entries()].filter(([, record]) => record.name === name);
147999
+ if (mine.length >= MAX_PAGE_LINKS_PER_NAME) this.dropOldest(mine);
148000
+ if (this._records.size >= MAX_PAGE_LINKS) this.dropOldest([...this._records.entries()]);
148001
+ const now = this._now();
148002
+ const code = (0, import_node_crypto27.randomBytes)(CODE_BYTES).toString("hex");
148003
+ this._records.set(code, { key: key3, name, createdAt: now, expiresAt: now + PAGE_LINK_TTL_MS });
148004
+ return { code, expiresAt: new Date(now + PAGE_LINK_TTL_MS).toISOString() };
148005
+ }
148006
+ /** The key behind a code, once; undefined for a code that is used, expired, unknown or malformed. */
148007
+ open(code) {
148008
+ this.prune();
148009
+ if (typeof code !== "string" || !CODE_PATTERN2.test(code)) return void 0;
148010
+ const record = this._records.get(code);
148011
+ if (!record) return void 0;
148012
+ this._records.delete(code);
148013
+ return { key: record.key, name: record.name };
148014
+ }
148015
+ dropOldest(entries) {
148016
+ const oldest = entries.sort((a6, b6) => a6[1].createdAt - b6[1].createdAt)[0];
148017
+ if (oldest) this._records.delete(oldest[0]);
148018
+ }
148019
+ prune() {
148020
+ const now = this._now();
148021
+ for (const [code, record] of this._records) if (record.expiresAt <= now) this._records.delete(code);
148022
+ }
148023
+ };
148024
+
147746
148025
  // src/gateway/reply.ts
147747
148026
  var sendJson2 = (res, status, value, headers = {}) => {
147748
148027
  const text2 = JSON.stringify(value);
@@ -147881,9 +148160,9 @@ var SeatBook = class {
147881
148160
  };
147882
148161
 
147883
148162
  // src/gateway/signin.ts
147884
- var import_node_crypto27 = require("node:crypto");
148163
+ var import_node_crypto28 = require("node:crypto");
147885
148164
  var CODE_ALPHABET = "BCDFGHJKMNPQRSTVWXYZ23456789";
147886
- var CODE_PATTERN2 = /^[BCDFGHJKMNPQRSTVWXYZ23456789]{4}-[BCDFGHJKMNPQRSTVWXYZ23456789]{4}$/;
148165
+ var CODE_PATTERN3 = /^[BCDFGHJKMNPQRSTVWXYZ23456789]{4}-[BCDFGHJKMNPQRSTVWXYZ23456789]{4}$/;
147887
148166
  var DEVICE_CODE_BYTES = 32;
147888
148167
  var DEVICE_CODE_PATTERN = /^[0-9a-f]{64}$/;
147889
148168
  var SIGNIN_TTL_MS = 10 * 6e4;
@@ -147896,10 +148175,10 @@ var clean2 = (value, pattern) => {
147896
148175
  const text2 = value.trim();
147897
148176
  return pattern.test(text2) ? text2 : void 0;
147898
148177
  };
147899
- var isUserCode = (value) => typeof value === "string" && CODE_PATTERN2.test(value.trim().toUpperCase());
148178
+ var isUserCode = (value) => typeof value === "string" && CODE_PATTERN3.test(value.trim().toUpperCase());
147900
148179
  var normalizeUserCode = (value) => value.trim().toUpperCase();
147901
148180
  var newUserCode = () => {
147902
- const pick = () => CODE_ALPHABET[(0, import_node_crypto27.randomInt)(CODE_ALPHABET.length)];
148181
+ const pick = () => CODE_ALPHABET[(0, import_node_crypto28.randomInt)(CODE_ALPHABET.length)];
147903
148182
  const half = () => pick() + pick() + pick() + pick();
147904
148183
  return `${half()}-${half()}`;
147905
148184
  };
@@ -147928,7 +148207,7 @@ var SignInRequests = class {
147928
148207
  }
147929
148208
  let userCode = newUserCode();
147930
148209
  while (this.byUserCode(userCode)) userCode = newUserCode();
147931
- const deviceCode = (0, import_node_crypto27.randomBytes)(DEVICE_CODE_BYTES).toString("hex");
148210
+ const deviceCode = (0, import_node_crypto28.randomBytes)(DEVICE_CODE_BYTES).toString("hex");
147932
148211
  const record = {
147933
148212
  deviceCode,
147934
148213
  userCode,
@@ -148226,7 +148505,7 @@ var parseSince = (value, now = /* @__PURE__ */ new Date()) => {
148226
148505
  // src/gateway/server.ts
148227
148506
  var HEALTH_PATH = "/healthz";
148228
148507
  var METRICS_PATH = "/metrics";
148229
- var ADMIN_PATH = "/admin";
148508
+ var ADMIN_PATH = GATEWAY_PAGE_PATH;
148230
148509
  var ADMIN_API_PREFIX = "/twinny/v1/admin/";
148231
148510
  var SHARED_PRINCIPAL = "shared";
148232
148511
  var GatewayListenError = class extends Error {
@@ -148237,15 +148516,21 @@ var GatewayListenError = class extends Error {
148237
148516
  }
148238
148517
  };
148239
148518
  var MINUTE_MS2 = 6e4;
148519
+ var matchPluginRoute = (route) => {
148520
+ const match = /^plugins\/([a-z][a-z0-9-]{1,31})(?:\/(enable|disable|access|api)(?:\/(.*))?)?$/.exec(route);
148521
+ return match ? { id: match[1], ...match[2] ? { action: match[2] } : {}, ...match[3] !== void 0 ? { rest: match[3] } : {} } : void 0;
148522
+ };
148523
+ var normalPluginPath = (rest) => (rest ?? "").replace(/\/+$/, "");
148524
+ var sendPluginFailure = (res, error) => sendJson2(res, error instanceof PluginError ? error.status : 400, { error: { message: messageOf(error) } });
148240
148525
  var tokenMatches = (presented, expected) => {
148241
148526
  if (!presented) return false;
148242
148527
  const a6 = Buffer.from(presented, "utf8");
148243
148528
  const b6 = Buffer.from(expected, "utf8");
148244
148529
  if (a6.length !== b6.length) {
148245
- (0, import_node_crypto28.timingSafeEqual)(b6, b6);
148530
+ (0, import_node_crypto29.timingSafeEqual)(b6, b6);
148246
148531
  return false;
148247
148532
  }
148248
- return (0, import_node_crypto28.timingSafeEqual)(a6, b6);
148533
+ return (0, import_node_crypto29.timingSafeEqual)(a6, b6);
148249
148534
  };
148250
148535
  var bearerOf = (header2) => {
148251
148536
  const match = /^Bearer\s+(\S+)\s*$/i.exec(header2 || "");
@@ -148254,9 +148539,14 @@ var bearerOf = (header2) => {
148254
148539
  var GatewayServer = class {
148255
148540
  constructor(_options) {
148256
148541
  this._options = _options;
148542
+ this._pageLinks = new PageLinks();
148257
148543
  this._draining = false;
148258
148544
  this._nextId = 1;
148259
- this._server = import_node_http2.default.createServer((req, res) => void this.handle(req, res));
148545
+ this._server = import_node_http2.default.createServer(
148546
+ (req, res) => void this.handle(req, res).catch(
148547
+ (error) => this.crashed(req, res, error)
148548
+ )
148549
+ );
148260
148550
  this._server.on(
148261
148551
  "upgrade",
148262
148552
  (req, socket, head) => this.handleUpgrade(req, socket, head)
@@ -148451,10 +148741,17 @@ var GatewayServer = class {
148451
148741
  /**
148452
148742
  * The admin API behind the page: usage for everyone, the key list and
148453
148743
  * nothing a developer's own key could not already learn about itself.
148454
- * Admin keys only; the shared token is never an admin.
148744
+ * Admin keys only, but for the plugins an admin shared with a developer;
148745
+ * the shared token is never an admin and never a developer.
148455
148746
  */
148456
148747
  async handleAdmin(url, req, res, auth) {
148748
+ const route = url.pathname.slice(ADMIN_API_PREFIX.length).replace(/\/+$/, "");
148457
148749
  if (!auth.admin) {
148750
+ if (!auth.shared && !this._seats.isGuest(auth.principal) && (route === "plugins" || route.startsWith("plugins/"))) {
148751
+ await this.handleMemberPlugins(route, url, req, res, auth.principal);
148752
+ return;
148753
+ }
148754
+ req.resume();
148458
148755
  sendRefusal(
148459
148756
  res,
148460
148757
  403,
@@ -148464,7 +148761,6 @@ var GatewayServer = class {
148464
148761
  this._options.log.warn({ event: "admin.refused", key: auth.principal });
148465
148762
  return;
148466
148763
  }
148467
- const route = url.pathname.slice(ADMIN_API_PREFIX.length).replace(/\/+$/, "");
148468
148764
  if (route === "provider-models") {
148469
148765
  if (req.method !== "POST") {
148470
148766
  sendMethodNotAllowed(
@@ -148996,7 +149292,7 @@ var GatewayServer = class {
148996
149292
  }
148997
149293
  const made = invites.create(
148998
149294
  {
148999
- name: guestName((0, import_node_crypto28.randomBytes)(3).toString("hex")),
149295
+ name: guestName((0, import_node_crypto29.randomBytes)(3).toString("hex")),
149000
149296
  createdBy: DEMO_VISITOR,
149001
149297
  ttlMs: demo.inviteTtlMs
149002
149298
  },
@@ -149230,14 +149526,31 @@ var GatewayServer = class {
149230
149526
  });
149231
149527
  return;
149232
149528
  }
149233
- const match = /^plugins\/([a-z][a-z0-9-]{1,31})(?:\/(enable|disable|api)(?:\/(.*))?)?$/.exec(
149234
- route
149235
- );
149236
- if (!match || !plugins.has(match[1])) {
149529
+ const match = matchPluginRoute(route);
149530
+ if (!match || !plugins.has(match.id)) {
149237
149531
  sendMessage(res, 404, "No such plugin.");
149238
149532
  return;
149239
149533
  }
149240
- const [, id, action, rest] = match;
149534
+ const { id, action, rest } = match;
149535
+ if (action === "access") {
149536
+ if (rest !== void 0) {
149537
+ sendMessage(res, 404, "Not found.");
149538
+ return;
149539
+ }
149540
+ if (req.method === "GET") {
149541
+ sendJson2(res, 200, { access: plugins.access(id) });
149542
+ return;
149543
+ }
149544
+ if (req.method !== "PUT") {
149545
+ sendMethodNotAllowed(res, ["GET", "PUT"], "Use GET or PUT for who a plugin is shared with.");
149546
+ return;
149547
+ }
149548
+ const access = plugins.setAccess(id, await readJsonBody(req));
149549
+ this._options.log.info({ event: "plugin.access-changed", key: auth.principal, reason: id });
149550
+ this.audit(req, auth.principal, "plugin.access-changed", id, { everyone: access.everyone, people: access.people.length });
149551
+ sendJson2(res, 200, { access });
149552
+ return;
149553
+ }
149241
149554
  if (action === "enable" || action === "disable") {
149242
149555
  if (req.method !== "POST") {
149243
149556
  sendMethodNotAllowed(res, ["POST"], "Switching a plugin is POST.");
@@ -149257,26 +149570,69 @@ var GatewayServer = class {
149257
149570
  sendMessage(res, 404, "Not found.");
149258
149571
  return;
149259
149572
  }
149260
- const answer = await plugins.handle(id, {
149261
- method: req.method ?? "GET",
149262
- path: (rest ?? "").replace(/\/+$/, ""),
149263
- query: url.searchParams,
149264
- body: () => readJsonBody(req, 256 * 1024),
149265
- principal: auth.principal
149266
- });
149267
- req.resume();
149268
- if (req.method !== "GET" && answer.status < 400)
149269
- this.audit(req, auth.principal, "plugin.write", id, { method: req.method ?? "", path: (rest ?? "").replace(/\/+$/, "") });
149270
- sendPlugin(res, answer);
149573
+ await this.forwardToPlugin(plugins, id, rest ?? "", url, req, res, auth.principal, false);
149271
149574
  } catch (error) {
149272
- const status = error instanceof PluginError ? error.status : 400;
149273
- sendJson2(res, status, {
149274
- error: {
149275
- message: messageOf(error)
149575
+ req.resume();
149576
+ sendPluginFailure(res, error);
149577
+ }
149578
+ }
149579
+ /**
149580
+ * A developer on the admin API: the plugins shared with them and, of
149581
+ * those, the routes each plugin names as a developer's. Switching,
149582
+ * sharing and every other admin route stay refused.
149583
+ */
149584
+ async handleMemberPlugins(route, url, req, res, principal) {
149585
+ const plugins = this._options.plugins;
149586
+ if (!plugins) {
149587
+ req.resume();
149588
+ sendMessage(res, 404, "This gateway has no plugins.");
149589
+ return;
149590
+ }
149591
+ try {
149592
+ if (route === "plugins") {
149593
+ if (req.method !== "GET") {
149594
+ req.resume();
149595
+ sendMethodNotAllowed(res, ["GET"], "Use GET to list plugins.");
149596
+ return;
149276
149597
  }
149277
- });
149598
+ sendJson2(res, 200, { plugins: plugins.listFor(principal), licensed: plugins.licensed });
149599
+ return;
149600
+ }
149601
+ const match = matchPluginRoute(route);
149602
+ if (!match || !match.action || !plugins.has(match.id)) {
149603
+ req.resume();
149604
+ sendMessage(res, 404, "No such plugin.");
149605
+ return;
149606
+ }
149607
+ const refusal2 = match.action === "api" ? plugins.refuseMember(match.id, principal, req.method ?? "GET", normalPluginPath(match.rest)) : "Only an admin can switch or share a plugin.";
149608
+ if (refusal2) {
149609
+ req.resume();
149610
+ sendRefusal(res, 403, "authentication", refusal2);
149611
+ this._options.log.warn({ event: "plugin.member-refused", key: principal, reason: match.id });
149612
+ return;
149613
+ }
149614
+ await this.forwardToPlugin(plugins, match.id, match.rest ?? "", url, req, res, principal, true);
149615
+ } catch (error) {
149616
+ req.resume();
149617
+ sendPluginFailure(res, error);
149278
149618
  }
149279
149619
  }
149620
+ /** Hands one request to a plugin's own routes and audits what it changed. */
149621
+ async forwardToPlugin(plugins, id, rest, url, req, res, principal, member5) {
149622
+ const path21 = normalPluginPath(rest);
149623
+ const answer = await plugins.handle(id, {
149624
+ method: req.method ?? "GET",
149625
+ path: path21,
149626
+ query: url.searchParams,
149627
+ body: () => readJsonBody(req, 256 * 1024),
149628
+ principal,
149629
+ ...member5 ? { member: true } : {}
149630
+ });
149631
+ req.resume();
149632
+ if (req.method !== "GET" && answer.status < 400)
149633
+ this.audit(req, principal, "plugin.write", id, { method: req.method ?? "", path: path21, ...member5 ? { member: true } : {} });
149634
+ sendPlugin(res, answer);
149635
+ }
149280
149636
  /** A plugin's browser-facing routes: no credential; the plugin decides what to show. */
149281
149637
  async handlePublicPlugin(id, rest, url, req, res) {
149282
149638
  const plugins = this._options.plugins;
@@ -149434,6 +149790,63 @@ var GatewayServer = class {
149434
149790
  );
149435
149791
  }
149436
149792
  }
149793
+ /**
149794
+ * Page links, both sides. Asking takes the developer's own key: the
149795
+ * shared token and a demo's guests have no page to open. Opening takes
149796
+ * no credential, since the code is one, and hands back the key that
149797
+ * asked, once, if it still works.
149798
+ */
149799
+ async handlePageLink(pathname, req, res) {
149800
+ if (req.method !== "POST") {
149801
+ req.resume();
149802
+ sendMethodNotAllowed(res, ["POST"], "Page links are POST only.");
149803
+ return;
149804
+ }
149805
+ if (this._draining) {
149806
+ req.resume();
149807
+ sendMessage(res, 503, "The gateway is shutting down.");
149808
+ return;
149809
+ }
149810
+ if (pathname === `${REMOTE_PROTOCOL_BASE}${REMOTE_PAGE_LINK_PATH}`) {
149811
+ req.resume();
149812
+ const auth = this.authenticate(req.headers.authorization);
149813
+ if ("refused" in auth) {
149814
+ sendError2(res, new InferenceError("authentication", auth.refused), { "WWW-Authenticate": "Bearer" });
149815
+ return;
149816
+ }
149817
+ if (auth.shared || auth.visitor || this._seats.isGuest(auth.principal)) {
149818
+ sendRefusal(
149819
+ res,
149820
+ 403,
149821
+ "authentication",
149822
+ auth.shared ? "The shared token does not open the gateway's page. Ask your admin for a key of your own." : "A demo's guests have no page to open."
149823
+ );
149824
+ return;
149825
+ }
149826
+ const link = this._pageLinks.mint(bearerOf(req.headers.authorization), auth.principal);
149827
+ this._options.log.info({ event: "page-link.made", key: auth.principal });
149828
+ sendJson2(res, 201, link);
149829
+ return;
149830
+ }
149831
+ try {
149832
+ const body = await readJsonBody(req, 4 * 1024);
149833
+ const opened = this._pageLinks.open(body.code);
149834
+ if (!opened) {
149835
+ sendMessage(res, 410, "This sign-in link was used already or has expired. Open the page from VS Code again.");
149836
+ return;
149837
+ }
149838
+ const auth = this.authenticate(`Bearer ${opened.key}`);
149839
+ if ("refused" in auth) {
149840
+ sendError2(res, new InferenceError("authentication", auth.refused));
149841
+ return;
149842
+ }
149843
+ this._options.log.info({ event: "page-link.opened", key: opened.name });
149844
+ this.audit(req, opened.name, "page.signed-in", opened.name, { link: true, ...auth.admin ? { admin: true } : {} });
149845
+ sendJson2(res, 200, { key: opened.key, name: opened.name });
149846
+ } catch (error) {
149847
+ sendMessage(res, 400, messageOf(error));
149848
+ }
149849
+ }
149437
149850
  /**
149438
149851
  * The licence: read the plan, install a token, or remove it. Installing
149439
149852
  * verifies the signature first; a bad token changes nothing. The token
@@ -149493,6 +149906,26 @@ var GatewayServer = class {
149493
149906
  );
149494
149907
  }
149495
149908
  }
149909
+ /**
149910
+ * The last resort for a request whose handler threw: the reason goes to
149911
+ * the log for the operator, the caller gets a 500 that says nothing of
149912
+ * it, and the process carries on. Without this the rejection is
149913
+ * unhandled, which ends a Node process.
149914
+ */
149915
+ crashed(req, res, error) {
149916
+ try {
149917
+ this._options.log.error({
149918
+ event: "request.crashed",
149919
+ route: (req.url || "/").split("?")[0],
149920
+ reason: messageOf(error)
149921
+ });
149922
+ req.resume();
149923
+ if (res.headersSent || res.writableEnded) res.destroy();
149924
+ else sendRefusal(res, 500, "inference-failure", "The gateway failed.");
149925
+ } catch {
149926
+ res.destroy();
149927
+ }
149928
+ }
149496
149929
  async handle(req, res) {
149497
149930
  let url;
149498
149931
  try {
@@ -149562,6 +149995,10 @@ var GatewayServer = class {
149562
149995
  await this.handleJoin(req, res);
149563
149996
  return;
149564
149997
  }
149998
+ if (url.pathname === `${REMOTE_PROTOCOL_BASE}${REMOTE_PAGE_LINK_PATH}` || url.pathname === `${REMOTE_PROTOCOL_BASE}${REMOTE_PAGE_LINK_OPEN_PATH}`) {
149999
+ await this.handlePageLink(url.pathname, req, res);
150000
+ return;
150001
+ }
149565
150002
  if (url.pathname === `${REMOTE_PROTOCOL_BASE}${DEMO_INVITE_PATH}`) {
149566
150003
  this.handleDemoInvite(req, res);
149567
150004
  return;
@@ -150460,7 +150897,7 @@ var runServe = async (argv, io = defaultServeIo()) => {
150460
150897
  for (const line of describeConfig(config)) io.out(line);
150461
150898
  io.out(` health: ${address.url}${HEALTH_PATH}`);
150462
150899
  io.out(
150463
- demo ? ` admin: ${address.url}${ADMIN_PATH} (DEMO: opens read-only without a key; admin keys still sign in)` : ` admin: ${address.url}${ADMIN_PATH} (sign in with an admin key)`
150900
+ demo ? ` admin: ${address.url}${ADMIN_PATH} (DEMO: opens read-only without a key; admin keys still sign in)` : ` admin: ${address.url}${ADMIN_PATH} (admin keys; a developer's key opens the plugins shared with them)`
150464
150901
  );
150465
150902
  if (demo) {
150466
150903
  io.out(